diff --git a/.azure-pipelines-preproduction/package-lock.json b/.azure-pipelines-preproduction/package-lock.json index 5a137fd25979..10fc277e7713 100644 --- a/.azure-pipelines-preproduction/package-lock.json +++ b/.azure-pipelines-preproduction/package-lock.json @@ -3448,9 +3448,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, "lodash.get": { @@ -3633,9 +3633,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "mixin-deep": { @@ -3835,9 +3835,9 @@ } }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", "dev": true }, "node-object-hash": { diff --git a/.azure-pipelines-preproduction/package.json b/.azure-pipelines-preproduction/package.json index e7d2d90308ab..ecc81e883361 100644 --- a/.azure-pipelines-preproduction/package.json +++ b/.azure-pipelines-preproduction/package.json @@ -25,7 +25,8 @@ "ts-node": "^8.1.0", "tslib": "^1.10.0", "typescript": "3.5.3", - "prettier": "^1.18.2" + "prettier": "^1.18.2", + "minimist": "^1.2.3" }, "homepage": "https://github.com/azure/azure-rest-api-specs", "repository": { diff --git a/.azure-pipelines/BreakingChange.yml b/.azure-pipelines/BreakingChange.yml deleted file mode 100644 index 466349bd3bfd..000000000000 --- a/.azure-pipelines/BreakingChange.yml +++ /dev/null @@ -1,13 +0,0 @@ -jobs: -- job: "BreakingChange" - pool: - vmImage: 'Ubuntu 16.04' - steps: - - script: 'scripts/install-dotnet.sh' - displayName: 'Install .Net' - - task: Npm@1 - displayName: 'npm install' - inputs: - verbose: false - - script: 'npm run tsc && node scripts/breaking-change.js' - displayName: 'Breaking Changes' \ No newline at end of file diff --git a/.azure-pipelines/SDKAutomation.yml b/.azure-pipelines/SDKAutomation.yml index da696e39c823..4cd770c7861d 100644 --- a/.azure-pipelines/SDKAutomation.yml +++ b/.azure-pipelines/SDKAutomation.yml @@ -20,7 +20,6 @@ jobs: variables: NODE_OPTIONS: '--max-old-space-size=8192' - BLOB_STORAGE_PREFIX: sdkautomation-pipeline SPEC_REPO: $(Build.Repository.Name) PR_NUMBER: $(System.PullRequest.PullRequestNumber) BUILD_ID: $(Build.BuildId) @@ -42,6 +41,9 @@ jobs: SDK_REPO_NAME: azure-sdk-for-go Trenton: SDK_REPO_NAME: azure-sdk-for-trenton + ${{ if eq(variables['ENABLE_RESOURCE_MANAGER_SCHEMAS'], 'true') }}: + Schema: + SDK_REPO_NAME: azure-resource-manager-schemas steps: - checkout: none - script: | @@ -62,13 +64,16 @@ jobs: displayName: Pull SDK Automation Image - script: | docker run \ + -e BLOB_PROXY_PREFIX \ + -e BLOB_STORAGE_PREFIX \ + -e BLOB_STORAGE_IS_PUBLIC \ + -e BLOB_DOWNLOAD_COMMAND \ -e BLOB_STORAGE_NAME \ -e BLOB_STORAGE_KEY \ -e GITHUB_COMMENT_AUTHOR_NAME \ -e GITHUBAPP_ID \ -e GITHUBAPP_PRIVATE_KEY \ -e NODE_OPTIONS \ - -e BLOB_STORAGE_PREFIX \ -e SPEC_REPO \ -e PR_NUMBER \ -e SDK_REPO_NAME \ @@ -78,6 +83,10 @@ jobs: env: BLOB_STORAGE_NAME: $(blob-storage-name) BLOB_STORAGE_KEY: $(blob-storage-key) + BLOB_STORAGE_PREFIX: $(blob-storage-prefix) + BLOB_PROXY_PREFIX: $(blob-proxy-prefix) + BLOB_STORAGE_IS_PUBLIC: $(blob-is-public) + BLOB_DOWNLOAD_COMMAND: $(blob-download-command) GITHUB_COMMENT_AUTHOR_NAME: $(github-comment-author-name) GITHUBAPP_ID: $(githubapp-id) GITHUBAPP_PRIVATE_KEY: $(githubapp-private-key) diff --git a/.azure-pipelines/azure-pipelines-data-container.yml b/.azure-pipelines/azure-pipelines-data-container.yml new file mode 100644 index 000000000000..97877b083e77 --- /dev/null +++ b/.azure-pipelines/azure-pipelines-data-container.yml @@ -0,0 +1,42 @@ +schedules: +- cron: "0 0 * * *" + displayName: Daily build + branches: + include: + - master + always: true + +pool: + vmImage: 'Ubuntu-16.04' + +variables: + IMAGE_TAG_PREFIX: $[format('1.0.{0:HHm}', pipeline.startTime)] + +steps: +- task: Docker@2 + displayName: Login to production ACR + inputs: + command: login + containerRegistry: $(CONTAINER_REGISTRY_SERVICE_CONNECTION) + +- task: Docker@2 + displayName: Login to dogfood ACR + inputs: + command: login + containerRegistry: $(DOGFOOD_CONTAINER_REGISTRY_SERVICE_CONNECTION) + +- task: CopyFiles@2 + inputs: + SourceFolder: $(Build.SourcesDirectory) + contents: .git/** + targetFolder: $(Build.SourcesDirectory)/scripts/datacontainer + +- task: Docker@2 + displayName: Build and Push + inputs: + command: buildAndPush + Dockerfile: scripts/datacontainer/Dockerfile + repository: $(CONTAINER_REGISTRY_REPOSITORY_NAME) + tags: | + latest + $(IMAGE_TAG_PREFIX)$(Build.BuildNumber) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index b8293d9af7b5..3c2cfcde11b6 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,19 +2,27 @@ ### Contribution checklist: +- [ ] I commit to follow the [Breaking Change Policy](http://aka.ms/bcforapi) of “no breaking changes - [ ] I have reviewed the [documentation](https://aka.ms/ameonboard) for the workflow. -- [ ] [Validation tools](https://aka.ms/swaggertools) were run on swagger spec(s) and have all been fixed in this PR. [How to fix?](https://aka.ms/ci-fix) +- [ ] [Validation tools](https://aka.ms/swaggertools) were run on swagger spec(s) and errors have all been fixed in this PR. [How to fix?](https://aka.ms/ci-fix) If any further question about AME onboarding or validation tools, please view the [FAQ](https://aka.ms/faqinprreview). ### ARM API Review Checklist -- [ ] Service team MUST add the "**WaitForARMFeedback**" label if the management plane API changes fall into one of the below categories. - - adding/removing APIs. - - adding/removing properties. - - adding/removing API-version. - - adding a new service in Azure. +- [ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review. + - Adding new API(s) + - Adding a new API version + - Adding a new service -Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs. +- [ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (*RP Manifest Approvers* team under Azure Resource Manager service) from IcM and reach out to them. -- [ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them. -Please follow the link to find more details on [API review process](https://aka.ms/SwaggerPRReview). +### Breaking Change Review Checklist +If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the [Breaking Change Policy](http://aka.ms/bcforapi). + +- [ ] Removing API(s) in stable version +- [ ] Removing properties in stable version +- [ ] Removing API version(s) in stable version +- [ ] Updating API in stable version with Breaking Change Validation errors +- [ ] Updating API(s) in preview over 1 year + +Please follow the link to find more details on [PR review process](https://aka.ms/SwaggerPRReview). \ No newline at end of file diff --git a/.github/assignment.yml b/.github/assignment.yml deleted file mode 100644 index e32d1ce22ba2..000000000000 --- a/.github/assignment.yml +++ /dev/null @@ -1,154 +0,0 @@ ---- -- rule: - # data-plane PR - paths: - - "specification/**/data-plane/**" - reviewers: - - anuchandy - - jhendrixMSFT - - lmazuel - - tjprescott - -- rule: - paths: - - "specification/network/**" - reviewers: - - lirenhe - - MyronFanQiu - -- rule: - paths: - - "specification/@(applicationinsights|operationalinsights)/**" - reviewers: - - MyronFanQiu - -- rule: - paths: "specification/compute/**" - reviewers: - - ArcturusZhang - - fengzhou-msft - - yungezz - -- rule: - paths: "specification/resources/**" - reviewers: - - raych1 - -- rule: - paths: - - "specification/machinelearningservices/**" - reviewers: - - ArcturusZhang - -- rule: - paths: - - "specification/@(azureactivedirectory|appplatform)/**" - reviewers: - - njuCZ - -- rule: - paths: - - "specification/authorization/**" - reviewers: - - qianwens - - yungezz - -- rule: - paths: - - "specification/datafactory/**" - reviewers: - - qianwens - -- rule: - paths: - - "specification/monitor/**" - reviewers: - - weidongxu-microsoft - - MyronFanQiu - -- rule: - paths: - - "specification/storage/**" - reviewers: - - qianwens - - Juliehzl - -- rule: - paths: "specification/mediaservices/**" - reviewers: - - allenjzhang - -- rule: - paths: - - "specification/@(keyvault|notificationhubs)/**" - - "specification/@(databricks|containerregistry)/**" - reviewers: - - fengzhou-msft - -- rule: - paths: - - "specification/@(containerservice|containerinstance)/**" - reviewers: - - NullMDR - - fengzhou-msft - - yungezz - -- rule: - paths: - - "specification/mixedreality/**" - reviewers: - - leni-msft - -- rule: - paths: - - "specification/portal/**" - reviewers: - - NullMDR - -- rule: - paths: - - "specification/web/**" - reviewers: - - weidongxu-microsoft - -- rule: - paths: - - "documentation/**" - reviewers: - - josefree - - akning-ms - -- rule: - paths: - - "**/package.json" - - ".github/**" - - "**/azure-pipelines.yml" - - ".azure-pipelines/**" - - ".azure-pipelines-preproduction/**" - reviewers: - - akning-ms - - NullMDR - - raych1 - -- rule: - # manager-plane PR - paths: - - "**" - reviewers: - - yungezz - - zikalino - - erich-wang - - NullMDR - - raych1 - - lirenhe - - weidongxu-microsoft - - ArcturusZhang - - xccc-msft - - ChenTanyi - - fengzhou-msft - - njuCZ - - akning-ms - - markcowl - - leni-msft - - qianwens - - ruowan diff --git a/.github/issue_assignment.yml b/.github/issue_assignment.yml index a6bd179385b2..a33797d7ddb7 100644 --- a/.github/issue_assignment.yml +++ b/.github/issue_assignment.yml @@ -3,7 +3,6 @@ booleanFilterExpression: "needs-triage" assignees: - yungezz - - zikalino - erich-wang - NullMDR - raych1 @@ -20,3 +19,4 @@ - qianwens - ruowan - MyronFanQiu + - jianyexi diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml index e32d1ce22ba2..6f86ab255279 100644 --- a/.github/pull_request_assignment.yml +++ b/.github/pull_request_assignment.yml @@ -13,8 +13,8 @@ paths: - "specification/network/**" reviewers: - - lirenhe - MyronFanQiu + - lirenhe - rule: paths: @@ -96,6 +96,7 @@ - rule: paths: - "specification/mixedreality/**" + - "specification/hdinsight/**" reviewers: - leni-msft @@ -136,7 +137,6 @@ - "**" reviewers: - yungezz - - zikalino - erich-wang - NullMDR - raych1 @@ -152,3 +152,4 @@ - leni-msft - qianwens - ruowan + - jianyexi diff --git a/.github/reviewer.yml b/.github/reviewer.yml deleted file mode 100644 index 6e53458ab4ef..000000000000 --- a/.github/reviewer.yml +++ /dev/null @@ -1,13 +0,0 @@ -# This file is openapi-email-bot to store reviewer email address. ---- -- group: - name: default - users: - - githubID: raych1 - email: raychen@microsoft.com - - githubID: MyronFanQiu - email: fanqiu@microsoft.com - - githubID: yungezz - email: yungez@microsoft.com - - githubID: lirenhe - email: Renhe.Li@microsoft.com diff --git a/.github/sla.yml b/.github/sla.yml index f0ce3592d482..7d1f1e347267 100644 --- a/.github/sla.yml +++ b/.github/sla.yml @@ -67,7 +67,7 @@ - time args: limit: 72h - booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangeRequest) + booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangesRequested) message: '

Dear PR author,

The PR Reviewer has commented on your PR ${URL} , putting on the label "Reviewed-ChangesRequired" or "ARMChangeRequest". Please check out the comment by clicking the PR link attached previously, and update your commits accordingly.

Please ensure to remove "Reviewed-ChangesRequired" or "ARMChangeRequest" label, after you complete updates and comment back. If you need ARM board or swagger reviewer revisit your PR, please label the PR with "WaitForARMRevisit" and "WaitForReviewRevisit" respectively.

Quick info.

DO NOT REPLY: This is an automated email. If you have any questions, please send an email to the Swagger and Tools Team (vscswagger@microsoft.com).

Best regards,

Swagger and Tools Team, Azure Management Experience

' subject: "Action Required: Please update your PR ${URL}" to: ${AUTHOR} @@ -84,3 +84,18 @@ subject: "Action Required: Please respond to issue ${URL}" to: ${ASSIGNEE} cc: vscswagger@microsoft.com + +- scheduleTask: + action: sendEmail + scope: pull_request + name: "send email given path change" + trigger: + - path + args: + message: '

You have just completed the first step towards onboarding your API change to the Compute Management library.

We (the CPlatSDK/PowerShell team) manage the Compute library's API and SDK for the following clients: Swagger (REST api), .NET SDK, and Azure PowerShell.

You've just opened a PR making changes in the Compute Management Library's path of the Azure REST Api Specs repository.

What's next?

  1. Your api specs need to be reviewed and approved by us and the ARM team
  2. Make sure you that can generate the .NET SDK from your API specs using the Autorest tool (NET SDK autogeneration)
  3. While your specs are getting reviewed, you should be working on the .NET SDK. (SDK repo)
    1. Once you generate the .NET SDK, you need to create the SDK tests and perform recordings and playbacks. (NET SDK testing)
    2. With the newly generated SDK with tests, you can make a pull request to the SDK repository.
      Make sure to add a reference to your Swagger pull request in the comments.
  4. [If applicable] At this stage, you can get started on the Azure PowerShell part.
    1. All you need to do is send a design doc of any change/new Azure PowerShell cmdlet related to your api by creating an issue with your design here.
      Then, send an email to azdevxpsdr@microsoft.com with the issue number and cc our dl (cplatsdkdev@microsoft.com) on the email, so we can leave comments on your design doc as well.
    2. Once your PowerShell cmdlet design has been approved, send an email to our team
      We will implement and test the PowerShell cmdlet following the approved design. We will then make a pull request to the appropriate repository
  5. [If applicable] You can also get started on any Azure CLI module or extension for your API change. Find more information about next steps on that process here.

This email was automatically sent. Please send an email to cplatsdkdev@microsoft.com if you have any questions.

' + targetPaths: + - "specification/compute/resource-manager/Microsoft.Compute/**" + subject: "[Action Required] CPlat Swagger Pull Request opened: Next steps" + to: ${AUTHOR} + cc: + - cplatsdkdev@microsoft.com diff --git a/CODEOWNERS b/CODEOWNERS index c5db75e8217f..c7a94e485dbb 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -10,12 +10,12 @@ /specification/billing/ @wilcobmsft /specification/cdn/ @csmengwan @injyzarif @prakharsharma10 /specification/cognitiveservices/ @felixwa @yangyuan -/specification/compute/ @hyonholee @mabhard @danielli90 @smotwani @ppatwa @vikramd-ms @savyasachisamal @yunusm @ZhidongPeng @nkuchta @maheshnemichand @najams @changov +/specification/compute/ @bilaakpan-ms @sandido @dkulkarni-ms @haagha @madewithsmiles @MS-syh2qs @grizzlytheodore @hyonholee @mabhard @danielli90 @smotwani @ppatwa @vikramd-ms @savyasachisamal @yunusm @ZhidongPeng @nkuchta @maheshnemichand @najams @changov /specification/consumption/ @kjeur @panda-wang -/specification/containerinstance/ @samkreter +/specification/containerinstance/ @novinc /specification/containerregistry/ @djyou /specification/containerservice/ @yangl900 -/specification/cosmos-db/ @dmakwana +/specification/cosmos-db/ @dmakwana @MehaKaushik @wmengmsft @shurd /specification/customer-insights/ @tjlvtao /specification/datafactory/ @zhangyd2015 /specification/datalake-analytics/ @ro-joowan @@ -43,7 +43,7 @@ /specification/mobileengagement/ @pshrosbree /specification/monitor/ @gucalder /specification/mysql/ @qingqingyuan -/specification/network/ @MikhailTryakhov @number213 @solhaile @v-shhatt +/specification/network/ @MikhailTryakhov /specification/notificationhubs/ @amolr @smithab /specification/operationalinsights/ @sw47 /specification/operationsmanagement/ @dashimi16 @@ -65,8 +65,9 @@ /specification/service-map/ @daveirwin1 /specification/servicebus/ @sazeesha @v-ajnava /specification/servicefabric/ @juhacket @samedder -/specification/sql/ @dnayantara @jaredmoo @nathannfan -/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft @kasobol-msft +/specification/sql/ @jamestao @bcham +/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft +/specification/storage/data-plane/ @kasobol-msft @seanmcc-msft /specification/storageimportexport/ @leoz-ms /specification/storagesync/ @ankushbindlish2 /specification/storsimple8000series/ @manaas-microsoft @@ -74,5 +75,5 @@ /specification/subscriptions/ @navysingla /specification/timeseriesinsights/ @sandshadow /specification/trafficmanager/ @allencal @hrkulkarmsft -/specification/web/ @lukaszstem @naveedaz @nking92 +/specification/web/ @naveedaz @Azure/azure-app-service-control-plane /profile/ @shahabhijeet diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 99db62225099..aeec700c1f96 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -23,7 +23,6 @@ jobs: - template: .azure-pipelines/Semantic.yml - template: .azure-pipelines/Avocado.yml - template: .azure-pipelines/ModelValidation.yml -- template: .azure-pipelines/BreakingChange.yml - template: .azure-pipelines/LintDiff.yml - template: .azure-pipelines/NetworkValidation.yml - template: .azure-pipelines/Spellcheck.yml diff --git a/cSpell.json b/cSpell.json index 8cf7fe1c77ee..207203bfb932 100644 --- a/cSpell.json +++ b/cSpell.json @@ -2,6 +2,7 @@ "version": "0.1", "language": "en", "words": [ + "Creds" ], "dictionaryDefinitions": [ { @@ -88,6 +89,84 @@ "Ochestrator" ] }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, + { + "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json", + "words": [ + "azpodpolicy" + ] + }, { "filename": "**/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json", "words": [ diff --git a/custom-words.txt b/custom-words.txt index 626e14de791b..58407c721c65 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -16,6 +16,7 @@ accountid accountname ACLs aclspec +actionplans acquisitionid acrapi activityruns @@ -35,6 +36,7 @@ adminmanagement ADTO adultscore affinitized +AFRINIC agentpool aggregatedcost AHUB @@ -57,6 +59,7 @@ Annotatable anomalydetector anomalyfinder APAC +APACHEAVRO API's apim apimanagement @@ -92,6 +95,7 @@ apimtenant apimusers apimversionsets apitoken +APNIC APNS appconfig appid @@ -100,6 +104,9 @@ applynetworkconfigurationupdates appservice appsettings appteststorage +ARIN +ABGRABGR +ARGBARGB Arjun armtemplates arpa @@ -114,12 +121,14 @@ aspnet asyncinfo asyncoperation atascada +Auditd australiaeast australiasoutheast authenticatable Authenticode authorityURL authorizationrules +authpriv authprovider authproviders authsettings @@ -145,8 +154,10 @@ autoscaling Avro avrodeflate AZFW +AZNB azns azpkg +azpodpolicy azureaccounts azureactivedirectory azureblob @@ -184,6 +195,7 @@ Baidu bangla Bahasa baremetal +baremetalinfrastructure BATCHAI batchmanaged BAYESIANOPTIMIZATION @@ -191,6 +203,10 @@ BCDR BCWG beider Bfor +bfqt +BGRA +BGRABGRA +BGRBGR bigint Bigram bigrams @@ -207,6 +223,7 @@ bingspellcheck bingvideosearch bingvisualsearch bingwebsearch +Bioconductor Bitbucket Bitlocker bitness @@ -230,6 +247,7 @@ brazilsouth browsable bruceper Bsaling +Burstable BYOC BYOK BYOL @@ -259,6 +277,7 @@ certificatesdelete Certificatethumbprint certverify chainer +changepoint changestate CHECKACCESS checkmark @@ -268,6 +287,7 @@ CIDR CIDRs CIFS ciphertext +CISCOASA claimCondition claimType clfs @@ -278,6 +298,7 @@ clientgroup clientlib clipart CLIs +CLOGFILE Cloneability Cloneable closedlist @@ -338,6 +359,7 @@ costmanagement Couchbase cpim CPIM +Cran creatable createconsumergroup createorupdate @@ -493,6 +515,7 @@ endpointkeys endpointname endswith endtime +endTime Enein engagementfabric endzone @@ -560,6 +583,8 @@ fileservers fileshare Filestream filesystems +fileuploaderr +fileuploadout fileurl findsimilars findsquare @@ -585,6 +610,7 @@ GC'd GCMAES gdpr genderless +generatelivetoken generateverificationcode generatevpnclientpackage generatevpnprofile @@ -761,6 +787,7 @@ jumpbox jwts kafkarest Kaliningrad +kbid Kbps KECA kernelspec @@ -794,6 +821,7 @@ l'avion labaccounts labelset labservices +LACNIC Lajolla largefacelists largepersongroups @@ -923,7 +951,9 @@ modelmanagement MODIFYACLENTRIES monitoringconfiguration monitoringconfigurations +Monospace MPNS +MRAN MSAZR MSAZRDE MSCONCAT @@ -942,6 +972,7 @@ multistep multivalued muxed MUXes +muxer muxing mware myanalytics @@ -962,6 +993,7 @@ mysite mysquare mystore myvolume +myworkbooks n'eventtype n'recognition nagios @@ -1006,6 +1038,7 @@ nopublicipaddresses northcentralus northeurope nostore +notebookapis notificationchannels notificationhubs notstarted @@ -1024,6 +1057,7 @@ octokit Odata odatatype ODBC +officedocument OLTP onboarded Onboarding @@ -1040,6 +1074,7 @@ openapi opencode opencontainers openid +openxmlformats operationalinsights Operationalization operationresults @@ -1062,6 +1097,7 @@ overprovision overprovisioned overprovisioning overridable +overriden OWASP oxxm pageable @@ -1081,6 +1117,7 @@ PCNET peerings Pendingissuance Pendingrevocation +percentComplete perfcounters perfmon performant @@ -1144,10 +1181,13 @@ privatedns privatelinks privatepreview projectable +propogation Protectable provisioner provisioningservices +provisioningState Psec +PSNR ptrdname publicipaddresses publicpreview @@ -1159,6 +1199,7 @@ pullrequest Purgeable pushdown pushsettings +pwsh Pyspark pytorch QFEs @@ -1167,6 +1208,7 @@ qloguniform qnamaker qnas qnormal +Qssw querylogs querypool querystring @@ -1285,8 +1327,11 @@ Retryable Revalidates Revertable REVOKEACE +RGBARGBA +RGBRGB rgname rhel +RIRs Rolledback Rollforward rollouts @@ -1305,6 +1350,7 @@ rscc rscd rsce rscl +rscript rsct Rslp RSNULL @@ -1316,6 +1362,7 @@ runcounts runid runsource runtimes +rwdlacup rwxrw Saas salesforcetables @@ -1335,6 +1382,7 @@ SCOM scopemap SCSV sdks +SDWAN searchindex searchmanagementclient searchservice @@ -1358,6 +1406,7 @@ servicefabricmesh servicefabrics servicemap servicemembers +serviceprincipal servicerunners servicestats servicetopology @@ -1425,9 +1474,11 @@ sparkconf sparql SPDX SQLAG +sqldatabase SQLDB SQLDW SQLMI +sqlpool SQLRDS sqlvirtualmachine sqlvm @@ -1438,15 +1489,19 @@ SSTP ssword standardasciifolding startlocalrun +startpacketcapture startrun startswith starttask starttaskfailed starttime +startTime stateful staticsite statusdir stderror +stoppacketcapture +stdev stopresize stopword stopwords @@ -1455,6 +1510,7 @@ storageaccount storageaccounts storagedatalake storageimportexport +storagesources storagesync storagetarget storageuri @@ -1464,6 +1520,7 @@ streamingendpoint streamingjobs streamingservice subcomponent +subdir subdomain subexpressions subfolder @@ -1537,6 +1594,7 @@ testall testallroutes testnew testnewroute +testpl testresultfile textanalytics TFIDF @@ -1555,6 +1613,8 @@ tombstoned toolchain toolset tooltips +topqueries +topquery traceback traceroute trafficmanager @@ -1562,6 +1622,7 @@ trafficmanageranalytics trafficmanagerprofiles tráfico transcoding +transcodes transcriptmoderationresult translatortext trendingtopics @@ -1571,6 +1632,7 @@ TSVE Turbonomic Txns Typeless +typeperf UEBA Uint uksouth @@ -1645,6 +1707,7 @@ userpreference usersetting usermanaged USQL +UUCP VAIDK varbinary varchar @@ -1659,6 +1722,7 @@ vcsa Vertica Vfyc vhds +VHDX videosearch virtualclusters virtualip @@ -1701,6 +1765,7 @@ vsphere VSTS VSTSRM VXLAN +W3CLOGFILE waagent WADL waitforjobcompletion @@ -1735,11 +1800,13 @@ WGXM whitelisted Whitelisting Whitelistings +whitespaces Whois Widevine windowsazuremediaservices windowsesu wlmengg +wordprocessingml workbooktemplates Workernode workloadmonitor @@ -1753,6 +1820,7 @@ XBing Xeon Xero XSMB +XVCJ Yucatec Ywhk YYMMDD @@ -1785,7 +1853,37 @@ userprincipalname sessionstate sessionhosts hostpool +securitydomain +securitydomaindownloadpost +securitydomaintransferkey +securitydomainuploadoperation +securitydomainoperationstatus +transferkey +Alexa +regeneratekeys +Directline +Keyschannel azureADMetrics sparkr ambari dotnetspark +FDID +Automanage +Antimalware +dscp +Dscp +qos +FDID +watchlists +Watchlists +watchlist +Watchlist +Stix +STIX +Mibps +ntfs +networkrulesets +Setget +Ruleproperties +shamir_share +dllpath diff --git a/documentation/ci-fix.md b/documentation/ci-fix.md index c566c7a67908..ec5dc0e5625c 100644 --- a/documentation/ci-fix.md +++ b/documentation/ci-fix.md @@ -91,3 +91,6 @@ Note: When running in Swagger PR pipeline, Avocado only report errors with file Refer to [Avocado Readme](https://github.com/Azure/avocado/blob/master/README.md) for detailed description of validations and how-to-fix guidance. +## Suppression Process + +In case there are validation errors reported against your service that you believe do not apply, we have a suppression process you can follow to permanently remove these reported errors for your specs. Refer to [Swagger Suppression Process](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/85/Swagger-Suppression-Process) for detailed guidance. diff --git a/documentation/code-gen/configure-python-sdk.md b/documentation/code-gen/configure-python-sdk.md new file mode 100644 index 000000000000..503f5acb1ec0 --- /dev/null +++ b/documentation/code-gen/configure-python-sdk.md @@ -0,0 +1,237 @@ +# Readme Configuration Guide for Python SDK +This file describe how to configure readme files to make it available for Python SDK code generation. + +## Common Configuration +Configure basic package information. + +### Basic Information +Configure package title/description/tag. +~~~~ +// file: readme.md + +``` yaml +title: AppconfigurationConfigurationClient +description: Appconfiguration Configuration Client +openapi-type: arm +tag: package-2019-10-01 // refer to below tag description +``` +~~~~ + +### tag +Tags are used to define what swagger files are used in specific client SDK. In Single-API client, only one tag can be used to generate SDK client. +A tag can contains a bunch of swagger files which are used to generate the SDK. + +The name of a tag should be in form of package-yyyy-mm-dd[-xxx], for example below tag names are available: +- package-2020-02-03 +- package-2020-03-22-preview +- package-2020-05-03-only + +while those are invalid names: +- 2020-03-04 +- package-preview-2020-03-04 + +A tag can be configured like below: +~~~~ +// file: readme.md + + +### Tag: package-2019-10-01 + +These settings apply only when `--tag=package-2020-05-01` is specified on the command line. + +``` yaml $(tag) == 'package-2019-10-01' +input-file: +- Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json +- Microsoft.AppConfiguration/stable/2019-10-01/xxxx.json +``` +~~~~ + + +### all-api-versions +All swagger files need to be added into the all-api-version section. For Example: + +~~~~ +// file: readme.md + + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json + - Microsoft.AppConfiguration/stable/2019-10-01/xxxx.json + - Microsoft.AppConfiguration/stable/2018-10-01/appconfiguration.json + - ... +~~~~ + + +## Swagger to SDK +To make python SDK can be generated from the tag, swagger-to-sdk need to be configured: + +~~~ +// file: readme.md + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - ... + + +## Python + +See configuration in [readme.python.md](./readme.python.md) +~~~ + +## Python Configuration +Python dedicated configurations are configured in readme.python.md. +A typical readme.python.md is like this: + +~~~ +// file: readme.python.md + + +## 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 !$(track2) // For track1: basic Python package information +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.appconfiguration + package-name: azure-mgmt-appconfiguration + package-version: 0.1.0 + clear-output-folder: true +``` + +These settings apply only when `--track2` is specified on the command line. + +``` yaml $(track2) // For track2: basic Python package information +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-appconfiguration +no-namespace-folders: true +package-version: 0.1.0 +``` + +``` yaml $(python-mode) == 'update' +// --------------- For track1 ----------------- +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration/azure/mgmt/appconfiguration + +// --------------- For track2 ----------------- +no-namespace-folders: true +output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration/azure/mgmt/appconfiguration +``` +``` yaml $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration +basic-setup-py: true +output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration +``` +~~~ + +## Multi-API +Multi-API SDK is a package that support multiple REST api-versions. With Python multi-api SDK, the end user can assign api-version for REST calls explicitly; nevertheless, they can also use the default api-version which is choosed as the latest stable api-version. + +If a multi-api package is need to be released, 'batch' should be used in the readme.python.md. +Typical multi-api RPs are azure-mgmt-compute, azure-mgmt-network, azure-mgmt-storage, you cam find their readme files to have a reference for multi-api. + +### batch +The batch is a tag list which are used in the multi-api package. For example: +~~~ +// file: readme.python.md + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(multiapi) && !$(track2) // For track1 +batch: + - tag: package-2020-06-01-only + - tag: package-2020-05-01-only +``` + +```yaml $(multiapi) && $(track2) // For track2 +clear-output-folder: true +batch: + - tag: package-2020-06-01-only + - tag: package-2020-05-01-only + - multiapiscript: true +``` + +``` yaml $(multiapiscript) // For track2 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/ +clear-output-folder: false +perform-load: false +``` +~~~ + +### tags of batch +Then, the output folder and namespace should be configured for each of the tag. For example: +~~~ +// file: readme.python.md + +### Tag: package-2020-06-01-only and python + +These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-06-01-only' +namespace: azure.mgmt.compute.v2020_06_01 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01 +python: + namespace: azure.mgmt.compute.v2020_06_01 + output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01 +``` +~~~ + + +### multi-api init script +For track1, multi-api init script need to be configured in readme.md. For example: + +~~~ +// file: readme.md + +swagger-to-sdk: + - repo: azure-sdk-for-python + after_scripts: + - python ./scripts/multiapi_init_gen.py azure-mgmt-compute +~~~ + + +## Run codegen +After configure all the readme files, autorest can be used to generate SDK. + +### Track1 (for Autorest V2) +Track1 SDK is based on AutoRest version V2 that's going to be replaced by version V3. + +~~~ +autorest --keep-version-file --multiapi --no-async --python --python-mode=update --python-sdks-folder=C:\ZZ\projects\codegen\azure-sdk-for-python\sdk --use=@microsoft.azure/autorest.python@~4.0.71 --version=V2 ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md +~~~ + +### Track2 (for latest Autorest) +Track 2 is based on the latest AutoRest code generator + +~~~ +autorest --python --track2 --use=@autorest/python@5.1.0-preview.4 --python-sdks-folder=..\azure-sdk-for-python\sdk --multiapi --python-mode=update ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md +~~~ \ No newline at end of file diff --git a/documentation/code-gen/configure-typescript-sdk.md b/documentation/code-gen/configure-typescript-sdk.md new file mode 100644 index 000000000000..881578aa402f --- /dev/null +++ b/documentation/code-gen/configure-typescript-sdk.md @@ -0,0 +1,235 @@ +# Readme Configuration Guide for Azure SDK for Javascript (Typescript) +This file describe how to configure readme files to make it available for Azure SDK for Javascript (Typescript) code generation. + +## Common Configuration +Configure basic package information. + +### Basic Information +Configure package title/description/tag. +~~~~ +// file: readme.md + +``` yaml +title: xxxxConfigurationClient +description: xxxx Configuration Client +openapi-type: arm +tag: package-xxxx-xx-xx +``` +~~~~ + +### tag +Tags are used to define what swagger files are used in specific client SDK. In Single-API client, only one tag can be used to generate SDK client. +A tag can contains a bunch of swagger files which are used to generate the SDK. + +The name of a tag should be in form of package-yyyy-mm-dd[-xxx], for example below tag names are available: +- package-2020-02-03 +- package-2020-03-22-preview +- package-2020-05-03-only + +while the below tag names are invalid names: +- 2020-03-04 +- package-preview-2020-03-04 + +A tag can be configured like below: +~~~~ +// file: readme.md + + +### Tag: package-2019-12-01 + +These settings apply only when `--tag=package-2019-12-01` is specified on the command line. + +``` yaml $(tag) == 'package-2019-12-01' +input-file: +- Microsoft.Compute/stable/2019-12-01/compute.json +- Microsoft.Compute/stable/2019-12-01/runCommands.json +- Microsoft.Compute/stable/2019-12-01/gallery.json +``` +~~~~ + + +## Swagger to SDK +To make Azure SDK for Javascript (Typescript) can be generated from the tag, swagger-to-sdk need to be configured: + +~~~ +// file: readme.md + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-js + - ... + + +## Typescript + +See configuration in [readme.typescript.md](./readme.typescript.md) +~~~ + +## Typescript Configuration +Typescript dedicated configurations are configured in readme.typescript.md. +the typical package-name is usually like `@azure/arm-xxx` where the xxx is related with the service name. +and the typical output-folder in the azure-sdk-for-js is like `$(typescript-sdks-folder)/sdk/xxx/arm-xxx` where the xxx is related with the service name. +A typical readme.typescript.md is like this: +~~~ +// file: readme.typescript.md + +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-apimanagement" + output-folder: "$(typescript-sdks-folder)/sdk/apimanagement/arm-apimanagement" + clear-output-folder: true + generate-metadata: true +``` + +~~~ + +## Multi-api +Currently the Azure SDK for Javascript (Typescript) doesn't support multi-api which means each operation contained in one package should only contains one api-version's. and Azure SDK for Javascript (Typescript) only supports single api package. + +## Multi-packages +The batch is a tag list which are used in the one RP has multi-package scenarios. For example, +the Resources RP has several independent packages like features, lock, policy. +First of all, you need to have different yaml block for each package to define the default tag for that specific package. +~~~ +// file: readme.md +## Configuration + +### Basic Information + +These are the global settings for the Resource API. + +``` yaml +openapi-type: arm +``` + +``` yaml $(package-features) +tag: package-features-2015-12 +``` + +``` yaml $(package-locks) +tag: package-locks-2016-09 +``` + +``` yaml $(package-policy) +tag: package-policy-2019-09 +``` + +``` yaml $(package-resources) +tag: package-resources-2020-06 +``` + +~~~ +Then for each default tag, you can define the input swagger like normal tag. +~~~ + +### Tag: package-features-2015-12 + +These settings apply only when `--tag=package-features-2015-12` is specified on the command line. + +``` yaml $(tag) == 'package-features-2015-12' +input-file: +- Microsoft.Features/stable/2015-12-01/features.json +``` + +### Tag: package-locks-2016-09 + +These settings apply only when `--tag=package-locks-2016-09` is specified on the command line. + +``` yaml $(tag) == 'package-locks-2016-09' +input-file: +- Microsoft.Authorization/stable/2016-09-01/locks.json +``` + +### Tag: package-policy-2019-09 + +These settings apply only when `--tag=package-policy-2019-09` is specified on the command line. + +``` yaml $(tag) == 'package-policy-2019-09' +input-file: +- Microsoft.Authorization/stable/2019-09-01/policyAssignments.json +- Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json +- Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json + +# Needed when there is more than one input file +override-info: + title: PolicyClient +``` + +### Tag: package-resources-2020-06 + +These settings apply only when `--tag=package-resources-2020-06` is specified on the command line. + +``` yaml $(tag) == 'package-resources-2020-06' +input-file: +- Microsoft.Resources/stable/2020-06-01/resources.json +``` +~~~ + +Finally, in your readme.typescript.md you should include what packages you want to include in the Azure SDK for Javascript (Typescript). +And in each package's section define the default package name output folder in azure-sdk-for-js repo etc. + +~~~ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) && !$(profile) +typescript: + azure-arm: true + batch: true + generate-metadata: true +batch: + - package-features: true + - package-locks: true + - package-policy: true + - package-resources: true +``` + +```yaml $(typescript) && $(package-features) && !$(profile) +typescript: + package-name: "@azure/arm-features" + output-folder: "$(typescript-sdks-folder)/sdk/features/arm-features" + clear-output-folder: true +``` + +```yaml $(typescript) && $(package-locks) && !$(profile) +typescript: + package-name: "@azure/arm-locks" + output-folder: "$(typescript-sdks-folder)/sdk/locks/arm-locks" + clear-output-folder: true +``` + +```yaml $(typescript) && $(package-policy) && !$(profile) +typescript: + package-name: "@azure/arm-policy" + output-folder: "$(typescript-sdks-folder)/sdk/policy/arm-policy" + clear-output-folder: true +``` + +```yaml $(typescript) && $(package-resources) && !$(profile) +typescript: + package-name: "@azure/arm-resources" + output-folder: "$(typescript-sdks-folder)/sdk/resources/arm-resources" + clear-output-folder: true +``` + +~~~ + + +## Run codegen +After configure all the readme files, autorest can be used to generate SDK. +~~~ +autorest --typescript --typescript-sdks-folder=/home/qiaozha/code/azure-sdk-for-js --license-header=MICROSOFT_MIT_NO_VERSION /home/qiaozha/code/azure-rest-api-specs/specification/storage/resource-manager/readme.md --use=@microsoft.azure/autorest.typescript@4.2.2 +~~~ diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md index 848f8f89f120..906c35a52055 100644 --- a/documentation/openapi-authoring-automated-guidelines.md +++ b/documentation/openapi-authoring-automated-guidelines.md @@ -56,6 +56,11 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an | [R4007](#r4007) | [DefaultErrorResponseSchema](#r4007) | ARM OpenAPI(swagger) specs | | [R4010](#r4010) | [RequiredDefaultResponse](#r4010) | ARM OpenAPI(swagger) specs | | [R4011](#r4011) | [DeleteOperationResponses](#r4011) | ARM OpenAPI(swagger) specs | +| [R4015](#r4015) | [NestedResourcesMustHaveListOperation](#r4015) | ARM OpenAPI(swagger) specs | +| [R4016](#r4016) | [TopLevelResourcesListByResourceGroup](#r4016) | ARM OpenAPI(swagger) specs | +| [R4017](#r4017) | [TopLevelResourcesListBySubscription](#r4017) | ARM OpenAPI(swagger) specs | +| [R4018](#r4018) | [OperationsApiResponseSchema](#r4018) | ARM OpenAPI(swagger) specs | +| [R4019](#r4019) | [GetCollectionResponseSchema](#r4019) | ARM OpenAPI(swagger) specs | #### ARM Warnings @@ -67,7 +72,7 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an | [R3010](#r3010) | [TrackedResourceListByImmediateParent](#r3010) | ARM OpenAPI(swagger) specs | | [R2004](#r2004) | [NonApplicationJsonType](#r2004) | ARM OpenAPI(swagger) specs | | [R4009](#r4009) | [RequiredSystemDataInNewApiVersions](#r4009) | ARM OpenAPI(swagger) specs | - +| [R4014](#r4014) | [AllResourcesMustHaveGetOperation](#r4014) | ARM OpenAPI(swagger) specs | ### SDK Violations #### SDK Errors @@ -110,9 +115,9 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an | Id | Rule Name | Applies to | | --- | --- | --- | | [R4000](#r4000) | [ParameterDescriptionRequired](#r4000) | ARM and Data plane OpenAPI(swagger) specs | -| [R4000](#r4000-3) | [DescriptiveDescriptionRequired](#r4000-3) | ARM and Data plane OpenAPI(swagger) specs | -| [R4000](#r4000-4) | [DescriptionAndTitleMissing](#r4000-4) | ARM and Data plane OpenAPI(swagger) specs | -| [R4000](#r4000-5) | [OperationDescriptionOrSummaryRequired](#r4000-5) | ARM and Data plane OpenAPI(swagger) specs | +| [R4020](#r4000-3) | [DescriptiveDescriptionRequired](#r4000-3) | ARM and Data plane OpenAPI(swagger) specs | +| [R4021](#r4000-4) | [DescriptionAndTitleMissing](#r4000-4) | ARM and Data plane OpenAPI(swagger) specs | +| [R4022](#r4000-5) | [OperationDescriptionOrSummaryRequired](#r4000-5) | ARM and Data plane OpenAPI(swagger) specs | | [R2001](#r2001) | [AvoidNestedProperties](#r2001) | ARM and Data plane OpenAPI(swagger) specs | | [R4002](#r4002) | [LocationMustHaveXmsMutability](#r4002) | ARM OpenAPI(swagger) specs | | [R2066](#r2066) | [PostOperationIdContainsUrlVerb](#r2066) | ARM and Data plane OpenAPI(swagger) specs | @@ -135,7 +140,16 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an | [R2007](#r2007) | [LongRunningOperationsWithLongRunningExtension](#r2007) | ARM OpenAPI(swagger) specs | | [R2029](#r2029) | [PageableOperation](#r2029) | ARM and Data plane OpenAPI(swagger) specs | | [R4006](#r4006) | [DeprecatedXmsCodeGenerationSetting](#r4006) | ARM and Data plane OpenAPI(swagger) specs | - + + +### RPaaS Violations + +#### RPaaS Errors + +| Id | Rule Name | Applies to | +| --- | --- | --- | +| [R4023](#r4023) | [RPaasPutLongRunningOperation201Only](#r4023) | ARM OpenAPI(swagger) specs | + ### Documentation #### Documentation Errors @@ -1132,7 +1146,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Description**: Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), a `Resource` model must have the `name`, `id` and `type` properties defined as `readOnly` in its hierarchy. -**Why the rule is important**: `name`, `type` and `id` are readonly properties set on the service end. Also, per ARM guidelines each `Resource` type model must have these properties defined in its hierarchy. An example `Resource` definition can be found [here](https://github.com/Azure/azure-rest-api-specs-pr/blob/master/common-types/resource-management/v1/types.json#L3). +**Why the rule is important**: `name`, `type` and `id` are readonly properties set on the service end. Also, per ARM guidelines each `Resource` type model must have these properties defined in its hierarchy. An example `Resource` definition can be found [here](https://github.com/Azure/azure-rest-api-specs/blob/master/specification/common-types/resource-management/v1/types.json#L9). **How to fix the violation**: Ensure the `Resource` type model has the properties `name`, `type` and `id` and they are marked as `readOnly:true`. @@ -1418,7 +1432,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Applies to** : ARM OpenAPI(swagger) specs -**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemdata. Model definition '{0}' has extra properties ['{1}']. +**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemData. Model definition '{0}' has extra properties ['{1}']. **Description**: Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), top level properties of a resource should be only ones from the allowed set. @@ -1684,7 +1698,7 @@ But it's allowed when all required properties are marked as discriminator, becau **Why the rule is important**: A PATCH operation is used to update properties of a resource. So, If the resource has 'X' number of properties and if you wish to change one of them, then a PATCH request could be sent with a value for that specified property. In other words, all the properties in the PATCH request are updated. Now, if any of the values are marked as required/default, it would force the system to update it always which is not the intention of the PATCH operation. -**How to fix the violation**: Ensure that the request parameter of the Patch Operation does not have a required/default value. +**How to fix the violation**: Ensure that the request parameter of the Patch Operation does not have a required/default value.A recommended way is to define a new model that only contains the patchable properties to replace the original parameter in request body. **Good Examples**: The following is a good example: ```json @@ -1716,10 +1730,7 @@ But it's allowed when all required properties are marked as discriminator, becau "type": "string" } }, - "discriminator": "prop0", - "required": [ - "prop0" - ] + "required": [] } } ...... @@ -1743,7 +1754,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) -### R4000 DescriptiveDescriptionRequired +### R4020 DescriptiveDescriptionRequired **Category** : SDK Warning **Applies to** : ARM and Data plane OpenAPI(swagger) specs @@ -1758,7 +1769,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) -### R4000 DescriptionAndTitleMissing +### R4021 DescriptionAndTitleMissing **Category** : SDK Warning **Applies to** : ARM and Data plane OpenAPI(swagger) specs @@ -1773,7 +1784,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) -### R4000 OperationDescriptionOrSummaryRequired +### R4022 OperationDescriptionOrSummaryRequired **Category** : SDK Warning **Applies to** : ARM and Data plane OpenAPI(swagger) specs @@ -1913,7 +1924,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Output Message** : Missing operationId. path:'${operation path}' operation:'${operation}'. -**Description** : Each operation must haave a unique operationId. +**Description** : Each operation must have a unique operationId. **CreatedAt** : February 18, 2020 @@ -1927,7 +1938,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul ### R3020 PathResourceProviderNamePascalCase -**Category** : ARM Warning +**Category** : ARM Error **Applies to** : ARM and Data Plane OpenAPI(swagger) specs @@ -1947,7 +1958,7 @@ For more detail, pls refer to https://github.com/microsoft/api-guidelines/blob/v Rename resource provider as pascal case in path. -Eg: In this case, you need to replace `Microsoft.computer` with `Microsoft.Computer` to follw pascal case. +Eg: In this case, you need to replace `Microsoft.computer` with `Microsoft.Computer` to follow pascal case. Invalid: @@ -2001,7 +2012,7 @@ For more detail, pls refer to https://github.com/microsoft/api-guidelines/blob/v Rename resource type or other identifiers as camel case in path. -Eg: In this case, you need to replace `ResourceGroups` with `resourceGroups` to follw camel case. +Eg: In this case, you need to replace `ResourceGroups` with `resourceGroups` to follow camel case. Invalid: @@ -2041,9 +2052,9 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Applies to** : ARM and Data Plane OpenAPI(swagger) specs -**Output Message** : Enum must not contain duplicated value (case insentive). +**Output Message** : Enum must not contain duplicated value (case insensitive). -**Description** : Enum must not contain duplicated value (case insentive). +**Description** : Enum must not contain duplicated value (case insensitive). **CreatedAt**: February 18, 2020 @@ -2143,7 +2154,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Output Message** : Enum value must not contain empty value. -**Description** : Emum must not be empty, or contain special character, like space, tab, etc. It will lead to code generation failure in downstream pipeline. +**Description** : Enum must not be empty, or contain special character, like space, tab, etc. It will lead to code generation failure in downstream pipeline. **CreatedAt**: February 18, 2020 @@ -2341,7 +2352,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul The following would be invalid: ```json - "responese":{ + "response":{ "default": { "schema":{ "error":"error msg", @@ -2356,7 +2367,7 @@ The following would be invalid: the correct schema: ```json - "responese":{ + "response":{ "default": { "error": { @@ -2379,7 +2390,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Output Message** : Response schema must not be empty. -**Description** : Response schema must not be empty, or it will block code genaration. +**Description** : Response schema must not be empty, or it will block code generation. **CreatedAt**: April 2, 2020 @@ -2391,7 +2402,7 @@ The following would be invalid: ```json ... - "responese":{ + "response":{ "default": { "schema":{ } @@ -2410,13 +2421,12 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Output Message** : The response of operation '{operation name }' is defined without 'systemData'. Consider adding the systemData to the response. **Description** : The responses of GET, PUT and PATCH in new API versions should contain the `systemData` object.The version after 2020-05-01 consider as a new API version. -For more information, see: [AzureRPCSystemData-RP_Copy.docx](https://microsoft.sharepoint.com/:w:/t/Operations_Management_Suite/EZP2GBYnvsRKnSmJ_FXV4jkBUz6xG_glzG3KVnmHN9Q0qA?e=99dfOo). **CreatedAt**: May 21, 2020 **LastModifiedAt**: May 21, 2020 -**How to fix the violation**: For each response in the GET/PUT/PATCH opearation add the systemData object: +**How to fix the violation**: For each response in the GET/PUT/PATCH operation add the systemData object: ``` json "systemData": { "$ref": "#/definitions/SystemData" @@ -2447,7 +2457,7 @@ The following would be valid: "responses":{ "default": { "schema":{ - "$ref":#/definiton/Error + "$ref":#/definition/Error } } } @@ -2483,20 +2493,20 @@ The following would be valid: ..... ..... ] - "responese":{ + "response":{ "default": { "schema":{ - "$ref":#/definiton/Error + "$ref":#/definition/Error } }, "200": { "schema":{ - "$ref":#/definiton/response + "$ref":#/definition/response } }, "204": { "schema":{ - "$ref":#/definiton/resonse + "$ref":#/definition/response } } } @@ -2514,7 +2524,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul **Output Message** : The operation: '{operation name}' is defined with x-ms-pageable enabled,but can not find the corresponding nextLink property in the response, please add it. -**Description** : Per [extensions](https://github.com/Azure/autorest/blob/master/docs/extensions/readme.md#x-ms-pageable) ,when specifying a x-ms-pagable/nextLinkName, the corresponding nextlink property must be defined in the response schema. +**Description** : Per [extensions](https://github.com/Azure/autorest/blob/master/docs/extensions/readme.md#x-ms-pageable) ,when specifying a x-ms-pageable/nextLinkName, the corresponding nextlink property must be defined in the response schema. **CreatedAt**: May 21, 2020 @@ -2532,7 +2542,7 @@ The following would be valid: "nextLinkName": "nextLink" }, .... - "responese":{ + "response":{ "200": { "schema":{ "description": "The list of metric items.", @@ -2582,4 +2592,360 @@ The following would be valid: } ... ``` +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4014 AllResourcesMustHaveGetOperation + +**Category** : ARM Warning + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The resource "{0}" does not have get operation, please add it. + +**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md) ,all the resources ,including top-level and nested resources, must have a get operation. + +**CreatedAt**: July 13, 2020 + +**LastModifiedAt**: July 13, 2020 + +**How to fix the violation**: +Since all the models that having 'x-ms-azure-resource' enabled are considered as ARM resource, +If the output resource is not exactly a ARM resource,you should remove the extension from the model. +Otherwise,for each resource which doesn't have a get operation,add the corresponding get operation. + +For example: + +```json +"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType/{Name}/SubResource/{subName}": { + "get": { + ... + "operationId": "SubResource_Get", + "parameters": [ + + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/SubResource" + } + }, +``` +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4015 NestedResourcesMustHaveListOperation + +**Category** : ARM Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The nested resource "{0}" does not have list operation, please add it. + +**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the nested must have a list operation which returns the collection of the resource. + +**CreatedAt**: July 13, 2020 + +**LastModifiedAt**: July 13, 2020 + +**How to fix the violation**: For each nested resource, add the corresponding list operation. + +For example: + +```json +... + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType/{name}/MySubResource": { + "get": { + ... + ... + "description": "Handles requests to list all resources in a service.", + "operationId": "MySubResource_List", + ... + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the service.", + "schema": { + "$ref": "#/definitions/MySubResourceList" + } + } + }, +... +``` +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4016 TopLevelResourcesListByResourceGroup + +**Category** : ARM Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The top-level resource "{0}" does not have list by resource group operation, please add it. + +**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the top-level resources must have a list by resource group operation which returns the collection of the resource. + +**CreatedAt**: July 13, 2020 + +**LastModifiedAt**: July 13, 2020 + +**How to fix the violation**: For each top-level resource, add the corresponding list by resource group operation. + +For example: + +```json +... + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType": { + "get": { + ... + ... + "description": "Handles requests to list all resources in a resource group.", + "operationId": "Services_ListByRG", + ... + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the subscription.", + "schema": { + "$ref": "#/definitions/MyTopLevelResourceList" + } + } + }, +... +``` +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4017 TopLevelResourcesListBySubscription + +**Category** : ARM Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The top-level resource "{0}" does not have list by subscription operation, please add it. + +**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the top-level resources must have a list by subscription operation which returns the collection of the resource. + +**CreatedAt**: July 13, 2020 + +**LastModifiedAt**: July 13, 2020 + +**How to fix the violation**: For each top-level resource, add the corresponding list operation. + +For example: + +```json +... + "/subscriptions/{subscriptionId}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType": { + "get": { + ... + ... + "description": "Handles requests to list all resources in a subscription.", + "operationId": "Services_ListBySubscription", + ... + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the subscription.", + "schema": { + "$ref": "#/definitions/MyTopLevelResourceList" + } + } + }, +... +``` +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4018 OperationsApiResponseSchema + +**Category** : ARM Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The response schema of operations API "{0}" does not match the ARM specification. Please standardize the schema. + +**Description** : The operations API should have a response body schema consistent with the [contract spec](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#exposing-available-operations). The required properties such as `isDataAction`,`display.description` or `display.resource`,must be included. + +**CreatedAt**: July 13, 2020 + +**LastModifiedAt**: July 13, 2020 + +**How to fix the violation**: For each operations API ,provide a schema which consistent with the above contract. + +The following response is a good example:: + +```json +... + "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" + } + }, + "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" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "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" + } + } + } +.... +``` +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4019 GetCollectionResponseSchema + +**Category** : ARM Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : The response model in the GET collection operation "{0}" does not match with the response model in the individual GET operation "{1}". + +**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md#get-resource), for all resources (top-level and nested), collection GETs should have a response definition with a property "value" containing an array of the "resource" schema.The definition returned in the collection "value" array should be the same as the response body for the individual GET. + +**CreatedAt**: July 13, 2020 + +**LastModifiedAt**: July 13, 2020 + +**How to fix the violation**: Make sure the collection GETs return an array and its items schema the same as the response schema in corresponding individual GET. + +The following response is a good example: + +```json +... + + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType/{Name}": { + "get": { + ... + ... + "responses": { + "200": { + "description": "Success. The response describes the corresponding Service.", + "schema": { + "$ref": "#/definitions/MyResourceSchema" + } + } + +... +... + + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType": { + "get": { + ..... + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the resource group.", + "schema": { + "$ref": "#/definitions/MyResourceList" + } + }, +... +... +"MyResourceList":{ +   "type": "object",  +  "properties": {  +    "value": {  +        "type": "array",  +        "items": {  +            "$ref": "#/definitions/MyResourceSchema"  +        }  +    }, +... +``` +Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) + +### R4023 RPaasPutLongRunningOperation201Only + +**Category** : RPaaS Error + +**Applies to** : ARM OpenAPI(swagger) specs + +**Output Message** : [RPaaS] Only 201 is the supported response code for PUT async response + +**Description** : An async PUT operation response include status code 201 with Azure-async-operation header. Must also support status code 200, for simple updates that can be completed synchronously (ex: tags). Operation must also add "x-ms-long-running-operation and x-ms-long-running-operation-options" to describe how the long running operation is tracked. + +**CreatedAt**: August 10, 2020 + +**LastModifiedAt**: August 10, 2020 + +**Why this rule is important**: RPaaS only supports 201 for async operations. This is enforced at runtime via swagger validation. + +**How to fix the violation**: Add the following for async PUT operations. + +The following would be valid: + +```json +... + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MySimpleObject" + } + }, + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/MySimpleObject" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } +... +``` Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings) \ No newline at end of file diff --git a/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json index 43165d3ad9ca..c7f0e40bc3f5 100644 --- a/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json +++ b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json @@ -43,6 +43,9 @@ }, { "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md index 14f46860e4d1..ba38219f4d3e 100644 --- a/documentation/samplefiles/readme.go.md +++ b/documentation/samplefiles/readme.go.md @@ -8,12 +8,39 @@ go: clear-output-folder: true ``` +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2019-12-01 + - tag: package-2020-07-01-preview + # add every tag listed below +``` + ### Tag: package-2019-12-01 and go These settings apply only when `--tag=package-2019-12-01 --go` is specified on the command line. -Please also specify `--go-sdks-folder=`. +Please also specify `--go-sdk-folder=`. ```yaml $(tag) == 'package-2019-12-01' && $(go) -namespace: Microsoft.YourServiceName -output-folder: $(go-sdks-folder)/YourServiceName/Generated +# NOTE: a stable tag must not contain any preview swagger files included +# NOTE: go namespace can only consist of lower case letters, numbers and underscores +namespace: yourservicename +# NOTE: for special cases, you can hard code the namespace in the output-folder +# NOTE: the output-folder of a stable tag must not be under the preview subdirectory +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace) +``` + +### Tag: package-2020-07-01-preview and go + +These settings apply only when `--tag=package-2020-07-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-2020-07-01-preview' && $(go) +# NOTE: a preview tag must not contain at least one preview swagger file included +# NOTE: go namespace can only consist of lower case letters, numbers and underscores +namespace: yourservicename +# NOTE: a preview api-version must be under the preview sub-directory +# NOTE: the output-folder of a preview tag must be under the preview subdirectory +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace) ``` diff --git a/package-lock.json b/package-lock.json index 85b829ee2129..47e96443676a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1769,9 +1769,9 @@ } }, "dot-prop": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.1.0.tgz", - "integrity": "sha512-n1oC6NBF+KM9oVXtjmen4Yo7HyAVWV2UUl50dCYJdw2924K6dX9bf9TTTWaKtYlRn0FEtxG27KS80ayVLixxJA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", "dev": true, "requires": { "is-obj": "^2.0.0" @@ -3164,9 +3164,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, "lodash.get": { @@ -3717,9 +3717,9 @@ } }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", "dev": true }, "node-object-hash": { diff --git a/preproduction-azure-pipelines.yml b/preproduction-azure-pipelines.yml index 56c9816bf51f..6b0e571283a1 100644 --- a/preproduction-azure-pipelines.yml +++ b/preproduction-azure-pipelines.yml @@ -16,7 +16,6 @@ variables: PREPRODUCTION_PIPELINE: "true" jobs: - - template: .azure-pipelines/BreakingChange.yml - template: .azure-pipelines/ModelValidation.yml - template: .azure-pipelines/LintDiff.yml - template: .azure-pipelines/Avocado.yml diff --git a/profile/2020-09-01-hybrid.json b/profile/2020-09-01-hybrid.json new file mode 100644 index 000000000000..9e91801fb7f8 --- /dev/null +++ b/profile/2020-09-01-hybrid.json @@ -0,0 +1,612 @@ +{ + "info": { + "name": "2020-09-01-hybrid", + "description": "Profile definition targeted for hybrid applications that could run on azure stack general availability version and azure cloud for 2010." + }, + "resource-manager": { + "microsoft.authorization": { + "2016-09-01": [ + { + "resourceType": "locks", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-09-01/locks.json" + } + ], + "2016-12-01": [ + { + "resourceType": "policyAssignments", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-12-01/policyAssignments.json" + }, + { + "resourceType": "policyDefinitions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json" + } + ], + "2015-07-01": [ + { + "resourceType": "permissions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json" + }, + { + "resourceType": "roleAssignments", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json" + }, + { + "resourceType": "roleDefinitions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json" + }, + { + "resourceType": "providerOperations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json" + } + ] + }, + "microsoft.commerce": { + "2015-06-01-preview":[ + { + "resourceType": "estimateResourceSpend", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json" + }, + { + "resourceType": "operations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json" + }, + { + "resourceType": "subscriberUsageAggregates", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json" + }, + { + "resourceType": "usageAggregates", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json" + } + ] + }, + "microsoft.compute": { + "2020-06-01": [ + { + "resourceType": "availabilitySets", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "images", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations/publishers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations/operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations/usages", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "locations/vmSizes", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachines", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachines/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachineScaleSets", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachineScaleSets/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualmachineScaleSets/networkInterfaces", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines/networkInterfaces", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json" + } + ], + "2019-07-01": [ + { + "resourceType": "disks", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json" + }, + { + "resourceType": "snapshots", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json" + } + ] + }, + "microsoft.databoxedge":{ + "2019-08-01": [ + { + "resourceType": "dataBoxEdgeDevices", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json" + }, + { + "resourceType": "dataBoxEdgeDevices/checkNameAvailability", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json" + }, + { + "resourceType": "operations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json" + } + ] + }, + "microsoft.devices": { + "2019-07-01-preview":[ + { + "resourceType": "usages", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "locations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "locations/quotas", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "locations/skus", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "checkNameAvailability", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "operations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "operationResults", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "IotHubs", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "backupProviders", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + }, + { + "resourceType": "backupProviders/operationResults", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json" + } + ] + }, + "microsoft.eventhubs": { + "2018-01-01-preview": [ + { + "resourceType": "availableClusterRegions", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json" + }, + { + "resourceType": "clusters", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json" + }, + { + "resourceType": "namespaces", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json" + } + ], + "2017-04-01": [ + { + "resourceType": "checkNameAvailability", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json" + }, + { + "resourceType": "namespaces/authorizationRules", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json" + }, + { + "resourceType": "namespaces/eventhubs", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json" + }, + { + "resourceType": "namespaces/eventhubs/authorizationRules", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json" + }, + { + "resourceType": "namespaces/eventhubs/consumerGroups", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json" + }, + { + "resourceType": "operations", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json" + }, + { + "resourceType": "sku", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json" + } + ], + "2015-08-01": [ + { + "resourceType": "checkNamespaceAvailability", + "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2015-08-01/EventHub.json" + } + ] + }, + "microsoft.insights": { + "2018-01-01": [ + { + "resourceType": "metricDefinitions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json" + }, + { + "resourceType": "metrics", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json" + } + ], + "2017-05-01-preview": [ + { + "resourceType": "diagnosticSettings", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json" + }, + { + "resourceType": "diagnosticSettingCategories", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json" + } + ], + "2015-04-01": [ + { + "resourceType": "eventCategories", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json" + } + ] + }, + "microsoft.keyvault": { + "2019-09-01": [ + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/providers.json" + }, + { + "resourceType": "vaults", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json" + }, + { + "resourceType": "vaults/accessPolicies", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json" + }, + { + "resourceType": "vaults/secrets", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/secrets.json" + } + ] + }, + "microsoft.network": { + "2018-11-01": [ + { + "resourceType": "connections", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json" + }, + { + "resourceType": "loadBalancers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/loadBalancer.json" + }, + { + "resourceType": "localNetworkGateways", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json" + }, + { + "resourceType": "locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json" + }, + { + "resourceType": "locations/operationResults", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json" + }, + { + "resourceType": "locations/operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json" + }, + { + "resourceType": "locations/usages", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json" + }, + { + "resourceType": "networkInterfaces", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkInterface.json" + }, + { + "resourceType": "networkSecurityGroups", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/operation.json" + }, + { + "resourceType": "publicIpAddresses", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpAddress.json" + }, + { + "resourceType": "routeTables", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeTable.json" + }, + { + "resourceType": "virtualNetworkGateways", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json" + }, + { + "resourceType": "virtualNetworks", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetwork.json" + } + ], + "2016-04-01": [ + { + "resourceType": "dnsZones", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/dns/resource-manager/Microsoft.Network/stable/2016-04-01/dns.json" + } + ] + }, + "microsoft.resources": { + "2019-10-01": [ + { + "resourceType": "subscriptions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json" + }, + { + "resourceType": "subscriptions/locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json" + }, + { + "resourceType": "tenants", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json" + } + ], + "2018-05-01": [ + { + "resourceType": "deployments", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "deployments/operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "links", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "providers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "resourceGroups", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "resources", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "subscriptions/operationresults", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "subscriptions/providers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "subscriptions/resourceGroups", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "subscriptions/resourceGroups/resources", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "subscriptions/resources", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "subscriptions/tagNames", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + }, + { + "resourceType": "subscriptions/tagNames/tagValues", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json" + } + ] + }, + "microsoft.storage": { + "2019-06-01": [ + { + "resourceType": "checkNameAvailability", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "locations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "locations/quotas", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "storageAccounts", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "storageAccounts/blobServices", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "storageAccounts/queueServices", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "storageAccounts/tableServices", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + }, + { + "resourceType": "usages", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json" + } + ] + }, + "microsoft.web": { + "2018-02-01": [ + { + "resourceType": "certificates", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Certificates.json" + }, + { + "resourceType": "operations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "checknameavailability", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/ResourceProvider.json" + }, + { + "resourceType": "metadata", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/domainOwnershipIdentifiers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/hostNameBindings", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/instances", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/instances/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/slots", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/slots/hostNameBindings", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/slots/instances", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "sites/slots/instances/extensions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + }, + { + "resourceType": "serverFarms", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json" + } + ], + "2016-09-01": [ + { + "resourceType": "serverFarms/metricDefinitions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json" + }, + { + "resourceType": "serverFarms/metrics", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json" + }, + { + "resourceType": "serverFarms/usages", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json" + } + ], + "2016-03-01": [ + { + "resourceType": "availableStacks", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/Provider.json" + }, + { + "resourceType": "deploymentLocations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "georegions", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "listSitesAssignedToHostName", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "publishingUsers", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "recommendations", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/Recommendations.json" + }, + { + "resourceType": "sourceControls", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + }, + { + "resourceType": "validate", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json" + } + ] + } + }, + "data-plane": { + "microsoft.keyvault": { + "2016-10-01": [ + { + "resourceType": "*", + "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json" + } + ] + }, + "microsoft.storage": { + "resourceType": "*", + "2019-07-07": [] + } + } +} \ No newline at end of file diff --git a/scripts/breaking-change.ts b/scripts/breaking-change.ts deleted file mode 100644 index b79c27007b1a..000000000000 --- a/scripts/breaking-change.ts +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License in the project root for license information. - -import * as scripts from '@azure/rest-api-specs-scripts' - -// magic starts here -scripts.breakingChange().then(() => { - console.log(`Thanks for using breaking change tool to review.`); - console.log(`If you encounter any issue(s), please open issue(s) at https://github.com/Azure/openapi-diff/issues .`); -}).catch(err => { - console.log(err); - process.exitCode = 1; -}) diff --git a/scripts/datacontainer/Dockerfile b/scripts/datacontainer/Dockerfile new file mode 100644 index 000000000000..f36ab2eb398e --- /dev/null +++ b/scripts/datacontainer/Dockerfile @@ -0,0 +1,15 @@ +FROM alpine:3.8 + +RUN apk update && \ + apk add git + +RUN mkdir -p /usr/data/specrepo/ +COPY .git /usr/data/specrepo/.git + +WORKDIR /usr/data/scripts/ +COPY run.sh run.sh +RUN chmod +x run.sh + +RUN mkdir -p /usr/data/openapispecs/ +WORKDIR /usr/data/openapispecs +ENTRYPOINT /usr/data/scripts/run.sh diff --git a/scripts/datacontainer/run.sh b/scripts/datacontainer/run.sh new file mode 100644 index 000000000000..71cfda09fea6 --- /dev/null +++ b/scripts/datacontainer/run.sh @@ -0,0 +1,18 @@ + +#!/bin/bash + +timestamp=`date +%Y/%m/%d-%H:%M:%S` +echo "[$timestamp] Copying files to /usr/data/openapispecs" +mkdir -p /usr/data/openapispecs/.git +cp -R /usr/data/specrepo/.git/* /usr/data/openapispecs/.git/ + +timestamp=`date +%Y/%m/%d-%H:%M:%S` +echo "[$timestamp] Running 'git checkout [$specRetrievalGitBranch] -f'" +git checkout $specRetrievalGitBranch -f + +timestamp=`date +%Y/%m/%d-%H:%M:%S` +echo "[$timestamp] Deleting directory /usr/data/specrepo" +rm -R /usr/data/specrepo/ + +timestamp=`date +%Y/%m/%d-%H:%M:%S` +echo "[$timestamp] Init completed successfully. OpenAPI specs are present in /usr/data/openapispecs." diff --git a/scripts/multiapi.ts b/scripts/multiapi.ts index 56d169adeb42..caed08c5e71e 100644 --- a/scripts/multiapi.ts +++ b/scripts/multiapi.ts @@ -12,15 +12,14 @@ type Code = { readonly "input-file"?: ReadonlyArray|string } const magic = `yaml $(tag) == 'all-api-versions' /* autogenerated */`; -const header = `## Multi-API/Profile support for AutoRest v3 generators`; +const pathRegex = /microsoft\.(\w+)[\\\/]\S*[\\\/](\d{4}-\d{2}-\d{2}(|-preview))[\\\/]/i; - -const main = async (specificationDir: string, profilesDir: string) => { +const main = async (specificationDir: string) => { try { const list = fs.recursiveReaddir(specificationDir) for await (const file of list) { const f = path.parse(file) - if (f.base === "readme.md") { + if (f.base === "readme.md" && f.dir.endsWith('resource-manager')) { const original_content = (await fs.readFile(file)).toString() let content = original_content; const readMe = cm.parse(content) @@ -36,70 +35,68 @@ const main = async (specificationDir: string, profilesDir: string) => { if (DOC ) { const y = DOC['input-file'] if (typeof y === "string") { - set.add(`$(this-folder)/${y}`) + set.add(y) } else if (it.isArray(y)) { for (const i of y) { - set.add(`$(this-folder)/${i}`) + set.add(i) } } } - } } - if( !content.includes(header) ) { - // add the header to the content - content = content + ` -${header} + let map = new Map(); + for (let input of set) { + let match = pathRegex.exec(input); + if (!!match) { + let tagName = `schema-${match[1].toLowerCase()}-${match[2]}`; + if (!map.has(tagName)) { + map.set(tagName, []); + } + let array = map.get(tagName); + if (!!array) { + array.push(input); + } + } + } + map = new Map(Array.from(map.entries()).sort().reverse()); + let schemaReadmeContent = +`## AzureResourceSchema -AutoRest V3 generators require the use of \`--tag=all-api-versions\` to select api files. +These settings apply only when \`--azureresourceschema\` is specified on the command line. -This block is updated by an automatic script. Edits may be lost! +### AzureResourceSchema multi-api -\`\`\` ${magic} +\`\`\` yaml $(azureresourceschema) && $(multiapi) +${yaml.dump({ 'batch': it.toArray(it.map(map.keys(), (tagName) => ({'tag': tagName})))}, { lineWidth: 1000})} \`\`\` -If there are files that should not be in the \`all-api-versions\` set, -uncomment the \`exclude-file\` section below and add the file paths. +Please also specify \`--azureresourceschema-folder=\`. +` + map.forEach((inputList, tagName) => { + schemaReadmeContent += +` +### Tag: ${tagName} and azureresourceschema + +\`\`\` yaml $(tag) == '${tagName}' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas -\`\`\` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +# all the input files in this apiVersion +${yaml.dump({ 'input-file': it.toArray(inputList)}, { lineWidth: 1000})} \`\`\` - ` - } - // update the autogenrated block with the new content. - /* const readMeMulti = cm.createNode( - "document", - cm.createNode( - "heading", - cm.createText("# Multi-API/Profile support for AutoRest v3 generators") - ), - cm.createCodeBlock( - magic, - yaml.dump({ "input-file": it.toArray(set), "require": `$(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md` }, { lineWidth: 1000 }) - ) - ) - const block1 =cm.markDownExToString({ markDown: cm.createCodeBlock( - magic, - yaml.dump({ - "input-file": it.toArray(set), - "require": `$(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md` }, { lineWidth: 1000 }) - )});*/ - const block = -`\`\`\` ${magic} -# include the azure profile definitions from the standard location -require: $(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md + }); -# all the input files across all versions -${yaml.dump({ 'input-file': it.toArray(set) },{ lineWidth: 1000 } )} -\`\`\`` - content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions' \/\* autogenerated \*\/[\S\s]*?```/g, block) + // content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions' \/\* autogenerated \*\/[\S\s]*?```/g, '') + // content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions'[\S\s]*?```/g, '') + // content = content.replace( /## Multi-API\/Profile support for AutoRest v3 generators[\S\s]*/g, '') - if(original_content !== content ){ - console.log(`Updating: ${file}`); - fs.writeFile(path.join(f.dir, "readme.md"), content) - } + // if(original_content !== content ){ + // console.log(`Updating: ${file}`); + // fs.writeFile(path.join(f.dir, "readme.md"), content) + // } + + console.log(`Rewriting: ${f.dir}/readme.azureresourceschema.md`); + fs.writeFile(path.join(f.dir, "readme.azureresourceschema.md"), schemaReadmeContent); } } @@ -108,4 +105,4 @@ ${yaml.dump({ 'input-file': it.toArray(set) },{ lineWidth: 1000 } )} } } -main(path.join(process.cwd(), "specification"), path.join(process.cwd(), "profiles")) +main(path.join(process.cwd(), "specification")) diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b91b439d843d --- /dev/null +++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-enterpriseknowledgegraph-2018-12-03 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-enterpriseknowledgegraph-2018-12-03 and azureresourceschema + +``` yaml $(tag) == 'schema-enterpriseknowledgegraph-2018-12-03' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json + +``` diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md index 18d7c396724d..5e86715c9ebe 100644 --- a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md +++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md @@ -75,6 +75,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js EnterpriseKnowledgeGraph/resource-manager ``` ## C# @@ -91,6 +94,10 @@ csharp: clear-output-folder: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/addons/resource-manager/readme.azureresourceschema.md b/specification/addons/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ae05babd8222 --- /dev/null +++ b/specification/addons/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-addons-2018-03-01 + - tag: schema-addons-2017-05-15 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-addons-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-addons-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Addons/preview/2018-03-01/addons-swagger.json + +``` + +### Tag: schema-addons-2017-05-15 and azureresourceschema + +``` yaml $(tag) == 'schema-addons-2017-05-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Addons/preview/2017-05-15/Addons.json + +``` diff --git a/specification/addons/resource-manager/readme.md b/specification/addons/resource-manager/readme.md index 50f7283f8527..190417253f1c 100644 --- a/specification/addons/resource-manager/readme.md +++ b/specification/addons/resource-manager/readme.md @@ -50,6 +50,17 @@ input-file: --- # Code Generation +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js addons/resource-manager +``` --- ## C# @@ -182,6 +193,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md b/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2ed4e21a2173 --- /dev/null +++ b/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,12 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: [] + +``` + +Please also specify `--azureresourceschema-folder=`. diff --git a/specification/adhybridhealthservice/resource-manager/readme.md b/specification/adhybridhealthservice/resource-manager/readme.md index 5628efb7da58..88e9f3b4d518 100644 --- a/specification/adhybridhealthservice/resource-manager/readme.md +++ b/specification/adhybridhealthservice/resource-manager/readme.md @@ -54,6 +54,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js adhybridhealthservice/resource-manager ``` @@ -94,6 +97,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/advisor.json b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/advisor.json new file mode 100644 index 000000000000..dc682bd2020b --- /dev/null +++ b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/advisor.json @@ -0,0 +1,329 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-01-preview", + "title": "AdvisorManagementClient", + "description": "REST APIs for Azure Advisor" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Advisor/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available Advisor REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/advisorScore": { + "get": { + "tags": [ + "AdvisorScore" + ], + "description": "Gets the list of advisor scores.", + "operationId": "AdvisorScores_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/advisorScoreEntity" + } + } + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "ListAdvisorScore": { + "$ref": "./examples/ListAdvisorScore.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/advisorScore/{name}": { + "get": { + "tags": [ + "AdvisorScore" + ], + "description": "Gets the advisor score.", + "operationId": "AdvisorScores_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "name", + "in": "path", + "description": "The scope of Advisor score entity.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/advisorScoreEntity" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "GetAdvisorScoreDetail": { + "$ref": "./examples/GetAdvisorScoreDetail.json" + } + } + } + } + }, + "definitions": { + "ArmErrorResponse": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ARMErrorResponseBody" + } + } + }, + "ARMErrorResponseBody": { + "description": "ARM error response body.", + "type": "object", + "properties": { + "message": { + "description": "Gets or sets the string that describes the error in detail and provides debugging information.", + "type": "string" + }, + "code": { + "description": "Gets or sets the string that can be used to programmatically identify the error.", + "type": "string" + } + } + }, + "OperationEntityListResult": { + "description": "The list of Advisor operations.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + } + } + }, + "OperationEntity": { + "description": "The operation supported by Advisor.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Advisor." + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by Advisor.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Microsoft Advisor.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "scoreEntity": { + "description": "The details of Advisor Score", + "type": "object", + "properties": { + "date": { + "description": "The date score was calculated.", + "type": "string" + }, + "score": { + "description": "The percentage score.", + "type": "number" + }, + "consumptionUnits": { + "description": "The consumption units for the score.", + "type": "number" + }, + "impactedResourceCount": { + "description": "The number of impacted resources.", + "type": "number" + }, + "potentialScoreIncrease": { + "description": "The potential percentage increase in overall score at subscription level once all recommendations in this scope are implemented.", + "type": "number" + } + } + }, + "timeSeriesEntity": { + "description": "The historic data at different aggregation levels.", + "type": "array", + "items": { + "description": "The data from different aggregation levels.", + "type": "object", + "properties": { + "aggregationLevel": { + "description": "The aggregation level of the score.", + "type": "string", + "enum": [ + "week", + "day", + "month" + ] + }, + "data": { + "description": "The past score data", + "type": "array", + "items": { + "$ref": "#/definitions/scoreEntity" + } + } + } + } + }, + "advisorScoreEntity": { + "description": "The details of Advisor score for a single category.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the resource.", + "type": "string" + }, + "name": { + "description": "The category.", + "type": "string" + }, + "type": { + "description": "The type of resource.", + "type": "string" + }, + "properties": { + "description": "The Advisor score data.", + "type": "object", + "properties": { + "lastRefreshedScore": { + "description": "The details of latest available score.", + "$ref": "#/definitions/scoreEntity" + }, + "timeSeries": { + "description": "The historic Advisor score data.", + "$ref": "#/definitions/timeSeriesEntity" + } + } + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Azure subscription ID.", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The version of the API to be used with the client request.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/GetAdvisorScoreDetail.json b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/GetAdvisorScoreDetail.json new file mode 100644 index 000000000000..39f27877eddb --- /dev/null +++ b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/GetAdvisorScoreDetail.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "subscriptionId": "subscriptionId", + "name": "Cost" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Cost", + "name": "Cost", + "type": "Microsoft.Advisor/advisorScore", + "properties": { + "lastRefreshedScore": { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + "timeSeries": [ + { + "aggregationLevel": "day", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-24T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-23T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-22T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-21T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-20T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-19T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + }, + { + "aggregationLevel": "month", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-05-30T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-04-30T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + }, + { + "aggregationLevel": "week", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-21T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-14T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-07T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-05-31T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-05-24T00:00:00Z", + "score": 1, + "consumptionUnits": 12, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + } + ] + } + } + } + } +} diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/ListAdvisorScore.json b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/ListAdvisorScore.json new file mode 100644 index 000000000000..1976e4b72223 --- /dev/null +++ b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/ListAdvisorScore.json @@ -0,0 +1,345 @@ +{ + "parameters": { + "subscriptionId": "subscriptionId" + }, + "responses": { + "200": { + "body": { + "nextLink": "", + "value": [ + { + "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Cost", + "name": "Cost", + "type": "Microsoft.Advisor/advisorScore", + "properties": { + "lastRefreshedScore": { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + "timeSeries": [ + { + "aggregationLevel": "day", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-24T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-23T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-22T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-21T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-20T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-19T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + }, + { + "aggregationLevel": "month", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-05-30T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-04-30T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + }, + { + "aggregationLevel": "week", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-21T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-14T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-06-07T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-05-31T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + { + "date": "2020-05-24T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + } + ] + } + }, + { + "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Advisor/Performance", + "name": "Performance", + "type": "Microsoft.Advisor/advisorScore", + "properties": { + "lastRefreshedScore": { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + "timeSeries": [ + { + "aggregationLevel": "day", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + }, + { + "aggregationLevel": "month", + "data": [ + { + "date": "2020-05-30T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + }, + { + "aggregationLevel": "week", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + } + ] + } + }, + { + "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Security", + "name": "Security", + "type": "Microsoft.Advisor/advisorScore", + "properties": { + "lastRefreshedScore": { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + "timeSeries": [ + { + "aggregationLevel": "day", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + }, + { + "aggregationLevel": "month", + "data": [ + { + "date": "2020-05-30T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + }, + { + "aggregationLevel": "week", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + } + ] + } + }, + { + "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/HighAvailability", + "name": "HighAvailability", + "type": "Microsoft.Advisor/advisorScore", + "properties": { + "lastRefreshedScore": { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + "timeSeries": [ + { + "aggregationLevel": "day", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + } + ] + } + }, + { + "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/OperationalExcellence", + "name": "OperationalExcellence", + "type": "Microsoft.Advisor/advisorScore", + "properties": { + "lastRefreshedScore": { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + "timeSeries": [ + { + "aggregationLevel": "day", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + } + ] + } + }, + { + "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Advisor", + "name": "Advisor", + "type": "Microsoft.Advisor/advisorScore", + "properties": { + "lastRefreshedScore": { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + }, + "timeSeries": [ + { + "aggregationLevel": "day", + "data": [ + { + "date": "2020-06-25T00:00:00Z", + "score": 1, + "consumptionUnits": 12.24521, + "impactedResourceCount": 1, + "potentialScoreIncrease": 0 + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/advisor/resource-manager/readme.azureresourceschema.md b/specification/advisor/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8419f1c1778c --- /dev/null +++ b/specification/advisor/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,72 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-advisor-2020-07-01-preview + - tag: schema-advisor-2020-01-01 + - tag: schema-advisor-2017-04-19 + - tag: schema-advisor-2017-03-31 + - tag: schema-advisor-2016-07-12-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-advisor-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/preview/2020-07-01-preview/advisor.json + +``` + +### Tag: schema-advisor-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/stable/2020-01-01/advisor.json + +``` + +### Tag: schema-advisor-2017-04-19 and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2017-04-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/stable/2017-04-19/advisor.json + +``` + +### Tag: schema-advisor-2017-03-31 and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2017-03-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/stable/2017-03-31/advisor.json + +``` + +### Tag: schema-advisor-2016-07-12-preview and azureresourceschema + +``` yaml $(tag) == 'schema-advisor-2016-07-12-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Advisor/preview/2016-07-12-preview/advisor.json + +``` diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md index 19b78bb8ac9b..c3f9f016496e 100644 --- a/specification/advisor/resource-manager/readme.md +++ b/specification/advisor/resource-manager/readme.md @@ -29,6 +29,14 @@ openapi-type: arm tag: package-2020-01 ``` +### Tag: package-2020-07-preview + +These settings apply only when `--tag=package-2020-07-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-07-preview' +input-file: + - Microsoft.Advisor/preview/2020-07-01-preview/advisor.json +``` ### Tag: package-2020-01 @@ -82,6 +90,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js advisor/resource-manager ``` ## Python @@ -137,6 +148,10 @@ csharp: See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -149,6 +164,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Advisor/preview/2020-07-01-preview/advisor.json - $(this-folder)/Microsoft.Advisor/stable/2020-01-01/advisor.json - $(this-folder)/Microsoft.Advisor/stable/2017-04-19/advisor.json - $(this-folder)/Microsoft.Advisor/stable/2017-03-31/advisor.json diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json index 0236d4f36094..b478a1c46f6a 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json @@ -116,7 +116,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -159,7 +159,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -198,7 +198,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -234,7 +234,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -273,7 +273,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -344,7 +344,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -390,7 +390,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -435,7 +435,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -471,7 +471,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -808,7 +808,7 @@ "value" ] }, - "errorResponse": { + "AlertsManagementErrorResponse": { "description": "An error response from the service.", "x-ms-external": true, "properties": { diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json index 908b0abd0480..f876c45039e7 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json @@ -116,7 +116,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -159,7 +159,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -198,7 +198,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -234,7 +234,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -273,7 +273,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -344,7 +344,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -390,7 +390,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -435,7 +435,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -471,7 +471,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -523,7 +523,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } } @@ -573,7 +573,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } } @@ -615,7 +615,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } } @@ -664,7 +664,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } } @@ -701,7 +701,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } } @@ -747,7 +747,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } } @@ -1086,7 +1086,7 @@ "value" ] }, - "errorResponse": { + "AlertsManagementErrorResponse": { "description": "An error response from the service.", "x-ms-external": true, "properties": { diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-03-01-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-03-01-preview/AlertsManagement.json index b2037d78bcf4..ed96b1ddb65b 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-03-01-preview/AlertsManagement.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-03-01-preview/AlertsManagement.json @@ -128,7 +128,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -171,7 +171,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -210,7 +210,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -246,7 +246,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -315,7 +315,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -386,7 +386,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -432,7 +432,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -477,7 +477,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -513,7 +513,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -919,7 +919,7 @@ "value" ] }, - "errorResponse": { + "AlertsManagementErrorResponse": { "description": "An error response from the service.", "x-ms-external": true, "properties": { diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json new file mode 100644 index 000000000000..25123080680b --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json @@ -0,0 +1,944 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-05-05-preview", + "title": "Azure Alerts Management Service Resource Provider", + "description": "APIs for Azure Action Rules CRUD operations." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": { + "get": { + "summary": "Get all action rule in a given subscription", + "description": "List all action rules of the subscription and given input filters", + "operationId": "ActionRules_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/targetResourceGroup" + }, + { + "$ref": "#/parameters/targetResourceType" + }, + { + "$ref": "#/parameters/targetResource" + }, + { + "$ref": "#/parameters/severity" + }, + { + "$ref": "#/parameters/monitorService" + }, + { + "$ref": "#/parameters/impactedScope" + }, + { + "$ref": "#/parameters/description" + }, + { + "$ref": "#/parameters/alertRuleId" + }, + { + "$ref": "#/parameters/actionGroup" + }, + { + "$ref": "#/parameters/actionRuleName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Return the list of action rules", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ActionRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetActionRulesSubscriptionWide": { + "$ref": "./examples/ActionRules_List_Subscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": { + "get": { + "summary": "Get all action rules created in a resource group", + "operationId": "ActionRules_ListByResourceGroup", + "description": "List all action rules of the subscription, created in given resource group and given input filters", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/targetResourceGroup" + }, + { + "$ref": "#/parameters/targetResourceType" + }, + { + "$ref": "#/parameters/targetResource" + }, + { + "$ref": "#/parameters/severity" + }, + { + "$ref": "#/parameters/monitorService" + }, + { + "$ref": "#/parameters/impactedScope" + }, + { + "$ref": "#/parameters/description" + }, + { + "$ref": "#/parameters/alertRuleId" + }, + { + "$ref": "#/parameters/actionGroup" + }, + { + "$ref": "#/parameters/actionRuleName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Return the list of action rules", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ActionRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetActionRulesResourceGroupWide": { + "$ref": "./examples/ActionRules_List_ResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": { + "get": { + "summary": "Get action rule by name", + "operationId": "ActionRules_GetByName", + "description": "Get a specific action rule", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "actionRuleName", + "in": "path", + "description": "The name of action rule that needs to be fetched", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the specific action rule", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ActionRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "GetActionRuleById": { + "$ref": "./examples/ActionRules_GetById.json" + } + } + }, + "put": { + "summary": "Create/update an action rule", + "operationId": "ActionRules_CreateUpdate", + "description": "Creates/Updates a specific action rule", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "actionRuleName", + "in": "path", + "description": "The name of action rule that needs to be created/updated", + "required": true, + "type": "string" + }, + { + "name": "actionRule", + "in": "body", + "description": "action rule to be created/updated", + "required": true, + "schema": { + "$ref": "#/definitions/ActionRule" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the created/updated action rule", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ActionRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "PutActionRule": { + "$ref": "./examples/ActionRules_Create_SuppressionRule.json" + } + } + }, + "delete": { + "summary": "Delete action rule", + "description": "Deletes a given action rule", + "operationId": "ActionRules_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "actionRuleName", + "in": "path", + "description": "The name that needs to be deleted", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns true if deleted successfully", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "type": "boolean" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "DeleteActionRule": { + "$ref": "./examples/ActionRules_Delete.json" + } + } + }, + "patch": { + "summary": "Patch action rule", + "description": "Update enabled flag and/or tags for the given action rule", + "operationId": "ActionRules_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "actionRuleName", + "in": "path", + "description": "The name that needs to be updated", + "required": true, + "type": "string" + }, + { + "name": "actionRulePatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchObject" + }, + "description": "Parameters supplied to the operation." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the created/updated action rule", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ActionRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "PatchActionRule": { + "$ref": "./examples/ActionRules_Patch.json" + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "Resource group name where the resource is created.", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + }, + "api-version": { + "name": "api-version", + "description": "client API version", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "2019-05-05-preview" + ], + "x-ms-enum": { + "name": "api-version", + "modelAsString": true + } + }, + "targetResourceGroup": { + "description": "Filter by target resource group name. Default value is select all.", + "name": "targetResourceGroup", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "targetResource": { + "description": "Filter by target resource( which is full ARM ID) Default value is select all.", + "name": "targetResource", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "targetResourceType": { + "description": "Filter by target resource type. Default value is select all.", + "name": "targetResourceType", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "monitorService": { + "description": "Filter by monitor service which generates the alert instance. Default value is select all.", + "name": "monitorService", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Application Insights", + "ActivityLog Administrative", + "ActivityLog Security", + "ActivityLog Recommendation", + "ActivityLog Policy", + "ActivityLog Autoscale", + "Log Analytics", + "Nagios", + "Platform", + "SCOM", + "ServiceHealth", + "SmartDetector", + "VM Insights", + "Zabbix" + ], + "x-ms-enum": { + "name": "MonitorService", + "modelAsString": true + } + }, + "severity": { + "description": "Filter by severity. Default value is select all.", + "name": "severity", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "description": { + "description": "filter by alert rule description", + "name": "description", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "alertRuleId": { + "description": "filter by alert rule id", + "name": "alertRuleId", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "actionGroup": { + "description": "filter by action group configured as part of action rule", + "name": "actionGroup", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "actionRuleName": { + "description": "filter by action rule name", + "name": "name", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "impactedScope": { + "description": "filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.", + "name": "impactedScope", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "errorResponse": { + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "#/definitions/errorResponseBody" + } + } + }, + "errorResponseBody": { + "description": "Details of error response.", + "properties": { + "code": { + "type": "string", + "description": "Error code, intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "Description of the error, intended for display in user interface." + }, + "target": { + "type": "string", + "description": "Target of the particular error, for example name of the property." + }, + "details": { + "type": "array", + "description": "A list of additional details about the error.", + "items": { + "$ref": "#/definitions/errorResponseBody" + } + } + } + }, + "Resource": { + "x-ms-azure-resource": true, + "description": "An azure resource object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" + } + } + }, + "ManagedResource": { + "description": "An azure managed resource object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ] + }, + "Scope": { + "type": "object", + "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.", + "properties": { + "scopeType": { + "type": "string", + "description": "type of target scope", + "enum": [ + "ResourceGroup", + "Resource", + "Subscription" + ], + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + "values": { + "type": "array", + "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.", + "items": { + "type": "string" + } + } + } + }, + "Condition": { + "type": "object", + "description": "condition to trigger an action rule", + "properties": { + "operator": { + "type": "string", + "description": "operator for a given condition", + "enum": [ + "Equals", + "NotEquals", + "Contains", + "DoesNotContain" + ], + "x-ms-enum": { + "name": "Operator", + "modelAsString": true + } + }, + "values": { + "type": "array", + "description": "list of values to match for a given condition.", + "items": { + "type": "string" + } + } + } + }, + "Conditions": { + "type": "object", + "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.", + "properties": { + "severity": { + "description": "filter alerts by severity", + "$ref": "#/definitions/Condition" + }, + "monitorService": { + "description": "filter alerts by monitor service", + "$ref": "#/definitions/Condition" + }, + "monitorCondition": { + "description": "filter alerts by monitor condition", + "$ref": "#/definitions/Condition" + }, + "targetResourceType": { + "description": "filter alerts by target resource type", + "$ref": "#/definitions/Condition" + }, + "alertRuleId": { + "description": "filter alerts by alert rule id", + "$ref": "#/definitions/Condition" + }, + "description": { + "description": "filter alerts by alert rule description", + "$ref": "#/definitions/Condition" + }, + "alertContext": { + "description": "filter alerts by alert context (payload)", + "$ref": "#/definitions/Condition" + } + } + }, + "SuppressionConfig": { + "type": "object", + "description": "Suppression logic for a given action rule", + "required": [ + "recurrenceType" + ], + "properties": { + "recurrenceType": { + "type": "string", + "description": "Specifies when the suppression should be applied", + "enum": [ + "Always", + "Once", + "Daily", + "Weekly", + "Monthly" + ], + "x-ms-enum": { + "name": "SuppressionType", + "modelAsString": true + } + }, + "schedule": { + "description": "suppression schedule configuration", + "$ref": "#/definitions/SuppressionSchedule" + } + } + }, + "SuppressionSchedule": { + "type": "object", + "description": "Schedule for a given suppression configuration.", + "properties": { + "startDate": { + "type": "string", + "description": "Start date for suppression" + }, + "endDate": { + "type": "string", + "description": "End date for suppression" + }, + "startTime": { + "type": "string", + "description": "Start time for suppression" + }, + "endTime": { + "type": "string", + "description": "End date for suppression" + }, + "recurrenceValues": { + "type": "array", + "description": "Specifies the values for recurrence pattern", + "items": { + "type": "integer" + } + } + } + }, + "ActionRule": { + "description": "Action rule object containing target scope, conditions and suppression logic", + "allOf": [ + { + "$ref": "#/definitions/ManagedResource" + } + ], + "properties": { + "properties": { + "description": "action rule properties", + "$ref": "#/definitions/ActionRuleProperties" + } + } + }, + "ActionRuleProperties": { + "description": "Action rule properties defining scope, conditions, suppression logic for action rule", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "scope": { + "description": "scope on which action rule will apply", + "$ref": "#/definitions/Scope" + }, + "conditions": { + "description": "conditions on which alerts will be filtered", + "$ref": "#/definitions/Conditions" + }, + "description": { + "type": "string", + "description": "Description of action rule" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "Creation time of action rule. Date-Time in ISO-8601 format.", + "readOnly": true + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "Last updated time of action rule. Date-Time in ISO-8601 format.", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "Created by user name.", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "Last modified by user name.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "Indicates if the given action rule is enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ActionRuleStatus", + "modelAsString": true + } + }, + "type": { + "type": "string", + "description": "Indicates type of action rule", + "enum": [ + "Suppression", + "ActionGroup", + "Diagnostics" + ], + "x-ms-enum": { + "name": "ActionRuleType", + "modelAsString": true + } + } + } + }, + "Suppression": { + "title": "Suppression based Action Rule", + "description": "Action rule with suppression configuration", + "required": [ + "suppressionConfig" + ], + "allOf": [ + { + "$ref": "#/definitions/ActionRuleProperties" + }, + { + "type": "object" + } + ], + "properties": { + "suppressionConfig": { + "description": "suppression configuration for the action rule", + "$ref": "#/definitions/SuppressionConfig" + } + } + }, + "ActionGroup": { + "title": "Action Group based Action Rule", + "description": "Action rule with action group configuration", + "required": [ + "actionGroupId" + ], + "allOf": [ + { + "$ref": "#/definitions/ActionRuleProperties" + }, + { + "type": "object" + } + ], + "properties": { + "actionGroupId": { + "type": "string", + "description": "Action group to trigger if action rule matches" + } + } + }, + "Diagnostics": { + "title": "Diagnostics based Action Rule", + "description": "Action rule with diagnostics configuration", + "allOf": [ + { + "$ref": "#/definitions/ActionRuleProperties" + }, + { + "type": "object" + } + ] + }, + "ActionRulesList": { + "description": "List of action rules", + "properties": { + "nextLink": { + "type": "string", + "description": "URL to fetch the next set of action rules" + }, + "value": { + "type": "array", + "description": "List of action rules", + "items": { + "$ref": "#/definitions/ActionRule" + } + } + } + }, + "PatchProperties": { + "description": "Action rule properties supported by patch", + "properties": { + "status": { + "type": "string", + "description": "Indicates if the given action rule is enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ActionRuleStatus", + "modelAsString": true + } + } + } + }, + "PatchObject": { + "description": "Data contract for patch", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "properties supported by patch operation", + "$ref": "#/definitions/PatchProperties" + }, + "tags": { + "type": "object", + "description": "tags to be updated" + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json index 750d45a37d73..8ae19f29a9e5 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json @@ -355,1456 +355,420 @@ } } } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": { - "get": { - "operationId": "SmartGroups_GetAll", - "summary": "Get all Smart Groups within a specified subscription", - "description": "List all the Smart Groups within a specified subscription. ", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/targetResource" - }, - { - "$ref": "#/parameters/targetResourceGroup" - }, - { - "$ref": "#/parameters/targetResourceType" - }, - { - "$ref": "#/parameters/monitorService" - }, - { - "$ref": "#/parameters/monitorCondition" - }, - { - "$ref": "#/parameters/severity" - }, - { - "$ref": "#/parameters/smartGroupState" - }, - { - "$ref": "#/parameters/timeRange" - }, - { - "$ref": "#/parameters/pageCount" - }, - { - "$ref": "#/parameters/smartGroupsSortBy" - }, - { - "$ref": "#/parameters/sortOrder" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK. Returns list of all smartGroups.", - "schema": { - "$ref": "#/definitions/smartGroupsList", - "description": "List of smart groups in value property." - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List": { - "$ref": "./examples/SmartGroups_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": { - "get": { - "operationId": "SmartGroups_GetById", - "summary": "Get information related to a specific Smart Group.", - "description": "Get information related to a specific Smart Group.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the group with the specified smart group Id.", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/smartGroup" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "Get": { - "$ref": "./examples/SmartGroups_GetById.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": { - "post": { - "operationId": "SmartGroups_ChangeState", - "description": "Change the state of a Smart Group.", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/newState" - } - ], - "responses": { - "200": { - "description": "OK. Smart Group state updated.", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/smartGroup" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "changestate": { - "$ref": "./examples/SmartGroups_ChangeState.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": { - "get": { - "operationId": "SmartGroups_GetHistory", - "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/smartGroupId" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the list of changes of smart group.", - "schema": { - "$ref": "#/definitions/smartGroupModification" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "Resolve": { - "$ref": "./examples/SmartGroups_History.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": { - "get": { - "summary": "Get all action rule in a given subscription", - "description": "List all action rules of the subscription and given input filters", - "operationId": "ActionRules_ListBySubscription", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/targetResourceGroup" - }, - { - "$ref": "#/parameters/targetResourceType" - }, - { - "$ref": "#/parameters/targetResource" - }, - { - "$ref": "#/parameters/severity" - }, - { - "$ref": "#/parameters/monitorService" - }, - { - "$ref": "#/parameters/impactedScope" - }, - { - "$ref": "#/parameters/description" - }, - { - "$ref": "#/parameters/alertRuleId" - }, - { - "$ref": "#/parameters/actionGroup" - }, - { - "$ref": "#/parameters/actionRuleName" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Return the list of action rules", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRulesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetActionRulesSubscriptionWide": { - "$ref": "./examples/ActionRules_List_Subscription.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": { - "get": { - "summary": "Get all action rules created in a resource group", - "operationId": "ActionRules_ListByResourceGroup", - "description": "List all action rules of the subscription, created in given resource group and given input filters", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/targetResourceGroup" - }, - { - "$ref": "#/parameters/targetResourceType" - }, - { - "$ref": "#/parameters/targetResource" - }, - { - "$ref": "#/parameters/severity" - }, - { - "$ref": "#/parameters/monitorService" - }, - { - "$ref": "#/parameters/impactedScope" - }, - { - "$ref": "#/parameters/description" - }, - { - "$ref": "#/parameters/alertRuleId" - }, - { - "$ref": "#/parameters/actionGroup" - }, - { - "$ref": "#/parameters/actionRuleName" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Return the list of action rules", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRulesList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetActionRulesResourceGroupWide": { - "$ref": "./examples/ActionRules_List_ResourceGroup.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": { - "get": { - "summary": "Get action rule by name", - "operationId": "ActionRules_GetByName", - "description": "Get a specific action rule", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name of action rule that needs to be fetched", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the specific action rule", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "GetActionRuleById": { - "$ref": "./examples/ActionRules_GetById.json" - } - } - }, - "put": { - "summary": "Create/update an action rule", - "operationId": "ActionRules_CreateUpdate", - "description": "Creates/Updates a specific action rule", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name of action rule that needs to be created/updated", - "required": true, - "type": "string" - }, - { - "name": "actionRule", - "in": "body", - "description": "action rule to be created/updated", - "required": true, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the created/updated action rule", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "PutActionRule": { - "$ref": "./examples/ActionRules_Create_SuppressionRule.json" - } - } - }, - "delete": { - "summary": "Delete action rule", - "description": "Deletes a given action rule", - "operationId": "ActionRules_Delete", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name that needs to be deleted", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns true if deleted successfully", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "type": "boolean" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "DeleteActionRule": { - "$ref": "./examples/ActionRules_Delete.json" - } - } - }, - "patch": { - "summary": "Patch action rule", - "description": "Update enabled flag and/or tags for the given action rule", - "operationId": "ActionRules_Update", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "actionRuleName", - "in": "path", - "description": "The name that needs to be updated", - "required": true, - "type": "string" - }, - { - "name": "actionRulePatch", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PatchObject" - }, - "description": "Parameters supplied to the operation." - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK. Returns the created/updated action rule", - "headers": { - "x-ms-request-id": { - "type": "string", - "description": "Service generated Request ID." - } - }, - "schema": { - "$ref": "#/definitions/ActionRule" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/errorResponse" - } - } - }, - "x-ms-examples": { - "PatchActionRule": { - "$ref": "./examples/ActionRules_Patch.json" - } - } - } - } - }, - "parameters": { - "subscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The ID of the target subscription.", - "minLength": 1 - }, - "resourceGroupName": { - "name": "resourceGroupName", - "description": "Resource group name where the resource is created.", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "api-version": { - "name": "api-version", - "description": "client API version", - "type": "string", - "in": "query", - "required": true, - "enum": [ - "2019-05-05-preview" - ], - "x-ms-enum": { - "name": "api-version", - "modelAsString": true - } - }, - "alertId": { - "name": "alertId", - "description": "Unique ID of an alert instance.", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "targetResourceGroup": { - "description": "Filter by target resource group name. Default value is select all.", - "name": "targetResourceGroup", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "targetResource": { - "description": "Filter by target resource( which is full ARM ID) Default value is select all.", - "name": "targetResource", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "targetResourceType": { - "description": "Filter by target resource type. Default value is select all.", - "name": "targetResourceType", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "monitorService": { - "description": "Filter by monitor service which generates the alert instance. Default value is select all.", - "name": "monitorService", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "Application Insights", - "ActivityLog Administrative", - "ActivityLog Security", - "ActivityLog Recommendation", - "ActivityLog Policy", - "ActivityLog Autoscale", - "Log Analytics", - "Nagios", - "Platform", - "SCOM", - "ServiceHealth", - "SmartDetector", - "VM Insights", - "Zabbix" - ], - "x-ms-enum": { - "name": "MonitorService", - "modelAsString": true - } - }, - "severity": { - "description": "Filter by severity. Default value is select all.", - "name": "severity", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "Sev0", - "Sev1", - "Sev2", - "Sev3", - "Sev4" - ], - "x-ms-enum": { - "name": "Severity", - "modelAsString": true - } - }, - "smartGroupIdFilter": { - "description": "Filter the alerts list by the Smart Group Id. Default value is none.", - "name": "smartGroupId", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "smartGroupId": { - "description": "Smart group unique id. ", - "name": "smartGroupId", - "type": "string", - "in": "path", - "required": true, - "x-ms-parameter-location": "method" - }, - "newState": { - "description": "New state of the alert.", - "name": "newState", - "type": "string", - "in": "query", - "required": true, - "x-ms-parameter-location": "method", - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "AlertState", - "modelAsString": true - } - }, - "alertState": { - "description": "Filter by state of the alert instance. Default value is to select all.", - "name": "alertState", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "AlertState", - "modelAsString": true - } - }, - "smartGroupState": { - "description": "Filter by state of the smart group. Default value is to select all.", - "name": "smartGroupState", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "AlertState", - "modelAsString": true - } - }, - "monitorCondition": { - "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.", - "name": "monitorCondition", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "Fired", - "Resolved" - ], - "x-ms-enum": { - "name": "MonitorCondition", - "modelAsString": true - } - }, - "alertRule": { - "description": "Filter by specific alert rule. Default value is to select all.", - "name": "alertRule", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "timeRange": { - "description": "Filter by time range by below listed values. Default value is 1 day.", - "name": "timeRange", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "1h", - "1d", - "7d", - "30d" - ], - "x-ms-enum": { - "name": "TimeRange", - "modelAsString": true - } - }, - "customTimeRange": { - "description": "Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.", - "name": "customTimeRange", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "includeContext": { - "description": "Include context which has contextual data specific to the monitor service. Default value is false'", - "name": "includeContext", - "type": "boolean", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "includeEgressConfig": { - "description": "Include egress config which would be used for displaying the content in portal. Default value is 'false'.", - "name": "includeEgressConfig", - "type": "boolean", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "includeSmartGroupsCount": { - "description": "Include count of the SmartGroups as part of the summary. Default value is 'false'.", - "name": "includeSmartGroupsCount", - "type": "boolean", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "pageCount": { - "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.", - "name": "pageCount", - "type": "integer", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "alertsSortBy": { - "description": "Sort the query results by input field, Default value is 'lastModifiedDateTime'.", - "name": "sortBy", + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "name", - "severity", - "alertState", - "monitorCondition", - "targetResource", - "targetResourceName", - "targetResourceGroup", - "targetResourceType", - "startDateTime", - "lastModifiedDateTime" - ], - "x-ms-enum": { - "name": "AlertsSortByFields", - "modelAsString": true - } + "description": "The ID of the target subscription.", + "minLength": 1 }, - "alertsSummaryGroupBy": { - "description": "This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.", - "name": "groupby", + "api-version": { + "name": "api-version", + "description": "client API version", "type": "string", "in": "query", "required": true, - "x-ms-parameter-location": "method", - "enum": [ - "severity", - "alertState", - "monitorCondition", - "monitorService", - "signalType", - "alertRule" - ], - "x-ms-enum": { - "name": "AlertsSummaryGroupByFields", - "modelAsString": true - } - }, - "smartGroupsSortBy": { - "description": "Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.", - "name": "sortBy", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", "enum": [ - "alertsCount", - "state", - "severity", - "startDateTime", - "lastModifiedDateTime" + "2019-05-05-preview" ], "x-ms-enum": { - "name": "SmartGroupsSortByFields", + "name": "api-version", "modelAsString": true } }, - "sortOrder": { - "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.", - "name": "sortOrder", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method", - "enum": [ - "asc", - "desc" - ] - }, - "select": { - "description": "This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.", - "name": "select", - "type": "string", - "in": "query", - "required": false, - "x-ms-parameter-location": "method" - }, - "description": { - "description": "filter by alert rule description", - "name": "description", + "alertId": { + "name": "alertId", + "description": "Unique ID of an alert instance.", "type": "string", - "in": "query", - "required": false, + "in": "path", + "required": true, "x-ms-parameter-location": "method" }, - "alertRuleId": { - "description": "filter by alert rule id", - "name": "alertRuleId", + "targetResourceGroup": { + "description": "Filter by target resource group name. Default value is select all.", + "name": "targetResourceGroup", "type": "string", "in": "query", "required": false, "x-ms-parameter-location": "method" }, - "actionGroup": { - "description": "filter by action group configured as part of action rule", - "name": "actionGroup", + "targetResource": { + "description": "Filter by target resource( which is full ARM ID) Default value is select all.", + "name": "targetResource", "type": "string", "in": "query", "required": false, "x-ms-parameter-location": "method" }, - "actionRuleName": { - "description": "filter by action rule name", - "name": "name", + "targetResourceType": { + "description": "Filter by target resource type. Default value is select all.", + "name": "targetResourceType", "type": "string", "in": "query", "required": false, "x-ms-parameter-location": "method" }, - "impactedScope": { - "description": "filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.", - "name": "impactedScope", + "monitorService": { + "description": "Filter by monitor service which generates the alert instance. Default value is select all.", + "name": "monitorService", "type": "string", "in": "query", "required": false, - "x-ms-parameter-location": "method" - }, - "identifier": { - "name": "identifier", - "description": "Identification of the information to be retrieved by API call.", - "type": "string", - "in": "query", - "required": true, + "x-ms-parameter-location": "method", "enum": [ - "MonitorServiceList" - ], - "x-ms-enum": { - "name": "identifier", - "modelAsString": true - }, - "x-ms-parameter-location": "method" - } - }, - "definitions": { - "operation": { - "description": "Operation provided by provider", - "properties": { - "name": { - "type": "string", - "description": "Name of the operation" - }, - "display": { - "type": "object", - "description": "Properties of the operation", - "properties": { - "provider": { - "type": "string", - "description": "Provider name" - }, - "resource": { - "type": "string", - "description": "Resource name" - }, - "operation": { - "type": "string", - "description": "Operation name" - }, - "description": { - "type": "string", - "description": "Description of the operation" - } - } - } - } - }, - "operationsList": { - "description": "Lists the operations available in the AlertsManagement RP.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of alerts.", - "type": "string" - }, - "value": { - "description": "Array of operations", - "type": "array", - "items": { - "$ref": "#/definitions/operation" - } - } - }, - "required": [ - "value" - ] - }, - "errorResponse": { - "description": "An error response from the service.", - "properties": { - "error": { - "$ref": "#/definitions/errorResponseBody" - } - } - }, - "errorResponseBody": { - "description": "Details of error response.", - "properties": { - "code": { - "type": "string", - "description": "Error code, intended to be consumed programmatically." - }, - "message": { - "type": "string", - "description": "Description of the error, intended for display in user interface." - }, - "target": { - "type": "string", - "description": "Target of the particular error, for example name of the property." - }, - "details": { - "type": "array", - "description": "A list of additional details about the error.", - "items": { - "$ref": "#/definitions/errorResponseBody" - } - } - } - }, - "Resource": { - "x-ms-azure-resource": true, - "description": "An azure resource object", - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Azure resource Id" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Azure resource type" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Azure resource name" - } - } - }, - "ManagedResource": { - "description": "An azure managed resource object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "location": { - "type": "string", - "description": "Resource location", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "required": [ - "location" - ] - }, - "alert": { - "description": "An alert created in alert management service.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "Application Insights", + "ActivityLog Administrative", + "ActivityLog Security", + "ActivityLog Recommendation", + "ActivityLog Policy", + "ActivityLog Autoscale", + "Log Analytics", + "Nagios", + "Platform", + "SCOM", + "ServiceHealth", + "SmartDetector", + "VM Insights", + "Zabbix" ], - "properties": { - "properties": { - "$ref": "#/definitions/alertProperties" - } + "x-ms-enum": { + "name": "MonitorService", + "modelAsString": true } }, - "alertsList": { - "description": "List the alerts.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of alerts.", - "type": "string" - }, - "value": { - "description": "List of alerts", - "type": "array", - "items": { - "$ref": "#/definitions/alert" - } - } + "severity": { + "description": "Filter by severity. Default value is select all.", + "name": "severity", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true } }, - "alertProperties": { - "type": "object", - "description": "Alert property bag", - "properties": { - "essentials": { - "$ref": "#/definitions/essentials" - }, - "context": { - "$ref": "#/definitions/alertContext" - }, - "egressConfig": { - "$ref": "#/definitions/egressConfig" - } - } + "smartGroupIdFilter": { + "description": "Filter the alerts list by the Smart Group Id. Default value is none.", + "name": "smartGroupId", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" }, - "egressConfig": { - "type": "object", - "description": "Config which would be used for displaying the data in portal.", - "readOnly": true + "newState": { + "description": "New state of the alert.", + "name": "newState", + "type": "string", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true + } }, - "alertContext": { - "type": "object", - "description": "Information specific to the monitor service that gives more contextual details about the alert.", - "readOnly": true + "alertState": { + "description": "Filter by state of the alert instance. Default value is to select all.", + "name": "alertState", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true + } }, - "essentials": { - "type": "object", - "description": "This object contains consistent fields across different monitor services.", - "properties": { - "severity": { - "type": "string", - "description": "Severity of alert Sev0 being highest and Sev4 being lowest.", - "readOnly": true, - "enum": [ - "Sev0", - "Sev1", - "Sev2", - "Sev3", - "Sev4" - ], - "x-ms-enum": { - "name": "Severity", - "modelAsString": true - } - }, - "signalType": { - "type": "string", - "description": "The type of signal the alert is based on, which could be metrics, logs or activity logs.", - "readOnly": true, - "enum": [ - "Metric", - "Log", - "Unknown" - ], - "x-ms-enum": { - "name": "SignalType", - "modelAsString": true - } - }, - "alertState": { - "type": "string", - "description": "Alert object state, which can be modified by the user.", - "readOnly": true, - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "AlertState", - "modelAsString": true - } - }, - "monitorCondition": { - "type": "string", - "description": "Condition of the rule at the monitor service. It represents whether the underlying conditions have crossed the defined alert rule thresholds.", - "readOnly": true, - "enum": [ - "Fired", - "Resolved" - ], - "x-ms-enum": { - "name": "MonitorCondition", - "modelAsString": true - } - }, - "targetResource": { - "type": "string", - "description": "Target ARM resource, on which alert got created." - }, - "targetResourceName": { - "type": "string", - "description": "Name of the target ARM resource name, on which alert got created." - }, - "targetResourceGroup": { - "type": "string", - "description": "Resource group of target ARM resource, on which alert got created." - }, - "targetResourceType": { - "type": "string", - "description": "Resource type of target ARM resource, on which alert got created." - }, - "monitorService": { - "type": "string", - "description": "Monitor service on which the rule(monitor) is set.", - "readOnly": true, - "enum": [ - "Application Insights", - "ActivityLog Administrative", - "ActivityLog Security", - "ActivityLog Recommendation", - "ActivityLog Policy", - "ActivityLog Autoscale", - "Log Analytics", - "Nagios", - "Platform", - "SCOM", - "ServiceHealth", - "SmartDetector", - "VM Insights", - "Zabbix" - ], - "x-ms-enum": { - "name": "MonitorService", - "modelAsString": true - } - }, - "alertRule": { - "type": "string", - "description": "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule.", - "readOnly": true - }, - "sourceCreatedId": { - "type": "string", - "description": "Unique Id created by monitor service for each alert instance. This could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc.", - "readOnly": true - }, - "smartGroupId": { - "type": "string", - "description": "Unique Id of the smart group", - "readOnly": true - }, - "smartGroupingReason": { - "type": "string", - "description": "Verbose reason describing the reason why this alert instance is added to a smart group", - "readOnly": true - }, - "startDateTime": { - "type": "string", - "format": "date-time", - "description": "Creation time(ISO-8601 format) of alert instance.", - "readOnly": true - }, - "lastModifiedDateTime": { - "type": "string", - "format": "date-time", - "description": "Last modification time(ISO-8601 format) of alert instance.", - "readOnly": true - }, - "monitorConditionResolvedDateTime": { - "type": "string", - "format": "date-time", - "description": "Resolved time(ISO-8601 format) of alert instance. This will be updated when monitor service resolves the alert instance because the rule condition is no longer met.", - "readOnly": true - }, - "lastModifiedUserName": { - "type": "string", - "description": "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user.", - "readOnly": true - } + "monitorCondition": { + "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.", + "name": "monitorCondition", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Fired", + "Resolved" + ], + "x-ms-enum": { + "name": "MonitorCondition", + "modelAsString": true } }, - "alertModification": { - "description": "Alert Modification details", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "alertRule": { + "description": "Filter by specific alert rule. Default value is to select all.", + "name": "alertRule", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "timeRange": { + "description": "Filter by time range by below listed values. Default value is 1 day.", + "name": "timeRange", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "1h", + "1d", + "7d", + "30d" ], - "properties": { - "properties": { - "$ref": "#/definitions/alertModificationProperties" - } + "x-ms-enum": { + "name": "TimeRange", + "modelAsString": true } }, - "alertModificationProperties": { - "type": "object", - "description": "Properties of the alert modification item.", + "customTimeRange": { + "description": "Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.", + "name": "customTimeRange", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "includeContext": { + "description": "Include context which has contextual data specific to the monitor service. Default value is false'", + "name": "includeContext", + "type": "boolean", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "includeEgressConfig": { + "description": "Include egress config which would be used for displaying the content in portal. Default value is 'false'.", + "name": "includeEgressConfig", + "type": "boolean", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "includeSmartGroupsCount": { + "description": "Include count of the SmartGroups as part of the summary. Default value is 'false'.", + "name": "includeSmartGroupsCount", + "type": "boolean", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "pageCount": { + "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.", + "name": "pageCount", + "type": "integer", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "alertsSortBy": { + "description": "Sort the query results by input field, Default value is 'lastModifiedDateTime'.", + "name": "sortBy", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "name", + "severity", + "alertState", + "monitorCondition", + "targetResource", + "targetResourceName", + "targetResourceGroup", + "targetResourceType", + "startDateTime", + "lastModifiedDateTime" + ], + "x-ms-enum": { + "name": "AlertsSortByFields", + "modelAsString": true + } + }, + "alertsSummaryGroupBy": { + "description": "This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.", + "name": "groupby", + "type": "string", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "enum": [ + "severity", + "alertState", + "monitorCondition", + "monitorService", + "signalType", + "alertRule" + ], + "x-ms-enum": { + "name": "AlertsSummaryGroupByFields", + "modelAsString": true + } + }, + "sortOrder": { + "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.", + "name": "sortOrder", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "asc", + "desc" + ] + }, + "select": { + "description": "This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.", + "name": "select", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "identifier": { + "name": "identifier", + "description": "Identification of the information to be retrieved by API call.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "MonitorServiceList" + ], + "x-ms-enum": { + "name": "identifier", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "operation": { + "description": "Operation provided by provider", "properties": { - "alertId": { + "name": { "type": "string", - "description": "Unique Id of the alert for which the history is being retrieved", - "readOnly": true + "description": "Name of the operation" }, - "modifications": { - "type": "array", - "description": "Modification details", - "items": { - "$ref": "#/definitions/alertModificationItem" + "display": { + "type": "object", + "description": "Properties of the operation", + "properties": { + "provider": { + "type": "string", + "description": "Provider name" + }, + "resource": { + "type": "string", + "description": "Resource name" + }, + "operation": { + "type": "string", + "description": "Operation name" + }, + "description": { + "type": "string", + "description": "Description of the operation" + } } } } }, - "alertModificationItem": { - "description": "Alert modification item.", + "operationsList": { + "description": "Lists the operations available in the AlertsManagement RP.", "properties": { - "modificationEvent": { - "type": "string", - "description": "Reason for the modification", - "enum": [ - "AlertCreated", - "StateChange", - "MonitorConditionChange", - "SeverityChange", - "ActionRuleTriggered", - "ActionRuleSuppressed", - "ActionsTriggered", - "ActionsSuppressed", - "ActionsFailed" - ], - "x-ms-enum": { - "name": "AlertModificationEvent" - } - }, - "oldValue": { - "type": "string", - "description": "Old value" - }, - "newValue": { - "type": "string", - "description": "New value" - }, - "modifiedAt": { - "type": "string", - "description": "Modified date and time" - }, - "modifiedBy": { - "type": "string", - "description": "Modified user details (Principal client name)" - }, - "comments": { - "type": "string", - "description": "Modification comments" + "nextLink": { + "description": "URL to fetch the next set of alerts.", + "type": "string" }, - "description": { - "type": "string", - "description": "Description of the modification" - } - } - }, - "smartGroupModification": { - "description": "Alert Modification details", - "allOf": [ - { - "$ref": "#/definitions/Resource" + "value": { + "description": "Array of operations", + "type": "array", + "items": { + "$ref": "#/definitions/operation" + } } - ], + }, + "required": [ + "value" + ] + }, + "errorResponse": { + "description": "An error response from the service.", "properties": { - "properties": { - "$ref": "#/definitions/smartGroupModificationProperties" + "error": { + "$ref": "#/definitions/errorResponseBody" } } }, - "smartGroupModificationProperties": { - "description": "Properties of the smartGroup modification item.", + "errorResponseBody": { + "description": "Details of error response.", "properties": { - "smartGroupId": { + "code": { "type": "string", - "description": "Unique Id of the smartGroup for which the history is being retrieved", - "readOnly": true + "description": "Error code, intended to be consumed programmatically." }, - "modifications": { + "message": { + "type": "string", + "description": "Description of the error, intended for display in user interface." + }, + "target": { + "type": "string", + "description": "Target of the particular error, for example name of the property." + }, + "details": { "type": "array", - "description": "Modification details", + "description": "A list of additional details about the error.", "items": { - "$ref": "#/definitions/smartGroupModificationItem" + "$ref": "#/definitions/errorResponseBody" } - }, - "nextLink": { - "description": "URL to fetch the next set of results.", - "type": "string" } } }, - "smartGroupModificationItem": { - "description": "smartGroup modification item.", + "Resource": { + "x-ms-azure-resource": true, + "description": "An azure resource object", "properties": { - "modificationEvent": { - "type": "string", - "description": "Reason for the modification", - "enum": [ - "SmartGroupCreated", - "StateChange", - "AlertAdded", - "AlertRemoved" - ], - "x-ms-enum": { - "name": "SmartGroupModificationEvent" - } - }, - "oldValue": { - "type": "string", - "description": "Old value" - }, - "newValue": { - "type": "string", - "description": "New value" - }, - "modifiedAt": { - "type": "string", - "description": "Modified date and time" - }, - "modifiedBy": { + "id": { "type": "string", - "description": "Modified user details (Principal client name)" + "readOnly": true, + "description": "Azure resource Id" }, - "comments": { + "type": { "type": "string", - "description": "Modification comments" + "readOnly": true, + "description": "Azure resource type" }, - "description": { + "name": { "type": "string", - "description": "Description of the modification" + "readOnly": true, + "description": "Azure resource name" } } }, - "alertsSummary": { - "description": "Summary of alerts based on the input filters and 'groupby' parameters.", + "alert": { + "description": "An alert created in alert management service.", "allOf": [ { "$ref": "#/definitions/Resource" @@ -1812,61 +776,11 @@ ], "properties": { "properties": { - "$ref": "#/definitions/alertsSummaryGroup" - } - } - }, - "alertsSummaryGroup": { - "type": "object", - "description": "Group the result set.", - "properties": { - "total": { - "type": "integer", - "description": "Total count of the result set." - }, - "smartGroupsCount": { - "type": "integer", - "description": "Total count of the smart groups." - }, - "groupedby": { - "type": "string", - "description": "Name of the field aggregated" - }, - "values": { - "type": "array", - "description": "List of the items", - "items": { - "$ref": "#/definitions/alertsSummaryGroupItem" - } - } - } - }, - "alertsSummaryGroupItem": { - "type": "object", - "description": "Alerts summary group item", - "properties": { - "name": { - "type": "string", - "description": "Value of the aggregated field" - }, - "count": { - "type": "integer", - "description": "Count of the aggregated field" - }, - "groupedby": { - "type": "string", - "description": "Name of the field aggregated" - }, - "values": { - "type": "array", - "description": "List of the items", - "items": { - "$ref": "#/definitions/alertsSummaryGroupItem" - } + "$ref": "#/definitions/alertProperties" } } }, - "smartGroupsList": { + "alertsList": { "description": "List the alerts.", "properties": { "nextLink": { @@ -1877,50 +791,43 @@ "description": "List of alerts", "type": "array", "items": { - "$ref": "#/definitions/smartGroup" + "$ref": "#/definitions/alert" } } } }, - "smartGroup": { - "description": "Set of related alerts grouped together smartly by AMS.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], + "alertProperties": { + "type": "object", + "description": "Alert property bag", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/smartGroupProperties" + "essentials": { + "$ref": "#/definitions/essentials" + }, + "context": { + "$ref": "#/definitions/alertContext" + }, + "egressConfig": { + "$ref": "#/definitions/egressConfig" } } }, - "smartGroupProperties": { + "egressConfig": { + "type": "object", + "description": "Config which would be used for displaying the data in portal.", + "readOnly": true + }, + "alertContext": { + "type": "object", + "description": "Information specific to the monitor service that gives more contextual details about the alert.", + "readOnly": true + }, + "essentials": { "type": "object", - "description": "Properties of smart group.", + "description": "This object contains consistent fields across different monitor services.", "properties": { - "alertsCount": { - "type": "integer", - "description": "Total number of alerts in smart group" - }, - "smartGroupState": { - "type": "string", - "description": "Smart group state", - "readOnly": true, - "enum": [ - "New", - "Acknowledged", - "Closed" - ], - "x-ms-enum": { - "name": "State", - "modelAsString": true - } - }, "severity": { "type": "string", - "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.", + "description": "Severity of alert Sev0 being highest and Sev4 being lowest.", "readOnly": true, "enum": [ "Sev0", @@ -1934,416 +841,271 @@ "modelAsString": true } }, - "startDateTime": { - "type": "string", - "format": "date-time", - "description": "Creation time of smart group. Date-Time in ISO-8601 format.", - "readOnly": true - }, - "lastModifiedDateTime": { - "type": "string", - "format": "date-time", - "description": "Last updated time of smart group. Date-Time in ISO-8601 format.", - "readOnly": true - }, - "lastModifiedUserName": { - "type": "string", - "description": "Last modified by user name.", - "readOnly": true - }, - "resources": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of target resources in the smart group" - }, - "resourceTypes": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of target resource types in the smart group" - }, - "resourceGroups": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of target resource groups in the smart group" - }, - "monitorServices": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of monitorServices in the smart group" - }, - "monitorConditions": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of monitorConditions in the smart group" - }, - "alertStates": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of alertStates in the smart group" - }, - "alertSeverities": { - "items": { - "$ref": "#/definitions/smartGroupAggregatedProperty" - }, - "type": "array", - "description": "Summary of alertSeverities in the smart group" - }, - "nextLink": { - "type": "string", - "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts." - } - } - }, - "smartGroupAggregatedProperty": { - "type": "object", - "description": "Aggregated property of each type", - "properties": { - "name": { - "type": "string", - "description": "Name of the type." - }, - "count": { - "type": "integer", - "description": "Total number of items of type." - } - } - }, - "Scope": { - "type": "object", - "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.", - "properties": { - "scopeType": { + "signalType": { "type": "string", - "description": "type of target scope", + "description": "The type of signal the alert is based on, which could be metrics, logs or activity logs.", + "readOnly": true, "enum": [ - "ResourceGroup", - "Resource", - "Subscription" + "Metric", + "Log", + "Unknown" ], "x-ms-enum": { - "name": "ScopeType", + "name": "SignalType", "modelAsString": true } }, - "values": { - "type": "array", - "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.", - "items": { - "type": "string" + "alertState": { + "type": "string", + "description": "Alert object state, which can be modified by the user.", + "readOnly": true, + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true } - } - } - }, - "Condition": { - "type": "object", - "description": "condition to trigger an action rule", - "properties": { - "operator": { + }, + "monitorCondition": { "type": "string", - "description": "operator for a given condition", + "description": "Condition of the rule at the monitor service. It represents whether the underlying conditions have crossed the defined alert rule thresholds.", + "readOnly": true, "enum": [ - "Equals", - "NotEquals", - "Contains", - "DoesNotContain" + "Fired", + "Resolved" ], "x-ms-enum": { - "name": "Operator", + "name": "MonitorCondition", "modelAsString": true } }, - "values": { - "type": "array", - "description": "list of values to match for a given condition.", - "items": { - "type": "string" - } - } - } - }, - "Conditions": { - "type": "object", - "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.", - "properties": { - "severity": { - "description": "filter alerts by severity", - "$ref": "#/definitions/Condition" + "targetResource": { + "type": "string", + "description": "Target ARM resource, on which alert got created." }, - "monitorService": { - "description": "filter alerts by monitor service", - "$ref": "#/definitions/Condition" + "targetResourceName": { + "type": "string", + "description": "Name of the target ARM resource name, on which alert got created." }, - "monitorCondition": { - "description": "filter alerts by monitor condition", - "$ref": "#/definitions/Condition" + "targetResourceGroup": { + "type": "string", + "description": "Resource group of target ARM resource, on which alert got created." }, "targetResourceType": { - "description": "filter alerts by target resource type", - "$ref": "#/definitions/Condition" - }, - "alertRuleId": { - "description": "filter alerts by alert rule id", - "$ref": "#/definitions/Condition" - }, - "description": { - "description": "filter alerts by alert rule description", - "$ref": "#/definitions/Condition" + "type": "string", + "description": "Resource type of target ARM resource, on which alert got created." }, - "alertContext": { - "description": "filter alerts by alert context (payload)", - "$ref": "#/definitions/Condition" - } - } - }, - "SuppressionConfig": { - "type": "object", - "description": "Suppression logic for a given action rule", - "required": [ - "recurrenceType" - ], - "properties": { - "recurrenceType": { + "monitorService": { "type": "string", - "description": "Specifies when the suppression should be applied", + "description": "Monitor service on which the rule(monitor) is set.", + "readOnly": true, "enum": [ - "Always", - "Once", - "Daily", - "Weekly", - "Monthly" + "Application Insights", + "ActivityLog Administrative", + "ActivityLog Security", + "ActivityLog Recommendation", + "ActivityLog Policy", + "ActivityLog Autoscale", + "Log Analytics", + "Nagios", + "Platform", + "SCOM", + "ServiceHealth", + "SmartDetector", + "VM Insights", + "Zabbix" ], "x-ms-enum": { - "name": "SuppressionType", + "name": "MonitorService", "modelAsString": true } }, - "schedule": { - "description": "suppression schedule configuration", - "$ref": "#/definitions/SuppressionSchedule" - } - } - }, - "SuppressionSchedule": { - "type": "object", - "description": "Schedule for a given suppression configuration.", - "properties": { - "startDate": { + "alertRule": { + "type": "string", + "description": "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule.", + "readOnly": true + }, + "sourceCreatedId": { + "type": "string", + "description": "Unique Id created by monitor service for each alert instance. This could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc.", + "readOnly": true + }, + "smartGroupId": { "type": "string", - "description": "Start date for suppression" + "description": "Unique Id of the smart group", + "readOnly": true }, - "endDate": { + "smartGroupingReason": { "type": "string", - "description": "End date for suppression" + "description": "Verbose reason describing the reason why this alert instance is added to a smart group", + "readOnly": true }, - "startTime": { + "startDateTime": { "type": "string", - "description": "Start time for suppression" + "format": "date-time", + "description": "Creation time(ISO-8601 format) of alert instance.", + "readOnly": true }, - "endTime": { + "lastModifiedDateTime": { "type": "string", - "description": "End date for suppression" + "format": "date-time", + "description": "Last modification time(ISO-8601 format) of alert instance.", + "readOnly": true }, - "recurrenceValues": { - "type": "array", - "description": "Specifies the values for recurrence pattern", - "items": { - "type": "integer" - } + "monitorConditionResolvedDateTime": { + "type": "string", + "format": "date-time", + "description": "Resolved time(ISO-8601 format) of alert instance. This will be updated when monitor service resolves the alert instance because the rule condition is no longer met.", + "readOnly": true + }, + "lastModifiedUserName": { + "type": "string", + "description": "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user.", + "readOnly": true } } }, - "ActionRule": { - "description": "Action rule object containing target scope, conditions and suppression logic", + "alertModification": { + "description": "Alert Modification details", "allOf": [ { - "$ref": "#/definitions/ManagedResource" + "$ref": "#/definitions/Resource" } ], "properties": { "properties": { - "description": "action rule properties", - "$ref": "#/definitions/ActionRuleProperties" + "$ref": "#/definitions/alertModificationProperties" } } }, - "ActionRuleProperties": { - "description": "Action rule properties defining scope, conditions, suppression logic for action rule", - "discriminator": "type", - "required": [ - "type" - ], + "alertModificationProperties": { + "type": "object", + "description": "Properties of the alert modification item.", "properties": { - "scope": { - "description": "scope on which action rule will apply", - "$ref": "#/definitions/Scope" - }, - "conditions": { - "description": "conditions on which alerts will be filtered", - "$ref": "#/definitions/Conditions" + "alertId": { + "type": "string", + "description": "Unique Id of the alert for which the history is being retrieved", + "readOnly": true }, - "description": { + "modifications": { + "type": "array", + "description": "Modification details", + "items": { + "$ref": "#/definitions/alertModificationItem" + } + } + } + }, + "alertModificationItem": { + "description": "Alert modification item.", + "properties": { + "modificationEvent": { "type": "string", - "description": "Description of action rule" + "description": "Reason for the modification", + "enum": [ + "AlertCreated", + "StateChange", + "MonitorConditionChange", + "SeverityChange", + "ActionRuleTriggered", + "ActionRuleSuppressed", + "ActionsTriggered", + "ActionsSuppressed", + "ActionsFailed" + ], + "x-ms-enum": { + "name": "AlertModificationEvent" + } }, - "createdAt": { + "oldValue": { "type": "string", - "format": "date-time", - "description": "Creation time of action rule. Date-Time in ISO-8601 format.", - "readOnly": true + "description": "Old value" }, - "lastModifiedAt": { + "newValue": { "type": "string", - "format": "date-time", - "description": "Last updated time of action rule. Date-Time in ISO-8601 format.", - "readOnly": true + "description": "New value" }, - "createdBy": { + "modifiedAt": { "type": "string", - "description": "Created by user name.", - "readOnly": true + "description": "Modified date and time" }, - "lastModifiedBy": { + "modifiedBy": { "type": "string", - "description": "Last modified by user name.", - "readOnly": true + "description": "Modified user details (Principal client name)" }, - "status": { + "comments": { "type": "string", - "description": "Indicates if the given action rule is enabled or disabled", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "ActionRuleStatus", - "modelAsString": true - } + "description": "Modification comments" }, - "type": { + "description": { "type": "string", - "description": "Indicates type of action rule", - "enum": [ - "Suppression", - "ActionGroup", - "Diagnostics" - ], - "x-ms-enum": { - "name": "ActionRuleType", - "modelAsString": true - } + "description": "Description of the modification" } } }, - "Suppression": { - "title": "Suppression based Action Rule", - "description": "Action rule with suppression configuration", - "required": [ - "suppressionConfig" - ], + "alertsSummary": { + "description": "Summary of alerts based on the input filters and 'groupby' parameters.", "allOf": [ { - "$ref": "#/definitions/ActionRuleProperties" - }, - { - "type": "object" + "$ref": "#/definitions/Resource" } ], "properties": { - "suppressionConfig": { - "description": "suppression configuration for the action rule", - "$ref": "#/definitions/SuppressionConfig" + "properties": { + "$ref": "#/definitions/alertsSummaryGroup" } } }, - "ActionGroup": { - "title": "Action Group based Action Rule", - "description": "Action rule with action group configuration", - "required": [ - "actionGroupId" - ], - "allOf": [ - { - "$ref": "#/definitions/ActionRuleProperties" - }, - { - "type": "object" - } - ], + "alertsSummaryGroup": { + "type": "object", + "description": "Group the result set.", "properties": { - "actionGroupId": { - "type": "string", - "description": "Action group to trigger if action rule matches" - } - } - }, - "Diagnostics": { - "title": "Diagnostics based Action Rule", - "description": "Action rule with diagnostics configuration", - "allOf": [ - { - "$ref": "#/definitions/ActionRuleProperties" + "total": { + "type": "integer", + "description": "Total count of the result set." }, - { - "type": "object" - } - ] - }, - "ActionRulesList": { - "description": "List of action rules", - "properties": { - "nextLink": { + "smartGroupsCount": { + "type": "integer", + "description": "Total count of the smart groups." + }, + "groupedby": { "type": "string", - "description": "URL to fetch the next set of action rules" + "description": "Name of the field aggregated" }, - "value": { + "values": { "type": "array", - "description": "List of action rules", + "description": "List of the items", "items": { - "$ref": "#/definitions/ActionRule" + "$ref": "#/definitions/alertsSummaryGroupItem" } } } }, - "PatchProperties": { - "description": "Action rule properties supported by patch", + "alertsSummaryGroupItem": { + "type": "object", + "description": "Alerts summary group item", "properties": { - "status": { + "name": { "type": "string", - "description": "Indicates if the given action rule is enabled or disabled", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "ActionRuleStatus", - "modelAsString": true - } - } - } - }, - "PatchObject": { - "description": "Data contract for patch", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "properties supported by patch operation", - "$ref": "#/definitions/PatchProperties" + "description": "Value of the aggregated field" }, - "tags": { - "type": "object", - "description": "tags to be updated" + "count": { + "type": "integer", + "description": "Count of the aggregated field" + }, + "groupedby": { + "type": "string", + "description": "Name of the field aggregated" + }, + "values": { + "type": "array", + "description": "List of the items", + "items": { + "$ref": "#/definitions/alertsSummaryGroupItem" + } } } }, diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json new file mode 100644 index 000000000000..c30ce89e0d8a --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json @@ -0,0 +1,727 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-05-05-preview", + "title": "Azure Alerts Management Service Resource Provider", + "description": "APIs for Azure Smart Groups CRUD operations." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": { + "get": { + "operationId": "SmartGroups_GetAll", + "summary": "Get all Smart Groups within a specified subscription", + "description": "List all the Smart Groups within a specified subscription. ", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/targetResource" + }, + { + "$ref": "#/parameters/targetResourceGroup" + }, + { + "$ref": "#/parameters/targetResourceType" + }, + { + "$ref": "#/parameters/monitorService" + }, + { + "$ref": "#/parameters/monitorCondition" + }, + { + "$ref": "#/parameters/severity" + }, + { + "$ref": "#/parameters/smartGroupState" + }, + { + "$ref": "#/parameters/timeRange" + }, + { + "$ref": "#/parameters/pageCount" + }, + { + "$ref": "#/parameters/smartGroupsSortBy" + }, + { + "$ref": "#/parameters/sortOrder" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of all smartGroups.", + "schema": { + "$ref": "#/definitions/smartGroupsList", + "description": "List of smart groups in value property." + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List": { + "$ref": "./examples/SmartGroups_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": { + "get": { + "operationId": "SmartGroups_GetById", + "summary": "Get information related to a specific Smart Group.", + "description": "Get information related to a specific Smart Group.", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/smartGroupId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the group with the specified smart group Id.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/smartGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "Get": { + "$ref": "./examples/SmartGroups_GetById.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": { + "post": { + "operationId": "SmartGroups_ChangeState", + "description": "Change the state of a Smart Group.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/smartGroupId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/newState" + } + ], + "responses": { + "200": { + "description": "OK. Smart Group state updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/smartGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "changestate": { + "$ref": "./examples/SmartGroups_ChangeState.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": { + "get": { + "operationId": "SmartGroups_GetHistory", + "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/smartGroupId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of changes of smart group.", + "schema": { + "$ref": "#/definitions/smartGroupModification" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/errorResponse" + } + } + }, + "x-ms-examples": { + "Resolve": { + "$ref": "./examples/SmartGroups_History.json" + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "api-version": { + "name": "api-version", + "description": "client API version", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "2019-05-05-preview" + ], + "x-ms-enum": { + "name": "api-version", + "modelAsString": true + } + }, + "targetResourceGroup": { + "description": "Filter by target resource group name. Default value is select all.", + "name": "targetResourceGroup", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "targetResource": { + "description": "Filter by target resource( which is full ARM ID) Default value is select all.", + "name": "targetResource", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "targetResourceType": { + "description": "Filter by target resource type. Default value is select all.", + "name": "targetResourceType", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "monitorService": { + "description": "Filter by monitor service which generates the alert instance. Default value is select all.", + "name": "monitorService", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Application Insights", + "ActivityLog Administrative", + "ActivityLog Security", + "ActivityLog Recommendation", + "ActivityLog Policy", + "ActivityLog Autoscale", + "Log Analytics", + "Nagios", + "Platform", + "SCOM", + "ServiceHealth", + "SmartDetector", + "VM Insights", + "Zabbix" + ], + "x-ms-enum": { + "name": "MonitorService", + "modelAsString": true + } + }, + "severity": { + "description": "Filter by severity. Default value is select all.", + "name": "severity", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "smartGroupId": { + "description": "Smart group unique id. ", + "name": "smartGroupId", + "type": "string", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + }, + "newState": { + "description": "New state of the alert.", + "name": "newState", + "type": "string", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true + } + }, + "smartGroupState": { + "description": "Filter by state of the smart group. Default value is to select all.", + "name": "smartGroupState", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "AlertState", + "modelAsString": true + } + }, + "monitorCondition": { + "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.", + "name": "monitorCondition", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "Fired", + "Resolved" + ], + "x-ms-enum": { + "name": "MonitorCondition", + "modelAsString": true + } + }, + "timeRange": { + "description": "Filter by time range by below listed values. Default value is 1 day.", + "name": "timeRange", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "1h", + "1d", + "7d", + "30d" + ], + "x-ms-enum": { + "name": "TimeRange", + "modelAsString": true + } + }, + "pageCount": { + "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.", + "name": "pageCount", + "type": "integer", + "in": "query", + "required": false, + "x-ms-parameter-location": "method" + }, + "smartGroupsSortBy": { + "description": "Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.", + "name": "sortBy", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "alertsCount", + "state", + "severity", + "startDateTime", + "lastModifiedDateTime" + ], + "x-ms-enum": { + "name": "SmartGroupsSortByFields", + "modelAsString": true + } + }, + "sortOrder": { + "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.", + "name": "sortOrder", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "method", + "enum": [ + "asc", + "desc" + ] + } + }, + "definitions": { + "errorResponse": { + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "#/definitions/errorResponseBody" + } + } + }, + "errorResponseBody": { + "description": "Details of error response.", + "properties": { + "code": { + "type": "string", + "description": "Error code, intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "Description of the error, intended for display in user interface." + }, + "target": { + "type": "string", + "description": "Target of the particular error, for example name of the property." + }, + "details": { + "type": "array", + "description": "A list of additional details about the error.", + "items": { + "$ref": "#/definitions/errorResponseBody" + } + } + } + }, + "Resource": { + "x-ms-azure-resource": true, + "description": "An azure resource object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" + } + } + }, + "smartGroupModification": { + "description": "Alert Modification details", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/smartGroupModificationProperties" + } + } + }, + "smartGroupModificationProperties": { + "description": "Properties of the smartGroup modification item.", + "properties": { + "smartGroupId": { + "type": "string", + "description": "Unique Id of the smartGroup for which the history is being retrieved", + "readOnly": true + }, + "modifications": { + "type": "array", + "description": "Modification details", + "items": { + "$ref": "#/definitions/smartGroupModificationItem" + } + }, + "nextLink": { + "description": "URL to fetch the next set of results.", + "type": "string" + } + } + }, + "smartGroupModificationItem": { + "description": "smartGroup modification item.", + "properties": { + "modificationEvent": { + "type": "string", + "description": "Reason for the modification", + "enum": [ + "SmartGroupCreated", + "StateChange", + "AlertAdded", + "AlertRemoved" + ], + "x-ms-enum": { + "name": "SmartGroupModificationEvent" + } + }, + "oldValue": { + "type": "string", + "description": "Old value" + }, + "newValue": { + "type": "string", + "description": "New value" + }, + "modifiedAt": { + "type": "string", + "description": "Modified date and time" + }, + "modifiedBy": { + "type": "string", + "description": "Modified user details (Principal client name)" + }, + "comments": { + "type": "string", + "description": "Modification comments" + }, + "description": { + "type": "string", + "description": "Description of the modification" + } + } + }, + "smartGroupsList": { + "description": "List the alerts.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alerts.", + "type": "string" + }, + "value": { + "description": "List of alerts", + "type": "array", + "items": { + "$ref": "#/definitions/smartGroup" + } + } + } + }, + "smartGroup": { + "description": "Set of related alerts grouped together smartly by AMS.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/smartGroupProperties" + } + } + }, + "smartGroupProperties": { + "type": "object", + "description": "Properties of smart group.", + "properties": { + "alertsCount": { + "type": "integer", + "description": "Total number of alerts in smart group" + }, + "smartGroupState": { + "type": "string", + "description": "Smart group state", + "readOnly": true, + "enum": [ + "New", + "Acknowledged", + "Closed" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + } + }, + "severity": { + "type": "string", + "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.", + "readOnly": true, + "enum": [ + "Sev0", + "Sev1", + "Sev2", + "Sev3", + "Sev4" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Creation time of smart group. Date-Time in ISO-8601 format.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "Last updated time of smart group. Date-Time in ISO-8601 format.", + "readOnly": true + }, + "lastModifiedUserName": { + "type": "string", + "description": "Last modified by user name.", + "readOnly": true + }, + "resources": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of target resources in the smart group" + }, + "resourceTypes": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of target resource types in the smart group" + }, + "resourceGroups": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of target resource groups in the smart group" + }, + "monitorServices": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of monitorServices in the smart group" + }, + "monitorConditions": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of monitorConditions in the smart group" + }, + "alertStates": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of alertStates in the smart group" + }, + "alertSeverities": { + "items": { + "$ref": "#/definitions/smartGroupAggregatedProperty" + }, + "type": "array", + "description": "Summary of alertSeverities in the smart group" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts." + } + } + }, + "smartGroupAggregatedProperty": { + "type": "object", + "description": "Aggregated property of each type", + "properties": { + "name": { + "type": "string", + "description": "Name of the type." + }, + "count": { + "type": "integer", + "description": "Total number of items of type." + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json new file mode 100644 index 000000000000..6a49a3228a39 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json @@ -0,0 +1,649 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-04-preview", + "title": "Azure Alerts Management Service Resource Provider", + "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.AlertsManagement/operations": { + "get": { + "operationId": "Operations_List", + "description": "List all operations available through Azure Alerts Management Resource Provider.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved operations list.", + "schema": { + "$ref": "#/definitions/operationsList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/resourceHealthAlerts": { + "get": { + "tags": [ + "HealthAlerts" + ], + "description": "Retrieve health alert rule definitions in a subscription.", + "operationId": "HealthAlerts_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of health alerts", + "schema": { + "$ref": "#/definitions/HealthAlertResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListResourceHealthAlertRules": { + "$ref": "./examples/listResourceHealthAlerts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlerts": { + "get": { + "tags": [ + "HealthAlerts" + ], + "description": "Retrieve alert rule definitions in a resource group.", + "operationId": "HealthAlerts_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of health alerts", + "schema": { + "$ref": "#/definitions/HealthAlertResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListResourceHealthAlertRules": { + "$ref": "./examples/listResourceHealthAlerts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlerts/{ruleName}": { + "get": { + "tags": [ + "HealthAlerts" + ], + "description": "Retrieve an alert rule definition.", + "operationId": "HealthAlerts_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of health alerts", + "schema": { + "$ref": "#/definitions/HealthAlertResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-examples": { + "GetResourceHealthAlertRule": { + "$ref": "./examples/getResourceHealthAlert.json" + } + } + }, + "put": { + "tags": [ + "HealthAlerts" + ], + "description": "Create or update an health alert definition.", + "operationId": "HealthAlerts_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthAlertResource" + }, + "description": "The parameters of the rule to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HealthAlertResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-examples": { + "CreateResourceHealthAlertRule": { + "$ref": "./examples/createOrUpdateResourceHealthAlert.json" + } + } + }, + "patch": { + "tags": [ + "HealthAlerts" + ], + "description": "Update an health alert definition.", + "operationId": "HealthAlerts_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HealthAlertResourcePatch" + }, + "description": "The parameters of the rule to update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HealthAlertResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-examples": { + "PatchResourceHealthAlertRule": { + "$ref": "./examples/patchResourceHealthAlert.json" + } + } + }, + "delete": { + "tags": [ + "HealthAlerts" + ], + "description": "Delete an alert rule definition.", + "operationId": "HealthAlerts_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request to delete an health alert rule" + }, + "204": { + "description": "No content: the request was successful, but the response is empty" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HealthAlertsErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteResourceHealthAlertRule": { + "$ref": "./examples/deleteResourceHealthAlert.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "HealthAlertAction": { + "description": "An alert action.", + "properties": { + "actionGroupId": { + "type": "string", + "description": "the id of the action group to use." + }, + "webHookProperties": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." + }, + "description": "The properties of a webhook object." + } + } + }, + "HealthAlertProperties": { + "required": [ + "enabled", + "description", + "criteria" + ], + "properties": { + "description": { + "type": "string", + "description": "the description of the health alert that will be included in the alert email." + }, + "enabled": { + "type": "boolean", + "description": "the flag that indicates whether the health alert is enabled." + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the list of resource id's that this health alert is scoped to." + }, + "criteria": { + "$ref": "#/definitions/HealthAlertCriteria", + "description": "defines the specific alert criteria information." + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthAlertAction" + }, + "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved." + }, + "lastUpdatedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Last time the rule was updated in ISO8601 format." + } + }, + "description": "An alert rule." + }, + "HealthAlertResource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HealthAlertProperties", + "description": "The alert rule properties of the resource." + } + }, + "description": "The health alert resource." + }, + "HealthAlertResourcePatch": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HealthAlertProperties", + "description": "The alert rule properties of the resource." + } + }, + "description": "The health alert resource for patch operations." + }, + "HealthAlertResourceCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthAlertResource" + }, + "description": "the values for the alert rule resources." + } + }, + "description": "Represents a collection of alert rule resources." + }, + "HealthAlertCriteria": { + "type": "object", + "properties": { + "allOf": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthAlertCriterion" + }, + "description": "The list of metric criteria for this 'all of' operation. " + } + }, + "description": "Specifies the resource health alert criteria for a single resource that has multiple metric criteria." + }, + "HealthAlertCriterion": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "discriminator": "namespace", + "properties": { + "namespace": { + "type": "string", + "enum": [ + "VmGuestHealth" + ], + "x-ms-enum": { + "name": "HealthAlertsNamespace", + "modelAsString": true + }, + "description": "specifies the type of the alert criterion." + } + }, + "required": [ + "namespace" + ], + "description": "The rule criterion that defines the conditions of the alert rule." + }, + "VmGuestHealthAlertCriterion": { + "x-ms-discriminator-value": "VmGuestHealth", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/HealthAlertCriterion" + } + ], + "properties": { + "healthMonitorName": { + "type": "string", + "description": "Name of health monitor on which to define alert" + }, + "healthStates": { + "type": "array", + "items": { + "$ref": "#/definitions/HealthState" + }, + "description": "Health states to alert on" + } + }, + "required": [ + "healthMonitorName" + ], + "description": "Specifies the health alert criteria to alert on." + }, + "HealthState": { + "type": "object", + "properties": { + "healthStateName": { + "type": "string", + "description": "Health state" + }, + "severity": { + "type": "string", + "description": "Severity of alert fired" + } + }, + "required": [ + "healthStateName", + "severity" + ], + "description": "Specifies the health state to alert on and the corresponding severity" + }, + "HealthAlertsErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/HealthAlertsErrorResponseBody" + } + } + }, + "HealthAlertsErrorResponseBody": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "operation": { + "description": "Operation provided by provider", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation" + }, + "display": { + "type": "object", + "description": "Properties of the operation", + "properties": { + "provider": { + "type": "string", + "description": "Provider name" + }, + "resource": { + "type": "string", + "description": "Resource name" + }, + "operation": { + "type": "string", + "description": "Operation name" + }, + "description": { + "type": "string", + "description": "Description of the operation" + } + } + } + } + }, + "operationsList": { + "description": "Lists the operations available in the AlertsManagement RP.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of operations.", + "type": "string" + }, + "value": { + "description": "Array of operations", + "type": "array", + "items": { + "$ref": "#/definitions/operation" + } + } + }, + "required": [ + "value" + ] + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription Id." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "RuleNameParameter": { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json new file mode 100644 index 000000000000..0a46e4630d1f --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "ruleName": "highcpu", + "api-version": "2020-08-04-preview", + "parameters": { + "location": "global", + "properties": { + "description": "This is the description of the rule1", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", + "type": "Microsoft.AlertsManagement/resourceHealthAlerts", + "location": "global", + "properties": { + "description": "This is the description of the first rule", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json new file mode 100644 index 000000000000..0d5dfed02952 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "ruleName": "highcpu", + "api-version": "2018-03-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json new file mode 100644 index 000000000000..18432a7ab89a --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "ruleName": "highcpu", + "api-version": "2020-08-04-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", + "type": "Microsoft.AlertsManagement/resourceHealthAlerts", + "location": "global", + "properties": { + "description": "This is the description of the rule1", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json new file mode 100644 index 000000000000..42bc3c7156c4 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "api-version": "2020-08-04-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", + "type": "Microsoft.AlertsManagement/resourceHealthAlerts", + "location": "global", + "properties": { + "description": "This is the description of the first rule", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json new file mode 100644 index 000000000000..c67cb10e162e --- /dev/null +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", + "resourceGroupName": "gigtest", + "ruleName": "highcpu", + "api-version": "2020-08-04-preview", + "parameters": { + "properties": { + "description": "This is the description of the rule1", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", + "type": "Microsoft.AlertsManagement/resourceHealthAlerts", + "location": "global", + "properties": { + "description": "This is the description of the rule1", + "enabled": true, + "scopes": [ + "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" + ], + "criteria": { + "allOf": [ + { + "healthMonitorName": "root", + "namespace": "VmGuestHealth" + } + ] + }, + "actions": [ + { + "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json index 93380511ec43..4ac3fbdee568 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json @@ -128,7 +128,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -171,7 +171,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -210,7 +210,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -246,7 +246,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -315,7 +315,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -386,7 +386,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -435,7 +435,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -480,7 +480,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -516,7 +516,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -913,7 +913,7 @@ "value" ] }, - "errorResponse": { + "AlertsManagementErrorResponse": { "description": "An error response from the service.", "properties": { "error": { diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json index 6060265ff492..dc6ce3d65350 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json @@ -128,7 +128,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -171,7 +171,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -210,7 +210,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -246,7 +246,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -315,7 +315,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -386,7 +386,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -432,7 +432,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -477,7 +477,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -513,7 +513,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/errorResponse" + "$ref": "#/definitions/AlertsManagementErrorResponse" } } }, @@ -920,7 +920,7 @@ "value" ] }, - "errorResponse": { + "AlertsManagementErrorResponse": { "description": "An error response from the service.", "x-ms-external": true, "properties": { diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json index 30b9b05d7e9f..bedb658c0631 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json @@ -53,7 +53,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -95,7 +95,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -143,7 +143,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -192,7 +192,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -238,7 +238,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -257,7 +257,7 @@ } }, "definitions": { - "ErrorResponse": { + "SmartDetectorErrorResponse": { "description": "Describe the format of an Error response.", "type": "object", "properties": { diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json index 45d3bcaa439b..77242cc6bfbf 100644 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json +++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json @@ -56,7 +56,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -101,7 +101,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -149,7 +149,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -198,7 +198,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -253,7 +253,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -293,7 +293,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/SmartDetectorErrorResponse" } }, "200": { @@ -312,7 +312,7 @@ } }, "definitions": { - "ErrorResponse": { + "SmartDetectorErrorResponse": { "description": "Describe the format of an Error response.", "type": "object", "properties": { diff --git a/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..87dbe102b007 --- /dev/null +++ b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,75 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-alertsmanagement-2019-06-01 + - tag: schema-alertsmanagement-2019-05-05-preview + - tag: schema-alertsmanagement-2019-03-01 + - tag: schema-alertsmanagement-2018-05-05-preview + - tag: schema-alertsmanagement-2018-05-05 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-alertsmanagement-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json + +``` + +### Tag: schema-alertsmanagement-2019-05-05-preview and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2019-05-05-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json + +``` + +### Tag: schema-alertsmanagement-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json + - Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json + +``` + +### Tag: schema-alertsmanagement-2018-05-05-preview and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json + +``` + +### Tag: schema-alertsmanagement-2018-05-05 and azureresourceschema + +``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json + +``` diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md index f3499619c52f..211952f9f39f 100644 --- a/specification/alertsmanagement/resource-manager/readme.md +++ b/specification/alertsmanagement/resource-manager/readme.md @@ -50,7 +50,9 @@ These settings apply only when `--tag=package-2019-06-preview` is specified on t ```yaml $(tag) == 'package-2019-06-preview' input-file: + - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json - Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json ``` @@ -80,7 +82,9 @@ These settings apply only when `--tag=package-preview-2019-05` is specified on t ``` yaml $(tag) == 'package-preview-2019-05' input-file: + - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json + - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json ``` ### Tag: package-2018-05 @@ -101,6 +105,15 @@ input-file: - Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json ``` +### Tag: package-2020-08-04-preview + +These settings apply only when `--tag=package-2020-08-04` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-04-preview' +input-file: +- Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json +``` + --- # Code Generation @@ -116,6 +129,10 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-libraries-for-java - repo: azure-sdk-for-go + - repo: azure-sdk-for-trenton + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js alertsmanagement/resource-manager ``` ## C# @@ -169,6 +186,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -181,12 +202,15 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json - $(this-folder)/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json + - $(this-folder)/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json - $(this-folder)/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json - $(this-folder)/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json - $(this-folder)/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json - $(this-folder)/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json - $(this-folder)/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json + - $(this-folder)/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json ``` diff --git a/specification/alertsmanagement/resource-manager/readme.trenton.md b/specification/alertsmanagement/resource-manager/readme.trenton.md index 06e42501cc61..caac806574a8 100644 --- a/specification/alertsmanagement/resource-manager/readme.trenton.md +++ b/specification/alertsmanagement/resource-manager/readme.trenton.md @@ -6,7 +6,8 @@ overrides: - where: resource: "*" set: - - NeedSeparated: false + - NeedSeparated: true + - CombineCreateUpdate: true - where: resource: "ActionRules" property: "properties" @@ -18,6 +19,10 @@ overrides: property: "properties" set: - GoFieldName: "PatchProperties" + - where: + property: "status" + set: + - Hidden: false - where: property: "type" set: @@ -33,6 +38,7 @@ overrides: set: - EnumValues/0/GoEnumMemberName: "ScopeTypeResourceGroup" - EnumValues/1/GoEnumMemberName: "ScopeTypeResource" + - EnumValues/2/GoEnumMemberName: "ScopeTypeSubscription" ``` ## trenton diff --git a/specification/analysisservices/resource-manager/readme.azureresourceschema.md b/specification/analysisservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d89301b2b8b3 --- /dev/null +++ b/specification/analysisservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-analysisservices-2017-08-01 + - tag: schema-analysisservices-2017-07-14 + - tag: schema-analysisservices-2016-05-16 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-analysisservices-2017-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-analysisservices-2017-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json + +``` + +### Tag: schema-analysisservices-2017-07-14 and azureresourceschema + +``` yaml $(tag) == 'schema-analysisservices-2017-07-14' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AnalysisServices/stable/2017-07-14/analysisservices.json + +``` + +### Tag: schema-analysisservices-2016-05-16 and azureresourceschema + +``` yaml $(tag) == 'schema-analysisservices-2016-05-16' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AnalysisServices/stable/2016-05-16/analysisservices.json + +``` diff --git a/specification/analysisservices/resource-manager/readme.md b/specification/analysisservices/resource-manager/readme.md index 47c8ceba9a14..c65ff0f0a6f8 100644 --- a/specification/analysisservices/resource-manager/readme.md +++ b/specification/analysisservices/resource-manager/readme.md @@ -84,6 +84,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_analysis_services'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js analysisservices/resource-manager ``` @@ -183,6 +186,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json index c295c362002e..7818c4d06ba6 100644 --- a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json +++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json @@ -861,13 +861,13 @@ "type": "boolean" }, "approvalRequired": { - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.", "type": "boolean" }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json index 5a2330092a28..f15c144c4120 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json @@ -3330,13 +3330,13 @@ "type": "boolean" }, "approvalRequired": { - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.", "type": "boolean" }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json index 3ce3a7c7b67b..87b45aa20ad4 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json @@ -3545,13 +3545,13 @@ "type": "boolean" }, "approvalRequired": { - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.", "type": "boolean" }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json index 95d7789cdb07..801e3c890ddc 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json @@ -5344,12 +5344,12 @@ }, "approvalRequired": { "type": "boolean", - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true." }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", @@ -5624,12 +5624,12 @@ }, "approvalRequired": { "type": "boolean", - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true." }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json index 24a54f3eba94..f2eade375f3a 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json @@ -826,12 +826,12 @@ }, "approvalRequired": { "type": "boolean", - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true." }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", @@ -876,12 +876,12 @@ }, "approvalRequired": { "type": "boolean", - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true." }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json index 6ce08fc02df5..b5db2b8d860e 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json @@ -1126,13 +1126,13 @@ "type": "boolean" }, "approvalRequired": { - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.", "type": "boolean" }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json index d2106e08cd2f..e341239d3b07 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json @@ -1177,13 +1177,13 @@ "type": "boolean" }, "approvalRequired": { - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.", "type": "boolean" }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json index 7bd0863d4091..85d39690b59e 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json @@ -198,6 +198,33 @@ "pattern": "^[^*#&+:<>?]+$", "x-ms-parameter-location": "method" }, + "AppTypeParameter": { + "name": "appType", + "in": "query", + "required": false, + "type": "string", + "description": "Determines the type of application which send the create user request. Default is legacy publisher portal.", + "enum": [ + "portal", + "developerPortal" + ], + "x-ms-enum": { + "name": "AppType", + "modelAsString": true, + "values": [ + { + "value": "portal", + "description": "User create request was sent by legacy developer portal." + }, + { + "value": "developerPortal", + "description": "User create request was sent by new developer portal." + } + ] + }, + "default": "portal", + "x-ms-parameter-location": "method" + }, "AttachmentIdParameter": { "name": "attachmentId", "in": "path", diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json index 01a9c6faa29f..255e9acc0acb 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json @@ -230,6 +230,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { @@ -306,6 +309,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json index e5fd4d5b45c0..9d592cfb893c 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json @@ -225,6 +225,13 @@ }, "description": "Create or update parameters." }, + { + "name": "notify", + "in": "query", + "required": false, + "type": "boolean", + "description": "Send an Email notification to the User." + }, { "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" }, @@ -363,6 +370,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { @@ -681,6 +691,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json index a4f4ef653186..79a0c9320a0d 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json @@ -3485,13 +3485,13 @@ "type": "boolean" }, "approvalRequired": { - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.", "type": "boolean" }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", @@ -4966,14 +4966,19 @@ }, "appType": { "type": "string", - "description": "Determines the type of application which send the create user request. Default is old publisher portal.", + "description": "Determines the type of application which send the create user request. Default is legacy portal.", "enum": [ + "portal", "developerPortal" ], "x-ms-enum": { "name": "AppType", "modelAsString": true, "values": [ + { + "value": "portal", + "description": "User create request was sent by legacy developer portal." + }, { "value": "developerPortal", "description": "User create request was sent by new developer portal." diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json index c7000c981ff8..671295da121e 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json @@ -198,6 +198,33 @@ "pattern": "^[^*#&+:<>?]+$", "x-ms-parameter-location": "method" }, + "AppTypeParameter": { + "name": "appType", + "in": "query", + "required": false, + "type": "string", + "description": "Determines the type of application which send the create user request. Default is legacy publisher portal.", + "enum": [ + "portal", + "developerPortal" + ], + "x-ms-enum": { + "name": "AppType", + "modelAsString": true, + "values": [ + { + "value": "portal", + "description": "User create request was sent by legacy developer portal." + }, + { + "value": "developerPortal", + "description": "User create request was sent by new developer portal." + } + ] + }, + "default": "portal", + "x-ms-parameter-location": "method" + }, "AttachmentIdParameter": { "name": "attachmentId", "in": "path", @@ -713,6 +740,26 @@ "minLength": 1, "maxLength": 80, "x-ms-parameter-location": "method" + }, + "ContentTypeIdParameter": { + "name": "contentTypeId", + "in": "path", + "required": true, + "type": "string", + "description": "Content type identifier.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" + }, + "ContentItemIdParameter": { + "name": "contentItemId", + "in": "path", + "required": true, + "type": "string", + "description": "Content item identifier.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" } } } diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json new file mode 100644 index 000000000000..8c9d1ad8b15c --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json @@ -0,0 +1,521 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApiManagementClient", + "description": "Use these REST APIs for performing operations in Azure API Management deployment.", + "version": "2019-12-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.ApiManagement/service/{serviceName}/contentTypes": { + "get": { + "tags": [ + "ContentType" + ], + "operationId": "ContentType_ListByService", + "description": "Returns list of content types", + "x-ms-examples": { + "ApiManagementListContentTypes": { + "$ref": "./examples/ApiManagementListContentTypes.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of content type entities.", + "schema": { + "$ref": "./definitions.json#/definitions/ContentTypeCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}": { + "head": { + "tags": [ + "ContentType" + ], + "operationId": "ContentType_GetEntityTag", + "description": "Returns content type metadata", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified content type entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ContentType" + ], + "operationId": "ContentTypes_Get", + "description": "Gets API Management content type details", + "x-ms-examples": { + "ApiManagementGetContentType": { + "$ref": "./examples/ApiManagementGetContentType.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get the details of the content type.", + "schema": { + "$ref": "./definitions.json#/definitions/ContentTypeContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ContentType" + ], + "operationId": "ContentType_CreateOrUpdate", + "description": "Creates new content type", + "x-ms-examples": { + "ApiManagementCreateContentType": { + "$ref": "./examples/ApiManagementCreateContentType.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Content type was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/ContentTypeContract" + } + }, + "200": { + "description": "The existing content type was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/ContentTypeContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ContentType" + ], + "operationId": "ContentType_Delete", + "description": "Removes specified content type.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The content type was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems": { + "get": { + "tags": [ + "ContentItem" + ], + "operationId": "ContentItem_ListByService", + "description": "Returns list of content items", + "x-ms-examples": { + "ApiManagementListContentItems": { + "$ref": "./examples/ApiManagementListContentItems.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Content Type entities.", + "schema": { + "$ref": "./definitions.json#/definitions/ContentItemCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}": { + "head": { + "tags": [ + "ContentItem" + ], + "operationId": "ContentItem_GetEntityTag", + "description": "Returns content item metadata", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Specified content item entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "ContentItem" + ], + "operationId": "ContentItem_Get", + "description": "Returns content item details", + "x-ms-examples": { + "ApiManagementGetContentItem": { + "$ref": "./examples/ApiManagementGetContentItem.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get the details of the content item.", + "schema": { + "$ref": "./definitions.json#/definitions/ContentItemContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ContentItem" + ], + "operationId": "ContentItem_CreateOrUpdate", + "description": "Creates new content item", + "x-ms-examples": { + "ApiManagementCreateContentItem": { + "$ref": "./examples/ApiManagementCreateContentItem.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Content item was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/ContentItemContract" + } + }, + "200": { + "description": "The existing content item was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/ContentItemContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ContentItem" + ], + "operationId": "ContentItem_Delete", + "description": "Removes specified content item.", + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The content item was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json index 2aa6ffd5883d..e03d8fcd17d6 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json @@ -108,7 +108,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/QuotaCounterValueContractProperties" + "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract" }, "description": "The value of the quota counter to be applied to all quota counter periods." }, @@ -212,7 +212,7 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/QuotaCounterValueContractProperties" + "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract" }, "description": "The value of the Quota counter to be applied on the specified period." }, diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json index 3c7cad660af8..a7281307fa07 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json @@ -230,6 +230,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { @@ -306,6 +309,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json index c290fb30f0a0..115dd71529f5 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json @@ -225,6 +225,13 @@ }, "description": "Create or update parameters." }, + { + "name": "notify", + "in": "query", + "required": false, + "type": "boolean", + "description": "Send an Email notification to the User." + }, { "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" }, @@ -363,6 +370,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { @@ -681,6 +691,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json index 490ae700e22e..f4361ca41aab 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json @@ -3545,13 +3545,13 @@ "type": "boolean" }, "approvalRequired": { - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.", + "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.", "type": "boolean" }, "subscriptionsLimit": { "type": "integer", "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true." }, "state": { "type": "string", @@ -3847,6 +3847,16 @@ }, "description": "Quota counter value details." }, + "QuotaCounterValueUpdateContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/QuotaCounterValueContractProperties", + "description": "Quota counter value details." + } + }, + "description": "Quota counter value details." + }, "RecipientEmailCollection": { "properties": { "value": { @@ -4519,7 +4529,7 @@ }, "stateComment": { "type": "string", - "description": "Optional subscription comment added by an administrator." + "description": "Optional subscription comment added by an administrator when the state is changed to the 'rejected'." }, "allowTracing": { "type": "boolean", @@ -4675,7 +4685,7 @@ }, "stateComment": { "type": "string", - "description": "Comments describing subscription state change by the administrator." + "description": "Comments describing subscription state change by the administrator when the state is changed to the 'rejected'." }, "allowTracing": { "type": "boolean", @@ -5044,14 +5054,19 @@ }, "appType": { "type": "string", - "description": "Determines the type of application which send the create user request. Default is old publisher portal.", + "description": "Determines the type of application which send the create user request. Default is legacy portal.", "enum": [ + "portal", "developerPortal" ], "x-ms-enum": { "name": "AppType", "modelAsString": true, "values": [ + { + "value": "portal", + "description": "User create request was sent by legacy developer portal." + }, { "value": "developerPortal", "description": "User create request was sent by new developer portal." @@ -5555,6 +5570,100 @@ } ], "description": "Association entity details." + }, + "ContentTypeCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentTypeContract" + }, + "description": "Collection of content types.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link, if any.", + "readOnly": true + } + }, + "description": "Paged list of content types." + }, + "ContentTypeContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContentTypeContractProperties", + "description": "Properties of the content type." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Content type contract details." + }, + "ContentTypeContractProperties": { + "properties": { + "id": { + "type": "string", + "description": "Content type identifier" + }, + "name": { + "type": "string", + "description": "Content type name. Must be 1 to 250 characters long." + }, + "description": { + "type": "string", + "description": "Content type description." + }, + "schema": { + "type": "object", + "description": "Content type schema." + }, + "version": { + "type": "string", + "description": "Content type version." + } + } + }, + "ContentItemCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentItemContract" + }, + "description": "Collection of content items.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Next page link, if any.", + "readOnly": true + } + }, + "description": "Paged list of content items." + }, + "ContentItemContract": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ContentItemContractProperties", + "description": "Properties of the content item." + } + }, + "allOf": [ + { + "$ref": "./apimanagement.json#/definitions/Resource" + } + ], + "description": "Content type contract details." + }, + "ContentItemContractProperties": { + "properties": {}, + "additionalProperties": true } }, "parameters": {} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentItem.json new file mode 100644 index 000000000000..9eed6b795098 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentItem.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2019-12-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "parameters": { + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "type": "Microsoft.ApiManagement/service/contentTypes/contentItems", + "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + }, + "201": { + "body": { + "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "type": "Microsoft.ApiManagement/service/contentTypes/contentItems", + "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json new file mode 100644 index 000000000000..1ef1cbc9f30f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2019-12-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "parameters": { + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "$ref": "#/definitions/metadata" + } + }, + "additionalProperties": false, + "definitions": { + "metadata": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + } + }, + "version": "1.0.0" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/contentTypes/page", + "type": "Microsoft.ApiManagement/service/contentTypes", + "name": "page", + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "$ref": "#/definitions/metadata" + } + }, + "additionalProperties": false, + "definitions": { + "metadata": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + } + }, + "version": "1.0.0" + } + } + }, + "201": { + "body": { + "id": "/contentTypes/page", + "type": "Microsoft.ApiManagement/service/contentTypes", + "name": "page", + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "$ref": "#/definitions/metadata" + } + }, + "additionalProperties": false, + "definitions": { + "metadata": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + } + }, + "version": "1.0.0" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentItem.json new file mode 100644 index 000000000000..180b79de7d48 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentItem.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2019-12-01", + "subscriptionId": "subid", + "contentTypeId": "page", + "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8" + }, + "responses": { + "200": { + "body": { + "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "type": "Microsoft.ApiManagement/service/contentTypes/contentItems", + "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json new file mode 100644 index 000000000000..236c09de813f --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "serviceName": "apimService1", + "resourceGroupName": "rg1", + "api-version": "2019-12-01", + "subscriptionId": "subid", + "contentTypeId": "page" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/contentTypes/page", + "type": "Microsoft.ApiManagement/service/contentTypes", + "name": "page", + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "$ref": "#/definitions/metadata" + } + }, + "additionalProperties": false, + "definitions": { + "metadata": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + } + }, + "version": "1.0.0" + } + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentItems.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentItems.json new file mode 100644 index 000000000000..0a87cbb5c427 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentItems.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2019-12-01", + "subscriptionId": "subid", + "contentTypeId": "page" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "type": "Microsoft.ApiManagement/service/contentTypes/contentItems", + "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "properties": { + "en_us": { + "title": "About", + "description": "Short story about the company.", + "keywords": "company, about", + "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8", + "permalink": "/about" + } + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json new file mode 100644 index 000000000000..4a008fed1b45 --- /dev/null +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "serviceName": "apimService1", + "api-version": "2019-12-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/contentTypes/page", + "type": "Microsoft.ApiManagement/service/contentTypes", + "name": "page", + "properties": { + "name": "Page", + "description": "A regular page", + "schema": { + "properties": { + "en_us": { + "$ref": "#/definitions/metadata" + } + }, + "additionalProperties": false, + "definitions": { + "metadata": { + "type": "object", + "properties": { + "title": { + "title": "Title", + "description": "Page title. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "description": { + "title": "Description", + "description": "Page description. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "keywords": { + "title": "Keywords", + "description": "Page keywords. This property gets included in SEO attributes.", + "type": "string", + "indexed": true + }, + "permalink": { + "title": "Permalink", + "description": "Page permalink, e.g. '/about'.", + "type": "string", + "indexed": true + }, + "documentId": { + "title": "Document ID", + "description": "Reference to page content document.", + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "title", + "permalink", + "documentId" + ] + } + } + }, + "version": "1.0.0" + } + } + ] + } + } + } +} diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKey.json index e912200c09ab..d1e94ce2d3d5 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKey.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKey.json @@ -6,8 +6,10 @@ "subscriptionId": "subid", "quotaCounterKey": "ba", "parameters": { - "callsCount": 0, - "kbTransferred": 2.5630078125 + "properties": { + "callsCount": 0, + "kbTransferred": 2.5630078125 + } } }, "responses": { diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json index 5e43c0fb4956..257bd852272a 100644 --- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json +++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json @@ -7,8 +7,10 @@ "quotaCounterKey": "ba", "quotaPeriodKey": "0_P3Y6M4DT12H30M5S", "parameters": { - "callsCount": 0, - "kbTransferred": 0 + "properties": { + "callsCount": 0, + "kbTransferred": 0 + } } }, "responses": { diff --git a/specification/apimanagement/resource-manager/readme.azureresourceschema.md b/specification/apimanagement/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7afd9c95a116 --- /dev/null +++ b/specification/apimanagement/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,305 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-apimanagement-2019-12-01-preview + - tag: schema-apimanagement-2019-12-01 + - tag: schema-apimanagement-2019-01-01 + - tag: schema-apimanagement-2018-06-01-preview + - tag: schema-apimanagement-2018-01-01 + - tag: schema-apimanagement-2017-03-01 + - tag: schema-apimanagement-2016-10-10 + - tag: schema-apimanagement-2016-07-07 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-apimanagement-2019-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2019-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgateways.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json + - Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json + +``` + +### Tag: schema-apimanagement-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json + - Microsoft.ApiManagement/stable/2019-12-01/apimapis.json + - Microsoft.ApiManagement/stable/2019-12-01/apimapisByTags.json + - Microsoft.ApiManagement/stable/2019-12-01/apimapiversionsets.json + - Microsoft.ApiManagement/stable/2019-12-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json + - Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json + - Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json + - Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json + - Microsoft.ApiManagement/stable/2019-12-01/apimgateways.json + - Microsoft.ApiManagement/stable/2019-12-01/apimgroups.json + - Microsoft.ApiManagement/stable/2019-12-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2019-12-01/apimissues.json + - Microsoft.ApiManagement/stable/2019-12-01/apimloggers.json + - Microsoft.ApiManagement/stable/2019-12-01/apimnamedvalues.json + - Microsoft.ApiManagement/stable/2019-12-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2019-12-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2019-12-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2019-12-01/apimpolicies.json + - Microsoft.ApiManagement/stable/2019-12-01/apimpolicydescriptions.json + - Microsoft.ApiManagement/stable/2019-12-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2019-12-01/apimproducts.json + - Microsoft.ApiManagement/stable/2019-12-01/apimproductsByTags.json + - Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json + - Microsoft.ApiManagement/stable/2019-12-01/apimregions.json + - Microsoft.ApiManagement/stable/2019-12-01/apimreports.json + - Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2019-12-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2019-12-01/apimtags.json + - Microsoft.ApiManagement/stable/2019-12-01/apimtenant.json + - Microsoft.ApiManagement/stable/2019-12-01/apimusers.json + - Microsoft.ApiManagement/stable/2019-12-01/definitions.json + +``` + +### Tag: schema-apimanagement-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json + - Microsoft.ApiManagement/stable/2019-01-01/apimapis.json + - Microsoft.ApiManagement/stable/2019-01-01/apimapisByTags.json + - Microsoft.ApiManagement/stable/2019-01-01/apimapiversionsets.json + - Microsoft.ApiManagement/stable/2019-01-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2019-01-01/apimbackends.json + - Microsoft.ApiManagement/stable/2019-01-01/apimcaches.json + - Microsoft.ApiManagement/stable/2019-01-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2019-01-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2019-01-01/apimemailtemplates.json + - Microsoft.ApiManagement/stable/2019-01-01/apimgroups.json + - Microsoft.ApiManagement/stable/2019-01-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2019-01-01/apimissues.json + - Microsoft.ApiManagement/stable/2019-01-01/apimloggers.json + - Microsoft.ApiManagement/stable/2019-01-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2019-01-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2019-01-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2019-01-01/apimpolicies.json + - Microsoft.ApiManagement/stable/2019-01-01/apimpolicysnippets.json + - Microsoft.ApiManagement/stable/2019-01-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2019-01-01/apimproducts.json + - Microsoft.ApiManagement/stable/2019-01-01/apimproductsByTags.json + - Microsoft.ApiManagement/stable/2019-01-01/apimproperties.json + - Microsoft.ApiManagement/stable/2019-01-01/apimquotas.json + - Microsoft.ApiManagement/stable/2019-01-01/apimregions.json + - Microsoft.ApiManagement/stable/2019-01-01/apimreports.json + - Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2019-01-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2019-01-01/apimtags.json + - Microsoft.ApiManagement/stable/2019-01-01/apimtenant.json + - Microsoft.ApiManagement/stable/2019-01-01/apimusers.json + - Microsoft.ApiManagement/stable/2019-01-01/definitions.json + +``` + +### Tag: schema-apimanagement-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json + - Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json + +``` + +### Tag: schema-apimanagement-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2018-01-01/apimanagement.json + - Microsoft.ApiManagement/stable/2018-01-01/apimapis.json + - Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json + - Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json + - Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json + - Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json + - Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json + - Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json + - Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json + - Microsoft.ApiManagement/stable/2018-01-01/apimreports.json + - Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2018-01-01/apimtags.json + - Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json + - Microsoft.ApiManagement/stable/2018-01-01/apimusers.json + - Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json + +``` + +### Tag: schema-apimanagement-2017-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2017-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json + - Microsoft.ApiManagement/stable/2017-03-01/apimapis.json + - Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json + - Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2017-03-01/apimdeployment.json + - Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json + - Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json + - Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json + - Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json + - Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json + - Microsoft.ApiManagement/stable/2017-03-01/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json + - Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json + - Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json + - Microsoft.ApiManagement/stable/2017-03-01/apimquotas.json + - Microsoft.ApiManagement/stable/2017-03-01/apimreports.json + - Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json + - Microsoft.ApiManagement/stable/2017-03-01/apimtags.json + - Microsoft.ApiManagement/stable/2017-03-01/apimtenant.json + - Microsoft.ApiManagement/stable/2017-03-01/apimusers.json + - Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json + +``` + +### Tag: schema-apimanagement-2016-10-10 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2016-10-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json + - Microsoft.ApiManagement/stable/2016-10-10/apimapis.json + - Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json + - Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json + - Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json + - Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json + - Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json + - Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json + - Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json + - Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json + - Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json + - Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json + - Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json + - Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json + - Microsoft.ApiManagement/stable/2016-10-10/apimreports.json + - Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json + - Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json + - Microsoft.ApiManagement/stable/2016-10-10/apimusers.json + +``` + +### Tag: schema-apimanagement-2016-07-07 and azureresourceschema + +``` yaml $(tag) == 'schema-apimanagement-2016-07-07' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json + - Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.json + +``` diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md index 8898b1f52777..96ff6b9c8221 100644 --- a/specification/apimanagement/resource-manager/readme.md +++ b/specification/apimanagement/resource-manager/readme.md @@ -46,6 +46,7 @@ input-file: - Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json - Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json - Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json + - Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json - Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json - Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json - Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json @@ -344,6 +345,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_api_management'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js apimanagement/resource-manager ``` ## C# @@ -372,6 +376,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -392,6 +400,7 @@ input-file: - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json + - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json new file mode 100644 index 000000000000..f82beb0b8e13 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json @@ -0,0 +1,1661 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "AppConfigurationManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/configurationStores": { + "get": { + "tags": [ + "ConfigurationStores" + ], + "description": "Lists the configuration stores for a given subscription.", + "operationId": "ConfigurationStores_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "A skip token is used to continue retrieving items after an operation returns 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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStoreListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_List": { + "$ref": "./examples/ConfigurationStoresList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores": { + "get": { + "tags": [ + "ConfigurationStores" + ], + "description": "Lists the configuration stores for a given resource group.", + "operationId": "ConfigurationStores_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "A skip token is used to continue retrieving items after an operation returns 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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStoreListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_ListByResourceGroup": { + "$ref": "./examples/ConfigurationStoresListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}": { + "get": { + "tags": [ + "ConfigurationStores" + ], + "description": "Gets the properties of the specified configuration store.", + "operationId": "ConfigurationStores_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_Get": { + "$ref": "./examples/ConfigurationStoresGet.json" + } + } + }, + "put": { + "tags": [ + "ConfigurationStores" + ], + "description": "Creates a configuration store with the specified parameters.", + "operationId": "ConfigurationStores_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "configStoreCreationParameters", + "in": "body", + "description": "The parameters for creating a configuration store.", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "201": { + "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_Create": { + "$ref": "./examples/ConfigurationStoresCreate.json" + }, + "ConfigurationStores_Create_WithIdentity": { + "$ref": "./examples/ConfigurationStoresCreateWithIdentity.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ConfigurationStores" + ], + "description": "Deletes a configuration store.", + "operationId": "ConfigurationStores_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "No Content - the specified resource was not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_Delete": { + "$ref": "./examples/ConfigurationStoresDelete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ConfigurationStores" + ], + "description": "Updates a configuration store with the specified parameters.", + "operationId": "ConfigurationStores_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "configStoreUpdateParameters", + "in": "body", + "description": "The parameters for updating a configuration store.", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationStoreUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "201": { + "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.", + "schema": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_Update": { + "$ref": "./examples/ConfigurationStoresUpdate.json" + }, + "ConfigurationStores_Update_WithIdentity": { + "$ref": "./examples/ConfigurationStoresUpdateWithIdentity.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/checkNameAvailability": { + "post": { + "tags": [ + "Operations" + ], + "description": "Checks whether the configuration store name is available for use.", + "operationId": "Operations_CheckNameAvailability", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "checkNameAvailabilityParameters", + "in": "body", + "description": "The object containing information for the availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/NameAvailabilityStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_CheckNameAvailable": { + "$ref": "./examples/CheckNameAvailable.json" + }, + "ConfigurationStores_CheckNameNotAvailable": { + "$ref": "./examples/CheckNameNotAvailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/ListKeys": { + "post": { + "tags": [ + "ConfigurationStores" + ], + "description": "Lists the access key for the specified configuration store.", + "operationId": "ConfigurationStores_ListKeys", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "A skip token is used to continue retrieving items after an operation returns 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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ApiKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_ListKeys": { + "$ref": "./examples/ConfigurationStoresListKeys.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/RegenerateKey": { + "post": { + "tags": [ + "ConfigurationStores" + ], + "description": "Regenerates an access key for the specified configuration store.", + "operationId": "ConfigurationStores_RegenerateKey", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "regenerateKeyParameters", + "in": "body", + "description": "The parameters for regenerating an access key.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ApiKey" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_RegenerateKey": { + "$ref": "./examples/ConfigurationStoresRegenerateKey.json" + } + } + } + }, + "/providers/Microsoft.AppConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists the operations available from this provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "A skip token is used to continue retrieving items after an operation returns 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.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": {}, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/listKeyValue": { + "post": { + "tags": [ + "ConfigurationStores" + ], + "description": "Lists a configuration store key-value.", + "operationId": "ConfigurationStores_ListKeyValue", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "listKeyValueParameters", + "in": "body", + "description": "The parameters for retrieving a key-value.", + "required": true, + "schema": { + "$ref": "#/definitions/ListKeyValueParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/KeyValue" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ConfigurationStores_ListKeyValue": { + "$ref": "./examples/ConfigurationStoresListKeyValue.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_ListByConfigurationStore", + "description": "Lists all private endpoint connections for a configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_List": { + "$ref": "./examples/ConfigurationStoresListPrivateEndpointConnections.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Private endpoint connection name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_GetConnection": { + "$ref": "./examples/ConfigurationStoresGetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "description": "Update the state of the specified private endpoint connection associated with the configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Private endpoint connection name", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection properties.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/ConfigurationStoresCreatePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "Private endpoint connection name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "No Content - the specified resource was not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/ConfigurationStoresDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByConfigurationStore", + "description": "Gets the private link resources that need to be created for a configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_ListGroupIds": { + "$ref": "./examples/PrivateLinkResourcesListByConfigurationStore.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_Get", + "description": "Gets a private link resource that need to be created for a configuration store.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ConfigStoreNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_Get": { + "$ref": "./examples/PrivateLinkResourceGet.json" + } + } + } + } + }, + "definitions": { + "ConfigurationStoreListResult": { + "description": "The result of a request to list configuration stores.", + "type": "object", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationStore" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "ConfigurationStore": { + "description": "The configuration store along with all resource properties. The Configuration Store will have all information to begin utilizing it.", + "required": [ + "location", + "sku" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "The managed identity information, if configured." + }, + "properties": { + "$ref": "#/definitions/ConfigurationStoreProperties", + "description": "The properties of a configuration store.", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the configuration store." + } + } + }, + "ConfigurationStoreProperties": { + "description": "The properties of a configuration store.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the configuration store.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of configuration store.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The DNS endpoint where the configuration store API will be available.", + "type": "string", + "readOnly": true + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "The encryption settings of the configuration store." + }, + "privateEndpointConnections": { + "description": "The list of private endpoint connections that are set up for this resource.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionReference" + } + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + } + }, + "EncryptionProperties": { + "type": "object", + "description": "The encryption settings for a configuration store.", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + } + } + }, + "PrivateEndpointConnectionReference": { + "type": "object", + "description": "A reference to a related private endpoint connection.", + "properties": { + "id": { + "description": "The resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + } + }, + "KeyVaultProperties": { + "type": "object", + "description": "Settings concerning key vault encryption for a configuration store.", + "properties": { + "keyIdentifier": { + "description": "The URI of the key vault key used to encrypt data.", + "type": "string" + }, + "identityClientId": { + "description": "The client id of the identity which will be used to access key vault.", + "type": "string" + } + } + }, + "ConfigurationStoreUpdateParameters": { + "description": "The parameters for updating a configuration store.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationStorePropertiesUpdateParameters", + "description": "The properties for updating a configuration store.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "The managed identity information for the configuration store." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the configuration store." + }, + "tags": { + "description": "The ARM resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ConfigurationStorePropertiesUpdateParameters": { + "description": "The properties for updating a configuration store.", + "type": "object", + "properties": { + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "The encryption settings of the configuration store." + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Parameters used for checking whether a resource name is available.", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "The name to check for availability.", + "type": "string" + }, + "type": { + "description": "The resource type to check for name availability.", + "enum": [ + "Microsoft.AppConfiguration/configurationStores" + ], + "type": "string", + "x-ms-enum": { + "name": "ConfigurationResourceType", + "modelAsString": true + } + } + } + }, + "NameAvailabilityStatus": { + "description": "The result of a request to check the availability of a resource name.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value indicating whether the resource name is available.", + "type": "boolean", + "readOnly": true + }, + "message": { + "description": "If any, the error message that provides more detail for the reason that the name is not available.", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "If any, the reason that the name is not available.", + "type": "string", + "readOnly": true + } + } + }, + "ApiKeyListResult": { + "description": "The result of a request to list API keys.", + "type": "object", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/ApiKey" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "ApiKey": { + "description": "An API key used for authenticating with a configuration store endpoint.", + "type": "object", + "properties": { + "id": { + "description": "The key ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "A name for the key describing its usage.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The value of the key that is used for authentication purposes.", + "type": "string", + "readOnly": true + }, + "connectionString": { + "description": "A connection string that can be used by supporting clients for authentication.", + "type": "string", + "readOnly": true + }, + "lastModified": { + "format": "date-time", + "description": "The last time any of the key's properties were modified.", + "type": "string", + "readOnly": true + }, + "readOnly": { + "description": "Whether this key can only be used for read operations.", + "type": "boolean", + "readOnly": true + } + } + }, + "RegenerateKeyParameters": { + "description": "The parameters used to regenerate an API key.", + "type": "object", + "properties": { + "id": { + "description": "The id of the key to regenerate.", + "type": "string" + } + } + }, + "ListKeyValueParameters": { + "description": "The parameters used to list a configuration store key-value", + "required": [ + "key" + ], + "type": "object", + "properties": { + "key": { + "description": "The key to retrieve.", + "type": "string" + }, + "label": { + "description": "The label of the key.", + "type": "string" + } + } + }, + "KeyValue": { + "description": "The result of a request to retrieve a key-value from the specified configuration store.", + "type": "object", + "properties": { + "key": { + "description": "The primary identifier of a key-value.\r\nThe key is used in unison with the label to uniquely identify a key-value.", + "type": "string", + "readOnly": true + }, + "label": { + "description": "A value used to group key-values.\r\nThe label is used in unison with the key to uniquely identify a key-value.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The value of the key-value.", + "type": "string", + "readOnly": true + }, + "contentType": { + "description": "The content type of the key-value's value.\r\nProviding a proper content-type can enable transformations of values when they are retrieved by applications.", + "type": "string", + "readOnly": true + }, + "eTag": { + "description": "An ETag indicating the state of a key-value within a configuration store.", + "type": "string", + "readOnly": true + }, + "lastModified": { + "format": "date-time", + "description": "The last time a modifying operation was performed on the given key-value.", + "type": "string", + "readOnly": true + }, + "locked": { + "description": "A value indicating whether the key-value is locked.\r\nA locked key-value may not be modified until it is unlocked.", + "type": "boolean", + "readOnly": true + }, + "tags": { + "description": "A dictionary of tags that can help identify what a key-value may be applicable for.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "OperationDefinitionListResult": { + "description": "The result of a request to list configuration store operations.", + "type": "object", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationDefinition" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "OperationDefinition": { + "description": "The definition of a configuration store operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDefinitionDisplay", + "description": "The display information for the configuration store operation." + } + } + }, + "OperationDefinitionDisplay": { + "description": "The display information for a configuration store operation.", + "type": "object", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft App Configuration.\"", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + }, + "ResourceIdentity": { + "type": "object", + "description": "An identity that can be associated with a resource.", + "properties": { + "type": { + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + } + }, + "principalId": { + "description": "The principal id of the identity. This property will only be provided for a system-assigned identity.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant id associated with the resource's identity. This property will only be provided for a system-assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "UserIdentity": { + "type": "object", + "description": "A resource identity that is managed by the user of the service.", + "properties": { + "principalId": { + "description": "The principal ID of the user-assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client ID of the user-assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "Sku": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The SKU name of the configuration store.", + "type": "string" + } + }, + "description": "Describes a configuration store SKU." + }, + "Error": { + "description": "AppConfiguration error object.", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + } + } + }, + "Resource": { + "description": "An Azure resource.", + "required": [ + "location" + ], + "properties": { + "id": { + "description": "The resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the resource. This cannot be changed after the resource is created.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "description": "The resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "description": "The provisioning status of the private endpoint connection.", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource Id for private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "actionsRequired": { + "enum": [ + "None", + "Recreate" + ], + "type": "string", + "readOnly": true, + "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)", + "x-ms-enum": { + "name": "ActionsRequired", + "modelAsString": true + } + } + } + }, + "PrivateLinkResourceListResult": { + "type": "object", + "description": "A list of private link resources.", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next set of paged results.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "type": "object", + "description": "A resource that supports private link capabilities.", + "properties": { + "id": { + "description": "The resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Private link resource properties.", + "x-ms-client-flatten": true + } + } + }, + "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" + }, + "readOnly": true, + "description": "The list of required DNS zone names of the private link resource." + } + }, + "description": "Properties of a private link resource." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Microsoft Azure subscription ID.", + "required": true, + "type": "string" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group to which the container registry belongs.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ConfigStoreNameParameter": { + "name": "configStoreName", + "in": "path", + "description": "The name of the configuration store.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 5, + "pattern": "^[a-zA-Z0-9_-]*$", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The client API version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameAvailable.json new file mode 100644 index 000000000000..fcab22cbda15 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameAvailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "api-version": "2020-06-01", + "checkNameAvailabilityParameters": { + "name": "contoso", + "type": "Microsoft.AppConfiguration/configurationStores" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "message": "The specified name is available.", + "reason": null + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameNotAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameNotAvailable.json new file mode 100644 index 000000000000..6df008d2160d --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameNotAvailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "api-version": "2020-06-01", + "checkNameAvailabilityParameters": { + "name": "contoso", + "type": "Microsoft.AppConfiguration/configurationStores" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The specified name is already in use." + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreate.json new file mode 100644 index 000000000000..c769ec3ecbbe --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01", + "configStoreCreationParameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "tags": { + "myTag": "myTagValue" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "myTag": "myTagValue" + } + } + }, + "201": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Creating", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "myTag": "myTagValue" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreatePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreatePrivateEndpointConnection.json new file mode 100644 index 000000000000..f05b50598694 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreatePrivateEndpointConnection.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "privateEndpointConnectionName": "myConnection", + "api-version": "2020-06-01", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreateWithIdentity.json new file mode 100644 index 000000000000..3f4edb802032 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreateWithIdentity.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01", + "configStoreCreationParameters": { + "location": "westus", + "sku": { + "name": "Standard" + }, + "tags": { + "myTag": "myTagValue" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" + } + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "myTag": "myTagValue" + } + } + }, + "201": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Creating", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" + } + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "myTag": "myTagValue" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDelete.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDelete.json new file mode 100644 index 000000000000..097cb7e486b3 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDeletePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..1188e53caf8a --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "privateEndpointConnectionName": "myConnection", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGet.json new file mode 100644 index 000000000000..479921b1c07f --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": {} + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGetPrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..dc9dfa0fa501 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGetPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "privateEndpointConnectionName": "myConnection", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresList.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresList.json new file mode 100644 index 000000000000..01a057deb0fc --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresList.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": {} + }, + { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T23:06:59+00:00", + "endpoint": "https://contoso2.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2", + "name": "contoso2", + "location": "westus", + "tags": {} + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListByResourceGroup.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListByResourceGroup.json new file mode 100644 index 000000000000..91c9136c1f94 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": {} + }, + { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T23:06:59+00:00", + "endpoint": "https://contoso2.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2", + "name": "contoso2", + "location": "westus", + "tags": {} + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeyValue.json new file mode 100644 index 000000000000..a780f8074510 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeyValue.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "fayeh", + "api-version": "2020-06-01", + "listKeyValueParameters": { + "key": "MaxRequests", + "label": "dev" + } + }, + "responses": { + "200": { + "body": { + "key": "MaxRequests", + "label": "dev", + "value": "100", + "contentType": "", + "eTag": "4f6dd610dd5e4deebc7fbaef685fb903", + "lastModified": "2017-12-05T02:41:26+00:00", + "locked": false, + "tags": { + "t1": "value1", + "t2": "value2" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeys.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeys.json new file mode 100644 index 000000000000..24f870ab5624 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeys.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "439AD01B4BE67DB1", + "name": "Primary", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-24T16:30:54+00:00", + "readOnly": false + }, + { + "id": "CB45E100456857B9", + "name": "Secondary", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-24T16:30:54+00:00", + "readOnly": false + }, + { + "id": "B3AC55B7E71431A9", + "name": "Primary Read Only", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-24T16:30:54+00:00", + "readOnly": true + }, + { + "id": "E2AF6A9A89DCC177", + "name": "Secondary Read Only", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-24T16:30:54+00:00", + "readOnly": true + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListPrivateEndpointConnections.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListPrivateEndpointConnections.json new file mode 100644 index 000000000000..d16b2493026c --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListPrivateEndpointConnections.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.AppConfiguration/configurationStores/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresRegenerateKey.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresRegenerateKey.json new file mode 100644 index 000000000000..5cab41e0b835 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresRegenerateKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01", + "regenerateKeyParameters": { + "id": "439AD01B4BE67DB1" + } + }, + "responses": { + "200": { + "body": { + "id": "439AD01B4BE67DB1", + "name": "Primary", + "value": "000000000000000000000000000000000000000000000000000000", + "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "lastModified": "2018-04-26T22:59:24.2370906+00:00", + "readOnly": false + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdate.json new file mode 100644 index 000000000000..67248bc6daa3 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01", + "configStoreUpdateParameters": { + "tags": { + "Category": "Marketing" + }, + "sku": { + "name": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "Category": "Marketing" + } + } + }, + "201": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Updating", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "Category": "Marketing" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdateWithIdentity.json new file mode 100644 index 000000000000..f7444dbab67d --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdateWithIdentity.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01", + "configStoreUpdateParameters": { + "tags": { + "Category": "Marketing" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Succeeded", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" + } + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "Category": "Marketing" + } + } + }, + "201": { + "body": { + "type": "Microsoft.AppConfiguration/configurationStores", + "properties": { + "provisioningState": "Updating", + "creationDate": "2018-04-24T16:30:55+00:00", + "endpoint": "https://contoso.azconfig.io", + "encryption": { + "keyVaultProperties": { + "keyIdentifier": null, + "identityClientId": null + } + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard" + }, + "identity": { + "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA", + "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB", + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC", + "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD" + } + } + }, + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso", + "name": "contoso", + "location": "westus", + "tags": { + "Category": "Marketing" + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourceGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourceGet.json new file mode 100644 index 000000000000..ccbd2784bf6e --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourceGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01", + "groupName": "configurationStores" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores", + "name": "configurationStores", + "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources", + "properties": { + "groupId": "configurationStores", + "requiredMembers": [ + "configurationStores" + ], + "requiredZoneNames": [ + "privatelink.azconfig.io" + ] + } + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourcesListByConfigurationStore.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourcesListByConfigurationStore.json new file mode 100644 index 000000000000..fd340f657b36 --- /dev/null +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourcesListByConfigurationStore.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "myResourceGroup", + "configStoreName": "contoso", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores", + "name": "configurationStores", + "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources", + "properties": { + "groupId": "configurationStores", + "requiredMembers": [ + "configurationStores" + ], + "requiredZoneNames": [ + "privatelink.azconfig.io" + ] + } + } + ] + } + } + } +} diff --git a/specification/appconfiguration/resource-manager/readme.azureresourceschema.md b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8c628ac435fb --- /dev/null +++ b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-appconfiguration-2020-06-01 + - tag: schema-appconfiguration-2019-11-01-preview + - tag: schema-appconfiguration-2019-10-01 + - tag: schema-appconfiguration-2019-02-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-appconfiguration-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-appconfiguration-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json + +``` + +### Tag: schema-appconfiguration-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-appconfiguration-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json + +``` + +### Tag: schema-appconfiguration-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-appconfiguration-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json + +``` + +### Tag: schema-appconfiguration-2019-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-appconfiguration-2019-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json + +``` diff --git a/specification/appconfiguration/resource-manager/readme.go.md b/specification/appconfiguration/resource-manager/readme.go.md index 2571d89226d2..169e554cc7cc 100644 --- a/specification/appconfiguration/resource-manager/readme.go.md +++ b/specification/appconfiguration/resource-manager/readme.go.md @@ -13,11 +13,21 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-06-01 - tag: package-2019-11-01-preview - tag: package-2019-10-01 - tag: package-2019-02-01-preview ``` +### Tag: package-2020-06-01 and go + +These settings apply only when `--tag=package-2020-06-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06-01' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-06-01/$(namespace) +``` + ### Tag: package-2019-11-01-preview and go These settings apply only when `--tag=package-2019-11-01-preview --go` is specified on the command line. diff --git a/specification/appconfiguration/resource-manager/readme.java.md b/specification/appconfiguration/resource-manager/readme.java.md index b8c72208580f..f20aca80ff98 100644 --- a/specification/appconfiguration/resource-manager/readme.java.md +++ b/specification/appconfiguration/resource-manager/readme.java.md @@ -16,10 +16,24 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appconfiguration ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-06-01 - tag: package-2019-10-01 - tag: package-2019-02-01-preview ``` +### Tag: package-2020-06-01 and java + +These settings apply only when `--tag=package-2020-06-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag)=='package-2020-06-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.appconfiguration.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/appconfiguration/mgmt-v2020_06_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2019-10-01 and java These settings apply only when `--tag=package-2019-10-01 --java` is specified on the command line. diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md index feac2e4b88ce..8b0a55eef85c 100644 --- a/specification/appconfiguration/resource-manager/readme.md +++ b/specification/appconfiguration/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the AppConfiguration API. ``` yaml openapi-type: arm -tag: package-2019-11-01-preview +tag: package-2020-06-01 +``` + +### Tag: package-2020-06-01 + +These settings apply only when `--tag=package-2020-06-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-01' +input-file: +- Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json ``` ### Tag: package-2019-11-01-preview @@ -76,6 +85,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_app_configuration'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js appconfiguration/resource-manager ``` ## C# @@ -120,6 +132,10 @@ directive: reason: This is data plane level information proxied through the RP and cannot be changed. ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -132,6 +148,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json - $(this-folder)/Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json - $(this-folder)/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json - $(this-folder)/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json index 506c07d7005c..84c37e5c22d6 100644 --- a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json +++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json @@ -27,11 +27,11 @@ "application/json" ], "securityDefinitions": { - "azure_auth": { + "oauth2": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize?resource=https%3A%2F%2Fapi.applicationinsights.io", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "description": "Connect to Azure Application Insights API", "scopes": { "user_impersonation": "impersonate your user account" } @@ -39,7 +39,7 @@ }, "security": [ { - "azure_auth": [ + "oauth2": [ "user_impersonation" ] } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json index 7edd5795db3b..85fd1577f11b 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooks": { "get": { "description": "Get all Workbooks defined within a specified resource group and category.", "operationId": "Workbooks_ListByResourceGroup", @@ -85,7 +85,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}": { "get": { "description": "Get a single workbook by its resourceName.", "operationId": "Workbooks_Get", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json index b4e94629052f..6c1383c0621b 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries": { "get": { "description": "Gets a list of Queries defined within a Log Analytics QueryPack.", "operationId": "Queries_List", @@ -65,17 +65,17 @@ "nextLinkName": "nextLink" }, "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.", "schema": { "$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -85,7 +85,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/search": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/search": { "post": { "description": "Search a list of Queries defined within a Log Analytics QueryPack according to given search properties.", "operationId": "Queries_Search", @@ -125,17 +125,17 @@ "nextLinkName": "nextLink" }, "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.", "schema": { "$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -145,7 +145,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/{queryId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/{id}": { "get": { "description": "Gets a specific Log Analytics Query defined within a Log Analytics QueryPack.", "operationId": "Queries_Get", @@ -167,17 +167,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "A single query contained within the Log Analytics QueryPack.", "schema": { "$ref": "#/definitions/LogAnalyticsQueryPackQuery" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -216,22 +216,71 @@ } ], "responses": { + "200": { + "description": "The new or updated query contained within the Log Analytics QueryPack.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + }, "default": { "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } + } + }, + "x-ms-examples": { + "QueryPut": { + "$ref": "./examples/QueryPackQueriesPut.json" + } + } + }, + "patch": { + "description": "Adds or Updates a specific Query within a Log Analytics QueryPack.", + "operationId": "Queries_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, + { + "$ref": "#/parameters/QueryPackNameParameter" + }, + { + "$ref": "#/parameters/QueryIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "QueryPayload", + "description": "Properties that need to be specified to create a new query and add it to a Log Analytics QueryPack.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + } + ], + "responses": { "200": { "description": "The new or updated query contained within the Log Analytics QueryPack.", "schema": { "$ref": "#/definitions/LogAnalyticsQueryPackQuery" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { - "QueryPut": { - "$ref": "./examples/QueryPackQueriesPut.json" + "QueryPatch": { + "$ref": "./examples/QueryPackQueriesUpdate.json" } } }, @@ -256,17 +305,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "The query has been successfully removed from the Log Analytics QueryPack" }, "204": { "description": "The specified query or associated QueryPack does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-examples": { @@ -281,16 +330,82 @@ "ErrorResponse": { "description": "Describe the format of an Error response.", "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorInfo" + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", "properties": { "code": { - "description": "Error code", + "description": "The error's code.", "type": "string" }, "message": { - "description": "Error message indicating why the operation failed.", + "description": "A human readable error message.", "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + }, + "value": { + "description": "Indicates which value in 'target' is responsible for the error.", + "type": "string" + }, + "resources": { + "description": "Indicates resources which were responsible for the error.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalProperties": { + "description": "Additional properties that can be provided on the error details object", + "type": "object" } - } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorInfo": { + "title": "The code and message for an error.", + "type": "object", + "properties": { + "code": { + "description": "A machine readable error code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "details": { + "description": "error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "innererror": { + "description": "Inner error details if they exist.", + "$ref": "#/definitions/ErrorInfo" + }, + "additionalProperties": { + "description": "Additional properties that can be provided on the error info object", + "type": "object" + } + }, + "required": [ + "code", + "message" + ] }, "AzureResourceProperties": { "properties": { @@ -308,6 +423,11 @@ "type": "string", "readOnly": true, "description": "Azure resource type" + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "Read only system data" } }, "description": "An Azure resource QueryPack-Query object" @@ -330,7 +450,7 @@ "LogAnalyticsQueryPackQueryProperties": { "description": "Properties that define an Log Analytics QueryPack-Query resource.", "properties": { - "queryId": { + "id": { "type": "string", "description": "The unique ID of your application. This field cannot be changed.", "readOnly": true @@ -367,31 +487,46 @@ "readOnly": false, "description": "Body of the query." }, - "linkedResourceId": { - "type": "string", - "readOnly": false, - "description": "Resource id associated with the query." - }, - "categories": { - "description": "Categories associated with the query.", - "type": "array", - "items": { - "type": "string" + "related": { + "description": "The related metadata items for the function.", + "type": "object", + "properties": { + "categories": { + "description": "The related categories for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "resourceTypes": { + "description": "The related resource types for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "solutions": { + "description": "The related Log Analytics solutions for the function.", + "type": "array", + "items": { + "type": "string" + } + } } }, - "resourceTypes": { - "description": "Resource Types associated with the query.", - "type": "array", - "items": { - "type": "string" + "tags": { + "description": "Tags associated with the query.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } } }, - "labels": { - "description": "Labels associated with the query.", - "type": "array", - "items": { - "type": "string" - } + "properties": { + "type": "object", + "description": "Additional properties that can be set for the query." } }, "required": [ @@ -402,25 +537,41 @@ "LogAnalyticsQueryPackQuerySearchProperties": { "description": "Properties that define an Log Analytics QueryPack-Query search properties.", "properties": { - "categories": { - "description": "Categories associated with the query.", - "type": "array", - "items": { - "type": "string" - } - }, - "resourceTypes": { - "description": "Resource Types associated with the query.", - "type": "array", - "items": { - "type": "string" + "related": { + "type": "object", + "description": "The related metadata items for the function.", + "properties": { + "categories": { + "description": "The related categories for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "resourceTypes": { + "description": "The related resource types for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "solutions": { + "description": "The related Log Analytics solutions for the function.", + "type": "array", + "items": { + "type": "string" + } + } } }, - "labels": { - "description": "Labels associated with the query.", - "type": "array", - "items": { - "type": "string" + "tags": { + "description": "Tags associated with the query.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } } } } @@ -443,6 +594,52 @@ "description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPack-Queries where returned in the result set." } } + }, + "SystemData": { + "description": "Read only system data", + "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 + } } }, "parameters": { @@ -455,7 +652,7 @@ "x-ms-parameter-location": "method" }, "QueryIdParameter": { - "name": "queryId", + "name": "id", "in": "path", "required": true, "type": "string", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json index de48278f9aa3..58d3e127d4db 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json @@ -34,7 +34,44 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/providers/microsoft.insights/queryPacks": { + "/providers/Microsoft.Insights/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available insights REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Insights error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/queryPacks": { "get": { "description": "Gets a list of all Log Analytics QueryPacks within a subscription.", "operationId": "QueryPacks_List", @@ -70,7 +107,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks": { "get": { "description": "Gets a list of Log Analytics QueryPacks within a resource group.", "operationId": "QueryPacks_ListByResourceGroup", @@ -109,7 +146,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}": { "delete": { "description": "Deletes a Log Analytics QueryPack.", "operationId": "QueryPacks_Delete", @@ -285,16 +322,82 @@ "ErrorResponse": { "description": "Describe the format of an Error response.", "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorInfo" + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", "properties": { "code": { - "description": "Error code", + "description": "The error's code.", "type": "string" }, "message": { - "description": "Error message indicating why the operation failed.", + "description": "A human readable error message.", + "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", "type": "string" + }, + "value": { + "description": "Indicates which value in 'target' is responsible for the error.", + "type": "string" + }, + "resources": { + "description": "Indicates resources which were responsible for the error.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalProperties": { + "description": "Additional properties that can be provided on the error details object", + "type": "object" } - } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorInfo": { + "title": "The code and message for an error.", + "type": "object", + "properties": { + "code": { + "description": "A machine readable error code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "details": { + "description": "error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "innererror": { + "description": "Inner error details if they exist.", + "$ref": "#/definitions/ErrorInfo" + }, + "additionalProperties": { + "description": "Additional properties that can be provided on the error info object", + "type": "object" + } + }, + "required": [ + "code", + "message" + ] }, "QueryPacksResource": { "properties": { @@ -408,6 +511,68 @@ "description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPacks where returned in the result set." } } + }, + "Operation": { + "description": "CDN REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{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" + } + } + }, + "OperationListResult": { + "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.", + "type": "object", + "properties": { + "value": { + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/Operation" + }, + "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." + } + } + }, + "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" + } + } } }, "parameters": { diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json index f2efa8ef8cc2..c5bbf23ef665 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json @@ -4,7 +4,7 @@ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", "resourceGroupName": "my-resource-group", "queryPackName": "my-querypack", - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" }, "responses": { "200": {}, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json index 5d4d7f4415b8..c2666213a43f 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json @@ -4,7 +4,7 @@ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", "resourceGroupName": "my-resource-group", "queryPackName": "my-querypack", - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" }, "responses": { "200": { @@ -12,9 +12,17 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { "displayName": "Exceptions - New in the last 24 hours", - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", "timeModified": "2018-02-14T13:13:19.3381394Z", "timeCreated": "2018-02-12T11:44:39.2980634Z", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json index 316a829cfdf1..657b2d706e0f 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json @@ -14,8 +14,16 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476", "name": "4337bb16-d6fe-4ff7-97cf-59df25941476", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476", + "id": "4337bb16-d6fe-4ff7-97cf-59df25941476", "timeCreated": "2019-08-15T10:29:56.1030254Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:29:56.1030254Z", @@ -28,8 +36,16 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1", "name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "id": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", "timeCreated": "2019-08-15T10:30:26.7943629Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:26.7943629Z", @@ -42,8 +58,16 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd", "name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "id": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", "timeCreated": "2019-08-15T10:30:29.4505584Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:29.4505584Z", @@ -56,8 +80,16 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a5a9010e-e4b7-45ad-8b14-09d7e6082819", "name": "a5a9010e-e4b7-45ad-8b14-09d7e6082819", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "a5a9010e-e4b7-45ad-8b14-09d7e6082819", + "id": "a5a9010e-e4b7-45ad-8b14-09d7e6082819", "timeCreated": "2019-08-15T10:30:32.5742324Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:32.5742324Z", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json index 3680b863b5ae..7146d0101472 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json @@ -4,20 +4,25 @@ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", "resourceGroupName": "my-resource-group", "queryPackName": "my-querypack", - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "QueryPayload": { "properties": { "displayName": "Exceptions - New in the last 24 hours", "description": "my description", "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", - "categories": [ - "analytics" - ], - "labels": [ - "my-label", - "my-other-label" - ], - "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere" + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } } }, @@ -27,22 +32,35 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", "timeCreated": "2019-08-15T10:30:32.5742324Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:32.5742324Z", "displayName": "Exceptions - New in the last 24 hours", "description": "my description", "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", - "categories": [ - "analytics" - ], - "labels": [ - "my-label", - "my-other-label" - ], - "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere" + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json index 186ce1ec3f41..7a5d2118c10d 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json @@ -7,13 +7,17 @@ "includeBody": true, "$top": 3, "QuerySearchProperties": { - "categories": [ - "other", - "analytics" - ], - "labels": [ - "my-label" - ] + "related": { + "categories": [ + "other", + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ] + } } }, "responses": { @@ -24,61 +28,106 @@ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476", "name": "4337bb16-d6fe-4ff7-97cf-59df25941476", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476", + "id": "4337bb16-d6fe-4ff7-97cf-59df25941476", "timeCreated": "2019-08-15T10:29:56.1030254Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:29:56.1030254Z", "displayName": "Heartbeat_1", "description": "Thie query takes 10 entries of heartbeat 0", "body": "Heartbeat | take 1", - "categories": [ - "other" - ], - "labels": [ - "my-label" - ] + "related": { + "categories": [ + "other" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } }, { "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1", "name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "id": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", "timeCreated": "2019-08-15T10:30:26.7943629Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:26.7943629Z", "displayName": "Heartbeat_2", "description": "Thie query takes 10 entries of heartbeat 1", "body": "Heartbeat | take 1", - "categories": [ - "analytics" - ], - "labels": [ - "my-label" - ] + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } }, { "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd", "name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, "properties": { - "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "id": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", "timeCreated": "2019-08-15T10:30:29.4505584Z", "author": "1809f206-263a-46f7-942d-4572c156b7e7", "timeModified": "2019-08-15T10:30:29.4505584Z", "displayName": "Heartbeat_3", "description": "Thie query takes 10 entries of heartbeat 2", "body": "Heartbeat | take 1", - "categories": [ - "other", - "analytics" - ], - "labels": [ - "my-label" - ] + "related": { + "categories": [ + "other", + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json new file mode 100644 index 000000000000..7146d0101472 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2019-09-01-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "QueryPayload": { + "properties": { + "displayName": "Exceptions - New in the last 24 hours", + "description": "my description", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "type": "microsoft.insights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "timeCreated": "2019-08-15T10:30:32.5742324Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:32.5742324Z", + "displayName": "Exceptions - New in the last 24 hours", + "description": "my description", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json index d1c3fab2538e..6bc485e75fd9 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooktemplates": { "get": { "description": "Get all Workbook templates defined within a specified resource group.", "operationId": "WorkbookTemplates_ListByResourceGroup", @@ -73,7 +73,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates/{resourceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooktemplates/{resourceName}": { "get": { "description": "Get a single workbook template by its resourceName.", "operationId": "WorkbookTemplates_Get", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json index c8606af89280..574b88250e5d 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json @@ -509,6 +509,12 @@ "type": "string", "description": "ResourceId of the log analytics workspace which the data will be ingested to." }, + "LaMigrationDate": { + "type": "string", + "readOnly": true, + "description": "The date which the component got migrated to LA, in ISO 8601 format.", + "format": "date-time" + }, "PrivateLinkScopedResources": { "readOnly": true, "type": "array", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/LiveTokenGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/LiveTokenGet.json new file mode 100644 index 000000000000..abf2f0593a87 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/LiveTokenGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceUri": "subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/FabrikamFiberApp/providers/microsoft.insights/components/CustomAvailabilityTest/providers/microsoft.insights/generatelivetoken", + "api-version": "2020-06-02-preview" + }, + "responses": { + "200": { + "body": { + "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/Operations_List.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/Operations_List.json new file mode 100644 index 000000000000..fdfbf1775678 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/Operations_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.insights/generatelivetoken", + "display": { + "provider": "Microsoft Container Instance", + "resource": "generatelivetoken", + "operation": "Gets an access token for live metrics stream data", + "description": "Gets an access token for live metrics stream data" + }, + "origin": "User" + } + ] + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json new file mode 100644 index 000000000000..bac300f6f969 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json @@ -0,0 +1,205 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationInsightsManagementClient", + "x-ms-code-generation-settings": { + "name": "ApplicationInsightsManagementClient" + }, + "version": "2020-06-02-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/microsoft.insights/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List available operations.", + "description": "List the available operations supported by the resource provider.", + "operationId": "Operations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/{resourceUri}/providers/microsoft.insights/generatelivetoken": { + "post": { + "tags": [ + "LiveToken" + ], + "operationId": "LiveToken_Get", + "description": "**Gets an access token for live metrics stream data.**", + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../2020-03-01-preview/componentLinkedStorageAccounts_API.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Successful response containing the live metrics stream token.", + "schema": { + "$ref": "#/definitions/LiveTokenResponse" + }, + "examples": { + "application/json": { + "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" + } + } + } + }, + "x-ms-examples": { + "Get live token for resource": { + "$ref": "./examples/LiveTokenGet.json" + } + } + } + } + }, + "definitions": { + "LiveTokenResponse": { + "type": "object", + "properties": { + "liveToken": { + "type": "string", + "description": "JWT token for accessing live metrics stream data.", + "readOnly": true + } + }, + "description": "The response to a live token query." + }, + "OperationsListResult": { + "description": "Result of the List Operations operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of operations", + "type": "array", + "items": { + "$ref": "#/definitions/OperationLive" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "OperationLive": { + "description": "Represents an operation returned by the GetOperations request", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationInfo", + "description": "Display name of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "description": "Properties of the operation", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "OperationInfo": { + "description": "Information about an operation", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider", + "type": "string" + }, + "resource": { + "description": "Name of the resource type", + "type": "string" + }, + "operation": { + "description": "Name of the operation", + "type": "string" + }, + "description": { + "description": "Description of the operation", + "type": "string" + } + } + } + }, + "parameters": { + "ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The identifier of the resource.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json new file mode 100644 index 000000000000..44b33f169d2d --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "subscriptionId": "00000000-0000-0000-0000-00000000", + "workbookProperties": { + "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "location": "west us", + "kind": "user", + "properties": { + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "displayName": "Blah Blah Blah", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "category": "workbook" + }, + "tags": [ + "TagSample01", + "TagSample02" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "kind": "user", + "properties": { + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "displayName": "Blah Blah Blah", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "ME", + "category": "workbook" + }, + "tags": [ + "TagSample01", + "TagSample02" + ] + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "kind": "user", + "properties": { + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "displayName": "Blah Blah Blah", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "ME", + "category": "workbook" + }, + "tags": [ + "TagSample01", + "TagSample02" + ] + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json new file mode 100644 index 000000000000..0f0066656add --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" + }, + "responses": { + "201": {}, + "204": {} + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json new file mode 100644 index 000000000000..640ff6b08c01 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "kind": "user", + "properties": { + "displayName": "My New Workbook", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "userId": "userId", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "ME", + "category": "workbook", + "timeModified": null + }, + "tags": [ + "TagSample01", + "TagSample02" + ] + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json new file mode 100644 index 000000000000..6df92009e06e --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "workbookProperties": { + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "location": "west us", + "tags": [ + "TagSample01", + "TagSample02" + ], + "kind": "user", + "properties": { + "displayName": "Blah Blah Blah", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "ME", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "category": "workbook" + } + } + }, + "responses": { + "200": { + "body": { + "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "tags": [ + "TagSample01", + "TagSample02" + ], + "kind": "user", + "properties": { + "displayName": "Blah Blah Blah", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "ME", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "category": "workbook" + } + } + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json new file mode 100644 index 000000000000..5aca7c5f3e07 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2015-05-01", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", + "resourceGroupName": "my-resource-group", + "category": "workbook" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "tags": [], + "kind": "user", + "properties": { + "displayName": "My Workbook 1", + "userId": "userId", + "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "ME", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "category": "workbook", + "timeModified": null + } + }, + { + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722", + "type": "microsoft.insights/myworkbooks", + "location": "westus", + "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "kind": "user", + "tags": [ + "SampleTag01", + "SampleTag2" + ], + "properties": { + "displayName": "My Workbook 2", + "userId": "userId", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", + "version": "ME", + "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens", + "category": "workbook", + "timeModified": null + } + } + ] + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json new file mode 100644 index 000000000000..3f3d5067ce54 --- /dev/null +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json @@ -0,0 +1,539 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationInsightsManagementClient", + "description": "Azure Application Insights private workbook type.", + "version": "2015-05-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.Insights/myWorkbooks": { + "get": { + "description": "Get all private workbooks defined within a specified resource group and category.", + "operationId": "MyWorkbooks_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/CategoryParameter" + }, + { + "$ref": "#/parameters/TagsParameter" + }, + { + "$ref": "#/parameters/CanFetchWorkbookContentParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more private workbook definitions.", + "schema": { + "$ref": "#/definitions/MyWorkbooksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "WorkbooksList": { + "$ref": "./examples/MyWorkbooksList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/myWorkbooks": { + "get": { + "description": "Get all private workbooks defined within a specified subscription and category.", + "operationId": "MyWorkbooks_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CategoryParameter" + }, + { + "$ref": "#/parameters/TagsParameter" + }, + { + "$ref": "#/parameters/CanFetchWorkbookContentParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more private workbook definitions.", + "schema": { + "$ref": "#/definitions/MyWorkbooksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "WorkbooksList": { + "$ref": "./examples/MyWorkbooksList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/myWorkbooks/{resourceName}": { + "get": { + "description": "Get a single private workbook by its resourceName.", + "operationId": "MyWorkbooks_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A private workbook definition.", + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookGet": { + "$ref": "./examples/MyWorkbookGet.json" + } + } + }, + "delete": { + "description": "Delete a private workbook.", + "operationId": "MyWorkbooks_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "The private workbook has been successfully deleted." + }, + "204": { + "description": "The resource doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookDelete": { + "$ref": "./examples/MyWorkbookDelete.json" + } + } + }, + "put": { + "description": "Create a new private workbook.", + "operationId": "MyWorkbooks_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "workbookProperties", + "description": "Properties that need to be specified to create a new private workbook.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + } + ], + "responses": { + "200": { + "description": "The newly created private workbook.", + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + }, + "201": { + "description": "The newly created private workbook.", + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookAdd": { + "$ref": "./examples/MyWorkbookAdd.json" + } + } + }, + "patch": { + "description": "Updates a private workbook that has already been added.", + "operationId": "MyWorkbooks_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkbookResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "workbookProperties", + "description": "Properties that need to be specified to create a new private workbook.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + } + ], + "responses": { + "200": { + "description": "The private workbook definition updated.", + "schema": { + "$ref": "#/definitions/MyWorkbook" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MyWorkbookError" + } + } + }, + "x-ms-examples": { + "WorkbookUpdate": { + "$ref": "./examples/MyWorkbookUpdate.json" + } + } + } + } + }, + "definitions": { + "MyWorkbookResource": { + "properties": { + "id": { + "type": "string", + "description": "Azure resource Id", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "name": { + "type": "string", + "description": "Azure resource name", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "type": { + "type": "string", + "description": "Azure resource type", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "MyWorkbooksListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MyWorkbook" + }, + "description": "An array of private workbooks." + } + }, + "description": "Workbook list result." + }, + "MyWorkbook": { + "description": "An Application Insights private workbook definition.", + "allOf": [ + { + "$ref": "#/definitions/MyWorkbookResource" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "The kind of workbook. Choices are user and shared.", + "enum": [ + "user", + "shared" + ], + "x-ms-enum": { + "name": "SharedTypeKind", + "modelAsString": true + } + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Metadata describing a workbook for an Azure resource.", + "$ref": "#/definitions/MyWorkbookProperties" + } + } + }, + "MyWorkbookProperties": { + "description": "Properties that contain a private workbook.", + "required": [ + "displayName", + "category", + "serializedData" + ], + "properties": { + "displayName": { + "type": "string", + "description": "The user-defined name of the private workbook." + }, + "serializedData": { + "type": "string", + "description": "Configuration of this particular private workbook. Configuration data is a string containing valid JSON" + }, + "version": { + "type": "string", + "description": "This instance's version of the data model. This can change as new features are added that can be marked private workbook." + }, + "timeModified": { + "type": "string", + "description": "Date and time in UTC of the last modification that was made to this private workbook definition.", + "readOnly": true + }, + "category": { + "type": "string", + "description": "Workbook category, as defined by the user at creation time." + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of 0 or more tags that are associated with this private workbook definition" + }, + "userId": { + "type": "string", + "description": "Unique user id of the specific user that owns this private workbook.", + "readOnly": true + }, + "sourceId": { + "type": "string", + "description": "Optional resourceId for a source resource." + } + } + }, + "ErrorFieldContract": { + "properties": { + "code": { + "type": "string", + "description": "Property level error code." + }, + "message": { + "type": "string", + "description": "Human-readable representation of property-level error." + }, + "target": { + "type": "string", + "description": "Property name." + } + }, + "description": "Error Field contract." + }, + "MyWorkbookError": { + "properties": { + "code": { + "type": "string", + "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response." + }, + "message": { + "type": "string", + "description": "Human-readable representation of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorFieldContract" + }, + "description": "The list of invalid fields send in request, in case of validation error." + } + }, + "description": "Error message body that will indicate why the operation failed." + } + }, + "parameters": { + "WorkbookResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Application Insights component resource.", + "x-ms-parameter-location": "method" + }, + "CategoryParameter": { + "name": "category", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "workbook", + "TSG", + "performance", + "retention" + ], + "x-ms-enum": { + "name": "CategoryType", + "modelAsString": true + }, + "description": "Category of workbook to return.", + "x-ms-parameter-location": "method" + }, + "SourceIdParameter": { + "name": "sourceId", + "in": "query", + "required": true, + "type": "string", + "description": "Azure Resource Id that will fetch all linked workbooks.", + "x-ms-parameter-location": "method" + }, + "ResourceIdParameter": { + "name": "resourceId", + "in": "query", + "required": true, + "type": "string", + "description": "Azure Resource Id or any target workbook resource id.", + "x-ms-parameter-location": "method" + }, + "CanFetchWorkbookContentParameter": { + "name": "canFetchContent", + "in": "query", + "required": false, + "type": "boolean", + "description": "Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.", + "x-ms-parameter-location": "method" + }, + "TagsParameter": { + "name": "tags", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "csv", + "description": "Tags presents on each workbook returned.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/workbooks_API.json index 3586ec6c86b1..f3fb7bdc4e2d 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/workbooks_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/workbooks_API.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooks": { "get": { "description": "Get all Workbooks defined within a specified resource group and category.", "operationId": "Workbooks_ListByResourceGroup", @@ -82,7 +82,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}": { "get": { "description": "Get a single workbook by its resourceName.", "operationId": "Workbooks_Get", diff --git a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..12a53d8275a8 --- /dev/null +++ b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,148 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-insights-2020-06-02-preview + - tag: schema-insights-2020-03-01-preview + - tag: schema-insights-2020-02-10-preview + - tag: schema-insights-2020-02-02-preview + - tag: schema-insights-2019-10-17-preview + - tag: schema-insights-2019-09-01-preview + - tag: schema-insights-2018-06-17-preview + - tag: schema-insights-2018-05-01-preview + - tag: schema-insights-2017-10-01 + - tag: schema-insights-2015-05-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-insights-2020-06-02-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2020-06-02-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json + +``` + +### Tag: schema-insights-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json + +``` + +### Tag: schema-insights-2020-02-10-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2020-02-10-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json + +``` + +### Tag: schema-insights-2020-02-02-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2020-02-02-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2020-02-02-preview/components_API.json + +``` + +### Tag: schema-insights-2019-10-17-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-10-17-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json + +``` + +### Tag: schema-insights-2019-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json + - Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json + +``` + +### Tag: schema-insights-2018-06-17-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-06-17-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json + +``` + +### Tag: schema-insights-2018-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2018-05-01-preview/components_API.json + - Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json + +``` + +### Tag: schema-insights-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json + - Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json + +``` + +### Tag: schema-insights-2015-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2015-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2015-05-01/aiOperations_API.json + - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json + - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json + - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json + - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json + - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json + - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json + - Microsoft.Insights/stable/2015-05-01/favorites_API.json + - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json + - Microsoft.Insights/stable/2015-05-01/webTests_API.json + - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json + - Microsoft.Insights/stable/2015-05-01/workbooks_API.json + - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json + - Microsoft.Insights/stable/2015-05-01/components_API.json + +``` diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md index d3b2a8df018a..1fb4390be7b1 100644 --- a/specification/applicationinsights/resource-manager/readme.go.md +++ b/specification/applicationinsights/resource-manager/readme.go.md @@ -41,6 +41,7 @@ input-file: - ./Microsoft.Insights/stable/2015-05-01/components_API.json - ./Microsoft.Insights/stable/2015-05-01/webTests_API.json - ./Microsoft.Insights/stable/2015-05-01/workbooks_API.json + - ./Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json override-info: title: ApplicationInsightsManagementClient diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md index b01e064aecde..1a530b904a3c 100644 --- a/specification/applicationinsights/resource-manager/readme.md +++ b/specification/applicationinsights/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the ApplicationInsights API. title: ApplicationInsightsManagementClient description: Composite Swagger for Application Insights Management Client openapi-type: arm -tag: package-preview-2020-02 +tag: package-preview-2020-06 ``` ## Suppression @@ -37,216 +37,116 @@ tag: package-preview-2020-02 directive: - suppress: LongRunningOperationsWithLongRunningExtension where: - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge"].post + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge"].post' reason: Original creation of the service did not comply with current ARM schema standards. The team is aware of it and any future updates should rectify the issue. - - suppress: TrackedResourceListByImmediateParent where: - $.definitions reason: - we do have list operations available for our operations on individual instances of objects returned. False positives. - - suppress: PutRequestResponseScheme - reason: This api was existing there from 2015, it will break existing client if we change the request/response format - #where: - # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"].put - + reason: 'This api was existing there from 2015, it will break existing client if we change the request/response format' - suppress: ListInOperationName - reason: The return value is an object, not an array. Looks like a false positive of the validation tool. - #where: - # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"].get.operationId - + reason: 'The return value is an object, not an array. Looks like a false positive of the validation tool.' - suppress: PutInOperationName - reason: We are not doing create on this api, it is only doing update in this PUT api call. - #where: - # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"].put.operationId - # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"].put.operationId - + reason: 'We are not doing create on this api, it is only doing update in this PUT api call.' - suppress: XmsResourceInPutResponse - reason: This api was existing there from 2015, it will break existing client if we change the request/response format - #where: - # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"].put - # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"].put - + reason: 'This api was existing there from 2015, it will break existing client if we change the request/response format' - suppress: RequiredPropertiesMissingInResourceModel - reason: This api was existing there from 2015, it will break existing client if we change the response format - #where: - # - $.definitions.ApplicationInsightsComponentExportConfiguration - # - $.definitions.ApplicationInsightsComponentBillingFeatures - + reason: 'This api was existing there from 2015, it will break existing client if we change the response format' - suppress: BodyTopLevelProperties - reason: This api was existing there from 2015, it will break existing client if we change the response format - #where: - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties - # - $.definitions.ApplicationInsightsComponentBillingFeatures.properties - + reason: 'This api was existing there from 2015, it will break existing client if we change the response format' - suppress: EnumInsteadOfBoolean - reason: This api was existing there from 2015, it will break existing client if we change the type - #where: - # - $.definitions.WebTestProperties.properties.Enabled - # - $.definitions.WebTestProperties.properties.RetryEnabled - # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.StopSendNotificationWhenHitThreshold - # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.StopSendNotificationWhenHitCap - # - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.ShouldBeThrottled - + reason: 'This api was existing there from 2015, it will break existing client if we change the type' - suppress: DescriptionAndTitleMissing reason: Error addresses missing description/title in inner reference. Referenced model contains title and description. Redundant. from: componentAnnotations_API.json where: - $.definitions.AnnotationError.properties.innererror - - suppress: DescriptionAndTitleMissing reason: Error addresses missing description/title in inner reference. Referenced model contains title and description. Redundant. from: componentWorkItemConfigs_API.json where: - $.definitions.WorkItemConfigurationError.properties.innererror - - suppress: LROStatusCodesReturnTypeSchema reason: The response for 200 does define a schema in place. The test likely expects a 'ref' member. False failure. from: componentAnnotations_API.json where: - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations"].put.responses["200"] - + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations"].put.responses["200"]' - suppress: DefinitionsPropertiesNamesCamelCase - reason: This api was existing there from 2015, it will break existing client if we change the name - # where: - # - $.definitions.ApplicationInsightsComponentProperties.properties.ApplicationId - # - $.definitions.ApplicationInsightsComponentProperties.properties.AppId - # - $.definitions.ApplicationInsightsComponentProperties.properties.Application_Type - # - $.definitions.ApplicationInsightsComponentProperties.properties.Flow_Type - # - $.definitions.ApplicationInsightsComponentProperties.properties.Request_Source - # - $.definitions.ApplicationInsightsComponentProperties.properties.InstrumentationKey - # - $.definitions.ApplicationInsightsComponentProperties.properties.CreationDate - # - $.definitions.ApplicationInsightsComponentProperties.properties.TenantId - # - $.definitions.ApplicationInsightsComponentProperties.properties.HockeyAppId - # - $.definitions.ApplicationInsightsComponentProperties.properties.HockeyAppToken - # - $.definitions.ApplicationInsightsComponentProperties.properties.SamplingPercentage - # - $.definitions.WebTestProperties.properties.SyntheticMonitorId - # - $.definitions.WebTestProperties.properties.Name - # - $.definitions.WebTestProperties.properties.Description - # - $.definitions.WebTestProperties.properties.Enabled - # - $.definitions.WebTestProperties.properties.Frequency - # - $.definitions.WebTestProperties.properties.Timeout - # - $.definitions.WebTestProperties.properties.Kind - # - $.definitions.WebTestProperties.properties.RetryEnabled - # - $.definitions.WebTestProperties.properties.Locations - # - $.definitions.WebTestProperties.properties.Configuration - # - $.definitions.WebTestGeolocation.properties.Id - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.RecordTypes - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationType - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationAddress - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.IsEnabled - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.NotificationQueueEnabled - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.NotificationQueueUri - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationStorageSubscriptionId - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationStorageLocationId - # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationAccountId - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ExportId - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.InstrumentationKey - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.RecordTypes - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ApplicationName - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.SubscriptionId - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ResourceGroup - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.DestinationStorageSubscriptionId - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.DestinationStorageLocationId - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.DestinationAccountId - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.DestinationType - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.IsUserEnabled - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.LastUserUpdate - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.NotificationQueueEnabled - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ExportStatus - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.LastSuccessTime - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.LastGapTime - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.PermanentErrorReason - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.StorageName - # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ContainerName - # - $.definitions.ApplicationInsightsComponentBillingFeatures.properties.DataVolumeCap - # - $.definitions.ApplicationInsightsComponentBillingFeatures.properties.CurrentBillingFeatures - # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.Cap - # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.ResetTime - # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.WarningThreshold - # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.StopSendNotificationWhenHitThreshold - # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.StopSendNotificationWhenHitCap - # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.MaxHistoryCap - # - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.AppId - # - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.ShouldBeThrottled - # - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.ExpirationTime - # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name - # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Enabled - # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.SendEmailsToSubscriptionOwners - # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.CustomEmails - # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.LastUpdatedTime - # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.RuleDefinitions - # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name - # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name - # - $.definitions.ApplicationInsightsComponentWebTestLocation.properties.Tag - # - $.definitions.ApplicationInsightsComponentWebTestLocation.properties.DisplayName - # - $.definitions.ApplicationInsightsComponentFavorite.properties.UserId - # - $.definitions.ApplicationInsightsComponentFavorite.properties.IsGeneratedFromTemplate - # - $.definitions.ApplicationInsightsComponentFavorite.properties.Category - # - $.definitions.ApplicationInsightsComponentFavorite.properties.Tags - # - $.definitions.ApplicationInsightsComponentFavorite.properties.TimeModified - # - $.definitions.ApplicationInsightsComponentFavorite.properties.SourceType - # - $.definitions.ApplicationInsightsComponentFavorite.properties.FavoriteType - # - $.definitions.ApplicationInsightsComponentFavorite.properties.FavoriteId - # - $.definitions.ApplicationInsightsComponentFavorite.properties.Version - # - $.definitions.ApplicationInsightsComponentFavorite.properties.Config - # - $.definitions.ApplicationInsightsComponentFavorite.properties.Name - # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.MeterRateFrequency - # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.MeterId - # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.Unit - # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.Value - # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.Description - # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.Name - # - $.definitions.ApplicationInsightsComponentFeature.properties.SupportedAddonFeatures - # - $.definitions.ApplicationInsightsComponentFeature.properties.IsMainFeature - # - $.definitions.ApplicationInsightsComponentFeature.properties.Title - # - $.definitions.ApplicationInsightsComponentFeature.properties.Capabilities - # - $.definitions.ApplicationInsightsComponentFeature.properties.IsHidden - # - $.definitions.ApplicationInsightsComponentFeature.properties.ResouceId - # - $.definitions.ApplicationInsightsComponentFeature.properties.MeterRateFrequency - # - $.definitions.ApplicationInsightsComponentFeature.properties.MeterId - # - $.definitions.ApplicationInsightsComponentFeature.properties.FeatureName - # - $.definitions.ApplicationInsightsComponentAvailableFeatures.properties.Result - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.ThrottleRate - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.DailyCapResetTime - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.DailyCap - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.TrackingType - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.ApiAccessLevel - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.SupportExportData - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.BurstThrottlePolicy - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.MetadataClass - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.LiveStreamMetrics - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.ApplicationMap - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.WorkItemIntegration - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.PowerBIIntegration - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.OpenSchema - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.ProactiveDetection - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.AnalyticsIntegration - # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.MultipleStepWebTest - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Id - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Name - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Content - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Version - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Scope - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Type - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.TimeCreated - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.TimeModified - # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Properties - + reason: 'This api was existing there from 2015, it will break existing client if we change the name' - suppress: R2066 reason: There are a bug in this rule. "ExportConfigurations_Create" is a valid operation id. + - suppress: OBJECT_ADDITIONAL_PROPERTIES + where: $.definitions.Workbook + from: workbooks_API.json + reason: 'This property is already a part of our API, so we cannot remove it' + - suppress: READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST + where: $.definitions.Resource.properties.name + from: types.json + reason: 'This property is already a part of our API, cannot remove it' + - suppress: READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST + where: $.definitions.Resource.properties.id + from: types.json + reason: 'This property is already a part of our API, cannot remove it' + - suppress: READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST + where: $.definitions.WorkbookResource.properties.id + from: workbooks_API.json + reason: 'This property is already a part of our API, cannot remove it' + - suppress: READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST + where: $.definitions.WorkbookResource.properties.name + from: workbooks_API.json + reason: 'This property is already a part of our API, cannot remove it' + - suppress: DefaultErrorResponseSchema + from: myworkbooks_API.json + reason: 'this error format is already part of the previous api, cannot change it' + - suppress: DeleteOperationResponses + from: myworkbooks_API.json + reason: 'delete API returns empty response and is already part of the previous api, cannot change it' +``` + +### Tag: package-preview-2020-06-only + +These settings apply only when `--tag=package-preview-2020-06-only` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2020-06-only' +input-file: + - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json ``` +### Tag: package-preview-2020-06 + +These settings apply only when `--tag=package-preview-2020-06` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2020-06' +input-file: + - Microsoft.Insights/stable/2015-05-01/aiOperations_API.json + - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json + - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json + - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json + - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json + - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json + - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json + - Microsoft.Insights/stable/2015-05-01/favorites_API.json + - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json + - Microsoft.Insights/stable/2015-05-01/webTests_API.json + - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json + - Microsoft.Insights/stable/2015-05-01/workbooks_API.json + - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json + - Microsoft.Insights/preview/2018-05-01-preview/components_API.json + - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json + - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json +``` ### Tag: package-preview-2020-02 These settings apply only when `--tag=package-preview-2020-02` is specified on the command line. -```yaml $(tag) == 'package-preview-2020-02' +``` yaml $(tag) == 'package-preview-2020-02' input-file: - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json ``` + ### Tag: package-2015-05 These settings apply only when `--tag=package-2015-05` is specified on the command line. @@ -266,6 +166,7 @@ input-file: - Microsoft.Insights/stable/2015-05-01/webTests_API.json - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json - Microsoft.Insights/stable/2015-05-01/workbooks_API.json +- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json ``` ### Tag: package-2017-10 @@ -352,6 +253,7 @@ input-file: - Microsoft.Insights/stable/2015-05-01/webTests_API.json - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json - Microsoft.Insights/stable/2015-05-01/workbooks_API.json +- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json - Microsoft.Insights/preview/2018-05-01-preview/components_API.json - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json ``` @@ -375,6 +277,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js applicationinsights/resource-manager ``` ## Go @@ -443,6 +348,10 @@ input-file: - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -455,30 +364,32 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json + - $(this-folder)/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json - - $(this-folder)/Microsoft.Insights/stable/2015-05-01/components_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/favorites_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/webTests_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json - $(this-folder)/Microsoft.Insights/stable/2015-05-01/workbooks_API.json + - $(this-folder)/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json + - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/components_API.json + - $(this-folder)/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json + - $(this-folder)/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json + - $(this-folder)/Microsoft.Insights/stable/2015-05-01/components_API.json - $(this-folder)/Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json - $(this-folder)/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json - $(this-folder)/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json - $(this-folder)/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json - - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/components_API.json - $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json - $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json - $(this-folder)/Microsoft.Insights/preview/2020-02-02-preview/components_API.json - - $(this-folder)/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json ``` diff --git a/specification/applicationinsights/resource-manager/readme.python.md b/specification/applicationinsights/resource-manager/readme.python.md index 97df9d6f8c3b..b7462eaaf2d0 100644 --- a/specification/applicationinsights/resource-manager/readme.python.md +++ b/specification/applicationinsights/resource-manager/readme.python.md @@ -25,6 +25,7 @@ batch: - tag: package-2019-10-17-preview - tag: package-2020-02-02-preview - tag: package-2020-03-01-preview + - tag: package-preview-2020-06-only ``` ### Tag: package-2015-05 and python diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json index 773e65c8d69f..f09b74a8b617 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json @@ -113,6 +113,9 @@ "x-ms-examples": { "Services_CreateOrUpdate": { "$ref": "./examples/Services_CreateOrUpdate.json" + }, + "Services_CreateOrUpdate_VNetInjection": { + "$ref": "./examples/Services_CreateOrUpdate_VNetInjection.json" } } }, @@ -2160,6 +2163,39 @@ } } }, + "/providers/Microsoft.AppPlatform/runtimeVersions": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available runtime versions supported by Microsoft.AppPlatform provider.", + "operationId": "RuntimeVersions_ListRuntimeVersions", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the details of all supported deployment runtime versions.", + "schema": { + "$ref": "#/definitions/AvailableRuntimeVersions" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RuntimeVersions_ListRuntimeVersions": { + "$ref": "./examples/RuntimeVersions_ListRuntimeVersions.json" + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus": { "get": { "tags": [ @@ -2296,6 +2332,10 @@ "$ref": "#/definitions/TraceProperties", "description": "Trace properties of the Service" }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Network profile of the Service" + }, "version": { "format": "int32", "description": "Version of the Service", @@ -2416,6 +2456,47 @@ } } }, + "NetworkProfile": { + "description": "Service network profile payload", + "type": "object", + "properties": { + "serviceRuntimeSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime", + "type": "string" + }, + "appSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps", + "type": "string" + }, + "serviceCidr": { + "description": "Azure Spring Cloud service reserved CIDR", + "type": "string" + }, + "serviceRuntimeNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime", + "type": "string" + }, + "appNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps", + "type": "string" + }, + "outboundIPs": { + "description": "Desired outbound IP resources for Azure Spring Cloud instance.", + "type": "object", + "readOnly": true, + "properties": { + "publicIPs": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "A list of public IP addresses." + } + } + } + } + }, "Error": { "description": "The error code compose of code and message.", "type": "object", @@ -2792,11 +2873,13 @@ "properties": { "resourceName": { "description": "The name of the bound resource", - "type": "string" + "type": "string", + "readOnly": true }, "resourceType": { "description": "The standard Azure resource type of the bound resource", - "type": "string" + "type": "string", + "readOnly": true }, "resourceId": { "description": "The Azure resource id of the bound resource", @@ -3006,7 +3089,8 @@ }, "appName": { "description": "The app name of domain.", - "type": "string" + "type": "string", + "readOnly": true }, "certName": { "description": "The bound certificate name of domain.", @@ -3155,6 +3239,7 @@ "description": "Type of the source uploaded", "enum": [ "Jar", + "NetCoreZip", "Source" ], "type": "string", @@ -3197,6 +3282,10 @@ "description": "JVM parameter", "type": "string" }, + "netCoreMainEntryPath": { + "description": "The path to the .NET executable relative to zip root", + "type": "string" + }, "instanceCount": { "format": "int32", "description": "Instance count, basic tier should be in range (1, 25), standard tier should be in range (1, 500)", @@ -3214,7 +3303,8 @@ "description": "Runtime version", "enum": [ "Java_8", - "Java_11" + "Java_11", + "NetCore_31" ], "type": "string", "x-ms-enum": { @@ -3247,6 +3337,11 @@ "description": "Discovery status of the deployment instance", "type": "string", "readOnly": true + }, + "startTime": { + "description": "Start time of the deployment instance", + "type": "string", + "readOnly": true } } }, @@ -3741,6 +3836,57 @@ } }, "x-ms-external": true + }, + "AvailableRuntimeVersions": { + "type": "object", + "properties": { + "value": { + "description": "A list of all supported runtime versions.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SupportedRuntimeVersion" + }, + "readOnly": true + } + }, + "readOnly": true + }, + "SupportedRuntimeVersion": { + "description": "Supported deployment runtime version descriptor.", + "type": "object", + "properties": { + "value": { + "description": "The raw value which could be passed to deployment CRUD operations.", + "enum": [ + "Java_8", + "Java_11", + "NetCore_31" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedRuntimeVersion", + "modelAsString": true + } + }, + "platform": { + "description": "The platform of this runtime version (possible values: \"Java\" or \".NET\").", + "enum": [ + "Java", + ".NET Core" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedRuntimePlatform", + "modelAsString": true + } + }, + "version": { + "description": "The detailed version (major.minor) of the platform.", + "type": "string" + } + }, + "readOnly": true } }, "parameters": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json index e426c806b855..b989e5a57739 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json @@ -2,8 +2,6 @@ "parameters": { "bindingResource": { "properties": { - "resourceName": "my-cosmosdb-1", - "resourceType": "Microsoft.DocumentDB", "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", "key": "xxxx", "bindingParameters": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json index d2e0c8a715ea..0d7889bef1de 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json @@ -2,8 +2,6 @@ "parameters": { "bindingResource": { "properties": { - "resourceName": null, - "resourceType": null, "key": "xxxx", "bindingParameters": { "databaseName": "db1", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json index 213fb3296173..4d2893ff6ad2 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json @@ -3,7 +3,6 @@ "domainResource": { "properties": { "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "appName": "myapp", "certName": "mycert" } }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json index 213fb3296173..4d2893ff6ad2 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json @@ -3,7 +3,6 @@ "domainResource": { "properties": { "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "appName": "myapp", "certName": "mycert" } }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json index 0204c12e6e2b..c29a033df194 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json @@ -56,7 +56,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, @@ -92,7 +93,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json index e574a0dea582..19cf2196418a 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json @@ -35,7 +35,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json index 221113ccf649..287ffdd7381e 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json @@ -36,7 +36,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json index 221113ccf649..287ffdd7381e 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json @@ -36,7 +36,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json index 4a778752688a..b0e5592ad49d 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json @@ -46,7 +46,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, @@ -82,7 +83,8 @@ { "name": "instance1", "status": "Running", - "discoveryStatus": "pending" + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" } ] }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json new file mode 100644 index 000000000000..051d4085549f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2019-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "value": "Java_8", + "platform": "Java", + "version": "8" + }, + { + "value": "Java_11", + "platform": "Java", + "version": "11" + }, + { + "value": "NetCore_31", + "platform": ".NET Core", + "version": "3.1" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json index 0b9eb4797dc1..136def1b9f26 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json @@ -19,8 +19,8 @@ } }, "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { @@ -54,12 +54,20 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { @@ -90,12 +98,20 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json new file mode 100644 index 000000000000..6df578357701 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "resource": { + "properties": { + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg" + } + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2019-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + } + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + } + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json index 0fd464fbf73c..7d8d1007219c 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json @@ -27,12 +27,20 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json index 60bff7e0b137..aff184407138 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json @@ -28,12 +28,20 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json index 1e7ffa74d93f..daeaac0d14a6 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json @@ -27,12 +27,20 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json index 6ff77da01f9b..fcf36b043ad1 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json @@ -19,8 +19,8 @@ } }, "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { @@ -54,12 +54,20 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { @@ -90,12 +98,20 @@ "enabled": true, "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" }, - "serviceId": "12345678abcd1234abcd12345678abcd" + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } }, "type": "Microsoft.AppPlatform/Spring", "sku": { - "name": "P0", - "tier": "Premium" + "name": "S0", + "tier": "Standard" }, "location": "eastus", "tags": { diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json new file mode 100644 index 000000000000..655b3cbed58b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json @@ -0,0 +1,4461 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-01", + "title": "AppPlatformManagementClient", + "description": "REST API for Azure Spring Cloud" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Service and its properties.", + "operationId": "Services_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_Get": { + "$ref": "./examples/Services_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Service or update an exiting Service.", + "operationId": "Services_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "resource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResource" + } + } + ], + "responses": { + "201": { + "description": "Created. The response describes the new Service and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "200": { + "description": "Success. The response describes the updated Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_CreateOrUpdate.json" + }, + "Services_CreateOrUpdate_VNetInjection": { + "$ref": "./examples/Services_CreateOrUpdate_VNetInjection.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Service.", + "operationId": "Services_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "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": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Services_Delete": { + "$ref": "./examples/Services_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Service.", + "operationId": "Services_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "resource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Services_Update": { + "$ref": "./examples/Services_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "List test keys for a Service.", + "operationId": "Services_ListTestKeys", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the test keys.", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_ListTestKeys": { + "$ref": "./examples/Services_ListTestKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Regenerate a test key for a Service.", + "operationId": "Services_RegenerateTestKey", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "regenerateTestKeyRequest", + "in": "body", + "description": "Parameters for the operation", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateTestKeyRequestPayload" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_RegenerateTestKey": { + "$ref": "./examples/Services_RegenerateTestKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Disable test endpoint functionality for a Service.", + "operationId": "Services_DisableTestEndpoint", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_DisableTestEndpoint": { + "$ref": "./examples/Services_DisableTestEndpoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Enable test endpoint functionality for a Service.", + "operationId": "Services_EnableTestEndpoint", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_EnableTestEndpoint": { + "$ref": "./examples/Services_EnableTestEndpoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the config server and its properties.", + "operationId": "ConfigServers_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConfigServers_Get": { + "$ref": "./examples/ConfigServers_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Update the config server.", + "operationId": "ConfigServers_UpdatePut", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "configServerResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Config Server is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ConfigServers_UpdatePut": { + "$ref": "./examples/ConfigServers_UpdatePut.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update the config server.", + "operationId": "ConfigServers_UpdatePatch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "configServerResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Config Server is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ConfigServers_UpdatePatch": { + "$ref": "./examples/ConfigServers_UpdatePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the Monitoring Setting and its properties.", + "operationId": "MonitoringSettings_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MonitoringSettings_Get": { + "$ref": "./examples/MonitoringSettings_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Update the Monitoring Setting.", + "operationId": "MonitoringSettings_UpdatePut", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "monitoringSettingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Monitoring Setting is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "MonitoringSettings_UpdatePut": { + "$ref": "./examples/MonitoringSettings_UpdatePut.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update the Monitoring Setting.", + "operationId": "MonitoringSettings_UpdatePatch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "monitoringSettingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Monitoring Setting is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "MonitoringSettings_UpdatePatch": { + "$ref": "./examples/MonitoringSettings_UpdatePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get an App and its properties.", + "operationId": "Apps_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "syncStatus", + "in": "query", + "description": "Indicates whether sync status", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_Get": { + "$ref": "./examples/Apps_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new App or update an exiting App.", + "operationId": "Apps_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "appResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/AppResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "201": { + "description": "Created. The response describes the new App and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting App is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Apps_CreateOrUpdate": { + "$ref": "./examples/Apps_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete an App.", + "operationId": "Apps_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Apps_Delete": { + "$ref": "./examples/Apps_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting App.", + "operationId": "Apps_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "appResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/AppResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting App is now updating and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Apps_Update": { + "$ref": "./examples/Apps_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a Service.", + "operationId": "Apps_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Apps in the Service.", + "schema": { + "$ref": "#/definitions/AppResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Apps_List": { + "$ref": "./examples/Apps_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Get an resource upload URL for an App, which may be artifacts or source archive.", + "operationId": "Apps_GetResourceUploadUrl", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the resource upload URL.", + "schema": { + "$ref": "#/definitions/ResourceUploadDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_GetResourceUploadUrl": { + "$ref": "./examples/Apps_GetResourceUploadUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Binding and its properties.", + "operationId": "Bindings_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Bindings_Get": { + "$ref": "./examples/Bindings_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Binding or update an exiting Binding.", + "operationId": "Bindings_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + }, + { + "name": "bindingResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BindingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the created or updated Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "201": { + "description": "Created. The response describes the new Binding and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Bindings_CreateOrUpdate": { + "$ref": "./examples/Bindings_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Binding.", + "operationId": "Bindings_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + } + ], + "responses": { + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Bindings_Delete": { + "$ref": "./examples/Bindings_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Binding.", + "operationId": "Bindings_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + }, + { + "name": "bindingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BindingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Bindings_Update": { + "$ref": "./examples/Bindings_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in an App.", + "operationId": "Bindings_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Bindings in the App.", + "schema": { + "$ref": "#/definitions/BindingResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Bindings_List": { + "$ref": "./examples/Bindings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the certificate resource.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the certificate.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/Certificates_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update certificate resource.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "certificateResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed certificate updated.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "201": { + "description": "Created. The response describes the new certificate and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting certificate is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Certificates_CreateOrUpdate": { + "$ref": "./examples/Certificates_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the certificate resource.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the certificate deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "No content. The response indicates the certificate doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Certificates_Delete": { + "$ref": "./examples/Certificates_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List all the certificates of one user.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the custom domain resource list of one application.", + "schema": { + "$ref": "#/definitions/CertificateResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Certificates_List": { + "$ref": "./examples/Certificates_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Checks that the resource name is valid and is not already in use.", + "operationId": "Services_CheckNameAvailability", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "the region", + "required": true, + "type": "string" + }, + { + "name": "availabilityParameters", + "in": "body", + "description": "Parameters supplied to the operation.", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + } + ], + "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": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_CheckNameAvailability": { + "$ref": "./examples/Services_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the custom domain of one lifecycle application.", + "operationId": "CustomDomains_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the custom domain.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CustomDomains_Get": { + "$ref": "./examples/CustomDomains_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update custom domain of one lifecycle application.", + "operationId": "CustomDomains_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + }, + { + "name": "domainResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed custom domain updated.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "201": { + "description": "Created. The response describes the new custom domain and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting custom domain is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CustomDomains_CreateOrUpdate": { + "$ref": "./examples/CustomDomains_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the custom domain of one lifecycle application.", + "operationId": "CustomDomains_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the custom domain deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "No content. The response indicates the custom domain doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CustomDomains_Delete": { + "$ref": "./examples/CustomDomains_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update custom domain of one lifecycle application.", + "operationId": "CustomDomains_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + }, + { + "name": "domainResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed custom domain updated.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting custom domain is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CustomDomains_Update": { + "$ref": "./examples/CustomDomains_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List the custom domains of one lifecycle application.", + "operationId": "CustomDomains_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the custom domain resource list of one application.", + "schema": { + "$ref": "#/definitions/CustomDomainResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "CustomDomains_List": { + "$ref": "./examples/CustomDomains_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/validateDomain": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Check the resource name is valid as well as not in use.", + "operationId": "Apps_ValidateDomain", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "validatePayload", + "in": "body", + "description": "Custom domain payload to be validated", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainValidatePayload" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the name is available.", + "schema": { + "$ref": "#/definitions/CustomDomainValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_ValidateDomain": { + "$ref": "./examples/Apps_ValidateDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Deployment and its properties.", + "operationId": "Deployments_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deployments_Get": { + "$ref": "./examples/Deployments_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Deployment or update an exiting Deployment.", + "operationId": "Deployments_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "deploymentResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + } + ], + "responses": { + "201": { + "description": "Created. The response describes the new Deployment and contains a Location header to query the\r\noperation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "200": { + "description": "Success. The response describes the updated Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_CreateOrUpdate": { + "$ref": "./examples/Deployments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Deployment.", + "operationId": "Deployments_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Delete": { + "$ref": "./examples/Deployments_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Deployment.", + "operationId": "Deployments_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "deploymentResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "200": { + "description": "Success. The response describes the updated Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Update": { + "$ref": "./examples/Deployments_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in an App.", + "operationId": "Deployments_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "version", + "in": "query", + "description": "Version of the deployments to be listed", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "uniqueItems": false + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Deployments in the App.", + "schema": { + "$ref": "#/definitions/DeploymentResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deployments_List": { + "$ref": "./examples/Deployments_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List deployments for a certain service", + "operationId": "Deployments_ListForCluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "version", + "in": "query", + "description": "Version of the deployments to be listed", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "uniqueItems": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeploymentResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deployments_ListForCluster": { + "$ref": "./examples/Deployments_ListForCluster.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Start the deployment.", + "operationId": "Deployments_Start", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now starting and contains a Location header to\r\nquery the operation result." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Start": { + "$ref": "./examples/Deployments_Start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Stop the deployment.", + "operationId": "Deployments_Stop", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now stopping and contains a Location header to\r\nquery the operation result." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Stop": { + "$ref": "./examples/Deployments_Stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Restart the deployment.", + "operationId": "Deployments_Restart", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now restarting and contains a Location header\r\nto query the operation result." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Restart": { + "$ref": "./examples/Deployments_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Get deployment log file URL", + "operationId": "Deployments_GetLogFileUrl", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response contains the log file URL.", + "schema": { + "$ref": "#/definitions/LogFileUrlResponse" + } + }, + "204": { + "description": "Success. The deployment does not have log file." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deployments_GetLogFileUrl": { + "$ref": "./examples/Deployments_GetLogFileUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "Services_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the subscription.", + "schema": { + "$ref": "#/definitions/ServiceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Services_ListBySubscription": { + "$ref": "./examples/Services_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a resource group.", + "operationId": "Services_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the resource group.", + "schema": { + "$ref": "#/definitions/ServiceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Services_List": { + "$ref": "./examples/Services_List.json" + } + } + } + }, + "/providers/Microsoft.AppPlatform/operations": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available REST API operations of the Microsoft.AppPlatform provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/providers/Microsoft.AppPlatform/runtimeVersions": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available runtime versions supported by Microsoft.AppPlatform provider.", + "operationId": "RuntimeVersions_ListRuntimeVersions", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the details of all supported deployment runtime versions.", + "schema": { + "$ref": "#/definitions/AvailableRuntimeVersions" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RuntimeVersions_ListRuntimeVersions": { + "$ref": "./examples/RuntimeVersions_ListRuntimeVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available skus of the Microsoft.AppPlatform provider.", + "operationId": "Skus_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourceSkuCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Skus_List": { + "$ref": "./examples/Skus_List.json" + } + } + } + } + }, + "definitions": { + "ServiceResource": { + "description": "Service resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ClusterResourceProperties", + "description": "Properties of the Service resource", + "x-ms-client-flatten": false + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the Service resource" + } + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "The GEO location of the resource.", + "type": "string" + }, + "tags": { + "description": "Tags of the service which is a list of key value pairs that describe the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Resource": { + "description": "The core properties of ARM resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ClusterResourceProperties": { + "description": "Service properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Service", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Deleted", + "Succeeded", + "Failed", + "Moving", + "Moved", + "MoveFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Network profile of the Service" + }, + "version": { + "format": "int32", + "description": "Version of the Service", + "type": "integer", + "readOnly": true + }, + "serviceId": { + "description": "ServiceInstanceEntity GUID which uniquely identifies a created resource", + "type": "string", + "readOnly": true + } + } + }, + "ManagedIdentityProperties": { + "description": "Managed identity properties retrieved from ARM request headers.", + "type": "object", + "properties": { + "type": { + "description": "Type of the managed identity", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "Principal Id", + "type": "string" + }, + "tenantId": { + "description": "Tenant Id", + "type": "string" + } + } + }, + "Sku": { + "description": "Sku of Azure Spring Cloud", + "type": "object", + "properties": { + "name": { + "description": "Name of the Sku", + "type": "string" + }, + "tier": { + "description": "Tier of the Sku", + "type": "string" + }, + "capacity": { + "format": "int32", + "description": "Current capacity of the target resource", + "type": "integer" + } + } + }, + "ConfigServerResource": { + "description": "Config Server resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConfigServerProperties", + "description": "Properties of the Config Server resource", + "x-ms-client-flatten": false + } + } + }, + "ConfigServerProperties": { + "description": "Config server git properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the config server.", + "enum": [ + "NotAvailable", + "Deleted", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConfigServerState", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Error when apply config server settings." + }, + "configServer": { + "$ref": "#/definitions/ConfigServerSettings", + "description": "Settings of config server." + } + } + }, + "MonitoringSettingResource": { + "description": "Monitoring Setting resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MonitoringSettingProperties", + "description": "Properties of the Monitoring Setting resource", + "x-ms-client-flatten": false + } + } + }, + "MonitoringSettingProperties": { + "description": "Monitoring Setting properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the Monitoring Setting.", + "enum": [ + "NotAvailable", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MonitoringSettingState", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Error when apply Monitoring Setting changes." + }, + "traceEnabled": { + "description": "Indicates whether enable the trace functionality", + "type": "boolean" + }, + "appInsightsInstrumentationKey": { + "description": "Target application insight instrumentation key", + "type": "string" + } + } + }, + "NetworkProfile": { + "description": "Service network profile payload", + "type": "object", + "properties": { + "serviceRuntimeSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime", + "type": "string" + }, + "appSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps", + "type": "string" + }, + "serviceCidr": { + "description": "Azure Spring Cloud service reserved CIDR", + "type": "string" + }, + "serviceRuntimeNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime", + "type": "string" + }, + "appNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps", + "type": "string" + }, + "outboundIPs": { + "description": "Desired outbound IP resources for Azure Spring Cloud instance.", + "type": "object", + "readOnly": true, + "properties": { + "publicIPs": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "A list of public IP addresses." + } + } + } + } + }, + "Error": { + "description": "The error code compose of code and message.", + "type": "object", + "properties": { + "code": { + "description": "The code of error.", + "type": "string" + }, + "message": { + "description": "The message of error.", + "type": "string" + } + } + }, + "ConfigServerSettings": { + "description": "The settings of config server.", + "type": "object", + "properties": { + "gitProperty": { + "$ref": "#/definitions/ConfigServerGitProperty", + "description": "Property of git environment." + } + } + }, + "ConfigServerGitProperty": { + "description": "Property of git.", + "required": [ + "uri" + ], + "type": "object", + "properties": { + "repositories": { + "description": "Repositories of git.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GitPatternRepository" + } + }, + "uri": { + "description": "URI of the repository", + "type": "string" + }, + "label": { + "description": "Label of the repository", + "type": "string" + }, + "searchPaths": { + "description": "Searching path of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "Username of git repository basic auth.", + "type": "string" + }, + "password": { + "description": "Password of git repository basic auth.", + "type": "string" + }, + "hostKey": { + "description": "Public sshKey of git repository.", + "type": "string" + }, + "hostKeyAlgorithm": { + "description": "SshKey algorithm of git repository.", + "type": "string" + }, + "privateKey": { + "description": "Private sshKey algorithm of git repository.", + "type": "string" + }, + "strictHostKeyChecking": { + "description": "Strict host key checking or not.", + "type": "boolean" + } + } + }, + "GitPatternRepository": { + "description": "Git repository property payload", + "required": [ + "name", + "uri" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the repository", + "type": "string" + }, + "pattern": { + "description": "Collection of pattern of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "uri": { + "description": "URI of the repository", + "type": "string" + }, + "label": { + "description": "Label of the repository", + "type": "string" + }, + "searchPaths": { + "description": "Searching path of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "Username of git repository basic auth.", + "type": "string" + }, + "password": { + "description": "Password of git repository basic auth.", + "type": "string" + }, + "hostKey": { + "description": "Public sshKey of git repository.", + "type": "string" + }, + "hostKeyAlgorithm": { + "description": "SshKey algorithm of git repository.", + "type": "string" + }, + "privateKey": { + "description": "Private sshKey algorithm of git repository.", + "type": "string" + }, + "strictHostKeyChecking": { + "description": "Strict host key checking or not.", + "type": "boolean" + } + } + }, + "TestKeys": { + "description": "Test keys payload", + "type": "object", + "properties": { + "primaryKey": { + "description": "Primary key", + "type": "string" + }, + "secondaryKey": { + "description": "Secondary key", + "type": "string" + }, + "primaryTestEndpoint": { + "description": "Primary test endpoint", + "type": "string" + }, + "secondaryTestEndpoint": { + "description": "Secondary test endpoint", + "type": "string" + }, + "enabled": { + "description": "Indicates whether the test endpoint feature enabled or not", + "type": "boolean" + } + } + }, + "RegenerateTestKeyRequestPayload": { + "description": "Regenerate test key request payload", + "required": [ + "keyType" + ], + "type": "object", + "properties": { + "keyType": { + "description": "Type of the test key", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "TestKeyType", + "modelAsString": true + } + } + } + }, + "AppResource": { + "description": "App resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AppResourceProperties", + "description": "Properties of the App resource", + "x-ms-client-flatten": false + }, + "identity": { + "$ref": "#/definitions/ManagedIdentityProperties", + "description": "The Managed Identity type of the app resource" + }, + "location": { + "description": "The GEO location of the application, always the same with its parent resource", + "type": "string" + } + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "AppResourceProperties": { + "description": "App resource properties payload", + "type": "object", + "properties": { + "public": { + "description": "Indicates whether the App exposes public endpoint", + "type": "boolean" + }, + "url": { + "description": "URL of the App", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the App", + "enum": [ + "Succeeded", + "Failed", + "Creating", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AppResourceProvisioningState", + "modelAsString": true + } + }, + "activeDeploymentName": { + "description": "Name of the active deployment of the App", + "type": "string" + }, + "fqdn": { + "description": "Fully qualified dns Name.", + "type": "string" + }, + "httpsOnly": { + "description": "Indicate if only https is allowed.", + "type": "boolean" + }, + "createdTime": { + "format": "date-time", + "description": "Date time when the resource is created", + "type": "string", + "readOnly": true + }, + "temporaryDisk": { + "$ref": "#/definitions/TemporaryDisk", + "description": "Temporary disk settings" + }, + "persistentDisk": { + "$ref": "#/definitions/PersistentDisk", + "description": "Persistent disk settings" + } + } + }, + "TemporaryDisk": { + "description": "Temporary disk payload", + "type": "object", + "properties": { + "sizeInGB": { + "format": "int32", + "description": "Size of the temporary disk in GB", + "maximum": 5.0, + "minimum": 0.0, + "type": "integer" + }, + "mountPath": { + "description": "Mount path of the temporary disk", + "type": "string" + } + } + }, + "PersistentDisk": { + "description": "Persistent disk payload", + "type": "object", + "properties": { + "sizeInGB": { + "format": "int32", + "description": "Size of the persistent disk in GB", + "maximum": 50.0, + "minimum": 0.0, + "type": "integer" + }, + "usedInGB": { + "format": "int32", + "description": "Size of the used persistent disk in GB", + "maximum": 50.0, + "minimum": 0.0, + "type": "integer", + "readOnly": true + }, + "mountPath": { + "description": "Mount path of the persistent disk", + "type": "string" + } + } + }, + "AppResourceCollection": { + "description": "Object that includes an array of App resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of App resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/AppResource" + } + }, + "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" + } + } + }, + "ResourceUploadDefinition": { + "description": "Resource upload definition payload", + "type": "object", + "properties": { + "relativePath": { + "description": "Source relative path", + "type": "string" + }, + "uploadUrl": { + "description": "Upload URL", + "type": "string" + } + } + }, + "BindingResource": { + "description": "Binding resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BindingResourceProperties", + "description": "Properties of the Binding resource", + "x-ms-client-flatten": false + } + } + }, + "BindingResourceProperties": { + "description": "Binding resource properties payload", + "type": "object", + "properties": { + "resourceName": { + "description": "The name of the bound resource", + "type": "string", + "readOnly": true + }, + "resourceType": { + "description": "The standard Azure resource type of the bound resource", + "type": "string", + "readOnly": true + }, + "resourceId": { + "description": "The Azure resource id of the bound resource", + "type": "string" + }, + "key": { + "description": "The key of the bound resource", + "type": "string" + }, + "bindingParameters": { + "description": "Binding parameters of the Binding resource", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "generatedProperties": { + "description": "The generated Spring Boot property file for this binding. The secret will be deducted.", + "type": "string", + "readOnly": true + }, + "createdAt": { + "description": "Creation time of the Binding resource", + "type": "string", + "readOnly": true + }, + "updatedAt": { + "description": "Update time of the Binding resource", + "type": "string", + "readOnly": true + } + } + }, + "BindingResourceCollection": { + "description": "Object that includes an array of Binding resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Binding resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BindingResource" + } + }, + "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" + } + } + }, + "CertificateResource": { + "description": "Certificate resource payload.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties", + "description": "Properties of the certificate resource payload.", + "x-ms-client-flatten": false + } + } + }, + "CertificateProperties": { + "description": "Certificate resource payload.", + "required": [ + "vaultUri", + "keyVaultCertName" + ], + "type": "object", + "properties": { + "thumbprint": { + "description": "The thumbprint of certificate.", + "type": "string", + "readOnly": true + }, + "vaultUri": { + "description": "The vault uri of user key vault.", + "type": "string" + }, + "keyVaultCertName": { + "description": "The certificate name of key vault.", + "type": "string" + }, + "certVersion": { + "description": "The certificate version of key vault.", + "type": "string" + }, + "issuer": { + "description": "The issuer of certificate.", + "type": "string", + "readOnly": true + }, + "issuedDate": { + "description": "The issue date of certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "The expiration date of certificate.", + "type": "string", + "readOnly": true + }, + "activateDate": { + "description": "The activate date of certificate.", + "type": "string", + "readOnly": true + }, + "subjectName": { + "description": "The subject name of certificate.", + "type": "string", + "readOnly": true + }, + "dnsNames": { + "description": "The domain list of certificate.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "CertificateResourceCollection": { + "description": "Collection compose of certificate resources list and a possible link for next page.", + "type": "object", + "properties": { + "value": { + "description": "The certificate resources list.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/CertificateResource" + } + }, + "nextLink": { + "description": "The link to next page of certificate list.", + "type": "string" + } + } + }, + "NameAvailabilityParameters": { + "description": "Name availability parameters payload", + "required": [ + "type", + "name" + ], + "type": "object", + "properties": { + "type": { + "description": "Type of the resource to check name availability", + "type": "string" + }, + "name": { + "description": "Name to be checked", + "type": "string" + } + } + }, + "NameAvailability": { + "description": "Name availability result payload", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available", + "type": "boolean" + }, + "reason": { + "description": "Reason why the name is not available", + "type": "string" + }, + "message": { + "description": "Message why the name is not available", + "type": "string" + } + }, + "readOnly": true + }, + "CustomDomainResource": { + "description": "Custom domain resource payload.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomDomainProperties", + "description": "Properties of the custom domain resource.", + "x-ms-client-flatten": false + } + } + }, + "CustomDomainProperties": { + "description": "Custom domain of app resource payload.", + "type": "object", + "properties": { + "thumbprint": { + "description": "The thumbprint of bound certificate.", + "type": "string" + }, + "appName": { + "description": "The app name of domain.", + "type": "string", + "readOnly": true + }, + "certName": { + "description": "The bound certificate name of domain.", + "type": "string" + } + } + }, + "CustomDomainResourceCollection": { + "description": "Collection compose of a custom domain resources list and a possible link for next page.", + "type": "object", + "properties": { + "value": { + "description": "The custom domain resources list.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "nextLink": { + "description": "The link to next page of custom domain list.", + "type": "string" + } + } + }, + "CustomDomainValidatePayload": { + "description": "Custom domain validate payload.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name to be validated", + "type": "string" + } + } + }, + "CustomDomainValidateResult": { + "description": "Validation result for custom domain.", + "type": "object", + "properties": { + "isValid": { + "description": "Indicates if domain name is valid.", + "type": "boolean" + }, + "message": { + "description": "Message of why domain name is invalid.", + "type": "string" + } + } + }, + "DeploymentResource": { + "description": "Deployment resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DeploymentResourceProperties", + "description": "Properties of the Deployment resource", + "x-ms-client-flatten": false + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the Deployment resource" + } + } + }, + "DeploymentResourceProperties": { + "description": "Deployment resource properties payload", + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/UserSourceInfo", + "description": "Uploaded source information of the deployment." + }, + "appName": { + "description": "App name of the deployment", + "type": "string", + "readOnly": true + }, + "deploymentSettings": { + "$ref": "#/definitions/DeploymentSettings", + "description": "Deployment settings of the Deployment" + }, + "provisioningState": { + "description": "Provisioning state of the Deployment", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeploymentResourceProvisioningState", + "modelAsString": true + } + }, + "status": { + "description": "Status of the Deployment", + "enum": [ + "Unknown", + "Stopped", + "Running", + "Failed", + "Allocating", + "Upgrading", + "Compiling" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeploymentResourceStatus", + "modelAsString": true + } + }, + "active": { + "description": "Indicates whether the Deployment is active", + "type": "boolean", + "readOnly": true + }, + "createdTime": { + "format": "date-time", + "description": "Date time when the resource is created", + "type": "string", + "readOnly": true + }, + "instances": { + "description": "Collection of instances belong to the Deployment", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentInstance" + }, + "readOnly": true + } + } + }, + "UserSourceInfo": { + "description": "Source information for a deployment", + "type": "object", + "properties": { + "type": { + "description": "Type of the source uploaded", + "enum": [ + "Jar", + "NetCoreZip", + "Source" + ], + "type": "string", + "x-ms-enum": { + "name": "UserSourceType", + "modelAsString": true + } + }, + "relativePath": { + "description": "Relative path of the storage which stores the source", + "type": "string" + }, + "version": { + "description": "Version of the source", + "type": "string" + }, + "artifactSelector": { + "description": "Selector for the artifact to be used for the deployment for multi-module projects. This should be\r\nthe relative path to the target module/project.", + "type": "string" + } + } + }, + "DeploymentSettings": { + "description": "Deployment settings payload", + "type": "object", + "properties": { + "cpu": { + "format": "int32", + "description": "Required CPU, basic tier should be 1, standard tier should be in range (1, 4)", + "default": 1, + "type": "integer" + }, + "memoryInGB": { + "format": "int32", + "description": "Required Memory size in GB, basic tier should be in range (1, 2), standard tier should be in range (1, 8)", + "default": 1, + "type": "integer" + }, + "jvmOptions": { + "description": "JVM parameter", + "type": "string" + }, + "netCoreMainEntryPath": { + "description": "The path to the .NET executable relative to zip root", + "type": "string" + }, + "environmentVariables": { + "description": "Collection of environment variables", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "runtimeVersion": { + "description": "Runtime version", + "enum": [ + "Java_8", + "Java_11", + "NetCore_31" + ], + "type": "string", + "x-ms-enum": { + "name": "RuntimeVersion", + "modelAsString": true + } + } + } + }, + "DeploymentInstance": { + "description": "Deployment instance payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the deployment instance", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the deployment instance", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "Failed reason of the deployment instance", + "type": "string", + "readOnly": true + }, + "discoveryStatus": { + "description": "Discovery status of the deployment instance", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "Start time of the deployment instance", + "type": "string", + "readOnly": true + } + } + }, + "DeploymentResourceCollection": { + "description": "Object that includes an array of App resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Deployment resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "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" + } + } + }, + "LogFileUrlResponse": { + "description": "Log file URL payload", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "URL of the log file", + "type": "string" + } + } + }, + "ServiceResourceList": { + "description": "Object that includes an array of Service resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Service resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "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" + } + } + }, + "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" + } + }, + "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" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "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" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specifications of the operation" + } + } + }, + "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" + } + }, + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "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" + } + } + }, + "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": "Unit that makes sense for the metric", + "type": "string" + }, + "category": { + "description": "Name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "Supported aggregation types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "description": "Supported time grain types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.", + "type": "boolean" + }, + "dimensions": { + "description": "Dimensions of the metric", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + } + } + }, + "MetricDimension": { + "description": "Specifications of the Dimension of metrics", + "type": "object", + "properties": { + "name": { + "description": "Name of the dimension", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension", + "type": "string" + } + } + }, + "ResourceSkuCollection": { + "description": "Object that includes an array of Azure Spring Cloud SKU and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of resource SKU", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + } + }, + "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" + } + } + }, + "ResourceSku": { + "description": "Describes an available Azure Spring Cloud SKU.", + "type": "object", + "properties": { + "resourceType": { + "description": "Gets the type of resource the SKU applies to.", + "type": "string" + }, + "name": { + "description": "Gets the name of SKU.", + "type": "string" + }, + "tier": { + "description": "Gets the tier of SKU.", + "type": "string" + }, + "capacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Gets the capacity of SKU." + }, + "locations": { + "description": "Gets the set of locations that the SKU is available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "locationInfo": { + "description": "Gets a list of locations and availability zones in those locations where the SKU is available.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + } + }, + "restrictions": { + "description": "Gets the restrictions because of which SKU cannot be used. This is\r\nempty if there are no restrictions.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + } + } + } + }, + "SkuCapacity": { + "description": "The SKU capacity", + "required": [ + "minimum" + ], + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "Gets or sets the minimum.", + "type": "integer" + }, + "maximum": { + "format": "int32", + "description": "Gets or sets the maximum.", + "type": "integer" + }, + "default": { + "format": "int32", + "description": "Gets or sets the default.", + "type": "integer" + }, + "scaleType": { + "description": "Gets or sets the type of the scale.", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuScaleType", + "modelAsString": true + } + } + } + }, + "ResourceSkuLocationInfo": { + "description": "Locations and availability zones where the SKU is available", + "type": "object", + "properties": { + "location": { + "description": "Gets location of the SKU", + "type": "string" + }, + "zones": { + "description": "Gets list of availability zones where the SKU is supported.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "zoneDetails": { + "description": "Gets details of capabilities available to a SKU in specific zones.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuZoneDetails" + } + } + } + }, + "ResourceSkuRestrictions": { + "description": "Restrictions where the SKU cannot be used", + "type": "object", + "properties": { + "type": { + "description": "Gets the type of restrictions. Possible values include: 'Location', 'Zone'", + "enum": [ + "Location", + "Zone" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": true + } + }, + "values": { + "description": "Gets the value of restrictions. If the restriction type is set to\r\nlocation. This would be different locations where the SKU is restricted.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "restrictionInfo": { + "$ref": "#/definitions/ResourceSkuRestrictionInfo", + "description": "Gets the information about the restriction where the SKU cannot be used." + }, + "reasonCode": { + "description": "Gets the reason for restriction. Possible values include: 'QuotaId', 'NotAvailableForSubscription'", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + } + }, + "ResourceSkuZoneDetails": { + "description": "Details of capabilities available to a SKU in specific zones", + "type": "object", + "properties": { + "name": { + "description": "Gets the set of zones that the SKU is available in with the\r\nspecified capabilities.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "capabilities": { + "description": "Gets a list of capabilities that are available for the SKU in the\r\nspecified list of zones.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuCapabilities" + } + } + } + }, + "ResourceSkuRestrictionInfo": { + "description": "Information about the restriction where the SKU cannot be used", + "type": "object", + "properties": { + "locations": { + "description": "Gets locations where the SKU is restricted", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "zones": { + "description": "Gets list of availability zones where the SKU is restricted.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceSkuCapabilities": { + "type": "object", + "properties": { + "name": { + "description": "Gets an invariant to describe the feature.", + "type": "string" + }, + "value": { + "description": "Gets an invariant if the feature is measured by quantity.", + "type": "string" + } + } + }, + "CloudError": { + "description": "An error response from the service.", + "properties": { + "error": { + "description": "An error response from the service.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "An error response from the service.", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "target": { + "description": "The target of the particular error. For example, the name of the property in error.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "x-ms-external": true + }, + "AvailableRuntimeVersions": { + "type": "object", + "properties": { + "value": { + "description": "A list of all supported runtime versions.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SupportedRuntimeVersion" + }, + "readOnly": true + } + }, + "readOnly": true + }, + "SupportedRuntimeVersion": { + "description": "Supported deployment runtime version descriptor.", + "type": "object", + "properties": { + "value": { + "description": "The raw value which could be passed to deployment CRUD operations.", + "enum": [ + "Java_8", + "Java_11", + "NetCore_31" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedRuntimeVersion", + "modelAsString": true + } + }, + "platform": { + "description": "The platform of this runtime version (possible values: \"Java\" or \".NET\").", + "enum": [ + "Java", + ".NET Core" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedRuntimePlatform", + "modelAsString": true + } + }, + "version": { + "description": "The detailed version (major.minor) of the platform.", + "type": "string" + } + }, + "readOnly": true + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServiceNameParameter": { + "name": "serviceName", + "in": "path", + "description": "The name of the Service resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AppNameParameter": { + "name": "appName", + "in": "path", + "description": "The name of the App resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeploymentNameParameter": { + "name": "deploymentName", + "in": "path", + "description": "The name of the Deployment resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BindingNameParameter": { + "name": "bindingName", + "in": "path", + "description": "The name of the Binding resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomDomainNameParameter": { + "name": "domainName", + "in": "path", + "description": "The name of the custom domain resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CertificateNameParameter": { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json new file mode 100644 index 000000000000..00f59981c650 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "appResource": { + "properties": { + "public": true, + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "mountPath": "mypersistentdisk" + } + }, + "identity": null, + "location": "eastus" + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "201": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Creating", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "202": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Updating", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json new file mode 100644 index 000000000000..0bfc11e59bf0 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json new file mode 100644 index 000000000000..7e1677db0f60 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json new file mode 100644 index 000000000000..285d26814c78 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20190801-3ed9f4a2-986b-4bbd-b833-a42dccb2f777", + "uploadUrl": "https://springcloudstorageaccount.file.core.windows.net/bd172614181f42e2853f6fd90029cda8/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20190801-3ed9f4a2-986b-4bbd-b833-a42dccb2f777?sv=2018-03-28&sr=f&sig=SampleSignature&se=2019-08-01T10%3A42%3A21Z&sp=w" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json new file mode 100644 index 000000000000..68aa39ece302 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json new file mode 100644 index 000000000000..fd3aeaa6e3da --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "appResource": { + "properties": { + "public": true, + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "mountPath": "mypersistentdisk" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": null, + "tenantId": null + }, + "location": "eastus" + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "202": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Updating", + "activeDeploymentName": "mydeployment1", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "mypersistentdisk" + } + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned", + "principalId": "principalid", + "tenantId": "tenantid" + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json new file mode 100644 index 000000000000..0a7ada238503 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "validatePayload": { + "name": "mydomain.io" + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "isValid": false, + "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json new file mode 100644 index 000000000000..30bb8b7d997a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "bindingResource": { + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "key": "xxxx", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": null, + "createdAt": null, + "updatedAt": null + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "201": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "202": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json new file mode 100644 index 000000000000..e0b92880ff3e --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json new file mode 100644 index 000000000000..b6e130ba0fd5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json new file mode 100644 index 000000000000..9208dc0b71ce --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json new file mode 100644 index 000000000000..c212241e6ccb --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "bindingResource": { + "properties": { + "key": "xxxx", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": null, + "createdAt": null, + "updatedAt": null + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "202": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json new file mode 100644 index 000000000000..ec952d2d82f0 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "certificateResource": { + "properties": { + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + }, + "201": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + }, + "202": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json new file mode 100644 index 000000000000..e74094f64531 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json new file mode 100644 index 000000000000..ce7f31491cad --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json new file mode 100644 index 000000000000..35219afb6d4c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json new file mode 100644 index 000000000000..b88fa1b13577 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json new file mode 100644 index 000000000000..6e47a4170864 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "configServerResource": { + "properties": { + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json new file mode 100644 index 000000000000..6e47a4170864 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "configServerResource": { + "properties": { + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..5857185150a6 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "domainResource": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "certName": "mycert" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "201": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "202": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json new file mode 100644 index 000000000000..673bdf1a9b61 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json new file mode 100644 index 000000000000..3bb445de3742 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json new file mode 100644 index 000000000000..0bdbfc51f763 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json new file mode 100644 index 000000000000..a2b61973f8a2 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "domainResource": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "certName": "mycert" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "202": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json new file mode 100644 index 000000000000..786a5f55af53 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "instances": null + } + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "201": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Creating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "200": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json new file mode 100644 index 000000000000..8bec5172fcf5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json new file mode 100644 index 000000000000..9a999a403ffc --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json new file mode 100644 index 000000000000..13a30ad15e17 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "url": "https://spring.blob.core.windows.net/logs/110ec0c337154d45b1f01daf2196c0bf/b58b0cb4ecdea3c65311b4ca8833fe47b6ae0a7500f87a8eb31e8379d3fe48f1-2019081312-42b7b90c-f108-4c09-b33d-1ea134f57f23?sv=2018-03-28&sr=b&sig=example-signature&se=2019-08-14T09%3A43%3A52Z&sp=r" + } + }, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json new file mode 100644 index 000000000000..35ff6dcf1ee7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json new file mode 100644 index 000000000000..35ff6dcf1ee7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json new file mode 100644 index 000000000000..eec2736b8e66 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json new file mode 100644 index 000000000000..eec2736b8e66 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json new file mode 100644 index 000000000000..eec2736b8e66 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json new file mode 100644 index 000000000000..18c9f75950da --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "instances": null + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "appName": "myapp", + "deploymentSettings": { + "cpu": 1, + "memoryInGB": 3, + "jvmOptions": "-Xms1G -Xmx3G", + "environmentVariables": { + "env": "test" + }, + "runtimeVersion": "Java_8" + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json new file mode 100644 index 000000000000..12cec1860a38 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json new file mode 100644 index 000000000000..5f431e420527 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "monitoringSettingResource": { + "properties": { + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json new file mode 100644 index 000000000000..5f431e420527 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "monitoringSettingResource": { + "properties": { + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json new file mode 100644 index 000000000000..0789ea9adfe3 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AppPlatform/Spring/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Azure Distributed Managed Service for Spring", + "resource": "Managed Applications", + "operation": "Create or Update Managed Applications", + "description": "Create or Update Managed Applications" + }, + "origin": "user,system", + "properties": { + "serviceSpecification": null + } + } + ], + "nextLink": "providers/Microsoft.AppPlatform?$skipToken={opaqueString}" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json new file mode 100644 index 000000000000..1023f932df8c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "value": "Java_8", + "platform": "Java", + "version": "8" + }, + { + "value": "Java_11", + "platform": "Java", + "version": "11" + }, + { + "value": "NetCore_31", + "platform": ".NET Core", + "version": "3.1" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json new file mode 100644 index 000000000000..a82bdc11a5a7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "availabilityParameters": { + "type": "Microsoft.AppPlatform/Spring", + "name": "myservice" + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The name is already used." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json new file mode 100644 index 000000000000..6837e4ff3174 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "resource": { + "properties": {}, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json new file mode 100644 index 000000000000..b5e932ff99b3 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "resource": { + "properties": { + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg" + } + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + } + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + } + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + } + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json new file mode 100644 index 000000000000..e1bb8539d801 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + }, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json new file mode 100644 index 000000000000..47002475fca4 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json new file mode 100644 index 000000000000..9836b1d2ae6f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryTestEndpoint": "key1@TestEndpoint", + "secondaryTestEndpoint": "key2@TestEndpoint", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json new file mode 100644 index 000000000000..0af48fc29a7b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json new file mode 100644 index 000000000000..0e6a9a8d02ed --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json new file mode 100644 index 000000000000..c8bfadb985b7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json new file mode 100644 index 000000000000..9836b1d2ae6f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryTestEndpoint": "key1@TestEndpoint", + "secondaryTestEndpoint": "key2@TestEndpoint", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json new file mode 100644 index 000000000000..36ce27ed48c3 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "regenerateTestKeyRequest": { + "keyType": "Primary" + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "key1", + "secondaryKey": "key2", + "primaryTestEndpoint": "key1@TestEndpoint", + "secondaryTestEndpoint": "key2@TestEndpoint", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json new file mode 100644 index 000000000000..0404e9a95e93 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "resource": { + "properties": {}, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + } + } + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json new file mode 100644 index 000000000000..e5f7d5765289 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Spring", + "name": "B0", + "tier": "Basic", + "capacity": { + "minimum": 1, + "maximum": 20, + "default": 1, + "scaleType": "Automatic" + }, + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [], + "zoneDetails": [] + } + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/readme.azureresourceschema.md b/specification/appplatform/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7c633bc07810 --- /dev/null +++ b/specification/appplatform/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-appplatform-2020-07-01 + - tag: schema-appplatform-2019-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-appplatform-2020-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-appplatform-2020-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json + +``` + +### Tag: schema-appplatform-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-appplatform-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json + +``` diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md index 2406d387ba5f..3c5820e1c257 100644 --- a/specification/appplatform/resource-manager/readme.go.md +++ b/specification/appplatform/resource-manager/readme.go.md @@ -13,9 +13,19 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-2020-07 and go + +These settings apply only when `--tag=package-2020-07 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace) +``` + ### Tag: package-2019-05-01-preview and go These settings apply only when `--tag=package-2019-05-01-preview --go` is specified on the command line. diff --git a/specification/appplatform/resource-manager/readme.java.md b/specification/appplatform/resource-manager/readme.java.md index 789e47493698..1f6d7300efe1 100644 --- a/specification/appplatform/resource-manager/readme.java.md +++ b/specification/appplatform/resource-manager/readme.java.md @@ -16,9 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-2020-07 and java + +These settings apply only when `--tag=package-2020-07 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.appplatform.v2020_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2020_07_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2019-05-01-preview and java These settings apply only when `--tag=package-2019-05-01-preview --java` is specified on the command line. @@ -30,4 +44,4 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2019_05_01_preview regenerate-manager: true generate-interface: true -``` \ No newline at end of file +``` diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md index 2a1d933b2910..4a9a5a3d95e3 100644 --- a/specification/appplatform/resource-manager/readme.md +++ b/specification/appplatform/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for AppPlatform. - - --- + ## Getting Started + To build the SDK for AppPlatform, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,18 +15,18 @@ To build the SDK for AppPlatform, simply [Install AutoRest](https://aka.ms/autor To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the AppPlatform API. ``` yaml openapi-type: arm -tag: package-2019-05-01-preview +tag: package-2020-07 ``` ### Suppression @@ -41,8 +41,23 @@ directive: from: appplatform.json where: $.definitions.Dimension.properties.toBeExportedForShoebox reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics + - suppress: R3021 + from: appplatform.json + reason: The resource type name 'Spring' is a trademark so cannot be changed to be camel-case + #where: + # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default"] + # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default"] ``` + +### Tag: package-2020-07 + +These settings apply only when `--tag=package-2020-07` is specified on the command line. + +```yaml $(tag) == 'package-2020-07' +input-file: + - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json +``` ### Tag: package-2019-05-01-preview These settings apply only when `--tag=package-2019-05-01-preview` is specified on the command line. @@ -53,8 +68,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -64,6 +79,8 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python + after_scripts: + - python ./scripts/multiapi_init_gen.py azure-mgmt-appplatform - repo: azure-sdk-for-java - repo: azure-sdk-for-net - repo: azure-sdk-for-node @@ -72,9 +89,11 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_appplatform'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js appplatform/resource-manager ``` - ## Go See configuration in [readme.go.md](./readme.go.md) @@ -98,6 +117,10 @@ csharp: clear-output-folder: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -110,15 +133,15 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json - $(this-folder)/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md index 5e8d38718850..ddb776efd495 100644 --- a/specification/appplatform/resource-manager/readme.python.md +++ b/specification/appplatform/resource-manager/readme.python.md @@ -10,18 +10,40 @@ python: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 - namespace: azure.mgmt.appplatform package-name: azure-mgmt-appplatform - package-version: 0.2.0 clear-output-folder: true + no-namespace-folders: true +``` + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(python) && $(multiapi) +batch: + - tag: package-2020-07 + - tag: package-2019-05-01-preview ``` -``` yaml $(python) && $(python-mode) == 'update' + +### Tag: package-2020-07 and python + +These settings apply only when `--tag=package-2020-07 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(python) python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform + namespace: azure.mgmt.appplatform.v2020_07_01 + output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_07_01 ``` -``` yaml $(python) && $(python-mode) == 'create' + +### Tag: package-2019-05-01-preview and python + +These settings apply only when `--tag=package-2019-05-01-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-05-01-preview' && $(python) python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform + namespace: azure.mgmt.appplatform.v2019_05_01_preview + output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2019_05_01_preview ``` + diff --git a/specification/appplatform/resource-manager/readme.ruby.md b/specification/appplatform/resource-manager/readme.ruby.md index 827034b2477a..7a1b560cd736 100644 --- a/specification/appplatform/resource-manager/readme.ruby.md +++ b/specification/appplatform/resource-manager/readme.ruby.md @@ -12,9 +12,20 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2020-07 - tag: package-2019-05-01-preview ``` +### Tag: package-2020-07 and ruby + +These settings apply only when `--tag=package-2020-07 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(ruby) +namespace: "Azure::AppPlatform::Mgmt::V2020_07_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib +``` + ### Tag: package-2019-05-01-preview and ruby These settings apply only when `--tag=package-2019-05-01-preview --ruby` is specified on the command line. diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json index 3813af740c8c..5e016060e568 100644 --- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json @@ -341,6 +341,86 @@ } } } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Attestation/defaultProviders": { + "get": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_ListDefault", + "description": "Get the default provider", + "x-ms-examples": { + "AttestationProviders_GetDefault": { + "$ref": "./examples/Get_DefaultProviders.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about the default provider.", + "schema": { + "$ref": "#/definitions/AttestationProviderListResult" + } + }, + "default": { + "description": "Attestation service error result", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Attestation/locations/{location}/defaultProvider": { + "get": { + "tags": [ + "AttestationProviders" + ], + "operationId": "AttestationProviders_GetDefaultByLocation", + "description": "Get the default provider by location.", + "x-ms-examples": { + "AttestationProviders_GetDefaultWithLocation": { + "$ref": "./examples/Get_DefaultProviderByLocation.json" + } + }, + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "description": "The location of the default provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about the default provider.", + "schema": { + "$ref": "#/definitions/AttestationProvider" + } + }, + "default": { + "description": "Attestation service error result", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } } }, "definitions": { @@ -414,9 +494,6 @@ "StatusResult": { "type": "object", "description": "Status of attestation service.", - "required": [ - "status" - ], "properties": { "trustModel": { "type": "string", diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviderByLocation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviderByLocation.json new file mode 100644 index 000000000000..b32bef265455 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviderByLocation.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "6c96b33e-f5b8-40a6-9011-5cb1c58b0915", + "api-version": "2018-09-01-preview", + "location": "Central US" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Attestation/attestationProviders/sharedcus", + "name": "sharedcus", + "type": "Microsoft.Attestation/attestationProviders", + "location": "Central US", + "properties": { + "trustModel": "AAD", + "status": "Ready", + "attestUri": "https://sharedcus.cus.attest.azure.net" + } + } + } + } +} diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviders.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviders.json new file mode 100644 index 000000000000..5d39d2b7e646 --- /dev/null +++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviders.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "6c96b33e-f5b8-40a6-9011-5cb1c58b0915", + "api-version": "2018-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Attestation/attestationProviders/sharedcus", + "name": "sharedcus", + "type": "Microsoft.Attestation/attestationProviders", + "location": "Central US", + "properties": { + "trustModel": "AAD", + "status": "Ready", + "attestUri": "https://sharedcus.cus.attest.azure.net" + } + }, + { + "id": "providers/Microsoft.Attestation/attestationProviders/shareduks", + "name": "shareduks", + "type": "Microsoft.Attestation/attestationProviders", + "location": "UK South", + "properties": { + "trustModel": "AAD", + "status": "Ready", + "attestUri": "https://shareduks.uks.attest.azure.net" + } + } + ] + } + } + } +} diff --git a/specification/attestation/resource-manager/readme.azureresourceschema.md b/specification/attestation/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..990f22190468 --- /dev/null +++ b/specification/attestation/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-attestation-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-attestation-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-attestation-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Attestation/preview/2018-09-01-preview/attestation.json + +``` diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md index f6640479ed02..e2509e0c3c46 100644 --- a/specification/attestation/resource-manager/readme.md +++ b/specification/attestation/resource-manager/readme.md @@ -51,6 +51,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js attestation/resource-manager ``` ## Python @@ -76,6 +79,13 @@ csharp: See configuration in [readme.go.md](./readme.go.md) +## Trenton + +See configuration in [readme.trenton.md](./readme.trenton.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## Multi-API/Profile support for AutoRest v3 generators diff --git a/specification/attestation/resource-manager/readme.trenton.md b/specification/attestation/resource-manager/readme.trenton.md new file mode 100644 index 000000000000..3e0da01d7f39 --- /dev/null +++ b/specification/attestation/resource-manager/readme.trenton.md @@ -0,0 +1,21 @@ + +## trenton + +These settings apply only when `--trenton` is specified on the command line. + +``` yaml $(trenton) +trenton: + cli-name: attestation + package-name: attestation +clear-output-folder: true +output-folder: $(trenton-output-folder)/attestation +overrides: + - where: + property: "x5C" + set: + - GoFieldName: X5c + - where: + property: "/creationParams/properties" + set: + - GoFieldName: Properties +``` diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json new file mode 100644 index 000000000000..478c98bc5686 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json @@ -0,0 +1,687 @@ +{ + "swagger": "2.0", + "info": { + "title": "AuthorizationManagementClient", + "version": "2020-04-01-preview", + "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role assignments. A role assignment grants access to Azure Active Directory users." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments": { + "get": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_ListForResource", + "description": "Gets role assignments for a resource.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceProviderNamespaceParameter" + }, + { + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource identity.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceType", + "in": "path", + "required": true, + "type": "string", + "description": "The resource type of the resource.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource to get role assignments for." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of role assignments.", + "schema": { + "$ref": "#/definitions/RoleAssignmentListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/RoleAssignmentFilter", + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/GetRoleAssignmentsForResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments": { + "get": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_ListForResourceGroup", + "description": "Gets role assignments for a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of role assignments.", + "schema": { + "$ref": "#/definitions/RoleAssignmentListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/RoleAssignmentFilter", + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/GetRoleAssignmentsForResourceGroup.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}": { + "delete": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_Delete", + "description": "Deletes a role assignment.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment to delete.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role assignment to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + } + }, + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/DeleteRoleAssignmentByName.json" + } + } + }, + "put": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_Create", + "description": "Creates a role assignment.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role assignment to create. It can be any valid GUID." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoleAssignmentCreateParameters" + }, + "description": "Parameters for the role assignment." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + } + }, + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/PutRoleAssignment.json" + } + } + }, + "get": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_Get", + "description": "Get the specified role assignment.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role assignment to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + } + }, + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/GetRoleAssignmentByName.json" + } + } + } + }, + "/{roleId}": { + "delete": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_DeleteById", + "description": "Deletes a role assignment.", + "parameters": [ + { + "name": "roleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the role assignment to delete.", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + } + }, + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/DeleteRoleAssignmentById.json" + } + } + }, + "put": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_CreateById", + "description": "Creates a role assignment by ID.", + "parameters": [ + { + "name": "roleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the role assignment to create.", + "x-ms-skip-url-encoding": true + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoleAssignmentCreateParameters" + }, + "description": "Parameters for the role assignment." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + } + }, + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/PutRoleAssignmentById.json" + } + } + }, + "get": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_GetById", + "description": "Gets a role assignment by ID.", + "parameters": [ + { + "name": "roleId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the role assignment to get.", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + } + }, + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/GetRoleAssignmentById.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments": { + "get": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_List", + "description": "Gets all role assignments for the subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of role assignments.", + "schema": { + "$ref": "#/definitions/RoleAssignmentListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/RoleAssignmentFilter", + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/GetAllRoleAssignments.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleAssignments": { + "get": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_ListForScope", + "description": "Gets role assignments for a scope.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignments.", + "x-ms-skip-url-encoding": true + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of role assignments.", + "schema": { + "$ref": "#/definitions/RoleAssignmentListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/RoleAssignmentFilter", + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/GetRoleAssignmentByScope.json" + } + } + } + } + }, + "definitions": { + "RoleAssignmentFilter": { + "properties": { + "principalId": { + "type": "string", + "description": "Returns role assignment of the specific principal." + }, + "canDelegate": { + "type": "boolean", + "description": "The Delegation flag for the role assignment" + } + }, + "description": "Role Assignments filter" + }, + "RoleAssignmentPropertiesWithScope": { + "properties": { + "scope": { + "type": "string", + "description": "The role assignment scope." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition ID." + }, + "principalId": { + "type": "string", + "description": "The principal ID." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID.", + "enum": [ + "User", + "Group", + "ServicePrincipal", + "Unknown", + "DirectoryRoleTemplate", + "ForeignGroup", + "Application", + "MSI", + "DirectoryObjectOrGroup", + "Everyone" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "canDelegate": { + "type": "boolean", + "description": "The Delegation flag for the role assignment" + }, + "description": { + "type": "string", + "description": "Description of role assignment" + }, + "condition": { + "type": "string", + "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'" + }, + "conditionVersion": { + "type": "string", + "description": "Version of the condition. Currently accepted value is '2.0'" + } + }, + "description": "Role assignment properties with scope." + }, + "RoleAssignment": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The role assignment ID." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The role assignment name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The role assignment type." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoleAssignmentPropertiesWithScope", + "description": "Role assignment properties." + } + }, + "description": "Role Assignments" + }, + "RoleAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RoleAssignment" + }, + "description": "Role assignment list." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Role assignment list operation result." + }, + "RoleAssignmentProperties": { + "properties": { + "roleDefinitionId": { + "type": "string", + "description": "The role definition ID used in the role assignment." + }, + "principalId": { + "type": "string", + "description": "The principal ID assigned to the role. This maps to the ID inside the Active Directory. It can point to a user, service principal, or security group." + }, + "principalType": { + "type": "string", + "description": "The principal type of the assigned principal ID.", + "enum": [ + "User", + "Group", + "ServicePrincipal", + "Unknown", + "DirectoryRoleTemplate", + "ForeignGroup", + "Application", + "MSI", + "DirectoryObjectOrGroup", + "Everyone" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "canDelegate": { + "type": "boolean", + "description": "The delegation flag used for creating a role assignment" + }, + "description": { + "type": "string", + "description": "Description of role assignment" + }, + "condition": { + "type": "string", + "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'" + }, + "conditionVersion": { + "type": "string", + "description": "Version of the condition. Currently accepted value is '2.0'" + } + }, + "required": [ + "roleDefinitionId", + "principalId" + ], + "description": "Role assignment properties." + }, + "RoleAssignmentCreateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoleAssignmentProperties", + "description": "Role assignment properties." + } + }, + "required": [ + "properties" + ], + "description": "Role assignment create parameters." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ResourceProviderNamespaceParameter": { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentById.json new file mode 100644 index 000000000000..79a4930d5d95 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "scope": "scope", + "roleId": "roleAssignmentId", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleassignmentId" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentByName.json new file mode 100644 index 000000000000..bf403661e286 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentByName.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "scope": "scope", + "roleAssignmentName": "roleAssignmentName", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleassignmentId" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetAllRoleAssignments.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetAllRoleAssignments.json new file mode 100644 index 000000000000..f2f280fce64a --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetAllRoleAssignments.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "raId" + } + ] + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentById.json new file mode 100644 index 000000000000..ecbaeb7de321 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "roleId": "roleassignmentId", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleassignmentId" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByName.json new file mode 100644 index 000000000000..202df15a909d --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByName.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "scope": "scope", + "roleAssignmentName": "roleAssignmentName", + "subscriptionId": "subId", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "raId" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByScope.json new file mode 100644 index 000000000000..5fe6140ed25c --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByScope.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "scope": "scope", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "raId" + } + ] + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResource.json new file mode 100644 index 000000000000..350bd409baf2 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResource.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "resourceGroupName": "rgname", + "resourceProviderNamespace": "resourceProviderNamespace", + "parentResourcePath": "parentResourcePath", + "resourceType": "resourceType", + "resourceName": "resourceName", + "subscriptionId": "subId", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "raId" + } + ] + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResourceGroup.json new file mode 100644 index 000000000000..df3eb34a02cb --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResourceGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceGroupName": "rgname", + "subscriptionId": "subId", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "raId" + } + ] + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json new file mode 100644 index 000000000000..c87cfe4307e7 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "scope": "scope", + "roleAssignmentName": "roleAssignmentName", + "parameters": { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772", + "principalId": "d93a38bc-d029-4160-bfb0-fbda779ac214", + "principalType": "User", + "canDelegate": false + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "201": { + "body": { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleassignmentId" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json new file mode 100644 index 000000000000..965fb76e36b5 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "scope": "scope", + "roleId": "roleAssignmentId", + "parameters": { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772", + "principalId": "d93a38bc-d029-4160-bfb0-fbda779ac214", + "principalType": "User", + "canDelegate": false + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "201": { + "body": { + "properties": { + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "description": "Grants UserFoo role assignment bar in scope baz", + "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId", + "principalId": "Pid", + "principalType": "Ptype", + "scope": "/subscriptions/subId/resourcegroups/rgname", + "canDelegate": false + }, + "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleassignmentId" + } + } + } +} diff --git a/specification/authorization/resource-manager/readme.azureresourceschema.md b/specification/authorization/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..de63c8f3bf21 --- /dev/null +++ b/specification/authorization/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,102 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-authorization-2020-04-01-preview + - tag: schema-authorization-2018-09-01-preview + - tag: schema-authorization-2018-07-01-preview + - tag: schema-authorization-2018-01-01-preview + - tag: schema-authorization-2017-10-01-preview + - tag: schema-authorization-2015-07-01 + - tag: schema-authorization-2015-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-authorization-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json + +``` + +### Tag: schema-authorization-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json + +``` + +### Tag: schema-authorization-2018-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json + +``` + +### Tag: schema-authorization-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json + - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json + - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json + +``` + +### Tag: schema-authorization-2017-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2017-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json + +``` + +### Tag: schema-authorization-2015-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2015-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json + - Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json + - Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json + - Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json + - Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.json + +``` + +### Tag: schema-authorization-2015-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2015-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json + +``` diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md index 88cac5ab776c..dc05c9392f9c 100644 --- a/specification/authorization/resource-manager/readme.md +++ b/specification/authorization/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Authorization. - - --- + ## Getting Started + To build the SDK for Authorization, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,28 +15,67 @@ To build the SDK for Authorization, simply [Install AutoRest](https://aka.ms/aut To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the Authorization API. ``` yaml openapi-type: arm -tag: package-2018-09-01-preview +tag: package-2020-04-01-preview-only ``` ## Suppression + ``` yaml directive: - suppress: OperationsAPIImplementation reason: we do have a operations api as "/providers/Microsoft.Authorization/operations" - #where: - # - $.paths["/providers/Microsoft.Authorization/operations"] + - suppress: OperationIdNounConflictingModelNames + where: '$.paths["/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}"].get.operationId' + from: authorization-ProviderOperationsCalls.json + reason: the full operationId value is "ProviderOperationsMetadata_Get" the linter does not seem to be picking what's after the '_' + - suppress: OperationIdNounConflictingModelNames + where: '$.paths["/providers/Microsoft.Authorization/providerOperations"].get.operationId' + from: authorization-ProviderOperationsCalls.json + reason: the full operationId value is "ProviderOperationsMetadata_List" the linter does not seem to be picking what's after the '_' + - suppress: EnumInsteadOfBoolean + where: $.definitions.RoleAssignmentFilter.properties.canDelegate + from: authorization-RoleAssignmentsCalls.json + reason: for this case the result of the proposed change would resemble a boolean anyways + - suppress: EnumInsteadOfBoolean + where: $.definitions.RoleAssignmentPropertiesWithScope.properties.canDelegate + from: authorization-RoleAssignmentsCalls.json + reason: for this case the result of the proposed change would resemble a boolean anyways + - suppress: EnumInsteadOfBoolean + where: $.definitions.RoleAssignmentProperties.properties.canDelegate + from: authorization-RoleAssignmentsCalls.json + reason: for this case the result of the proposed change would resemble a boolean anyways + - suppress: EnumInsteadOfBoolean + where: $.definitions.ProviderOperation.properties.isDataAction + from: authorization-ProviderOperationsCalls.json + reason: for this case the result of the proposed change would resemble a boolean anyways + - suppress: EnumInsteadOfBoolean + where: $.definitions.DenyAssignmentProperties.properties.doNotApplyToChildScopes + from: authorization-DenyAssignmentGetCalls.json + reason: for this case the result of the proposed change would resemble a boolean anyways + - suppress: EnumInsteadOfBoolean + where: $.definitions.DenyAssignmentProperties.properties.isSystemProtected + from: authorization-DenyAssignmentGetCalls.json + reason: for this case the result of the proposed change would resemble a boolean anyways +``` +### Tag: package-2020-04-01-preview-only + +These settings apply only when `--tag=package-2020-04-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-04-01-preview-only' +input-file: +- Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json ``` ### Tag: package-2015-07-01 @@ -167,8 +206,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -188,6 +227,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_authorization'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js authorization/resource-manager ``` ## Go @@ -198,7 +240,11 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -210,6 +256,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json - $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json @@ -225,11 +272,10 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/authorization/resource-manager/readme.python.md b/specification/authorization/resource-manager/readme.python.md index 70e14ea1a327..56c486beb56b 100644 --- a/specification/authorization/resource-manager/readme.python.md +++ b/specification/authorization/resource-manager/readme.python.md @@ -21,6 +21,7 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) batch: + - tag: package-2020-04-01-preview-only - tag: package-2018-09-01-preview-only - tag: package-2018-07-01-preview-only - tag: package-2018-01-01-preview-only @@ -28,6 +29,16 @@ batch: - tag: package-2015-06-01-preview ``` +### Tag: package-2020-04-01-preview-only and python + +These settings apply only when `--tag=package-2020-04-01-preview-only --python` is specified on the command line. + +``` yaml $(tag) == 'package-2020-04-01-preview-only' && $(python) +python: + namespace: azure.mgmt.authorization.v2020_04_01_preview + output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2020_04_01_preview +``` + ### Tag: package-2018-09-01-preview-only and python These settings apply only when `--tag=package-2018-09-01-preview-only --python` is specified on the command line. diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json new file mode 100644 index 000000000000..d82d8023bd7f --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json @@ -0,0 +1,1371 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-30-preview", + "title": "Automanage" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.Automanage/accounts/{accountName}": { + "put": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "description": "Creates an Automanage Account", + "x-ms-examples": { + "Create or update Automanage account": { + "$ref": "./examples/createOrUpdateAccount.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Automanage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + }, + "description": "Parameters supplied to create or update Automanage account." + } + ], + "responses": { + "201": { + "description": "Created. The Automanage account was created successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "200": { + "description": "OK. The Automanage account was updated successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Get", + "description": "Get information about a Automanage account", + "x-ms-examples": { + "Get an Automanage account": { + "$ref": "./examples/getAccount.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Automanage account name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The Automanage account was returned successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Delete", + "description": "Delete a Automanage account", + "x-ms-examples": { + "Delete an Automanage account": { + "$ref": "./examples/deleteAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Automanage account" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Update", + "description": "Updates an Automanage Account", + "x-ms-examples": { + "Update Automanage account": { + "$ref": "./examples/updateAccount.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Automanage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountUpdate" + }, + "description": "Parameters supplied to update Automanage account." + } + ], + "responses": { + "200": { + "description": "OK. The Automanage account was updated successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListByResourceGroup", + "description": "Retrieve a list of Automanage accounts within a given resource group", + "x-ms-examples": { + "List Automanage accounts by resource group": { + "$ref": "./examples/listAccountsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of Automanage accounts.", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListBySubscription", + "description": "Retrieve a list of Automanage accounts within a subscription", + "x-ms-examples": { + "List Automanage accounts by subscription": { + "$ref": "./examples/listAccountsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of Automanage accounts.", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}": { + "put": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_CreateOrUpdate", + "description": "Creates an association between a VM and Automanage configuration profile", + "x-ms-examples": { + "Create or update configuration profile assignment": { + "$ref": "./examples/createOrUpdateConfigurationProfileAssignment.json" + } + }, + "parameters": [ + { + "name": "configurationProfileAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile assignment. Only default is supported." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + }, + "description": "Parameters supplied to the create or update configuration profile assignment." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VmNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created. The Automanage configuration profile assignment for the VM was created successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + } + }, + "200": { + "description": "OK. The configuration profile assignment for the VM was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_Get", + "description": "Get information about a configuration profile assignment", + "x-ms-examples": { + "Get a configuration profile assignment": { + "$ref": "./examples/getConfigurationProfileAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfileAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile assignment name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/VmNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The configuration profile assignment was returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_Delete", + "description": "Delete a configuration profile assignment", + "x-ms-examples": { + "Delete an configuration profile assignment": { + "$ref": "./examples/deleteConfigurationProfileAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfileAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile assignment" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/VmNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfileAssignments": { + "get": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_List", + "description": "Get list of configuration profile assignments", + "x-ms-examples": { + "Get a configuration profile assignment": { + "$ref": "./examples/listConfigurationProfileAssignments.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The list of configuration profile assignments were returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfileAssignments": { + "get": { + "tags": [ + "ConfigurationProfileAssignments" + ], + "operationId": "ConfigurationProfileAssignments_ListBySubscription", + "description": "Get list of configuration profile assignments under a given subscription", + "x-ms-examples": { + "List configuration profile assignments": { + "$ref": "./examples/listConfigurationProfileAssignmentsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The list of configuration profile assignments were returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfileAssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences/{configurationProfilePreferenceName}": { + "put": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_CreateOrUpdate", + "description": "Creates a configuration profile preference", + "x-ms-examples": { + "Create or update configuration profile preference": { + "$ref": "./examples/createOrUpdateConfigurationProfilePreference.json" + } + }, + "parameters": [ + { + "name": "configurationProfilePreferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile preference." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + }, + "description": "Parameters supplied to create or update configuration profile preference." + } + ], + "responses": { + "201": { + "description": "Created. The configuration profile preference was created successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + } + }, + "200": { + "description": "OK. The configuration profile preference was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_Get", + "description": "Get information about a configuration profile preference", + "x-ms-examples": { + "Get a configuration profile": { + "$ref": "./examples/getConfigurationProfilePreference.json" + } + }, + "parameters": [ + { + "name": "configurationProfilePreferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration profile preference name." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The configuration profile preference was returned successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_Delete", + "description": "Delete a configuration profile preference", + "x-ms-examples": { + "Delete a configuration profile preference": { + "$ref": "./examples/deleteConfigurationProfilePreference.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "configurationProfilePreferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile preference" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_Update", + "description": "Updates a configuration profile preference", + "x-ms-examples": { + "Create or update configuration profile preference": { + "$ref": "./examples/updateConfigurationProfilePreference.json" + } + }, + "parameters": [ + { + "name": "configurationProfilePreferenceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the configuration profile preference." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreferenceUpdate" + }, + "description": "Parameters supplied to create or update configuration profile preference." + } + ], + "responses": { + "200": { + "description": "OK. The configuration profile preference was updated successfully.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreference" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences": { + "get": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_ListByResourceGroup", + "description": "Retrieve a list of configuration profile preferences within a given resource group", + "x-ms-examples": { + "List configuration profile preferences by resource group": { + "$ref": "./examples/listConfigurationProfilePreferencesByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of configuration profile preferences.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreferenceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfilePreferences": { + "get": { + "tags": [ + "ConfigurationProfilePreferences" + ], + "operationId": "ConfigurationProfilePreferences_ListBySubscription", + "description": "Retrieve a list of configuration profile preferences within a subscription", + "x-ms-examples": { + "List configuration profile preferences by subscription": { + "$ref": "./examples/listConfigurationProfilePreferencesBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of configuration profile preferences.", + "schema": { + "$ref": "#/definitions/ConfigurationProfilePreferenceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.Automanage/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Automanage REST API operations.", + "x-ms-examples": { + "Lists all of the available Automanage REST API operations": { + "$ref": "./examples/listOperations.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "Account": { + "properties": { + "identity": { + "$ref": "#/definitions/AccountIdentity", + "description": "The identity of the Automanage account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Definition of the Automanage account." + }, + "AccountUpdate": { + "properties": { + "identity": { + "$ref": "#/definitions/AccountIdentity", + "description": "The identity of the Automanage account." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Definition of the Automanage account." + }, + "AccountIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of Automanage account identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the Automanage account." + }, + "type": { + "type": "string", + "description": "The type of identity used for the Automanage account. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + }, + "description": "Identity for the Automanage account." + }, + "AccountList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "Result of the list Account operation." + } + }, + "description": "The response of the list Account operation." + }, + "ConfigurationProfileAssignmentList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationProfileAssignment" + }, + "description": "Result of the list configuration profile assignment operation." + } + }, + "description": "The response of the list configuration profile assignment operation." + }, + "ConfigurationProfileAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfileAssignmentProperties", + "description": "Properties of the configuration profile assignment." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "Configuration profile assignment is an association between a VM and automanage profile configuration." + }, + "ConfigurationProfileAssignmentProperties": { + "properties": { + "configurationProfile": { + "type": "string", + "description": "A value indicating configuration profile.", + "x-ms-enum": { + "name": "configurationProfile", + "modelAsString": true + }, + "enum": [ + "Azure virtual machine best practices – Dev/Test", + "Azure virtual machine best practices – Production" + ] + }, + "targetId": { + "type": "string", + "description": "The target VM resource URI" + }, + "accountId": { + "type": "string", + "description": "The Automanage account ARM Resource URI" + }, + "configurationProfilePreferenceId": { + "type": "string", + "x-nullable": true, + "description": "The configuration profile custom preferences ARM resource URI" + }, + "provisioningStatus": { + "type": "string", + "readOnly": true, + "description": "The state of onboarding, which only appears in the response.", + "x-ms-enum": { + "name": "provisioningStatus", + "modelAsString": true + }, + "enum": [ + "Succeeded", + "Failed", + "Created" + ] + }, + "compliance": { + "$ref": "#/definitions/ConfigurationProfileAssignmentCompliance", + "description": "The configuration setting for the configuration profile." + } + }, + "description": "Automanage configuration profile assignment properties." + }, + "ConfigurationProfileAssignmentCompliance": { + "properties": { + "updateStatus": { + "readOnly": true, + "type": "string", + "description": "The state of compliance, which only appears in the response.", + "x-nullable": true, + "x-ms-enum": { + "name": "updateStatus", + "modelAsString": true + }, + "enum": [ + "Succeeded", + "Failed", + "Created" + ] + } + }, + "description": "The compliance status for the configuration profile assignment." + }, + "ConfigurationProfilePreference": { + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfilePreferenceProperties", + "description": "Properties of the configuration profile preference." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Definition of the configuration profile preference." + }, + "ConfigurationProfilePreferenceUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ConfigurationProfilePreferenceProperties", + "description": "Properties of the configuration profile preference." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Definition of the configuration profile preference." + }, + "ConfigurationProfilePreferenceProperties": { + "properties": { + "vmBackup": { + "$ref": "#/definitions/ConfigurationProfilePreferenceVmBackup", + "description": "The custom preferences for Azure VM Backup." + }, + "antiMalware": { + "$ref": "#/definitions/ConfigurationProfilePreferenceAntiMalware", + "description": "The custom preferences for Azure Antimalware." + } + }, + "description": "Automanage configuration profile preference properties." + }, + "ConfigurationProfilePreferenceVmBackup": { + "properties": { + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: Pacific Standard Time", + "x-nullable": true + }, + "instantRpRetentionRangeInDays": { + "type": "integer", + "format": "int32", + "description": "Instant RP retention policy range in days" + }, + "retentionPolicy": { + "type": "string", + "description": "Retention policy with the details on backup copy retention ranges.", + "x-nullable": true + }, + "schedulePolicy": { + "type": "string", + "description": "Backup schedule specified as part of backup policy.", + "x-nullable": true + } + }, + "description": "Automanage configuration profile VM Backup preferences." + }, + "ConfigurationProfilePreferenceAntiMalware": { + "properties": { + "enableRealTimeProtection": { + "type": "string", + "description": "Enables or disables Real Time Protection", + "x-ms-enum": { + "name": "enableRealTimeProtection", + "modelAsString": true + }, + "enum": [ + "True", + "False" + ], + "x-nullable": true + }, + "exclusions": { + "type": "object", + "description": "Extensions, Paths and Processes that must be excluded from scan", + "x-nullable": true + }, + "runScheduledScan": { + "type": "string", + "description": "Enables or disables a periodic scan for antimalware", + "x-ms-enum": { + "name": "runScheduledScan", + "modelAsString": true + }, + "enum": [ + "True", + "False" + ], + "x-nullable": true + }, + "scanType": { + "type": "string", + "description": "Type of scheduled scan", + "x-ms-enum": { + "name": "scanType", + "modelAsString": true + }, + "enum": [ + "Quick", + "Full" + ], + "x-nullable": true + }, + "scanDay": { + "type": "string", + "description": "Schedule scan settings day", + "x-nullable": true + }, + "scanTimeInMinutes": { + "type": "string", + "description": "Schedule scan settings time", + "x-nullable": true + } + }, + "description": "Automanage configuration profile Antimalware preferences." + }, + "ConfigurationProfilePreferenceList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationProfilePreference" + }, + "description": "Result of the list ConfigurationProfilePreference operation." + } + }, + "description": "The response of the list ConfigurationProfilePreference operation." + }, + "Operation": { + "description": "Automanage REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: For ex. providers/Microsoft.Automanage/configurationProfileAssignments/write or read", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "string" + }, + "display": { + "properties": { + "provider": { + "description": "Service provider: Microsoft.Automanage", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: For ex. ", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description about operation.", + "type": "string" + } + }, + "description": "Provider, Resource, Operation and description values." + }, + "properties": { + "properties": { + "statusCode": { + "description": "Service provider: Microsoft.Automanage", + "type": "string" + } + }, + "x-ms-client-flatten": true, + "description": "Provider, Resource, Operation and description values." + } + } + }, + "OperationList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Automanage operations supported by the Automanage resource provider." + } + }, + "description": "The response model for the list of Automanage operations" + }, + "UpdateResource": { + "description": "Represents an update resource", + "type": "object", + "properties": { + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "VmNameParameter": { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json new file mode 100644 index 000000000000..5924745ee5a0 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "resourceGroup", + "api-version": "2020-06-30-preview", + "accountName": "account", + "parameters": { + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "name": "account", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + }, + "200": { + "headers": {}, + "body": { + "name": "account", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json new file mode 100644 index 000000000000..e481e11c5b6e --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2020-06-30-preview", + "parameters": { + "properties": { + "configurationProfile": "Azure Best Practices - Prod", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/AutomanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/AutomanageAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines", + "configurationProfile": "Azure Best Practices - Prod", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/AutomanageAccounts/AutomanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Created" + }, + "provisioningStatus": "Created" + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/AutomanageAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines", + "configurationProfile": "Azure Best Practices - Prod", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/AutomanageAccounts/AutomanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningStatus": "Succeeded" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json new file mode 100644 index 000000000000..845e5c65ab72 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfilePreferenceName": "defaultProfilePreference", + "api-version": "2020-06-30-preview", + "parameters": { + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "name": "defaultProfilePreference", + "type": "Microsoft.Automanage/configurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "name": "defaultProfilePreference", + "type": "Microsoft.Automanage/configurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json new file mode 100644 index 000000000000..61e21fb2d14f --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "accountName": "automanageAccount", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json new file mode 100644 index 000000000000..68b206134c71 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json new file mode 100644 index 000000000000..7dd4fa94ccd8 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "configurationProfilePreferenceName": "defaultProfilePreference", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json new file mode 100644 index 000000000000..161bf418c5b1 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "accountName": "automanageAccount", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "automanageAccount", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json new file mode 100644 index 000000000000..e0f622172f59 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "configurationProfileAssignmentName": "default", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines", + "configurationProfile": "Azure Best Practices - Prod", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningStatus": "Succeeded" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json new file mode 100644 index 000000000000..0bc637534924 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfilePreferenceName": "defaultProfilePreference", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "name": "defaultProfile", + "type": "Microsoft.Automanage/ConfigurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json new file mode 100644 index 000000000000..a566a1b6b69b --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "name": "automanageAccount1", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount1", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "properties": { + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + }, + { + "name": "automanageAccount2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount2", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "properties": { + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json new file mode 100644 index 000000000000..80109d475b76 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "name": "automanageAccount1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Automanage/accounts/automanageAccount1", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + }, + { + "name": "automanageAccount2", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Automanage/accounts/automanageAccount2", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json new file mode 100644 index 000000000000..4a5703b7f0ff --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm", + "configurationProfile": "Azure Best Practices - Prod", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningStatus": "Succeeded" + } + }, + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2", + "configurationProfile": "Azure Best Practices - Prod", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningStatus": "Succeeded" + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json new file mode 100644 index 000000000000..f9b259b3cf6c --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "vmName": "myVMName", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm", + "configurationProfile": "Azure Best Practices - Prod", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningStatus": "Succeeded" + } + }, + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2/providers/Microsoft.Automanage/configurationProfileAssignments/default", + "name": "default", + "properties": { + "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2", + "configurationProfile": "Azure Best Practices - Prod", + "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount", + "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "compliance": { + "updateStatus": "Succeeded" + }, + "provisioningStatus": "Succeeded" + } + } + ] + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json new file mode 100644 index 000000000000..2907215f8756 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference1", + "name": "defaultProfilePreference1", + "type": "Microsoft.Automanage/ConfigurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + }, + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference2", + "name": "defaultProfilePreference2", + "type": "Microsoft.Automanage/ConfigurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json new file mode 100644 index 000000000000..2d9d70165376 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/defaultProfile1", + "name": "defaultProfile1", + "type": "Microsoft.Automanage/configurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configurationProfileType": "Azure Best Practices - Prod", + "preferences": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + }, + { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/defaultProfile2", + "name": "defaultProfile2", + "type": "Microsoft.Automanage/configurationProfiles", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "configurationProfileType": "Azure Best Practices - TestDev", + "preferences": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "False" + } + } + } + } + ] + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json new file mode 100644 index 000000000000..8dc4d3b633ca --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2020-06-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.Automanage/configurationProfileAssignments/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfileAssignments", + "operation": "Microsoft.Automanage/configurationProfileAssignments/write", + "description": "Create new configuration profile assignment." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/configurationProfileAssignments/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfileAssignments", + "operation": "Microsoft.Automanage/configurationProfileAssignments/read", + "description": "Get configuration profile assignment." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/accounts/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/accounts", + "operation": "Microsoft.Automanage/accounts/write", + "description": "Create new Automanage Account." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/accounts/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/accounts", + "operation": "Microsoft.Automanage/accounts/read", + "description": "Get Automanage Account." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/configurationProfilePreferences/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfilePreferences", + "operation": "Microsoft.Automanage/configurationProfilePreferences/write", + "description": "Create new Automanage Configuration Profile Preference." + }, + "properties": null + }, + { + "name": "Microsoft.Automanage/configurationProfilePreferences/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/configurationProfilePreferences", + "operation": "Microsoft.Automanage/configurationProfilePreferences/read", + "description": "Get Automanage Configuration Profile Preference." + }, + "properties": null + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json new file mode 100644 index 000000000000..74a8f9fcc48a --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "resourceGroup", + "api-version": "2020-06-30-preview", + "accountName": "account", + "parameters": { + "tags": { + "Organization": "Administration" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "account", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account", + "type": "Microsoft.Automanage/accounts", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "identity": { + "principalId": "principalId", + "tenantId": "tenantId", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json new file mode 100644 index 000000000000..cfd4c01306c7 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "configurationProfilePreferenceName": "defaultProfilePreference", + "api-version": "2020-06-30-preview", + "parameters": { + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference", + "name": "defaultProfilePreference", + "type": "Microsoft.Automanage/configurationProfilePreferences", + "location": "East US", + "tags": { + "Organization": "Administration" + }, + "properties": { + "vmBackup": { + "timeZone": "Pacific Standard Time" + }, + "antiMalware": { + "enableRealTimeProtection": "True" + } + } + } + } + } +} diff --git a/specification/automanage/resource-manager/readme.az.md b/specification/automanage/resource-manager/readme.az.md new file mode 100644 index 000000000000..6b796af97d11 --- /dev/null +++ b/specification/automanage/resource-manager/readme.az.md @@ -0,0 +1,12 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: automanage + namespace: azure.mgmt.automanage + package-name: azure-mgmt-automanage +az-output-folder: $(azure-cli-extension-folder)/src/automanage +python-sdk-output-folder: "$(az-output-folder)/azext_automanage/vendored_sdks/automanage" +``` \ No newline at end of file diff --git a/specification/automanage/resource-manager/readme.azureresourceschema.md b/specification/automanage/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4a51ecd85b66 --- /dev/null +++ b/specification/automanage/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-automanage-2020-06-30-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-automanage-2020-06-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-automanage-2020-06-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automanage/preview/2020-06-30-preview/automanage.json + +``` diff --git a/specification/automanage/resource-manager/readme.cli.md b/specification/automanage/resource-manager/readme.cli.md new file mode 100644 index 000000000000..e17b8f756ff1 --- /dev/null +++ b/specification/automanage/resource-manager/readme.cli.md @@ -0,0 +1,24 @@ +## CLI + +These settings don't need to apply `--cli` on the command line. + +``` yaml +cli: + cli-name: automanage + package-name: azure-mgmt-automanage + namespace: azure.mgmt.automanage + test-scenario: + - name: Create or update an Automanage account + - name: Create or update configuration profile assignment + - name: Create or update configuration profile preference + - name: Delete an Automanage account + - name: Delete a configuration profile assignment + - name: Delete a configuration profile preference + - name: Get an Automanage account + - name: Get a configuration profile assignment + - name: Get a configuration profile preference + - name: Lists Automanage account + - name: Lists configuration profile assignment + - name: Lists configuration profile preference + - name: Operations +``` \ No newline at end of file diff --git a/specification/automanage/resource-manager/readme.go.md b/specification/automanage/resource-manager/readme.go.md new file mode 100644 index 000000000000..16cdc4f4805e --- /dev/null +++ b/specification/automanage/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: automanage + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-06-30-preview +``` + +### Tag: package-2020-06-30-preview and go + +These settings apply only when `--tag=package-2020-06-30-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06-30-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-06-30-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/automanage/resource-manager/readme.md b/specification/automanage/resource-manager/readme.md new file mode 100644 index 000000000000..c6f1780bd6da --- /dev/null +++ b/specification/automanage/resource-manager/readme.md @@ -0,0 +1,109 @@ +# Automanage + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Automanage. + +--- + +## Getting Started + +To build the SDK for Automanage, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` + +--- + +### Basic Information + +These are the global settings for the Automanage API. + +``` yaml +title: AutomanageClient +description: Automanage Client +openapi-type: arm +tag: package-2020-06-30-preview +``` + +### Tag: package-2020-06-30-preview + +These settings apply only when `--tag=package-2020-06-30-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-30-preview' +input-file: +- Microsoft.Automanage/preview/2020-06-30-preview/automanage.json +``` + +## Suppression + +``` yaml +directive: + - suppress: UniqueResourcePaths + from: automanage.json + where: $.paths + reason: 'Microsoft.Automanage is a proxy resource provider under Microsoft. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/1283' +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_automanage'] +``` + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.Automanage + output-folder: $(csharp-sdks-folder)/automanage/Microsoft.Azure.Management.Automanage/src/Generated + clear-output-folder: true +``` + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json + +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` diff --git a/specification/automanage/resource-manager/readme.python.md b/specification/automanage/resource-manager/readme.python.md new file mode 100644 index 000000000000..66953bf45ec5 --- /dev/null +++ b/specification/automanage/resource-manager/readme.python.md @@ -0,0 +1,42 @@ +## 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) && !$(track2) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.automanage + package-name: azure-mgmt-automanage + package-version: 0.1.0 + clear-output-folder: true +``` + +```yaml $(python) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-automanage +package-version: 0.1.0-preview +clear-output-folder: true +no-namespace-folders: true +``` + +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage +no-namespace-folders: true +output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage +``` + +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage +basic-setup-py: true +output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage +``` diff --git a/specification/automanage/resource-manager/readme.typescript.md b/specification/automanage/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..d856dfb1f954 --- /dev/null +++ b/specification/automanage/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-automanage" + output-folder: "$(typescript-sdks-folder)/sdk/automanage/arm-automanage" + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/automation/resource-manager/readme.azureresourceschema.md b/specification/automation/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b70f177b4995 --- /dev/null +++ b/specification/automation/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,101 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-automation-2020-01-13-preview + - tag: schema-automation-2018-06-30 + - tag: schema-automation-2018-01-15 + - tag: schema-automation-2017-05-15-preview + - tag: schema-automation-2015-10-31 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-automation-2020-01-13-preview and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2020-01-13-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/preview/2020-01-13-preview/privateEndpointConnection.json + - Microsoft.Automation/preview/2020-01-13-preview/privateLinkResources.json + +``` + +### Tag: schema-automation-2018-06-30 and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2018-06-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/stable/2018-06-30/runbook.json + - Microsoft.Automation/stable/2018-06-30/python2package.json + +``` + +### Tag: schema-automation-2018-01-15 and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2018-01-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/stable/2018-01-15/dscNode.json + - Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json + - Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json + - Microsoft.Automation/stable/2018-01-15/dscNodeCounts.json + +``` + +### Tag: schema-automation-2017-05-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2017-05-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json + - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json + - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json + - Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json + - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json + - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJobStreams.json + - Microsoft.Automation/preview/2017-05-15-preview/job.json + +``` + +### Tag: schema-automation-2015-10-31 and azureresourceschema + +``` yaml $(tag) == 'schema-automation-2015-10-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Automation/stable/2015-10-31/account.json + - Microsoft.Automation/stable/2015-10-31/certificate.json + - Microsoft.Automation/stable/2015-10-31/connection.json + - Microsoft.Automation/stable/2015-10-31/connectionType.json + - Microsoft.Automation/stable/2015-10-31/credential.json + - Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json + - Microsoft.Automation/stable/2015-10-31/dscConfiguration.json + - Microsoft.Automation/stable/2015-10-31/dscNode.json + - Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json + - Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json + - Microsoft.Automation/stable/2015-10-31/job.json + - Microsoft.Automation/stable/2015-10-31/jobSchedule.json + - Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json + - Microsoft.Automation/stable/2015-10-31/module.json + - Microsoft.Automation/stable/2015-10-31/runbook.json + - Microsoft.Automation/stable/2015-10-31/schedule.json + - Microsoft.Automation/stable/2015-10-31/variable.json + - Microsoft.Automation/stable/2015-10-31/webhook.json + - Microsoft.Automation/stable/2015-10-31/watcher.json + +``` diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md index e3416d6946aa..1232c3a3c9d8 100644 --- a/specification/automation/resource-manager/readme.md +++ b/specification/automation/resource-manager/readme.md @@ -238,6 +238,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_automation'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js automation/resource-manager ``` @@ -299,6 +302,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json index e3ddfb5dadba..933404e75268 100644 --- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json @@ -224,6 +224,10 @@ "description": "Target virtual machine operating system type necessary for deploying the extension handler.", "$ref": "PlatformImages.json#/definitions/OsType" }, + "publisher": { + "description": "The publisher of the VM Extension", + "type": "string" + }, "computeRole": { "description": "Compute role", "type": "string" diff --git a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md new file mode 100644 index 000000000000..7376b5eb69c3 --- /dev/null +++ b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md @@ -0,0 +1,13 @@ +# AutoRest v3 generators + +> see https://aka.ms/autorest + +``` yaml +input-file: + - Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json + - Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json + - Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json + - Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json + - Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json + - Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json +``` diff --git a/specification/azsadmin/resource-manager/compute/readme.md b/specification/azsadmin/resource-manager/compute/readme.md index 26cb9b4ef55a..6e2d95dd3738 100644 --- a/specification/azsadmin/resource-manager/compute/readme.md +++ b/specification/azsadmin/resource-manager/compute/readme.md @@ -56,6 +56,20 @@ csharp: clear-output-folder: true ``` +# AutoRest v3 generators + +> see https://aka.ms/autorest + +``` yaml +input-file: + - Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json + - Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json + - Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json + - Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json + - Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json + - Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json +``` + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/Deployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/Deployment.json new file mode 100644 index 000000000000..4d71f0cb71c7 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/Deployment.json @@ -0,0 +1,236 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-07-01", + "title": "DeploymentAdminClient", + "description": "Deployment Admin Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Deployment.Admin/operations": { + "get": { + "x-ms-examples": { + "Returns the list of supported REST operations.": { + "$ref": "./examples/Operations/List.json" + } + }, + "description": "Returns the list of supported REST operations.", + "tags": [ + "Deployment" + ], + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Resource": { + "description": "Object model of azure resource manager base.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "description": "ID of the resource.", + "type": "string" + }, + "name": { + "readOnly": true, + "description": "Name of the resource.", + "type": "string" + }, + "type": { + "readOnly": true, + "description": "Type of Resource.", + "type": "string" + }, + "location": { + "description": "Location of the resource.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ExtendedErrorInfo": { + "type": "object", + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "type": "object", + "description": "Error definition.", + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Description of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + } + } + }, + "JTokenString": { + "description": "Error information", + "type": "object", + "properties": { + "value": { + "description": "Parameters as JToken string", + "type": "string" + } + } + }, + "Operation": { + "description": "Describes the supported REST operation.", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object. This name should match the name that appears in RBAC or the event service.", + "type": "string" + }, + "display": { + "description": "Contains the localized display information for this particular operation or action.", + "$ref": "#/definitions/Display" + }, + "origin": { + "description": "Origin for the operation. Eg. User, System", + "type": "string" + } + } + }, + "Display": { + "description": "Contains the localized display information for this particular operation or action.", + "properties": { + "provider": { + "description": "The localized, friendly version of the resource provider name. The provider name is expected to include the name of the publisher or company responsible. The provider name format should use title case and begin with \"Microsoft\" for first-party services. For example, the provider name may be\"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"", + "type": "string" + }, + "resource": { + "description": "The localized, friendly version of the resource type related to this action or operation; the resource type should match the public documentation for the resource provider.", + "type": "string" + }, + "operation": { + "description": "The localized, friendly name for the operation. Use the name as it will displayed to the user.", + "type": "string" + }, + "description": { + "description": "The localized, friendly description for the operation. The description will be displayed to the user. It should be thorough and concise for used in both tooltips and detailed views.", + "type": "string" + } + } + }, + "OperationList": { + "description": "List of Operations", + "properties": { + "value": { + "description": "Array of operations", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URI to the next page of operations.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client API Version.", + "required": true, + "type": "string", + "default": "2018-07-01" + }, + "LocationParameter": { + "description": "Location of the resource.", + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "default": "2018-07-01" + }, + "ProductIdParameter": { + "name": "productId", + "in": "path", + "description": "The product identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PackageIdParameter": { + "name": "packageId", + "in": "path", + "description": "The package identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json new file mode 100644 index 000000000000..deb9b2f4ff18 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json @@ -0,0 +1,341 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-07-01", + "title": "DeploymentAdminClient", + "description": "Deployment Admin Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/fileContainers": { + "get": { + "x-ms-examples": { + "Return file containers list.": { + "$ref": "./examples/FileContainer/List.json" + } + }, + "description": "Returns an array of file containers.", + "tags": [ + "FileContainers" + ], + "operationId": "FileContainers_List", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FileContainersList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/{fileContainerId}": { + "get": { + "x-ms-examples": { + "Return the file container details.": { + "$ref": "./examples/FileContainer/Get.json" + } + }, + "description": "Retrieves the specific file container details.", + "tags": [ + "FileContainers" + ], + "operationId": "FileContainers_Get", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileContainerIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FileContainer" + } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates a new file container.": { + "$ref": "./examples/FileContainer/Create.json" + } + }, + "description": "Creates a new file container.", + "tags": [ + "FileContainers" + ], + "operationId": "FileContainers_Create", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileContainerParameters" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FileContainerIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FileContainer" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "x-ms-examples": { + "Deletes specified file container.": { + "$ref": "examples/FileContainer/Delete.json" + } + }, + "tags": [ + "FileContainers" + ], + "summary": "Deletes specified file container.", + "description": "Delete an existing file container.", + "operationId": "FileContainers_Delete", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileContainerIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + } + } + } + }, + "definitions": { + "FileContainer": { + "type": "object", + "description": "File container entity.", + "properties": { + "properties": { + "description": "File Container properties", + "$ref": "#/definitions/FileContainerAdminProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "Deployment.json#/definitions/Resource" + } + ] + }, + "FileContainerAdminProperties": { + "description": "File Container Properties.", + "type": "object", + "properties": { + "fileContainerId": { + "description": "File container resource identifier containing product manifest.", + "$ref": "#/definitions/FileContainerId" + }, + "sourceUri": { + "description": "The remote file location. This is write-only property, DRP never returns it back to a user.", + "$ref": "#/definitions/SourceUri" + }, + "uri": { + "description": "The file or container Uri. This is read-only property; a user cannot set it.", + "type": "string" + }, + "postCopyAction": { + "description": "Specifies the file post copy action.", + "$ref": "#/definitions/PostCopyAction" + }, + "error": { + "description": "The error response message.", + "$ref": "#/definitions/ErrorInfo" + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "type": "string" + } + } + }, + "FileContainersList": { + "description": "List of file containers.", + "properties": { + "value": { + "description": "List of file containers.", + "type": "array", + "items": { + "$ref": "#/definitions/FileContainer" + } + }, + "nextLink": { + "description": "Continuation token.", + "type": "string" + } + } + }, + "ErrorInfo": { + "description": "Extended Error Information.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string" + }, + "message": { + "description": "The error message.", + "type": "string" + }, + "details": { + "description": "The detailed error messages.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInfo" + } + } + } + }, + "PostCopyAction": { + "description": "Specifies the file post copy action.", + "type": "string", + "enum": [ + "None", + "Unzip" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PostCopyAction" + } + }, + "SourceUri": { + "description": "Specifies The remote file location.", + "type": "string" + }, + "FileContainerId": { + "description": "File container resource identifier containing product manifest.", + "type": "string" + }, + "FileContainerParameters": { + "description": "Parameters for creating a new file container.", + "type": "object", + "properties": { + "properties": { + "description": "Specifies the file container body", + "$ref": "#/definitions/FileContainerBody" + } + } + }, + "FileContainerBody": { + "description": "Body for creating a new file container.", + "type": "object", + "properties": { + "postCopyAction": { + "description": "Specifies the file post copy action.", + "$ref": "#/definitions/PostCopyAction" + }, + "sourceUri": { + "description": "Specifies The remote file location.", + "$ref": "#/definitions/SourceUri" + } + } + } + }, + "parameters": { + "FileContainerIdParameter": { + "description": "The file container identifier.", + "name": "fileContainerId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileContainerParameters": { + "description": "The parameters required to create a new file container.", + "name": "fileContainerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileContainerParameters" + }, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json new file mode 100644 index 000000000000..1434a2709d3c --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json @@ -0,0 +1,355 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-07-01", + "title": "DeploymentAdminClient", + "description": "Deployment Admin Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Deployment.Admin/operations": { + "get": { + "x-ms-examples": { + "Returns the list of supported REST operations.": { + "$ref": "./examples/Operations/List.json" + } + }, + "description": "Returns the list of supported REST operations.", + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "Deployment.json#/definitions/OperationList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages": { + "get": { + "x-ms-examples": { + "Return product packages list.": { + "$ref": "./examples/ProductPackage/List.json" + } + }, + "description": "Returns an array of product packages.", + "tags": [ + "ProductPackages" + ], + "operationId": "ProductPackages_List", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProductPackagesList" + } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}": { + "get": { + "x-ms-examples": { + "Return the product package details.": { + "$ref": "./examples/ProductPackage/Get.json" + } + }, + "description": "Retrieves the specific product package details.", + "tags": [ + "ProductPackages" + ], + "operationId": "ProductPackages_Get", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/PackageIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProductPackage" + } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates a new product package.": { + "$ref": "./examples/ProductPackage/Create.json" + } + }, + "description": "Creates a new product package.", + "tags": [ + "ProductPackages" + ], + "operationId": "ProductPackages_Create", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/PackageIdParameter" + }, + { + "$ref": "#/parameters/ProductPackageParameters" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProductPackage" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "x-ms-examples": { + "Removes a product package.": { + "$ref": "./examples/ProductPackage/Delete.json" + } + }, + "description": "Deletes a product package.", + "tags": [ + "ProductPackages" + ], + "operationId": "ProductPackages_Delete", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/PackageIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "ProductPackage": { + "description": "Properties for a product package.", + "type": "object", + "properties": { + "properties": { + "description": "Properties of a product package.", + "$ref": "#/definitions/ProductPackageProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "Deployment.json#/definitions/Resource" + } + ] + }, + "ProductPackagesList": { + "description": "List of product packages.", + "properties": { + "value": { + "description": "List of product packages.", + "type": "array", + "items": { + "$ref": "#/definitions/ProductPackage" + } + }, + "nextLink": { + "description": "Continuation Token.", + "type": "string" + } + } + }, + "ProductPackageProperties": { + "type": "object", + "description": "Properties for Product package.", + "properties": { + "fileContainerId": { + "description": "File container resource identifier containing product manifest.", + "$ref": "#/definitions/FileContainerId" + }, + "isDeployable": { + "description": "Value indicating whether the package is applicable for deployment.", + "type": "boolean" + }, + "isUpdatable": { + "description": "Value indicating whether the package is applicable for update.", + "type": "boolean" + }, + "productDeploymentId": { + "description": "The identifier of product deployment; null if this version is not installed.", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "type": "string" + } + } + }, + "FileContainerId": { + "description": "File container resource identifier containing product manifest.", + "type": "string" + }, + "ProductProperties": { + "description": "Additional properties of the product", + "type": "object", + "properties": { + "version": { + "description": "The version of the product", + "type": "string" + } + } + }, + "ProductLink": { + "description": "Link to a product.", + "type": "object", + "properties": { + "displayName": { + "description": "Displayed name of product.", + "type": "string" + }, + "uri": { + "description": "URI to product.", + "type": "string" + } + } + }, + "ProductLinks": { + "description": "List of product links.", + "type": "array", + "items": { + "$ref": "#/definitions/ProductLink" + } + }, + "ProductPackageParameters": { + "description": "Parameters for creating a new product package.", + "type": "object", + "properties": { + "properties": { + "description": "Specifies the product package", + "$ref": "#/definitions/ProductPackageBody" + } + } + }, + "ProductPackageBody": { + "description": "Body for creating a new product package.", + "type": "object", + "properties": { + "fileContainerId": { + "description": "Specifies the file container.", + "$ref": "#/definitions/FileContainerId" + } + } + } + }, + "parameters": { + "ProductPackageParameters": { + "description": "The parameters required to create a new product package.", + "name": "ProductPackageParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProductPackageParameters" + }, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Create.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Create.json new file mode 100644 index 000000000000..43bbdc5c5942 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Create.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", + "location": "global", + "api-version": "2018-07-01", + "fileContainerId": "Microsoft.NullProvider.1.1", + "fileContainerParameters": { + "properties": { + "sourceUri": "https://deploymentproviderbvts.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/temp/Microsoft.NullProvider.1.1.zip", + "postCopyAction": "Unzip" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1", + "name": "global/Microsoft.NullProvider.1.1", + "type": "Microsoft.Deployment.Admin/locations/fileContainers", + "location": "global", + "properties": { + "postCopyAction": "Unzip", + "provisioningState": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Delete.json new file mode 100644 index 000000000000..fb79b908e537 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", + "location": "global", + "api-version": "2018-07-01", + "fileContainerId": "Microsoft.NullProvider.1.1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Get.json new file mode 100644 index 000000000000..b10ce0aa7c22 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", + "location": "global", + "api-version": "2018-07-01", + "fileContainerId": "Microsoft.NullProvider.1.1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1", + "name": "global/Microsoft.NullProvider.1.1", + "type": "Microsoft.Deployment.Admin/locations/fileContainers", + "location": "global", + "properties": { + "postCopyAction": "Unzip", + "uri": "https://deploymentrp.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/msdpfilecontainer-cb72641657134ed79ffeb632a58a671e/", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/List.json new file mode 100644 index 000000000000..8c80323e8199 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/List.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", + "location": "global", + "api-version": "2018-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1", + "name": "global/Microsoft.NullProvider.1.1", + "type": "Microsoft.Deployment.Admin/locations/fileContainers", + "location": "global", + "properties": { + "postCopyAction": "Unzip", + "uri": "https://deploymentrp.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/msdpfilecontainer-cb72641657134ed79ffeb632a58a671e/", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/Operations/List.json new file mode 100644 index 000000000000..0f8927a3d630 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/Operations/List.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2018-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Deployment.Admin/locations/fileContainers/read", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "File Container", + "operation": "List/Get File Container(s)", + "description": "Returns the list of file containers or gets properties for the specified file container." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/fileContainers/write", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "File Container", + "operation": "Create/Update File Container", + "description": "Creates or updates a file container." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/fileContainers/delete", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "File Container", + "operation": "Delete File Container", + "description": "Deletes an existing file container." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/operationresults/read", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Operation Result", + "operation": "Poll Asynchronous Operation", + "description": "Polls the status of an asynchronous operation." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Deployment.Admin/Operations/read", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Operation", + "operation": "List Supported Operations", + "description": "Returns the list of supported operations." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Deployment.Admin/locations/productDeployments/read", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Product Deployment", + "operation": "List/Get Product Deployment(s)", + "description": "Returns the list of product deployments or gets properties for the specified product deployment." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productDeployments/bootstrap/action", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Product Deployment", + "operation": "Execute Bootstrap Deployment Phase", + "description": "Executes 'bootstrap' deployment phase." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productDeployments/deploy/action", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Product Deployment", + "operation": "Execute Provision Deployment Phase", + "description": "Executes 'provision' deployment phase." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productDeployments/remove/action", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Product Deployment", + "operation": "Remove Installed Product", + "description": "Removes installed product." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productDeployments/setexternalaccess/action", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Product Deployment", + "operation": "Set External Access", + "description": "Enables or disables operator's access to product subscription." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/read", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Secret", + "operation": "List/Get Secret(s)", + "description": "Returns the list of secrets or gets properties for the specified secret." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/import/action", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Secret", + "operation": "Import Secret Value", + "description": "Imports a new secret value." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/validateImport/action", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Secret", + "operation": "Validate Import", + "description": "Validates input for the import action." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productPackages/read", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Product Package", + "operation": "List/Get Product Package(s)", + "description": "Returns the list of product packages or gets properties for the specified product package." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productPackages/write", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Product Package", + "operation": "Create/Update Product Package", + "description": "Creates or updates a product package." + } + }, + { + "name": "Microsoft.Deployment.Admin/locations/productPackages/delete", + "display": { + "provider": "Microsoft Deployment Provider", + "resource": "Product Package", + "operation": "Delete Product Package", + "description": "Deletes an existing product package." + } + } + ] + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Create.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Create.json new file mode 100644 index 000000000000..0a762d6b6146 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Create.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", + "location": "global", + "api-version": "2018-07-01", + "packageId": "Microsoft.NullProvider.1.1", + "ProductPackageParameters": { + "properties": { + "fileContainerId": "Microsoft.NullProvider.1.1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1", + "name": "global/Microsoft.NullProvider.1.1", + "type": "Microsoft.Deployment.Admin/locations/productPackages", + "properties": { + "fileContainerId": "Microsoft.NullProvider.1.1", + "isDeployable": true, + "isUpdatable": true, + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Delete.json new file mode 100644 index 000000000000..76aaf0a95a96 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", + "location": "global", + "api-version": "2018-07-01", + "packageId": "Microsoft.NullProvider.1.1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Get.json new file mode 100644 index 000000000000..7055b9e4b4a2 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", + "location": "global", + "api-version": "2018-07-01", + "packageId": "Microsoft.NullProvider.1.1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1", + "name": "global/Microsoft.NullProvider.1.1", + "type": "Microsoft.Deployment.Admin/locations/productPackages", + "properties": { + "fileContainerId": "Microsoft.NullProvider.1.1", + "isDeployable": true, + "isUpdatable": true, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/List.json new file mode 100644 index 000000000000..c8e773cca19d --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/List.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", + "location": "global", + "api-version": "2018-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1", + "name": "global/Microsoft.NullProvider.1.1", + "type": "Microsoft.Deployment.Admin/locations/productPackages", + "properties": { + "fileContainerId": "Microsoft.NullProvider.1.1", + "isDeployable": true, + "isUpdatable": true, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json index f374728e2b99..fb687b4690f2 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json @@ -42,6 +42,12 @@ "schema": { "$ref": "#/definitions/ActionPlanList" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-pageable": { @@ -79,8 +85,11 @@ "$ref": "#/definitions/ActionPlanResourceEntity" } }, - "404": { - "description": "NOT FOUND" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json index 574331ae41c9..f88251943ac5 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json @@ -45,6 +45,12 @@ "schema": { "$ref": "#/definitions/ActionPlanOperationsList" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-pageable": { @@ -85,8 +91,11 @@ "$ref": "#/definitions/ActionPlanOperationResourceEntity" } }, - "404": { - "description": "NOT FOUND" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json new file mode 100644 index 000000000000..3e588278ebbc --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json @@ -0,0 +1,139 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-01-01", + "title": "DeploymentAdminClient", + "description": "Deployment Admin Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/{location}/actionplans/{planId}/operations/{operationId}/attempts": { + "get": { + "x-ms-examples": { + "Gets the information about Action Plan operation attempts.": { + "$ref": "./examples/ActionPlanOperationAttempt/Get.json" + } + }, + "description": "Returns the information about action plan operation attempt.", + "tags": [ + "ActionPlanOperationAttempt" + ], + "operationId": "ActionPlanOperationAttempt_List", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/PlanIdParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationAttemptResult" + } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + } + } + } + }, + "definitions": { + "OperationAttemptResult": { + "description": "Result of an Operation Attempt.", + "type": "object", + "properties": { + "properties": { + "description": "Result of an Operation Attempt.", + "$ref": "#/definitions/OperationAttemptProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "Deployment.json#/definitions/Resource" + } + ] + }, + "OperationAttemptProperties": { + "type": "object", + "description": "Operation Attempt Properties.", + "properties": { + "startTime": { + "description": "The deployment start time", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "The deployment end time", + "type": "string", + "format": "date-time" + }, + "provisioningState": { + "description": "Provisioning state of the resource.", + "type": "string" + } + } + } + }, + "parameters": { + "PlanIdParameter": { + "description": "Identifier of the action plan.", + "name": "planId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "description": "Identifier of the action plan operation.", + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json index 9dc085092803..3f662c28d526 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json @@ -75,20 +75,36 @@ "x-ms-azure-resource": true }, "ExtendedErrorInfo": { - "description": "Error information", "type": "object", + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "type": "object", + "description": "Error definition.", "properties": { "code": { - "description": "Error Code", - "type": "string" + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "readOnly": true }, "message": { - "description": "Error Message", - "type": "string" + "description": "Description of the error.", + "type": "string", + "readOnly": true }, "details": { - "description": "Error message details", - "$ref": "#/definitions/ExtendedErrorInfo" + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true } } }, @@ -189,6 +205,14 @@ "required": true, "type": "string", "x-ms-parameter-location": "method" + }, + "PackageIdParameter": { + "name": "packageId", + "in": "path", + "description": "The package identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" } }, "securityDefinitions": { diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json index a8885fc7244d..5b823a4c7110 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json @@ -79,8 +79,11 @@ "$ref": "#/definitions/FileContainer" } }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } } }, @@ -155,8 +158,14 @@ "200": { "description": "OK" }, - "404": { - "description": "Not found" + "204": { + "description": "No Content" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } } } @@ -269,6 +278,16 @@ "FileContainerParameters": { "description": "Parameters for creating a new file container.", "type": "object", + "properties": { + "properties": { + "description": "Specifies the file container body", + "$ref": "#/definitions/FileContainerBody" + } + } + }, + "FileContainerBody": { + "description": "Body for creating a new file container.", + "type": "object", "properties": { "postCopyAction": { "description": "Specifies the file post copy action.", diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json new file mode 100644 index 000000000000..039a230e26ef --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json @@ -0,0 +1,163 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-01-01", + "title": "DeploymentAdminClient", + "description": "Deployment Admin Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global": { + "get": { + "x-ms-examples": { + "Gets the location": { + "$ref": "./examples/Locations/Get.json" + } + }, + "description": "Gets the location", + "tags": [ + "Locations" + ], + "operationId": "Locations_Get", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LocationsResourceEntity" + } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations": { + "get": { + "x-ms-examples": { + "Gets the list of locations": { + "$ref": "./examples/Locations/List.json" + } + }, + "description": "Gets the list of locations", + "tags": [ + "Locations" + ], + "operationId": "Locations_List", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LocationList" + } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "LocationList": { + "description": "List of locations", + "properties": { + "value": { + "description": "Array of locations.", + "type": "array", + "items": { + "$ref": "#/definitions/LocationsResourceEntity" + } + }, + "nextLink": { + "type": "string", + "description": "Continuation token" + } + } + }, + "LocationsResourceEntity": { + "type": "object", + "description": "Location Resource Entity", + "properties": { + "properties": { + "description": "Location Properties", + "$ref": "#/definitions/LocationAdminProperties", + "x-ms-client-flatten": true + }, + "eTag": { + "description": "Entity tag of the resource", + "type": "string" + } + }, + "allOf": [ + { + "$ref": "Deployment.json#/definitions/Resource" + } + ] + }, + "LocationAdminProperties": { + "description": "Location Admin Properties", + "type": "object", + "properties": { + "location": { + "description": "the location name", + "title": "location", + "type": "string" + } + } + } + }, + "parameters": {}, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json new file mode 100644 index 000000000000..1e8f1dffb547 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json @@ -0,0 +1,150 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-01-01", + "title": "DeploymentAdminClient", + "description": "Deployment Admin Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/{location}/operationresults/{operationResultId}": { + "get": { + "x-ms-examples": { + "Get the operation details.": { + "$ref": "./examples/OperationResults/Get.json" + } + }, + "description": "Retrieves the specific operation results.", + "tags": [ + "OperationResults" + ], + "operationId": "OperationResults_Get", + "parameters": [ + { + "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "Deployment.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "Deployment.json#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/OperationResultIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } + } + } + } + } + }, + "definitions": { + "OperationResult": { + "description": "Operation Result Entity.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "description": "ID of the resource.", + "type": "string" + }, + "name": { + "readOnly": true, + "description": "Name of the resource.", + "type": "string" + }, + "status": { + "description": "status of the Operation result.", + "$ref": "#/definitions/Status" + }, + "startTime": { + "description": "The deployment start time", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "The deployment end time", + "type": "string", + "format": "date-time" + }, + "percentComplete": { + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100, + "description": "Percentage completed." + } + } + }, + "Status": { + "description": "Specifies the state of the Operation result.", + "type": "string", + "enum": [ + "Bootstrapping", + "Creating", + "ExecutingRunner", + "Updating", + "Deleting", + "Deploying", + "Removing", + "RotatingSecrets", + "Canceled", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "Status" + } + } + }, + "parameters": { + "OperationResultIdParameter": { + "description": "The operation result identifier.", + "name": "operationResultId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Authorization uses an Azure Active Directory OAuth2 flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json index 2d066392edfe..2709fd8be308 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json @@ -42,6 +42,12 @@ "schema": { "$ref": "#/definitions/ProductDeploymentsList" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-pageable": { @@ -79,8 +85,11 @@ "$ref": "#/definitions/ProductDeploymentResourceEntity" } }, - "404": { - "description": "NOT FOUND" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } } } @@ -96,7 +105,7 @@ "tags": [ "ProductDeployments" ], - "operationId": "ProductDeployments_BootStrap", + "operationId": "BootstrapAction_Product", "parameters": [ { "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" @@ -117,6 +126,12 @@ }, "202": { "description": "ACCEPTED" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true @@ -133,7 +148,7 @@ "tags": [ "ProductDeployments" ], - "operationId": "ProductDeployments_Deploy", + "operationId": "DeployAction_Product", "parameters": [ { "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" @@ -154,6 +169,12 @@ }, "202": { "description": "ACCEPTED" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true @@ -170,7 +191,7 @@ "tags": [ "ProductDeployments" ], - "operationId": "ProductDeployments_Remove", + "operationId": "RemoveAction_Product", "parameters": [ { "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" @@ -188,6 +209,15 @@ }, "202": { "description": "ACCEPTED" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true @@ -204,7 +234,7 @@ "tags": [ "ProductDeployments" ], - "operationId": "ProductDeployments_RotateSecrets", + "operationId": "RotateSecretsAction_Product", "parameters": [ { "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" @@ -222,23 +252,29 @@ }, "202": { "description": "ACCEPTED" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/unlock": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/executeRunner": { "post": { "x-ms-examples": { - "Unlocks the product subscription": { - "$ref": "./examples/ProductDeployment/Unlock.json" + "Invokes rotate secrets action on the product deployment": { + "$ref": "./examples/ProductDeployment/ExecuteRunner.json" } }, - "description": "Unlocks the product subscription", + "description": "Invokes execute runner action on the product deployment", "tags": [ "ProductDeployments" ], - "operationId": "ProductDeployments_Unlock", + "operationId": "ExecuteRunnerAction_Product", "parameters": [ { "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" @@ -247,47 +283,27 @@ "$ref": "Deployment.json#/parameters/ProductIdParameter" }, { - "$ref": "ProductDeployment.json#/parameters/UnlockActionParameter" + "$ref": "Deployment.json#/parameters/ApiVersionParameter" }, { - "$ref": "Deployment.json#/parameters/ApiVersionParameter" + "$ref": "#/parameters/ExecuteRunnerActionParameter" } ], "responses": { "200": { "description": "OK" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/lock": { - "post": { - "x-ms-examples": { - "locks the product subscription": { - "$ref": "./examples/ProductDeployment/Lock.json" - } - }, - "description": "locks the product subscription", - "tags": [ - "ProductDeployments" - ], - "operationId": "ProductDeployments_Lock", - "parameters": [ - { - "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" }, - { - "$ref": "Deployment.json#/parameters/ProductIdParameter" + "202": { + "description": "ACCEPTED" }, - { - "$ref": "Deployment.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } - } + }, + "x-ms-long-running-operation": true } } }, @@ -479,7 +495,7 @@ }, "parameters": { "description": "Deployment parameters, value in JToken", - "type": "string" + "type": "object" } } }, @@ -493,13 +509,13 @@ } } }, - "UnlockActionParameters": { - "description": "Parameters for bootstrap action", + "ExecuteRunnerActionParameters": { + "description": "Parameters for execute runner action", "type": "object", "properties": { - "duration": { - "description": "Duration in TimeSpan format(Define which ISO format)", - "type": "string" + "parameters": { + "description": "Execute Runner parameters, value in JToken", + "type": "object" } } } @@ -523,23 +539,23 @@ }, "x-ms-parameter-location": "method" }, - "UnlockActionParameter": { + "DeployActionParameter": { "description": "Represents bootstrap action parameter", - "name": "unlockActionParameter", + "name": "deployActionParameter", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UnlockActionParameters" + "$ref": "#/definitions/DeployActionParameters" }, "x-ms-parameter-location": "method" }, - "DeployActionParameter": { - "description": "Represents bootstrap action parameter", - "name": "deployActionParameter", + "ExecuteRunnerActionParameter": { + "description": "Represents execute runner action parameter", + "name": "executeRunnerActionParameter", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/DeployActionParameters" + "$ref": "#/definitions/ExecuteRunnerActionParameters" }, "x-ms-parameter-location": "method" } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json index 150376191118..56f7a259a89d 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json @@ -42,6 +42,12 @@ "schema": { "$ref": "#/definitions/ProductPackagesList" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-pageable": { @@ -49,7 +55,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{productId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}": { "get": { "x-ms-examples": { "Return the product package details.": { @@ -66,7 +72,7 @@ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "Deployment.json#/parameters/ProductIdParameter" + "$ref": "Deployment.json#/parameters/PackageIdParameter" }, { "$ref": "Deployment.json#/parameters/ApiVersionParameter" @@ -79,8 +85,11 @@ "$ref": "#/definitions/ProductPackage" } }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } } }, @@ -100,7 +109,10 @@ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "Deployment.json#/parameters/ProductIdParameter" + "$ref": "Deployment.json#/parameters/PackageIdParameter" + }, + { + "$ref": "#/parameters/ProductPackageParameters" }, { "$ref": "Deployment.json#/parameters/ApiVersionParameter" @@ -115,6 +127,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true @@ -135,7 +153,7 @@ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "Deployment.json#/parameters/ProductIdParameter" + "$ref": "Deployment.json#/parameters/PackageIdParameter" }, { "$ref": "Deployment.json#/parameters/ApiVersionParameter" @@ -145,8 +163,14 @@ "200": { "description": "OK" }, - "404": { - "description": "Not found" + "204": { + "description": "No Content" + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true @@ -246,9 +270,40 @@ "items": { "$ref": "#/definitions/ProductLink" } + }, + "ProductPackageParameters": { + "description": "Parameters for creating a new product package.", + "type": "object", + "properties": { + "properties": { + "description": "Specifies the product package", + "$ref": "#/definitions/ProductPackageBody" + } + } + }, + "ProductPackageBody": { + "description": "Body for creating a new product package.", + "type": "object", + "properties": { + "fileContainerId": { + "description": "Specifies the file container.", + "$ref": "#/definitions/FileContainerId" + } + } + } + }, + "parameters": { + "ProductPackageParameters": { + "description": "The parameters required to create a new product package.", + "name": "ProductPackageParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProductPackageParameters" + }, + "x-ms-parameter-location": "method" } }, - "parameters": {}, "securityDefinitions": { "azure_auth": { "type": "oauth2", diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json index 2b4950722d0d..948a731ec7fc 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json @@ -10,7 +10,7 @@ "https" ], "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{productId}/secrets": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}/secrets": { "get": { "x-ms-examples": { "Return product secrets list.": { @@ -30,7 +30,7 @@ "$ref": "Deployment.json#/parameters/ApiVersionParameter" }, { - "$ref": "Deployment.json#/parameters/ProductIdParameter" + "$ref": "Deployment.json#/parameters/PackageIdParameter" } ], "responses": { @@ -39,6 +39,12 @@ "schema": { "$ref": "#/definitions/ProductSecretsList" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -52,27 +58,27 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}/secrets/{secretName}": { "get": { "x-ms-examples": { - "Return the product package details.": { + "Return product secrets list.": { "$ref": "./examples/ProductSecret/Get.Json" } }, - "description": "Retrieves the specific product secret details.", + "description": "Returns the specific product secret.", "tags": [ "ProductSecrets" ], - "operationId": "ProductSecrets_Get", + "operationId": "ProductSecrets_GET", "parameters": [ { "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "Deployment.json#/parameters/ProductIdParameter" + "$ref": "Deployment.json#/parameters/ApiVersionParameter" }, { - "$ref": "Deployment.json#/parameters/ApiVersionParameter" + "$ref": "Deployment.json#/parameters/PackageIdParameter" }, { "$ref": "#/parameters/SecretNameParameter" @@ -85,8 +91,11 @@ "$ref": "#/definitions/ProductSecret" } }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "produces": [ @@ -97,7 +106,7 @@ ] } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}/import": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}/secrets/{secretName}/import": { "post": { "x-ms-examples": { "Imports a product secret.": { @@ -108,13 +117,13 @@ "tags": [ "ProductSecrets" ], - "operationId": "ProductSecrets_Import", + "operationId": "ProductSecrets_Set", "parameters": [ { "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "Deployment.json#/parameters/ProductIdParameter" + "$ref": "Deployment.json#/parameters/PackageIdParameter" }, { "$ref": "#/parameters/SecretNameParameter" @@ -130,8 +139,11 @@ "200": { "description": "Accepted" }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true, @@ -143,7 +155,7 @@ ] } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}/validate": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}/secrets/{secretName}/validate": { "post": { "x-ms-examples": { "Validates a product secret.": { @@ -160,7 +172,7 @@ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "Deployment.json#/parameters/ProductIdParameter" + "$ref": "Deployment.json#/parameters/PackageIdParameter" }, { "$ref": "#/parameters/SecretNameParameter" @@ -176,8 +188,11 @@ "200": { "description": "Accepted" }, - "404": { - "description": "Not Found" + "default": { + "description": "Default Response.", + "schema": { + "$ref": "Deployment.json#/definitions/ExtendedErrorInfo" + } } }, "x-ms-long-running-operation": true, @@ -375,23 +390,19 @@ "name": "SecretRotationStatus" } }, - "SecretValue": { + "value": { "description": "The secret value in a secure string format.", "type": "string" }, - "PfxFileName": { - "description": "The pfx certificate file location.", - "type": "string" - }, - "PfxPassword": { - "description": "The pfx certificate file password as a secure string.", + "data": { + "description": "The converted Base64 String from a certificate pfx file.", "type": "string" }, - "SymmetricKey": { + "key": { "description": "The symmetric key as a secure string.", "type": "string" }, - "Password": { + "password": { "description": "The password as a secure string.", "type": "string" }, @@ -399,25 +410,21 @@ "description": "Parameters required for creating/updating a product secret.", "type": "object", "properties": { - "secretValue": { + "value": { "description": "The secret value in a secure string format.", - "$ref": "#/definitions/SecretValue" + "$ref": "#/definitions/value" }, - "pfxFileName": { - "description": "The pfx certificate file location.", - "$ref": "#/definitions/PfxFileName" + "data": { + "description": "The pfx certificate converted Base64 data.", + "$ref": "#/definitions/data" }, - "pfxPassword": { + "password": { "description": "The pfx certificate file password.", - "$ref": "#/definitions/PfxPassword" + "$ref": "#/definitions/password" }, - "symmetricKey": { + "key": { "description": "The symmetric key.", - "$ref": "#/definitions/SymmetricKey" - }, - "password": { - "description": "The pfx certificate file password.", - "$ref": "#/definitions/Password" + "$ref": "#/definitions/key" } } } @@ -447,47 +454,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/SecretValue" - }, - "x-ms-parameter-location": "method" - }, - "PfxFileNameParameter": { - "description": "The pfx certificate file location.", - "name": "pfxFileName", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PfxFileName" - }, - "x-ms-parameter-location": "method" - }, - "PfxPasswordParameter": { - "description": "The pfx certificate file password.", - "name": "pfxPasswordParameter", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PfxPassword" - }, - "x-ms-parameter-location": "method" - }, - "SymmetricKeyParameter": { - "description": "The symmetric key.", - "name": "SymmetricKeyParameter", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SymmetricKey" - }, - "x-ms-parameter-location": "method" - }, - "PasswordParameter": { - "description": "The password.", - "name": "PasswordParameter", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Password" + "$ref": "#/definitions/value" }, "x-ms-parameter-location": "method" } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json index bd293cc207e7..9eb46e88e746 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json @@ -22,7 +22,6 @@ "provisioningState": "Succeeded" } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json index 9dcd1b396f30..7762b7c897ac 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json @@ -25,8 +25,7 @@ } } ] - }, - "404": {} + } } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperationAttempt/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperationAttempt/Get.json new file mode 100644 index 000000000000..0aac2fceef65 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperationAttempt/Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "966178ff-f8a1-4d43-be09-2cc47f0d3560", + "location": "global", + "api-version": "2019-01-01", + "planId": "0b5ddf5b-cb5a-4dcc-8c2c-d55f1c70eced", + "operationId": "UpgradeSFRuntimeInEventHubDataClusters" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/966178ff-f8a1-4d43-be09-2cc47f0d3560/providers/Microsoft.Deployment.Admin/locations/global/actionplans/0b5ddf5b-cb5a-4dcc-8c2c-d55f1c70eced/operations/UpgradeSFRuntimeInEventHubDataClusters/attempts/1", + "name": "global/0b5ddf5b-cb5a-4dcc-8c2c-d55f1c70eced/UpgradeSFRuntimeInEventHubDataClusters/1", + "type": "Microsoft.Deployment.Admin/locations/actionplans/operations/attempts", + "properties": { + "startTime": "2020-04-23T02:59:50.5512046Z", + "endTime": "2020-04-23T03:02:48.2542795Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json index 916645557aa5..b2f8a694300c 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json @@ -78,7 +78,6 @@ "provisioningState": "Succeeded" } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json index 7ee403600e6d..56aa015592ba 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json @@ -7,6 +7,6 @@ }, "responses": { "200": {}, - "404": {} + "204": {} } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json index 1825d47eb2a0..937784a74cbb 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json @@ -18,7 +18,6 @@ "provisioningState": "Succeeded" } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/Get.json new file mode 100644 index 000000000000..b097755df967 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/Get.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "location": "global", + "api-version": "2019-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/b42940a9-c92c-44c8-b745-7558ad4b08d9/providers/Microsoft.Deployment.Admin/locations/global", + "name": "global", + "type": "Microsoft.Deployment.Admin/locations", + "properties": { + "location": "global" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/List.json new file mode 100644 index 000000000000..1c67797c584c --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/List.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "api-version": "2019-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Deployment.Admin/locations/1", + "name": "1", + "type": "Microsoft.Deployment.Admin/locations/1", + "properties": { + "location": "global" + } + } + ] + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/OperationResults/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/OperationResults/Get.json new file mode 100644 index 000000000000..dfc9780b5021 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/OperationResults/Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "966178ff-f8a1-4d43-be09-2cc47f0d3560", + "location": "redmond", + "api-version": "2019-01-01", + "operationResultId": "5cf211b1-5971-4edd-8ee2-11c0f651d469" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/966178ff-f8a1-4d43-be09-2cc47f0d3560/providers/Microsoft.Deployment.Admin/locations/redmond/operationResults/5cf211b1-5971-4edd-8ee2-11c0f651d469", + "name": "5cf211b1-5971-4edd-8ee2-11c0f651d469", + "status": "Bootstrapping", + "startTime": "2020-04-28T04:12:45.1800272Z", + "endTime": "0001-01-01T00:00:00Z", + "percentComplete": 0.0 + } + } + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json index 47466509160e..2ce6071df747 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json @@ -5,7 +5,8 @@ "api-version": "2019-01-01", "productId": "Microsoft.IotHubPreview", "deployActionParameter": { - "version": "1.0.2" + "version": "1.0.2", + "parameters": {} } }, "responses": { diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/ExecuteRunner.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/ExecuteRunner.json new file mode 100644 index 000000000000..e2594cdc0f4a --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/ExecuteRunner.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "7715e512-3adf-48e8-baeb-6d3fcc3de665", + "location": "global", + "api-version": "2019-01-01", + "productId": "Microsoft.NullProvider", + "executeRunnerActionParameter": { + "parameters": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json index 260d2b3f837e..c338e71fa21d 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json @@ -17,7 +17,6 @@ "provisioningState": "Succeeded" } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json deleted file mode 100644 index 2f0b39fa1bb4..000000000000 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parameters": { - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "location": "global", - "api-version": "2019-01-01", - "productId": "Microsoft.IotHubPreview" - }, - "responses": { - "200": {} - } -} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json index 05fdceedfbb6..cef5ba4f6b10 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, - "202": {} + "202": {}, + "204": {} } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json deleted file mode 100644 index 648670de33b3..000000000000 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "parameters": { - "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", - "location": "global", - "api-version": "2019-01-01", - "productId": "Microsoft.IotHubPreview", - "unlockActionParameter": { - "duration": "P5D" - } - }, - "responses": { - "200": {} - } -} diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json index b3439f9c6e71..bf9573250475 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json @@ -3,8 +3,8 @@ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", "location": "global", "api-version": "2019-01-01", - "productId": "Microsoft.NullProvider.1.1", - "fileContainerParameter": { + "packageId": "Microsoft.NullProvider.1.1", + "ProductPackageParameters": { "properties": { "fileContainerId": "Microsoft.NullProvider.1.1" } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json index 106199cd1975..ab64764c8d46 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json @@ -3,10 +3,10 @@ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", "location": "global", "api-version": "2019-01-01", - "productId": "Microsoft.NullProvider.1.1" + "packageId": "Microsoft.NullProvider.1.1" }, "responses": { "200": {}, - "404": {} + "204": {} } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json index 593f444612a6..bc5abce11e66 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json @@ -3,7 +3,7 @@ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01", "location": "global", "api-version": "2019-01-01", - "productId": "Microsoft.NullProvider.1.1" + "packageId": "Microsoft.NullProvider.1.1" }, "responses": { "200": { @@ -18,7 +18,6 @@ "provisioningState": "Succeeded" } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json index b6c83ec44937..16b0913aeec5 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json @@ -3,9 +3,8 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "global", "api-version": "2019-01-01", - "productId": "Microsoft.IotHubPreview.1.0.2", - "secretName": "secretName", - "secretValue": "sslCert" + "packageId": "Microsoft.IotHubPreview.1.0.2", + "secretName": "sslCert" }, "responses": { "200": { @@ -28,7 +27,6 @@ "provisioningState": "Succeeded" } } - }, - "404": {} + } } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json index bf7340c44ac4..faf14789152a 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json @@ -3,12 +3,10 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "global", "api-version": "2019-01-01", - "productId": "Microsoft.IotHubPreview.1.0.2", + "packageId": "Microsoft.IotHubPreview.1.0.2", "secretName": "secretName", "secretParameters": { - "properties": { - "secretValue": "sslCert" - } + "value": "sslCert" }, "newOffer": { "properties": { @@ -18,7 +16,6 @@ } }, "responses": { - "200": {}, - "404": {} + "200": {} } } diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json index cc35a2b5b53a..8ef03a210b70 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json @@ -3,8 +3,8 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "global", "api-version": "2019-01-01", - "productId": "Microsoft.IotHubPreview.1.0.2", - "secretValue": "sslCert" + "packageId": "Microsoft.IotHubPreview.1.0.2", + "value": "sslCert" }, "responses": { "200": { diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json index 09fc63e01e89..5c6252cd8143 100644 --- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json +++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json @@ -3,12 +3,10 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "global", "api-version": "2019-01-01", - "productId": "Microsoft.IotHubPreview.1.0.2", + "packageId": "Microsoft.IotHubPreview.1.0.2", "secretName": "secretName", "secretParameters": { - "properties": { - "secretValue": "sslCert" - } + "value": "sslCert" }, "secretValue": "sslCert", "newOffer": { @@ -19,7 +17,6 @@ } }, "responses": { - "200": {}, - "404": {} + "200": {} } } diff --git a/specification/azsadmin/resource-manager/deployment/readme.azsautogen.md b/specification/azsadmin/resource-manager/deployment/readme.azsautogen.md new file mode 100644 index 000000000000..210d18e38387 --- /dev/null +++ b/specification/azsadmin/resource-manager/deployment/readme.azsautogen.md @@ -0,0 +1,57 @@ +# Deployment Admin + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Deployment Admin. + +--- +## Getting Started +To build the SDK for Deployment Admin, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + +### Basic Information +These are the global settings for the Deployment Resource Provider API. + +``` yaml +title: DeploymentAdminClient +description: Deployment Admin Client +openapi-type: arm +tag: package-2019-01-01 +``` + +``` yaml +input-file: + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json +``` + +--- +# Code Generation + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.AzureStack.Management.Deployment.Admin + payload-flattening-threshold: 1 + output-folder: $(csharp-sdks-folder)/Generated + clear-output-folder: true +``` diff --git a/specification/azsadmin/resource-manager/deployment/readme.md b/specification/azsadmin/resource-manager/deployment/readme.md index 0fd649383551..3de0982996e6 100644 --- a/specification/azsadmin/resource-manager/deployment/readme.md +++ b/specification/azsadmin/resource-manager/deployment/readme.md @@ -36,12 +36,23 @@ input-file: - Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json - Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json - Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json + - Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json - Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json + - Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json + - Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json - Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json - Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json - Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json ``` +### Tag: package-2018-07-01 +These settings apply only when `--tag=package-2018-07-01` is specified on the command line. + +``` yaml $(tag) == 'package-2018-07-01' +input-file: + - Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json + - Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json +``` --- # Code Generation @@ -72,10 +83,15 @@ input-file: - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json + - $(this-folder)/Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json ``` diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json new file mode 100644 index 000000000000..395b55e41a6c --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json @@ -0,0 +1,35 @@ +{ + "swagger": "2.0", + "info": { + "version": "2016-05-01", + "title": "FabricAdminClient", + "description": "The common parameters for Fabric Management specs." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": {}, + "parameters": { + "TopParameter": { + "description": "OData top parameter.", + "name": "$top", + "in": "query", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "description": "OData skip parameter.", + "name": "$skip", + "in": "query", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json index 7726d7c276c8..4860d6ab336d 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json @@ -88,6 +88,12 @@ }, { "$ref": "Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "Common.json#/parameters/TopParameter" + }, + { + "$ref": "Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json index 5cbd44d07ee9..909c95d7085c 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json @@ -91,6 +91,12 @@ }, { "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/TopParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json index a49309035b87..c668fc776cfa 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json @@ -97,6 +97,12 @@ }, { "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/TopParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json index e93aa4081d80..6c401faf4622 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json @@ -85,6 +85,12 @@ }, { "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/TopParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json index 316cfe034ae4..05be0b86dfbf 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json @@ -97,6 +97,12 @@ }, { "$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/TopParameter" + }, + { + "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md b/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md new file mode 100644 index 000000000000..351a32ded328 --- /dev/null +++ b/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md @@ -0,0 +1,72 @@ +# Fabric Admin + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Fabric Admin. + +--- +## Getting Started +To build the SDK for Fabric Admin, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + +### Basic Information +These are the global settings for the Fabric API. + +``` yaml +title: FabricAdminClient +description: Fabric Admin Client +openapi-type: arm +tag: package-2019-05-01 +``` + +``` yaml +input-file: + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ApplicationOperationResults.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ComputeOperationResults.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGateway.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGatewayPool.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRole.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRoleInstance.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalNetwork.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json + - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json" +``` + +--- +# Code Generation + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.AzureStack.Management.Fabric.Admin + payload-flattening-threshold: 1 + output-folder: $(csharp-sdks-folder)/Generated + clear-output-folder: true +``` diff --git a/specification/azsadmin/resource-manager/fabric/readme.md b/specification/azsadmin/resource-manager/fabric/readme.md index 66c605b587f4..742e9b9ab447 100644 --- a/specification/azsadmin/resource-manager/fabric/readme.md +++ b/specification/azsadmin/resource-manager/fabric/readme.md @@ -197,4 +197,3 @@ uncomment the `exclude-file` section below and add the file paths. #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json index e47cd5146f23..85b0fd60d43d 100644 --- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json +++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json @@ -91,7 +91,7 @@ "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/NewSubscriptionParameter" + "$ref": "#/parameters/SubscriptionDefinitionParameter" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -263,9 +263,9 @@ "description": "Id of the subscription.", "x-ms-parameter-location": "method" }, - "NewSubscriptionParameter": { + "SubscriptionDefinitionParameter": { "description": "Subscription parameter.", - "name": "newSubscription", + "name": "subscriptionDefinition", "in": "body", "schema": { "$ref": "#/definitions/Subscription" diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json index 47b02ee55c42..3851dcb6eb2f 100644 --- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json +++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json @@ -3,15 +3,13 @@ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", "location": "local", "api-version": "2015-11-01", - "newSubscription": { - "properties": { - "displayName": "Test User-user1@contoso.com", - "id": "", - "offerId": "/delegatedProviders/default/offers/TestOffer-0892f99c-8d1c-48d1-a2b3-128a931afc09", - "state": "Enabled", - "subscriptionId": "a7aeb2dd-1b1d-458c-a3dc-09070c2ece5e", - "tenantId": "" - } + "subscriptionDefinition": { + "displayName": "Test User-user1@contoso.com", + "id": "", + "offerId": "/delegatedProviders/default/offers/TestOffer-0892f99c-8d1c-48d1-a2b3-128a931afc09", + "state": "Enabled", + "subscriptionId": "a7aeb2dd-1b1d-458c-a3dc-09070c2ece5e", + "tenantId": "" } }, "responses": { diff --git a/specification/azsadmin/resource-manager/user-subscriptions/readme.md b/specification/azsadmin/resource-manager/user-subscriptions/readme.md index 9c3540a14d15..7eff63e9c33d 100644 --- a/specification/azsadmin/resource-manager/user-subscriptions/readme.md +++ b/specification/azsadmin/resource-manager/user-subscriptions/readme.md @@ -82,33 +82,13 @@ csharp: clear-output-folder: true ``` -## Python - -These settings apply only when `--python` is specified on the command line. - -``` yaml $(python) -python: - # override the default output folder - output-folder: $(output-folder)/python - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 -``` - -### Tag: package-2015-11-01 and python - -These settings apply only when `--tag=package-2015-11-01 --python` is specified on the command line. - -``` yaml $(tag) == 'package-2015-11-01' && $(python) -namespace: azure.mgmt.subscriptions.v2015_06_01_preview -``` - -## Multi-API/Profile support for AutoRest v3 generators +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. This block is updated by an automatic script. Edits may be lost! -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +``` yaml # include the azure profile definitions from the standard location require: $(this-folder)/../../../../profiles/readme.md @@ -127,3 +107,22 @@ uncomment the `exclude-file` section below and add the file paths. # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` +## Python + +These settings apply only when `--python` is specified on the command line. + +``` yaml $(python) +python: + # override the default output folder + output-folder: $(output-folder)/python + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 +``` + +### Tag: package-2015-11-01 and python + +These settings apply only when `--tag=package-2015-11-01 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2015-11-01' && $(python) +namespace: azure.mgmt.subscriptions.v2015_06_01_preview +``` diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json new file mode 100644 index 000000000000..e7dfbc89d475 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1", + "api-version": "2020-06-14", + "parameters": { + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "kustodatabase", + "defaultPrincipalsModificationKind": "Union" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1", + "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1", + "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Creating" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1", + "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsDelete.json new file mode 100644 index 000000000000..dd57033e26c5 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1", + "api-version": "2020-06-14" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsGet.json new file mode 100644 index 000000000000..55e7468e060b --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/attachedDatabaseConfigurations1", + "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "databaseName": "*", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsListByCluster.json new file mode 100644 index 000000000000..d03ad4e69fc1 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsListByCluster.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase9", + "name": "KustoClusterRPTest4/KustoDatabase9", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterAddLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterAddLanguageExtensions.json new file mode 100644 index 000000000000..714b2de30e42 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterAddLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14", + "languageExtensionsToAdd": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterDetachFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterDetachFollowerDatabases.json new file mode 100644 index 000000000000..f45bcf4f54b3 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterDetachFollowerDatabases.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14", + "followerDatabaseToRemove": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/leader4", + "attachedDatabaseConfigurationName": "myAttachedDatabaseConfiguration" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListFollowerDatabases.json new file mode 100644 index 000000000000..372ed1fed327 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListFollowerDatabases.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "attachedDatabaseConfigurationName": "attachedDbConfiguration", + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower1", + "databaseName": "*" + }, + { + "attachedDatabaseConfigurationName": "attachedDbConfiguration2", + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower4", + "databaseName": "db1" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListLanguageExtensions.json new file mode 100644 index 000000000000..6581203981d9 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json new file mode 100644 index 000000000000..c86831b19e09 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "principalAssignmentName": { + "name": "kustoprincipal1", + "type": "Microsoft.Kusto/clusters/principalAssignments" + }, + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "name": "kustoprincipal1", + "nameAvailable": false, + "message": "Name 'kustoprincipal1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json new file mode 100644 index 000000000000..5be64e6e3e46 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-06-14", + "parameters": { + "properties": { + "role": "AllDatabasesAdmin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsDelete.json new file mode 100644 index 000000000000..eec31255f447 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-06-14" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsGet.json new file mode 100644 index 000000000000..13737e053f15 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsList.json new file mode 100644 index 000000000000..b1b71083aa78 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal2", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterRemoveLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterRemoveLanguageExtensions.json new file mode 100644 index 000000000000..b66521becf23 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterRemoveLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14", + "languageExtensionsToRemove": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCheckNameAvailability.json new file mode 100644 index 000000000000..29f8da9d1654 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2020-06-14", + "location": "wus", + "clusterName": { + "name": "kustoclusterrptest4", + "type": "Microsoft.Kusto/clusters" + } + }, + "responses": { + "200": { + "body": { + "name": "kuskusprod", + "nameAvailable": false, + "message": "Name 'kuskusprod' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCreateOrUpdate.json new file mode 100644 index 000000000000..5065c3af67e8 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCreateOrUpdate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14", + "parameters": { + "location": "westus", + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + } + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + } + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDelete.json new file mode 100644 index 000000000000..635552d1cbc1 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDiagnoseVirtualNetwork.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDiagnoseVirtualNetwork.json new file mode 100644 index 000000000000..197a3f05f496 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDiagnoseVirtualNetwork.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "findings": [ + "Outbound dependency 'Storage:443' might not be satisfied (Outbound)" + ] + } + }, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersGet.json new file mode 100644 index 000000000000..44892ca5acf3 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": false, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + } + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersList.json new file mode 100644 index 000000000000..88284a960b25 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + } + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3", + "name": "KustoClusterRPTest3", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListByResourceGroup.json new file mode 100644 index 000000000000..0108b9372831 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListByResourceGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + } + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3", + "name": "KustoClusterRPTest3", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListResourceSkus.json new file mode 100644 index 000000000000..44ade5876d50 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListResourceSkus.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "clusters", + "sku": { + "name": "Standard_D13_v2", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_D14_v2", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_L8s", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_L16s", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListSkus.json new file mode 100644 index 000000000000..9c44eecbf557 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListSkus.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Standard_D13_v2", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "Standard_D14_v2", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "L8", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "L16", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStart.json new file mode 100644 index 000000000000..13eb4ac881c3 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStop.json new file mode 100644 index 000000000000..13eb4ac881c3 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersUpdate.json new file mode 100644 index 000000000000..3c5d33b762f3 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersUpdate.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14", + "parameters": { + "location": "westus" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "enableStreamingIngest": true, + "enablePurge": true, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + } + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + } + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableStreamingIngest": true, + "enablePurge": true + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionValidation.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionValidation.json new file mode 100644 index 000000000000..0cc43d24d15d --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionValidation.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "parameters": { + "dataConnectionName": "DataConnections8", + "properties": { + "kind": "EventHub", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "responses": { + "200": { + "body": [ + { + "errorMessage": "Event hub's namespace does not exist" + }, + { + "errorMessage": "Database does not exist" + } + ] + }, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCheckNameAvailability.json new file mode 100644 index 000000000000..874c7fb9a8de --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCheckNameAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-14", + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "dataConnectionName": { + "name": "DataConnections8", + "type": "Microsoft.Kusto/clusters/databases/dataConnections" + } + }, + "responses": { + "200": { + "body": { + "name": "DataConnections8", + "nameAvailable": false, + "message": "Name 'DataConnections8' is already taken. Please specify a different name.", + "reason": "AlreadyExists" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCreateOrUpdate.json new file mode 100644 index 000000000000..d8f408b09135 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "dataConnectionName": "DataConnections8", + "parameters": { + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsDelete.json new file mode 100644 index 000000000000..d8e12541ac64 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "dataConnectionName": "kustoeventhubconnection1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsGet.json new file mode 100644 index 000000000000..4b6e6fc20dbe --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "dataConnectionName": "DataConnections8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsListByDatabase.json new file mode 100644 index 000000000000..ae066afb7e08 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsListByDatabase.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/KustoDataConnection8", + "name": "KustoClusterRPTest4/KustoDatabase8/KustoDataConnection8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9/DataConnections/KustoDataConnection9", + "name": "KustoClusterRPTest4/KustoDatabase9/KustoDataConnection9", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns2/eventhubs/eventhubTest2", + "consumerGroup": "testConsumerGroup2" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsUpdate.json new file mode 100644 index 000000000000..d8f408b09135 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "dataConnectionName": "DataConnections8", + "parameters": { + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8", + "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "testConsumerGroup1" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseAddPrincipals.json new file mode 100644 index 000000000000..76782e424a77 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseAddPrincipals.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "databasePrincipalsToAdd": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseListPrincipals.json new file mode 100644 index 000000000000..30ce44d15ecf --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseListPrincipals.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json new file mode 100644 index 000000000000..786337cdc34d --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "principalAssignmentName": { + "name": "kustoprincipal1", + "type": "Microsoft.Kusto/clusters/databases/principalAssignments" + }, + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "name": "kustoprincipal1", + "nameAvailable": false, + "message": "Name 'kustoprincipal1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json new file mode 100644 index 000000000000..3c805dbfde19 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-06-14", + "parameters": { + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsDelete.json new file mode 100644 index 000000000000..cac1fe662991 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-06-14" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsGet.json new file mode 100644 index 000000000000..f68b3ef7496d --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsList.json new file mode 100644 index 000000000000..b1b71083aa78 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "Kustodatabase8", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoclusterrptest4/Kustodatabase8/kustoprincipal2", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseRemovePrincipals.json new file mode 100644 index 000000000000..f4082621bcaf --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseRemovePrincipals.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "databasePrincipalsToRemove": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCheckNameAvailability.json new file mode 100644 index 000000000000..5726470601bb --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2020-06-14", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "resourceName": { + "name": "kustoresourcename1", + "type": "Microsoft.Kusto/clusters/databases" + } + }, + "responses": { + "200": { + "body": { + "name": "kustoresourcename1", + "nameAvailable": false, + "message": "Name 'kuskus' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json new file mode 100644 index 000000000000..76b9c8e81e96 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "parameters": { + "location": "westus", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesDelete.json new file mode 100644 index 000000000000..566a505547e7 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesGet.json new file mode 100644 index 000000000000..34b4e866b585 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesListByCluster.json new file mode 100644 index 000000000000..0d43e6b33f66 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesListByCluster.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9", + "name": "KustoClusterRPTest4/KustoDatabase9", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesUpdate.json new file mode 100644 index 000000000000..4c36dd0a6038 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "databaseName": "KustoDatabase8", + "api-version": "2020-06-14", + "parameters": { + "properties": { + "softDeletePeriod": "P1D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8", + "name": "KustoClusterRPTest4/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoOperationsList.json new file mode 100644 index 000000000000..36ea112ce353 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-14" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "operationName", + "display": { + "provider": "providerName", + "resource": "resourceName", + "operation": "operationName", + "description": "operation description" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json new file mode 100644 index 000000000000..31bd2dd2c57b --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json @@ -0,0 +1,4281 @@ +{ + "swagger": "2.0", + "info": { + "title": "KustoManagementClient", + "version": "2020-06-14" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Get", + "x-ms-examples": { + "KustoClustersGet": { + "$ref": "./examples/KustoClustersGet.json" + } + }, + "description": "Gets a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_CreateOrUpdate", + "x-ms-examples": { + "KustoClustersCreateOrUpdate": { + "$ref": "./examples/KustoClustersCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create or update a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + }, + "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Successfully created the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Update", + "x-ms-examples": { + "KustoClustersUpdate": { + "$ref": "./examples/KustoClustersUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Update a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + }, + "description": "The Kusto cluster parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Successfully updated the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Successfully updated the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Delete", + "x-ms-examples": { + "KustoClustersDelete": { + "$ref": "./examples/KustoClustersDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- cluster deleted successfully." + }, + "202": { + "description": "Accepted the delete cluster request." + }, + "204": { + "description": "NoContent -- cluster does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Stop", + "x-ms-examples": { + "KustoClustersStop": { + "$ref": "./examples/KustoClustersStop.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Stops a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Start", + "x-ms-examples": { + "KustoClustersStart": { + "$ref": "./examples/KustoClustersStart.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Starts a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability": { + "post": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_CheckNameAvailability", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsCheckNameAvailability": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json" + } + }, + "description": "Checks that the principal assignment name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "principalAssignmentName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest" + }, + "description": "The name of the principal assignment." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}": { + "get": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_Get", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsGet": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json" + } + }, + "description": "Gets a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster principal assignment object.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_CreateOrUpdate", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsCreateOrUpdate": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + }, + "description": "The Kusto cluster principalAssignment's parameters supplied for the operation." + } + ], + "responses": { + "200": { + "description": "Successfully updated the PrincipalAssignment.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "201": { + "description": "Successfully created the principalAssignment.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_Delete", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsDelete": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- principalAssignments deleted successfully." + }, + "202": { + "description": "Accepted the delete principalAssignments request." + }, + "204": { + "description": "NoContent -- principalAssignments does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": { + "get": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_List", + "x-ms-examples": { + "KustoPrincipalAssignmentsList": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json" + } + }, + "description": "Lists all Kusto cluster principalAssignments.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.", + "operationId": "Clusters_ListFollowerDatabases", + "x-ms-examples": { + "KustoClusterListFollowerDatabases": { + "$ref": "./examples/KustoClusterListFollowerDatabases.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of followed databases.", + "schema": { + "$ref": "#/definitions/FollowerDatabaseListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Detaches all followers of a database owned by this cluster.", + "operationId": "Clusters_DetachFollowerDatabases", + "x-ms-examples": { + "KustoClusterDetachFollowerDatabases": { + "$ref": "./examples/KustoClusterDetachFollowerDatabases.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "followerDatabaseToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FollowerDatabaseDefinition" + }, + "description": "The follower databases properties to remove." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.", + "operationId": "Clusters_DiagnoseVirtualNetwork", + "x-ms-examples": { + "KustoClusterDiagnoseVirtualNetwork": { + "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DiagnoseVirtualNetworkResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "KustoClustersListByResourceGroup": { + "$ref": "./examples/KustoClustersListByResourceGroup.json" + } + }, + "description": "Lists all Kusto clusters within a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_List", + "x-ms-examples": { + "KustoClustersList": { + "$ref": "./examples/KustoClustersList.json" + } + }, + "description": "Lists all Kusto clusters within a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": { + "get": { + "description": "Lists eligible SKUs for Kusto resource provider.", + "x-ms-examples": { + "KustoClustersListSkus": { + "$ref": "./examples/KustoClustersListSkus.json" + } + }, + "operationId": "Clusters_ListSkus", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SkuDescriptionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_CheckNameAvailability", + "x-ms-examples": { + "KustoClustersCheckNameAvailability": { + "$ref": "./examples/KustoClustersCheckNameAvailability.json" + } + }, + "description": "Checks that the cluster name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "Azure location.", + "required": true, + "type": "string" + }, + { + "name": "clusterName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterCheckNameRequest" + }, + "description": "The name of the cluster." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_CheckNameAvailability", + "x-ms-examples": { + "KustoDatabaseCheckNameAvailability": { + "$ref": "./examples/KustoDatabasesCheckNameAvailability.json" + } + }, + "description": "Checks that the database name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameRequest" + }, + "description": "The name of the resource." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListSkusByResource", + "x-ms-examples": { + "KustoClustersListResourceSkus": { + "$ref": "./examples/KustoClustersListResourceSkus.json" + } + }, + "description": "Returns the SKUs available for the provided resource.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ListResourceSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": { + "get": { + "tags": [ + "Databases" + ], + "description": "Returns the list of databases of the given Kusto cluster.", + "operationId": "Databases_ListByCluster", + "x-ms-examples": { + "KustoDatabasesListByCluster": { + "$ref": "./examples/KustoDatabasesListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of databases.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": { + "get": { + "tags": [ + "Databases" + ], + "description": "Returns a database.", + "operationId": "Databases_Get", + "x-ms-examples": { + "KustoDatabasesGet": { + "$ref": "./examples/KustoDatabasesGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Databases" + ], + "description": "Creates or updates a database.", + "operationId": "Databases_CreateOrUpdate", + "x-ms-examples": { + "KustoDatabasesCreateOrUpdate": { + "$ref": "./examples/KustoDatabasesCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The database parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted the create database request.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Databases" + ], + "description": "Updates a database.", + "operationId": "Databases_Update", + "x-ms-examples": { + "KustoDatabasesUpdate": { + "$ref": "./examples/KustoDatabasesUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The database parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted the update database request.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Databases" + ], + "description": "Deletes the database with the given name.", + "operationId": "Databases_Delete", + "x-ms-examples": { + "KustoDatabasesDelete": { + "$ref": "./examples/KustoDatabasesDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the database." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified database does not exist." + }, + "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.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability": { + "post": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_CheckNameAvailability", + "x-ms-examples": { + "KustoDatabaseCheckNameAvailability": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json" + } + }, + "description": "Checks that the database principal assignment is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "principalAssignmentName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest" + }, + "description": "The name of the resource." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": { + "get": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_Get", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsGet": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json" + } + }, + "description": "Gets a Kusto cluster database principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster database principal assignment object.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_CreateOrUpdate", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsCreateOrUpdate": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates a Kusto cluster database principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + }, + "description": "The Kusto principalAssignments parameters supplied for the operation." + } + ], + "responses": { + "200": { + "description": "Successfully updated the PrincipalAssignments.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "201": { + "description": "Successfully created the principalAssignments.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_Delete", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsDelete": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- principalAssignments deleted successfully." + }, + "202": { + "description": "Accepted the delete principalAssignments request." + }, + "204": { + "description": "NoContent -- principalAssignments does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": { + "get": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_List", + "x-ms-examples": { + "KustoPrincipalAssignmentsList": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json" + } + }, + "description": "Lists all Kusto cluster database principalAssignments.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals": { + "post": { + "tags": [ + "Databases" + ], + "description": "Returns a list of database principals of the given Kusto cluster and database.", + "operationId": "Databases_ListPrincipals", + "x-ms-examples": { + "KustoDatabaseListPrincipals": { + "$ref": "./examples/KustoDatabaseListPrincipals.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of database principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_AddPrincipals", + "x-ms-examples": { + "KustoDatabaseAddPrincipals": { + "$ref": "./examples/KustoDatabaseAddPrincipals.json" + } + }, + "description": "Add Database principals permissions.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "databasePrincipalsToAdd", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalListRequest" + }, + "description": "List of database principals to add." + } + ], + "responses": { + "200": { + "description": "OK -- Successfully added the list of database principals. Returns the updated list of principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": { + "get": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Returns the list of attached database configurations of the given Kusto cluster.", + "operationId": "AttachedDatabaseConfigurations_ListByCluster", + "x-ms-examples": { + "KustoAttachedDatabaseConfigurationsListByCluster": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of attached database configurations.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": { + "get": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Returns an attached database configuration.", + "operationId": "AttachedDatabaseConfigurations_Get", + "x-ms-examples": { + "AttachedDatabaseConfigurationsGet": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified attached database configuration.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Creates or updates an attached database configuration.", + "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate", + "x-ms-examples": { + "AttachedDatabaseConfigurationsCreateOrUpdate": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + }, + "description": "The database parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "202": { + "description": "Accepted the create database request.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Deletes the attached database configuration with the given name.", + "operationId": "AttachedDatabaseConfigurations_Delete", + "x-ms-examples": { + "AttachedDatabaseConfigurationsDelete": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the database." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified database does not exist." + }, + "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.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_RemovePrincipals", + "x-ms-examples": { + "KustoDatabaseRemovePrincipals": { + "$ref": "./examples/KustoDatabaseRemovePrincipals.json" + } + }, + "description": "Remove Database principals permissions.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "databasePrincipalsToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalListRequest" + }, + "description": "List of database principals to remove." + } + ], + "responses": { + "200": { + "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": { + "get": { + "tags": [ + "DataConnections" + ], + "description": "Returns the list of data connections of the given Kusto database.", + "operationId": "DataConnections_ListByDatabase", + "x-ms-examples": { + "KustoDatabasesListByCluster": { + "$ref": "./examples/KustoDataConnectionsListByDatabase.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of data connections.", + "schema": { + "$ref": "#/definitions/DataConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": { + "post": { + "tags": [ + "DataConnections" + ], + "operationId": "DataConnections_dataConnectionValidation", + "x-ms-examples": { + "KustoDataConnectionValidation": { + "$ref": "./examples/KustoDataConnectionValidation.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Checks that the data connection parameters are valid.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectionValidation" + }, + "description": "The data connection parameters supplied to the CreateOrUpdate operation." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/DataConnectionValidationListResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": { + "post": { + "tags": [ + "DataConnections" + ], + "operationId": "DataConnections_CheckNameAvailability", + "x-ms-examples": { + "KustoDataConnectionsCheckNameAvailability": { + "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json" + } + }, + "description": "Checks that the data connection name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "dataConnectionName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectionCheckNameRequest" + }, + "description": "The name of the data connection." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the Kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": { + "get": { + "tags": [ + "DataConnections" + ], + "description": "Returns a data connection.", + "operationId": "DataConnections_Get", + "x-ms-examples": { + "KustoDataConnectionsGet": { + "$ref": "./examples/KustoDataConnectionsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "DataConnections" + ], + "description": "Creates or updates a data connection.", + "operationId": "DataConnections_CreateOrUpdate", + "x-ms-examples": { + "KustoDataConnectionsCreateOrUpdate": { + "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The data connection parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "201": { + "description": "Successfully created the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "202": { + "description": "Accepted the create data connection request.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DataConnections" + ], + "description": "Updates a data connection.", + "operationId": "DataConnections_Update", + "x-ms-examples": { + "KustoDataConnectionsUpdate": { + "$ref": "./examples/KustoDataConnectionsUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The data connection parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "201": { + "description": "Successfully updated the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "202": { + "description": "Accepted the update data connection request.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "DataConnections" + ], + "description": "Deletes the data connection with the given name.", + "operationId": "DataConnections_Delete", + "x-ms-examples": { + "KustoDataConnectionsDelete": { + "$ref": "./examples/KustoDataConnectionsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the data connection." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified data connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.Kusto/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "KustoOperationsList": { + "$ref": "./examples/KustoOperationsList.json" + } + }, + "description": "Lists available operations for the Microsoft.Kusto provider.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Returns a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_ListLanguageExtensions", + "x-ms-examples": { + "KustoClusterListLanguageExtensions": { + "$ref": "./examples/KustoClusterListLanguageExtensions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of language extensions.", + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Add a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_AddLanguageExtensions", + "x-ms-examples": { + "KustoClusterAddLanguageExtensions": { + "$ref": "./examples/KustoClusterAddLanguageExtensions.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "languageExtensionsToAdd", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to add." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Remove a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_RemoveLanguageExtensions", + "x-ms-examples": { + "KustoClusterRemoveLanguageExtensions": { + "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "languageExtensionsToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to remove." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ClusterProperties": { + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the resource.", + "enum": [ + "Creating", + "Unavailable", + "Running", + "Deleting", + "Deleted", + "Stopping", + "Stopped", + "Starting", + "Updating" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioned state of the resource.", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "uri": { + "type": "string", + "readOnly": true, + "description": "The cluster URI." + }, + "dataIngestionUri": { + "type": "string", + "readOnly": true, + "description": "The cluster data ingestion URI." + }, + "stateReason": { + "type": "string", + "readOnly": true, + "description": "The reason for the cluster's current state." + }, + "trustedExternalTenants": { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + }, + "description": "The cluster's external tenants." + }, + "optimizedAutoscale": { + "type": "object", + "$ref": "#/definitions/OptimizedAutoscale", + "description": "Optimized auto scale definition." + }, + "enableDiskEncryption": { + "description": "A boolean value that indicates if the cluster's disks are encrypted.", + "type": "boolean" + }, + "enableStreamingIngest": { + "description": "A boolean value that indicates if the streaming ingest is enabled.", + "default": false, + "type": "boolean" + }, + "virtualNetworkConfiguration": { + "type": "object", + "$ref": "#/definitions/VirtualNetworkConfiguration", + "description": "Virtual network definition." + }, + "keyVaultProperties": { + "type": "object", + "$ref": "#/definitions/KeyVaultProperties", + "description": "KeyVault properties for the cluster encryption." + }, + "enablePurge": { + "description": "A boolean value that indicates if the purge operations are enabled.", + "default": false, + "type": "boolean" + }, + "languageExtensions": { + "type": "object", + "$ref": "#/definitions/LanguageExtensionsList", + "readOnly": true, + "description": "List of the cluster's language extensions." + }, + "enableDoubleEncryption": { + "description": "A boolean value that indicates if double encryption is enabled.", + "default": false, + "type": "boolean" + } + }, + "description": "Class representing the Kusto cluster properties." + }, + "TrustedExternalTenant": { + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "AzureResourceSku": { + "properties": { + "resourceType": { + "type": "string", + "description": "Resource Namespace and Type." + }, + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU details." + }, + "capacity": { + "$ref": "#/definitions/AzureCapacity", + "description": "The number of instances of the cluster." + } + }, + "description": "Azure resource SKU definition." + }, + "AzureCapacity": { + "type": "object", + "required": [ + "minimum", + "maximum", + "default", + "scaleType" + ], + "properties": { + "scaleType": { + "description": "Scale type.", + "type": "string", + "enum": [ + "automatic", + "manual", + "none" + ], + "x-ms-enum": { + "name": "AzureScaleType", + "modelAsString": true + } + }, + "minimum": { + "description": "Minimum allowed capacity.", + "type": "integer" + }, + "maximum": { + "description": "Maximum allowed capacity.", + "type": "integer" + }, + "default": { + "description": "The default capacity that would be used.", + "type": "integer" + } + }, + "description": "Azure capacity definition." + }, + "SkuDescriptionList": { + "description": "The list of the EngagementFabric SKU descriptions", + "type": "object", + "properties": { + "value": { + "description": "SKU descriptions", + "type": "array", + "items": { + "$ref": "#/definitions/SkuDescription" + }, + "readOnly": true + } + } + }, + "SkuDescription": { + "description": "The Kusto SKU description of given resource type", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the SKU", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The tier of the SKU", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "The set of locations that the SKU is available", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "Locations and zones", + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfoItem" + }, + "readOnly": true + }, + "restrictions": { + "description": "The restrictions because of which SKU cannot be used", + "type": "array", + "items": { + "type": "object" + }, + "readOnly": true + } + } + }, + "SkuLocationInfoItem": { + "description": "The locations and zones info for SKU.", + "type": "object", + "required": [ + "location" + ], + "properties": { + "location": { + "description": "The available location of the SKU.", + "type": "string" + }, + "zones": { + "description": "The available zone of the SKU.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSku": { + "type": "object", + "required": [ + "name", + "tier" + ], + "properties": { + "name": { + "description": "SKU name.", + "type": "string", + "enum": [ + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_L8s", + "Standard_L16s", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_L4s", + "Dev(No SLA)_Standard_D11_v2", + "Standard_E2a_v4", + "Standard_E4a_v4", + "Standard_E8a_v4", + "Standard_E16a_v4", + "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", + "Standard_E16as_v4+3TB_PS", + "Standard_E16as_v4+4TB_PS", + "Dev(No SLA)_Standard_E2a_v4" + ], + "x-ms-enum": { + "name": "AzureSkuName", + "modelAsString": true + } + }, + "capacity": { + "description": "The number of instances of the cluster.", + "type": "integer" + }, + "tier": { + "description": "SKU tier.", + "type": "string", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "AzureSkuTier", + "modelAsString": true + } + } + }, + "description": "Azure SKU definition." + }, + "Zones": { + "description": "An array represents the availability zones of the cluster.", + "type": "array", + "items": { + "type": "string" + } + }, + "OptimizedAutoscale": { + "type": "object", + "required": [ + "version", + "isEnabled", + "minimum", + "maximum" + ], + "properties": { + "version": { + "description": "The version of the template defined, for instance 1.", + "type": "integer" + }, + "isEnabled": { + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.", + "type": "boolean" + }, + "minimum": { + "description": "Minimum allowed instances count.", + "type": "integer" + }, + "maximum": { + "description": "Maximum allowed instances count.", + "type": "integer" + } + }, + "description": "A class that contains the optimized auto scale definition." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "required": [ + "subnetId", + "enginePublicIpId", + "dataManagementPublicIpId" + ], + "properties": { + "subnetId": { + "description": "The subnet resource id.", + "type": "string" + }, + "enginePublicIpId": { + "description": "Engine service's public IP address resource id.", + "type": "string" + }, + "dataManagementPublicIpId": { + "description": "Data management's service public IP address resource id.", + "type": "string" + } + }, + "description": "A class that contains virtual network definition." + }, + "DatabaseStatistics": { + "type": "object", + "readOnly": true, + "properties": { + "size": { + "type": "number", + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "AttachedDatabaseConfigurationProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioned state of the resource.", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "attachedDatabaseNames": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "The list of databases from the clusterResourceId which are currently attached to the cluster." + }, + "defaultPrincipalsModificationKind": { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ], + "x-ms-enum": { + "name": "DefaultPrincipalsModificationKind", + "modelAsString": true + }, + "description": "The default principals modification kind" + } + }, + "description": "Class representing the an attached database configuration properties of kind specific.", + "required": [ + "databaseName", + "clusterResourceId", + "defaultPrincipalsModificationKind" + ] + }, + "ReadWriteDatabaseProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioned state of the resource.", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "$ref": "#/definitions/DatabaseStatistics", + "description": "The statistics of the database." + }, + "isFollowed": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the database is followed." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ReadOnlyFollowingDatabaseProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioned state of the resource.", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "softDeletePeriod": { + "type": "string", + "readOnly": true, + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "$ref": "#/definitions/DatabaseStatistics", + "description": "The statistics of the database." + }, + "leaderClusterResourceId": { + "type": "string", + "readOnly": true, + "description": "The name of the leader cluster" + }, + "attachedDatabaseConfigurationName": { + "type": "string", + "readOnly": true, + "description": "The name of the attached database configuration cluster" + }, + "principalsModificationKind": { + "type": "string", + "readOnly": true, + "enum": [ + "Union", + "Replace", + "None" + ], + "x-ms-enum": { + "name": "PrincipalsModificationKind", + "modelAsString": true + }, + "description": "The principals modification kind of the database" + } + }, + "description": "Class representing the Kusto database properties." + }, + "EventHubConnectionProperties": { + "properties": { + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/EventHubDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "System properties of the event hub" + }, + "compression": { + "$ref": "#/definitions/Compression", + "description": "The event hub messages compression type" + } + }, + "required": [ + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "IotHubConnectionProperties": { + "properties": { + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/IotHubDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "System properties of the iot hub" + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + } + }, + "required": [ + "iotHubResourceId", + "consumerGroup", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "EventHubDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "eventHubDataFormat", + "modelAsString": true + } + }, + "IotHubDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "iotHubDataFormat", + "modelAsString": true + } + }, + "EventGridDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "eventGridDataFormat", + "modelAsString": true + } + }, + "BlobStorageEventType": { + "description": "The name of blob storage event type to process.", + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ], + "x-ms-enum": { + "name": "blobStorageEventType", + "modelAsString": true + } + }, + "Compression": { + "description": "The compression type", + "type": "string", + "enum": [ + "None", + "GZip" + ], + "x-ms-enum": { + "name": "compression", + "modelAsString": true + } + }, + "EventGridConnectionProperties": { + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/EventGridDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "ignoreFirstRecord": { + "type": "boolean", + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file" + }, + "blobStorageEventType": { + "$ref": "#/definitions/BlobStorageEventType", + "description": "The name of blob storage event type to process." + } + }, + "required": [ + "storageAccountResourceId", + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "Cluster": { + "required": [ + "sku" + ], + "properties": { + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU of the cluster." + }, + "zones": { + "$ref": "#/definitions/Zones", + "description": "The availability zones of the cluster." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the cluster, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "The cluster properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Class representing a Kusto cluster." + }, + "ClusterUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU of the cluster." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the cluster, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The cluster properties.", + "$ref": "#/definitions/ClusterProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "Class representing an update to a Kusto cluster." + }, + "AttachedDatabaseConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + }, + "description": "The list of attached database configurations." + } + }, + "description": "The list attached database configurations operation response." + }, + "AttachedDatabaseConfiguration": { + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the attached database configuration.", + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing an attached database configuration." + }, + "Database": { + "required": [ + "kind" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "kind": { + "description": "Kind of the database", + "enum": [ + "ReadWrite", + "ReadOnlyFollowing" + ], + "type": "string", + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a Kusto database.", + "discriminator": "kind" + }, + "ReadWriteDatabase": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The database properties.", + "$ref": "#/definitions/ReadWriteDatabaseProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Database" + } + ], + "description": "Class representing a read write database.", + "x-ms-discriminator-value": "ReadWrite" + }, + "ReadOnlyFollowingDatabase": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The database properties.", + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Database" + } + ], + "description": "Class representing a read only following database.", + "x-ms-discriminator-value": "ReadOnlyFollowing" + }, + "DatabasePrincipal": { + "type": "object", + "required": [ + "name", + "role", + "type" + ], + "properties": { + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ], + "x-ms-enum": { + "name": "DatabasePrincipalRole", + "modelAsString": true + } + }, + "name": { + "description": "Database principal name.", + "type": "string" + }, + "type": { + "description": "Database principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "DatabasePrincipalType", + "modelAsString": true + } + }, + "fqn": { + "description": "Database principal fully qualified name.", + "type": "string" + }, + "email": { + "description": "Database principal email if exists.", + "type": "string" + }, + "appId": { + "description": "Application id - relevant only for application principal type.", + "type": "string" + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + } + }, + "description": "A class representing database principal entity." + }, + "DatabasePrincipalProperties": { + "type": "object", + "required": [ + "principalId", + "role", + "principalType" + ], + "properties": { + "principalId": { + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ], + "x-ms-enum": { + "name": "DatabasePrincipalRole", + "modelAsString": true + } + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + }, + "principalName": { + "type": "string", + "readOnly": true, + "description": "The principal name" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioned state of the resource.", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + }, + "description": "A class representing database principal property." + }, + "ClusterPrincipalProperties": { + "type": "object", + "required": [ + "principalId", + "role", + "principalType" + ], + "properties": { + "principalId": { + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Cluster principal role.", + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ], + "x-ms-enum": { + "name": "ClusterPrincipalRole", + "modelAsString": true + } + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + }, + "principalName": { + "type": "string", + "readOnly": true, + "description": "The principal name" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioned state of the resource.", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + }, + "description": "A class representing cluster principal property." + }, + "DatabasePrincipalAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabasePrincipalProperties", + "description": "The database principal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a database principal assignment." + }, + "ClusterPrincipalAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterPrincipalProperties", + "description": "The cluster principal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a cluster principal assignment." + }, + "ClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "description": "The list of Kusto clusters." + } + }, + "description": "The list Kusto clusters operation response." + }, + "DatabaseListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "description": "The list of Kusto databases." + } + }, + "description": "The list Kusto databases operation response." + }, + "DatabasePrincipalAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + }, + "description": "The list of Kusto database principal assignments." + } + }, + "description": "The list Kusto database principal assignments operation response." + }, + "ClusterPrincipalAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + }, + "description": "The list of Kusto cluster principal assignments." + } + }, + "description": "The list Kusto cluster principal assignments operation response." + }, + "DatabasePrincipalListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipal" + }, + "description": "The list of Kusto database principals." + } + }, + "description": "The list Kusto database principals operation response." + }, + "FollowerDatabaseListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FollowerDatabaseDefinition" + }, + "description": "The list of follower database result." + } + }, + "description": "The list Kusto database principals operation response." + }, + "DataConnection": { + "required": [ + "kind" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "kind": { + "description": "Kind of the endpoint for the data connection", + "enum": [ + "EventHub", + "EventGrid", + "IotHub" + ], + "type": "string", + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing an data connection.", + "discriminator": "kind" + }, + "DataConnectionValidationResult": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string", + "description": "A message which indicates a problem in data connection validation." + } + }, + "description": "The result returned from a data connection validation request." + }, + "DatabasePrincipalListRequest": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipal" + }, + "description": "The list of Kusto database principals." + } + }, + "description": "The list Kusto database principals operation request." + }, + "FollowerDatabaseDefinition": { + "type": "object", + "required": [ + "clusterResourceId", + "attachedDatabaseConfigurationName" + ], + "properties": { + "clusterResourceId": { + "type": "string", + "description": "Resource id of the cluster that follows a database owned by this cluster." + }, + "attachedDatabaseConfigurationName": { + "type": "string", + "description": "Resource name of the attached database configuration in the follower cluster." + }, + "databaseName": { + "type": "string", + "readOnly": true, + "description": "The database name owned by this cluster that was followed. * in case following all databases." + } + }, + "description": "A class representing follower database request." + }, + "DiagnoseVirtualNetworkResult": { + "properties": { + "findings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of network connectivity diagnostic finding" + } + } + }, + "DataConnectionValidation": { + "properties": { + "dataConnectionName": { + "type": "string", + "description": "The name of the data connection." + }, + "properties": { + "$ref": "#/definitions/DataConnection", + "description": "The data connection properties to validate." + } + }, + "description": "Class representing an data connection validation." + }, + "EventHubDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The Event Hub data connection properties to validate.", + "$ref": "#/definitions/EventHubConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an event hub data connection.", + "x-ms-discriminator-value": "EventHub" + }, + "IotHubDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The Iot Hub data connection properties.", + "$ref": "#/definitions/IotHubConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an iot hub data connection.", + "x-ms-discriminator-value": "IotHub" + }, + "EventGridDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the Event Grid data connection.", + "$ref": "#/definitions/EventGridConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an Event Grid data connection.", + "x-ms-discriminator-value": "EventGrid" + }, + "DataConnectionValidationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnectionValidationResult" + }, + "description": "The list of Kusto data connection validation errors." + } + }, + "description": "The list Kusto data connection validation result." + }, + "DataConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The list of Kusto data connections." + } + }, + "description": "The list Kusto data connections operation response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "An error response from Kusto." + } + }, + "description": "An error response from Kusto." + }, + "ClusterCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Cluster name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a cluster check name availability request." + }, + "CheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a database check name availability request." + }, + "ClusterPrincipalAssignmentCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Principal Assignment resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments." + } + }, + "required": [ + "name", + "type" + ], + "description": "A principal assignment check name availability request." + }, + "DataConnectionCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Data Connection name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections." + } + }, + "required": [ + "name", + "type" + ], + "description": "A data connection check name availability request." + }, + "DatabasePrincipalAssignmentCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Principal Assignment resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments." + } + }, + "required": [ + "name", + "type" + ], + "description": "A principal assignment check name availability request." + }, + "CheckNameResult": { + "type": "object", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "Specifies a Boolean value that indicates if the name is available." + }, + "name": { + "type": "string", + "description": "The name that was checked." + }, + "message": { + "type": "string", + "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated." + }, + "reason": { + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "reason", + "modelAsString": true + }, + "description": "Message providing the reason why the given name is invalid." + } + }, + "description": "The result returned from a check name availability request." + }, + "ListResourceSkusResult": { + "description": "List of available SKUs for a Kusto Cluster.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureResourceSku" + }, + "description": "The collection of available SKUs for an existing resource." + } + } + }, + "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 displaying in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from Kusto." + }, + "OperationListResult": { + "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "title": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "title": "The URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "title": "A REST API operation", + "type": "object", + "properties": { + "name": { + "title": "The operation name.", + "description": "This is of the format {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "title": "The object that describes the operation.", + "properties": { + "provider": { + "title": "Friendly name of the resource provider.", + "type": "string" + }, + "operation": { + "title": "The operation type.", + "description": "For example: read, write, delete.", + "type": "string" + }, + "resource": { + "title": "The resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "title": "The friendly name of the operation.", + "type": "string" + } + } + }, + "origin": { + "title": "The intended executor of the operation.", + "type": "string" + }, + "properties": { + "title": "Properties of the operation.", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "KeyVaultProperties": { + "description": "Properties of the key vault.", + "required": [ + "keyName", + "keyVersion", + "keyVaultUri" + ], + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key.", + "x-ms-client-name": "KeyName" + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault.", + "x-ms-client-name": "KeyVaultUri" + } + } + }, + "LanguageExtensionName": { + "description": "Language extension that can run within KQL query.", + "type": "string", + "enum": [ + "PYTHON", + "R" + ], + "x-ms-enum": { + "name": "languageExtensionName", + "modelAsString": true + } + }, + "LanguageExtension": { + "type": "object", + "description": "The language extension object.", + "properties": { + "languageExtensionName": { + "$ref": "#/definitions/LanguageExtensionName", + "description": "The language extension name." + } + } + }, + "LanguageExtensionsList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageExtension" + }, + "description": "The list of language extensions." + } + }, + "description": "The list of language extension objects." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets 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." + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AttachedDatabaseConfigurationNameParameter": { + "name": "attachedDatabaseConfigurationName", + "in": "path", + "description": "The name of the attached database configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group containing the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database in the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DataConnectionNameParameter": { + "name": "dataConnectionName", + "in": "path", + "description": "The name of the data connection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrincipalAssignmentNameParameter": { + "name": "principalAssignmentName", + "in": "path", + "description": "The name of the Kusto principalAssignment.", + "required": true, + "type": "string", + "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/azure-kusto/resource-manager/readme.azureresourceschema.md b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..96c34a3fb116 --- /dev/null +++ b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,96 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-kusto-2020-06-14 + - tag: schema-kusto-2020-02-15 + - tag: schema-kusto-2019-11-09 + - tag: schema-kusto-2019-09-07 + - tag: schema-kusto-2019-05-15 + - tag: schema-kusto-2019-01-21 + - tag: schema-kusto-2018-09-07-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-kusto-2020-06-14 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2020-06-14' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2020-06-14/kusto.json + +``` + +### Tag: schema-kusto-2020-02-15 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2020-02-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2020-02-15/kusto.json + +``` + +### Tag: schema-kusto-2019-11-09 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2019-11-09' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2019-11-09/kusto.json + +``` + +### Tag: schema-kusto-2019-09-07 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2019-09-07' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2019-09-07/kusto.json + +``` + +### Tag: schema-kusto-2019-05-15 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2019-05-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2019-05-15/kusto.json + +``` + +### Tag: schema-kusto-2019-01-21 and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2019-01-21' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/stable/2019-01-21/kusto.json + +``` + +### Tag: schema-kusto-2018-09-07-preview and azureresourceschema + +``` yaml $(tag) == 'schema-kusto-2018-09-07-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kusto/preview/2018-09-07-preview/kusto.json + +``` diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md index 15474d8a5833..ed01044bbc85 100644 --- a/specification/azure-kusto/resource-manager/readme.go.md +++ b/specification/azure-kusto/resource-manager/readme.go.md @@ -19,6 +19,7 @@ batch: - tag: package-2019-09-07 - tag: package-2019-11-09 - tag: package-2020-02-15 + - tag: package-2020-06-14 ``` ### Tag: package-2018-09-07-preview and go @@ -74,3 +75,12 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06-14' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-14/$(namespace) +``` diff --git a/specification/azure-kusto/resource-manager/readme.java.md b/specification/azure-kusto/resource-manager/readme.java.md index aa1b6240aba8..aad8458d0f18 100644 --- a/specification/azure-kusto/resource-manager/readme.java.md +++ b/specification/azure-kusto/resource-manager/readme.java.md @@ -18,6 +18,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kusto batch: - tag: package-2019-11-09 - tag: package-2020-02-15 + - tag: package-2020-06-14 ``` ### Tag: package-2018-09-07-preview and java @@ -96,4 +97,17 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_02_15 regenerate-manager: true generate-interface: true +``` + +### Tag: package-2020-06-14 and java + +These settings apply only when `--tag=package-2020-06-14 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-06-14' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.kusto.v2020_06_14 + output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_06_14 +regenerate-manager: true +generate-interface: true ``` \ No newline at end of file diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md index ef252e846aa8..f33e161ac118 100644 --- a/specification/azure-kusto/resource-manager/readme.md +++ b/specification/azure-kusto/resource-manager/readme.md @@ -28,7 +28,16 @@ These are the global settings for the Kusto API. title: KustoManagementClient description: 'The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases.' openapi-type: arm -tag: package-2020-02-15 +tag: package-2020-06-14 +``` + +### Tag: package-2020-06-14 + +These settings apply only when `--tag=package-2020-06-14` is specified on the command line. + +```yaml $(tag) == 'package-2020-06-14' +input-file: + - Microsoft.Kusto/stable/2020-06-14/kusto.json ``` ### Tag: package-2020-02-15 @@ -160,9 +169,13 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python + - repo: azure-sdk-for-js - repo: azure-sdk-for-go - repo: azure-sdk-for-java - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azure-kusto/resource-manager ``` ## C# @@ -183,6 +196,10 @@ csharp: See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -195,6 +212,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Kusto/stable/2020-06-14/kusto.json - $(this-folder)/Microsoft.Kusto/stable/2020-02-15/kusto.json - $(this-folder)/Microsoft.Kusto/stable/2019-11-09/kusto.json - $(this-folder)/Microsoft.Kusto/stable/2019-09-07/kusto.json diff --git a/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b6bab336b329 --- /dev/null +++ b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,49 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-aadiam-2020-07-01-preview + - tag: schema-aadiam-2020-03-01-preview + - tag: schema-aadiam-2017-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-aadiam-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-aadiam-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json + +``` + +### Tag: schema-aadiam-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-aadiam-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json + - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json + +``` + +### Tag: schema-aadiam-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-aadiam-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json + +``` diff --git a/specification/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md index 46fe420e432e..76d6a582264c 100644 --- a/specification/azureactivedirectory/resource-manager/readme.md +++ b/specification/azureactivedirectory/resource-manager/readme.md @@ -95,6 +95,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_azureactivedirectory'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azureactivedirectory/resource-manager ``` ## Go @@ -117,6 +120,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -129,11 +136,10 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json - $(this-folder)/Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json - $(this-folder)/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json - $(this-folder)/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json - + - $(this-folder)/Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json ``` diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json index 86241df72903..c8f01b22aae2 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json @@ -568,13 +568,13 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/sqlInstances": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/sqlManagedInstances": { "get": { "tags": [ - "SqlInstances" + "SqlManagedInstances" ], - "operationId": "SqlInstances_List", - "summary": "List sqlInstance resources in the subscription", + "operationId": "SqlManagedInstances_List", + "summary": "List sqlManagedInstance resources in the subscription", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -587,7 +587,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SqlInstanceListResult" + "$ref": "#/definitions/SqlManagedInstanceListResult" } }, "default": { @@ -602,19 +602,19 @@ }, "x-ms-examples": { "Gets all SQL Instance in a subscription.": { - "$ref": "./examples/ListSubscriptionSqlIInstance.json" + "$ref": "./examples/ListSubscriptionSqlManagedInstance.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlInstances": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlManagedInstances": { "get": { "tags": [ - "SqlInstances" + "SqlManagedInstances" ], - "operationId": "SqlInstances_ListByResourceGroup", - "description": "Gets all sqlInstances in a resource group.", - "summary": "List sqlInstance resources in the resource group", + "operationId": "SqlManagedInstances_ListByResourceGroup", + "description": "Gets all sqlManagedInstances in a resource group.", + "summary": "List sqlManagedInstance resources in the resource group", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -630,7 +630,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SqlInstanceListResult" + "$ref": "#/definitions/SqlManagedInstanceListResult" } }, "default": { @@ -645,18 +645,18 @@ }, "x-ms-examples": { "Gets all SQL Instance in a resource group.": { - "$ref": "./examples/ListByResourceGroupSqlInstance.json" + "$ref": "./examples/ListByResourceGroupSqlManagedInstance.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlInstances/{sqlInstanceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlManagedInstances/{sqlManagedInstanceName}": { "get": { "tags": [ - "SqlInstances" + "SqlManagedInstances" ], - "operationId": "SqlInstances_Get", - "description": "Retrieves a SQL Instance resource", + "operationId": "SqlManagedInstances_Get", + "description": "Retrieves a SQL Managed Instance resource", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -665,8 +665,8 @@ "$ref": "#/parameters/resourceGroupName" }, { - "name": "sqlInstanceName", - "description": "Name of SQL Instance", + "name": "sqlManagedInstanceName", + "description": "Name of SQL Managed Instance", "in": "path", "required": true, "type": "string", @@ -680,7 +680,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SqlInstance" + "$ref": "#/definitions/SqlManagedInstance" } }, "default": { @@ -692,16 +692,16 @@ }, "x-ms-examples": { "Updates a SQL Instance tags.": { - "$ref": "./examples/GetSqlInstance.json" + "$ref": "./examples/GetSqlManagedInstance.json" } } }, "put": { "tags": [ - "SqlInstances" + "SqlManagedInstances" ], - "operationId": "SqlInstances_Create", - "description": "Creates or replaces a SQL Instance resource", + "operationId": "SqlManagedInstances_Create", + "description": "Creates or replaces a SQL Managed Instance resource", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -710,8 +710,8 @@ "$ref": "#/parameters/resourceGroupName" }, { - "name": "sqlInstanceName", - "description": "The name of SQL Instances", + "name": "sqlManagedInstanceName", + "description": "The name of SQL Managed Instances", "in": "path", "required": true, "type": "string", @@ -720,10 +720,10 @@ { "name": "parameters", "in": "body", - "description": "The SQL Instance to be created or updated.", + "description": "The SQL Managed Instance to be created or updated.", "required": true, "schema": { - "$ref": "#/definitions/SqlInstance" + "$ref": "#/definitions/SqlManagedInstance" } }, { @@ -734,13 +734,13 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SqlInstance" + "$ref": "#/definitions/SqlManagedInstance" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/SqlInstance" + "$ref": "#/definitions/SqlManagedInstance" } }, "default": { @@ -751,17 +751,17 @@ } }, "x-ms-examples": { - "Updates a SQL Instance tags.": { - "$ref": "./examples/CreateOrUpdateSqlInstance.json" + "Updates a SQL Managed Instance tags.": { + "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json" } } }, "delete": { "tags": [ - "SqlInstances" + "SqlManagedInstances" ], - "operationId": "SqlInstances_Delete", - "description": "Deletes a SQL Instance resource", + "operationId": "SqlManagedInstances_Delete", + "description": "Deletes a SQL Managed Instance resource", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -770,8 +770,8 @@ "$ref": "#/parameters/resourceGroupName" }, { - "name": "sqlInstanceName", - "description": "The name of Sql Instances", + "name": "sqlManagedInstanceName", + "description": "The name of Sql Managed Instances", "in": "path", "required": true, "type": "string", @@ -783,7 +783,7 @@ ], "responses": { "200": { - "description": "Successfully deleted the SQL Instance." + "description": "Successfully deleted the SQL Managed Instance." }, "default": { "description": "*** Error Responses: ***", @@ -792,21 +792,21 @@ } }, "204": { - "description": "The specified SQL Instance does not exist." + "description": "The specified SQL Managed Instance does not exist." } }, "x-ms-examples": { "Delete a SQL Instance.": { - "$ref": "./examples/DeleteSqlInstance.json" + "$ref": "./examples/DeleteSqlManagedInstance.json" } } }, "patch": { "tags": [ - "SqlInstances" + "SqlManagedInstances" ], - "operationId": "SqlInstances_Update", - "description": "Updates a SQL Instance resource", + "operationId": "SqlManagedInstances_Update", + "description": "Updates a SQL Managed Instance resource", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -815,8 +815,8 @@ "$ref": "#/parameters/resourceGroupName" }, { - "name": "sqlInstanceName", - "description": "Name of sqlInstance", + "name": "sqlManagedInstanceName", + "description": "Name of sqlManagedInstance", "in": "path", "required": true, "type": "string", @@ -825,10 +825,10 @@ { "name": "parameters", "in": "body", - "description": "The SQL Instance.", + "description": "The SQL Managed Instance.", "required": true, "schema": { - "$ref": "#/definitions/SqlInstanceUpdate" + "$ref": "#/definitions/SqlManagedInstanceUpdate" } }, { @@ -839,7 +839,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SqlInstance" + "$ref": "#/definitions/SqlManagedInstance" } }, "default": { @@ -851,7 +851,7 @@ }, "x-ms-examples": { "Updates a sql Instance tags.": { - "$ref": "./examples/UpdateSqlInstance.json" + "$ref": "./examples/UpdateSqlManagedInstance.json" } } } @@ -1423,13 +1423,13 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/hybridDataManagers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/dataControllers": { "get": { "tags": [ - "HybridDataManagers" + "DataControllers" ], - "operationId": "HybridDataManagers_List", - "summary": "List hybridDataManager resources in the subscription", + "operationId": "DataControllers_ListInSubscription", + "summary": "List dataController resources in the subscription", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1442,7 +1442,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/HybridDataManagerListResult" + "$ref": "#/definitions/PageOfDataControllerResource" } }, "default": { @@ -1456,20 +1456,19 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets all hybridDataManagers in a subscription.": { - "$ref": "./examples/ListSubscriptionHybridDataManager.json" + "Gets all dataControllers in a subscription.": { + "$ref": "./examples/ListSubscriptionDataController.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/hybridDataManagers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/dataControllers": { "get": { "tags": [ - "HybridDataManagers" + "DataControllers" ], - "operationId": "HybridDataManagers_ListByResourceGroup", - "summary": "List hybridDataManager resources in the resource group", - "description": "Get a hybridDataManager list by Resource group name.", + "operationId": "DataControllers_ListInGroup", + "summary": "List dataController resources in the resource group", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1485,7 +1484,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/HybridDataManagerListResult" + "$ref": "#/definitions/PageOfDataControllerResource" } }, "default": { @@ -1499,19 +1498,19 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets all hybridDataManagers in a resource group.": { - "$ref": "./examples/ListByResourceGroupHybridDataManager.json" + "Gets all dataControllers in a resource group.": { + "$ref": "./examples/ListByResourceGroupDataController.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/hybridDataManagers/{hybridDataManagerName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/dataControllers/{dataControllerName}": { "put": { "tags": [ - "HybridDataManagers" + "DataControllers" ], - "operationId": "HybridDataManagers_Create", - "description": "Creates or replaces a hybridDataManager resource", + "operationId": "DataControllers_PutDataController", + "description": "Creates or replaces a dataController resource", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1520,8 +1519,16 @@ "$ref": "#/parameters/resourceGroupName" }, { - "name": "hybridDataManagerName", - "description": "Name of HybridDataManagerName", + "name": "dataControllerResource", + "description": "desc", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/DataControllerResource" + } + }, + { + "name": "dataControllerName", "in": "path", "required": true, "type": "string", @@ -1535,28 +1542,34 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/HybridDataManager" + "$ref": "#/definitions/DataControllerResource" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/HybridDataManager" + "$ref": "#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { - "Updates a hybridDataManager tags.": { - "$ref": "./examples/CreateOrUpdateHybridDataManager.json" + "Updates a dataControllers tags.": { + "$ref": "./examples/CreateOrUpdateDataController.json" } } }, "delete": { "tags": [ - "HybridDataManagers" + "DataControllers" ], - "operationId": "HybridDataManagers_Delete", - "description": "Deletes a hybridDataManager resource", + "operationId": "DataControllers_DeleteDataController", + "description": "Deletes a dataController resource", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1565,8 +1578,7 @@ "$ref": "#/parameters/resourceGroupName" }, { - "name": "hybridDataManagerName", - "description": "Name of HybridDataManager", + "name": "dataControllerName", "in": "path", "required": true, "type": "string", @@ -1578,7 +1590,7 @@ ], "responses": { "200": { - "description": "Successfully deleted the HybridDataManager." + "description": "Successfully deleted the DataController." }, "default": { "description": "*** Error Responses: ***", @@ -1587,21 +1599,21 @@ } }, "204": { - "description": "The specified HybridDataManager does not exist." + "description": "The specified DataController does not exist." } }, "x-ms-examples": { - "Delete a HybridDataManagers.": { - "$ref": "./examples/DeleteHybridDataManager.json" + "Delete a dataController.": { + "$ref": "./examples/DeleteDataController.json" } } }, "get": { "tags": [ - "HybridDataManagers" + "DataControllers" ], - "operationId": "HybridDataManagers_Get", - "description": "Retrieves a hybridDataManager resource", + "operationId": "DataControllers_GetDataController", + "description": "Retrieves a dataController resource", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1610,8 +1622,7 @@ "$ref": "#/parameters/resourceGroupName" }, { - "name": "hybridDataManagerName", - "description": "Name of HybridDataManager", + "name": "dataControllerName", "in": "path", "required": true, "type": "string", @@ -1625,22 +1636,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/HybridDataManager" + "$ref": "#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { - "Updates a hybridDataManager tags.": { - "$ref": "./examples/GetHybridDataManager.json" + "Get a data controller.": { + "$ref": "./examples/GetDataController.json" } } }, "patch": { "tags": [ - "HybridDataManagers" + "DataControllers" ], - "operationId": "HybridDataManagers_Update", - "description": "Updates a hybridDataManager resource", + "operationId": "DataControllers_PatchDataController", + "description": "Updates a dataController resource", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1649,37 +1666,42 @@ "$ref": "#/parameters/resourceGroupName" }, { - "name": "hybridDataManagerName", - "description": "Name of HybridDataManager", + "name": "dataControllerName", "in": "path", "required": true, "type": "string", "x-ms-parameter-location": "method" }, { - "name": "parameters", - "in": "body", - "description": "The HybridDataManager.", + "$ref": "#/parameters/apiVersion" + }, + { + "name": "dataControllerResource", + "description": "The update data controller resource", "required": true, + "in": "body", "schema": { - "$ref": "#/definitions/HybridDataManagerUpdate" + "$ref": "#/definitions/DataControllerUpdate" } - }, - { - "$ref": "#/parameters/apiVersion" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/HybridDataManager" + "$ref": "#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "#/definitions/CloudError" } } }, "x-ms-examples": { - "Updates a hybridDataManager tags.": { - "$ref": "./examples/UpdateHybridDataManager.json" + "Updates a dataController tags.": { + "$ref": "./examples/UpdateDataController.json" } } } @@ -2015,6 +2037,10 @@ "create" ], "description": "The geo-location where the resource lives" + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true } }, "required": [ @@ -2151,6 +2177,154 @@ } } }, + "PageOfDataControllerResource": { + "type": "object", + "properties": { + "value": { + "items": { + "$ref": "#/definitions/DataControllerResource" + }, + "type": "array" + }, + "nextLink": { + "type": "string", + "description": "Link to retrieve next page of results." + } + } + }, + "DataControllerResource": { + "description": "Data controller resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DataControllerProperties", + "description": "The data controller's properties", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ] + }, + "DataControllerUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Used for updating a data controller resource." + }, + "SystemData": { + "description": "Read only system data", + "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 + } + }, + "ResourceSku": { + "type": "object", + "properties": { + "capacity": { + "type": "integer", + "format": "int32" + }, + "family": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size": { + "type": "string" + }, + "tier": { + "type": "string" + } + } + }, + "DataControllerProperties": { + "description": "The data controller properties.", + "type": "object", + "properties": { + "onPremiseProperty": { + "$ref": "#/definitions/OnPremiseProperty" + } + }, + "required": [ + "onPremiseProperty" + ] + }, + "OnPremiseProperty": { + "description": "Properties from the on premise data controller", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "A globally unique ID identifying the associated on premise cluster" + }, + "publicSigningKey": { + "type": "string", + "description": "Certificate that contains the on premise cluster public key used to verify signing" + }, + "signingCertificateThumbprint": { + "type": "string", + "description": "Unique thumbprint returned to customer to verify the certificate being uploaded" + } + }, + "required": [ + "id", + "publicSigningKey" + ] + }, "PostgresInstanceProperties": { "description": "Postgres Instance properties.", "type": "object", @@ -2214,18 +2388,38 @@ } } }, - "SqlInstanceProperties": { - "description": "Properties of PostgresInstance.", + "SqlManagedInstanceProperties": { + "description": "Properties of sqlManagedInstance.", "type": "object", "properties": { - "hybridDataManagerId": { + "dataControllerId": { "type": "string", "description": "null" + }, + "instanceEndpoint": { + "type": "string", + "description": "The on premise instance endpoint" + }, + "admin": { + "type": "string", + "description": "The instance admin user" + }, + "startTime": { + "type": "string", + "description": "The instance start time" + }, + "endTime": { + "type": "string", + "description": "The instance end time" + }, + "vCore": { + "type": "string", + "description": "The instance vCore" } } }, - "SqlInstance": { - "description": "A SqlInstance.", + "SqlManagedInstance": { + "description": "A SqlManagedInstance.", "type": "object", "allOf": [ { @@ -2234,14 +2428,14 @@ ], "properties": { "properties": { - "$ref": "#/definitions/SqlInstanceProperties", + "$ref": "#/definitions/SqlManagedInstanceProperties", "description": "null", "x-ms-client-flatten": true } } }, - "SqlInstanceUpdate": { - "description": "An update to a SQL Instance.", + "SqlManagedInstanceUpdate": { + "description": "An update to a SQL Managed Instance.", "type": "object", "properties": { "tags": { @@ -2253,15 +2447,15 @@ } } }, - "SqlInstanceListResult": { - "description": "A list of SqlInstance.", + "SqlManagedInstanceListResult": { + "description": "A list of SqlManagedInstance.", "type": "object", "properties": { "value": { "description": "Array of results.", "type": "array", "items": { - "$ref": "#/definitions/SqlInstance" + "$ref": "#/definitions/SqlManagedInstance" }, "readOnly": true }, @@ -2363,58 +2557,6 @@ } } }, - "HybridDataManagerProperties": { - "description": "Hybrid data manager properties", - "type": "object" - }, - "HybridDataManager": { - "description": "Hybrid data manager resource", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/HybridDataManagerProperties", - "description": "null", - "x-ms-client-flatten": true - } - } - }, - "HybridDataManagerUpdate": { - "description": "An update to a HybridDataManager.", - "type": "object", - "properties": { - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "HybridDataManagerListResult": { - "description": "A list of HybridDataManager.", - "type": "object", - "properties": { - "value": { - "description": "Array of results.", - "type": "array", - "items": { - "$ref": "#/definitions/HybridDataManager" - }, - "readOnly": true - }, - "nextLink": { - "description": "Link to retrieve next page of results.", - "type": "string", - "readOnly": true - } - } - }, "CloudError": { "x-ms-external": true, "properties": { @@ -2555,9 +2697,9 @@ "type": "string", "x-ms-parameter-location": "method" }, - "SqlInstanceNameParameter": { + "SqlManagedInstanceNameParameter": { "in": "path", - "name": "sqlInstanceName", + "name": "sqlManagedInstanceName", "description": "The name of the resource.", "required": true, "type": "string", @@ -2570,14 +2712,6 @@ "required": true, "type": "string", "x-ms-parameter-location": "method" - }, - "HybridDataManagerNameParameter": { - "in": "path", - "name": "hybridDataManagerName", - "description": "The name of the resource.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" } }, "securityDefinitions": { diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateDataController.json new file mode 100644 index 000000000000..74731c2ddcff --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateDataController.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2017-07-24", + "dataControllerResource": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureData/dataControllers" + } + }, + "201": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded" + } + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureData/dataControllers" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateHybridDataManager.json deleted file mode 100644 index 34e7096538bb..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateHybridDataManager.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "hybridDataManagerName": "testhybridDataManager", - "api-version": "2017-07-24", - "parameters": { - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "properties": {} - } - }, - "responses": { - "200": { - "body": { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/hybridDataManager/testhybridDataManager", - "name": "testhybridDataManager", - "type": "Microsoft.AzureData/HybridDataManager" - } - }, - "201": { - "body": { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/hybridDataManager/testhybridDataManager", - "name": "testhybridDataManager", - "type": "Microsoft.AzureData/HybridDataManager" - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdatePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdatePostgresInstance.json index 097fd3b180a0..c9f3cbb98981 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdatePostgresInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdatePostgresInstance.json @@ -17,6 +17,14 @@ "body": { "properties": {}, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, @@ -29,6 +37,14 @@ "body": { "properties": {}, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlInstance.json deleted file mode 100644 index f7c281cc1050..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlInstance.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "sqlInstanceName": "testsqlInstance", - "api-version": "2017-07-24", - "parameters": { - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "properties": {} - } - }, - "responses": { - "200": { - "body": { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/testsqlInstance", - "name": "testsqlInstance", - "type": "Microsoft.AzureData/SqlInstances" - } - }, - "201": { - "body": { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/testsqlInstance", - "name": "testsqlInstance", - "type": "Microsoft.AzureData/SqlInstances" - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json new file mode 100644 index 000000000000..9c207564ec59 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2017-07-24", + "parameters": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + }, + "201": { + "body": { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json index fff63fffd1b8..a14c9add6e6d 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json @@ -31,6 +31,14 @@ "status": "Connected" }, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, @@ -51,6 +59,14 @@ "status": "Connected" }, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteDataController.json new file mode 100644 index 000000000000..386d1034d97c --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteDataController.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2017-07-24" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteHybridDataManager.json deleted file mode 100644 index 351de7e6d66c..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteHybridDataManager.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "hybridDataManagerName": "testhybridDataManager", - "api-version": "2017-07-24" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlInstance.json deleted file mode 100644 index 90575fe29180..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlInstance.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "sqlInstanceName": "testsqlInstance", - "api-version": "2017-07-24" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlManagedInstance.json new file mode 100644 index 000000000000..9bfc6d45587d --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlManagedInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2017-07-24" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json new file mode 100644 index 000000000000..8a13eb3d5b6e --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2017-07-24" + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureData/dataControllers" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetHybridDataManager.json deleted file mode 100644 index 9219639c7e8d..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetHybridDataManager.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "hybridDataManagerName": "testhybridDataManager", - "api-version": "2017-07-24" - }, - "responses": { - "200": { - "body": { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybridDataManager/testhybridDataManager", - "name": "testhybridDataManager", - "type": "Microsoft.AzureData/HybridDataManager" - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetPostgresInstance.json index 5e6f13214fb1..11e754ce1bd2 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetPostgresInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetPostgresInstance.json @@ -10,6 +10,14 @@ "body": { "properties": {}, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlInstance.json deleted file mode 100644 index 232173e7724f..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlInstance.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "sqlInstanceName": "testsqlInstance", - "api-version": "2017-07-24" - }, - "responses": { - "200": { - "body": { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/testsqlInstance", - "name": "testsqlInstance", - "type": "Microsoft.AzureData/SqlInstance" - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json new file mode 100644 index 000000000000..af96057ccab0 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2017-07-24" + }, + "responses": { + "200": { + "body": { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureData/sqlManagedInstance" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json index b45f1e0e3995..02bef61fa29c 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json @@ -18,6 +18,14 @@ "status": "Connected" }, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json new file mode 100644 index 000000000000..797b1fb81a31 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2017-07-24" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupHybridDataManager.json deleted file mode 100644 index 67ad06ab5ced..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupHybridDataManager.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "api-version": "2017-07-24" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager1", - "name": "testhybirdDataManager1", - "type": "Microsoft.AzureData/HybirdDataManager" - }, - { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager2", - "name": "testhybirdDataManager2", - "type": "Microsoft.AzureData/HybirdDataManager" - } - ] - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupPostgresInstance.json index 98b752d055c4..6fedd5954dfc 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupPostgresInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupPostgresInstance.json @@ -11,6 +11,14 @@ { "properties": {}, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, @@ -21,6 +29,14 @@ { "properties": {}, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlInstance.json deleted file mode 100644 index f1e70c820ef6..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlInstance.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "api-version": "2017-07-24" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/sqlInstance1", - "name": "sqlInstances1", - "type": "Microsoft.AzureData/SqlInstance" - }, - { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/sqlInstance2", - "name": "sqlInstances2", - "type": "Microsoft.AzureData/SqlInstance" - } - ] - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json new file mode 100644 index 000000000000..bb31e438e35a --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2017-07-24" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureData/sqlManagedInstances" + }, + { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json index 67ea60097317..0d50ea9bf3f9 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json @@ -19,6 +19,14 @@ "status": "Connected" }, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, @@ -37,6 +45,14 @@ "status": "Connected" }, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json new file mode 100644 index 000000000000..a81869dfea05 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2017-07-24" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionHybridDataManager.json deleted file mode 100644 index 0a1dd3aaf4c1..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionHybridDataManager.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "api-version": "2017-07-24" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager1", - "name": "testhybirdDataManager1", - "type": "Microsoft.AzureData/HybirdDataManager" - }, - { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager2", - "name": "testhybirdDataManager2", - "type": "Microsoft.AzureData/HybirdDataManager" - } - ] - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionPostgresInstance.json index 610eed7fe862..bd8e2e231a20 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionPostgresInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionPostgresInstance.json @@ -10,6 +10,14 @@ { "properties": {}, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, @@ -20,6 +28,14 @@ { "properties": {}, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlIInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlIInstance.json deleted file mode 100644 index 1305f494cd38..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlIInstance.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "api-version": "2017-07-24" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/sqlInstance1", - "name": "sqlInstances1", - "type": "Microsoft.AzureData/SqlInstance" - }, - { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/sqlInstance2", - "name": "sqlInstances2", - "type": "Microsoft.AzureData/SqlInstance" - } - ] - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json new file mode 100644 index 000000000000..65f4485aebd5 --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2017-07-24" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureData/sqlManagedInstances" + }, + { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json index 9b8da63326af..4caeed41a65b 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json @@ -18,6 +18,14 @@ "status": "Connected" }, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, @@ -36,6 +44,14 @@ "status": "Connected" }, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json new file mode 100644 index 000000000000..c6dc5166499a --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController1", + "api-version": "2019-07-24", + "dataControllerResource": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + } + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureData/dataControllers" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateHybridDataManager.json deleted file mode 100644 index 2ef5ef8d2110..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateHybridDataManager.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "hybridDataManagerName": "testhybirdDataManager1", - "api-version": "2019-07-24", - "parameters": { - "tags": { - "mytag": "myval" - } - } - }, - "responses": { - "200": { - "body": { - "properties": {}, - "location": "northeurope", - "tags": { - "mytag": "myval" - }, - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager1", - "name": "testhybirdDataManager1", - "type": "Microsoft.AzureData/HybirdDataManager" - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdatePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdatePostgresInstance.json index a3ce6886c8a0..a2f30ef71877 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdatePostgresInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdatePostgresInstance.json @@ -15,6 +15,14 @@ "body": { "properties": {}, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "tags": { "mytag": "myval" }, diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlInstance.json deleted file mode 100644 index d3b432528e56..000000000000 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlInstance.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "testrg", - "sqlInstanceName": "testsqlInstance", - "api-version": "2017-07-24", - "parameters": { - "tags": { - "mytag": "myval" - } - } - }, - "responses": { - "200": { - "body": { - "properties": {}, - "location": "northeurope", - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/testsqlInstance", - "name": "testsqlInstance", - "type": "Microsoft.AzureData/SqlInstances" - } - } - } -} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json new file mode 100644 index 000000000000..11144061214c --- /dev/null +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2017-07-24", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "instanceEndpoint": "The on premise instance endpoint", + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json index 54206a23fdda..38fad094b693 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json @@ -23,6 +23,14 @@ "status": "Connected" }, "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "user", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "user", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/testsqlServerInstance", "name": "testsqlServerInstance", "type": "Microsoft.AzureData/SqlServerInstances" diff --git a/specification/azuredata/resource-manager/readme.azureresourceschema.md b/specification/azuredata/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..9e9e3a071f7d --- /dev/null +++ b/specification/azuredata/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-azuredata-2019-07-24-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azuredata-2019-07-24-preview and azureresourceschema + +``` yaml $(tag) == 'schema-azuredata-2019-07-24-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json + +``` diff --git a/specification/azuredata/resource-manager/readme.md b/specification/azuredata/resource-manager/readme.md index 4ecacc7c3f4c..457d75830ec9 100644 --- a/specification/azuredata/resource-manager/readme.md +++ b/specification/azuredata/resource-manager/readme.md @@ -66,6 +66,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_azuredata'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azuredata/resource-manager ``` ## Go @@ -88,6 +91,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json index 62f2bd69c0b0..1216c20372ad 100644 --- a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json @@ -348,7 +348,11 @@ "read" ] } - } + }, + "required": [ + "properties", + "location" + ] }, "RegistrationParameterProperties": { "description": "Properties of the Azure Stack registration resource", diff --git a/specification/azurestack/resource-manager/readme.azureresourceschema.md b/specification/azurestack/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..1216d57dd7c8 --- /dev/null +++ b/specification/azurestack/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,27 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-azurestack-2017-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azurestack-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-azurestack-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureStack/stable/2017-06-01/AzureStack.json + - Microsoft.AzureStack/stable/2017-06-01/Product.json + - Microsoft.AzureStack/stable/2017-06-01/Registration.json + - Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json + +``` diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md index d31ec1ce03e3..dc231df47dea 100644 --- a/specification/azurestack/resource-manager/readme.md +++ b/specification/azurestack/resource-manager/readme.md @@ -75,6 +75,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azurestack/resource-manager ``` ## C# @@ -136,6 +139,10 @@ generate-interface: true See configuration in [readme.python.md](./readme.python.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json new file mode 100644 index 000000000000..de3d90772ef0 --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json @@ -0,0 +1,614 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-03-01-preview", + "title": "AzureStackHCI", + "description": "Azure Stack HCI management service" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.AzureStackHCI/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "List all available Microsoft.AzureStackHCI provider operations", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_List", + "x-ms-examples": { + "ListClusters": { + "$ref": "./examples/ListClusters.json" + } + }, + "description": "List all HCI clusters in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "ListClusters": { + "$ref": "./examples/ListClustersByResourceGroup.json" + } + }, + "description": "List all HCI clusters in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/clusters/{clusterName}": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Get", + "x-ms-examples": { + "GetClusters": { + "$ref": "./examples/GetCluster.json" + } + }, + "description": "Get HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Create", + "x-ms-examples": { + "GetClusters": { + "$ref": "./examples/CreateCluster.json" + } + }, + "description": "Create an HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "cluster", + "in": "body", + "description": "Details of the HCI cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Update", + "x-ms-examples": { + "GetClusters": { + "$ref": "./examples/UpdateCluster.json" + } + }, + "description": "Update an HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "cluster", + "in": "body", + "description": "Details of the HCI cluster.", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Delete", + "x-ms-examples": { + "GetClusters": { + "$ref": "./examples/DeleteCluster.json" + } + }, + "description": "Delete an HCI cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ClusterList": { + "description": "List of clusters.", + "type": "object", + "properties": { + "value": { + "description": "List of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + } + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "Cluster": { + "description": "Cluster details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Cluster properties.", + "$ref": "#/definitions/ClusterProperties", + "x-ms-client-flatten": true + } + } + }, + "ClusterProperties": { + "description": "Cluster properties.", + "type": "object", + "required": [ + "aadClientId", + "aadTenantId" + ], + "properties": { + "provisioningState": { + "description": "Provisioning state.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "status": { + "description": "Status of the cluster agent.", + "type": "string", + "enum": [ + "NotYetRegistered", + "ConnectedRecently", + "NotConnectedRecently", + "Disconnected", + "Error" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + }, + "readOnly": true + }, + "cloudId": { + "description": "Unique, immutable resource id.", + "type": "string", + "readOnly": true + }, + "aadClientId": { + "description": "App id of cluster AAD identity.", + "type": "string" + }, + "aadTenantId": { + "description": "Tenant id of cluster AAD identity.", + "type": "string" + }, + "reportedProperties": { + "description": "Properties reported by cluster agent.", + "$ref": "#/definitions/ClusterReportedProperties" + }, + "trialDaysRemaining": { + "description": "Number of days remaining in the trial period.", + "type": "number", + "readOnly": true + }, + "billingModel": { + "description": "Type of billing applied to the resource.", + "type": "string", + "readOnly": true + }, + "registrationTimestamp": { + "description": "First cluster sync timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "lastSyncTimestamp": { + "description": "Most recent cluster sync timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "lastBillingTimestamp": { + "description": "Most recent billing meter timestamp.", + "type": "string", + "format": "date-time", + "readOnly": true + } + } + }, + "ClusterReportedProperties": { + "description": "Properties reported by cluster agent.", + "type": "object", + "properties": { + "clusterName": { + "description": "Name of the on-prem cluster connected to this resource.", + "type": "string", + "readOnly": true + }, + "clusterId": { + "description": "Unique id generated by the on-prem cluster.", + "type": "string", + "readOnly": true + }, + "clusterVersion": { + "description": "Version of the cluster software.", + "type": "string", + "readOnly": true + }, + "nodes": { + "description": "List of nodes reported by the cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterNode" + }, + "readOnly": true + }, + "lastUpdated": { + "description": "Last time the cluster reported the data.", + "type": "string", + "format": "date-time", + "readOnly": true + } + } + }, + "ClusterNode": { + "description": "Cluster node details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the cluster node.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the node in the cluster.", + "type": "number", + "readOnly": true + }, + "manufacturer": { + "description": "Manufacturer of the cluster node hardware.", + "type": "string", + "readOnly": true + }, + "model": { + "description": "Model name of the cluster node hardware.", + "type": "string", + "readOnly": true + }, + "osName": { + "description": "Operating system running on the cluster node.", + "type": "string", + "readOnly": true + }, + "osVersion": { + "description": "Version of the operating system running on the cluster node.", + "type": "string", + "readOnly": true + }, + "serialNumber": { + "description": "Immutable id of the cluster node.", + "type": "string", + "readOnly": true + }, + "coreCount": { + "description": "Number of physical cores on the cluster node.", + "type": "number", + "readOnly": true + }, + "memoryInGiB": { + "description": "Total available memory on the cluster node (in GiB).", + "type": "number", + "readOnly": true + } + } + }, + "ClusterUpdate": { + "description": "Cluster details to update.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "OperationList": { + "description": "List of available operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "Operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation.", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Operation properties." + } + } + }, + "OperationDisplay": { + "description": "Operation properties.", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider name.", + "type": "string" + }, + "resource": { + "description": "Resource type name.", + "type": "string" + }, + "operation": { + "description": "Operation name.", + "type": "string" + }, + "description": { + "description": "Operation description.", + "type": "string" + } + } + } + }, + "parameters": { + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json new file mode 100644 index 000000000000..3c3f911432ac --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "clusterName": "myCluster", + "api-version": "2020-03-01-preview", + "cluster": { + "location": "East US", + "properties": { + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster", + "name": "myCluster", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "NotYetRegistered", + "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": {}, + "trialDaysRemaining": 30, + "billingModel": "Trial" + } + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/DeleteCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/DeleteCluster.json new file mode 100644 index 000000000000..80dae357754c --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/DeleteCluster.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "clusterName": "myCluster", + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json new file mode 100644 index 000000000000..6e67c668fa20 --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "clusterName": "myCluster", + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster", + "name": "myCluster", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "ConnectedRecently", + "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": { + "clusterName": "cluster1", + "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425", + "clusterVersion": "10.0.17777", + "nodes": [ + { + "name": "Node1", + "id": 1, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q45CZC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node2", + "id": 2, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44BSC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node3", + "id": 3, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44RFC3", + "coreCount": 16, + "memoryInGiB": 256 + } + ], + "lastUpdated": "2020-03-11T19:24:42.1946017Z" + }, + "trialDaysRemaining": 30, + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" + } + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json new file mode 100644 index 000000000000..8d9243f940fc --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg1/providers/Microsoft.AzureStackHCI/clusters/myCluster1", + "name": "myCluster1", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "NotYetRegistered", + "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd", + "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": {}, + "trialDaysRemaining": 29, + "billingModel": "Trial" + } + }, + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg2/providers/Microsoft.AzureStackHCI/clusters/myCluster2", + "name": "myCluster2", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "ConnectedRecently", + "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": { + "clusterName": "cluster1", + "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425", + "clusterVersion": "10.0.17777", + "nodes": [ + { + "name": "Node1", + "id": 0, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q45CZC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node2", + "id": 1, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44BSC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node3", + "id": 2, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44RFC3", + "coreCount": 16, + "memoryInGiB": 256 + } + ], + "lastUpdated": "2020-03-11T19:24:42.1946017Z" + }, + "trialDaysRemaining": 30, + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" + } + } + ] + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json new file mode 100644 index 000000000000..07d9c1e094d5 --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "api-version": "2020-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster1", + "name": "myCluster1", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "NotYetRegistered", + "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd", + "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": {}, + "trialDaysRemaining": 29, + "billingModel": "Trial" + } + }, + { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster2", + "name": "myCluster2", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "status": "ConnectedRecently", + "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0", + "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": { + "clusterName": "cluster1", + "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425", + "clusterVersion": "10.0.17777", + "nodes": [ + { + "name": "Node1", + "id": 0, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q45CZC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node2", + "id": 1, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44BSC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node3", + "id": 2, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44RFC3", + "coreCount": 16, + "memoryInGiB": 256 + } + ], + "lastUpdated": "2020-03-11T19:24:42.1946017Z" + }, + "trialDaysRemaining": 30, + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" + } + } + ] + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json new file mode 100644 index 000000000000..b3937caf37bd --- /dev/null +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b", + "resourceGroupName": "test-rg", + "clusterName": "myCluster", + "api-version": "2020-03-01-preview", + "cluster": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster", + "name": "myCluster", + "type": "Microsoft.AzureStackHCI/clusters", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "status": "ConnectedRecently", + "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd", + "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be", + "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94", + "reportedProperties": { + "clusterName": "cluster1", + "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425", + "clusterVersion": "10.0.17777", + "nodes": [ + { + "name": "Node1", + "id": 1, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q45CZC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node2", + "id": 2, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44BSC3", + "coreCount": 8, + "memoryInGiB": 128 + }, + { + "name": "Node3", + "id": 3, + "manufacturer": "Dell Inc.", + "model": "EMC AX740", + "osName": "Azure Stack HCI", + "osVersion": "10.0.17777.1061", + "serialNumber": "Q44RFC3", + "coreCount": 16, + "memoryInGiB": 256 + } + ], + "lastUpdated": "2020-03-11T19:24:42.1946017Z" + }, + "trialDaysRemaining": 30, + "billingModel": "Trial", + "registrationTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z", + "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z" + } + } + } + } +} diff --git a/specification/azurestackhci/resource-manager/readme.azureresourceschema.md b/specification/azurestackhci/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2525a859d162 --- /dev/null +++ b/specification/azurestackhci/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-azurestackhci-2020-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azurestackhci-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-azurestackhci-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json + +``` diff --git a/specification/azurestackhci/resource-manager/readme.csharp.md b/specification/azurestackhci/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..3378b525db6e --- /dev/null +++ b/specification/azurestackhci/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.AzureStackHCI + output-folder: $(csharp-sdks-folder)/azurestackhci/Microsoft.Azure.Management.AzureStackHCI/src/Generated +``` diff --git a/specification/azurestackhci/resource-manager/readme.go.md b/specification/azurestackhci/resource-manager/readme.go.md new file mode 100644 index 000000000000..fddd0e002a49 --- /dev/null +++ b/specification/azurestackhci/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true +``` + +### Go multi-api + +```yaml $(go) && $(multiapi) +batch: + - tag: package-2020-03-01-preview +``` + +### Tag: package-2020-03-01-preview and go + +These settings apply only when `--tag=package-2020-03-01-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-03-01-preview' && $(go) +namespace: azurestackhci +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace) +``` diff --git a/specification/azurestackhci/resource-manager/readme.md b/specification/azurestackhci/resource-manager/readme.md new file mode 100644 index 000000000000..ee213486dda1 --- /dev/null +++ b/specification/azurestackhci/resource-manager/readme.md @@ -0,0 +1,122 @@ +# azurestackhci + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for azurestackhci. + +## 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 azurestackhci. + +```yaml +title: AzureStackHCIClient +description: Azure Stack HCI management service +openapi-type: arm +tag: package-2020-03-01-preview +``` + +## Suppression + +```yaml +directive: + - suppress: R3020 + from: azurestackhci.json + reason: Microsoft.AzureStackHCI is the correct name for our RP. +``` + +### Tag: package-2020-03-01-preview + +These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-03-01-preview' +input-file: + - Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_azurestackhci'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js azurestackhci/resource-manager +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json + +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + diff --git a/specification/azurestackhci/resource-manager/readme.python.md b/specification/azurestackhci/resource-manager/readme.python.md new file mode 100644 index 000000000000..af60fd690f3c --- /dev/null +++ b/specification/azurestackhci/resource-manager/readme.python.md @@ -0,0 +1,26 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) +python-mode: create +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.azurestackhci + package-name: azure-mgmt-azurestackhci + package-version: 1.0.0rc1 + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci/azure/mgmt/azurestackhci +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci +``` diff --git a/specification/azurestackhci/resource-manager/readme.ruby.md b/specification/azurestackhci/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..ae5a9af3f8d7 --- /dev/null +++ b/specification/azurestackhci/resource-manager/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_azurestackhci +package-version: 2020-03-01-preview +azure-arm: true +``` + +### Tag: package-2020-03-01-preview and ruby + +These settings apply only when `--tag=package-2020-03-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-03-01-preview' && $(ruby) +namespace: Microsoft.AzureStackHCI +output-folder: $(ruby-sdks-folder)/azurestackhci +``` diff --git a/specification/azurestackhci/resource-manager/readme.typescript.md b/specification/azurestackhci/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..f7aa58d14c19 --- /dev/null +++ b/specification/azurestackhci/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-azurestackhci" + output-folder: "$(typescript-sdks-folder)/sdk/azurestackhci/arm-azurestackhci" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json new file mode 100644 index 000000000000..7e70ac58553f --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json @@ -0,0 +1,835 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-06-preview", + "title": "bareMetalInfrastructureClient", + "description": "The BareMetalInfrastructure Management 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.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/start": { + "post": { + "description": "The operation to start an AzureBareMetal instance", + "operationId": "AzureBareMetalInstances_Start", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Start.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/restart": { + "post": { + "description": "The operation to restart an AzureBareMetal instance", + "operationId": "AzureBareMetalInstances_Restart", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Restart an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Restart.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/shutdown": { + "post": { + "description": "The operation to shutdown an AzureBareMetal instance", + "operationId": "AzureBareMetalInstances_Shutdown", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Shutdown an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Shutdown.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances": { + "get": { + "tags": [ + "BareMetalInfrastructure" + ], + "operationId": "AzureBareMetalInstances_ListBySubscription", + "summary": "Gets a list of Azure BareMetal instances in the specified subscription.", + "description": "Gets a list of AzureBareMetal instances in the specified subscription. The operations returns various properties of each Azure BareMetal instance.", + "x-ms-examples": { + "List all AzureBareMetal instances in a subscription": { + "$ref": "./examples/AzureBareMetalInstances_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBareMetalInstancesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances": { + "get": { + "operationId": "AzureBareMetalInstances_List", + "description": "Gets a list of AzureBareMetal instances in the specified subscription and resource group", + "x-ms-examples": { + "List all AzureBareMetal instances in a resource group": { + "$ref": "./examples/AzureBareMetalInstances_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBareMetalInstancesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.BareMetalInfrastructure/operations": { + "get": { + "tags": [ + "AzureBareMetal" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "List all management operations supported by the AzureBareMetal RP": { + "$ref": "./examples/AzureBareMetalOperations_List.json" + } + }, + "description": "Gets a list of AzureBareMetal management operations.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}": { + "get": { + "tags": [ + "BareMetalInfrastructure" + ], + "operationId": "AzureBareMetalInstances_Get", + "summary": "Gets an Azure BareMetal instance.", + "description": "Gets an Azure BareMetal instance for the specified subscription, resource group, and instance name.", + "x-ms-examples": { + "Get an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBareMetalInstance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BareMetalInfrastructure" + ], + "operationId": "AzureBareMetalInstances_Delete", + "x-ms-long-running-operation": true, + "summary": "Deletes a Azure BareMetal instance.", + "description": "Deletes a Azure BareMetal instance with the specified subscription, resource group, and instance name.", + "x-ms-examples": { + "Delete an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + } + ], + "responses": { + "200": { + "description": "Deleted AzureBareMetalInstance" + }, + "202": { + "description": "Deleting AzureBareMetalInstance" + }, + "204": { + "description": "No AzureBareMetalInstance to delete" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "BareMetalInfrastructure" + ], + "operationId": "AzureBareMetalInstances_Update", + "summary": "Patches the Tags field of a Azure BareMetal instance.", + "description": "Patches the Tags field of a Azure BareMetal instance for the specified subscription, resource group, and instance name.", + "x-ms-examples": { + "Update Tags field of an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_PatchTags.json" + }, + "Delete Tags field of an AzureBareMetal instance": { + "$ref": "./examples/AzureBareMetalInstances_PatchTags_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AzureBareMetalInstanceNameParameter" + }, + { + "$ref": "#/parameters/TagsParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureBareMetalInstance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AzureBareMetalInstancesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureBareMetalInstance" + }, + "description": "The list of Azure BareMetal instances." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of AzureBareMetal instances." + } + }, + "description": "The response from the List AzureBareMetal Instances operation." + }, + "AzureBareMetalInstance": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzureBareMetalInstanceProperties", + "description": "AzureBareMetal instance properties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "AzureBareMetal instance info on Azure (ARM properties and AzureBareMetal properties)" + }, + "AzureBareMetalInstanceProperties": { + "properties": { + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Specifies the hardware settings for the AzureBareMetal instance." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Specifies the storage settings for the AzureBareMetal instance disks." + }, + "osProfile": { + "$ref": "#/definitions/OSProfile", + "description": "Specifies the operating system settings for the AzureBareMetal instance." + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Specifies the network settings for the AzureBareMetal instance." + }, + "azureBareMetalInstanceId": { + "readOnly": true, + "type": "string", + "description": "Specifies the AzureBareMetal instance unique ID." + }, + "powerState": { + "readOnly": true, + "type": "string", + "enum": [ + "starting", + "started", + "stopping", + "stopped", + "restarting", + "unknown" + ], + "x-ms-enum": { + "name": "AzureBareMetalInstancePowerStateEnum", + "modelAsString": true + }, + "description": "Resource power state" + }, + "proximityPlacementGroup": { + "readOnly": true, + "type": "string", + "description": "Resource proximity placement group" + }, + "hwRevision": { + "readOnly": true, + "type": "string", + "description": "Hardware revision of an AzureBareMetal instance" + }, + "partnerNodeId": { + "type": "string", + "description": "ARM ID of another AzureBareMetalInstance that will share a network with this AzureBareMetalInstance" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ], + "x-ms-enum": { + "name": "AzureBareMetalProvisioningStatesEnum", + "modelAsString": true + }, + "description": "State of provisioning of the AzureBareMetalInstance" + } + }, + "description": "Describes the properties of an AzureBareMetal instance." + }, + "HardwareProfile": { + "properties": { + "hardwareType": { + "readOnly": true, + "type": "string", + "enum": [ + "Cisco_UCS", + "HPE" + ], + "x-ms-enum": { + "name": "AzureBareMetalHardwareTypeNamesEnum", + "modelAsString": true + }, + "description": "Name of the hardware type (vendor and/or their product name)" + }, + "azureBareMetalInstanceSize": { + "readOnly": true, + "type": "string", + "enum": [ + "S72m", + "S144m", + "S72", + "S144", + "S192", + "S192m", + "S192xm", + "S96", + "S112", + "S224", + "S224m", + "S224om", + "S224oo", + "S224oom", + "S224ooo", + "S384", + "S384m", + "S384xm", + "S384xxm", + "S448", + "S448m", + "S448om", + "S448oo", + "S448oom", + "S448ooo", + "S576m", + "S576xm", + "S672", + "S672m", + "S672om", + "S672oo", + "S672oom", + "S672ooo", + "S768", + "S768m", + "S768xm", + "S896", + "S896m", + "S896om", + "S896oo", + "S896oom", + "S896ooo", + "S960m" + ], + "x-ms-enum": { + "name": "azureBareMetalInstanceSizeNamesEnum", + "modelAsString": true + }, + "description": "Specifies the AzureBareMetal instance SKU." + } + }, + "description": "Specifies the hardware settings for the AzureBareMetal instance." + }, + "Disk": { + "properties": { + "name": { + "type": "string", + "description": "The disk name." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of an empty data disk in gigabytes." + }, + "lun": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + } + }, + "description": "Specifies the disk information fo the AzureBareMetal instance" + }, + "StorageProfile": { + "properties": { + "nfsIpAddress": { + "readOnly": true, + "type": "string", + "description": "IP Address to connect to storage." + }, + "osDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + }, + "description": "Specifies information about the operating system disk used by baremetal instance." + } + }, + "description": "Specifies the storage settings for the AzureBareMetal instance disks." + }, + "OSProfile": { + "properties": { + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the AzureBareMetal instance." + }, + "osType": { + "readOnly": true, + "type": "string", + "description": "This property allows you to specify the type of the OS." + }, + "version": { + "readOnly": true, + "type": "string", + "description": "Specifies version of operating system." + }, + "sshPublicKey": { + "type": "string", + "description": "Specifies the SSH public key used to access the operating system." + } + }, + "description": "Specifies the operating system settings for the AzureBareMetal instance." + }, + "NetworkProfile": { + "properties": { + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/definitions/IpAddress" + }, + "description": "Specifies the network interfaces for the AzureBareMetal instance." + }, + "circuitId": { + "readOnly": true, + "type": "string", + "description": "Specifies the circuit id for connecting to express route." + } + }, + "description": "Specifies the network settings for the AzureBareMetal instance disks." + }, + "IpAddress": { + "properties": { + "ipAddress": { + "type": "string", + "description": "Specifies the IP address of the network interface." + } + }, + "description": "Specifies the IP address of the network interface." + }, + "OperationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of AzureBareMetal operations" + } + }, + "description": "List of AzureBareMetal operations" + }, + "Operation": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service." + }, + "display": { + "$ref": "#/definitions/Display", + "description": "Displayed AzureBareMetal operation information" + }, + "isDataAction": { + "description": "indicates whether an operation is a data action or not.", + "type": "boolean" + } + }, + "description": "AzureBareMetal operation information" + }, + "Result": { + "description": "Sample result definition", + "properties": { + "sampleProperty": { + "type": "string", + "description": "Sample property of type string" + } + } + }, + "Display": { + "type": "object", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with \"Microsoft\" for 1st party services." + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views." + }, + "origin": { + "readOnly": true, + "type": "string", + "description": "The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'" + } + }, + "description": "Detailed BareMetal operation information" + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error definition.", + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Description of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + } + } + }, + "Tags": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags field of the AzureBareMetal instance." + } + }, + "description": "Tags field of the AzureBareMetal instance." + } + }, + "parameters": { + "AzureBareMetalInstanceNameParameter": { + "name": "azureBareMetalInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Azure BareMetal on Azure instance.", + "x-ms-parameter-location": "method" + }, + "TagsParameter": { + "name": "tagsParameter", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Tags" + }, + "description": "Request body that only contains the new Tags field", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json new file mode 100644 index 000000000000..f4506a990d9a --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myAzureBareMetalInstance" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json new file mode 100644 index 000000000000..0429abd084e6 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myAzureBareMetalInstance" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance", + "location": "westus2", + "name": "myAzureBareMetalInstance", + "tags": { + "key": "value" + }, + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "properties": { + "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json new file mode 100644 index 000000000000..9c82f4fd729f --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance1", + "name": "myABMInstance1", + "type": "Microsoft.BareMetalInfrastructure/azureBareMetalInstances", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName1", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance2", + "name": "myABMInstance2", + "type": "Microsoft.BareMetalInfrastructure/azureBareMetalInstances", + "location": "westus", + "tags": { + "key": "value" + }, + "properties": { + "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "HPE", + "azureBareMetalInstanceSize": "S384" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.101" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.201" + }, + "osProfile": { + "computerName": "myComputerName2", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L" + }, + "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance1", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json new file mode 100644 index 000000000000..412a064ac5ad --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance", + "location": "westus2", + "name": "myAzureBareMetalInstance1", + "tags": { + "key": "value" + }, + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "properties": { + "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance", + "location": "westus2", + "name": "myAzureBareMetalInstance2", + "tags": { + "key": "value" + }, + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "properties": { + "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a", + "powerState": "restarting", + "hwRevision": "Rev 4.2", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "123.123.123.123" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance" + }, + "storageProfile": { + "nfsIpAddress": "123.123.119.123" + }, + "osProfile": { + "computerName": "myComputerName2", + "osType": "SLES 12 SP2", + "version": "12 SP2" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json new file mode 100644 index 000000000000..5f0080e409f2 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2017-11-03-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance", + "tagsParameter": { + "tags": { + "testkey": "testvalue" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance", + "name": "myABMInstance", + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "location": "westus", + "tags": { + "testkey": "testvalue" + }, + "properties": { + "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L" + }, + "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance2", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json new file mode 100644 index 000000000000..badfe29783ac --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2017-11-03-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance", + "tagsParameter": { + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance", + "name": "myABMInstance", + "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances", + "location": "westus", + "tags": {}, + "properties": { + "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000", + "powerState": "started", + "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup", + "hwRevision": "Rev 3", + "hardwareProfile": { + "hardwareType": "Cisco_UCS", + "azureBareMetalInstanceSize": "S72" + }, + "networkProfile": { + "networkInterfaces": [ + { + "ipAddress": "100.100.100.100" + } + ], + "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit" + }, + "storageProfile": { + "nfsIpAddress": "200.200.200.200" + }, + "osProfile": { + "computerName": "myComputerName", + "osType": "SUSE", + "version": "12 SP1", + "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L" + }, + "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance2", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json new file mode 100644 index 000000000000..071580b9d6ea --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json new file mode 100644 index 000000000000..071580b9d6ea --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json new file mode 100644 index 000000000000..071580b9d6ea --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "azureBareMetalInstanceName": "myABMInstance" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json new file mode 100644 index 000000000000..1821117de8f1 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "AzureBareMetalOp1", + "display": { + "provider": "AzureBareMetalOp1ProviderName", + "resource": "AzureBareMetalOp1ResourceName", + "operation": "AzureBareMetalOp1OperationName", + "description": "AzureBareMetalOp1Description", + "origin": "AzureBareMetalOp1Origin" + }, + "isDataAction": false + }, + { + "name": "AzureBareMetalOp2", + "display": { + "provider": "AzureBareMetalOp2ProviderName", + "resource": "AzureBareMetalOp2ResourceName", + "operation": "AzureBareMetalOp2OperationName", + "description": "AzureBareMetalOp2Description", + "origin": "AzureBareMetalOp2Origin" + }, + "isDataAction": true + } + ] + } + } + } +} diff --git a/specification/baremetalinfrastructure/resource-manager/readme.csharp.md b/specification/baremetalinfrastructure/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..8399c777f44f --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.BareMetalInfrastructure + output-folder: $(csharp-sdks-folder)/baremetalinfrastructure/management/Microsoft.BareMetalInfrastructure/GeneratedProtocol +``` diff --git a/specification/baremetalinfrastructure/resource-manager/readme.go.md b/specification/baremetalinfrastructure/resource-manager/readme.go.md new file mode 100644 index 000000000000..1157b0905cb3 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.go.md @@ -0,0 +1,19 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true +``` + +### Tag: package-2020-08-06-preview and go + +These settings apply only when `--tag=package-2020-08-06-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-08-06-preview' && $(go) +namespace: baremetalinfrastructure +output-folder: $(go-sdks-folder)/baremetalinfrastructure/Generated +``` diff --git a/specification/baremetalinfrastructure/resource-manager/readme.md b/specification/baremetalinfrastructure/resource-manager/readme.md new file mode 100644 index 000000000000..2efae511812e --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.md @@ -0,0 +1,79 @@ +# BareMetalInfrastructure + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for BareMetalInfrastructure. + +## 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 BareMetalInfrastructure API. + +```yaml +openapi-type: arm +tag: package-2020-08-06-preview +``` + +### Tag: package-2020-08-06-preview + +These settings apply only when `--tag=package-2020-08-06-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-08-06-preview' +input-file: + - Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_baremetalinfrastructure'] +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/baremetalinfrastructure/resource-manager/readme.python.md b/specification/baremetalinfrastructure/resource-manager/readme.python.md new file mode 100644 index 000000000000..4f59e49672a9 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.python.md @@ -0,0 +1,21 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: Microsoft.BareMetalInfrastructure + package-name: baremetalinfrastructure + package-version: 2020-08-06-preview + clear-output-folder: true +``` + +```yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/baremetalinfrastructure +``` diff --git a/specification/baremetalinfrastructure/resource-manager/readme.ruby.md b/specification/baremetalinfrastructure/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..1c290102b63f --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_baremetalinfrastructure +package-version: 2020-08-06-preview +azure-arm: true +``` + +### Tag: package-2020-08-06-preview and ruby + +These settings apply only when `--tag=package-2020-08-06-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-08-06-preview' && $(ruby) +namespace: Microsoft.BareMetalInfrastructure +output-folder: $(ruby-sdks-folder)/baremetalinfrastructure +``` diff --git a/specification/baremetalinfrastructure/resource-manager/readme.typescript.md b/specification/baremetalinfrastructure/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..8fbf13c9da70 --- /dev/null +++ b/specification/baremetalinfrastructure/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "baremetalinfrastructure" + output-folder: "$(typescript-sdks-folder)/packages/baremetalinfrastructure" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json index 4cb90f36b1e5..166919d73a79 100644 --- a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json +++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json @@ -574,7 +574,7 @@ "Accounts" ], "operationId": "Account_ListPoolNodeCounts", - "description": "Gets the number of Compute Nodes in each state, grouped by Pool.", + "description": "Gets the number of Compute Nodes in each state, grouped by Pool. Note that the numbers returned may not always be up to date. If you need exact node counts, use a list query.", "x-ms-examples": { "NodeCountsPayload": { "$ref": "./examples/AccountListPoolNodeCounts.json" @@ -5875,7 +5875,7 @@ } }, "summary": "Gets the Task counts for the specified Job.", - "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running.", + "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running. Note that the numbers returned may not always be up to date. If you need exact task counts, use a list query.", "x-ms-request-id": "request-id", "parameters": [ { @@ -15822,7 +15822,8 @@ "destination", "uploadOptions" ], - "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process." + "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process.", + "description": "On every file uploads, Batch service writes two log files to the compute node, 'fileuploadout.txt' and 'fileuploaderr.txt'. These log files are used to learn more about a specific failure." }, "OutputFileDestination": { "properties": { diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json index 1dfb09e8472b..7aa629b9cb38 100644 --- a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json @@ -2382,7 +2382,7 @@ } } }, - "description": "The identity of the Batch account, if configured. This is only used when the user specifies 'Azure.KeyVault' as their Batch account encryption configuration.", + "description": "The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration.", "required": [ "type" ] diff --git a/specification/batch/resource-manager/readme.azureresourceschema.md b/specification/batch/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..1bfc3c15500f --- /dev/null +++ b/specification/batch/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,120 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-batch-2020-05-01 + - tag: schema-batch-2020-03-01 + - tag: schema-batch-2019-08-01 + - tag: schema-batch-2019-04-01 + - tag: schema-batch-2018-12-01 + - tag: schema-batch-2017-09-01 + - tag: schema-batch-2017-05-01 + - tag: schema-batch-2017-01-01 + - tag: schema-batch-2015-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-batch-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2020-05-01/BatchManagement.json + +``` + +### Tag: schema-batch-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2020-03-01/BatchManagement.json + +``` + +### Tag: schema-batch-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2019-08-01/BatchManagement.json + +``` + +### Tag: schema-batch-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2019-04-01/BatchManagement.json + +``` + +### Tag: schema-batch-2018-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2018-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2018-12-01/BatchManagement.json + +``` + +### Tag: schema-batch-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2017-09-01/BatchManagement.json + +``` + +### Tag: schema-batch-2017-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2017-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2017-05-01/BatchManagement.json + +``` + +### Tag: schema-batch-2017-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2017-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2017-01-01/BatchManagement.json + +``` + +### Tag: schema-batch-2015-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batch-2015-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Batch/stable/2015-12-01/BatchManagement.json + +``` diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md index 90df5aff354d..c3d1372be738 100644 --- a/specification/batch/resource-manager/readme.md +++ b/specification/batch/resource-manager/readme.md @@ -167,6 +167,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_batch'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js batch/resource-manager ``` ## C# @@ -267,6 +270,10 @@ generate-interface: true ` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/batchai/resource-manager/readme.azureresourceschema.md b/specification/batchai/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..da50d317d24b --- /dev/null +++ b/specification/batchai/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-batchai-2018-05-01 + - tag: schema-batchai-2018-03-01 + - tag: schema-batchai-2017-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-batchai-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batchai-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BatchAI/stable/2018-05-01/BatchAI.json + +``` + +### Tag: schema-batchai-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-batchai-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BatchAI/stable/2018-03-01/BatchAI.json + +``` + +### Tag: schema-batchai-2017-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-batchai-2017-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json + +``` diff --git a/specification/batchai/resource-manager/readme.md b/specification/batchai/resource-manager/readme.md index 64c9b649cdac..a33a47f14d3b 100644 --- a/specification/batchai/resource-manager/readme.md +++ b/specification/batchai/resource-manager/readme.md @@ -72,6 +72,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js batchai/resource-manager ``` @@ -183,6 +186,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json new file mode 100644 index 000000000000..94e961a7fdee --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json @@ -0,0 +1,394 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-03-01-preview", + "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/enrollmentAccounts": { + "get": { + "tags": [ + "EnrollmentAccounts" + ], + "x-ms-examples": { + "EnrollmentAccountsList": { + "$ref": "./examples/EnrollmentAccountsList.json" + } + }, + "operationId": "EnrollmentAccounts_List", + "description": "Lists the enrollment accounts the caller has access to.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnrollmentAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/enrollmentAccounts/{name}": { + "get": { + "tags": [ + "EnrollmentAccounts" + ], + "x-ms-examples": { + "EnrollmentAccountsGet": { + "$ref": "./examples/EnrollmentAccountsGet.json" + } + }, + "operationId": "EnrollmentAccounts_Get", + "description": "Gets a enrollment account by name.", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Enrollment Account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnrollmentAccountSummary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods": { + "get": { + "tags": [ + "BillingPeriods" + ], + "operationId": "BillingPeriods_List", + "description": "Lists the available billing periods for a subscription in reverse chronological order. This is only supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API.", + "externalDocs": { + "url": "https://go.microsoft.com/fwlink/?linkid=844490" + }, + "x-ms-examples": { + "BillingPeriodsList": { + "$ref": "./examples/BillingPeriodsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionGuidParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "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" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N billing periods.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 100 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingPeriodsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}": { + "get": { + "tags": [ + "BillingPeriods" + ], + "operationId": "BillingPeriods_Get", + "description": "Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API.", + "x-ms-examples": { + "BillingPeriodsGet": { + "$ref": "./examples/BillingPeriodsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionGuidParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "billingPeriodName", + "description": "The name of a BillingPeriod resource.", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingPeriod" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "EnrollmentAccountSummary": { + "description": "An enrollment account resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "An enrollment account.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnrollmentAccountSummaryProperties" + } + } + }, + "EnrollmentAccountListResult": { + "description": "Result of listing enrollment accounts.", + "properties": { + "value": { + "description": "The list of enrollment accounts.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EnrollmentAccountSummary" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "EnrollmentAccountSummaryProperties": { + "description": "The properties of the enrollment account.", + "properties": { + "principalName": { + "description": "The account owner's principal name.", + "type": "string", + "readOnly": true + } + } + }, + "BillingPeriod": { + "description": "A billing period resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A billing period.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingPeriodProperties" + } + } + }, + "BillingPeriodsListResult": { + "description": "Result of listing billing periods. It contains a list of available billing periods in reverse chronological order.", + "properties": { + "value": { + "description": "The list of billing periods.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingPeriod" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingPeriodProperties": { + "description": "The properties of the billing period.", + "properties": { + "billingPeriodStartDate": { + "description": "The start of the date range covered by the billing period.", + "type": "string", + "format": "date", + "readOnly": true + }, + "billingPeriodEndDate": { + "description": "The end of the date range covered by the billing period.", + "type": "string", + "format": "date", + "readOnly": true + }, + "invoiceIds": { + "description": "Array of invoice ids that associated with.", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "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." + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2018-03-01-preview." + }, + "subscriptionGuidParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "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/preview/2019-10-01-preview/billing.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json index 9ef0b0294a0d..680b35022642 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json @@ -503,6 +503,48 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/validateDetachPaymentMethodEligibility": { + "get": { + "tags": [ + "BillingProfiles" + ], + "x-ms-examples": { + "ValidateDetachPaymentMethodEligibilitySuccess": { + "$ref": "./examples/ValidateDetachPaymentMethodEligibilitySuccess.json" + }, + "ValidateDetachPaymentMethodEligibilityFailure": { + "$ref": "./examples/ValidateDetachPaymentMethodEligibilityFailure.json" + } + }, + "operationId": "BillingProfiles_GetEligibilityToDetachPaymentMethod", + "description": "Validates if the default payment method can be detached from the billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DetachPaymentMethodEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles": { "get": { "tags": [ @@ -3732,6 +3774,9 @@ "x-ms-examples": { "BillingAccountPermissionsList": { "$ref": "./examples/BillingAccountPermissionsList.json" + }, + "BillingAccountEaPermissionsList": { + "$ref": "./examples/BillingAccountEaPermissionsList.json" } }, "operationId": "BillingPermissions_ListByBillingAccount", @@ -3757,6 +3802,9 @@ "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -3841,6 +3889,90 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "DepartmentPermissionsList": { + "$ref": "./examples/DepartmentPermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByDepartment", + "description": "Lists the billing permissions the caller has on a department.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/departmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingPermissionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "EnrollmentAccountPermissionsList": { + "$ref": "./examples/EnrollmentAccountPermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByEnrollmentAccount", + "description": "Lists the billing permissions the caller has on an enrollment account.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingPermissionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}": { "get": { "tags": [ @@ -3849,6 +3981,9 @@ "x-ms-examples": { "BillingAccountRoleDefinition": { "$ref": "./examples/BillingAccountRoleDefinition.json" + }, + "BillingAccountEaRoleDefinition": { + "$ref": "./examples/BillingAccountEaRoleDefinition.json" } }, "operationId": "BillingRoleDefinitions_GetByBillingAccount", @@ -3967,31 +4102,37 @@ } } }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleDefinitions/{billingRoleDefinitionName}": { "get": { "tags": [ "BillingRoleDefinitions" ], "x-ms-examples": { - "BillingAccountRoleDefinitionsList": { - "$ref": "./examples/BillingAccountRoleDefinitionsList.json" + "DepartmentRoleDefinition": { + "$ref": "./examples/DepartmentRoleDefinition.json" } }, - "operationId": "BillingRoleDefinitions_ListByBillingAccount", - "description": "Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "operationId": "BillingRoleDefinitions_GetByDepartment", + "description": "Gets the definition for a role on a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" }, { "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/departmentNameParameter" + }, + { + "$ref": "#/parameters/billingRoleDefinitionNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingRoleDefinitionListResult" + "$ref": "#/definitions/BillingRoleDefinition" } }, "default": { @@ -4003,18 +4144,18 @@ } } }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}": { "get": { "tags": [ "BillingRoleDefinitions" ], "x-ms-examples": { - "InvoiceSectionRoleDefinitionsList": { - "$ref": "./examples/InvoiceSectionRoleDefinitionsList.json" + "EnrollmentAccountRoleDefinition": { + "$ref": "./examples/EnrollmentAccountRoleDefinition.json" } }, - "operationId": "BillingRoleDefinitions_ListByInvoiceSection", - "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.", + "operationId": "BillingRoleDefinitions_GetByEnrollmentAccount", + "description": "Gets the definition for a role on an enrollment account. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -4023,17 +4164,17 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingProfileNameParameter" + "$ref": "#/parameters/enrollmentAccountNameParameter" }, { - "$ref": "#/parameters/invoiceSectionNameParameter" + "$ref": "#/parameters/billingRoleDefinitionNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingRoleDefinitionListResult" + "$ref": "#/definitions/BillingRoleDefinition" } }, "default": { @@ -4045,27 +4186,27 @@ } } }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions": { "get": { "tags": [ "BillingRoleDefinitions" ], "x-ms-examples": { - "BillingProfileRoleDefinitionsList": { - "$ref": "./examples/BillingProfileRoleDefinitionsList.json" + "BillingAccountRoleDefinitionsList": { + "$ref": "./examples/BillingAccountRoleDefinitionsList.json" + }, + "BillingAccountEaRoleDefinitionsList": { + "$ref": "./examples/BillingAccountEaRoleDefinitionsList.json" } }, - "operationId": "BillingRoleDefinitions_ListByBillingProfile", - "description": "Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "operationId": "BillingRoleDefinitions_ListByBillingAccount", + "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.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" }, { "$ref": "#/parameters/billingAccountNameParameter" - }, - { - "$ref": "#/parameters/billingProfileNameParameter" } ], "responses": { @@ -4081,21 +4222,24 @@ "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": { "get": { "tags": [ - "BillingRoleAssignments" + "BillingRoleDefinitions" ], "x-ms-examples": { - "BillingAccountRoleAssignment": { - "$ref": "./examples/BillingAccountRoleAssignment.json" + "InvoiceSectionRoleDefinitionsList": { + "$ref": "./examples/InvoiceSectionRoleDefinitionsList.json" } }, - "operationId": "BillingRoleAssignments_GetByBillingAccount", - "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 or Microsoft Customer Agreement.", + "operationId": "BillingRoleDefinitions_ListByInvoiceSection", + "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.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -4104,14 +4248,17 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingRoleAssignmentNameParameter" + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingRoleAssignment" + "$ref": "#/definitions/BillingRoleDefinitionListResult" } }, "default": { @@ -4121,18 +4268,20 @@ } } } - }, - "delete": { + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": { + "get": { "tags": [ - "BillingRoleAssignments" + "BillingRoleDefinitions" ], "x-ms-examples": { - "BillingAccountRoleAssignmentDelete": { - "$ref": "./examples/BillingAccountRoleAssignmentDelete.json" + "BillingProfileRoleDefinitionsList": { + "$ref": "./examples/BillingProfileRoleDefinitionsList.json" } }, - "operationId": "BillingRoleAssignments_DeleteByBillingAccount", - "description": "Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "operationId": "BillingRoleDefinitions_ListByBillingProfile", + "description": "Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -4141,14 +4290,14 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingRoleAssignmentNameParameter" + "$ref": "#/parameters/billingProfileNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingRoleAssignment" + "$ref": "#/definitions/BillingRoleDefinitionListResult" } }, "default": { @@ -4160,18 +4309,18 @@ } } }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleDefinitions": { "get": { "tags": [ - "BillingRoleAssignments" + "BillingRoleDefinitions" ], "x-ms-examples": { - "InvoiceSectionRoleAssignment": { - "$ref": "./examples/InvoiceSectionRoleAssignment.json" + "DepartmentRoleDefinitionsList": { + "$ref": "./examples/DepartmentRoleDefinitionsList.json" } }, - "operationId": "BillingRoleAssignments_GetByInvoiceSection", - "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.", + "operationId": "BillingRoleDefinitions_ListByDepartment", + "description": "Lists the role definitions for a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -4180,20 +4329,14 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingProfileNameParameter" - }, - { - "$ref": "#/parameters/invoiceSectionNameParameter" - }, - { - "$ref": "#/parameters/billingRoleAssignmentNameParameter" + "$ref": "#/parameters/departmentNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingRoleAssignment" + "$ref": "#/definitions/BillingRoleDefinitionListResult" } }, "default": { @@ -4202,19 +4345,24 @@ "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleDefinitions": { + "get": { "tags": [ - "BillingRoleAssignments" + "BillingRoleDefinitions" ], "x-ms-examples": { - "InvoiceSectionRoleAssignmentDelete": { - "$ref": "./examples/InvoiceSectionRoleAssignmentDelete.json" + "EnrollmentAccountRoleDefinitionsList": { + "$ref": "./examples/EnrollmentAccountRoleDefinitionsList.json" } }, - "operationId": "BillingRoleAssignments_DeleteByInvoiceSection", - "description": "Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "operationId": "BillingRoleDefinitions_ListByEnrollmentAccount", + "description": "Lists the role definitions for a enrollmentAccount. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -4223,20 +4371,14 @@ "$ref": "#/parameters/billingAccountNameParameter" }, { - "$ref": "#/parameters/billingProfileNameParameter" - }, - { - "$ref": "#/parameters/invoiceSectionNameParameter" - }, - { - "$ref": "#/parameters/billingRoleAssignmentNameParameter" + "$ref": "#/parameters/enrollmentAccountNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingRoleAssignment" + "$ref": "#/definitions/BillingRoleDefinitionListResult" } }, "default": { @@ -4245,21 +4387,27 @@ "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { "get": { "tags": [ "BillingRoleAssignments" ], "x-ms-examples": { - "BillingProfileRoleAssignment": { - "$ref": "./examples/BillingProfileRoleAssignment.json" + "BillingAccountRoleAssignment": { + "$ref": "./examples/BillingAccountRoleAssignment.json" + }, + "BillingAccountEaRoleAssignment": { + "$ref": "./examples/BillingAccountEaRoleAssignment.json" } }, - "operationId": "BillingRoleAssignments_GetByBillingProfile", - "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.", + "operationId": "BillingRoleAssignments_GetByBillingAccount", + "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.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -4267,9 +4415,6 @@ { "$ref": "#/parameters/billingAccountNameParameter" }, - { - "$ref": "#/parameters/billingProfileNameParameter" - }, { "$ref": "#/parameters/billingRoleAssignmentNameParameter" } @@ -4294,12 +4439,228 @@ "BillingRoleAssignments" ], "x-ms-examples": { - "BillingProfileRoleAssignmentDelete": { - "$ref": "./examples/BillingProfileRoleAssignmentDelete.json" + "BillingAccountRoleAssignmentDelete": { + "$ref": "./examples/BillingAccountRoleAssignmentDelete.json" + }, + "BillingAccountEaRoleAssignmentDelete": { + "$ref": "./examples/BillingAccountEaRoleAssignmentDelete.json" } }, - "operationId": "BillingRoleAssignments_DeleteByBillingProfile", - "description": "Deletes 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.", + "operationId": "BillingRoleAssignments_DeleteByBillingAccount", + "description": "Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "BillingRoleAssignments" + ], + "operationId": "RoleAssignments_Put", + "description": "Create or update a billing role assignment.", + "x-ms-examples": { + "PutEnrollmentAdministratorRoleAssignment": { + "$ref": "./examples/PutAdministratorRoleAssignment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "description": "The new or updated billing role assignment." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "InvoiceSectionRoleAssignment": { + "$ref": "./examples/InvoiceSectionRoleAssignment.json" + } + }, + "operationId": "BillingRoleAssignments_GetByInvoiceSection", + "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.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "InvoiceSectionRoleAssignmentDelete": { + "$ref": "./examples/InvoiceSectionRoleAssignmentDelete.json" + } + }, + "operationId": "BillingRoleAssignments_DeleteByInvoiceSection", + "description": "Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingProfileRoleAssignment": { + "$ref": "./examples/BillingProfileRoleAssignment.json" + } + }, + "operationId": "BillingRoleAssignments_GetByBillingProfile", + "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.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingProfileRoleAssignmentDelete": { + "$ref": "./examples/BillingProfileRoleAssignmentDelete.json" + } + }, + "operationId": "BillingRoleAssignments_DeleteByBillingProfile", + "description": "Deletes 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.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -4330,6 +4691,268 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "DepartmentRoleAssignment": { + "$ref": "./examples/DepartmentRoleAssignment.json" + } + }, + "operationId": "BillingRoleAssignments_GetByDepartment", + "description": "Gets a role assignment for the caller on a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/departmentNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "DepartmentRoleAssignmentDelete": { + "$ref": "./examples/DepartmentRoleAssignmentDelete.json" + } + }, + "operationId": "BillingRoleAssignments_DeleteByDepartment", + "description": "Deletes a role assignment for the caller on a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/departmentNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "BillingRoleAssignments" + ], + "operationId": "EnrollmentDepartmentRoleAssignments_Put", + "description": "Create or update a billing role assignment.", + "x-ms-examples": { + "PutEnrollmentDepartmentAdministratorRoleAssignment": { + "$ref": "./examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/departmentNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "description": "The new or updated billing role assignment." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "EnrollmentAccountRoleAssignment": { + "$ref": "./examples/EnrollmentAccountRoleAssignment.json" + } + }, + "operationId": "BillingRoleAssignments_GetByEnrollmentAccount", + "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.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "EnrollmentAccountRoleAssignmentDelete": { + "$ref": "./examples/EnrollmentAccountRoleAssignmentDelete.json" + } + }, + "operationId": "BillingRoleAssignments_DeleteByEnrollmentAccount", + "description": "Deletes a role assignment for the caller on a enrollment Account. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "BillingRoleAssignments" + ], + "operationId": "EnrollmentAccountRoleAssignments_Put", + "description": "Create or update a billing role assignment.", + "x-ms-examples": { + "PutEnrollmentAccountSubscriptionCreatorRoleAssignment": { + "$ref": "./examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "description": "The new or updated billing role assignment." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments": { "get": { "tags": [ @@ -4338,10 +4961,13 @@ "x-ms-examples": { "BillingAccountRoleAssignmentList": { "$ref": "./examples/BillingAccountRoleAssignmentList.json" + }, + "BillingAccountEaRoleAssignmentList": { + "$ref": "./examples/BillingAccountEaRoleAssignmentList.json" } }, "operationId": "BillingRoleAssignments_ListByBillingAccount", - "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 or Microsoft Customer Agreement.", + "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.", "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -4363,6 +4989,9 @@ "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -4591,6 +5220,90 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "DepartmentRoleAssignmentList": { + "$ref": "./examples/DepartmentRoleAssignmentList.json" + } + }, + "operationId": "BillingRoleAssignments_ListByDepartment", + "description": "Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts of type Enterprise Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/departmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "EnrollmentAccountRoleAssignmentList": { + "$ref": "./examples/EnrollmentAccountRoleAssignmentList.json" + } + }, + "operationId": "BillingRoleAssignments_ListByEnrollmentAccount", + "description": "Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts of type Enterprise Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/enrollmentAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements": { "get": { "tags": [ @@ -5209,6 +5922,54 @@ } } }, + "DetachPaymentMethodEligibilityResult": { + "type": "object", + "description": "Result of the detach payment method eligibility validation.", + "properties": { + "isEligible": { + "description": "Specifies whether the payment method is eligible to be detached from the billing profile.", + "type": "boolean", + "readOnly": true + }, + "errorDetails": { + "description": "The list of detach payment method eligibility errors.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/DetachPaymentMethodErrorDetails" + } + } + } + }, + "DetachPaymentMethodErrorDetails": { + "type": "object", + "description": "Error details of the detach payment method eligibility validation.", + "properties": { + "code": { + "description": "Error code for the detach payment method eligibility validation.", + "$ref": "#/definitions/DetachPaymentMethodEligibilityErrorCode" + }, + "message": { + "description": "Error message for the detach payment method eligibility validation.", + "type": "string" + } + } + }, + "DetachPaymentMethodEligibilityErrorCode": { + "type": "string", + "description": "Error code of the detach payment method eligibility validation response.", + "enum": [ + "AzureSubscriptions", + "RecurringCharges", + "ReservedInstances", + "OutstandingCharges", + "PendingCharges" + ], + "x-ms-enum": { + "name": "detachPaymentMethodEligibilityErrorCode", + "modelAsString": true + } + }, "ValidateSubscriptionTransferEligibilityResult": { "type": "object", "description": "Result of the transfer eligibility validation.", @@ -5876,6 +6637,21 @@ "description": "Billing address.", "$ref": "#/definitions/AddressDetails" }, + "billingRelationshipType": { + "description": "Identifies which services and purchases are paid by a billing profile.", + "type": "string", + "enum": [ + "Direct", + "IndirectCustomer", + "IndirectPartner", + "CSPPartner" + ], + "readOnly": true, + "x-ms-enum": { + "name": "BillingRelationshipType", + "modelAsString": true + } + }, "invoiceEmailOptIn": { "description": "Flag controlling whether the invoices for the billing profile are sent through email.", "type": "boolean" @@ -5897,6 +6673,11 @@ "$ref": "#/definitions/AzurePlan" } }, + "indirectRelationshipInfo": { + "description": "Identifies the billing profile that is linked to another billing profile in indirect purchase motion.", + "readOnly": true, + "$ref": "#/definitions/IndirectRelationshipInfo" + }, "invoiceSections": { "description": "The invoice sections associated to the billing profile.", "type": "array", @@ -5943,6 +6724,14 @@ "name": "SpendingLimit", "modelAsString": true } + }, + "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", + "readOnly": true, + "items": { + "$ref": "#/definitions/TargetCloud" + } } } }, @@ -5991,6 +6780,23 @@ } } }, + "IndirectRelationshipInfo": { + "description": "The billing profile details of the partner of the customer for an indirect motion.", + "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" + } + } + }, "InvoiceSectionCreationRequest": { "description": "The properties of the invoice section.", "properties": { @@ -6040,6 +6846,24 @@ "displayName": { "description": "The name of the invoice section.", "type": "string" + }, + "state": { + "description": "Identifies the state of an invoice section.", + "type": "string", + "enum": [ + "Active", + "Restricted" + ], + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceSectionState", + "modelAsString": 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.", + "$ref": "#/definitions/TargetCloud", + "readOnly": true } } }, @@ -6875,6 +7699,19 @@ } } }, + "TargetCloud": { + "type": "string", + "description": "Possible cloud environments.", + "enum": [ + "USGov", + "USNat", + "USSec" + ], + "x-ms-enum": { + "name": "targetCloud", + "modelAsString": true + } + }, "TransactionListResult": { "description": "The list of transactions.", "properties": { @@ -7388,6 +8225,11 @@ "items": { "$ref": "#/definitions/BillingRoleAssignment" } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true } } }, @@ -7425,6 +8267,11 @@ "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 + }, "name": { "description": "The name of the role assignment.", "type": "string", @@ -7432,18 +8279,28 @@ }, "principalId": { "description": "The principal id of the user to whom the role was assigned.", - "type": "string", - "readOnly": true + "type": "string" + }, + "principalTenantId": { + "description": "The principal tenant id of the user to whom the role was assigned.", + "type": "string" }, - "roleDefinitionName": { + "roleDefinitionId": { "description": "The ID of the role definition.", - "type": "string", - "readOnly": true + "type": "string" }, "scope": { "description": "The scope at which the role was assigned.", "type": "string", "readOnly": true + }, + "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" + }, + "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" } } }, @@ -7457,6 +8314,11 @@ "items": { "$ref": "#/definitions/BillingRoleDefinition" } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true } } }, @@ -7508,6 +8370,11 @@ "items": { "$ref": "#/definitions/BillingPermissionsProperties" } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true } } }, diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaPermissionsList.json new file mode 100644 index 000000000000..a4f00c0f0c5c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaPermissionsList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Billing/billingAccounts/write", + "Microsoft.Billing/billingAccounts/action", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/read", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/write", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/action", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/read", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/write", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/action", + "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", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/action" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignment.json new file mode 100644 index 000000000000..9e492b704ba5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignment.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "billingRoleAssignmentName": "{billingRoleAssignmentId}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleAssignments/b20266a0-3966-4283-bbb6-fb8ad761f08b", + "name": "b20266a0-3966-4283-bbb6-fb8ad761f08b", + "properties": { + "createdOn": "2018-11-28T07:00:08.87-08:00", + "createdByUserEmailAddress": "foo@microsoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/8608480", + "userAuthenticationType": "Organization", + "userEmailAddress": "bar@testea.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentDelete.json new file mode 100644 index 000000000000..65dce810230b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentDelete.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "billingRoleAssignmentName": "b20266a0-3966-4283-bbb6-fb8ad761f08b" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleAssignments/b20266a0-3966-4283-bbb6-fb8ad761f08b", + "name": "b20266a0-3966-4283-bbb6-fb8ad761f08b", + "properties": { + "createdOn": "2018-11-28T07:00:08.87-08:00", + "createdByUserEmailAddress": "foo@microsoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/8608480", + "userAuthenticationType": "Organization", + "userEmailAddress": "bar@testea.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentList.json new file mode 100644 index 000000000000..1fdd6ae34f43 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleAssignments/b20266a0-3966-4283-bbb6-fb8ad761f08b", + "name": "b20266a0-3966-4283-bbb6-fb8ad761f08b", + "properties": { + "createdOn": "2018-11-28T07:00:08.87-08:00", + "createdByUserEmailAddress": "foo@microsoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/8608480", + "userAuthenticationType": "Organization", + "userEmailAddress": "bar@testea.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleAssignments/c20266a0-3966-4283-bbb6-fb8ad761f08b", + "name": "c20266a0-3966-4283-bbb6-fb8ad761f08b", + "properties": { + "createdOn": "2018-11-28T07:00:08.87-08:00", + "createdByUserEmailAddress": "foo@microsoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/8608480", + "userAuthenticationType": "Organization", + "userEmailAddress": "baz@testea.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinition.json new file mode 100644 index 000000000000..8fab788889c8 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinition.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "billingRoleDefinitionName": "{billingRoleDefinitionName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/{billingRoleDefinitionName}", + "name": "{billingRoleDefinitionName}", + "properties": { + "description": "The enrollment administrator role gives the user all permissions including access management rights to an Enrollment and its departments and accounts.", + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Billing/billingAccounts/write", + "Microsoft.Billing/billingAccounts/action", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/read", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/write", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/action", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/read", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/write", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/action", + "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", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/action" + ] + } + ], + "roleName": "Enrollment administrator" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinitionsList.json new file mode 100644 index 000000000000..42f8fff48958 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinitionsList.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "name": "9f1983cb-2574-400c-87e9-34cf8e2280db", + "properties": { + "description": "The enrollment administrator role gives the user all permissions including access management rights to an Enrollment and its departments and accounts.", + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Billing/billingAccounts/write", + "Microsoft.Billing/billingAccounts/action", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/read", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/write", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/action", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/read", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/write", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/action", + "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", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/action" + ] + } + ], + "roleName": "Enrollment administrator" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e", + "name": "24f8edb6-1668-4659-b5e2-40bb5f3a7d7e", + "properties": { + "description": "The enrollment reader role gives the user read-only permissions to an Enrollment and its departments and accounts.", + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentPolicies/read", + "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/read", + "Microsoft.Billing/billingAccounts/departments/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read" + ] + } + ], + "roleName": "Enrollment reader" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json index af15064c2b47..84fda10e5eb1 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json @@ -47,6 +47,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "Direct", "currency": "USD", "enabledAzurePlans": [ { @@ -70,7 +71,8 @@ "name": "invoiceSectionId1", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName1" + "displayName": "invoiceSectionName1", + "state": "Active" } } ] @@ -94,6 +96,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "IndirectCustomer", "currency": "USD", "enabledAzurePlans": [ { @@ -105,6 +108,11 @@ "skuDescription": "Microsoft Azure Standard" } ], + "indirectRelationshipInfo": { + "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "33000000-0000-0000-0000-000000000001", + "displayName": "Partner1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", @@ -116,7 +124,8 @@ "name": "invoiceSectionId2", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName2" + "displayName": "invoiceSectionName2", + "state": "Active" } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json index c7dde32c8a76..b66a27ab61f7 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json @@ -48,6 +48,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "Direct", "currency": "USD", "enabledAzurePlans": [ { @@ -71,7 +72,8 @@ "name": "invoiceSectionId1", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName1" + "displayName": "invoiceSectionName1", + "state": "Active" } }, { @@ -79,7 +81,8 @@ "name": "invoiceSectionId2", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName2" + "displayName": "invoiceSectionName2", + "state": "Active" } } ] @@ -103,6 +106,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "CSPPartner", "currency": "USD", "enabledAzurePlans": [ { @@ -125,7 +129,8 @@ "name": "invoiceSectionId11", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName11" + "displayName": "invoiceSectionName11", + "state": "Active" } } ] @@ -164,6 +169,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "IndirectPartner", "currency": "USD", "enabledAzurePlans": [ { @@ -175,19 +181,30 @@ "skuDescription": "Microsoft Azure Standard" } ], + "indirectRelationshipInfo": { + "billingAccountName": "20000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "22000000-0000-0000-0000-000000000001", + "displayName": "Customer1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", "status": "Warned", "statusReasonCode": "PastDue", "spendingLimit": "On", + "targetClouds": [ + "USNat", + "USSec" + ], "invoiceSections": [ { "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000004/invoiceSections/invoiceSectionId3", "name": "invoiceSectionId3", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName3" + "displayName": "invoiceSectionName3", + "state": "Restricted", + "targetCloud": "USNat" } }, { @@ -195,7 +212,9 @@ "name": "invoiceSectionId4", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName4" + "displayName": "invoiceSectionName4", + "state": "Restricted", + "targetCloud": "USSec" } } ] @@ -219,6 +238,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "IndirectCustomer", "currency": "USD", "enabledAzurePlans": [ { @@ -230,19 +250,28 @@ "skuDescription": "Microsoft Azure Standard" } ], + "indirectRelationshipInfo": { + "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "33000000-0000-0000-0000-000000000001", + "displayName": "Partner1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", "status": "Warned", "statusReasonCode": "PastDue", "spendingLimit": "On", + "targetClouds": [ + "USSec" + ], "invoiceSections": [ { "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000005/invoiceSections/invoiceSectionId5", "name": "invoiceSectionId5", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName5" + "displayName": "invoiceSectionName5", + "state": "Active" } }, { @@ -250,7 +279,9 @@ "name": "invoiceSectionId6", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName6" + "displayName": "invoiceSectionName6", + "state": "Restricted", + "targetCloud": "USSec" } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json index 794438bcb108..8b42c518e7bc 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json @@ -24,6 +24,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "Direct", "currency": "USD", "enabledAzurePlans": [ { diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json index 85ac12f6cd22..874d4edd2ac3 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json @@ -24,6 +24,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "Direct", "currency": "USD", "enabledAzurePlans": [ { @@ -47,7 +48,8 @@ "name": "invoiceSectionId1", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName1" + "displayName": "invoiceSectionName1", + "state": "Active" } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json index f918258a3c84..8b4b9e799cd3 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json @@ -25,6 +25,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "Direct", "currency": "USD", "enabledAzurePlans": [ { @@ -62,6 +63,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "IndirectCustomer", "currency": "USD", "enabledAzurePlans": [ { @@ -73,11 +75,17 @@ "skuDescription": "Microsoft Azure Standard" } ], + "indirectRelationshipInfo": { + "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "33000000-0000-0000-0000-000000000001", + "displayName": "Partner1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", "status": "Active", - "spendingLimit": "Off" + "spendingLimit": "Off", + "targetClouds": [] } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json index 28e98ba64c59..ceda7db974ec 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json @@ -25,6 +25,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "Direct", "currency": "USD", "enabledAzurePlans": [ { @@ -42,13 +43,15 @@ "status": "Warned", "statusReasonCode": "PastDue", "spendingLimit": "On", + "targetClouds": [], "invoiceSections": [ { "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/invoiceSectionId1", "name": "invoiceSectionId1", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName1" + "displayName": "invoiceSectionName1", + "state": "Active" } } ] @@ -72,6 +75,7 @@ "region": "WA", "country": "US" }, + "billingRelationshipType": "IndirectCustomer", "currency": "USD", "enabledAzurePlans": [ { @@ -83,19 +87,26 @@ "skuDescription": "Microsoft Azure Standard" } ], + "indirectRelationshipInfo": { + "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "33000000-0000-0000-0000-000000000001", + "displayName": "Partner1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", "status": "Warned", "statusReasonCode": "PastDue", "spendingLimit": "On", + "targetClouds": [], "invoiceSections": [ { "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000001/invoiceSections/invoiceSectionId2", "name": "invoiceSectionId2", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSectionName2" + "displayName": "invoiceSectionName2", + "state": "Active" } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentPermissionsList.json new file mode 100644 index 000000000000..f04ddbe9e449 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentPermissionsList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "departmentName": "{departmentName}" + }, + "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/preview/2019-10-01-preview/examples/DepartmentRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignment.json new file mode 100644 index 000000000000..700a91dfd1a7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignment.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "departmentName": "{departmentName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/bc818868-7ade-4dbe-9a02-d2bef6fddb2f", + "name": "bc818868-7ade-4dbe-9a02-d2bef6fddb2f", + "properties": { + "createdOn": "2019-06-28T19:19:45.5380644+00:00", + "createdByUserEmailAddress": "e_admin@billtest900006.onmicrosoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603", + "userAuthenticationType": "Organization", + "userEmailAddress": "d_admin@billtest900006.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentDelete.json new file mode 100644 index 000000000000..700a91dfd1a7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "departmentName": "{departmentName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/bc818868-7ade-4dbe-9a02-d2bef6fddb2f", + "name": "bc818868-7ade-4dbe-9a02-d2bef6fddb2f", + "properties": { + "createdOn": "2019-06-28T19:19:45.5380644+00:00", + "createdByUserEmailAddress": "e_admin@billtest900006.onmicrosoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603", + "userAuthenticationType": "Organization", + "userEmailAddress": "d_admin@billtest900006.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentList.json new file mode 100644 index 000000000000..88b8ca3cd9bf --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "departmentName": "{departmentName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/bc818868-7ade-4dbe-9a02-d2bef6fddb2f", + "name": "bc818868-7ade-4dbe-9a02-d2bef6fddb2f", + "properties": { + "createdOn": "2019-06-28T19:19:45.5380644+00:00", + "createdByUserEmailAddress": "e_admin@billtest900006.onmicrosoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603", + "userAuthenticationType": "Organization", + "userEmailAddress": "d_admin@billtest900006.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/af1239f3-15d9-4faf-800a-673882134d9f", + "name": "af1239f3-15d9-4faf-800a-673882134d9f", + "properties": { + "createdOn": "2019-06-28T19:20:04.1301372+00:00", + "createdByUserEmailAddress": "e_admin@billtest900006.onmicrosoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603", + "userAuthenticationType": "Organization", + "userEmailAddress": "d_reader@billtest900006.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinition.json new file mode 100644 index 000000000000..e6fa37a3cc86 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinition.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "departmentName": "{departmentName}", + "billingRoleDefinitionName": "{billingRoleDefinitionName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840", + "name": "fb2cf67f-be5b-42e7-8025-4683c668f840", + "properties": { + "description": "The department administrator role gives the user read/write permissions including access management rights to an Enrollment Department and its accounts.", + "permissions": [ + { + "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" + ] + } + ], + "roleName": "Department administrator" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinitionsList.json new file mode 100644 index 000000000000..66508e6e2c86 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinitionsList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "departmentName": "{departmentName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840", + "name": "fb2cf67f-be5b-42e7-8025-4683c668f840", + "properties": { + "description": "The department administrator role gives the user read/write permissions including access management rights to an Enrollment Department and its accounts.", + "permissions": [ + { + "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" + ] + } + ], + "roleName": "Department administrator" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a", + "name": "db609904-a47f-4794-9be8-9bd86fbffd8a", + "properties": { + "description": "The department reader role gives the user read-only permissions to an Enrollment Department and its accounts.", + "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/preview/2019-10-01-preview/examples/EnrollmentAccountPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountPermissionsList.json new file mode 100644 index 000000000000..19a9f23a6435 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountPermissionsList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "enrollmentAccountName": "{enrollmentAccountName}" + }, + "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/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignment.json new file mode 100644 index 000000000000..a29fac860edc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignment.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "enrollmentAccountName": "{enrollmentAccountName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "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": "2019-06-28T19:11:50.6168809+00:00", + "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/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentDelete.json new file mode 100644 index 000000000000..a29fac860edc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "enrollmentAccountName": "{enrollmentAccountName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}" + }, + "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": "2019-06-28T19:11:50.6168809+00:00", + "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/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentList.json new file mode 100644 index 000000000000..b0f01792a6be --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "enrollmentAccountName": "{enrollmentAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2019-06-28T19:11:50.6168809+00:00", + "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" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleAssignments/56fba638-e6d7-4b66-a051-1ba543b15360", + "name": "56fba638-e6d7-4b66-a051-1ba543b15360", + "properties": { + "createdOn": "2020-05-31T22:51:21.3629303+00:00", + "createdByUserEmailAddress": "test@billtest900006.onmicrosoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinition.json new file mode 100644 index 000000000000..e9637255739e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinition.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "enrollmentAccountName": "{enrollmentAccountName}", + "billingRoleDefinitionName": "{billingRoleDefinitionName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b", + "name": "c15c22c0-9faf-424c-9b7e-bd91c06a240b", + "properties": { + "description": "The account owner role gives the user read/write permissions to an Enrollment Account.", + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write" + ] + } + ], + "roleName": "Enrollment account owner" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinitionsList.json new file mode 100644 index 000000000000..904a81a37915 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinitionsList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "enrollmentAccountName": "{enrollmentAccountName}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b", + "name": "c15c22c0-9faf-424c-9b7e-bd91c06a240b", + "properties": { + "description": "The account owner role gives the user read/write permissions to an Enrollment Account.", + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write" + ] + } + ], + "roleName": "Enrollment account owner" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71", + "name": "a0bcee42-bf30-4d1b-926a-48d21664ef71", + "properties": { + "description": "The enrollent account subscription creator role gives the user permissions to create a subscription under the enrollment account.", + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Subscription/subscriptions/write" + ] + } + ], + "roleName": "Enrollment account subscription creator" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleDefinitions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSection.json index 90367f326204..8bc11359de83 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSection.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSection.json @@ -12,7 +12,8 @@ "name": "{invoiceSectionName}", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSection1" + "displayName": "invoiceSection1", + "state": "Active" } } } diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListByBillingProfile.json index d4da6f96e6f8..63feeba01111 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListByBillingProfile.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListByBillingProfile.json @@ -13,7 +13,8 @@ "name": "22000000-0000-0000-0000-000000000000", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSection1" + "displayName": "invoiceSection1", + "state": "Active" } }, { @@ -21,7 +22,9 @@ "name": "22000000-0000-0000-0000-000000000011", "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections", "properties": { - "displayName": "invoiceSection2" + "displayName": "invoiceSection2", + "state": "Restricted", + "targetCloud": "USSec" } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json new file mode 100644 index 000000000000..927ad134c30c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}", + "parameters": { + "properties": { + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2019-06-28T19:11:50.6168809+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "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/preview/2019-10-01-preview/examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.json new file mode 100644 index 000000000000..e5d3b2ed0dae --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "enrollmentAccountName": "{enrollmentAccountName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}", + "parameters": { + "properties": { + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71" + } + } + }, + "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": "2019-06-28T19:11:50.6168809+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json new file mode 100644 index 000000000000..ad30ee9ed1f0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "departmentName": "{departmentName}", + "billingRoleAssignmentName": "{billingRoleAssignmentName}", + "parameters": { + "properties": { + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2019-06-28T19:11:50.6168809+00:00", + "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "99a1a759-30dd-42c2-828c-db398826bb67", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilityFailure.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilityFailure.json new file mode 100644 index 000000000000..86939989e18c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilityFailure.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "isEligible": false, + "errorDetails": [ + { + "code": "AzureSubscriptions", + "message": "Payment method cannot be detached as there are active or disabled azure subscriptions on this billing profile." + }, + { + "code": "RecurringCharges", + "message": "Payment method cannot be detached as there are recurring charges on this billing profile." + }, + { + "code": "ReservedInstances", + "message": "Payment method cannot be detached as there are reserved instances on this billing profile." + }, + { + "code": "OutstandingCharges", + "message": "Payment method cannot be detached as there are unpaid outstanding charges on this billing profile." + }, + { + "code": "PendingCharges", + "message": "Payment method cannot be detached as there are pending charges accumulating on this billing profile." + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilitySuccess.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilitySuccess.json new file mode 100644 index 000000000000..f7a1716c1685 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilitySuccess.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "200": { + "body": { + "isEligible": true + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json index 873581679036..fecbec2a08c9 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json @@ -1064,6 +1064,9 @@ "x-ms-examples": { "BillingAccountInvoicesList": { "$ref": "./examples/BillingAccountInvoicesList.json" + }, + "BillingAccountInvoicesListWithRebillDetails": { + "$ref": "./examples/BillingAccountInvoicesListWithRebillDetails.json" } }, "operationId": "Invoices_ListByBillingAccount", @@ -1120,6 +1123,9 @@ "x-ms-examples": { "InvoicesListByBillingProfile": { "$ref": "./examples/InvoicesListByBillingProfile.json" + }, + "InvoicesListByBillingProfileWithRebillDetails": { + "$ref": "./examples/InvoicesListByBillingProfileWithRebillDetails.json" } }, "operationId": "Invoices_ListByBillingProfile", @@ -1179,6 +1185,15 @@ "x-ms-examples": { "Invoice": { "$ref": "./examples/Invoice.json" + }, + "InvoiceWithRebillDetails": { + "$ref": "./examples/InvoiceWithRebillDetails.json" + }, + "VoidInvoice": { + "$ref": "./examples/VoidInvoice.json" + }, + "CreditNote": { + "$ref": "./examples/CreditNote.json" } }, "operationId": "Invoices_Get", @@ -4164,10 +4179,30 @@ "description": "The purchase order name that will appear on the invoices generated for the billing profile.", "type": "string" }, + "billingRelationshipType": { + "description": "Identifies which services and purchases are paid by a billing profile.", + "type": "string", + "enum": [ + "Direct", + "IndirectCustomer", + "IndirectPartner", + "CSPPartner" + ], + "readOnly": true, + "x-ms-enum": { + "name": "BillingRelationshipType", + "modelAsString": true + } + }, "billTo": { "description": "Billing address.", "$ref": "#/definitions/AddressDetails" }, + "indirectRelationshipInfo": { + "description": "Identifies the billing profile that is linked to another billing profile in indirect purchase motion.", + "readOnly": true, + "$ref": "#/definitions/IndirectRelationshipInfo" + }, "invoiceEmailOptIn": { "description": "Flag controlling whether the invoices for the billing profile are sent through email.", "type": "boolean" @@ -4243,6 +4278,14 @@ "name": "SpendingLimit", "modelAsString": true } + }, + "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", + "readOnly": true, + "items": { + "$ref": "#/definitions/TargetCloud" + } } } }, @@ -4324,6 +4367,23 @@ } } }, + "IndirectRelationshipInfo": { + "description": "The billing profile details of the partner of the customer for an indirect motion.", + "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" + } + } + }, "InvoiceSectionCreationRequest": { "description": "The properties of the invoice section.", "properties": { @@ -4382,10 +4442,28 @@ }, "maxItems": 1000 }, + "state": { + "description": "Identifies the state of an invoice section.", + "type": "string", + "enum": [ + "Active", + "Restricted" + ], + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceSectionState", + "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.", + "$ref": "#/definitions/TargetCloud", + "readOnly": true } } }, @@ -4641,7 +4719,8 @@ "enum": [ "Due", "OverDue", - "Paid" + "Paid", + "Void" ], "readOnly": true, "x-ms-enum": { @@ -4751,6 +4830,38 @@ "$ref": "#/definitions/PaymentProperties" } }, + "rebillDetails": { + "description": "Rebill details for an invoice.", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/RebillDetails" + } + }, + "documentType": { + "description": "The type of the document.", + "type": "string", + "enum": [ + "Invoice", + "CreditNote" + ], + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceDocumentType", + "modelAsString": true + } + }, + "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 + }, + "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 + }, "subscriptionId": { "description": "The ID of the subscription for which the invoice is generated.", "type": "string", @@ -4798,6 +4909,30 @@ } } }, + "RebillDetails": { + "description": "The rebill details of an invoice.", + "properties": { + "creditNoteDocumentId": { + "description": "The ID of credit note.", + "type": "string", + "readOnly": true + }, + "invoiceDocumentId": { + "description": "The ID of invoice.", + "type": "string", + "readOnly": true + }, + "rebillDetails": { + "description": "Rebill details for an invoice.", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/RebillDetails" + } + } + } + }, "Document": { "description": "The properties of a document.", "properties": { @@ -5214,6 +5349,19 @@ } } }, + "TargetCloud": { + "type": "string", + "description": "Possible cloud environments.", + "enum": [ + "USGov", + "USNat", + "USSec" + ], + "x-ms-enum": { + "name": "targetCloud", + "modelAsString": true + } + }, "TransactionListResult": { "description": "The list of transactions.", "properties": { @@ -5689,18 +5837,15 @@ }, "principalId": { "description": "The principal id of the user to whom the role was assigned.", - "type": "string", - "readOnly": true + "type": "string" }, "principalTenantId": { "description": "The principal tenant id of the user to whom the role was assigned.", - "type": "string", - "readOnly": true + "type": "string" }, "roleDefinitionId": { "description": "The ID of the role definition.", - "type": "string", - "readOnly": true + "type": "string" }, "scope": { "description": "The scope at which the role was assigned.", @@ -5709,13 +5854,11 @@ }, "userAuthenticationType": { "description": "The authentication type.", - "type": "string", - "readOnly": true + "type": "string" }, "userEmailAddress": { "description": "The email address of the user.", - "type": "string", - "readOnly": true + "type": "string" } } }, diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json index 843c4e2bc85a..d95c28a8d7a4 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json @@ -55,6 +55,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "Invoice", @@ -122,6 +123,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "TaxReceipt", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json new file mode 100644 index 000000000000..6a6f68ce064d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "periodStartDate": "2018-01-01", + "periodEndDate": "2018-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000003", + "name": "I000003", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "creditAmount": { + "currency": "USD", + "value": 1.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 1.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ], + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002", + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001", + "rebillDetails": null + } + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/1383724", + "name": "1383724", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-03-01T17:32:28Z", + "invoiceDate": "2018-02-01T17:32:28Z", + "status": "PastDue", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-02-01T17:32:28Z", + "invoicePeriodEndDate": "2018-02-28T17:32:28Z", + "isMonthlyInvoice": true, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxreceipt.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json index fc45287d5e7a..bfc17275c61b 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json @@ -38,6 +38,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "BillingProfile1", + "billingRelationshipType": "Direct", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -84,6 +85,7 @@ "pcCode": "A123456", "costCategory": "Support" }, + "state": "Active", "systemId": "9XXX-11XX-XX1-XXXX-XXX" } } @@ -97,6 +99,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "BillingProfile2", + "billingRelationshipType": "IndirectCustomer", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -122,6 +125,11 @@ "skuDescription": "Microsoft Azure Plan for DevTest" } ], + "indirectRelationshipInfo": { + "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "33000000-0000-0000-0000-000000000001", + "displayName": "Partner1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", @@ -142,6 +150,7 @@ "pcCode": "Z223456", "costCategory": "Marketing" }, + "state": "Active", "systemId": "9XXX-22XX-XX1-XXXX-XXX" } } diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json index 840377864089..d16532b2d9e6 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json @@ -39,6 +39,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "BillingProfile1", + "billingRelationshipType": "Direct", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -85,6 +86,7 @@ "pcCode": "A123456", "costCategory": "Support" }, + "state": "Active", "systemId": "9XXX-11XX-XX1-XXXX-XXX" } }, @@ -98,6 +100,7 @@ "pcCode": "B223456", "costCategory": "Finance" }, + "state": "Active", "systemId": "9XXX-22XX-XX1-XXXX-XXX" } } @@ -111,6 +114,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "BillingProfile2", + "billingRelationshipType": "CSPPartner", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -156,6 +160,7 @@ "pcCode": "Z223456", "costCategory": "Marketing" }, + "state": "Active", "systemId": "9XXX-33XX-XX1-XXXX-XXX" } } @@ -201,6 +206,7 @@ "email": "abc@contoso.com", "phoneNumber": "000-000-0000" }, + "billingRelationshipType": "IndirectPartner", "currency": "USD", "enabledAzurePlans": [ { @@ -212,6 +218,11 @@ "skuDescription": "Microsoft Azure Plan for DevTest" } ], + "indirectRelationshipInfo": { + "billingAccountName": "20000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "22000000-0000-0000-0000-000000000001", + "displayName": "Customer1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", @@ -220,6 +231,10 @@ "status": "Warned", "statusReasonCode": "PastDue", "spendingLimit": "On", + "targetClouds": [ + "USNat", + "USSec" + ], "invoiceSections": { "hasMoreResults": true, "value": [ @@ -233,7 +248,9 @@ "pcCode": "C123456", "costCategory": "Support" }, - "systemId": "9XXX-44XX-XX1-XXXX-XXX" + "state": "Restricted", + "systemId": "9XXX-44XX-XX1-XXXX-XXX", + "targetCloud": "USNat" } }, { @@ -246,7 +263,9 @@ "pcCode": "D123456", "costCategory": "Marketing" }, - "systemId": "9XXX-55XX-XX1-XXXX-XXX" + "state": "Restricted", + "systemId": "9XXX-55XX-XX1-XXXX-XXX", + "targetCloud": "USSec" } } ] @@ -273,6 +292,7 @@ "email": "abc@contoso.com", "phoneNumber": "000-000-0000" }, + "billingRelationshipType": "IndirectCustomer", "currency": "USD", "enabledAzurePlans": [ { @@ -284,6 +304,11 @@ "skuDescription": "Microsoft Azure Plan for DevTest" } ], + "indirectRelationshipInfo": { + "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "33000000-0000-0000-0000-000000000001", + "displayName": "Partner1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", @@ -292,6 +317,9 @@ "status": "Warned", "statusReasonCode": "PastDue", "spendingLimit": "On", + "targetClouds": [ + "USSec" + ], "invoiceSections": { "hasMoreResults": true, "value": [ @@ -305,6 +333,7 @@ "pcCode": "E123456", "costCategory": "Finance" }, + "state": "Active", "systemId": "9XXX-66XX-XX1-XXXX-XXX" } }, @@ -318,7 +347,9 @@ "pcCode": "O123456", "costCategory": "Support" }, - "systemId": "9XXX-77XX-XX1-XXXX-XXX" + "state": "Restricted", + "systemId": "9XXX-77XX-XX1-XXXX-XXX", + "targetCloud": "USSec" } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json index a8dcf52150fa..fee326aec912 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json @@ -12,6 +12,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "Billing Profile1", + "billingRelationshipType": "Direct", "billTo": { "companyName": "Contoso", "firstName": "Test", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json index ef48d861b956..4ac97a6afd66 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json @@ -13,6 +13,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "Billing Profile1", + "billingRelationshipType": "Direct", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -59,6 +60,7 @@ "pcCode": "A123456", "costCategory": "Support" }, + "state": "Active", "systemId": "9XXX-11XX-XX1-XXXX-XXX" } } diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json index d3d8175d403d..8172fc6e2158 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json @@ -13,6 +13,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "BillingProfile1", + "billingRelationshipType": "Direct", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -54,6 +55,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "BillingProfile2", + "billingRelationshipType": "IndirectCustomer", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -79,13 +81,19 @@ "skuDescription": "Microsoft Azure Plan for DevTest" } ], + "indirectRelationshipInfo": { + "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "33000000-0000-0000-0000-000000000001", + "displayName": "Partner1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", "hasReadAccess": true, "systemId": "2XXX-22XX-XX1-XXXX-XXX", "status": "Active", - "spendingLimit": "Off" + "spendingLimit": "Off", + "targetClouds": [] } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json index 85a10f54a285..235fbb7e67ac 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json @@ -14,6 +14,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "BillingProfile1", + "billingRelationshipType": "Direct", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -47,6 +48,7 @@ "status": "Warned", "statusReasonCode": "PastDue", "spendingLimit": "On", + "targetClouds": [], "invoiceSections": { "hasMoreResults": false, "value": [ @@ -60,6 +62,7 @@ "pcCode": "A123456", "costCategory": "Support" }, + "state": "Active", "systemId": "9XXX-11XX-XX1-XXXX-XXX" } } @@ -73,6 +76,7 @@ "type": "Microsoft.Billing/billingAccounts/billingProfiles", "properties": { "displayName": "BillingProfile2", + "billingRelationshipType": "IndirectCustomer", "billTo": { "companyName": "Contoso", "firstName": "Test", @@ -98,6 +102,11 @@ "skuDescription": "Microsoft Azure Plan for DevTest" } ], + "indirectRelationshipInfo": { + "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000", + "billingProfileName": "33000000-0000-0000-0000-000000000001", + "displayName": "Partner1" + }, "invoiceDay": 5, "invoiceEmailOptIn": true, "poNumber": "ABC12345", @@ -106,6 +115,7 @@ "status": "Warned", "statusReasonCode": "PastDue", "spendingLimit": "On", + "targetClouds": [], "invoiceSections": { "hasMoreResults": false, "value": [ @@ -119,6 +129,7 @@ "pcCode": "Z223456", "costCategory": "Marketing" }, + "state": "Active", "systemId": "9XXX-22XX-XX1-XXXX-XXX" } } diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json new file mode 100644 index 000000000000..436f1f56ee11 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", + "name": "{invoiceName}", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Paid", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "CreditNote", + "creditForDocumentId": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json index a956b6a06d95..431057fff203 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json @@ -7,7 +7,7 @@ "responses": { "200": { "body": { - "id": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", "name": "{invoiceName}", "type": "Microsoft.Billing/billingAccounts/invoices", "properties": { @@ -52,6 +52,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "Invoice", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json index c751111a6438..0329f3a9ee64 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json @@ -17,6 +17,7 @@ "pcCode": "A123456", "costCategory": "Support" }, + "state": "Active", "systemId": "XX1X-XXAA-XXX-ZZZ" } } diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json index e3bda0d87fb7..14dd48605423 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json @@ -18,6 +18,7 @@ "pcCode": "A123456", "costCategory": "Support" }, + "state": "Active", "systemId": "XX1X-XXAA-XXX-ZZZ" } }, @@ -31,7 +32,9 @@ "pcCode": "Z223456", "costCategory": "Marketing" }, - "systemId": "YY1X-BBAA-XXX-ZZZ" + "state": "Restricted", + "systemId": "YY1X-BBAA-XXX-ZZZ", + "targetCloud": "USSec" } } ] diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json new file mode 100644 index 000000000000..7d9962a235e2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", + "name": "{invoiceName}", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ], + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002", + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001", + "rebillDetails": null + } + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json index f2dd0ffc9c42..c3300eaa6ae8 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json @@ -56,6 +56,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "Invoice", @@ -128,6 +129,7 @@ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", "billingProfileDisplayName": "Contoso Operations Billing", "purchaseOrderNumber": "123456", + "documentType": "Invoice", "documents": [ { "kind": "Invoice", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json new file mode 100644 index 000000000000..e86609b85ef8 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "periodStartDate": "2018-01-01", + "periodEndDate": "2018-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000003", + "name": "I000003", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "creditAmount": { + "currency": "USD", + "value": 1.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 1.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ], + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002", + "rebillDetails": { + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1", + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001", + "rebillDetails": null + } + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/1383724", + "name": "1383724", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-03-01T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Due", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-02-01T17:32:28Z", + "invoicePeriodEndDate": "2018-02-28T17:32:28Z", + "isMonthlyInvoice": true, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json new file mode 100644 index 000000000000..30e3f1b71cbe --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "billingAccountName": "{billingAccountName}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}", + "name": "{invoiceName}", + "type": "Microsoft.Billing/billingAccounts/invoices", + "properties": { + "dueDate": "2018-01-16T17:32:28Z", + "invoiceDate": "2018-01-01T17:32:28Z", + "status": "Void", + "amountDue": { + "currency": "USD", + "value": 16.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 15.46 + }, + "creditAmount": { + "currency": "USD", + "value": 2.00 + }, + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0.00 + }, + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 0.00 + }, + "totalAmount": { + "currency": "USD", + "value": 16.53 + }, + "invoicePeriodStartDate": "2018-01-01T17:32:28Z", + "invoicePeriodEndDate": "2018-01-15T17:32:28Z", + "isMonthlyInvoice": false, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}", + "billingProfileDisplayName": "Contoso Operations Billing", + "purchaseOrderNumber": "123456", + "documentType": "Invoice", + "billedDocumentId": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002", + "documents": [ + { + "kind": "Invoice", + "url": "https://microsoft.com/invoice.pdf", + "source": "DRS" + }, + { + "kind": "TaxReceipt", + "url": "https://microsoft.com/taxDoc.pdf", + "source": "DRS" + } + ], + "payments": [ + { + "date": "2018-01-14T17:32:28Z", + "paymentType": "credited", + "amount": { + "currency": "USD", + "value": 2.00 + }, + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/readme.azureresourceschema.md b/specification/billing/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..e7e163b7b60e --- /dev/null +++ b/specification/billing/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,85 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-billing-2020-05-01 + - tag: schema-billing-2019-10-01-preview + - tag: schema-billing-2018-11-01-preview + - tag: schema-billing-2018-03-01-preview + - tag: schema-billing-2017-04-24-preview + - tag: schema-billing-2017-02-27-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-billing-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/stable/2020-05-01/billing.json + +``` + +### Tag: schema-billing-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2019-10-01-preview/billing.json + +``` + +### Tag: schema-billing-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2018-11-01-preview/billing.json + +``` + +### Tag: schema-billing-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2018-03-01-preview/billingV2.json + - Microsoft.Billing/preview/2018-03-01-preview/billing.json + +``` + +### Tag: schema-billing-2017-04-24-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2017-04-24-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2017-04-24-preview/billing.json + +``` + +### Tag: schema-billing-2017-02-27-preview and azureresourceschema + +``` yaml $(tag) == 'schema-billing-2017-02-27-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Billing/preview/2017-02-27-preview/billing.json + +``` diff --git a/specification/billing/resource-manager/readme.go.md b/specification/billing/resource-manager/readme.go.md index f6bf507cb97e..0fcef38b70b7 100644 --- a/specification/billing/resource-manager/readme.go.md +++ b/specification/billing/resource-manager/readme.go.md @@ -26,7 +26,7 @@ These settings apply only when `--tag=package-2020-05 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2020-05' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-05-01-preview/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace) ``` ### Tag: package-2018-11-preview and go diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md index 31988a610128..a28cc4e5784c 100644 --- a/specification/billing/resource-manager/readme.md +++ b/specification/billing/resource-manager/readme.md @@ -36,6 +36,7 @@ These settings apply only when `--tag=package-2020-05` is specified on the comma ``` yaml $(tag) == 'package-2020-05' input-file: - Microsoft.Billing/stable/2020-05-01/billing.json +- Microsoft.Billing/preview/2018-03-01-preview/billingV2.json ``` ### Tag: package-2019-10-preview @@ -103,6 +104,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_billing'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js billing/resource-manager ``` @@ -230,6 +234,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -243,6 +251,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - $(this-folder)/Microsoft.Billing/stable/2020-05-01/billing.json + - $(this-folder)/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json - $(this-folder)/Microsoft.Billing/preview/2019-10-01-preview/billing.json - $(this-folder)/Microsoft.Billing/preview/2018-11-01-preview/billing.json - $(this-folder)/Microsoft.Billing/preview/2018-03-01-preview/billing.json diff --git a/specification/billing/resource-manager/readme.ruby.md b/specification/billing/resource-manager/readme.ruby.md index fcb9843607a5..b56bbe03fe6b 100644 --- a/specification/billing/resource-manager/readme.ruby.md +++ b/specification/billing/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2020-05 - tag: package-2017-04-preview - tag: package-2017-02-preview ``` @@ -22,7 +23,7 @@ These settings apply only when `--tag=package-2020-05 --ruby` is specified on th Please also specify `--ruby-sdks-folder=`. ``` yaml $(tag) == 'package-2020-05' && $(ruby) -namespace: "Azure::Billing::Mgmt::V2020_05" +namespace: "Azure::Billing::Mgmt::V2020_05_01" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_billing/lib ``` diff --git a/specification/blockchain/resource-manager/readme.azureresourceschema.md b/specification/blockchain/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..01c28ae04c95 --- /dev/null +++ b/specification/blockchain/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-blockchain-2018-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-blockchain-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-blockchain-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json + +``` diff --git a/specification/blockchain/resource-manager/readme.md b/specification/blockchain/resource-manager/readme.md index 806fc6ac3e2d..cab2a3ebe290 100644 --- a/specification/blockchain/resource-manager/readme.md +++ b/specification/blockchain/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_blockchain'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js blockchain/resource-manager ``` ## C# @@ -86,6 +89,10 @@ See configuration in [readme.node.md](./readme.node.md) See configuration in [readme.ruby.md](./readme.ruby.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json index 1d3bca28c7a1..fa492a9e78a1 100644 --- a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json @@ -128,8 +128,14 @@ "Assignment_Delete at subscription scope": { "$ref": "./examples/subscriptionBPAssignment/BlueprintAssignment_Delete.json" }, + "Assignment_Delete at subscription scope, and delete the resources created by the assignment": { + "$ref": "./examples/subscriptionBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json" + }, "Assignment_Delete at management group scope": { "$ref": "./examples/managementGroupBPAssignment/BlueprintAssignment_Delete.json" + }, + "Assignment_Delete at management group scope, and delete the resources created by the assignment": { + "$ref": "./examples/managementGroupBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json" } }, "parameters": [ @@ -141,6 +147,21 @@ }, { "$ref": "#/parameters/AssignmentNameParameter" + }, + { + "name": "deleteBehavior", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "none", + "all" + ], + "x-ms-enum": { + "name": "AssignmentDeleteBehavior", + "modelAsString": true + }, + "description": "When deleteBehavior=all, the resources that were created by the blueprint assignment will be deleted." } ], "responses": { diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json new file mode 100644 index 000000000000..a509fb9f825c --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "resourceScope": "managementGroups/ContosoOnlineGroup", + "assignmentName": "assignSimpleBlueprint", + "deleteBehavior": "all" + }, + "responses": { + "202": { + "body": { + "identity": { + "type": "SystemAssigned", + "tenantId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "properties": { + "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.", + "provisioningState": "deleting", + "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "storageAccountType": { + "value": "Standard_LRS" + }, + "costCenter": { + "value": "Contoso/Online/Shopping/Production" + }, + "owners": { + "value": [ + "johnDoe@contoso.com", + "johnsteam@contoso.com" + ] + } + }, + "resourceGroups": { + "storageRG": { + "name": "defaultRG", + "location": "eastus" + } + } + }, + "id": "/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint", + "type": "Microsoft.Blueprint/Assignment", + "name": "assignSimpleBlueprint" + } + }, + "204": {} + } +} diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json new file mode 100644 index 000000000000..c182f4a9423d --- /dev/null +++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2018-11-01-preview", + "resourceScope": "subscriptions/00000000-0000-0000-0000-000000000000", + "assignmentName": "assignSimpleBlueprint", + "deleteBehavior": "all" + }, + "responses": { + "202": { + "body": { + "identity": { + "type": "SystemAssigned", + "tenantId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "properties": { + "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.", + "provisioningState": "deleting", + "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint", + "parameters": { + "storageAccountType": { + "value": "Standard_LRS" + }, + "costCenter": { + "value": "Contoso/Online/Shopping/Production" + }, + "owners": { + "value": [ + "johnDoe@contoso.com", + "johnsteam@contoso.com" + ] + } + }, + "resourceGroups": { + "storageRG": { + "name": "defaultRG", + "location": "eastus" + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint", + "type": "Microsoft.Blueprint/Assignment", + "name": "assignSimpleBlueprint" + } + }, + "204": {} + } +} diff --git a/specification/blueprint/resource-manager/readme.azureresourceschema.md b/specification/blueprint/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4e9a1ed8e02a --- /dev/null +++ b/specification/blueprint/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,39 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-blueprint-2018-11-01-preview + - tag: schema-blueprint-2017-11-11-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-blueprint-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-blueprint-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json + - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json + - Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json + +``` + +### Tag: schema-blueprint-2017-11-11-preview and azureresourceschema + +``` yaml $(tag) == 'schema-blueprint-2017-11-11-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintDefinition.json + - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json + +``` diff --git a/specification/blueprint/resource-manager/readme.md b/specification/blueprint/resource-manager/readme.md index 5fbee9859aa1..d39803123cf1 100644 --- a/specification/blueprint/resource-manager/readme.md +++ b/specification/blueprint/resource-manager/readme.md @@ -63,6 +63,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-python + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js blueprint/resource-manager ``` @@ -131,6 +134,10 @@ directive: reason: OperationsAPI for Microsoft.Management is out of scope. ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/botservice.json new file mode 100644 index 000000000000..4253a275b423 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/botservice.json @@ -0,0 +1,2561 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Bot Service", + "description": "Azure Bot Service is a platform for creating smart conversational agents.", + "version": "2020-06-02" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}": { + "put": { + "tags": [ + "Bot" + ], + "description": "Creates a Bot Service. Bot Service is a resource group wide resource type.", + "operationId": "Bots_Create", + "x-ms-examples": { + "Create Bot": { + "$ref": "./examples/CreateBot.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Bot" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "Bot" + ], + "description": "Updates a Bot Service", + "operationId": "Bots_Update", + "x-ms-examples": { + "Update Bot": { + "$ref": "./examples/UpdateBot.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/Bot" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "201": { + "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Bot" + ], + "description": "Deletes a Bot Service from the resource group. ", + "operationId": "Bots_Delete", + "x-ms-examples": { + "Delete Bot": { + "$ref": "./examples/DeleteBot.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "Bot" + ], + "description": "Returns a BotService specified by the parameters.", + "operationId": "Bots_Get", + "x-ms-examples": { + "Get Bot": { + "$ref": "./examples/GetBot.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/Bot" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices": { + "get": { + "tags": [ + "Bot" + ], + "description": "Returns all the resources of a particular type belonging to a resource group", + "operationId": "Bots_ListByResourceGroup", + "x-ms-examples": { + "List Bots by Resource Group": { + "$ref": "./examples/ListBotsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/BotResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices": { + "get": { + "tags": [ + "Bot" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "Bots_List", + "x-ms-examples": { + "List Bots by Subscription": { + "$ref": "./examples/ListBotsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/BotResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}": { + "put": { + "tags": [ + "Channel" + ], + "description": "Creates a Channel registration for a Bot Service", + "operationId": "Channels_Create", + "x-ms-examples": { + "Create Bot": { + "$ref": "./examples/PutChannel.json" + }, + "Create Alexa Bot": { + "$ref": "./examples/PutAlexaChannel.json" + }, + "Create Line Bot": { + "$ref": "./examples/PutLineChannel.json" + }, + "Create DirectLine Speech Bot": { + "$ref": "./examples/PutDirectLineSpeechChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/channelNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BotChannel" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "Channel" + ], + "description": "Updates a Channel registration for a Bot Service", + "operationId": "Channels_Update", + "x-ms-examples": { + "Update Bot": { + "$ref": "./examples/UpdateChannel.json" + }, + "Update Alexa": { + "$ref": "./examples/UpdateAlexaChannel.json" + }, + "Update Line": { + "$ref": "./examples/UpdateLineChannel.json" + }, + "Update DirectLine Speech": { + "$ref": "./examples/UpdateDirectLineSpeechChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/channelNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/BotChannel" + }, + "description": "The parameters to provide for the created bot." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "201": { + "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Channel" + ], + "description": "Deletes a Channel registration from a Bot Service", + "operationId": "Channels_Delete", + "x-ms-examples": { + "Delete Bot": { + "$ref": "./examples/DeleteChannel.json" + }, + "Delete DirectLine Speech Bot": { + "$ref": "./examples/DeleteDirectLineSpeechChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "channelName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "Channel" + ], + "description": "Returns a BotService Channel registration specified by the parameters.", + "operationId": "Channels_Get", + "x-ms-examples": { + "Get Bot": { + "$ref": "./examples/GetChannel.json" + }, + "Get Alexa Bot": { + "$ref": "./examples/GetAlexaChannel.json" + }, + "Get Line Bot": { + "$ref": "./examples/GetLineChannel.json" + }, + "Get DirectLine Speech Bot": { + "$ref": "./examples/GetDirectLineSpeechChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "name": "channelName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys": { + "post": { + "tags": [ + "Channel" + ], + "description": "Lists a Channel registration for a Bot Service including secrets", + "operationId": "Channels_ListWithKeys", + "x-ms-examples": { + "List Channel": { + "$ref": "./examples/ListChannel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/channelNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is retrieved successfully, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels": { + "get": { + "tags": [ + "Channel" + ], + "description": "Returns all the Channel registrations of a particular BotService resource", + "operationId": "Channels_ListByResourceGroup", + "x-ms-examples": { + "List Bots by Resource Group": { + "$ref": "./examples/ListChannelsByBotService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/ChannelResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/regeneratekeys": { + "post": { + "tags": [ + "Channel" + ], + "description": "Regenerates secret keys and returns them for the DirectLine Channel of a particular BotService resource", + "operationId": "DirectLine_RegenerateKeys", + "x-ms-examples": { + "Regenerate Keys for DirectLine Channel Site": { + "$ref": "./examples/DirectlineRegenerateKeys.json" + }, + "Regenerate Keys for WebChat Channel Site": { + "$ref": "./examples/WebChatRegenerateKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/regenerateKeyschannelNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SiteInfo" + }, + "description": "The parameters to provide for the created bot." + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.BotService/checkNameAvailability": { + "post": { + "tags": [ + "Bot" + ], + "description": "Check whether a bot name is available.", + "operationId": "Bots_GetCheckNameAvailability", + "x-ms-examples": { + "check Name Availability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequestBody" + }, + "description": "The request body parameters to provide for the check name availability request" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResponseBody" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.BotService/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available BotService operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listAuthServiceProviders": { + "post": { + "tags": [ + "ListServiceProviders" + ], + "description": "Lists the available Service Providers for creating Connection Settings", + "operationId": "BotConnection_ListServiceProviders", + "x-ms-examples": { + "List Auth Service Providers": { + "$ref": "./examples/ListServiceProviders.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is retrieved successfully, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/ServiceProviderResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets": { + "post": { + "tags": [ + "BotConnection" + ], + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/GetConnection.json" + } + }, + "description": "Get a Connection Setting registration for a Bot Service", + "operationId": "BotConnection_ListWithSecrets", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}": { + "put": { + "tags": [ + "BotConnection" + ], + "description": "Register a new Auth Connection for a Bot Service", + "operationId": "BotConnection_Create", + "x-ms-examples": { + "Create Connection Setting": { + "$ref": "./examples/PutConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSetting" + }, + "description": "The parameters to provide for creating the Connection Setting." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "tags": [ + "BotConnection" + ], + "description": "Updates a Connection Setting registration for a Bot Service", + "operationId": "BotConnection_Update", + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/UpdateConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSetting" + }, + "description": "The parameters to provide for updating the Connection Setting." + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "BotConnection" + ], + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/GetConnection.json" + } + }, + "description": "Get a Connection Setting registration for a Bot Service", + "operationId": "BotConnection_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/ConnectionSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "BotConnection" + ], + "description": "Deletes a Connection Setting registration for a Bot Service", + "operationId": "BotConnection_Delete", + "x-ms-examples": { + "Update Connection Setting": { + "$ref": "./examples/DeleteConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/connectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections": { + "get": { + "tags": [ + "BotConnection" + ], + "description": "Returns all the Connection Settings registered to a particular BotService resource", + "operationId": "BotConnection_ListByBotService", + "x-ms-examples": { + "List Connection Settings": { + "$ref": "./examples/ListConnectionsByBotService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/ConnectionSettingResponseList" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Resource": { + "description": "Azure resource", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Specifies the resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Specifies the name of the resource.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Specifies the location of the resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Gets or sets the SKU of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "Required. Gets or sets the Kind of the resource." + }, + "etag": { + "type": "string", + "description": "Entity Tag" + } + } + }, + "Sku": { + "properties": { + "name": { + "$ref": "#/definitions/SkuName", + "description": "The sku name" + }, + "tier": { + "readOnly": true, + "type": "string", + "description": "Gets the sku tier. This is based on the SKU name.", + "enum": [ + "Free", + "Standard" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + }, + "required": [ + "name" + ], + "description": "The SKU of the cognitive services account." + }, + "SkuName": { + "type": "string", + "description": "The name of SKU.", + "enum": [ + "F0", + "S1" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "Kind": { + "type": "string", + "description": "Indicates the type of bot service", + "enum": [ + "sdk", + "designer", + "bot", + "function" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "Bot": { + "type": "object", + "description": "Bot resource definition", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BotProperties", + "description": "The set of properties specific to bot resource" + } + } + }, + "BotProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "The Name of the bot" + }, + "description": { + "type": "string", + "description": "The description of the bot" + }, + "iconUrl": { + "type": "string", + "description": "The Icon Url of the bot" + }, + "endpoint": { + "type": "string", + "description": "The bot's endpoint" + }, + "endpointVersion": { + "type": "string", + "readOnly": true, + "description": "The bot's endpoint version" + }, + "msaAppId": { + "type": "string", + "description": "Microsoft App Id for the bot" + }, + "configuredChannels": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Collection of channels for which the bot is configured" + }, + "enabledChannels": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "Collection of channels for which the bot is enabled" + }, + "developerAppInsightKey": { + "type": "string", + "description": "The Application Insights key" + }, + "developerAppInsightsApiKey": { + "type": "string", + "description": "The Application Insights Api Key" + }, + "developerAppInsightsApplicationId": { + "type": "string", + "description": "The Application Insights App Id" + }, + "luisAppIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of LUIS App Ids" + }, + "luisKey": { + "type": "string", + "description": "The LUIS Key" + } + }, + "description": "The parameters to provide for the Bot.", + "required": [ + "displayName", + "endpoint", + "msaAppId" + ] + }, + "BotResponseList": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of bot service resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Bot" + }, + "description": "Gets the list of bot service results and their properties." + } + }, + "description": "The list of bot service operation response." + }, + "BotChannel": { + "type": "object", + "description": "Bot channel resource definition", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/Channel", + "description": "The set of properties specific to bot channel resource" + } + } + }, + "Channel": { + "type": "object", + "description": "Channel definition", + "discriminator": "channelName", + "properties": { + "channelName": { + "type": "string", + "description": "The channel name" + } + }, + "required": [ + "channelName" + ] + }, + "AlexaChannel": { + "type": "object", + "x-ms-discriminator-value": "AlexaChannel", + "description": "Alexa channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AlexaChannelProperties", + "description": "The set of properties specific to Alexa channel resource" + } + } + }, + "AlexaChannelProperties": { + "properties": { + "alexaSkillId": { + "type": "string", + "description": "The Alexa skill Id" + }, + "urlFragment": { + "type": "string", + "readOnly": true, + "description": "Url fragment used in part of the Uri configured in Alexa" + }, + "serviceEndpointUri": { + "type": "string", + "readOnly": true, + "description": "Full Uri used to configured the skill in Alexa" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Alexa channel.", + "required": [ + "alexaSkillId", + "isEnabled" + ] + }, + "FacebookChannel": { + "type": "object", + "description": "Facebook channel definition", + "x-ms-discriminator-value": "FacebookChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FacebookChannelProperties", + "description": "The set of properties specific to bot facebook channel" + } + } + }, + "FacebookChannelProperties": { + "properties": { + "verifyToken": { + "x-ms-secret": true, + "type": "string", + "readOnly": true, + "description": "Verify token. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "pages": { + "type": "array", + "items": { + "$ref": "#/definitions/FacebookPage" + }, + "description": "The list of Facebook pages" + }, + "appId": { + "type": "string", + "description": "Facebook application id" + }, + "appSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Facebook application secret. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "callbackUrl": { + "type": "string", + "readOnly": true, + "description": "Callback Url" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Facebook channel.", + "required": [ + "appId", + "appSecret", + "isEnabled" + ] + }, + "FacebookPage": { + "properties": { + "id": { + "type": "string", + "description": "Page id" + }, + "accessToken": { + "x-ms-secret": true, + "type": "string", + "description": "Facebook application access token. Value only returned through POST to the action Channel List API, otherwise empty." + } + }, + "description": "A Facebook page for Facebook channel registration", + "required": [ + "id", + "accessToken" + ] + }, + "EmailChannel": { + "type": "object", + "description": "Email channel definition", + "x-ms-discriminator-value": "EmailChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EmailChannelProperties", + "description": "The set of properties specific to email channel resource" + } + } + }, + "EmailChannelProperties": { + "properties": { + "emailAddress": { + "type": "string", + "description": "The email address" + }, + "password": { + "type": "string", + "description": "The password for the email address. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Email channel.", + "required": [ + "emailAddress", + "password", + "isEnabled" + ] + }, + "MsTeamsChannel": { + "type": "object", + "x-ms-discriminator-value": "MsTeamsChannel", + "description": "Microsoft Teams channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MsTeamsChannelProperties", + "description": "The set of properties specific to Microsoft Teams channel resource" + } + } + }, + "MsTeamsChannelProperties": { + "properties": { + "enableCalling": { + "type": "boolean", + "description": "Enable calling for Microsoft Teams channel" + }, + "callingWebHook": { + "type": "string", + "description": "Webhook for Microsoft Teams channel calls" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Microsoft Teams channel.", + "required": [ + "isEnabled" + ] + }, + "SkypeChannel": { + "type": "object", + "description": "Skype channel definition", + "x-ms-discriminator-value": "SkypeChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SkypeChannelProperties", + "description": "The set of properties specific to Skype channel resource" + } + } + }, + "SkypeChannelProperties": { + "properties": { + "enableMessaging": { + "type": "boolean", + "description": "Enable messaging for Skype channel" + }, + "enableMediaCards": { + "type": "boolean", + "description": "Enable media cards for Skype channel" + }, + "enableVideo": { + "type": "boolean", + "description": "Enable video for Skype channel" + }, + "enableCalling": { + "type": "boolean", + "description": "Enable calling for Skype channel" + }, + "enableScreenSharing": { + "type": "boolean", + "description": "Enable screen sharing for Skype channel" + }, + "enableGroups": { + "type": "boolean", + "description": "Enable groups for Skype channel" + }, + "groupsMode": { + "type": "string", + "description": "Group mode for Skype channel" + }, + "callingWebHook": { + "type": "string", + "description": "Calling web hook for Skype channel" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Microsoft Teams channel.", + "required": [ + "isEnabled" + ] + }, + "KikChannel": { + "type": "object", + "x-ms-discriminator-value": "KikChannel", + "description": "Kik channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/KikChannelProperties", + "description": "The set of properties specific to Kik channel resource" + } + } + }, + "KikChannelProperties": { + "properties": { + "userName": { + "type": "string", + "description": "The Kik user name" + }, + "apiKey": { + "type": "string", + "description": "Kik API key. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Kik channel.", + "required": [ + "userName", + "apiKey", + "isEnabled" + ] + }, + "WebChatChannel": { + "type": "object", + "x-ms-discriminator-value": "WebChatChannel", + "description": "Web Chat channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebChatChannelProperties", + "description": "The set of properties specific to Web Chat channel resource" + } + } + }, + "WebChatChannelProperties": { + "properties": { + "webChatEmbedCode": { + "type": "string", + "x-ms-mutability": [ + "read" + ], + "readOnly": true, + "description": "Web chat control embed code" + }, + "sites": { + "type": "array", + "items": { + "$ref": "#/definitions/WebChatSite" + }, + "description": "The list of Web Chat sites" + } + }, + "description": "The parameters to provide for the Web Chat channel." + }, + "DirectLineChannel": { + "type": "object", + "x-ms-discriminator-value": "DirectLineChannel", + "description": "Direct Line channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DirectLineChannelProperties", + "description": "The set of properties specific to Direct Line channel resource" + } + } + }, + "DirectLineChannelProperties": { + "properties": { + "sites": { + "type": "array", + "items": { + "$ref": "#/definitions/DirectLineSite" + }, + "description": "The list of Direct Line sites" + } + }, + "description": "The parameters to provide for the Direct Line channel." + }, + "TelegramChannel": { + "type": "object", + "description": "Telegram channel definition", + "x-ms-discriminator-value": "TelegramChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TelegramChannelProperties", + "description": "The set of properties specific to Telegram channel resource" + } + } + }, + "TelegramChannelProperties": { + "properties": { + "accessToken": { + "x-ms-secret": true, + "type": "string", + "description": "The Telegram access token. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Telegram channel.", + "required": [ + "accessToken", + "isEnabled" + ] + }, + "SmsChannel": { + "type": "object", + "description": "Sms channel definition", + "x-ms-discriminator-value": "SmsChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SmsChannelProperties", + "description": "The set of properties specific to Sms channel resource" + } + } + }, + "SmsChannelProperties": { + "properties": { + "phone": { + "type": "string", + "description": "The Sms phone" + }, + "accountSID": { + "type": "string", + "description": "The Sms account SID. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "authToken": { + "x-ms-secret": true, + "type": "string", + "description": "The Sms auth token. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Sms channel.", + "required": [ + "phone", + "accountSID", + "authToken", + "isEnabled" + ] + }, + "SlackChannel": { + "type": "object", + "description": "Slack channel definition", + "x-ms-discriminator-value": "SlackChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SlackChannelProperties", + "description": "The set of properties specific to Slack channel resource" + } + } + }, + "SlackChannelProperties": { + "properties": { + "clientId": { + "type": "string", + "description": "The Slack client id" + }, + "clientSecret": { + "x-ms-secret": true, + "type": "string", + "description": "The Slack client secret. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "verificationToken": { + "x-ms-secret": true, + "type": "string", + "description": "The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty." + }, + "landingPageUrl": { + "type": "string", + "description": "The Slack landing page Url" + }, + "redirectAction": { + "type": "string", + "description": "The Slack redirect action", + "readOnly": true + }, + "lastSubmissionId": { + "type": "string", + "description": "The Sms auth token", + "readOnly": true + }, + "registerBeforeOAuthFlow": { + "type": "boolean", + "description": "Whether to register the settings before OAuth validation is performed. Recommended to True.", + "readOnly": true + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot", + "readOnly": true + }, + "signingSecret": { + "x-ms-secret": true, + "type": "string", + "description": "The Slack signing secret." + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Slack channel.", + "required": [ + "clientId", + "clientSecret", + "verificationToken", + "isEnabled" + ] + }, + "LineChannel": { + "type": "object", + "description": "Line channel definition", + "x-ms-discriminator-value": "LineChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LineChannelProperties", + "description": "The set of properties specific to line channel resource" + } + } + }, + "LineChannelProperties": { + "properties": { + "lineRegistrations": { + "type": "array", + "description": "The list of line channel registrations", + "items": { + "$ref": "#/definitions/LineRegistration" + } + }, + "callbackUrl": { + "type": "string", + "description": "Callback Url to enter in line registration.", + "readOnly": true + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot", + "readOnly": true + } + }, + "description": "The parameters to provide for the Line channel.", + "required": [ + "lineRegistrations" + ] + }, + "LineRegistration": { + "properties": { + "generatedId": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Id generated for the line channel registration", + "readOnly": true + }, + "channelSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Secret for the line channel registration" + }, + "channelAccessToken": { + "x-ms-secret": true, + "type": "string", + "description": "Access token for the line channel registration" + } + }, + "description": "The properties corresponding to a line channel registration" + }, + "DirectLineSpeechChannel": { + "type": "object", + "description": "DirectLine Speech channel definition", + "x-ms-discriminator-value": "DirectLineSpeechChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DirectLineSpeechChannelProperties", + "description": "The set of properties specific to DirectLine Speech channel resource" + } + } + }, + "DirectLineSpeechChannelProperties": { + "properties": { + "cognitiveServicesSubscriptionId": { + "type": "string", + "description": "The cognitive service subscription ID to use with this channel registration." + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled or not." + }, + "customVoiceDeploymentId": { + "type": "string", + "description": "Custom speech model id (optional)." + }, + "customSpeechModelId": { + "type": "string", + "description": "Custom voice deployment id (optional)." + }, + "isDefaultBotForCogSvcAccount": { + "type": "boolean", + "description": "Make this a default bot for chosen cognitive service account." + } + }, + "description": "The parameters to provide for the DirectLine Speech channel.", + "required": [ + "cognitiveServicesSubscriptionId" + ] + }, + "ChannelResponseList": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of bot service channel resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/BotChannel" + }, + "description": "Gets the list of bot service channel results and their properties." + } + }, + "description": "The list of bot service channel operation response." + }, + "WebChatSite": { + "properties": { + "siteId": { + "type": "string", + "description": "Site Id", + "x-ms-mutability": [ + "read" + ], + "readOnly": true + }, + "siteName": { + "type": "string", + "description": "Site name" + }, + "key": { + "type": "string", + "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-mutability": [ + "read" + ], + "readOnly": true + }, + "key2": { + "type": "string", + "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "x-ms-mutability": [ + "read" + ], + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for DirectLine channel" + }, + "enablePreview": { + "type": "boolean", + "description": "Whether this site is enabled for preview versions of Webchat" + } + }, + "required": [ + "siteName", + "isEnabled", + "enablePreview" + ], + "description": "A site for the Webchat channel" + }, + "DirectLineSite": { + "properties": { + "siteId": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Site Id", + "readOnly": true + }, + "siteName": { + "type": "string", + "description": "Site name" + }, + "key": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "readOnly": true + }, + "key2": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.", + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for DirectLine channel." + }, + "isV1Enabled": { + "type": "boolean", + "description": "Whether this site is enabled for Bot Framework V1 protocol." + }, + "isV3Enabled": { + "type": "boolean", + "description": "Whether this site is enabled for Bot Framework V1 protocol." + }, + "isSecureSiteEnabled": { + "type": "boolean", + "description": "Whether this site is enabled for authentication with Bot Framework." + }, + "trustedOrigins": { + "type": "array", + "description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.", + "items": { + "type": "string" + } + } + }, + "description": "A site for the Direct Line channel", + "required": [ + "isV1Enabled", + "isV3Enabled", + "isEnabled", + "siteName" + ] + }, + "SiteInfo": { + "properties": { + "siteName": { + "type": "string", + "description": "The site name" + }, + "key": { + "type": "string", + "description": "Determines which key is to be regenerated", + "enum": [ + "key1", + "key2" + ], + "x-ms-enum": { + "name": "key", + "modelAsString": false + } + } + }, + "description": "Site information for WebChat or DirectLine Channels to identify which site to regenerate keys for.", + "type": "object", + "required": [ + "siteName", + "key" + ] + }, + "ConnectionItemName": { + "properties": { + "name": { + "type": "string", + "description": "Connection Item name that has been added in the API", + "readOnly": true + } + }, + "description": "The display name of a connection Item Setting registered with the Bot" + }, + "ConnectionSettingParameter": { + "properties": { + "key": { + "type": "string", + "description": "Key for the Connection Setting Parameter." + }, + "value": { + "type": "string", + "description": "Value associated with the Connection Setting Parameter." + } + }, + "description": "Extra Parameter in a Connection Setting Properties to indicate service provider specific properties" + }, + "ConnectionSettingProperties": { + "properties": { + "clientId": { + "type": "string", + "description": "Client Id associated with the Connection Setting." + }, + "settingId": { + "type": "string", + "description": "Setting Id set by the service for the Connection Setting.", + "readOnly": true + }, + "clientSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Client Secret associated with the Connection Setting" + }, + "scopes": { + "type": "string", + "description": "Scopes associated with the Connection Setting" + }, + "serviceProviderId": { + "type": "string", + "description": "Service Provider Id associated with the Connection Setting" + }, + "serviceProviderDisplayName": { + "type": "string", + "description": "Service Provider Display Name associated with the Connection Setting" + }, + "parameters": { + "type": "array", + "description": "Service Provider Parameters associated with the Connection Setting", + "items": { + "$ref": "#/definitions/ConnectionSettingParameter" + } + } + }, + "description": "Properties for a Connection Setting Item" + }, + "ConnectionSetting": { + "type": "object", + "description": "Bot channel resource definition", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConnectionSettingProperties", + "description": "The set of properties specific to bot channel resource" + } + } + }, + "ConnectionSettingResponseList": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of bot service connection setting resources.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionSetting" + }, + "description": "Gets the list of bot service connection settings and their properties." + } + }, + "description": "The list of bot service connection settings response." + }, + "ServiceProviderResponseList": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of bot service providers.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceProvider" + }, + "description": "Gets the list of bot service providers and their properties." + } + }, + "description": "The list of bot service providers response." + }, + "ServiceProviderParameter": { + "properties": { + "name": { + "type": "string", + "description": "Name of the Service Provider", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the Service Provider", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the Service Provider", + "readOnly": true + }, + "helpUrl": { + "type": "string", + "description": "Help Url for the Service Provider", + "readOnly": true + }, + "default": { + "type": "string", + "description": "Default Name for the Service Provider", + "readOnly": true + } + }, + "description": "Extra Parameters specific to each Service Provider" + }, + "ServiceProviderProperties": { + "properties": { + "id": { + "type": "string", + "description": "Id for Service Provider", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "serviceProviderName": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "devPortalUrl": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "iconUrl": { + "type": "string", + "description": "Display Name of the Service Provider", + "readOnly": true + }, + "parameters": { + "description": "The list of parameters for the Service Provider", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceProviderParameter" + } + } + }, + "description": "The Object used to describe a Service Provider supported by Bot Service" + }, + "ServiceProvider": { + "type": "object", + "description": "Service Provider Definition", + "properties": { + "properties": { + "$ref": "#/definitions/ServiceProviderProperties", + "description": "The Properties of a Service Provider Object" + } + } + }, + "Error": { + "properties": { + "error": { + "$ref": "#/definitions/ErrorBody", + "description": "The error body." + } + }, + "description": "Bot Service error object." + }, + "ErrorBody": { + "properties": { + "code": { + "type": "string", + "description": "error code" + }, + "message": { + "type": "string", + "description": "error message" + } + }, + "description": "Bot Service error body.", + "required": [ + "code", + "message" + ] + }, + "OperationEntityListResult": { + "description": "The list of bot service operation response.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + } + } + }, + "OperationEntity": { + "description": "The operations supported by Bot Service Management.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Bot Service Management." + }, + "origin": { + "description": "The origin of the operation.", + "type": "string" + }, + "properties": { + "description": "Additional properties.", + "type": "object" + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by Bot Service Management.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Microsoft Bot Service.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "CheckNameAvailabilityRequestBody": { + "description": "The request body for a request to Bot Service Management to check availability of a bot name.", + "type": "object", + "properties": { + "name": { + "description": "the name of the bot for which availability needs to be checked.", + "type": "string" + }, + "type": { + "description": "the type of the bot for which availability needs to be checked", + "type": "string" + } + } + }, + "CheckNameAvailabilityResponseBody": { + "description": "The response body returned for a request to Bot Service Management to check availability of a bot name.", + "type": "object", + "properties": { + "valid": { + "description": "indicates if the bot name is valid.", + "type": "boolean" + }, + "message": { + "description": "additional message from the bot management api showing why a bot name is not available", + "type": "string" + } + } + } + }, + "parameters": { + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource group in the user subscription." + }, + "resourceNameParameter": { + "name": "resourceName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of the Bot resource." + }, + "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." + }, + "connectionNameParameter": { + "name": "connectionName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$", + "description": "The name of the Bot Service Connection Setting resource." + }, + "channelNameParameter": { + "name": "channelName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "AlexaChannel", + "FacebookChannel", + "EmailChannel", + "KikChannel", + "TelegramChannel", + "SlackChannel", + "MsTeamsChannel", + "SkypeChannel", + "WebChatChannel", + "DirectLineChannel", + "SmsChannel", + "LineChannel", + "DirectLineSpeechChannel" + ], + "x-ms-enum": { + "name": "channelName", + "modelAsString": false, + "values": [ + { + "value": "AlexaChannel" + }, + { + "value": "FacebookChannel" + }, + { + "value": "EmailChannel" + }, + { + "value": "KikChannel" + }, + { + "value": "TelegramChannel" + }, + { + "value": "SlackChannel" + }, + { + "value": "MsTeamsChannel" + }, + { + "value": "SkypeChannel" + }, + { + "value": "WebChatChannel" + }, + { + "value": "DirectLineChannel" + }, + { + "value": "SmsChannel" + }, + { + "value": "LineChannel" + }, + { + "value": "DirectLineSpeechChannel" + } + ] + }, + "description": "The name of the Channel resource." + }, + "regenerateKeyschannelNameParameter": { + "name": "channelName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "WebChatChannel", + "DirectLineChannel" + ], + "x-ms-enum": { + "name": "regenerateKeysChannelName", + "modelAsString": false, + "values": [ + { + "value": "WebChatChannel" + }, + { + "value": "DirectLineChannel" + } + ] + }, + "description": "The name of the Channel resource for which keys are to be regenerated." + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CheckNameAvailability.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..fbadcd8aaf56 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-02", + "parameters": { + "name": "testbotname", + "type": "string" + } + }, + "responses": { + "200": { + "body": { + "valid": true, + "message": "custom message from server" + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CreateBot.json new file mode 100644 index 000000000000..6b7d08874ae4 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CreateBot.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "parameters": { + "location": "West US", + "sku": { + "name": "S1" + }, + "etag": "etag1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApiKey": "appinsightsapikey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "luisKey": "luiskey", + "msaAppId": "exampleappid" + } + } + }, + "responses": { + "200": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "etag": "etag1", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ] + } + } + }, + "201": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteBot.json new file mode 100644 index 000000000000..4c9e878a278b --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteBot.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteChannel.json new file mode 100644 index 000000000000..70bda60a10ba --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteChannel.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "EmailChannel" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteConnection.json new file mode 100644 index 000000000000..85962b406899 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteConnection.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "connectionName": "sampleConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteDirectLineSpeechChannel.json new file mode 100644 index 000000000000..9a66ed0c328c --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteDirectLineSpeechChannel.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "DirectLineSpeechChannel" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DirectlineRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DirectlineRegenerateKeys.json new file mode 100644 index 000000000000..c740ef5e1fe5 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DirectlineRegenerateKeys.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "DirectLineChannel", + "parameters": { + "siteName": "testSiteName", + "key": "key1" + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineChannel", + "properties": { + "sites": [ + { + "siteId": "abcd", + "siteName": "Default Site", + "key": "key1", + "key2": "key2", + "isEnabled": true, + "isV1Enabled": true, + "isV3Enabled": true + } + ] + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetAlexaChannel.json new file mode 100644 index 000000000000..1faa62ff3a8c --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetAlexaChannel.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "AlexaChannel" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetBot.json new file mode 100644 index 000000000000..31641dd9d2cc --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetBot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "etag": "etag1", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetChannel.json new file mode 100644 index 000000000000..821aad9640a5 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetChannel.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "EmailChannel" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetConnection.json new file mode 100644 index 000000000000..27a0f0755e51 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetConnection.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "connectionName": "sampleConnection" + }, + "responses": { + "200": { + "body": { + "location": "global", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/Connections/sampleConnection", + "etag": "etag1", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetDirectLineSpeechChannel.json new file mode 100644 index 000000000000..c90035e66679 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetDirectLineSpeechChannel.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "DirectLineSpeechChannel" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "Cognitive services subscription ID", + "customVoiceDeploymentId": "Custom voice deployment ID", + "customSpeechModelId": "Custom speech model ID", + "isDefaultBotForCogSvcAccount": true, + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetLineChannel.json new file mode 100644 index 000000000000..8a4d5c01a48e --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetLineChannel.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "LineChannel" + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetOperations.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetOperations.json new file mode 100644 index 000000000000..a7718e8c505f --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetOperations.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-06-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.BotService/botService/read", + "display": { + "provider": "Microsoft Bot Service", + "resource": "Bot Service", + "operation": "Read Bot Service", + "description": "Read Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/write", + "display": { + "provider": "Microsoft Bot Service", + "resource": "Bot Service", + "operation": "Write Bot Service", + "description": "Writes Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/delete", + "display": { + "provider": "Microsoft Bot Service", + "resource": "Bot Service", + "operation": "Delete Bot Service", + "description": "Deletes Bot Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.BotService/botService/botName/read", + "display": { + "provider": "Microsoft Bot Service", + "resource": "Bot Service name availability", + "operation": "Check bot name availability", + "description": "Check bot name availability" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsByResourceGroup.json new file mode 100644 index 000000000000..f07d46d3e9ce --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsByResourceGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices", + "etag": "etag1", + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ] + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsBySubscription.json new file mode 100644 index 000000000000..3fbd09d5d306 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsBySubscription.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "api-version": "2020-06-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices", + "kind": "sdk", + "etag": "etag1", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ] + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannel.json new file mode 100644 index 000000000000..c3cd570b9c5b --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannel.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "EmailChannel", + "parameters": { + "location": "global" + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannelsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannelsByBotService.json new file mode 100644 index 000000000000..bb98a06944df --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannelsByBotService.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "resourceName": "samplebotname", + "api-version": "2020-06-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + }, + { + "location": "global", + "properties": { + "channelName": "FacebookChannel", + "properties": { + "verifyToken": "othertoken", + "appId": "id", + "appSecret": "secret", + "callbackUrl": "appid", + "isEnabled": true, + "pages": [ + { + "accessToken": "token", + "id": "id" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListConnectionsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListConnectionsByBotService.json new file mode 100644 index 000000000000..e6cec3c217af --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListConnectionsByBotService.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListServiceProviders.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListServiceProviders.json new file mode 100644 index 000000000000..8b4b78ba6e67 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListServiceProviders.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "api-version": "2020-06-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "id": "sampleServiceProviderId", + "displayName": "sample service provider display name", + "serviceProviderName": "sampleServiceProvider", + "devPortalUrl": "sampleDevPortalUrl", + "iconUrl": "sampleIconUrl", + "parameters": [ + { + "name": "sampleParameterName", + "type": "sampleParameterType", + "displayName": "sampleDisplayName", + "description": "sampleDescription", + "helpUrl": "sampleHelpUrl", + "default": "sampleDefaultValue" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutAlexaChannel.json new file mode 100644 index 000000000000..04773f770a0b --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutAlexaChannel.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "AlexaChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "alexa skill id", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutChannel.json new file mode 100644 index 000000000000..f2020bfa0016 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutChannel.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "EmailChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutConnection.json new file mode 100644 index 000000000000..879da201f980 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutConnection.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "connectionName": "sampleConnection", + "parameters": { + "location": "West US", + "etag": "etag1", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "etag": "etag1", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + }, + "201": { + "body": { + "location": "global", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "etag": "etag1", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutDirectLineSpeechChannel.json new file mode 100644 index 000000000000..b3c964d86eeb --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutDirectLineSpeechChannel.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "DirectLineSpeechChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutLineChannel.json new file mode 100644 index 000000000000..9d58ac32cd06 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutLineChannel.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "LineChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateAlexaChannel.json new file mode 100644 index 000000000000..280fbb879f85 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateAlexaChannel.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "AlexaChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "AlexaChannel", + "properties": { + "alexaSkillId": "XAlexaSkillIdX", + "urlFragment": "XUrlFragmentX", + "serviceEndpointUri": "https://domain/XUrlFragmentX/botId", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateBot.json new file mode 100644 index 000000000000..1d2c7b728468 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateBot.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "parameters": { + "location": "West US", + "sku": { + "name": "S1" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "etag": "etag1", + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApiKey": "appinsightsapikey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "luisKey": "luiskey", + "msaAppId": "msaappid" + } + } + }, + "responses": { + "200": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "etag": "etag1", + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ] + } + } + }, + "201": { + "body": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "samplebotname", + "type": "Microsoft.BotService/botServices", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname", + "kind": "sdk", + "etag": "etag1", + "properties": { + "description": "The description of the bot", + "developerAppInsightKey": "appinsightskey", + "developerAppInsightsApplicationId": "appinsightsappid", + "displayName": "The Name of the bot", + "endpoint": "http://mybot.coffee", + "endpointVersion": "version", + "iconUrl": "http://myicon", + "luisAppIds": [ + "luisappid1", + "luisappid2" + ], + "msaAppId": "msaappid", + "configuredChannels": [ + "facebook", + "groupme" + ], + "enabledChannels": [ + "facebook" + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateChannel.json new file mode 100644 index 000000000000..f2020bfa0016 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateChannel.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "EmailChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "EmailChannel", + "properties": { + "emailAddress": "a@b.com", + "password": "pwd", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateConnection.json new file mode 100644 index 000000000000..14fba951e914 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateConnection.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "connectionName": "sampleConnection", + "parameters": { + "location": "global", + "etag": "etag1", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + }, + "201": { + "body": { + "location": "global", + "etag": "etag1", + "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection", + "name": "sampleConnection", + "properties": { + "clientId": "sampleclientid", + "clientSecret": "samplesecret", + "scopes": "samplescope", + "serviceProviderId": "serviceproviderid", + "serviceProviderDisplayName": "serviceProviderDisplayName", + "parameters": [ + { + "key": "key1", + "value": "value1" + }, + { + "key": "key2", + "value": "value2" + } + ] + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateDirectLineSpeechChannel.json new file mode 100644 index 000000000000..b3c964d86eeb --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateDirectLineSpeechChannel.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "DirectLineSpeechChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "DirectLineSpeechChannel", + "properties": { + "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX", + "isEnabled": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateLineChannel.json new file mode 100644 index 000000000000..9d58ac32cd06 --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateLineChannel.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "LineChannel", + "parameters": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + }, + "201": { + "body": { + "location": "global", + "properties": { + "channelName": "LineChannel", + "properties": { + "lineRegistrations": [ + { + "generatedId": "id", + "channelSecret": "channelSecret", + "channelAccessToken": "channelAccessToken" + } + ], + "callbackUrl": "http://callbackUrl", + "isValidated": true + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/WebChatRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/WebChatRegenerateKeys.json new file mode 100644 index 000000000000..e13716da4bbd --- /dev/null +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/WebChatRegenerateKeys.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subscription-id", + "resourceGroupName": "OneResourceGroupName", + "api-version": "2020-06-02", + "resourceName": "samplebotname", + "channelName": "WebChatChannel", + "parameters": { + "siteName": "testSiteName", + "key": "key1" + } + }, + "responses": { + "200": { + "body": { + "location": "global", + "properties": { + "channelName": "WebChatChannel", + "properties": { + "sites": [ + { + "siteId": "abcd", + "siteName": "Default Site", + "key": "key1", + "key2": "key2", + "isEnabled": true, + "enablePreview": true + } + ] + } + } + } + } + } +} diff --git a/specification/botservice/resource-manager/readme.azureresourceschema.md b/specification/botservice/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3e03a113a69a --- /dev/null +++ b/specification/botservice/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-botservice-2020-06-02 + - tag: schema-botservice-2018-07-12 + - tag: schema-botservice-2017-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-botservice-2020-06-02 and azureresourceschema + +``` yaml $(tag) == 'schema-botservice-2020-06-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BotService/stable/2020-06-02/botservice.json + +``` + +### Tag: schema-botservice-2018-07-12 and azureresourceschema + +``` yaml $(tag) == 'schema-botservice-2018-07-12' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BotService/preview/2018-07-12/botservice.json + +``` + +### Tag: schema-botservice-2017-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-botservice-2017-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.BotService/preview/2017-12-01/botservice.json + +``` diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md index 4e13dd4c54a1..ed269859fd07 100644 --- a/specification/botservice/resource-manager/readme.md +++ b/specification/botservice/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for BotService. - - --- + ## Getting Started + To build the SDK for BotService, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,20 +15,29 @@ To build the SDK for BotService, simply [Install AutoRest](https://aka.ms/autore To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the BotService API. ``` yaml openapi-type: arm -tag: package-2018-07-12 +tag: package-2020-06-02 ``` + +### Tag: package-2020-06-02 + +These settings apply only when `--tag=package-2020-06-02` is specified on the command line. + +```yaml $(tag) == 'package-2020-06-02' +input-file: + - Microsoft.BotService/stable/2020-06-02/botservice.json +``` ### Tag: package-2018-07-12 These settings apply only when `--tag=package-2018-07-12` is specified on the command line. @@ -72,7 +81,9 @@ directive: from: botservice.json reason: The path as-is is quite descriptive. ``` + --- + # Code Generation ## Swagger to SDK @@ -85,6 +96,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js botservice/resource-manager ``` ## C# @@ -113,7 +127,11 @@ See configuration in [readme.java.md](./readme.java.md) See readme.python.md file. -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -125,16 +143,16 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.BotService/stable/2020-06-02/botservice.json - $(this-folder)/Microsoft.BotService/preview/2018-07-12/botservice.json - $(this-folder)/Microsoft.BotService/preview/2017-12-01/botservice.json ``` -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json index 5dd299660337..778d82046bf8 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json @@ -43,13 +43,13 @@ "operationId": "Policies_List", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -85,16 +85,16 @@ "operationId": "Policies_Get", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -125,16 +125,16 @@ "operationId": "Policies_CreateOrUpdate", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" }, { "description": "Policy to be created.", @@ -187,16 +187,16 @@ "operationId": "Policies_Update", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" }, { "description": "CdnWebApplicationFirewallPolicy parameters to be patched.", @@ -243,16 +243,16 @@ "operationId": "Policies_Delete", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -280,10 +280,10 @@ "operationId": "ManagedRuleSets_List", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -888,20 +888,6 @@ } }, "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 2017-04-02." - }, "PolicyNameParameter": { "name": "policyName", "in": "path", @@ -910,17 +896,6 @@ "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/stable/2019-12-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json index a67766220370..4282327a5c0a 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json @@ -4332,7 +4332,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "#/definitions/ProxyResource" } ], "properties": { @@ -4378,13 +4378,6 @@ "type": "object", "description": "Origin properties needed for origin update.", "properties": { - "tags": { - "description": "Origin tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/OriginUpdatePropertiesParameters" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json index c22f89554a0e..f63c539d6134 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json @@ -7,7 +7,6 @@ "endpointName": "endpoint1", "originName": "www-someDomain-net", "origin": { - "location": "WestUs", "properties": { "hostName": "www.someDomain.net", "httpPort": 80, @@ -25,7 +24,6 @@ "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", - "location": "WestUs", "properties": { "provisioningState": "Succeeded", "resourceState": "Active", @@ -44,7 +42,6 @@ "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", - "location": "WestUs", "properties": { "provisioningState": "Succeeded", "resourceState": "Active", @@ -63,7 +60,6 @@ "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", - "location": "WestUs", "properties": { "provisioningState": "Succeeded", "resourceState": "Active", diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json index be96f1425202..802d78ffa944 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json @@ -11,10 +11,6 @@ "200": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json index 4c2643e643a8..7f1338ae8103 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json @@ -12,10 +12,6 @@ "value": [ { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json index ba0d895812e3..7bb20b98fe55 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json @@ -7,9 +7,6 @@ "endpointName": "endpoint1", "originName": "www-someDomain-net", "originUpdateProperties": { - "tags": { - "key1": "value1" - }, "properties": { "httpPort": 42, "httpsPort": 43, @@ -24,10 +21,6 @@ "200": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { @@ -47,10 +40,6 @@ "body": { "name": "www-someDomain-net", "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "provisioningState": "Succeeded", diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json index 7b052709cb5f..40bda7fa0c28 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json @@ -2697,7 +2697,9 @@ "urlSigningKeys": { "description": "List of keys used to validate the signed URL hashes.", "type": "array", - "$ref": "#/definitions/UrlSigningKey" + "items": { + "$ref": "#/definitions/UrlSigningKey" + } }, "deliveryPolicy": { "description": "A policy that specifies the delivery rules to be used for an endpoint.", @@ -3862,12 +3864,36 @@ } } }, + "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": [ "keyId" ], "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" + ] + }, "keyId": { "description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys", "type": "string" @@ -3906,9 +3932,9 @@ "description": "Indicates the purpose of the parameter", "type": "string", "enum": [ - "expires", - "keyId", - "signature" + "Expires", + "KeyId", + "Signature" ] }, "paramName": { @@ -4420,7 +4446,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "#/definitions/ProxyResource" } ], "properties": { @@ -4466,13 +4492,6 @@ "type": "object", "description": "Origin properties needed for origin update.", "properties": { - "tags": { - "description": "Origin tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/OriginUpdatePropertiesParameters" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdnwebapplicationfirewall.json index f38723617aa7..d8a9490e5fb2 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdnwebapplicationfirewall.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdnwebapplicationfirewall.json @@ -43,13 +43,13 @@ "operationId": "Policies_List", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -85,16 +85,16 @@ "operationId": "Policies_Get", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -125,16 +125,16 @@ "operationId": "Policies_CreateOrUpdate", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" }, { "description": "Policy to be created.", @@ -187,16 +187,16 @@ "operationId": "Policies_Update", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" }, { "description": "CdnWebApplicationFirewallPolicy parameters to be patched.", @@ -243,16 +243,16 @@ "operationId": "Policies_Delete", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -280,10 +280,10 @@ "operationId": "ManagedRuleSets_List", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -888,20 +888,6 @@ } }, "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 2017-04-02." - }, "PolicyNameParameter": { "name": "policyName", "in": "path", @@ -910,17 +896,6 @@ "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/stable/2020-03-31/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Create.json index ba59911b81e7..cd6b24a65618 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Create.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Create.json @@ -7,10 +7,6 @@ "endpointName": "endpoint1", "originName": "www-someDomain-net", "origin": { - "location": "WestUs", - "tags": { - "key1": "value1" - }, "properties": { "hostName": "www.someDomain.net", "httpPort": 80, @@ -26,10 +22,6 @@ "200": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { @@ -48,10 +40,6 @@ "201": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { @@ -70,10 +58,6 @@ "202": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Get.json index 56444627eff0..06fbd8976f03 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Get.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Get.json @@ -11,10 +11,6 @@ "200": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_ListByEndpoint.json index 1e81714e36a8..5f2be5eb4302 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_ListByEndpoint.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_ListByEndpoint.json @@ -12,10 +12,6 @@ "value": [ { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Update.json index c47e493a4b2a..7f58c08f8f21 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Update.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Update.json @@ -7,9 +7,6 @@ "endpointName": "endpoint1", "originName": "www-someDomain-net", "originUpdateProperties": { - "tags": { - "key1": "value1" - }, "properties": { "httpPort": 42, "httpsPort": 43, @@ -24,10 +21,6 @@ "200": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { @@ -47,10 +40,6 @@ "body": { "name": "www-someDomain-net", "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "provisioningState": "Succeeded", diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json index 72cf5b68f35b..2fcd9a9690c9 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json @@ -2697,7 +2697,9 @@ "urlSigningKeys": { "description": "List of keys used to validate the signed URL hashes.", "type": "array", - "$ref": "#/definitions/UrlSigningKey" + "items": { + "$ref": "#/definitions/UrlSigningKey" + } }, "deliveryPolicy": { "description": "A policy that specifies the delivery rules to be used for an endpoint.", @@ -3862,12 +3864,36 @@ } } }, + "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": [ "keyId" ], "properties": { + "@odata.type": { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" + ] + }, "keyId": { "description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys", "type": "string" @@ -3877,7 +3903,11 @@ "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. ", @@ -3906,10 +3936,14 @@ "description": "Indicates the purpose of the parameter", "type": "string", "enum": [ - "expires", - "keyId", - "signature" - ] + "Expires", + "KeyId", + "Signature" + ], + "x-ms-enum": { + "name": "paramIndicator", + "modelAsString": true + } }, "paramName": { "description": "Parameter name", @@ -4227,6 +4261,22 @@ "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" } }, "x-ms-azure-resource": true @@ -4420,7 +4470,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "#/definitions/ProxyResource" } ], "properties": { @@ -4482,13 +4532,6 @@ "type": "object", "description": "Origin properties needed for origin update.", "properties": { - "tags": { - "description": "Origin tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/OriginUpdatePropertiesParameters" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json index 776e38b9d7eb..1aceff7ca369 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json @@ -43,13 +43,13 @@ "operationId": "Policies_List", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -85,16 +85,16 @@ "operationId": "Policies_Get", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -125,16 +125,16 @@ "operationId": "Policies_CreateOrUpdate", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" }, { "description": "Policy to be created.", @@ -187,16 +187,16 @@ "operationId": "Policies_Update", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" }, { "description": "CdnWebApplicationFirewallPolicy parameters to be patched.", @@ -243,16 +243,16 @@ "operationId": "Policies_Delete", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "cdn.json#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/PolicyNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -280,10 +280,10 @@ "operationId": "ManagedRuleSets_List", "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "cdn.json#/parameters/subscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "cdn.json#/parameters/apiVersionParameter" } ], "responses": { @@ -888,20 +888,6 @@ } }, "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 2017-04-02." - }, "PolicyNameParameter": { "name": "policyName", "in": "path", @@ -910,17 +896,6 @@ "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/stable/2020-04-15/examples/Endpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json index 81fce9324123..90f9f58d5ccc 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json @@ -86,7 +86,10 @@ "originHostHeader": "www.someDomain1.net", "priority": 1, "weight": 50, - "enabled": true + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" } }, { @@ -162,7 +165,10 @@ "originHostHeader": "www.someDomain1.net", "priority": 1, "weight": 50, - "enabled": true + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" } }, { @@ -298,7 +304,10 @@ "originHostHeader": "www.someDomain1.net", "priority": 1, "weight": 50, - "enabled": true + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" } }, { @@ -434,7 +443,10 @@ "originHostHeader": "www.someDomain1.net", "priority": 1, "weight": 50, - "enabled": true + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" } }, { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json index 039687fc7b8d..07ce9e40f462 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json @@ -33,7 +33,10 @@ "originHostHeader": "www.someDomain2.net", "priority": 2, "weight": 50, - "enabled": true + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" } } ], diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json index f5cb3c0f6fe2..1dddea533433 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json @@ -34,7 +34,10 @@ "originHostHeader": "www.someDomain2.net", "priority": 2, "weight": 50, - "enabled": true + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" } } ], diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json index bad861f930d3..2f2e1d04ca5c 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json @@ -40,7 +40,10 @@ "originHostHeader": "www.someDomain2.net", "priority": 2, "weight": 50, - "enabled": true + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" } } ], @@ -101,7 +104,10 @@ "originHostHeader": "www.someDomain2.net", "priority": 2, "weight": 50, - "enabled": true + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" } } ], diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json index 31ad52dc4aaa..d8e9fa660f46 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json @@ -7,10 +7,6 @@ "endpointName": "endpoint1", "originName": "www-someDomain-net", "origin": { - "location": "WestUs", - "tags": { - "key1": "value1" - }, "properties": { "hostName": "www.someDomain.net", "httpPort": 80, @@ -29,10 +25,6 @@ "200": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { @@ -55,10 +47,6 @@ "201": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { @@ -81,10 +69,6 @@ "202": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json index 89a514a4d173..3c4cdccbf1c1 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json @@ -11,10 +11,6 @@ "200": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json index 13aae31ac89f..6b2550edbb95 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json @@ -12,10 +12,6 @@ "value": [ { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json index f6e79f729785..710f627dce30 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json @@ -7,9 +7,6 @@ "endpointName": "endpoint1", "originName": "www-someDomain-net", "originUpdateProperties": { - "tags": { - "key1": "value1" - }, "properties": { "httpPort": 42, "httpsPort": 43, @@ -25,10 +22,6 @@ "200": { "body": { "name": "www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { @@ -51,10 +44,6 @@ "body": { "name": "www-someDomain-net", "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", - "location": "WestUs", - "tags": { - "key1": "value1" - }, "type": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "provisioningState": "Succeeded", diff --git a/specification/cdn/resource-manager/readme.azureresourceschema.md b/specification/cdn/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b4b719cb1979 --- /dev/null +++ b/specification/cdn/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,135 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-cdn-2020-04-15 + - tag: schema-cdn-2019-12-31 + - tag: schema-cdn-2019-06-15-preview + - tag: schema-cdn-2019-06-15 + - tag: schema-cdn-2019-04-15 + - tag: schema-cdn-2017-10-12 + - tag: schema-cdn-2017-04-02 + - tag: schema-cdn-2016-10-02 + - tag: schema-cdn-2016-04-02 + - tag: schema-cdn-2015-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-cdn-2020-04-15 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2020-04-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2020-04-15/cdn.json + - Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json + +``` + +### Tag: schema-cdn-2019-12-31 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2019-12-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2019-12-31/cdn.json + +``` + +### Tag: schema-cdn-2019-06-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2019-06-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/preview/2019-06-15-preview/cdn.json + - Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json + +``` + +### Tag: schema-cdn-2019-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2019-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2019-06-15/cdn.json + - Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json + +``` + +### Tag: schema-cdn-2019-04-15 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2019-04-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2019-04-15/cdn.json + +``` + +### Tag: schema-cdn-2017-10-12 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2017-10-12' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2017-10-12/cdn.json + +``` + +### Tag: schema-cdn-2017-04-02 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2017-04-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2017-04-02/cdn.json + +``` + +### Tag: schema-cdn-2016-10-02 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2016-10-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2016-10-02/cdn.json + +``` + +### Tag: schema-cdn-2016-04-02 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2016-04-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2016-04-02/cdn.json + +``` + +### Tag: schema-cdn-2015-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cdn-2015-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cdn/stable/2015-06-01/cdn.json + +``` diff --git a/specification/cdn/resource-manager/readme.java.md b/specification/cdn/resource-manager/readme.java.md index a007070f0c23..d6d38fa512d1 100644 --- a/specification/cdn/resource-manager/readme.java.md +++ b/specification/cdn/resource-manager/readme.java.md @@ -4,11 +4,30 @@ These settings apply only when `--java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. ``` yaml $(java) -java: - azure-arm: true - fluent: true - namespace: com.microsoft.azure.management.cdn - license-header: MICROSOFT_MIT_NO_CODEGEN - payload-flattening-threshold: 1 - output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-cdn +azure-arm: true +fluent: true +namespace: com.microsoft.azure.management.cdn +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-cdn +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-04 ``` + +### Tag: package-2020-04 and java + +These settings apply only when `--tag=package-2020-04 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.cdn.v2020_04_15 + output-folder: $(azure-libraries-for-java-folder)/sdk/cdn/mgmt-v2020_04_15 +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md index 58ca149dc55d..a721599aedd4 100644 --- a/specification/cdn/resource-manager/readme.md +++ b/specification/cdn/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the Cdn API. title: CdnManagementClient description: Cdn Management Client openapi-type: arm -tag: package-2019-06 +tag: package-2020-04 ``` ### Tag: package-2020-04 @@ -148,6 +148,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cdn/resource-manager ``` @@ -175,6 +178,10 @@ See configuration in [readme.node.md](./readme.node.md) See configuration in [readme.ruby.md](./readme.ruby.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/changeanalysis/resource-manager/readme.azureresourceschema.md b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..1ff06754928a --- /dev/null +++ b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-changeanalysis-2020-04-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-changeanalysis-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-changeanalysis-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json + +``` diff --git a/specification/changeanalysis/resource-manager/readme.md b/specification/changeanalysis/resource-manager/readme.md index 82bb9acfa298..218a3d561e26 100644 --- a/specification/changeanalysis/resource-manager/readme.md +++ b/specification/changeanalysis/resource-manager/readme.md @@ -57,6 +57,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_changeanalysis'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js changeanalysis/resource-manager ``` ## Go @@ -114,6 +117,10 @@ directive: } ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/CloudShell.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/CloudShell.json new file mode 100644 index 000000000000..4c4a3ca9d214 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/CloudShell.json @@ -0,0 +1,1002 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-10-01", + "title": "CloudShellClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Portal/locations/{location}/userSettings/{userSettingsName}": { + "get": { + "operationId": "getUserSettingsWithLocation", + "x-ms-examples": { + "GetUserSettings": { + "$ref": "./examples/GetUserSettings_Location.json" + } + }, + "summary": "Get user settings.", + "description": "Get current user settings for current signed in user. This operation returns settings for the user's cloud shell preferences including preferred location, storage profile, shell type, font and size settings.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UserSettingsNameParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSettingsResponse" + }, + "headers": { + "x-ms-console-required-location-code": { + "type": "string", + "description": "normalized required location code" + }, + "x-ms-console-preview-user": { + "type": "boolean", + "description": "indicates whether user is a previous usr." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "operationId": "patchUserSettingsWithLocation", + "summary": "patch user settings.", + "description": "Patch cloud shell settings for current signed in user", + "x-ms-examples": { + "PatchUserSettings": { + "$ref": "./examples/PatchUserSettings_Location.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UserSettingsNameParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "name": "parameters", + "description": "The properties of the user settings to be updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/CloudShellPatchUserSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSettingsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "deleteUserSettingsWithLocation", + "summary": "delete user settings.", + "x-ms-examples": { + "DeleteUserSettings": { + "$ref": "./examples/DeleteUserSettings_Location.json" + } + }, + "description": "Delete cloud shell settings for current signed in user", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UserSettingsNameParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "putUserSettingsWithLocation", + "summary": "put user settings.", + "x-ms-examples": { + "PutUserSettings": { + "$ref": "./examples/PutUserSettings_Location.json" + } + }, + "description": "Create or update cloud shell settings for current signed in user", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UserSettingsNameParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "name": "parameters", + "description": "The properties of the user settings to be created or updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/CloudShellUserSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSettingsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Portal/locations/{location}/consoles/{consoleName}": { + "get": { + "operationId": "getConsoleWithLocation", + "summary": "Get console", + "x-ms-examples": { + "GetConsole": { + "$ref": "./examples/GetConsole_Location.json" + } + }, + "description": "Gets the console for the user.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CloudShellConsole" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "putConsoleWithLocation", + "summary": "Put console", + "x-ms-examples": { + "PutConsole": { + "$ref": "./examples/PutConsole_Location.json" + } + }, + "description": "Puts a request for a console", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CloudShellConsole" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/CloudShellConsole" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "deleteConsoleWithLocation", + "summary": "Delete console", + "x-ms-examples": { + "DeleteConsole": { + "$ref": "./examples/DeleteConsole_Location.json" + } + }, + "description": "Deletes the console", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Portal/locations/{location}/consoles/{consoleName}/keepAlive": { + "post": { + "operationId": "keepAliveWithLocation", + "x-ms-examples": { + "GetUserSettings": { + "$ref": "./examples/KeepAlive_Location.json" + } + }, + "summary": "Keep alive", + "description": "Keep console alive", + "parameters": [ + { + "$ref": "#/parameters/ConsoleNameParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "x-ms-console-remaining-seconds": { + "type": "integer", + "format": "int32", + "description": "Remaining time left in session, in seconds." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Portal/userSettings/{userSettingsName}": { + "get": { + "operationId": "GetUserSettings", + "x-ms-examples": { + "GetUserSettings": { + "$ref": "./examples/GetUserSettings.json" + } + }, + "summary": "Get user settings.", + "description": "Get current user settings for current signed in user. This operation returns settings for the user's cloud shell preferences including preferred location, storage profile, shell type, font and size settings.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UserSettingsNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSettingsResponse" + }, + "headers": { + "x-ms-console-required-location-code": { + "type": "string", + "description": "normalized required location code" + }, + "x-ms-console-preview-user": { + "type": "boolean", + "description": "indicates whether user is a previous usr." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "operationId": "PatchUserSettings", + "summary": "patch user settings.", + "description": "Patch cloud shell settings for current signed in user", + "x-ms-examples": { + "PatchUserSettings": { + "$ref": "./examples/PatchUserSettings.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UserSettingsNameParameter" + }, + { + "name": "parameters", + "description": "The properties of the user settings to be updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/CloudShellPatchUserSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSettingsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "DeleteUserSettings", + "x-ms-examples": { + "DeleteUserSettings": { + "$ref": "./examples/DeleteUserSettings.json" + } + }, + "summary": "delete user settings.", + "description": "Delete cloud shell settings for current signed in user", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UserSettingsNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "PutUserSettings", + "x-ms-examples": { + "PutUserSettings": { + "$ref": "./examples/PutUserSettings.json" + } + }, + "summary": "put user settings.", + "description": "Create or update cloud shell settings for current signed in user", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UserSettingsNameParameter" + }, + { + "name": "parameters", + "description": "The properties of the user settings to be created or updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/CloudShellUserSettings" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSettingsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Portal/consoles/{consoleName}": { + "get": { + "operationId": "GetConsole", + "x-ms-examples": { + "GetConsole": { + "$ref": "./examples/GetConsole.json" + } + }, + "summary": "Get console", + "description": "Gets the console for the user.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CloudShellConsole" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "operationId": "PutConsole", + "x-ms-examples": { + "PutConsole": { + "$ref": "./examples/PutConsole.json" + } + }, + "summary": "Put console", + "description": "Puts a request for a console", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + }, + { + "name": "parameters", + "description": "The console definition.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/ConsoleDefinition" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CloudShellConsole" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/CloudShellConsole" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "operationId": "DeleteConsole", + "x-ms-examples": { + "DeleteConsole": { + "$ref": "./examples/DeleteConsole.json" + } + }, + "summary": "Delete console", + "description": "Deletes the console", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ConsoleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Portal/consoles/{consoleName}/keepAlive": { + "post": { + "operationId": "KeepAlive", + "x-ms-examples": { + "KeepAlive": { + "$ref": "./examples/KeepAlive.json" + } + }, + "summary": "Keep alive", + "description": "Keep console alive", + "parameters": [ + { + "$ref": "#/parameters/ConsoleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "x-ms-console-remaining-seconds": { + "type": "integer", + "format": "int32", + "description": "Remaining time left in session, in seconds." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "CloudShellConsole": { + "description": "Cloud shell console", + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConsoleProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ConsoleProperties": { + "description": "Cloud shell console properties.", + "type": "object", + "required": [ + "osType", + "provisioningState", + "uri" + ], + "properties": { + "osType": { + "description": "The operating system type of the cloud shell.", + "type": "string", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "osType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Provisioning state of the console.", + "type": "string", + "enum": [ + "NotSpecified", + "Accepted", + "Pending", + "Updating", + "Creating", + "Repairing", + "Failed", + "Canceled", + "Succeeded" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "uri": { + "description": "Uri of the console.", + "type": "string" + } + } + }, + "ConsoleCreateProperties": { + "description": "Cloud shell properties for creating a console.", + "type": "object", + "required": [ + "osType" + ], + "properties": { + "osType": { + "description": "The operating system type of the cloud shell.", + "type": "string", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "osType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Provisioning state of the console.", + "type": "string", + "enum": [ + "NotSpecified", + "Accepted", + "Pending", + "Updating", + "Creating", + "Repairing", + "Failed", + "Canceled", + "Succeeded" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "uri": { + "description": "Uri of the console.", + "type": "string" + } + } + }, + "ConsoleDefinition": { + "description": "Console definition", + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConsoleCreateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "Resource": { + "description": "The Resource model definition.", + "x-ms-azure-resource": true + }, + "UserSettingsResponse": { + "description": "Response to get user settings", + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "$ref": "#/definitions/UserProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "CloudShellUserSettings": { + "description": "Cloud shell user settings.", + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "$ref": "#/definitions/UserProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "CloudShellPatchUserSettings": { + "description": "Cloud shell patch operation user settings.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UserProperties" + } + } + }, + "UserProperties": { + "description": "The cloud shell user settings properties.", + "type": "object", + "required": [ + "preferredOsType", + "preferredLocation", + "storageProfile", + "terminalSettings", + "preferredShellType" + ], + "properties": { + "preferredOsType": { + "description": "The operating system type of the cloud shell. Deprecated, use preferredShellType.", + "type": "string", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "osType", + "modelAsString": true + } + }, + "preferredLocation": { + "description": "The preferred location of the cloud shell.", + "type": "string" + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile" + }, + "terminalSettings": { + "$ref": "#/definitions/TerminalSettings" + }, + "preferredShellType": { + "description": "The shell type of the cloud shell.", + "type": "string", + "enum": [ + "bash", + "pwsh", + "powershell" + ], + "x-ms-enum": { + "name": "shellType", + "modelAsString": true + } + } + } + }, + "StorageProfile": { + "description": "The storage profile of the user settings.", + "type": "object", + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "Full resource ID of storage account." + }, + "fileShareName": { + "type": "string", + "description": "Name of the mounted file share. 63 characters or less, lowercase alphabet, numbers, and -" + }, + "diskSizeInGB": { + "type": "integer", + "format": "int32", + "description": "Size of file share" + } + } + }, + "TerminalSettings": { + "description": "Settings for terminal appearance.", + "type": "object", + "properties": { + "fontSize": { + "type": "string", + "description": "Size of terminal font.", + "enum": [ + "NotSpecified", + "Small", + "Medium", + "Large" + ], + "x-ms-enum": { + "name": "fontSize", + "modelAsString": true + } + }, + "fontStyle": { + "type": "string", + "description": "Style of terminal font.", + "enum": [ + "NotSpecified", + "Monospace", + "Courier" + ], + "x-ms-enum": { + "name": "fontStyle", + "modelAsString": true + } + } + } + }, + "ErrorResponse": { + "title": "ErrorResponse", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "required": [ + "error" + ] + }, + "ErrorDetail": { + "title": "ErrorDetail", + "type": "object", + "properties": { + "code": { + "description": "The error's code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version", + "x-ms-parameter-location": "client" + }, + "ConsoleNameParameter": { + "name": "consoleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the console", + "x-ms-parameter-location": "client" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The provider location", + "x-ms-parameter-location": "method" + }, + "UserSettingsNameParameter": { + "name": "userSettingsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user settings", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole.json new file mode 100644 index 000000000000..a9580f1734a6 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "consoleName": "default", + "api-version": "2018-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole_Location.json new file mode 100644 index 000000000000..98e9199a1c24 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole_Location.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "consoleName": "default", + "location": "eastus", + "api-version": "2018-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings.json new file mode 100644 index 000000000000..e3b501a0830a --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "userSettingsName": "cloudconsole", + "api-version": "2018-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings_Location.json new file mode 100644 index 000000000000..626b8022a573 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings_Location.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "userSettingsName": "cloudconsole", + "location": "eastus", + "api-version": "2018-10-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole.json new file mode 100644 index 000000000000..c8939a5fff0e --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "consoleName": "default", + "api-version": "2018-10-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Linux", + "provisioningState": "Succeeded", + "uri": "string" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole_Location.json new file mode 100644 index 000000000000..fe8097963b2c --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole_Location.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "consoleName": "default", + "location": "eastus", + "api-version": "2018-10-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Linux", + "provisioningState": "Succeeded", + "uri": "string" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings.json new file mode 100644 index 000000000000..9e1fffc82978 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "userSettingsName": "cloudconsole", + "api-version": "2018-10-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "eastus", + "storageProfile": { + "storageAccountResourceId": "string", + "fileShareName": "string", + "diskSizeInGB": 5 + }, + "terminalSettings": { + "fontSize": "Medium", + "fontStyle": "Monospace" + }, + "preferredShellType": "bash" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings_Location.json new file mode 100644 index 000000000000..3f99bf4fde31 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings_Location.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "userSettingsName": "cloudconsole", + "location": "eastus", + "api-version": "2018-10-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "eastus", + "storageProfile": { + "storageAccountResourceId": "string", + "fileShareName": "string", + "diskSizeInGB": 5 + }, + "terminalSettings": { + "fontSize": "Medium", + "fontStyle": "Monospace" + }, + "preferredShellType": "bash" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive.json new file mode 100644 index 000000000000..bddba272284f --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "consoleName": "default", + "api-version": "2018-10-01", + "body": { + "properties": { + "OsType": "Linux" + } + } + }, + "responses": { + "200": { + "headers": { + "x-ms-console-remaining-seconds": 300 + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive_Location.json new file mode 100644 index 000000000000..6aecb9bdc77b --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive_Location.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "consoleName": "default", + "location": "eastus", + "api-version": "2018-10-01", + "body": { + "properties": { + "OsType": "Linux" + } + } + }, + "responses": { + "200": { + "headers": { + "x-ms-console-remaining-seconds": 300 + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings.json new file mode 100644 index 000000000000..c646cf0af9ba --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "userSettingsName": "cloudconsole", + "location": "eastus", + "api-version": "2018-10-01", + "parameters": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "", + "storageProfile": {}, + "terminalSettings": {}, + "preferredShellType": "bash" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "eastus", + "storageProfile": { + "storageAccountResourceId": "/subscriptions/ae43b1e3-c35d-4c8c-bc0d-f148b4c52b78/resourcegroups/cloud-shell-storage-westus/providers/Microsoft.Storage/storageAccounts/cs410033fffa1eebadb", + "fileShareName": "cs-rosturm-microsoft-com-10033fffa1eebadb", + "diskSizeInGB": 5 + }, + "terminalSettings": { + "fontSize": "Small", + "fontStyle": "Monospace" + }, + "preferredShellType": "bash" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings_Location.json new file mode 100644 index 000000000000..c646cf0af9ba --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings_Location.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "userSettingsName": "cloudconsole", + "location": "eastus", + "api-version": "2018-10-01", + "parameters": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "", + "storageProfile": {}, + "terminalSettings": {}, + "preferredShellType": "bash" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "eastus", + "storageProfile": { + "storageAccountResourceId": "/subscriptions/ae43b1e3-c35d-4c8c-bc0d-f148b4c52b78/resourcegroups/cloud-shell-storage-westus/providers/Microsoft.Storage/storageAccounts/cs410033fffa1eebadb", + "fileShareName": "cs-rosturm-microsoft-com-10033fffa1eebadb", + "diskSizeInGB": 5 + }, + "terminalSettings": { + "fontSize": "Small", + "fontStyle": "Monospace" + }, + "preferredShellType": "bash" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole.json new file mode 100644 index 000000000000..34a3d68780cd --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "consoleName": "default", + "api-version": "2018-10-01", + "parameters": { + "properties": { + "osType": "Linux" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "osType": "Linux", + "provisioningState": "Succeeded", + "uri": "string" + } + } + }, + "200": { + "body": { + "properties": { + "osType": "Linux", + "provisioningState": "Succeeded", + "uri": "string" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole_Location.json new file mode 100644 index 000000000000..c1fc796c0288 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole_Location.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "consoleName": "default", + "location": "eastus", + "api-version": "2018-10-01", + "parameters": { + "properties": { + "osType": "Linux" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Linux", + "provisioningState": "Succeeded", + "uri": "string" + } + } + }, + "201": { + "body": { + "properties": { + "osType": "Linux", + "provisioningState": "Succeeded", + "uri": "string" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings.json new file mode 100644 index 000000000000..2e74b9b9b157 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "userSettingsName": "cloudconsole", + "api-version": "2018-10-01", + "parameters": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "eastus", + "storageProfile": { + "storageAccountResourceId": "string", + "fileShareName": "string", + "diskSizeInGB": 5 + }, + "terminalSettings": { + "fontSize": "Medium", + "fontStyle": "Monospace" + }, + "preferredShellType": "bash" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "eastus", + "storageProfile": { + "storageAccountResourceId": "string", + "fileShareName": "string", + "diskSizeInGB": 5 + }, + "terminalSettings": { + "fontSize": "Medium", + "fontStyle": "Monospace" + }, + "preferredShellType": "bash" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings_Location.json new file mode 100644 index 000000000000..49ca747ec0e3 --- /dev/null +++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings_Location.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "userSettingsName": "cloudconsole", + "location": "eastus", + "api-version": "2018-10-01", + "parameters": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "eastus", + "storageProfile": { + "storageAccountResourceId": "string", + "fileShareName": "string", + "diskSizeInGB": 5 + }, + "terminalSettings": { + "fontSize": "Medium", + "fontStyle": "Monospace" + }, + "preferredShellType": "bash" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "preferredOsType": "Linux", + "preferredLocation": "eastus", + "storageProfile": { + "storageAccountResourceId": "string", + "fileShareName": "string", + "diskSizeInGB": 5 + }, + "terminalSettings": { + "fontSize": "Medium", + "fontStyle": "Monospace" + }, + "preferredShellType": "bash" + } + } + } + } +} diff --git a/specification/cloudshell/resource-manager/readme.azureresourceschema.md b/specification/cloudshell/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6f76c466351e --- /dev/null +++ b/specification/cloudshell/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-portal-2018-10-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-portal-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/stable/2018-10-01/CloudShell.json + +``` diff --git a/specification/cloudshell/resource-manager/readme.md b/specification/cloudshell/resource-manager/readme.md new file mode 100644 index 000000000000..6fb7acdaf933 --- /dev/null +++ b/specification/cloudshell/resource-manager/readme.md @@ -0,0 +1,179 @@ +# CloudShell + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for CloudShell. + +## Getting Started + +To build the SDKs for CloudShell, 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 CloudShell. + +```yaml +openapi-type: arm +tag: package-2018-10-01 +``` + +### Tag: package-2018-10-01 + +These settings apply only when `--tag=package-2018-10-01` is specified on the command line. + +```yaml $(tag) == 'package-2018-10-01' +input-file: + - Microsoft.Portal/stable/2018-10-01/CloudShell.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_cloudshell'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cloudshell/resource-manager +``` + +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true + namespace: cloudshell +``` + +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: Microsoft.Portal + package-name: CloudShell + clear-output-folder: true +``` +``` yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/cloudshell +``` + +## Ruby + +```yaml +package-name: azure_mgmt_cloudshell +package-version: 2018-10-01 +azure-arm: true +``` + +### Tag: package-2018-10-01 and ruby + +These settings apply only when `--tag=package-2018-10-01 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2018-10-01' && $(ruby) +namespace: Microsoft.Portal +output-folder: $(ruby-sdks-folder)/CloudShell +``` + +### Tag: package-2020-04-01 and ruby + +These settings apply only when `--tag=package-2018-04-01 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2018-04-01' && $(ruby) +namespace: Microsoft.Portal +output-folder: $(ruby-sdks-folder)/CloudShell +``` + +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "CloudShell" + output-folder: "$(typescript-sdks-folder)/packages/CloudShell" + payload-flattening-threshold: 1 + generate-metadata: true +``` + +## CSharp + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.CloudShell + output-folder: $(csharp-sdks-folder)/CloudShell/management/Microsoft.CloudShell/GeneratedProtocol +``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/Microsoft.Portal/stable/2018-10-01/CloudShell.json + +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json index ac5d89494132..3c12b4188bed 100644 --- a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json +++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json @@ -31,7 +31,7 @@ "post": { "summary": "Detect anomalies for the entire series in batch.", "description": "This operation generates a model using 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 is an anomaly. The entire detection can give user an overall status of the time series.", - "operationId": "EntireDetect", + "operationId": "DetectEntireSeries", "parameters": [ { "name": "body", @@ -39,7 +39,7 @@ "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.", "required": true, "schema": { - "$ref": "#/definitions/Request" + "$ref": "#/definitions/DetectRequest" } } ], @@ -59,7 +59,7 @@ "default": { "description": "Error response.", "schema": { - "$ref": "#/definitions/APIError" + "$ref": "#/definitions/AnomalyDetectorError" } } }, @@ -74,7 +74,7 @@ "post": { "summary": "Detect anomaly status of the latest point in time series.", "description": "This operation generates a model using points before the latest one. With this method, only historical points are used to determine whether the target point is an anomaly. The latest point detecting operation matches the scenario of real-time monitoring of business metrics.", - "operationId": "LastDetect", + "operationId": "DetectLastPoint", "parameters": [ { "name": "body", @@ -82,7 +82,7 @@ "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.", "required": true, "schema": { - "$ref": "#/definitions/Request" + "$ref": "#/definitions/DetectRequest" } } ], @@ -102,7 +102,7 @@ "default": { "description": "Error response.", "schema": { - "$ref": "#/definitions/APIError" + "$ref": "#/definitions/AnomalyDetectorError" } } }, @@ -113,11 +113,11 @@ } } }, - "/timeseries/changePoint/detect": { + "/timeseries/changepoint/detect": { "post": { "summary": "Detect change point for the entire series", "description": "Evaluate change point score of every series point", - "operationId": "ChangePointDetect", + "operationId": "DetectChangePoint", "parameters": [ { "name": "body", @@ -145,7 +145,7 @@ "default": { "description": "Error response.", "schema": { - "$ref": "#/definitions/APIError" + "$ref": "#/definitions/AnomalyDetectorError" } } }, @@ -158,7 +158,7 @@ } }, "definitions": { - "APIError": { + "AnomalyDetectorError": { "type": "object", "description": "Error information returned by the API.", "properties": { @@ -186,13 +186,38 @@ } } }, - "Granularity": { + "TimeGranularity": { "type": "string", "description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid.", "x-nullable": false, "x-ms-enum": { - "name": "Granularity", - "modelAsString": false + "name": "TimeGranularity", + "modelAsString": false, + "values": [ + { + "value": "yearly" + }, + { + "value": "monthly" + }, + { + "value": "weekly" + }, + { + "value": "daily" + }, + { + "value": "hourly" + }, + { + "name": "perMinute", + "value": "minutely" + }, + { + "name": "perSecond", + "value": "secondly" + } + ] }, "enum": [ "yearly", @@ -210,7 +235,7 @@ "x-nullable": false, "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}." }, - "Request": { + "DetectRequest": { "type": "object", "required": [ "granularity", @@ -221,11 +246,11 @@ "type": "array", "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the anomaly detection result. If the data is not sorted correctly or there is duplicated timestamp, the API will not work. In such case, an error message will be returned.", "items": { - "$ref": "#/definitions/Point" + "$ref": "#/definitions/TimeSeriesPoint" } }, "granularity": { - "$ref": "#/definitions/Granularity" + "$ref": "#/definitions/TimeGranularity" }, "customInterval": { "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.", @@ -248,7 +273,7 @@ } } }, - "Point": { + "TimeSeriesPoint": { "type": "object", "required": [ "timestamp", @@ -400,11 +425,11 @@ "type": "array", "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the change point detection result.", "items": { - "$ref": "#/definitions/Point" + "$ref": "#/definitions/TimeSeriesPoint" } }, "granularity": { - "$ref": "#/definitions/Granularity", + "$ref": "#/definitions/TimeGranularity", "description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid." }, "customInterval": { diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md index 29770127847f..e698a92e151e 100644 --- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md +++ b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md @@ -4,24 +4,23 @@ 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) +``` yaml python-mode: create -python: - license-header: MICROSOFT_MIT_NO_VERSION - add-credentials: true - payload-flattening-threshold: 2 - namespace: azure.cognitiveservices.anomalydetector - package-name: azure-cognitiveservices-anomalydetector - package-version: 0.2.0 - clear-output-folder: true +license-header: MICROSOFT_MIT_NO_VERSION +add-credentials: true +credential-default-policy-type: AzureKeyCredentialPolicy +credential-key-header-name: Ocp-Apim-Subscription-Key +payload-flattening-threshold: 1 +namespace: azure.cognitiveservices.anomalydetector +package-name: azure-cognitiveservices-anomalydetector +package-version: 0.2.0 +clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector/azure/cognitiveservices/anomalydetector +``` yaml $(python-mode) == 'update' +no-namespace-folders: true +output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector/azure/cognitiveservices/anomalydetector ``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector +``` yaml $(python-mode) == 'create' +basic-setup-py: true +output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector ``` diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json new file mode 100644 index 000000000000..2cd2d43ed37c --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json @@ -0,0 +1,500 @@ +{ + "swagger": "2.0", + "info": { + "version": "3.1-preview.2", + "title": "Computer Vision Client", + "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively." + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "host": "westcentralus.api.cognitive.microsoft.com", + "basePath": "/vision/v3.1-preview.2", + "schemes": [ + "https" + ], + "paths": { + "/read/analyze": { + "post": { + "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.​", + "operationId": "Read", + "parameters": [ + { + "$ref": "#/parameters/OcrDetectionLanguage" + }, + { + "$ref": "#/parameters/ImageUrl" + }, + { + "$ref": "#/parameters/Pages" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "The service has accepted the request and will start processing later.", + "headers": { + "Operation-Location": { + "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ", + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Analyze request": { + "$ref": "./examples/SuccessfulReadWithUrl.json" + } + } + } + }, + "/read/analyzeResults/{operationId}": { + "get": { + "description": "This interface is used for getting OCR results of Read operation. The URL to this interface should be retrieved from 'Operation-Location' field returned from Read interface.", + "operationId": "GetReadResult", + "parameters": [ + { + "name": "operationId", + "in": "path", + "description": "Id of read operation returned in the response of the 'Read' interface.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Returns the read operation status.", + "schema": { + "$ref": "#/definitions/ReadOperationResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Get Read Result request": { + "$ref": "./examples/SuccessfulGetReadResult.json" + } + } + } + } + }, + "x-ms-paths": { + "/read/analyze?overload=stream": { + "post": { + "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.​", + "operationId": "ReadInStream", + "parameters": [ + { + "$ref": "#/parameters/OcrDetectionLanguage" + }, + { + "$ref": "#/parameters/ImageStream" + }, + { + "$ref": "#/parameters/Pages" + } + ], + "consumes": [ + "application/octet-stream" + ], + "produces": [ + "application/json" + ], + "responses": { + "202": { + "description": "The service has accepted the request and will start processing later.", + "headers": { + "Operation-Location": { + "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ", + "type": "string" + } + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/ComputerVisionError" + } + } + }, + "x-ms-examples": { + "Successful Analyze request": { + "$ref": "./examples/SuccessfulReadWithStream.json" + } + } + } + } + }, + "definitions": { + "ReadOperationResult": { + "type": "object", + "description": "OCR result of the read operation.", + "properties": { + "status": { + "description": "Status of the read operation.", + "$ref": "#/definitions/OperationStatus" + }, + "createdDateTime": { + "type": "string", + "description": "Get UTC date time the batch operation was submitted.", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "type": "string", + "description": "Get last updated UTC date time of this batch operation.", + "x-nullable": false + }, + "analyzeResult": { + "description": "Analyze batch operation result.", + "type": "object", + "$ref": "#/definitions/analyzeResults" + } + } + }, + "OperationStatus": { + "type": "string", + "description": "Status code of the text operation.", + "enum": [ + "notStarted", + "running", + "failed", + "succeeded" + ], + "x-ms-enum": { + "name": "OperationStatusCodes", + "modelAsString": false + }, + "x-nullable": false + }, + "ReadResult": { + "description": "Text extracted from a page in the input document.", + "type": "object", + "required": [ + "page", + "angle", + "width", + "height", + "unit", + "lines" + ], + "properties": { + "page": { + "description": "The 1-based page number of the recognition result.", + "type": "integer" + }, + "language": { + "description": "The BCP-47 language code of the recognized text page.", + "type": "string" + }, + "angle": { + "description": "The orientation of the image in degrees in the clockwise direction. Range between [-180, 180).", + "type": "number" + }, + "width": { + "description": "The width of the image in pixels or the PDF in inches.", + "type": "number" + }, + "height": { + "description": "The height of the image in pixels or the PDF in inches.", + "type": "number" + }, + "unit": { + "description": "The unit used in the Width, Height and BoundingBox. For images, the unit is 'pixel'. For PDF, the unit is 'inch'.", + "type": "string", + "enum": [ + "pixel", + "inch" + ], + "x-ms-enum": { + "name": "TextRecognitionResultDimensionUnit", + "modelAsString": false + }, + "x-nullable": false + }, + "lines": { + "description": "A list of recognized text lines.", + "type": "array", + "items": { + "$ref": "#/definitions/Line" + } + } + } + }, + "analyzeResults": { + "description": "Analyze batch operation result.", + "type": "object", + "required": [ + "version", + "readResults" + ], + "properties": { + "version": { + "description": "Version of schema used for this result.", + "type": "string" + }, + "readResults": { + "description": "Text extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/ReadResult" + } + } + } + }, + "Line": { + "description": "An object representing a recognized text line.", + "type": "object", + "required": [ + "boundingBox", + "text", + "words" + ], + "properties": { + "language": { + "description": "The BCP-47 language code of the recognized text line. Only provided where the language of the line differs from the page's.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of a recognized line.", + "$ref": "#/definitions/BoundingBox" + }, + "appearance": { + "description": "Style and styleConfidence of the text line.", + "type": "object", + "$ref": "#/definitions/Appearance" + }, + "text": { + "description": "The text content of the line.", + "type": "string" + }, + "words": { + "description": "List of words in the text line.", + "type": "array", + "items": { + "$ref": "#/definitions/Word" + } + } + } + }, + "Word": { + "description": "An object representing a recognized word.", + "type": "object", + "required": [ + "boundingBox", + "text", + "confidence" + ], + "properties": { + "boundingBox": { + "description": "Bounding box of a recognized word.", + "$ref": "#/definitions/BoundingBox" + }, + "text": { + "description": "The text content of the word.", + "type": "string" + }, + "confidence": { + "description": "Qualitative confidence measure.", + "type": "number", + "format": "float" + } + } + }, + "BoundingBox": { + "description": "Quadrangle bounding box, with coordinates in original image. The eight numbers represent the four points (x-coordinate, y-coordinate from the left-top corner of the image) of the detected rectangle from the left-top corner in the clockwise direction. For images, coordinates are in pixels. For PDF, coordinates are in inches.", + "type": "array", + "items": { + "type": "number", + "x-nullable": false + } + }, + "Appearance": { + "description": "An object representing the style and styleConfidence.", + "type": "object", + "required": [ + "style", + "styleConfidence" + ], + "properties": { + "style": { + "description": "The text line style.", + "type": "string", + "enum": [ + "handwriting", + "print" + ] + }, + "styleConfidence": { + "description": "The confidence of text line style.", + "type": "number", + "format": "float" + } + } + }, + "ComputerVisionError": { + "description": "Details about the API request error.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "enum": [ + "InvalidImageFormat", + "UnsupportedMediaType", + "InvalidImageUrl", + "NotSupportedFeature", + "NotSupportedImage", + "Timeout", + "InternalServerError", + "InvalidImageSize", + "BadArgument", + "DetectFaceError", + "NotSupportedLanguage", + "InvalidThumbnailSize", + "InvalidDetails", + "InvalidModel", + "CancelledRequest", + "NotSupportedVisualFeature", + "FailedToProcess", + "Unspecified", + "StorageException", + "InvalidPageRange" + ], + "x-ms-enum": { + "name": "ComputerVisionErrorCodes", + "modelAsString": true + } + }, + "message": { + "description": "A message explaining the error reported by the service.", + "type": "string" + }, + "requestId": { + "description": "A unique request identifier.", + "type": "string" + } + } + }, + "ImageUrl": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "Publicly reachable URL of an image.", + "type": "string" + } + } + } + }, + "parameters": { + "OcrDetectionLanguage": { + "name": "language", + "in": "query", + "description": "The BCP-47 language code of the text in the document. Currently, only English ('en'), Dutch ('nl'), French ('fr'), German ('de'), Italian ('it'), Portuguese ('pt'), and Spanish ('es') are supported. Read supports auto language identification and multi-language documents, so only provide a language code if you would like to force the documented to be processed as that specific language.", + "required": false, + "default": "en", + "x-ms-parameter-location": "method", + "type": "string", + "x-ms-enum": { + "name": "OcrDetectionLanguage", + "modelAsString": true + }, + "enum": [ + "en", + "es", + "fr", + "de", + "it", + "nl", + "pt" + ] + }, + "ImageUrl": { + "name": "ImageUrl", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-client-flatten": true, + "description": "A JSON document with a URL pointing to the image that is to be analyzed.", + "schema": { + "$ref": "#/definitions/ImageUrl" + } + }, + "ImageStream": { + "name": "Image", + "in": "body", + "required": true, + "x-ms-parameter-location": "method", + "description": "An image stream.", + "schema": { + "type": "object", + "format": "file" + } + }, + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoints.", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "Pages": { + "name": "Pages", + "in": "query", + "description": "Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma or space.", + "required": false, + "x-ms-parameter-location": "method", + "type": "array", + "items": { + "type": "string", + "pattern": "(^[0-9]+-[0-9]+$)|(^[0-9]+$)" + }, + "collectionFormat": "csv" + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json new file mode 100644 index 000000000000..a6ad36931547 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json @@ -0,0 +1,385 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "operationId": "e56ffa6e-1ee4-4042-bc07-993db706c95f" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "status": "succeeded", + "createdDateTime": "2019-10-03T14:32:04.236Z", + "lastUpdatedDateTime": "2019-10-03T14:38:14.852Z", + "analyzeResult": { + "version": "v3.1", + "readResults": [ + { + "page": 1, + "language": "en", + "angle": 49.59, + "width": 600, + "height": 400, + "unit": "pixel", + "lines": [ + { + "boundingBox": [ + 202, + 618, + 2047, + 643, + 2046, + 840, + 200, + 813 + ], + "appearance": { + "style": "print", + "styleConfidence": 0.995 + }, + "text": "Our greatest glory is not", + "words": [ + { + "boundingBox": [ + 204, + 627, + 481, + 628, + 481, + 830, + 204, + 829 + ], + "text": "Our", + "confidence": 0.164 + }, + { + "boundingBox": [ + 519, + 628, + 1057, + 630, + 1057, + 832, + 518, + 830 + ], + "text": "greatest", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1114, + 630, + 1549, + 631, + 1548, + 833, + 1114, + 832 + ], + "text": "glory", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1586, + 631, + 1785, + 632, + 1784, + 834, + 1586, + 833 + ], + "text": "is", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1822, + 632, + 2115, + 633, + 2115, + 835, + 1822, + 834 + ], + "text": "not", + "confidence": 0.164 + } + ] + }, + { + "boundingBox": [ + 420, + 1273, + 2954, + 1250, + 2958, + 1488, + 422, + 1511 + ], + "appearance": { + "style": "handwriting", + "styleConfidence": 0.985 + }, + "text": "but in rising every time we fall", + "words": [ + { + "boundingBox": [ + 423, + 1269, + 634, + 1268, + 635, + 1507, + 424, + 1508 + ], + "text": "but", + "confidence": 0.164 + }, + { + "boundingBox": [ + 667, + 1268, + 808, + 1268, + 809, + 1506, + 668, + 1507 + ], + "text": "in", + "confidence": 0.164 + }, + { + "boundingBox": [ + 874, + 1267, + 1289, + 1265, + 1290, + 1504, + 875, + 1506 + ], + "text": "rising", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1331, + 1265, + 1771, + 1263, + 1772, + 1502, + 1332, + 1504 + ], + "text": "every", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1812, + 1263, + 2178, + 1261, + 2179, + 1500, + 1813, + 1502 + ], + "text": "time", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2219, + 1261, + 2510, + 1260, + 2511, + 1498, + 2220, + 1500 + ], + "text": "we", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2551, + 1260, + 3016, + 1258, + 3017, + 1496, + 2552, + 1498 + ], + "text": "fall", + "confidence": 0.164 + } + ] + }, + { + "language": "es", + "boundingBox": [ + 1612, + 903, + 2744, + 935, + 2738, + 1139, + 1607, + 1107 + ], + "appearance": { + "style": "print", + "styleConfidence": 0.995 + }, + "text": "Viva la vida", + "words": [ + { + "boundingBox": [ + 323, + 454, + 416, + 449, + 418, + 494, + 325, + 501 + ], + "text": "Viva", + "confidence": 0.164 + }, + { + "boundingBox": [ + 92, + 550, + 429, + 541, + 430, + 591, + 94, + 600 + ], + "text": "la", + "confidence": 0.164 + }, + { + "boundingBox": [ + 58, + 466, + 268, + 458, + 270, + 505, + 161, + 512 + ], + "text": "vida", + "confidence": 0.164 + } + ] + } + ] + }, + { + "page": 2, + "language": "en", + "angle": 1.32, + "width": 600, + "height": 400, + "unit": "pixel", + "lines": [ + { + "boundingBox": [ + 1612, + 903, + 2744, + 935, + 2738, + 1139, + 1607, + 1107 + ], + "appearance": { + "style": "handwriting", + "styleConfidence": 0.855 + }, + "text": "in never failing ,", + "words": [ + { + "boundingBox": [ + 1611, + 934, + 1707, + 933, + 1708, + 1147, + 1613, + 1147 + ], + "text": "in", + "confidence": 0.164 + }, + { + "boundingBox": [ + 1753, + 933, + 2132, + 930, + 2133, + 1144, + 1754, + 1146 + ], + "text": "never", + "confidence": 0.999 + }, + { + "boundingBox": [ + 2162, + 930, + 2673, + 927, + 2674, + 1140, + 2164, + 1144 + ], + "text": "failing", + "confidence": 0.164 + }, + { + "boundingBox": [ + 2703, + 926, + 2788, + 926, + 2790, + 1139, + 2705, + 1140 + ], + "text": ",", + "confidence": 0.164 + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json new file mode 100644 index 000000000000..dc0a4f1675a1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "Image": "{binary}", + "Pages": [ + "2", + "3" + ] + }, + "responses": { + "202": { + "header": { + "location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json new file mode 100644 index 000000000000..a8d69fc50abe --- /dev/null +++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "ImageUrl": { + "url": "{url}" + }, + "Pages": [ + "2", + "3" + ] + }, + "responses": { + "202": { + "header": { + "Operation-Location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md index 8fb795822422..97861eeff941 100644 --- a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md +++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md @@ -43,4 +43,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_3_1' && $(go) +output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.1-preview.2/$(namespace) ``` \ No newline at end of file diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.md index 020fca003e1d..af1edea7aad7 100644 --- a/specification/cognitiveservices/data-plane/ComputerVision/readme.md +++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.md @@ -49,6 +49,14 @@ input-file: - stable/v3.0/Ocr.json ``` +### Release 3.1-preview.2 +These settings apply only when `--tag=release_3_1_preview_2` is specified on the command line. + +``` yaml $(tag) == 'release_3_1_preview_2' +input-file: + - preview/v3.1-preview.2/Ocr.json +``` + ## Swagger to SDK This section describes what SDK should be generated by the automatic system. @@ -166,6 +174,7 @@ input-file: - $(this-folder)/preview/v3.0-preview/Ocr.json - $(this-folder)/stable/v3.0/ComputerVision.json - $(this-folder)/stable/v3.0/Ocr.json + - $(this-folder)/preview/v3.1-preview.2/Ocr.json ``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md index 1441a4a7fcad..3bfd212871ea 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md @@ -138,6 +138,7 @@ require: $(this-folder)/../../../../../profiles/readme.md input-file: - $(this-folder)/stable/v2.0/Prediction.json - $(this-folder)/stable/v3.0/Prediction.json + - $(this-folder)/stable/v3.1/Prediction.json ``` diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md index c24589d79dc3..4941afe9c847 100644 --- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md +++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md @@ -172,6 +172,7 @@ input-file: - $(this-folder)/stable/v3.1/Training.json - $(this-folder)/stable/v3.2/Training.json - $(this-folder)/stable/v3.3/Training.json + ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json index c1ffa742a19a..d96a1f87d277 100644 --- a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json +++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json @@ -513,7 +513,7 @@ }, "/persongroups/{personGroupId}": { "put": { - "description": "Create a new person group with specified personGroupId, name, user-provided userData and recognitionModel.\n
A person group is the container of the uploaded person data, including face recognition features.\n
After creation, use [PersonGroup Person - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroupperson/create) to add persons into the group, and then call [PersonGroup - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [PersonGroup Person - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroupperson/delete) or [PersonGroup - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/delete) is called.\n
'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 features in a person group can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [PersonGroup - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/create). All those person groups created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'.\n\nPerson group quota:\n* Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000 persons.\n* S0-tier subscription quota: 1,000,000 person groups. Each holds up to 10,000 persons.\n* to handle larger scale face identification problem, please consider using [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup).", + "description": "Create a new person group with specified personGroupId, name, user-provided userData and recognitionModel.\n
A person group is the container of the uploaded person data, including face recognition features.\n
After creation, use [PersonGroup Person - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroupperson/create) to add persons into the group, and then call [PersonGroup - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [PersonGroup Person - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroupperson/delete) or [PersonGroup - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/delete) is called.\n
'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 features in a person group can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [PersonGroup - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/create). All those person groups created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March.\n* 'recognition_03': Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'.\n\nPerson group quota:\n* Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000 persons.\n* S0-tier subscription quota: 1,000,000 person groups. Each holds up to 10,000 persons.\n* to handle larger scale face identification problem, please consider using [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup).", "operationId": "PersonGroup_Create", "parameters": [ { @@ -764,7 +764,7 @@ }, "/facelists/{faceListId}": { "put": { - "description": "Create an empty face list with user-specified faceListId, name, an optional userData and recognitionModel. Up to 64 face lists are allowed in one subscription.\n
Face list is a list of faces, up to 1,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar).\n
After creation, user should use [FaceList - Add Face](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/addfacefromurl) to import the faces. No image will be stored. Only the extracted face features are stored on server until [FaceList - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/delete) is called.\n
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 [PersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
Please consider [LargeFaceList](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist) when the face number is large. It can support up to 1,000,000 faces.\n
'recognitionModel' should be specified to associate with this face list. 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 face list will use the recognition model that's already associated with the collection. Existing face features in a face list can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [FaceList- Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/create). All those face lists created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'.", + "description": "Create an empty face list with user-specified faceListId, name, an optional userData and recognitionModel. Up to 64 face lists are allowed in one subscription.\n
Face list is a list of faces, up to 1,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar).\n
After creation, user should use [FaceList - Add Face](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/addfacefromurl) to import the faces. No image will be stored. Only the extracted face features are stored on server until [FaceList - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/delete) is called.\n
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 [PersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
Please consider [LargeFaceList](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist) when the face number is large. It can support up to 1,000,000 faces.\n
'recognitionModel' should be specified to associate with this face list. 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 face list will use the recognition model that's already associated with the collection. Existing face features in a face list can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [FaceList- Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/create). All those face lists created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March.\n* 'recognition_03': Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'.", "operationId": "FaceList_Create", "parameters": [ { @@ -1018,7 +1018,7 @@ }, "/detect": { "post": { - "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). The stored face feature(s) will expire and be deleted 24 hours after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure and noise. 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* 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 [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\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* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'detection_01': | The default detection model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). Recommend for near frontal face detection. For scenarios with exceptionally large angle (head-pose) faces, occluded faces or wrong image orientation, the faces in such cases may not be detected. |\n | 'detection_02': | Detection model released in 2019 May with improved accuracy especially on small, side and blurry faces. |\n\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 [How to specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'recognition_01': | The default recognition model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). All those faceIds created before 2019 March are bonded with this recognition model. |\n | 'recognition_02': | Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'. |", + "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). The stored face feature(s) will expire and be deleted 24 hours after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure and noise. 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* 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 [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\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* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'detection_01': | The default detection model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). Recommend for near frontal face detection. For scenarios with exceptionally large angle (head-pose) faces, occluded faces or wrong image orientation, the faces in such cases may not be detected. |\n | 'detection_02': | Detection model released in 2019 May with improved accuracy especially on small, side and blurry faces. |\n\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 [How to specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'recognition_01': | The default recognition model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). All those faceIds created before 2019 March are bonded with this recognition model. |\n | 'recognition_02': | Recognition model released in 2019 March. |\n | 'recognition_03': | Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'. |", "operationId": "Face_DetectWithUrl", "parameters": [ { @@ -1440,7 +1440,7 @@ }, "/largepersongroups/{largePersonGroupId}": { "put": { - "description": "Create a new large person group with user-specified largePersonGroupId, name, an optional userData and recognitionModel.\n
A large person group is the container of the uploaded person data, including face recognition feature, and up to 1,000,000\npeople.\n
After creation, use [LargePersonGroup Person - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroupperson/create) to add person into the group, and call [LargePersonGroup - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [LargePersonGroup Person - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroupperson/delete) or [LargePersonGroup - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/delete) is called.\n
'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 features in a large person group can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [LargePersonGroup - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/create). All those large person groups created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'.\n\nLarge person group quota:\n* Free-tier subscription quota: 1,000 large person groups.\n* S0-tier subscription quota: 1,000,000 large person groups.", + "description": "Create a new large person group with user-specified largePersonGroupId, name, an optional userData and recognitionModel.\n
A large person group is the container of the uploaded person data, including face recognition feature, and up to 1,000,000\npeople.\n
After creation, use [LargePersonGroup Person - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroupperson/create) to add person into the group, and call [LargePersonGroup - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [LargePersonGroup Person - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroupperson/delete) or [LargePersonGroup - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/delete) is called.\n
'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 features in a large person group can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [LargePersonGroup - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/create). All those large person groups created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March.\n* 'recognition_03': Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'.\n\nLarge person group quota:\n* Free-tier subscription quota: 1,000 large person groups.\n* S0-tier subscription quota: 1,000,000 large person groups.", "operationId": "LargePersonGroup_Create", "parameters": [ { @@ -1742,7 +1742,7 @@ }, "/largefacelists/{largeFaceListId}": { "put": { - "description": "Create an empty large face list with user-specified largeFaceListId, name, an optional userData and recognitionModel.\n
Large face list is a list of faces, up to 1,000,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar).\n
After creation, user should use [LargeFaceList Face - Add](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/addfacefromurl) to import the faces and [LargeFaceList - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/train) to make it ready for [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). No image will be stored. Only the extracted face features are stored on server until [LargeFaceList - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/delete) is called.\n
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 [PersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
'recognitionModel' should be specified to associate with this large face list. 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 face list will use the recognition model that's already associated with the collection. Existing face features in a large face list can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [LargeFaceList- Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/create). All those large face lists created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'.\n\nLarge face list quota:\n* Free-tier subscription quota: 64 large face lists.\n* S0-tier subscription quota: 1,000,000 large face lists.", + "description": "Create an empty large face list with user-specified largeFaceListId, name, an optional userData and recognitionModel.\n
Large face list is a list of faces, up to 1,000,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar).\n
After creation, user should use [LargeFaceList Face - Add](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/addfacefromurl) to import the faces and [LargeFaceList - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/train) to make it ready for [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). No image will be stored. Only the extracted face features are stored on server until [LargeFaceList - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/delete) is called.\n
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 [PersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
'recognitionModel' should be specified to associate with this large face list. 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 face list will use the recognition model that's already associated with the collection. Existing face features in a large face list can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [LargeFaceList- Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/create). All those large face lists created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March.\n* 'recognition_03': Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'.\n\nLarge face list quota:\n* Free-tier subscription quota: 64 large face lists.\n* S0-tier subscription quota: 1,000,000 large face lists.", "operationId": "LargeFaceList_Create", "parameters": [ { @@ -2495,7 +2495,7 @@ }, "/detect?overload=stream": { "post": { - "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). The stored face feature(s) will expire and be deleted 24 hours after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure and noise. 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* 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 [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\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* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'detection_01': | The default detection model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). Recommend for near frontal face detection. For scenarios with exceptionally large angle (head-pose) faces, occluded faces or wrong image orientation, the faces in such cases may not be detected. |\n | 'detection_02': | Detection model released in 2019 May with improved accuracy especially on small, side and blurry faces. |\n\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 [How to specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'recognition_01': | The default recognition model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). All those faceIds created before 2019 March are bonded with this recognition model. |\n | 'recognition_02': | Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'. |", + "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). The stored face feature(s) will expire and be deleted 24 hours after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure and noise. 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* 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 [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\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* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'detection_01': | The default detection model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). Recommend for near frontal face detection. For scenarios with exceptionally large angle (head-pose) faces, occluded faces or wrong image orientation, the faces in such cases may not be detected. |\n | 'detection_02': | Detection model released in 2019 May with improved accuracy especially on small, side and blurry faces. |\n\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 [How to specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'recognition_01': | The default recognition model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). All those faceIds created before 2019 March are bonded with this recognition model. |\n | 'recognition_02': | Recognition model released in 2019 March. |\n | 'recognition_03': | Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'. |", "operationId": "Face_DetectWithStream", "parameters": [ { @@ -3874,7 +3874,8 @@ }, "enum": [ "recognition_01", - "recognition_02" + "recognition_02", + "recognition_03" ] }, "ApplyScope": { @@ -4257,7 +4258,8 @@ }, "enum": [ "recognition_01", - "recognition_02" + "recognition_02", + "recognition_03" ] }, "returnRecognitionModel": { diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json new file mode 100644 index 000000000000..9c401eb68afe --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json @@ -0,0 +1,1967 @@ +{ + "swagger": "2.0", + "info": { + "version": "2.1-preview.1", + "title": "Form Recognizer Client", + "description": "Extracts information from forms and images into structured data." + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}/formrecognizer/v2.1-preview.1", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "paths": { + "/custom/models": { + "post": { + "summary": "Train Custom Model", + "description": "Create and train a custom model. The request must include a source parameter that is either an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be trained is expected to be under the source folder or sub folders under it. Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content is ignored.", + "operationId": "TrainCustomModelAsync", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "trainRequest", + "in": "body", + "description": "Training request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/TrainRequest" + } + } + ], + "responses": { + "201": { + "description": "Request is queued successfully.", + "headers": { + "Location": { + "type": "string", + "description": "Location and ID of the model being trained. The status of model training is specified in the status property at the model location." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Train custom model": { + "$ref": "./examples/TrainBatch.json" + }, + "Train custom model with subfolder filter options": { + "$ref": "./examples/TrainBatchWithSubFolders.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/custom/models/{modelId}": { + "get": { + "summary": "Get Custom Model", + "description": "Get detailed information about a custom model.", + "operationId": "GetCustomModel", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "includeKeys", + "in": "query", + "description": "Include list of extracted keys in model information.", + "required": false, + "default": false, + "type": "boolean", + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Model" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get custom model": { + "$ref": "./examples/GetModel.json" + } + } + }, + "delete": { + "summary": "Delete Custom Model", + "description": "Mark model for deletion. Model artifacts will be permanently removed within a predetermined period.", + "operationId": "DeleteCustomModel", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "204": { + "description": "Successfully marked model for deletion. Model artifacts will be removed within a predefined time period." + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete custom model": { + "$ref": "./examples/DeleteModel.json" + } + } + } + }, + "/custom/models/{modelId}/analyze": { + "post": { + "summary": "Analyze Form", + "description": "Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.", + "operationId": "AnalyzeWithCustomModel", + "consumes": [ + "application/pdf", + "application/json", + "image/jpeg", + "image/png", + "image/tiff" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "includeTextDetails", + "in": "query", + "description": "Include text lines and element references in the result.", + "required": false, + "default": false, + "type": "boolean", + "x-nullable": false + }, + { + "$ref": "#/parameters/FileStream" + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze form with custom model": { + "$ref": "./examples/AnalyzeBatch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/custom/models/{modelId}/analyzeResults/{resultId}": { + "get": { + "summary": "Get Analyze Form Result", + "description": "Obtain current status and the result of the analyze form operation.", + "operationId": "GetAnalyzeFormResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "resultId", + "in": "path", + "description": "Analyze operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AnalyzeOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get analyze form result": { + "$ref": "./examples/AnalyzeOperationResult.json" + } + } + } + }, + "/custom/models/{modelId}/copy": { + "post": { + "summary": "Copy Custom Model", + "description": "Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource.", + "operationId": "CopyCustomModel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "copyRequest", + "in": "body", + "description": "Copy request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/CopyRequest" + } + } + ], + "responses": { + "202": { + "description": "Copy request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the copy operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Copy custom model": { + "$ref": "./examples/CopyModel.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/custom/models/{modelId}/copyResults/{resultId}": { + "get": { + "summary": "Get Custom Model Copy Result", + "description": "Obtain current status and the result of a custom model copy operation.", + "operationId": "GetCustomModelCopyResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "modelId", + "in": "path", + "description": "Model identifier.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "name": "resultId", + "in": "path", + "description": "Copy operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CopyOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get copy custom model result": { + "$ref": "./examples/CopyOperationResult.json" + }, + "Get copy custom model result with failures": { + "$ref": "./examples/CopyOperationResultWithErrors.json" + } + } + } + }, + "/custom/models/copyAuthorization": { + "post": { + "summary": "Generate Copy Authorization", + "description": "Generate authorization to copy a model into the target Form Recognizer resource.", + "operationId": "GenerateModelCopyAuthorization", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [], + "responses": { + "201": { + "description": "Copy request is authorized successfully.", + "headers": { + "Location": { + "type": "string", + "description": "Location and ID of the model being copied. The status of model copy is specified in the status property at the model location." + } + }, + "schema": { + "$ref": "#/definitions/CopyAuthorizationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Copy custom model": { + "$ref": "./examples/CopyModelAuthorization.json" + } + } + } + }, + "/custom/models/compose": { + "post": { + "tags": [ + "Form" + ], + "summary": "Compose trained with labels models into one composed model.", + "description": "Compose request would include list of models ids.\r\nIt would validate what all models either trained with labels model or composed model.\r\nIt would validate limit of models put together.", + "operationId": "ComposeCustomModelsAsync", + "consumes": [], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "name": "composeRequest", + "in": "body", + "description": "Compose models", + "required": true, + "schema": { + "$ref": "#/definitions/ComposeRequest" + } + } + ], + "responses": { + "201": { + "description": "Request is queued successfully.", + "headers": { + "Location": { + "type": "string", + "description": "Location and ID of the composed model. The status of composed model is specified in the status property at the model location." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Compose custom models": { + "$ref": "./examples/ComposeModels.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/prebuilt/businessCard/analyze": { + "post": { + "summary": "Analyze Business Card", + "description": "Extract field text and semantic values from a given business card document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.", + "operationId": "AnalyzeBusinessCardAsync", + "consumes": [ + "application/pdf", + "application/json", + "image/jpeg", + "image/png", + "image/tiff" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "includeTextDetails", + "in": "query", + "description": "Include text lines and element references in the result.", + "required": false, + "default": false, + "type": "boolean", + "x-nullable": false + }, + { + "name": "locale", + "in": "query", + "description": "Locale of the business card. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/FileStream" + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze Business Card": { + "$ref": "./examples/BusinessCardBatch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/prebuilt/businessCard/analyzeResults/{resultId}": { + "get": { + "summary": "Get Analyze Business Card Result", + "description": "Track the progress and obtain the result of the analyze business card operation.", + "operationId": "GetAnalyzeBusinessCardResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "resultId", + "in": "path", + "description": "Analyze operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AnalyzeOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get analyze business card result": { + "$ref": "./examples/BusinessCardBatchResult.json" + } + } + } + }, + "/prebuilt/receipt/analyze": { + "post": { + "summary": "Analyze Receipt", + "description": "Extract field text and semantic values from a given receipt document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.", + "operationId": "AnalyzeReceiptAsync", + "consumes": [ + "application/pdf", + "application/json", + "image/jpeg", + "image/png", + "image/tiff" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "includeTextDetails", + "in": "query", + "description": "Include text lines and element references in the result.", + "required": false, + "default": false, + "type": "boolean", + "x-nullable": false + }, + { + "name": "locale", + "in": "query", + "description": "Locale of the receipt. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/FileStream" + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze receipt": { + "$ref": "./examples/ReceiptsBatch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/prebuilt/receipt/analyzeResults/{resultId}": { + "get": { + "summary": "Get Analyze Receipt Result", + "description": "Track the progress and obtain the result of the analyze receipt operation.", + "operationId": "GetAnalyzeReceiptResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "resultId", + "in": "path", + "description": "Analyze operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AnalyzeOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get analyze receipt result": { + "$ref": "./examples/ReceiptsBatchResult.json" + } + } + } + }, + "/layout/analyze": { + "post": { + "summary": "Analyze Layout", + "description": "Extract text and layout information from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.", + "operationId": "AnalyzeLayoutAsync", + "consumes": [ + "application/pdf", + "application/json", + "image/jpeg", + "image/png", + "image/tiff" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/FileStream" + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze layout": { + "$ref": "./examples/LayoutBatch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/layout/analyzeResults/{resultId}": { + "get": { + "summary": "Get Analyze Layout Result", + "description": "Track the progress and obtain the result of the analyze layout operation", + "operationId": "GetAnalyzeLayoutResult", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "resultId", + "in": "path", + "description": "Analyze operation result identifier.", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AnalyzeOperationResult" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get analyze layout result": { + "$ref": "./examples/LayoutBatchResult.json" + } + } + } + } + }, + "x-ms-paths": { + "/custom/models?op=full": { + "get": { + "summary": "List Custom Models", + "description": "Get information about all custom models", + "operationId": "ListCustomModels", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "op", + "in": "query", + "description": "Specify whether to return summary or full list of models.", + "required": true, + "type": "string", + "enum": [ + "full" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Models" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "modelList" + }, + "x-ms-examples": { + "List custom models": { + "$ref": "./examples/GetModels.json" + } + } + } + }, + "/custom/models?op=summary": { + "get": { + "summary": "Get Custom Models", + "description": "Get information about all custom models", + "operationId": "GetCustomModels", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "op", + "in": "query", + "description": "Specify whether to return summary or full list of models.", + "required": true, + "type": "string", + "enum": [ + "summary" + ] + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Models" + } + }, + "default": { + "description": "Response entity accompanying non-successful responses containing additional details about the error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get models summary": { + "$ref": "./examples/GetModelsSummary.json" + } + } + } + } + }, + "definitions": { + "OperationStatus": { + "type": "string", + "description": "Status of the queued operation.", + "enum": [ + "notStarted", + "running", + "succeeded", + "failed" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false + }, + "x-nullable": false + }, + "CopyAuthorizationResult": { + "description": "Request parameter that contains authorization claims for copy operation.", + "required": [ + "modelId", + "accessToken", + "expirationDateTimeTicks" + ], + "type": "object", + "properties": { + "modelId": { + "description": "Model identifier.", + "type": "string" + }, + "accessToken": { + "description": "Token claim used to authorize the request.", + "type": "string" + }, + "expirationDateTimeTicks": { + "description": "The time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time.", + "type": "integer", + "format": "int64" + } + } + }, + "CopyRequest": { + "description": "Request parameter to copy an existing custom model from the source resource to a target resource referenced by the resource ID.", + "required": [ + "targetResourceId", + "targetResourceRegion", + "copyAuthorization" + ], + "type": "object", + "properties": { + "targetResourceId": { + "description": "Azure Resource Id of the target Form Recognizer resource where the model is copied to.", + "maxLength": 1024, + "type": "string", + "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.CognitiveServices/accounts/[^/]*$", + "x-ms-azure-resource": true + }, + "targetResourceRegion": { + "description": "Location of the target Azure resource. A valid Azure region name supported by Cognitive Services.", + "type": "string", + "pattern": "^[a-z0-9]+$", + "minLength": 1, + "maxLength": 24 + }, + "copyAuthorization": { + "description": "Entity that encodes claims to authorize the copy request.", + "$ref": "#/definitions/CopyAuthorizationResult" + } + } + }, + "CopyOperationResult": { + "description": "Status and result of the queued copy operation.", + "type": "object", + "required": [ + "status", + "createdDateTime", + "lastUpdatedDateTime" + ], + "properties": { + "status": { + "description": "Operation status.", + "$ref": "#/definitions/OperationStatus" + }, + "createdDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the copy operation was submitted.", + "type": "string", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "x-nullable": false + }, + "copyResult": { + "description": "Results of the copy operation.", + "$ref": "#/definitions/CopyResult" + } + } + }, + "CopyResult": { + "description": "Custom model copy result.", + "type": "object", + "required": [ + "modelId" + ], + "properties": { + "modelId": { + "description": "Identifier of the target model.", + "type": "string", + "format": "uuid" + }, + "errors": { + "description": "Errors returned during the copy operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInformation" + } + } + } + }, + "AnalyzeOperationResult": { + "description": "Status and result of the queued analyze operation.", + "type": "object", + "required": [ + "status", + "createdDateTime", + "lastUpdatedDateTime" + ], + "properties": { + "status": { + "description": "Operation status.", + "$ref": "#/definitions/OperationStatus" + }, + "createdDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the analyze operation was submitted.", + "type": "string", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "x-nullable": false + }, + "analyzeResult": { + "description": "Results of the analyze operation.", + "$ref": "#/definitions/AnalyzeResult" + } + } + }, + "ModelName": { + "description": "Optional user defined model name (max length: 1024).", + "type": "string", + "x-nullable": false + }, + "TrainRequest": { + "description": "Request parameter to train a new custom model.", + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "description": "Source path containing the training documents.", + "maxLength": 2048, + "minLength": 0, + "type": "string" + }, + "sourceFilter": { + "$ref": "#/definitions/TrainSourceFilter", + "description": "Filter to apply to the documents in the source path for training." + }, + "useLabelFile": { + "description": "Use label file for training a model.", + "type": "boolean", + "default": false + }, + "modelName": { + "$ref": "#/definitions/ModelName" + } + } + }, + "TrainSourceFilter": { + "description": "Filter to apply to the documents in the source path for training.", + "type": "object", + "properties": { + "prefix": { + "description": "A case-sensitive prefix string to filter documents in the source path for training. For example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training.", + "maxLength": 1024, + "minLength": 0, + "type": "string" + }, + "includeSubFolders": { + "description": "A flag to indicate if sub folders within the set of prefix folders will also need to be included when searching for content to be preprocessed.", + "type": "boolean", + "default": false, + "x-nullable": false + } + } + }, + "TrainResult": { + "description": "Custom model training result.", + "type": "object", + "required": [ + "trainingDocuments" + ], + "properties": { + "trainingDocuments": { + "description": "List of the documents used to train the model and any errors reported in each document.", + "type": "array", + "items": { + "$ref": "#/definitions/TrainingDocumentInfo" + } + }, + "fields": { + "description": "List of fields used to train the model and the train operation error reported by each.", + "type": "array", + "items": { + "$ref": "#/definitions/FormFieldsReport" + } + }, + "averageModelAccuracy": { + "description": "Average accuracy.", + "type": "number", + "x-nullable": false + }, + "modelId": { + "description": "Model identifier.", + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "errors": { + "description": "Errors returned during the training operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInformation" + } + } + } + }, + "SourcePath": { + "description": "Uri or local path to source data.", + "type": "object", + "properties": { + "source": { + "description": "File source path.", + "maxLength": 2048, + "minLength": 0, + "type": "string" + } + } + }, + "Attributes": { + "description": "Optional model attributes.", + "type": "object", + "properties": { + "isComposed": { + "description": "Is this model composed? (default: false).", + "type": "boolean", + "default": false, + "x-nullable": false + } + } + }, + "ModelInfo": { + "description": "Basic custom model information.", + "type": "object", + "required": [ + "modelId", + "status", + "createdDateTime", + "lastUpdatedDateTime" + ], + "properties": { + "modelId": { + "description": "Model identifier.", + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "status": { + "description": "Status of the model.", + "enum": [ + "creating", + "ready", + "invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "ModelStatus", + "modelAsString": false + }, + "x-nullable": false + }, + "createdDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the model was created.", + "type": "string", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "x-nullable": false + }, + "modelName": { + "$ref": "#/definitions/ModelName" + }, + "attributes": { + "$ref": "#/definitions/Attributes" + } + } + }, + "Models": { + "description": "Response to the list custom models operation.", + "type": "object", + "properties": { + "summary": { + "description": "Summary of all trained custom models.", + "type": "object", + "required": [ + "count", + "limit", + "lastUpdatedDateTime" + ], + "properties": { + "count": { + "description": "Current count of trained custom models.", + "type": "integer", + "x-nullable": false + }, + "limit": { + "description": "Max number of models that can be trained for this account.", + "type": "integer", + "x-nullable": false + }, + "lastUpdatedDateTime": { + "format": "date-time", + "description": "Date and time (UTC) when the summary was last updated.", + "type": "string", + "x-nullable": false + } + } + }, + "modelList": { + "description": "Collection of trained custom models.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelInfo" + } + }, + "nextLink": { + "description": "Link to the next page of custom models.", + "type": "string" + } + } + }, + "Model": { + "description": "Response to the get custom model operation.", + "type": "object", + "required": [ + "modelInfo" + ], + "properties": { + "modelInfo": { + "$ref": "#/definitions/ModelInfo" + }, + "keys": { + "$ref": "#/definitions/KeysResult" + }, + "trainResult": { + "description": "Training result for custom model.", + "$ref": "#/definitions/TrainResult" + }, + "composedTrainResults": { + "type": "array", + "description": "Training result for composed model.", + "items": { + "$ref": "#/definitions/TrainResult" + } + } + } + }, + "KeysResult": { + "description": "Keys extracted by the custom model.", + "type": "object", + "required": [ + "clusters" + ], + "properties": { + "clusters": { + "description": "Object mapping clusterIds to a list of keys.", + "type": "object", + "additionalProperties": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + } + } + }, + "TrainingDocumentInfo": { + "description": "Report for a custom model training document.", + "type": "object", + "required": [ + "documentName", + "pages", + "errors", + "status" + ], + "properties": { + "documentName": { + "description": "Training document name.", + "type": "string" + }, + "pages": { + "format": "int32", + "description": "Total number of pages trained.", + "type": "integer", + "x-nullable": false + }, + "errors": { + "description": "List of errors.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInformation" + } + }, + "status": { + "description": "Status of the training operation.", + "enum": [ + "succeeded", + "partiallySucceeded", + "failed" + ], + "type": "string", + "x-ms-enum": { + "name": "TrainStatus", + "modelAsString": false + }, + "x-nullable": false + } + } + }, + "FormFieldsReport": { + "description": "Report for a custom model training field.", + "type": "object", + "required": [ + "fieldName", + "accuracy" + ], + "properties": { + "fieldName": { + "description": "Training field name.", + "type": "string" + }, + "accuracy": { + "description": "Estimated extraction accuracy for this field.", + "type": "number", + "x-nullable": false + } + } + }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "$ref": "#/definitions/ErrorInformation" + } + } + }, + "ErrorInformation": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ComposeRequest": { + "description": "Request contract for compose operation.", + "required": [ + "modelIds" + ], + "type": "object", + "properties": { + "modelIds": { + "description": "List of model ids to compose.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + }, + "modelName": { + "$ref": "#/definitions/ModelName" + } + } + }, + "AnalyzeResult": { + "description": "Analyze operation result.", + "type": "object", + "required": [ + "version", + "readResults" + ], + "properties": { + "version": { + "description": "Version of schema used for this result.", + "type": "string" + }, + "readResults": { + "description": "Text extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/ReadResult" + } + }, + "pageResults": { + "description": "Page-level information extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/PageResult" + } + }, + "documentResults": { + "description": "Document-level information extracted from the input.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentResult" + } + }, + "errors": { + "description": "List of errors reported during the analyze operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorInformation" + } + } + } + }, + "ReadResult": { + "description": "Text extracted from a page in the input document.", + "type": "object", + "required": [ + "page", + "angle", + "width", + "height", + "unit" + ], + "properties": { + "page": { + "description": "The 1-based page number in the input document.", + "type": "integer", + "minimum": 1, + "x-nullable": false + }, + "angle": { + "description": "The general orientation of the text in clockwise direction, measured in degrees between (-180, 180].", + "type": "number", + "minimum": -180, + "maximum": 180, + "exclusiveMinimum": true, + "x-nullable": false + }, + "width": { + "description": "The width of the image/PDF in pixels/inches, respectively.", + "type": "number", + "minimum": 0, + "x-nullable": false + }, + "height": { + "description": "The height of the image/PDF in pixels/inches, respectively.", + "type": "number", + "minimum": 0, + "x-nullable": false + }, + "unit": { + "description": "The unit used by the width, height and boundingBox properties. For images, the unit is \"pixel\". For PDF, the unit is \"inch\".", + "type": "string", + "enum": [ + "pixel", + "inch" + ], + "x-ms-enum": { + "name": "LengthUnit", + "modelAsString": false + }, + "x-nullable": false + }, + "language": { + "description": "The detected language on the page overall.", + "$ref": "#/definitions/Language" + }, + "lines": { + "description": "When includeTextDetails is set to true, a list of recognized text lines. The maximum number of lines returned is 300 per page. The lines are sorted top to bottom, left to right, although in certain cases proximity is treated with higher priority. As the sorting order depends on the detected text, it may change across images and OCR version updates. Thus, business logic should be built upon the actual line location instead of order.", + "type": "array", + "items": { + "$ref": "#/definitions/TextLine" + } + }, + "selectionMarks": { + "description": "List of selection marks extracted from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/SelectionMark" + } + } + } + }, + "Language": { + "description": "Language code", + "type": "string", + "enum": [ + "en", + "es" + ], + "x-ms-enum": { + "name": "Language", + "modelAsString": true + }, + "x-nullable": false + }, + "TextLine": { + "description": "An object representing an extracted text line.", + "type": "object", + "required": [ + "text", + "boundingBox", + "words" + ], + "properties": { + "text": { + "description": "The text content of the line.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of an extracted line.", + "$ref": "#/definitions/BoundingBox" + }, + "language": { + "description": "The detected language of this line, if different from the overall page language.", + "$ref": "#/definitions/Language" + }, + "words": { + "description": "List of words in the text line.", + "type": "array", + "items": { + "$ref": "#/definitions/TextWord" + } + } + } + }, + "TextWord": { + "description": "An object representing a word.", + "type": "object", + "required": [ + "boundingBox", + "text" + ], + "properties": { + "text": { + "description": "The text content of the word.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of an extracted word.", + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "description": "Confidence value.", + "$ref": "#/definitions/Confidence" + } + } + }, + "BoundingBox": { + "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the original image. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation. For image, the (x, y) coordinates are measured in pixels. For PDF, the (x, y) coordinates are measured in inches.", + "type": "array", + "minItems": 8, + "maxItems": 8, + "items": { + "type": "number", + "x-nullable": false + } + }, + "PageResult": { + "description": "Extracted information from a single page.", + "type": "object", + "required": [ + "page" + ], + "properties": { + "page": { + "description": "Page number.", + "type": "integer", + "format": "int32", + "minimum": 1, + "x-nullable": false + }, + "clusterId": { + "description": "Cluster identifier.", + "type": "integer", + "format": "int32", + "minimum": 0, + "x-nullable": false + }, + "keyValuePairs": { + "description": "List of key-value pairs extracted from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/KeyValuePair" + } + }, + "tables": { + "description": "List of data tables extracted from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/DataTable" + } + } + } + }, + "KeyValuePair": { + "description": "Information about the extracted key-value pair.", + "type": "object", + "required": [ + "key", + "value", + "confidence" + ], + "properties": { + "label": { + "description": "A user defined label for the key/value pair entry.", + "type": "string" + }, + "key": { + "description": "Information about the extracted key in a key-value pair.", + "$ref": "#/definitions/KeyValueElement" + }, + "value": { + "description": "Information about the extracted value in a key-value pair.", + "$ref": "#/definitions/KeyValueElement" + }, + "confidence": { + "description": "Confidence value.", + "$ref": "#/definitions/Confidence" + } + } + }, + "KeyValueElement": { + "description": "Information about the extracted key or value in a key-value pair.", + "type": "object", + "required": [ + "text" + ], + "properties": { + "type": { + "$ref": "#/definitions/KeyValueType" + }, + "text": { + "description": "The text content of the key or value.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the key or value.", + "$ref": "#/definitions/BoundingBox" + }, + "elements": { + "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this key or value.", + "type": "array", + "items": { + "$ref": "#/definitions/ElementReference" + } + } + } + }, + "KeyValueType": { + "type": "string", + "description": "Semantic data type of the key value element.", + "enum": [ + "string", + "selectionMark" + ], + "x-ms-enum": { + "name": "KeyValueType", + "modelAsString": true + }, + "x-nullable": false + }, + "ElementReference": { + "description": "Reference to a line, word or selection mark.", + "type": "string" + }, + "SelectionMark": { + "description": "Information about the extracted selection mark.", + "type": "object", + "required": [ + "boundingBox", + "confidence", + "state" + ], + "properties": { + "boundingBox": { + "description": "Bounding box of the selection mark.", + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "description": "Confidence value.", + "$ref": "#/definitions/Confidence" + }, + "state": { + "description": "State of the selection mark.", + "type": "string", + "enum": [ + "selected", + "unselected" + ] + } + } + }, + "DataTable": { + "description": "Information about the extracted table contained in a page.", + "type": "object", + "required": [ + "rows", + "columns", + "cells" + ], + "properties": { + "rows": { + "description": "Number of rows.", + "type": "integer", + "minimum": 1, + "x-nullable": false + }, + "columns": { + "description": "Number of columns.", + "type": "integer", + "minimum": 1, + "x-nullable": false + }, + "cells": { + "description": "List of cells contained in the table.", + "type": "array", + "items": { + "$ref": "#/definitions/DataTableCell" + } + } + } + }, + "DataTableCell": { + "description": "Information about the extracted cell in a table.", + "type": "object", + "required": [ + "rowIndex", + "columnIndex", + "text", + "boundingBox", + "confidence" + ], + "properties": { + "rowIndex": { + "description": "Row index of the cell.", + "type": "integer", + "minimum": 0, + "x-nullable": false + }, + "columnIndex": { + "description": "Column index of the cell.", + "type": "integer", + "minimum": 0, + "x-nullable": false + }, + "rowSpan": { + "description": "Number of rows spanned by this cell.", + "type": "integer", + "minimum": 1, + "default": 1, + "x-nullable": false + }, + "columnSpan": { + "description": "Number of columns spanned by this cell.", + "type": "integer", + "minimum": 1, + "default": 1, + "x-nullable": false + }, + "text": { + "description": "Text content of the cell.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the cell.", + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "description": "Confidence value.", + "$ref": "#/definitions/Confidence" + }, + "elements": { + "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this table cell.", + "type": "array", + "items": { + "$ref": "#/definitions/ElementReference" + } + }, + "isHeader": { + "description": "Is the current cell a header cell?", + "type": "boolean", + "default": false, + "x-nullable": false + }, + "isFooter": { + "description": "Is the current cell a footer cell?", + "type": "boolean", + "default": false, + "x-nullable": false + } + } + }, + "DocumentResult": { + "description": "A set of extracted fields corresponding to the input document.", + "type": "object", + "required": [ + "docType", + "pageRange", + "fields" + ], + "properties": { + "docType": { + "description": "Document type.", + "type": "string" + }, + "modelId": { + "description": "Model identifier.", + "type": "string", + "format": "uuid", + "x-nullable": false + }, + "pageRange": { + "description": "First and last page number where the document is found.", + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 1, + "x-nullable": false + } + }, + "docTypeConfidence": { + "description": "Predicted document type confidence.", + "$ref": "#/definitions/Confidence" + }, + "fields": { + "description": "Dictionary of named field values.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/FieldValue" + } + } + } + }, + "FieldValue": { + "description": "Recognized field value.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of field value.", + "$ref": "#/definitions/FieldValueType" + }, + "valueString": { + "description": "String value.", + "type": "string" + }, + "valueDate": { + "description": "Date value.", + "format": "date", + "type": "string", + "x-nullable": false + }, + "valueTime": { + "description": "Time value.", + "format": "time", + "type": "string", + "x-nullable": false + }, + "valuePhoneNumber": { + "description": "Phone number value.", + "type": "string" + }, + "valueNumber": { + "description": "Floating point value.", + "type": "number", + "x-nullable": false + }, + "valueInteger": { + "description": "Integer value.", + "type": "integer", + "x-nullable": false + }, + "valueArray": { + "description": "Array of field values.", + "type": "array", + "items": { + "$ref": "#/definitions/FieldValue" + } + }, + "valueObject": { + "description": "Dictionary of named field values.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/FieldValue" + } + }, + "valueSelectionMark": { + "description": "Selection mark value.", + "type": "string", + "enum": [ + "selected", + "unselected" + ], + "x-nullable": false + }, + "text": { + "description": "Text content of the extracted field.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the field value, if appropriate.", + "$ref": "#/definitions/BoundingBox" + }, + "confidence": { + "description": "Confidence score.", + "$ref": "#/definitions/Confidence" + }, + "elements": { + "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this field.", + "type": "array", + "items": { + "$ref": "#/definitions/ElementReference" + } + }, + "page": { + "description": "The 1-based page number in the input document.", + "type": "integer", + "minimum": 1, + "x-nullable": false + } + } + }, + "FieldValueType": { + "type": "string", + "description": "Semantic data type of the field value.", + "enum": [ + "string", + "date", + "time", + "phoneNumber", + "number", + "integer", + "array", + "object", + "selectionMark" + ], + "x-ms-enum": { + "name": "FieldValueType", + "modelAsString": false + }, + "x-nullable": false + }, + "Confidence": { + "description": "Confidence value.", + "type": "number", + "minimum": 0, + "maximum": 1, + "x-nullable": false + } + }, + "parameters": { + "Endpoint": { + "name": "endpoint", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileStream": { + "name": "fileStream", + "description": ".json, .pdf, .jpg, .png or .tiff type file stream.", + "x-ms-parameter-location": "method", + "in": "body", + "schema": { + "$ref": "#/definitions/SourcePath" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json new file mode 100644 index 000000000000..01eb4730ed08 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "body": {} + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}/analyzeResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json new file mode 100644 index 000000000000..5b8a65ac0a6b --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "resultId": "{result Id}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "running", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "analyzeResult": { + "version": "v2.1", + "readResults": [], + "pageResults": [], + "documentResults": [], + "errors": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json new file mode 100644 index 000000000000..6521a5fa2244 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": { + "source": "http://www.example.com/image.jpg" + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/prebuilt/businessCard/analyzeResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json new file mode 100644 index 000000000000..2cf7aa15db22 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "resultId": "{result Id}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "running", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "analyzeResult": { + "version": "v2.1", + "readResults": [], + "pageResults": [], + "documentResults": [], + "errors": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json new file mode 100644 index 000000000000..0fecac98f79b --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {}, + "composeRequest": { + "modelIds": [ + "4afb20d6-3ed0-4cde-ba40-dbd6207268dd", + "6f841356-aa32-42c9-a739-2182c47b79c9" + ] + } + }, + "responses": { + "201": { + "headers": { + "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json new file mode 100644 index 000000000000..34d6aacb688e --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "body": {}, + "copyRequest": { + "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{resourceName}", + "targetResourceRegion": "westus2", + "copyAuthorization": { + "modelId": "{modelId}", + "accessToken": "{accessToken}", + "expirationDateTimeTicks": 637190189980000000 + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}/copyResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json new file mode 100644 index 000000000000..2acc95b1fce5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {} + }, + "responses": { + "201": { + "headers": { + "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}" + }, + "body": { + "modelId": "{modelId}", + "accessToken": "{accessToken}", + "expirationDateTimeTicks": 637190189980000000 + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json new file mode 100644 index 000000000000..f7b7b1163884 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "resultId": "{resultId}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "succeeded", + "createdDateTime": "2020-01-01T00:00:00Z", + "lastUpdatedDateTime": "2020-01-01T00:01:00Z", + "copyResult": { + "modelId": "{modelId}", + "errors": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json new file mode 100644 index 000000000000..853dd73e595e --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "resultId": "{resultId}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "failed", + "createdDateTime": "2020-01-01T00:00:00Z", + "lastUpdatedDateTime": "2020-01-01T00:01:00Z", + "copyResult": { + "modelId": "{modelId}", + "errors": [ + { + "code": "ResourceResolverError", + "message": "{ErrorMessage}" + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json new file mode 100644 index 000000000000..c945ec953dd4 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "body": {} + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json new file mode 100644 index 000000000000..df1c4b66b252 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "modelId": "{modelId}", + "body": {} + }, + "responses": { + "200": { + "body": { + "modelInfo": { + "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8", + "modelName": "my composed model", + "status": "ready", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "attributes": { + "isComposed": true + } + }, + "keys": { + "clusters": { + "0": [ + "Invoice", + "123112313" + ], + "1": [ + "Please remit payment to:", + "Microsoft" + ] + } + }, + "trainResult": { + "trainingDocuments": [], + "fields": [], + "averageModelAccuracy": 0, + "errors": [] + }, + "composedTrainResults": [ + { + "modelId": "4afb20d6-3ed0-4cde-ba40-dbd6207268dd", + "trainingDocuments": [], + "fields": [], + "averageModelAccuracy": 0, + "errors": [] + }, + { + "modelId": "6f841356-aa32-42c9-a739-2182c47b79c9", + "trainingDocuments": [], + "fields": [], + "averageModelAccuracy": 0, + "errors": [] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json new file mode 100644 index 000000000000..36ee11465e4f --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "op": "full", + "body": {} + }, + "responses": { + "200": { + "body": { + "summary": { + "count": 2, + "limit": 5000, + "lastUpdatedDateTime": "2019-05-01T10:53:21Z" + }, + "modelList": [ + { + "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8", + "modelName": "test model 1", + "status": "ready", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "attributes": { + "isComposed": false + } + }, + { + "modelId": "f973e3c1-0001-43bb-bea8-49d0603ab3a8", + "modelName": "test model 2", + "status": "ready", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "attributes": { + "isComposed": true + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json new file mode 100644 index 000000000000..507495b78206 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "op": "summary", + "body": {} + }, + "responses": { + "200": { + "body": { + "summary": { + "count": 5, + "limit": 5000, + "lastUpdatedDateTime": "2019-05-01T10:53:21Z" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json new file mode 100644 index 000000000000..1495017a7252 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "language": "en", + "body": {} + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/layout/analyzeResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json new file mode 100644 index 000000000000..2a258bfe71bc --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "resultId": "{result Id}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "succeeded", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "analyzeResult": { + "version": "v2.1", + "readResults": [], + "pageResults": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json new file mode 100644 index 000000000000..0790699b3fac --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {} + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/prebuilt/receipt/analyzeResults/{resultId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json new file mode 100644 index 000000000000..2cf7aa15db22 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "resultId": "{result Id}", + "body": {} + }, + "responses": { + "200": { + "body": { + "status": "running", + "createdDateTime": "2019-05-01T10:53:21Z", + "lastUpdatedDateTime": "2019-05-01T10:53:23Z", + "analyzeResult": { + "version": "v2.1", + "readResults": [], + "pageResults": [], + "documentResults": [], + "errors": [] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json new file mode 100644 index 000000000000..b67143b72085 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {}, + "trainRequest": { + "source": "/input/data1" + } + }, + "responses": { + "201": { + "headers": { + "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json new file mode 100644 index 000000000000..ec88bff4f0d5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "Content-Type": "application/json", + "Ocp-Apim-Subscription-Key": "{API key}", + "body": {}, + "trainRequest": { + "source": "/input/data1", + "sourceFilter": { + "prefix": "", + "includeSubFolders": false + }, + "useLabelFile": false + } + }, + "responses": { + "201": { + "headers": { + "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md index 1f5392f74b54..a3f839b98e64 100644 --- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md +++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md @@ -1,4 +1,4 @@ -## Go +### Go These settings apply only when `--go` is specified on the command line. @@ -23,4 +23,4 @@ Please also specify `--go-sdk-folder=Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.", + "operationId": "EntitiesRecognitionGeneral", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" + } + ], + "responses": { + "200": { + "description": "A successful call results in a list of recognized entities returned for each valid document.", + "schema": { + "$ref": "#/definitions/EntitiesResult" + } + }, + "default": { + "description": "Error Response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Entities request": { + "$ref": ".//examples//SuccessfulEntitiesRequest.json" + } + }, + "deprecated": false + } + }, + "/entities/recognition/pii": { + "post": { + "summary": "Entities containing personal information", + "description": "The API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in the document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.\n", + "operationId": "EntitiesRecognitionPii", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "name": "domain", + "in": "query", + "description": "(Optional) if set to 'PHI', response will contain only PHI entities.", + "type": "string" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" + } + ], + "responses": { + "200": { + "description": "A successful call results in a list of entities containing personal information returned for each valid document", + "schema": { + "$ref": "#/definitions/PiiEntitiesResult" + } + }, + "default": { + "description": "Error Response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Entity PII request": { + "$ref": ".//examples//SuccessfulEntityPIIRequest.json" + } + }, + "deprecated": false + } + }, + "/entities/linking": { + "post": { + "summary": "Linked entities from a well-known knowledge base", + "description": "The API returns a list of recognized entities with links to a well-known knowledge base. See the Supported languages in Text Analytics API for the list of enabled languages.", + "operationId": "EntitiesLinking", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" + } + ], + "responses": { + "200": { + "description": "A successful call results in a list of recognized entities with links to a well-known knowledge base returned for each valid document", + "schema": { + "$ref": "#/definitions/EntityLinkingResult" + } + }, + "default": { + "description": "Error Response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Entity Linking request": { + "$ref": ".//examples//SuccessfulEntityLinkingRequest.json" + } + }, + "deprecated": false + } + }, + "/keyPhrases": { + "post": { + "summary": "Key Phrases", + "description": "The API returns a list of strings denoting the key phrases in the input text. See the Supported languages in Text Analytics API for the list of enabled languages.", + "operationId": "KeyPhrases", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful response results in 0 or more key phrases identified in each valid document", + "schema": { + "$ref": "#/definitions/KeyPhraseResult" + } + }, + "default": { + "description": "Error Response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Key Phrase request": { + "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json" + } + }, + "deprecated": false + } + }, + "/languages": { + "post": { + "summary": "Detect Language", + "description": "The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the Supported languages in Text Analytics API for the list of enabled languages.", + "operationId": "Languages", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "$ref": "#/parameters/LanguageInput" + } + ], + "responses": { + "200": { + "description": "A successful call results in the detected language with the highest probability for each valid document", + "schema": { + "$ref": "#/definitions/LanguageResult" + } + }, + "default": { + "description": "Error Response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Detect Language request": { + "$ref": ".//examples//SuccessfulLanguagesRequest.json" + } + }, + "deprecated": false + } + }, + "/sentiment": { + "post": { + "summary": "Sentiment", + "description": "The API returns a detailed sentiment analysis for the input text. The analysis is done in multiple levels of granularity, start from the a document level, down to sentence and key terms (aspects) and opinions.", + "operationId": "Sentiment", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ModelVersion" + }, + { + "$ref": "#/parameters/ShowStats" + }, + { + "name": "opinionMining", + "in": "query", + "description": "(Optional) if set to true, response will contain input and document level statistics including aspect-based sentiment analysis results.", + "type": "boolean" + }, + { + "$ref": "#/parameters/MultiLanguageInput" + }, + { + "$ref": "#/parameters/StringIndexType" + } + ], + "responses": { + "200": { + "description": "A successful call results in a document sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral)", + "schema": { + "$ref": "#/definitions/SentimentResponse" + } + }, + "default": { + "description": "Error Response", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Sentiment request": { + "$ref": ".//examples//SuccessfulSentimentRequest.json" + } + }, + "deprecated": false + } + } + }, + "definitions": { + "MultiLanguageBatchInput": { + "type": "object", + "required": [ + "documents" + ], + "properties": { + "documents": { + "type": "array", + "description": "The set of documents to process as part of this batch.", + "items": { + "$ref": "#/definitions/MultiLanguageInput" + } + } + }, + "description": "Contains a set of input documents to be analyzed by the service." + }, + "MultiLanguageInput": { + "type": "object", + "required": [ + "id", + "text" + ], + "properties": { + "id": { + "type": "string", + "description": "A unique, non-empty document identifier." + }, + "text": { + "type": "string", + "description": "The input text to process." + }, + "language": { + "type": "string", + "description": "(Optional) This is the 2 letter ISO 639-1 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default." + } + }, + "description": "Contains an input document to be analyzed by the service." + }, + "DocumentError": { + "type": "object", + "required": [ + "id", + "error" + ], + "properties": { + "id": { + "type": "string", + "description": "Document Id." + }, + "error": { + "type": "object", + "description": "Document Error.", + "$ref": "#/definitions/TextAnalyticsError" + } + } + }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "description": "Document Error.", + "$ref": "#/definitions/TextAnalyticsError" + } + } + }, + "TextAnalyticsError": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "InvalidRequest", + "InvalidArgument", + "InternalServerError", + "ServiceUnavailable" + ], + "x-ms-enum": { + "name": "ErrorCodeValue", + "modelAsString": true + }, + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "Inner error contains more specific information." + }, + "details": { + "type": "array", + "description": "Details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/TextAnalyticsError" + } + } + } + }, + "TextAnalyticsWarning": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "LongWordsInDocument", + "DocumentTruncated" + ], + "x-ms-enum": { + "name": "WarningCodeValue", + "modelAsString": true + }, + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Warning message." + }, + "targetRef": { + "type": "string", + "description": "A JSON pointer reference indicating the target object." + } + } + }, + "InnerError": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "InvalidParameterValue", + "InvalidRequestBodyFormat", + "EmptyRequest", + "MissingInputRecords", + "InvalidDocument", + "ModelVersionIncorrect", + "InvalidDocumentBatch", + "UnsupportedLanguageCode", + "InvalidCountryHint" + ], + "x-ms-enum": { + "name": "InnerErrorCodeValue", + "modelAsString": true + }, + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "details": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Error details." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "Inner error contains more specific information." + } + } + }, + "SentimentResponse": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Sentiment analysis per document.", + "items": { + "$ref": "#/definitions/DocumentSentiment" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentSentiment": { + "type": "object", + "required": [ + "id", + "sentiment", + "confidenceScores", + "sentences", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "sentiment": { + "type": "string", + "description": "Predicted sentiment for document (Negative, Neutral, Positive, or Mixed).", + "enum": [ + "positive", + "neutral", + "negative", + "mixed" + ], + "x-ms-enum": { + "name": "DocumentSentimentValue", + "modelAsString": false + } + }, + "statistics": { + "$ref": "#/definitions/DocumentStatistics" + }, + "confidenceScores": { + "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class.", + "$ref": "#/definitions/SentimentConfidenceScorePerLabel" + }, + "sentences": { + "type": "array", + "description": "Sentence level sentiment analysis.", + "items": { + "$ref": "#/definitions/SentenceSentiment" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + } + } + }, + "RequestStatistics": { + "type": "object", + "required": [ + "documentsCount", + "validDocumentsCount", + "erroneousDocumentsCount", + "transactionsCount" + ], + "properties": { + "documentsCount": { + "type": "integer", + "format": "int32", + "description": "Number of documents submitted in the request." + }, + "validDocumentsCount": { + "type": "integer", + "format": "int32", + "description": "Number of valid documents. This excludes empty, over-size limit or non-supported languages documents." + }, + "erroneousDocumentsCount": { + "type": "integer", + "format": "int32", + "description": "Number of invalid documents. This includes empty, over-size limit or non-supported languages documents." + }, + "transactionsCount": { + "type": "integer", + "format": "int64", + "description": "Number of transactions for the request." + } + }, + "description": "if showStats=true was specified in the request this field will contain information about the request payload." + }, + "DocumentStatistics": { + "type": "object", + "required": [ + "charactersCount", + "transactionsCount" + ], + "properties": { + "charactersCount": { + "type": "integer", + "format": "int32", + "description": "Number of text elements recognized in the document." + }, + "transactionsCount": { + "type": "integer", + "format": "int32", + "description": "Number of transactions for the document." + } + }, + "description": "if showStats=true was specified in the request this field will contain information about the document payload." + }, + "SentimentConfidenceScorePerLabel": { + "type": "object", + "required": [ + "positive", + "neutral", + "negative" + ], + "properties": { + "positive": { + "type": "number", + "format": "double" + }, + "neutral": { + "type": "number", + "format": "double" + }, + "negative": { + "type": "number", + "format": "double" + } + }, + "description": "Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative." + }, + "SentenceSentiment": { + "type": "object", + "required": [ + "text", + "sentiment", + "confidenceScores", + "offset", + "length" + ], + "properties": { + "text": { + "type": "string", + "description": "The sentence text." + }, + "sentiment": { + "type": "string", + "description": "The predicted Sentiment for the sentence.", + "enum": [ + "positive", + "neutral", + "negative" + ], + "x-ms-enum": { + "name": "SentenceSentimentValue", + "modelAsString": false + } + }, + "confidenceScores": { + "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes.", + "$ref": "#/definitions/SentimentConfidenceScorePerLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The sentence offset from the start of the document." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the sentence." + }, + "aspects": { + "type": "array", + "description": "The array of aspect object for the sentence.", + "items": { + "$ref": "#/definitions/SentenceAspect" + } + }, + "opinions": { + "type": "array", + "description": "The array of opinion object for the sentence.", + "items": { + "$ref": "#/definitions/SentenceOpinion" + } + } + } + }, + "SentenceAspect": { + "type": "object", + "required": [ + "confidenceScores", + "length", + "offset", + "relations", + "sentiment", + "text" + ], + "properties": { + "sentiment": { + "type": "string", + "enum": [ + "positive", + "mixed", + "negative" + ], + "x-ms-enum": { + "name": "TokenSentimentValue", + "modelAsString": false + }, + "description": "Aspect level sentiment for the aspect in the sentence." + }, + "confidenceScores": { + "description": "Aspect level sentiment confidence scores for the aspect in the sentence.", + "$ref": "#/definitions/AspectConfidenceScoreLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The aspect offset from the start of the sentence." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the aspect." + }, + "text": { + "type": "string", + "description": "The aspect text detected." + }, + "relations": { + "type": "array", + "description": "The array of either opinion or aspect object which is related to the aspect.", + "items": { + "$ref": "#/definitions/AspectRelation" + } + } + } + }, + "SentenceOpinion": { + "type": "object", + "required": [ + "confidenceScores", + "isNegated", + "length", + "offset", + "sentiment", + "text" + ], + "properties": { + "sentiment": { + "type": "string", + "enum": [ + "positive", + "mixed", + "negative" + ], + "x-ms-enum": { + "name": "TokenSentimentValue", + "modelAsString": false + }, + "description": "Opinion level sentiment for the aspect in the sentence." + }, + "confidenceScores": { + "description": "Opinion level sentiment confidence scores for the aspect in the sentence.", + "$ref": "#/definitions/AspectConfidenceScoreLabel" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The opinion offset from the start of the sentence." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "The length of the opinion." + }, + "text": { + "type": "string", + "description": "The aspect text detected." + }, + "isNegated": { + "type": "boolean", + "description": "The indicator representing if the opinion is negated." + } + } + }, + "AspectRelation": { + "type": "object", + "required": [ + "ref", + "relationType" + ], + "properties": { + "relationType": { + "type": "string", + "enum": [ + "opinion", + "aspect" + ], + "x-ms-enum": { + "name": "AspectRelationType", + "modelAsString": false + }, + "description": "The type related to the aspect." + }, + "ref": { + "type": "string", + "description": "The JSON pointer indicating the linked object." + } + } + }, + "AspectConfidenceScoreLabel": { + "type": "object", + "required": [ + "negative", + "positive" + ], + "properties": { + "positive": { + "type": "number", + "format": "double" + }, + "negative": { + "type": "number", + "format": "double" + } + }, + "description": "Represents the confidence scores across all sentiment classes: positive, neutral, negative." + }, + "EntitiesResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentEntities" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "PiiEntitiesResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/PiiDocumentEntities" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentEntities": { + "type": "object", + "required": [ + "id", + "entities", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "entities": { + "type": "array", + "description": "Recognized entities in the document.", + "items": { + "$ref": "#/definitions/Entity" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "PiiDocumentEntities": { + "type": "object", + "required": [ + "id", + "entities", + "warnings", + "redactedText" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "entities": { + "type": "array", + "description": "Recognized entities in the document.", + "items": { + "$ref": "#/definitions/Entity" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + }, + "redactedText": { + "type": "string", + "description": "Returns redacted text." + } + } + }, + "Entity": { + "type": "object", + "required": [ + "text", + "category", + "offset", + "length", + "confidenceScore" + ], + "properties": { + "text": { + "type": "string", + "description": "Entity text as appears in the request." + }, + "category": { + "type": "string", + "description": "Entity type, such as Person/Location/Org/SSN etc" + }, + "subcategory": { + "type": "string", + "description": "Entity sub type, such as Age/Year/TimeRange etc" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Start position for the entity text." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "Length for the entity text." + }, + "confidenceScore": { + "type": "number", + "format": "double", + "description": "Confidence score between 0 and 1 of the extracted entity." + } + } + }, + "EntityLinkingResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentLinkedEntities" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentLinkedEntities": { + "type": "object", + "required": [ + "id", + "entities", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "entities": { + "type": "array", + "description": "Recognized well-known entities in the document.", + "items": { + "$ref": "#/definitions/LinkedEntity" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "LinkedEntity": { + "type": "object", + "required": [ + "name", + "matches", + "language", + "url", + "dataSource" + ], + "properties": { + "name": { + "type": "string", + "description": "Entity Linking formal name." + }, + "matches": { + "type": "array", + "description": "List of instances this entity appears in the text.", + "items": { + "$ref": "#/definitions/Match" + } + }, + "language": { + "type": "string", + "description": "Language used in the data source." + }, + "id": { + "type": "string", + "description": "Unique identifier of the recognized entity from the data source." + }, + "url": { + "type": "string", + "description": "URL for the entity's page from the data source." + }, + "dataSource": { + "type": "string", + "description": "Data source used to extract entity linking, such as Wiki/Bing etc." + }, + "bingId": { + "type": "string", + "description": "Bing unique identifier of the recognized entity. Use in conjunction with the Bing Entity Search API to fetch additional relevant information." + } + } + }, + "Match": { + "type": "object", + "required": [ + "confidenceScore", + "text", + "offset", + "length" + ], + "properties": { + "confidenceScore": { + "type": "number", + "format": "double", + "description": "If a well-known item is recognized, a decimal number denoting the confidence level between 0 and 1 will be returned." + }, + "text": { + "type": "string", + "description": "Entity text as appears in the request." + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Start position for the entity match text." + }, + "length": { + "type": "integer", + "format": "int32", + "description": "Length for the entity match text." + } + } + }, + "KeyPhraseResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentKeyPhrases" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentKeyPhrases": { + "type": "object", + "required": [ + "id", + "keyPhrases", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "keyPhrases": { + "type": "array", + "description": "A list of representative words or phrases. The number of key phrases returned is proportional to the number of words in the input document.", + "items": { + "type": "string" + } + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "LanguageBatchInput": { + "type": "object", + "required": [ + "documents" + ], + "properties": { + "documents": { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageInput" + } + } + } + }, + "LanguageInput": { + "type": "object", + "required": [ + "id", + "text" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "text": { + "type": "string" + }, + "countryHint": { + "type": "string" + } + } + }, + "LanguageResult": { + "type": "object", + "required": [ + "documents", + "errors", + "modelVersion" + ], + "properties": { + "documents": { + "type": "array", + "description": "Response by document", + "items": { + "$ref": "#/definitions/DocumentLanguage" + } + }, + "errors": { + "type": "array", + "description": "Errors by document id.", + "items": { + "$ref": "#/definitions/DocumentError" + } + }, + "statistics": { + "$ref": "#/definitions/RequestStatistics" + }, + "modelVersion": { + "type": "string", + "description": "This field indicates which model is used for scoring." + } + } + }, + "DocumentLanguage": { + "type": "object", + "required": [ + "id", + "detectedLanguage", + "warnings" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique, non-empty document identifier." + }, + "detectedLanguage": { + "description": "Detected Language.", + "$ref": "#/definitions/DetectedLanguage" + }, + "warnings": { + "type": "array", + "description": "Warnings encountered while processing document.", + "items": { + "$ref": "#/definitions/TextAnalyticsWarning" + } + }, + "statistics": { + "description": "if showStats=true was specified in the request this field will contain information about the document payload.", + "$ref": "#/definitions/DocumentStatistics" + } + } + }, + "DetectedLanguage": { + "type": "object", + "required": [ + "name", + "iso6391Name", + "confidenceScore" + ], + "properties": { + "name": { + "type": "string", + "description": "Long name of a detected language (e.g. English, French)." + }, + "iso6391Name": { + "type": "string", + "description": "A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr)." + }, + "confidenceScore": { + "type": "number", + "format": "double", + "description": "A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true." + } + } + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "StringIndexType": { + "name": "stringIndexType", + "in": "query", + "type": "string", + "description": "(Optional) Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets", + "default": "TextElements_v8", + "enum": [ + "TextElements_v8", + "UnicodeCodePoint", + "Utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true, + "values": [ + { + "value": "TextElements_v8", + "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo." + }, + { + "value": "UnicodeCodePoint", + "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python." + }, + { + "value": "Utf16CodeUnit", + "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "ShowStats": { + "name": "showStats", + "in": "query", + "description": "(Optional) if set to true, response will contain request and document level statistics.", + "type": "boolean", + "required": false, + "x-ms-parameter-location": "method" + }, + "ModelVersion": { + "name": "model-version", + "in": "query", + "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ", + "type": "string", + "required": false, + "x-ms-parameter-location": "method" + }, + "MultiLanguageInput": { + "in": "body", + "name": "input", + "description": "Collection of documents to analyze.", + "required": true, + "schema": { + "$ref": "#/definitions/MultiLanguageBatchInput" + }, + "x-ms-parameter-location": "method" + }, + "LanguageInput": { + "in": "body", + "name": "input", + "description": "Collection of documents to analyze for language endpoint.", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageBatchInput" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json new file mode 100644 index 000000000000..75b4489dcb2d --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "1", + "text": "I had a wonderful trip to Seattle last week." + }, + { + "language": "en", + "id": "2", + "text": "I work at Microsoft." + }, + { + "language": "en", + "id": "3", + "text": "I visited Space Needle 2 times." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "entities": [ + { + "text": "Seattle", + "category": "Location", + "offset": 26, + "length": 7, + "confidenceScore": 0.80 + }, + { + "text": "last week", + "category": "DateTime", + "subcategory": "DateRange", + "offset": 34, + "length": 9, + "confidenceScore": 0.8 + } + ], + "warnings": [] + }, + { + "id": "2", + "entities": [ + { + "text": "Microsoft", + "category": "Organization", + "offset": 10, + "length": 9, + "confidenceScore": 0.99 + } + ], + "warnings": [] + }, + { + "id": "3", + "entities": [ + { + "text": "Space Needle", + "category": "Organization", + "offset": 10, + "length": 12, + "confidenceScore": 0.75 + }, + { + "text": "2", + "category": "Quantity", + "subcategory": "Number", + "offset": 23, + "length": 1, + "confidenceScore": 0.8 + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json new file mode 100644 index 000000000000..2ad23b9ad32c --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "1", + "text": "I had a wonderful trip to Seattle last week." + }, + { + "language": "en", + "id": "2", + "text": "I work at Microsoft." + }, + { + "language": "en", + "id": "3", + "text": "I visited Space Needle 2 times." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "entities": [ + { + "name": "Seattle", + "matches": [ + { + "text": "Seattle", + "offset": 26, + "length": 7, + "confidenceScore": 0.15 + } + ], + "language": "en", + "id": "Seattle", + "url": "https://en.wikipedia.org/wiki/Seattle", + "dataSource": "Wikipedia", + "bingId": "39d000e8-389d-22a3-4309-ffffc115d00e" + } + ], + "warnings": [] + }, + { + "id": "2", + "entities": [ + { + "name": "Microsoft", + "matches": [ + { + "text": "Microsoft", + "offset": 10, + "length": 9, + "confidenceScore": 0.18 + } + ], + "language": "en", + "id": "Microsoft", + "url": "https://en.wikipedia.org/wiki/Microsoft", + "dataSource": "Wikipedia", + "bingId": "39d000e8-389d-22a3-4309-ffffc115d00f" + } + ], + "warnings": [] + }, + { + "id": "3", + "entities": [ + { + "name": "Space Needle", + "matches": [ + { + "text": "Space Needle", + "offset": 10, + "length": 12, + "confidenceScore": 0.15 + } + ], + "language": "en", + "id": "Space Needle", + "url": "https://en.wikipedia.org/wiki/Space_Needle", + "dataSource": "Wikipedia" + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json new file mode 100644 index 000000000000..90d2ea58bd29 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "0", + "text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's." + }, + { + "language": "en", + "id": "1", + "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check." + }, + { + "language": "en", + "id": "2", + "text": "Is 998.214.865-68 your Brazilian CPF number?" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "0", + "entities": [ + { + "text": "859-98-0987", + "category": "U.S. Social Security Number (SSN)", + "subcategory": "", + "offset": 28, + "length": 11, + "confidenceScore": 0.65 + } + ], + "redactedText": "Microsoft employee with ssn ******** is using our awesome API's.", + "warnings": [] + }, + { + "id": "1", + "entities": [ + { + "text": "111000025", + "category": "ABA Routing Number", + "subcategory": "", + "offset": 18, + "length": 9, + "confidenceScore": 0.75 + } + ], + "redactedText": "Your ABA number - ******** - is the first 9 digits in the lower left hand corner of your personal check.", + "warnings": [] + }, + { + "id": "2", + "entities": [ + { + "text": "998.214.865-68", + "category": "Brazil CPF Number", + "subcategory": "", + "offset": 3, + "length": 14, + "confidenceScore": 0.85 + } + ], + "redactedText": "Is ******** your Brazilian CPF number?", + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json new file mode 100644 index 000000000000..12ff0ccce583 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "1", + "text": "Hello world. This is some input text that I love." + }, + { + "language": "fr", + "id": "2", + "text": "Bonjour tout le monde" + }, + { + "language": "es", + "id": "3", + "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "keyPhrases": [ + "world", + "input text" + ], + "warnings": [] + }, + { + "id": "2", + "keyPhrases": [ + "monde" + ], + "warnings": [] + }, + { + "id": "3", + "keyPhrases": [ + "carretera", + "tráfico", + "día" + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json new file mode 100644 index 000000000000..a74d7155c8e0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "countryHint": "US", + "id": "1", + "text": "Hello world" + }, + { + "id": "2", + "text": "Bonjour tout le monde" + }, + { + "id": "3", + "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "detectedLanguage": { + "name": "English", + "iso6391Name": "en", + "confidenceScore": 1 + }, + "warnings": [] + }, + { + "id": "2", + "detectedLanguage": { + "name": "French", + "iso6391Name": "fr", + "confidenceScore": 1 + }, + "warnings": [] + }, + { + "id": "3", + "detectedLanguage": { + "name": "Spanish", + "iso6391Name": "es", + "confidenceScore": 1 + }, + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2019-10-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json new file mode 100644 index 000000000000..ad3fc48d2cae --- /dev/null +++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json @@ -0,0 +1,323 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "input": { + "documents": [ + { + "language": "en", + "id": "1", + "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful." + }, + { + "language": "en", + "id": "2", + "text": "Bad atmosphere. Not close to plenty of restaurants, hotels, and transit! Staff are not friendly and helpful." + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "documents": [ + { + "id": "1", + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "neutral": 0.0, + "negative": 0.0 + }, + "sentences": [ + { + "text": "Great atmosphere.", + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "neutral": 0.0, + "negative": 0.0 + }, + "offset": 0, + "length": 17, + "aspects": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "negative": 0.0 + }, + "offset": 6, + "length": 10, + "text": "atmosphere", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/0/sentences/0/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "negative": 0.0 + }, + "offset": 0, + "length": 5, + "text": "great", + "isNegated": false + } + ] + }, + { + "text": "Close to plenty of restaurants, hotels, and transit!", + "sentiment": "neutral", + "confidenceScores": { + "positive": 0.13, + "neutral": 0.86, + "negative": 0.01 + }, + "offset": 18, + "length": 52, + "aspects": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 0.99, + "negative": 0.01 + }, + "offset": 37, + "length": 11, + "text": "restaurants", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/0/sentences/1/opinions/0" + } + ] + }, + { + "sentiment": "positive", + "confidenceScores": { + "positive": 0.99, + "negative": 0.01 + }, + "offset": 50, + "length": 6, + "text": "hotels", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/0/sentences/1/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 0.99, + "negative": 0.01 + }, + "offset": 18, + "length": 15, + "text": "close to plenty", + "isNegated": false + } + ] + }, + { + "text": "Staff are friendly and helpful.", + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "neutral": 0.0, + "negative": 0.0 + }, + "offset": 71, + "length": 31, + "aspects": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "negative": 0.0 + }, + "offset": 71, + "length": 5, + "text": "Staff", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/0/sentences/2/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "positive", + "confidenceScores": { + "positive": 1.0, + "negative": 0.0 + }, + "offset": 81, + "length": 8, + "text": "friendly", + "isNegated": false + } + ] + } + ], + "warnings": [] + }, + { + "id": "2", + "sentiment": "negative", + "confidenceScores": { + "positive": 0.01, + "neutral": 0.14, + "negative": 0.85 + }, + "sentences": [ + { + "text": "Bad atmosphere.", + "sentiment": "negative", + "confidenceScores": { + "positive": 0.0, + "neutral": 0.0, + "negative": 1.0 + }, + "offset": 8, + "length": 15, + "aspects": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.01, + "negative": 0.99 + }, + "offset": 4, + "length": 10, + "text": "atmosphere", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/1/sentences/0/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.01, + "negative": 0.99 + }, + "offset": 0, + "length": 3, + "text": "bad", + "isNegated": false + } + ] + }, + { + "text": "Not close to plenty of restaurants, hotels, and transit!", + "sentiment": "negative", + "confidenceScores": { + "positive": 0.02, + "neutral": 0.44, + "negative": 0.54 + }, + "offset": 16, + "length": 56, + "aspects": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.03, + "negative": 0.97 + }, + "offset": 39, + "length": 11, + "text": "restaurants", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/1/sentences/1/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.03, + "negative": 0.97 + }, + "offset": 20, + "length": 5, + "text": "close", + "isNegated": true + } + ] + }, + { + "text": "Staff are not friendly and helpful.", + "sentiment": "negative", + "confidenceScores": { + "positive": 0.0, + "neutral": 0.0, + "negative": 1.0 + }, + "offset": 73, + "length": 35, + "aspects": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.0, + "negative": 1.0 + }, + "offset": 73, + "length": 5, + "text": "Staff", + "relations": [ + { + "relationType": "opinion", + "ref": "#/documents/1/sentences/2/opinions/0" + } + ] + } + ], + "opinions": [ + { + "sentiment": "negative", + "confidenceScores": { + "positive": 0.0, + "negative": 1.0 + }, + "offset": 87, + "length": 8, + "text": "friendly", + "isNegated": true + } + ] + } + ], + "warnings": [] + } + ], + "errors": [], + "modelVersion": "2020-04-01" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md index 3cad53b7f8b5..441e055ee4d0 100644 --- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md +++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md @@ -170,6 +170,14 @@ These settings apply only when `--tag=release_3_1_preview.1` is specified on the input-file: preview/v3.1-preview.1/TextAnalytics.json ``` +### Release 3.1-Preview.2 + +These settings apply only when `--tag=release_3_1_preview.2` is specified on the command line. + +``` yaml $(tag) == 'release_3_1_preview.2' +input-file: preview/v3.1-preview.2/TextAnalytics.json +``` + ## Swagger to SDK This section describes what SDK should be generated by the automatic system. @@ -268,6 +276,7 @@ input-file: - $(this-folder)/preview/v3.0-preview.1/TextAnalytics.json - $(this-folder)/stable/v3.0/TextAnalytics.json - $(this-folder)/preview/v3.1-preview.1/TextAnalytics.json + - $(this-folder)/preview/v3.1-preview.2/TextAnalytics.json ``` diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json index 81ec70c74f6b..7cb1299f0de4 100644 --- a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json +++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json @@ -80,7 +80,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -138,7 +138,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -196,7 +196,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -254,7 +254,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -312,7 +312,7 @@ "default": { "description": "Error Response", "schema": { - "$ref": "#/definitions/TextAnalyticsError" + "$ref": "#/definitions/ErrorResponse" } } }, @@ -382,6 +382,19 @@ } } }, + "ErrorResponse": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "description": "Document Error.", + "$ref": "#/definitions/TextAnalyticsError" + } + } + }, "TextAnalyticsError": { "type": "object", "required": [ @@ -663,7 +676,8 @@ "sentiment", "confidenceScores", "offset", - "length" + "length", + "text" ], "properties": { "text": { diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json new file mode 100644 index 000000000000..a335724dfb36 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json @@ -0,0 +1,1293 @@ +{ + "swagger": "2.0", + "info": { + "title": "Batch Document Translation Client", + "version": "v1.0-preview.1" + }, + "paths": { + "/batches": { + "post": { + "tags": [ + "Translation" + ], + "summary": "Submit a batch document translation request to the translation service", + "description": "Submit a batch request to the document translation service.\r\n \r\nEach request can consists of multiple inputs.\r\nEach input will contains both a source and destination container for source and target language pair.\r\n \r\nThe prefix and suffix filter (if supplied) will be used to filter the folders.\r\nThe prefix will be applied to the subpath after the container name\r\n \r\nGlossaries / Translation memory can be supplied and will be applied when the document is being translated.\r\nIf the glossary is invalid or unreachable during translation time. An error will be indicated in the document status.\r\n \r\nIf the file with the same name already exists in the destination, it will be overwritten.\r\nTargetUrl for each target language needs to be unique.", + "operationId": "Translation_SubmitBatchRequest", + "consumes": [ + "application/json", + "text/json", + "application/*+json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "request details", + "schema": { + "$ref": "#/definitions/BatchSubmissionRequest" + } + } + ], + "responses": { + "202": { + "description": "Successful request and the batch request is created by the service. The header Operation-Location will indicate a status url with the operation id.", + "headers": { + "Operation-Location": { + "description": "Location of batch the operation", + "type": "string", + "format": "" + } + } + }, + "400": { + "description": "Invalid request. Check input parameters", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 400120,\r\n \"error\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "401": { + "description": "Unauthorized. Please check your credentials", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Batch Submit": { + "$ref": "./examples/batch.json" + } + } + }, + "get": { + "tags": [ + "Translation" + ], + "summary": "Returns the list of operations submitted and their summary status", + "description": "Returns the list of status of the translation batch operation.\r\nThe list will consist only of the batch request submitted by the user (based on their subscription)\r\n \r\nThe operation status are sorted by the operation Id\r\n \r\nIf the number of operations exceed our paging limit, server side paging will be used.\r\nPaginated responses will indicate a partial result by including a continuation token in the response. The absence of a continuation token means that no additional pages are available.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nThe server will honor 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.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\nNote: 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 will avoid the risk of the client making assumptions about the data returned.", + "operationId": "Translation_GetOperations", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "$top", + "description": "Take the $top entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first", + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 100, + "minimum": 1 + }, + { + "in": "query", + "name": "$skip", + "description": "Skip the $skip entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first", + "type": "integer", + "format": "int32", + "default": 0, + "maximum": 2147483647, + "minimum": 0 + } + ], + "responses": { + "200": { + "description": "Successful request and returns the status of the all the operations", + "schema": { + "$ref": "#/definitions/BatchStatusResponse" + }, + "headers": { + "Retry-After": { + "description": "Indicates how long to wait before making a new request.", + "type": "integer", + "format": "int32" + }, + "ETag": { + "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.", + "type": "string", + "format": "" + } + } + }, + "400": { + "description": "Invalid request. Check input parameters", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 400120,\r\n \"error\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "401": { + "description": "Unauthorized. Please check your credentials", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get status for batch operations": { + "$ref": "./examples/operations.json" + } + } + } + }, + "/batches/{id}/documents/{documentId}": { + "get": { + "tags": [ + "Translation" + ], + "summary": "Returns the status of the specific document", + "description": "Returns the status of the translation of the document.", + "operationId": "Translation_GetDocumentStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Format - uuid. The batch id", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "in": "path", + "name": "documentId", + "description": "Format - uuid. The document id", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Successful request and it is accepted by the service. The operation details are returned", + "schema": { + "$ref": "#/definitions/DocumentStatusDetail" + }, + "headers": { + "Retry-After": { + "description": "Indicates how long to wait before making a new request.", + "type": "integer", + "format": "int32" + }, + "ETag": { + "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.", + "type": "string", + "format": "" + } + } + }, + "401": { + "description": "Unauthorized. Please check your credentials", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "404": { + "description": "Resource is not found", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 404000,\r\n \"error\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get Document Status": { + "$ref": "./examples/document.json" + } + } + } + }, + "/batches/{id}": { + "get": { + "tags": [ + "Translation" + ], + "summary": "Returns the status of the batch translation operation", + "description": "Returns the status of the translation batch operation.\r\nThe status will include the overall job status as well as a summary of the current progress of all the documents being translated.", + "operationId": "Translation_GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Format - uuid. The operation id", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Successful request and returns the status of the batch translation operation", + "schema": { + "$ref": "#/definitions/BatchStatusDetail" + }, + "headers": { + "Retry-After": { + "description": "Indicates how long to wait before making a new request.", + "type": "integer", + "format": "int32" + }, + "ETag": { + "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.", + "type": "string", + "format": "" + } + } + }, + "401": { + "description": "Unauthorized. Please check your credentials", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "404": { + "description": "Resource is not found", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 404000,\r\n \"error\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get Batch Operation Status": { + "$ref": "./examples/operation.json" + } + } + }, + "delete": { + "tags": [ + "Translation" + ], + "summary": "Cancel a currently processing or queued operation.", + "description": "Cancel a currently processing or queued operation.\r\nAn operation will not be cancelled if it is already completed or failed or cancelling. A bad request will be returned.\r\nAll documents that have completed translation will not be cancelled and will be charged.\r\nAll pending documents will be cancelled if possible.", + "operationId": "Translation_CancelOperation", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Format - uuid. The operation-id", + "required": true, + "type": "string", + "format": "uuid" + } + ], + "responses": { + "200": { + "description": "Cancel request has been submitted", + "schema": { + "$ref": "#/definitions/BatchStatusDetail" + } + }, + "401": { + "description": "Unauthorized. Please check your credentials", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "404": { + "description": "Resource is not found", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 404000,\r\n \"error\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Cancel a batch operation example": { + "$ref": "./examples/cancel.json" + } + } + } + }, + "/batches/{id}/documents": { + "get": { + "tags": [ + "Translation" + ], + "summary": "Returns the status of the documents of a translation batch operation", + "description": "Returns the status of the list of documents translation operation by a given operation id.\r\n \r\nThe documents are sorted by the document Id\r\n \r\nIf the number of documents exceed our paging limit, server side paging will be used.\r\nPaginated responses will indicate a partial result by including a continuation token in the response. The absence of a continuation token means that no additional pages are available.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nThe server will honor 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.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\nNote: 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 will avoid the risk of the client making assumptions about the data returned.", + "operationId": "Translation_GetOperationDocumentsStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Format - uuid. The operation id", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "in": "query", + "name": "$top", + "description": "Take the $top entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first", + "type": "integer", + "format": "int32", + "default": 50, + "maximum": 100, + "minimum": 1 + }, + { + "in": "query", + "name": "$skip", + "description": "Skip the $skip entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first", + "type": "integer", + "format": "int32", + "default": 0, + "maximum": 2147483647, + "minimum": 0 + } + ], + "responses": { + "200": { + "description": "Successful request and returns the status of the documents", + "schema": { + "$ref": "#/definitions/DocumentStatusResponse" + }, + "headers": { + "Retry-After": { + "description": "Indicates how long to wait before making a new request.", + "type": "integer", + "format": "int32" + }, + "ETag": { + "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.", + "type": "string", + "format": "" + } + } + }, + "400": { + "description": "Invalid request. Check input parameters", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 400120,\r\n \"error\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "401": { + "description": "Unauthorized. Please check your credentials", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "404": { + "description": "Resource is not found", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 404000,\r\n \"error\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get Documents Status for the operation batch id": { + "$ref": "./examples/documents.json" + } + } + } + }, + "/documents/formats": { + "get": { + "tags": [ + "Translation" + ], + "summary": "Returns the list of supported document formats", + "description": "The list of supported document formats supported by our service.\r\nThe list will include the common file extension used and supported as well as the content-type if using the upload API.", + "operationId": "Translation_GetDocumentFormats", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Returns the list of supported document file formats", + "schema": { + "$ref": "#/definitions/FileFormatListResult" + } + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get Document Formats": { + "$ref": "./examples/format.json" + } + } + } + }, + "/glossaries/formats": { + "get": { + "tags": [ + "Translation" + ], + "summary": "Returns the list of supported document formats", + "description": "The list of supported glossary formats supported by our service.\r\nThe list will include the common file extension used.", + "operationId": "Translation_GetGlossaryFormats", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Returns the list of supported glossary file formats", + "schema": { + "$ref": "#/definitions/FileFormatListResult" + } + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get Glossary Formats": { + "$ref": "./examples/glossary.json" + } + } + } + }, + "/storagesources": { + "get": { + "tags": [ + "Translation" + ], + "summary": "Returns the list of supported storage sources", + "description": "The list of storage sources supported by our service.", + "operationId": "Translation_GetDocumentStorageSource", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Successful request and returns the list of storage sources", + "schema": { + "$ref": "#/definitions/StorageSourceListResult" + } + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + }, + "503": { + "description": "Server temporary unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "examples": { + "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}" + }, + "x-ms-error-response": true + } + }, + "x-ms-examples": { + "Get Document Storage Sources": { + "$ref": "./examples/storage.json" + } + } + } + } + }, + "definitions": { + "DocumentFilter": { + "type": "object", + "properties": { + "prefix": { + "description": "A case-sensitive prefix string to filter documents in the source path for translation. \r\nFor example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for translation.", + "type": "string", + "example": "FolderA" + }, + "suffix": { + "description": "A case-sensitive suffix string to filter documents in the source path for translation. \r\nThis is most often use for file extensions", + "type": "string", + "example": ".txt" + } + } + }, + "StorageSource": { + "description": "Storage Source", + "enum": [ + "AzureBlob" + ], + "type": "string" + }, + "SourceInput": { + "description": "Source of the input documents", + "required": [ + "sourceUrl" + ], + "type": "object", + "properties": { + "sourceUrl": { + "description": "Location of the folder / container or single file with your documents", + "type": "string", + "example": "https://myblob.blob.core.windows.net/Container/" + }, + "filter": { + "$ref": "#/definitions/DocumentFilter" + }, + "language": { + "description": "Language code\r\nIf none is specified, we will perform auto detect on the document", + "type": "string", + "example": "en" + }, + "storageSource": { + "$ref": "#/definitions/StorageSource" + } + } + }, + "Glossary": { + "description": "Glossary / translation memory for the request", + "required": [ + "glossaryUrl" + ], + "type": "object", + "properties": { + "glossaryUrl": { + "description": "Location of the glossary. \r\nWe will use the file extension to extract the formating if the format parameter is not supplied.\r\n\r\nIf the translation language pair is not present in the glossary, it will not be applied", + "type": "string", + "example": "https://myblob.blob.core.windows.net/Container/myglossary.tsv" + }, + "format": { + "description": "Format", + "type": "string", + "example": "XLIFF" + }, + "version": { + "description": "Version", + "type": "string", + "example": "2.0" + } + } + }, + "TargetInput": { + "description": "Destination for the finished translated documents", + "required": [ + "language", + "targetUrl" + ], + "type": "object", + "properties": { + "targetUrl": { + "description": "Location of the folder / container with your documents", + "type": "string", + "example": "https://myblob.blob.core.windows.net/TargetUrl/" + }, + "category": { + "description": "Category / custom system for translation request", + "type": "string", + "example": "general" + }, + "language": { + "description": "Target Language", + "type": "string", + "example": "fr" + }, + "glossaries": { + "description": "List of Glossary", + "type": "array", + "items": { + "$ref": "#/definitions/Glossary" + } + }, + "storageSource": { + "$ref": "#/definitions/StorageSource" + } + } + }, + "StorageInputType": { + "description": "Storage type of the input documents source string", + "enum": [ + "Folder", + "File" + ], + "type": "string" + }, + "BatchRequest": { + "description": "Definition for the input batch translation request", + "required": [ + "source", + "targets" + ], + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/SourceInput" + }, + "targets": { + "description": "Location of the destination for the output", + "type": "array", + "items": { + "$ref": "#/definitions/TargetInput" + } + }, + "storageType": { + "$ref": "#/definitions/StorageInputType" + } + } + }, + "BatchSubmissionRequest": { + "description": "Job submission batch request", + "required": [ + "inputs" + ], + "type": "object", + "properties": { + "inputs": { + "description": "The input list of documents or folders containing documents", + "type": "array", + "items": { + "$ref": "#/definitions/BatchRequest" + } + } + } + }, + "Status": { + "description": "List of possible statuses for job or document", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "Failed", + "Cancelled", + "Cancelling" + ], + "type": "string" + }, + "StatusSummary": { + "type": "object", + "properties": { + "total": { + "format": "int32", + "description": "Total count", + "type": "integer", + "example": 1 + }, + "failed": { + "format": "int32", + "description": "Failed count", + "type": "integer", + "example": 0 + }, + "success": { + "format": "int32", + "description": "Number of Success", + "type": "integer", + "example": 1 + }, + "inProgress": { + "format": "int32", + "description": "Number of in progress", + "type": "integer", + "example": 0 + }, + "notYetStarted": { + "format": "int32", + "description": "Count of not yet started", + "type": "integer", + "example": 0 + }, + "cancelled": { + "format": "int32", + "description": "Number of cancelled", + "type": "integer", + "example": 0 + } + } + }, + "BatchStatusDetail": { + "description": "Job status response", + "required": [ + "createdDateTimeUtc", + "id", + "lastActionDateTimeUtc", + "summary" + ], + "type": "object", + "properties": { + "id": { + "format": "uuid", + "description": "Id of the operation.", + "type": "string", + "example": "36724748-f7a0-4db7-b7fd-f041ddc75033" + }, + "createdDateTimeUtc": { + "format": "date-time", + "description": "Operation created date time", + "type": "string", + "example": "2020-01-20T11:40:07.7010000-08:00" + }, + "lastActionDateTimeUtc": { + "format": "date-time", + "description": "Date time in which the operation's status has been updated", + "type": "string", + "example": "2020-01-20T11:41:07.7010000-08:00" + }, + "status": { + "$ref": "#/definitions/Status" + }, + "summary": { + "$ref": "#/definitions/StatusSummary" + } + } + }, + "BatchStatusResponse": { + "description": "Document Status Response", + "type": "object", + "properties": { + "value": { + "description": "The summary status of individual operation", + "type": "array", + "items": { + "$ref": "#/definitions/BatchStatusDetail" + } + }, + "@nextLink": { + "description": "Url for the next page. Null if no more pages available", + "type": "string", + "example": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operations?$top=5&$skip=15" + } + } + }, + "ErrorCodeV2": { + "description": "Enums containing high level error codes.", + "enum": [ + "InvalidRequest", + "InvalidArgument", + "InternalServerError", + "ServiceUnavailable", + "ResourceNotFound", + "Unauthorized", + "RequestRateTooHigh" + ], + "type": "string" + }, + "InnerErrorV2": { + "description": "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.\r\nThis contains required properties ErrorCode, message and optional properties target, details(key value pair), inner error(this can be nested).", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Gets detailed error code.", + "type": "integer", + "readOnly": true + }, + "error": { + "description": "Gets detailed error string.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Gets high level error message.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Gets the source of the error. \r\nFor example it would be \"documents\" or \"document id\" in case of invalid document.", + "type": "string", + "readOnly": true + }, + "innerError": { + "$ref": "#/definitions/InnerErrorV2" + } + } + }, + "ErrorV2": { + "description": "This contains an outer error with error code, message, details, target and an inner error with more descriptive details.", + "type": "object", + "properties": { + "code": { + "$ref": "#/definitions/ErrorCodeV2" + }, + "message": { + "description": "Gets high level error message.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Gets the source of the error. \r\nFor example it would be \"documents\" or \"document id\" in case of invalid document.", + "type": "string", + "readOnly": true + }, + "innerError": { + "$ref": "#/definitions/InnerErrorV2" + } + } + }, + "DocumentStatusDetail": { + "required": [ + "createdDateTimeUtc", + "lastActionDateTimeUtc", + "path", + "status", + "to" + ], + "type": "object", + "properties": { + "path": { + "description": "Location of the document or folder", + "type": "string", + "example": "https://myblob.blob.core.windows.net/mycontainer/fr/mydoc.txt" + }, + "createdDateTimeUtc": { + "format": "date-time", + "description": "Operation created date time", + "type": "string", + "example": "2020-01-20T11:40:07.7010000-08:00" + }, + "lastActionDateTimeUtc": { + "format": "date-time", + "description": "Date time in which the operation's status has been updated", + "type": "string", + "example": "2020-01-20T11:41:07.7010000-08:00" + }, + "status": { + "$ref": "#/definitions/Status" + }, + "detectedLanguage": { + "description": "Detected language of the original document (to be implemented)", + "type": "string", + "example": "en" + }, + "to": { + "description": "To language", + "type": "string" + }, + "error": { + "$ref": "#/definitions/ErrorV2" + }, + "progress": { + "format": "float", + "description": "Progress of the translation if available", + "maximum": 1, + "minimum": 0, + "type": "number", + "example": 0.5 + }, + "id": { + "format": "uuid", + "description": "Document Id", + "type": "string", + "example": "1c7399a7-6913-4f20-bb43-e2fe2ba1a67d" + } + } + }, + "DocumentStatusResponse": { + "description": "Document Status Response", + "type": "object", + "properties": { + "value": { + "description": "The detail status of individual documents", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentStatusDetail" + } + }, + "@nextLink": { + "description": "Url for the next page. Null if no more pages available", + "type": "string", + "example": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operations/727BF148-F327-47A0-9481-ABAE6362F11E/documents?$top=5&$skip=15" + } + } + }, + "FileFormat": { + "type": "object", + "properties": { + "format": { + "description": "Name of the format", + "type": "string", + "example": "PlainText" + }, + "fileExtensions": { + "description": "Supported file extension for this format", + "type": "array", + "items": { + "type": "string" + } + }, + "contentTypes": { + "description": "Supported Content-Types for this format", + "type": "array", + "items": { + "type": "string" + } + }, + "versions": { + "description": "Supported Version", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "FileFormatListResult": { + "description": "Base type for List return in our api", + "type": "object", + "properties": { + "value": { + "description": "list of objects", + "type": "array", + "items": { + "$ref": "#/definitions/FileFormat" + } + } + } + }, + "StorageSourceListResult": { + "description": "Base type for List return in our api", + "type": "object", + "properties": { + "value": { + "description": "list of objects", + "type": "array", + "items": { + "$ref": "#/definitions/StorageSource" + } + } + } + }, + "ErrorResponseV2": { + "description": "Contains unified error information used for HTTP responses across any Cognitive Service. Instances\r\ncan be created either through Microsoft.CloudAI.Containers.HttpStatusExceptionV2 or by returning it directly from\r\na controller.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorV2" + } + } + } + }, + "securityDefinitions": { + "subscription_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header", + "description": "Provide your cognitive services subscription key here." + } + }, + "security": [ + { + "subscription_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}/translator/text/batch/v1.0-preview.1", + "useSchemePrefix": false, + "parameters": [ + { + "in": "path", + "name": "endpoint", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + ] + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json new file mode 100644 index 000000000000..f4c0fe1c1c19 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "batchRequest": { + "inputs": [ + { + "source": { + "sourceUrl": "https://myblob.blob.core.windows.net/sourceContainer", + "filter": { + "prefix": "pre", + "suffix": ".txt" + }, + "language": "en", + "storageSource": "AzureBlob" + }, + "targets": [ + { + "targetUrl": "https://myblob.blob.core.windows.net/destinationContainer1", + "category": "general", + "language": "fr", + "glossaries": [ + { + "glossaryUrl": "https://myblob.blob.core.windows.net/myglossary/en_fr_glossary.xlf" + } + ], + "storageSource": "AzureBlob" + }, + { + "targetUrl": "https://myblob.blob.core.windows.net/destinationContainer2", + "category": "general", + "language": "es", + "storageSource": "AzureBlob" + } + ] + } + ] + } + }, + "responses": { + "401": { + "headers": {}, + "body": { + "error": { + "code": "Unauthorized", + "message": "User is not authorized", + "innerError": { + "code": 401000, + "error": "Unauthorized", + "message": "Operation is not authorized" + } + } + } + }, + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "202": { + "headers": { + "Operation-Location": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Some argument is incorrect", + "innerError": { + "code": 400120, + "error": "SASTokenInvalid", + "message": "SAS token for storage is invalid" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/cancel.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/cancel.json new file mode 100644 index 000000000000..582b7c86043b --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/cancel.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "id": "727BF148-F327-47A0-9481-ABAE6362F11E" + }, + "responses": { + "401": { + "headers": {}, + "body": { + "error": { + "code": "Unauthorized", + "message": "User is not authorized", + "target": "Operation", + "innerError": { + "code": 401000, + "error": "Unauthorized", + "message": "Operation is not authorized" + } + } + } + }, + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "target": "Operation", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "target": "Operation", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "target": "Operation", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "404": { + "headers": {}, + "body": { + "error": { + "code": "ResourceNotFound", + "message": "id not found", + "target": "Operation", + "innerError": { + "code": 404000, + "error": "ResourceNotFound", + "message": "Resource requested is not found" + } + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "727bf148-f327-47a0-9481-abae6362f11e", + "createdDateTimeUtc": "2020-03-26T00:00:00Z", + "lastActionDateTimeUtc": "2020-03-26T01:00:00Z", + "status": "Succeeded", + "summary": { + "total": 10, + "failed": 1, + "success": 9, + "inProgress": 0, + "notYetStarted": 0, + "cancelled": 0 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json new file mode 100644 index 000000000000..0ba43466b7de --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "id": "727BF148-F327-47A0-9481-ABAE6362F11E", + "documentId": 199800 + }, + "responses": { + "401": { + "headers": {}, + "body": { + "error": { + "code": "Unauthorized", + "message": "User is not authorized", + "target": "Document", + "innerError": { + "code": 401000, + "error": "Unauthorized", + "message": "Operation is not authorized" + } + } + } + }, + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "target": "Document", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "target": "Document", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "target": "Document", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "404": { + "headers": {}, + "body": { + "error": { + "code": "ResourceNotFound", + "message": "id not found", + "target": "Document", + "innerError": { + "code": 404000, + "error": "ResourceNotFound", + "message": "Resource requested is not found" + } + } + } + }, + "200": { + "headers": { + "retry-after": "30", + "ETag": "686897696a7c876b7e" + }, + "body": { + "path": "https://myblob.blob.core.windows.net/destinationContainer/fr/mydoc.txt", + "createdDateTimeUtc": "2020-03-26T00:00:00Z", + "lastActionDateTimeUtc": "2020-03-26T01:00:00Z", + "status": "Running", + "detectedLanguage": "en", + "to": "fr", + "progress": 0.1, + "id": "273622bd-835c-4946-9798-fd8f19f6bbf2" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json new file mode 100644 index 000000000000..cdb8df766ea7 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "id": "727BF148-F327-47A0-9481-ABAE6362F11E", + "$top": 5, + "$skip": 10 + }, + "responses": { + "401": { + "headers": {}, + "body": { + "error": { + "code": "Unauthorized", + "message": "User is not authorized", + "target": "Document", + "innerError": { + "code": 401000, + "error": "Unauthorized", + "message": "Operation is not authorized" + } + } + } + }, + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "target": "Document", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "target": "Document", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "target": "Document", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "404": { + "headers": {}, + "body": { + "error": { + "code": "ResourceNotFound", + "message": "id not found", + "target": "Document", + "innerError": { + "code": 404000, + "error": "ResourceNotFound", + "message": "Resource requested is not found" + } + } + } + }, + "200": { + "headers": { + "retry-after": "30", + "ETag": "686897696a7c876b7e" + }, + "body": { + "value": [ + { + "path": "https://myblob.blob.core.windows.net/destinationContainer/fr/mydoc.txt", + "createdDateTimeUtc": "2020-03-26T00:00:00Z", + "lastActionDateTimeUtc": "2020-03-26T01:00:00Z", + "status": "Running", + "detectedLanguage": "en", + "to": "fr", + "progress": 0.1, + "id": "273622bd-835c-4946-9798-fd8f19f6bbf2" + } + ], + "@nextLink": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55/documents?$top=5&$skip=15" + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Some argument is incorrect", + "target": "Document", + "innerError": { + "code": 400120, + "error": "SASTokenInvalid", + "message": "SAS token for storage is invalid" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json new file mode 100644 index 000000000000..66452ed6c1a9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "200": { + "headers": { + "ETag": "686897696a7c876b7e" + }, + "body": { + "value": [ + { + "format": "PlainText", + "fileExtensions": [ + ".txt" + ], + "contentTypes": [ + "text/plain" + ], + "versions": [] + }, + { + "format": "OpenXmlWord", + "fileExtensions": [ + ".docx" + ], + "contentTypes": [ + "application/vnd.openxmlformats-officedocument.wordprocessingml.document" + ], + "versions": [] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json new file mode 100644 index 000000000000..6c8fd7d5af2b --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "200": { + "headers": { + "ETag": "686897696a7c876b7e" + }, + "body": { + "value": [ + { + "format": "XLIFF", + "fileExtensions": [ + ".xlf" + ], + "contentTypes": [ + "application/xliff+xml" + ], + "versions": [ + "1.2", + "2.0" + ] + }, + { + "format": "TMX", + "fileExtensions": [ + ".tmx" + ], + "contentTypes": [], + "versions": [] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operation.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operation.json new file mode 100644 index 000000000000..88adf548729e --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operation.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "id": "727BF148-F327-47A0-9481-ABAE6362F11E" + }, + "responses": { + "401": { + "headers": {}, + "body": { + "error": { + "code": "Unauthorized", + "message": "User is not authorized", + "target": "Operation", + "innerError": { + "code": 401000, + "error": "Unauthorized", + "message": "Operation is not authorized" + } + } + } + }, + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "target": "Operation", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "target": "Operation", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "target": "Operation", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "404": { + "headers": {}, + "body": { + "error": { + "code": "ResourceNotFound", + "message": "id not found", + "target": "Operation", + "innerError": { + "code": 404000, + "error": "ResourceNotFound", + "message": "Resource requested is not found" + } + } + } + }, + "200": { + "headers": { + "retry-after": "30", + "ETag": "686897696a7c876b7e" + }, + "body": { + "id": "727bf148-f327-47a0-9481-abae6362f11e", + "createdDateTimeUtc": "2020-03-26T00:00:00Z", + "lastActionDateTimeUtc": "2020-03-26T01:00:00Z", + "status": "Succeeded", + "summary": { + "total": 10, + "failed": 1, + "success": 9, + "inProgress": 0, + "notYetStarted": 0, + "cancelled": 0 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json new file mode 100644 index 000000000000..0bef1580c01f --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "401": { + "headers": {}, + "body": { + "error": { + "code": "Unauthorized", + "message": "User is not authorized", + "target": "Operation", + "innerError": { + "code": 401000, + "error": "Unauthorized", + "message": "Operation is not authorized" + } + } + } + }, + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "target": "Operation", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "target": "Operation", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "target": "Operation", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "200": { + "headers": { + "retry-after": "30", + "ETag": "686897696a7c876b7e" + }, + "body": { + "value": [ + { + "id": "727bf148-f327-47a0-9481-abae6362f11e", + "createdDateTimeUtc": "2020-03-26T00:00:00Z", + "lastActionDateTimeUtc": "2020-03-26T01:00:00Z", + "status": "Succeeded", + "summary": { + "total": 10, + "failed": 1, + "success": 9, + "inProgress": 0, + "notYetStarted": 0, + "cancelled": 0 + } + } + ] + } + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "InvalidRequest", + "message": "Some argument is incorrect", + "target": "Operation", + "innerError": { + "code": 400120, + "error": "SASTokenInvalid", + "message": "SAS token for storage is invalid" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json new file mode 100644 index 000000000000..309b22d92b7e --- /dev/null +++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "v1.0-preview.1", + "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA", + "resourceGroupName": "TestResourceGroup", + "endpoint": "{endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "429": { + "headers": {}, + "body": { + "error": { + "code": "RequestRateTooHigh", + "message": "User's request rate is too high", + "innerError": { + "code": 429000, + "error": "RateTooHigh", + "message": "Request rate is too high" + } + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "InternalServerError", + "message": "Internal Server Error", + "innerError": { + "code": 500000, + "error": "Internal Server Error", + "message": "Unexpected internal server error has occurred" + } + } + } + }, + "503": { + "headers": {}, + "body": { + "error": { + "code": "ServiceUnavailable", + "message": "Service is temporary unavailable", + "innerError": { + "code": 503000, + "error": "ServiceTemporaryUnavailable", + "message": "Service is currently unavailable. Please try again later" + } + } + } + }, + "200": { + "headers": { + "ETag": "686897696a7c876b7e" + }, + "body": { + "value": [ + "AzureBlob" + ] + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/TranslatorText/readme.md b/specification/cognitiveservices/data-plane/TranslatorText/readme.md index 4e0143fa3acc..5a735afe3c26 100644 --- a/specification/cognitiveservices/data-plane/TranslatorText/readme.md +++ b/specification/cognitiveservices/data-plane/TranslatorText/readme.md @@ -6,6 +6,8 @@ Configuration for generating Translator Text SDK. The current release is `release_3_0`. +The current document batch preview release is `release_1_0_preview.1'`. + ``` yaml tag: release_3_0 @@ -13,8 +15,21 @@ add-credentials: true openapi-type: data-plane ``` +``` yaml + +tag: release_1_0_preview.1 +add-credentials: true +openapi-type: data-plane +``` + # Releases +### Preview 1.0 +This setting is for batch document translator and only applied when `--tag=release_1_0_preview.1` is specified on the command line. +``` yaml $(tag) == 'release_1_0_preview.1' +input-file: preview/v1.0-preview.1/TranslatorBatch.json +``` + ### Release 3.0 These settings apply only when `--tag=release_3_0` is specified on the command line. @@ -90,6 +105,15 @@ go: ``` yaml $(go) && $(multiapi) batch: - tag: release_3_0 + - tag: release_1_0_preview.1 +``` +### Tag: release_1_0_preview.1 and go + +These settings apply only when `--tag=release_1_0_preview.1 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'release_1_0_preview.1' && $(go) +output-folder: $(go-sdk-folder)/services/cognitiveservices/v1.0_preview.1/$(namespace) ``` ### Tag: release_3_0 and go @@ -120,8 +144,7 @@ java: ``` yaml $(nodejs) nodejs: - package-name: azure-cognitiveservices-newssearch - package-version: 3.0.0 + package-name: azure-cognitiveservices-translatortext output-folder: $(node-sdks-folder)/lib/services/translatorText azure-arm: false generate-license-txt: true @@ -129,6 +152,22 @@ nodejs: generate-readme-md: false ``` +### Tag: release_1_0_preview.1 and nodejs + +These settings apply only when `--tag=release_1_0_preview.1 --nodejs` is specified on the command line. + +``` yaml $(tag) == 'release_1_0_preview.1' && $(nodejs) + package-version: 1.0.1 +``` + +### Tag: release_3_0 and go + +These settings apply only when `--tag=release_3_0 --nodejs` is specified on the command line. + +``` yaml $(tag) == 'release_3_0' && $(nodejs) + package-version: 3.0.0 +``` + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -141,6 +180,7 @@ require: $(this-folder)/../../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/preview/v1.0-preview.1/TranslatorBatch.json - $(this-folder)/stable/v3.0/TranslatorText.json ``` diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json index 6fafff2877ff..b342758b1f81 100644 --- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json @@ -641,6 +641,48 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "Gets the private endpoint connections associated with the Cognitive Services account.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/ListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { "get": { "tags": [ @@ -1658,6 +1700,18 @@ }, "description": "The user owned storage for Cognitive Services account." }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "A list of private endpoint connections" + }, "PrivateEndpointConnection": { "properties": { "properties": { diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json new file mode 100644 index 000000000000..54f2f6a453fc --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2019-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b39fda607747 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-cognitiveservices-2017-04-18 + - tag: schema-cognitiveservices-2016-02-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-cognitiveservices-2017-04-18 and azureresourceschema + +``` yaml $(tag) == 'schema-cognitiveservices-2017-04-18' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json + +``` + +### Tag: schema-cognitiveservices-2016-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-cognitiveservices-2016-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json + +``` diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md index 5e1afb8546f0..49f7177b6ab1 100644 --- a/specification/cognitiveservices/resource-manager/readme.md +++ b/specification/cognitiveservices/resource-manager/readme.md @@ -70,6 +70,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_cognitive_services'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cognitiveservices/resource-manager ``` @@ -141,6 +144,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/commerce/resource-manager/readme.azureresourceschema.md b/specification/commerce/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..10ddf94097fb --- /dev/null +++ b/specification/commerce/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-commerce-2015-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-commerce-2015-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-commerce-2015-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Commerce/preview/2015-06-01-preview/commerce.json + +``` diff --git a/specification/commerce/resource-manager/readme.md b/specification/commerce/resource-manager/readme.md index 1726ab907cca..4f7967777da7 100644 --- a/specification/commerce/resource-manager/readme.md +++ b/specification/commerce/resource-manager/readme.md @@ -51,6 +51,8 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python + after_scripts: + - python ./scripts/multiapi_init_gen.py azure-mgmt-commerce - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js @@ -58,6 +60,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_commerce'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js commerce/resource-manager ``` @@ -76,16 +81,29 @@ python: namespace: azure.mgmt.commerce package-name: azure-mgmt-commerce clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: no-namespace-folders: true - output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce ``` -``` yaml $(python) && $(python-mode) == 'create' + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(python) && $(multiapi) +batch: + - tag: package-2015-06-preview +``` + +### Tag: package-2015-06-preview and python + +These settings apply only when `--tag=package-2015-06-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2015-06-preview' && $(python) +namespace: azure.mgmt.commerce.v2015_06_01_preview +output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce + namespace: azure.mgmt.commerce.v2015_06_01_preview + output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview ``` ## Go @@ -128,6 +146,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/common-types/resource-management/v1/privatelinks.json b/specification/common-types/resource-management/v1/privatelinks.json index d6cb94988421..91e640b03feb 100644 --- a/specification/common-types/resource-management/v1/privatelinks.json +++ b/specification/common-types/resource-management/v1/privatelinks.json @@ -61,7 +61,7 @@ "type": "string", "description": "The reason for approval/rejection of the connection." }, - "actionRequired": { + "actionsRequired": { "type": "string", "description": "A message indicating if changes on the service provider require any updates on the consumer." } diff --git a/specification/common-types/resource-management/v2/types.json b/specification/common-types/resource-management/v2/types.json new file mode 100644 index 000000000000..7ee7093af3e8 --- /dev/null +++ b/specification/common-types/resource-management/v2/types.json @@ -0,0 +1,473 @@ +{ + "swagger": "2.0", + "info": { + "version": "2.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + } + }, + "x-ms-azure-resource": true + }, + "AzureEntityResource": { + "x-ms-client-name": "AzureEntityResource", + "description": "The resource model definition for a Azure Resource Manager resource with an etag.", + "properties": { + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "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" + } + ] + }, + "ResourceModelWithAllowedPropertySet": { + "description": "The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "x-ms-mutability": [ + "read" + ], + "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", + "x-ms-mutability": [ + "read" + ], + "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "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", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. " + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "identity": { + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ] + }, + "sku": { + "allOf": [ + { + "$ref": "#/definitions/Sku" + } + ] + }, + "plan": { + "allOf": [ + { + "$ref": "#/definitions/Plan" + } + ] + } + }, + "x-ms-azure-resource": true + }, + "Sku": { + "description": "The resource model definition representing SKU", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "tier": { + "type": "string", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + }, + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + } + }, + "required": [ + "name" + ] + }, + "Identity": { + "description": "Identity for the resource.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + } + } + }, + "Plan": { + "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." + } + }, + "description": "Plan for the resource.", + "required": [ + "name", + "publisher", + "product" + ] + }, + "ErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponse" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "ErrorAdditionalInfo": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + }, + "locationData": { + "description": "Metadata pertaining to the geographic location of the resource.", + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 256, + "description": "A canonical name for the geographic or physical location." + }, + "city": { + "type": "string", + "description": "The city or locality where the resource is located." + }, + "district": { + "type": "string", + "description": "The district, state, or province where the resource is located." + }, + "countryOrRegion": { + "type": "string", + "description": "The country or region where the resource is located" + } + }, + "required": [ + "name" + ] + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "encryptionProperties": { + "description": "Configuration of key for data encryption", + "type": "object", + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for container registry.", + "enum": [ + "enabled", + "disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + } + } + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "identity": { + "description": "The client id of the identity which will be used to access key vault.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation.", + "minLength": 1 + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json new file mode 100644 index 000000000000..2b58d146d876 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "sharingUpdate": { + "operationType": "Add", + "groups": [ + { + "type": "Subscriptions", + "ids": [ + "34a4ab42-0d72-47d9-bd1a-aed207386dac", + "380fd389-260b-41aa-bad9-0a83108c370b" + ] + }, + { + "type": "AADTenants", + "ids": [ + "c24c76aa-8897-4027-9b03-8f7928b54ff6" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "operationType": "Add", + "groups": [ + { + "type": "Subscriptions", + "ids": [ + "34a4ab42-0d72-47d9-bd1a-aed207386dac", + "380fd389-260b-41aa-bad9-0a83108c370b" + ] + }, + { + "type": "AADTenants", + "ids": [ + "c24c76aa-8897-4027-9b03-8f7928b54ff6" + ] + } + ] + } + }, + "202": { + "body": { + "operationType": "Add", + "groups": [ + { + "type": "Subscriptions", + "ids": [ + "34a4ab42-0d72-47d9-bd1a-aed207386dac", + "380fd389-260b-41aa-bad9-0a83108c370b" + ] + }, + { + "type": "AADTenants", + "ids": [ + "c24c76aa-8897-4027-9b03-8f7928b54ff6" + ] + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json new file mode 100644 index 000000000000..be3c726713ed --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "gallery": { + "location": "West US", + "properties": { + "description": "This is the gallery description." + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryName" + } + }, + "201": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "myGalleryName" + } + }, + "202": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json new file mode 100644 index 000000000000..d4f969d2d11e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplication": { + "location": "West US", + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName", + "type": "Microsoft.Compute/galleries", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName" + } + }, + "201": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName", + "type": "Microsoft.Compute/galleries", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName" + } + }, + "202": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName", + "type": "Microsoft.Compute/galleries", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json new file mode 100644 index 000000000000..6942466a93b3 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0", + "galleryApplicationVersion": { + "location": "West US", + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "endOfLifeDate": "2019-07-01T07:00:00Z", + "storageAccountType": "Standard_LRS" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Creating" + } + } + }, + "202": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json new file mode 100644 index 000000000000..13f9b61d3641 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImage": { + "location": "West US", + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryImageName" + } + }, + "201": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "myGalleryImageName" + } + }, + "202": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json new file mode 100644 index 000000000000..a3353dfdd97e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json @@ -0,0 +1,221 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "galleryImageVersion": { + "location": "West US", + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ] + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "201": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "202": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json new file mode 100644 index 000000000000..d3e4274210ce --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "galleryImageVersion": { + "location": "West US", + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet", + "lun": 1 + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ] + }, + "storageProfile": { + "osDiskImage": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}" + }, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}" + }, + "lun": 1, + "hostCaching": "None" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "osDiskImage": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}" + }, + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}" + }, + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "201": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "osDiskImage": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}" + }, + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}" + }, + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "202": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "osDiskImage": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}" + }, + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}" + }, + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json new file mode 100644 index 000000000000..e2b1b504c1ff --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "galleryImageVersion": { + "location": "West US", + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet", + "lun": 1 + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ] + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "201": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + }, + "provisioningState": "Creating" + }, + "location": "West US", + "name": "1.0.0" + } + }, + "202": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json new file mode 100644 index 000000000000..b9852f7f8548 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "gallery": { + "location": "West US", + "properties": { + "description": "This is the gallery description.", + "sharingProfile": { + "permissions": "Groups" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating", + "sharingProfile": { + "permissions": "Groups" + } + }, + "location": "West US", + "name": "myGalleryName" + } + }, + "201": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Creating", + "sharingProfile": { + "permissions": "Groups" + } + }, + "location": "West US", + "name": "myGalleryName" + } + }, + "202": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating", + "sharingProfile": { + "permissions": "Groups" + } + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json new file mode 100644 index 000000000000..2abe4517a561 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json new file mode 100644 index 000000000000..f1014e7b7f78 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json new file mode 100644 index 000000000000..e4a43f69b126 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json new file mode 100644 index 000000000000..6d760641d7b4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json new file mode 100644 index 000000000000..76001cffb9b2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json new file mode 100644 index 000000000000..7ef46189bfcc --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json new file mode 100644 index 000000000000..37c4d1d42a00 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json new file mode 100644 index 000000000000..ca16dd2d6f84 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json new file mode 100644 index 000000000000..e3d246d4bf3e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0", + "$expand": "ReplicationStatus" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "replicationStatus": { + "aggregatedState": "Completed", + "summary": [ + { + "region": "West US", + "state": "Completed", + "details": "", + "progress": 100 + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json new file mode 100644 index 000000000000..8e4305e0148c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json new file mode 100644 index 000000000000..c65d0cc43058 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json new file mode 100644 index 000000000000..7462407b0222 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "$expand": "ReplicationStatus" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "replicationStatus": { + "aggregatedState": "Completed", + "summary": [ + { + "region": "West US", + "state": "Completed", + "details": "", + "progress": 100 + }, + { + "region": "East US", + "state": "Completed", + "details": "", + "progress": 100 + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json new file mode 100644 index 000000000000..a0184d882337 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "osDiskImage": { + "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}", + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}", + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json new file mode 100644 index 000000000000..d92d3c77540d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}", + "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd" + } + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json new file mode 100644 index 000000000000..b58ca89c0bc1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "$select": "Permissions" + }, + "responses": { + "200": { + "body": { + "properties": { + "sharingProfile": { + "permissions": "Groups", + "groups": [ + { + "type": "Subscriptions", + "ids": [ + "34a4ab42-0d72-47d9-bd1a-aed207386dac", + "380fd389-260b-41aa-bad9-0a83108c370b" + ] + }, + { + "type": "AADTenants", + "ids": [ + "c24c76aa-8897-4027-9b03-8f7928b54ff6" + ] + } + ] + } + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json new file mode 100644 index 000000000000..9615b8456462 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName" + }, + "responses": { + "200": { + "body": { + "location": "myLocation", + "name": "myGalleryName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json new file mode 100644 index 000000000000..ab78ae46c4f0 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + }, + "location": "myLocation", + "name": "myGalleryImageName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json new file mode 100644 index 000000000000..7e20e0f45d65 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "myGalleryImageVersionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "publishedDate": "2018-03-20T09:12:28Z", + "endOfLifeDate": "2022-03-20T09:12:28Z" + }, + "location": "myLocation", + "name": "myGalleryImageVersionName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName/Versions/myGalleryImageVersionName" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json new file mode 100644 index 000000000000..756c512dd1fe --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryName", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json new file mode 100644 index 000000000000..280325678dd3 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryName", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json new file mode 100644 index 000000000000..0899c17bfafe --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName/versions/myGalleryApplicationVersionName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json new file mode 100644 index 000000000000..d21b58c493ff --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json new file mode 100644 index 000000000000..499ad4e6366f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 0, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet" + }, + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "1.0.0" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName/versions/myGalleryImageVersionName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json new file mode 100644 index 000000000000..570fc0e39b6f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myGalleryImageName" + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json new file mode 100644 index 000000000000..baebdfed7d93 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "myLocation", + "name": "galleryUniqueName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName" + } + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/sharedGalleries?$skiptoken={token}/Subscriptions/{subscriptionId}/galleries/galleryUniqueName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json new file mode 100644 index 000000000000..95baa0b1144f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName", + "galleryImageName": "myGalleryImageName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "publishedDate": "2018-03-20T09:12:28Z", + "endOfLifeDate": "2022-03-20T09:12:28Z" + }, + "location": "myLocation", + "name": "myGalleryImageVersionName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName/Versions/myGalleryImageVersionName" + } + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscription-Id}/providers/Microsoft.Compute/sharedGalleries/galleryUniqueName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscription-Id}/galleries/galleryUniqueName/images/myGalleryImageName/versions/myGalleryImageVersionName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json new file mode 100644 index 000000000000..47a2b4ac926a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "myLocation", + "api-version": "2020-09-30", + "galleryUniqueName": "galleryUniqueName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + }, + "location": "myLocation", + "name": "myGalleryImageName", + "identifier": { + "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName" + } + } + ], + "nextLink": "http://svchost:99/subscriptions/{subscription-Id}/providers/Microsoft.Compute/sharedGalleries/galleryUniqueName/images?$skiptoken={token}/Subscriptions/{subscription-Id}/galleries/galleryUniqueName/images/myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json new file mode 100644 index 000000000000..98c4a29b2a29 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "sharingUpdate": { + "operationType": "Reset" + } + }, + "responses": { + "200": { + "body": { + "operationType": "Reset" + } + }, + "202": { + "body": { + "operationType": "Reset" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json new file mode 100644 index 000000000000..d3618117f15c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "gallery": { + "properties": { + "description": "This is the gallery description." + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery description.", + "identifier": { + "uniqueName": "{subscription-id}-MYGALLERYNAME" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json new file mode 100644 index 000000000000..0bb889c29a26 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplication": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "This is the gallery application description.", + "eula": "This is the gallery application EULA.", + "privacyStatementUri": "myPrivacyStatementUri}", + "releaseNoteUri": "myReleaseNoteUri", + "supportedOSType": "Windows" + }, + "location": "West US", + "name": "myGalleryApplicationName", + "type": "Microsoft.Compute/galleries", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json new file mode 100644 index 000000000000..8d473b578024 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryApplicationName": "myGalleryApplicationName", + "galleryApplicationVersionName": "1.0.0", + "galleryApplicationVersion": { + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "endOfLifeDate": "2019-07-01T07:00:00Z", + "storageAccountType": "Standard_LRS" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "West US", + "name": "1.0.0", + "type": "Microsoft.Compute/galleries/applications/versions", + "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0", + "properties": { + "publishingProfile": { + "source": { + "fileName": "package.zip", + "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}" + }, + "enableHealthCheck": false, + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS" + } + ], + "replicaCount": 1, + "excludeFromLatest": false, + "publishedDate": "2019-06-21T17:13:57.5972568+00:00", + "endOfLifeDate": "2019-07-01T07:00:00+00:00", + "storageAccountType": "Standard_LRS" + }, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json new file mode 100644 index 000000000000..ebfd473f7e95 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImage": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "osState": "Generalized", + "hyperVGeneration": "V1", + "identifier": { + "publisher": "myPublisherName", + "offer": "myOfferName", + "sku": "mySkuName" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myGalleryImageName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json new file mode 100644 index 000000000000..5cf4547abad1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-30", + "galleryName": "myGalleryName", + "galleryImageName": "myGalleryImageName", + "galleryImageVersionName": "1.0.0", + "galleryImageVersion": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1 + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ] + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "publishingProfile": { + "targetRegions": [ + { + "name": "West US", + "regionalReplicaCount": 1, + "storageAccountType": "Standard_LRS", + "encryption": { + "osDiskImage": { + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + }, + "dataDiskImages": [ + { + "lun": 1, + "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet" + } + ] + } + }, + { + "name": "East US", + "regionalReplicaCount": 2, + "storageAccountType": "Standard_ZRS" + } + ], + "replicaCount": 1, + "publishedDate": "2018-01-01T00:00:00Z", + "storageAccountType": "Standard_LRS" + }, + "storageProfile": { + "source": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" + }, + "osDiskImage": { + "sizeInGB": 10, + "hostCaching": "ReadOnly" + }, + "dataDiskImages": [ + { + "lun": 1, + "sizeInGB": 10, + "hostCaching": "None" + } + ] + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "1.0.0" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json new file mode 100644 index 000000000000..b5e64bcf9dde --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json @@ -0,0 +1,2846 @@ +{ + "swagger": "2.0", + "info": { + "title": "SharedImageGalleryServiceClient", + "description": "Shared Image Gallery Service Client.", + "version": "2020-09-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.Compute/galleries/{galleryName}": { + "put": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_CreateOrUpdate", + "description": "Create or update a Shared Image Gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "gallery", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Gallery" + }, + "description": "Parameters supplied to the create or update Shared Image Gallery operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple gallery.": { + "$ref": "./examples/CreateOrUpdateASimpleGallery.json" + }, + "Create or update a simple gallery with sharing profile.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json" + } + } + }, + "patch": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_Update", + "description": "Update a Shared Image Gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "gallery", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryUpdate" + }, + "description": "Parameters supplied to the update Shared Image Gallery operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple gallery.": { + "$ref": "./examples/UpdateASimpleGallery.json" + } + } + }, + "get": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_Get", + "description": "Retrieves information about a Shared Image Gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "The select expression to apply on the operation.", + "enum": [ + "Permissions" + ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/GetAGallery.json" + }, + "Get a gallery with select permissions.": { + "$ref": "./examples/GetAGalleryWithSelectPermissions.json" + } + } + }, + "delete": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_Delete", + "description": "Delete a Shared Image Gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery.": { + "$ref": "./examples/DeleteAGallery.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}": { + "put": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_CreateOrUpdate", + "description": "Create or update a gallery image definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition is to be created." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImage", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImage" + }, + "description": "Parameters supplied to the create or update gallery image operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple gallery image.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryImage.json" + } + } + }, + "patch": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_Update", + "description": "Update a gallery image definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition is to be updated." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImage", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImageUpdate" + }, + "description": "Parameters supplied to the update gallery image operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple gallery image.": { + "$ref": "./examples/UpdateASimpleGalleryImage.json" + } + } + }, + "get": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_Get", + "description": "Retrieves information about a gallery image definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery from which the Image Definitions are to be retrieved." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery image.": { + "$ref": "./examples/GetAGalleryImage.json" + } + } + }, + "delete": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_Delete", + "description": "Delete a gallery image.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition is to be deleted." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery image.": { + "$ref": "./examples/DeleteAGalleryImage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}": { + "put": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_CreateOrUpdate", + "description": "Create or update a gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition in which the Image Version is to be created." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImageVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + }, + "description": "Parameters supplied to the create or update gallery image version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple Gallery Image Version (Managed Image as source).": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersion.json" + }, + "Create or update a simple Gallery Image Version using snapshots as a source.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json" + }, + "Create or update a simple Gallery Image Version using vhd as a source.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json" + } + } + }, + "patch": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_Update", + "description": "Update a gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition in which the Image Version is to be updated." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be updated. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImageVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImageVersionUpdate" + }, + "description": "Parameters supplied to the update gallery image version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple Gallery Image Version (Managed Image as source).": { + "$ref": "./examples/UpdateASimpleGalleryImageVersion.json" + } + } + }, + "get": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_Get", + "description": "Retrieves information about a gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition in which the Image Version resides." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be retrieved." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "ReplicationStatus" + ], + "x-ms-enum": { + "name": "ReplicationStatusTypes", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery image version.": { + "$ref": "./examples/GetAGalleryImageVersion.json" + }, + "Get a gallery image version with replication status.": { + "$ref": "./examples/GetAGalleryImageVersionWithReplicationStatus.json" + }, + "Get a gallery image version with snapshots as a source.": { + "$ref": "./examples/GetAGalleryImageVersionWithSnapshotsAsSource.json" + }, + "Get a gallery image version with vhd as a source.": { + "$ref": "./examples/GetAGalleryImageVersionWithVhdAsSource.json" + } + } + }, + "delete": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_Delete", + "description": "Delete a gallery image version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image definition in which the Image Version resides." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery image version.": { + "$ref": "./examples/DeleteAGalleryImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}": { + "put": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_CreateOrUpdate", + "description": "Create or update a gallery Application Definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition is to be created." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be created or updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryApplication", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryApplication" + }, + "description": "Parameters supplied to the create or update gallery Application operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple gallery Application.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryApplication.json" + } + } + }, + "patch": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_Update", + "description": "Update a gallery Application Definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition is to be updated." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryApplication", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryApplicationUpdate" + }, + "description": "Parameters supplied to the update gallery Application operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple gallery Application.": { + "$ref": "./examples/UpdateASimpleGalleryApplication.json" + } + } + }, + "get": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_Get", + "description": "Retrieves information about a gallery Application Definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery from which the Application Definitions are to be retrieved." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery Application.": { + "$ref": "./examples/GetAGalleryApplication.json" + } + } + }, + "delete": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_Delete", + "description": "Delete a gallery Application.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition is to be deleted." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery Application.": { + "$ref": "./examples/DeleteAGalleryApplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions/{galleryApplicationVersionName}": { + "put": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_CreateOrUpdate", + "description": "Create or update a gallery Application Version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition in which the Application Version is to be created." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryApplicationVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + }, + "description": "Parameters supplied to the create or update gallery Application Version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a simple gallery Application Version.": { + "$ref": "./examples/CreateOrUpdateASimpleGalleryApplicationVersion.json" + } + } + }, + "patch": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_Update", + "description": "Update a gallery Application Version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition in which the Application Version is to be updated." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be updated. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryApplicationVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryApplicationVersionUpdate" + }, + "description": "Parameters supplied to the update gallery Application Version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a simple gallery Application Version.": { + "$ref": "./examples/UpdateASimpleGalleryApplicationVersion.json" + } + } + }, + "get": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_Get", + "description": "Retrieves information about a gallery Application Version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition in which the Application Version resides." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be retrieved." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "ReplicationStatus" + ], + "x-ms-enum": { + "name": "ReplicationStatusTypes", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery Application Version.": { + "$ref": "./examples/GetAGalleryApplicationVersion.json" + }, + "Get a gallery Application Version with replication status.": { + "$ref": "./examples/GetAGalleryApplicationVersionWithReplicationStatus.json" + } + } + }, + "delete": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_Delete", + "description": "Delete a gallery Application Version.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition in which the Application Version resides." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be deleted." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a gallery Application Version.": { + "$ref": "./examples/DeleteAGalleryApplicationVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries": { + "get": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_ListByResourceGroup", + "description": "List galleries under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List galleries in a resource group.": { + "$ref": "./examples/ListGalleriesInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries": { + "get": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_List", + "description": "List galleries under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List galleries in a subscription.": { + "$ref": "./examples/ListGalleriesInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images": { + "get": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_ListByGallery", + "description": "List gallery image definitions in a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery from which Image Definitions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery images in a gallery.": { + "$ref": "./examples/ListGalleryImagesInAGallery.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions": { + "get": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_ListByGalleryImage", + "description": "List gallery image versions in a gallery image definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery in which the Image Definition resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery Image Definition from which the Image Versions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery image versions in a gallery image definition.": { + "$ref": "./examples/ListGalleryImageVersionsInAGalleryImage.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications": { + "get": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_ListByGallery", + "description": "List gallery Application Definitions in a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery from which Application Definitions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery Applications in a gallery.": { + "$ref": "./examples/ListGalleryApplicationsInAGallery.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions": { + "get": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_ListByGalleryApplication", + "description": "List gallery Application Versions in a gallery Application Definition.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery in which the Application Definition resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery Application Definition from which the Application Versions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery Application Versions in a gallery Application Definition.": { + "$ref": "./examples/ListGalleryApplicationVersionsInAGalleryApplication.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/share": { + "post": { + "tags": [ + "GallerySharingUpdate" + ], + "operationId": "GallerySharingProfile_Update", + "description": "Update sharing profile of a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "sharingUpdate", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SharingUpdate" + }, + "description": "Parameters supplied to the update gallery sharing profile." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharingUpdate" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/SharingUpdate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Add sharing id to the sharing profile of a gallery.": { + "$ref": "./examples/AddToSharingProfileInAGallery.json" + }, + "reset sharing profile of a gallery.": { + "$ref": "./examples/ResetSharingProfileInAGallery.json" + } + } + } + } + }, + "definitions": { + "Gallery": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the Shared Image Gallery that you want to create or update." + }, + "GalleryUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the Shared Image Gallery that you want to update." + }, + "GalleryProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this Shared Image Gallery resource. This property is updatable." + }, + "identifier": { + "$ref": "#/definitions/GalleryIdentifier" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "sharingProfile": { + "$ref": "#/definitions/SharingProfile" + } + }, + "description": "Describes the properties of a Shared Image Gallery." + }, + "GalleryIdentifier": { + "properties": { + "uniqueName": { + "readOnly": true, + "type": "string", + "description": "The unique name of the Shared Image Gallery. This name is generated automatically by Azure." + } + }, + "description": "Describes the gallery unique name." + }, + "SharingProfile": { + "description": "Profile for gallery sharing to subscription or tenant", + "properties": { + "permissions": { + "type": "string", + "description": "This property allows you to specify the permission of sharing gallery.

Possible values are:

**Private**

**Groups**", + "enum": [ + "Private", + "Groups" + ], + "x-ms-enum": { + "name": "GallerySharingPermissionTypes", + "modelAsString": true + } + }, + "groups": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharingProfileGroup" + }, + "description": "A list of sharing profile groups." + } + } + }, + "SharingProfileGroup": { + "description": "Group of the gallery sharing profile", + "properties": { + "type": { + "type": "string", + "description": "This property allows you to specify the type of sharing group.

Possible values are:

**Subscriptions**

**AADTenants**", + "enum": [ + "Subscriptions", + "AADTenants" + ], + "x-ms-enum": { + "name": "SharingProfileGroupTypes", + "modelAsString": true + } + }, + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of subscription/tenant ids the gallery is aimed to be shared to." + } + } + }, + "GalleryApplication": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the gallery Application Definition that you want to create or update." + }, + "GalleryApplicationUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery Application Definition that you want to update." + }, + "GalleryApplicationProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery Application Definition resource. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery Application Definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "supportedOSType": { + "type": "string", + "description": "This property allows you to specify the supported type of the OS that application is built for.

Possible values are:

**Windows**

**Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + } + }, + "required": [ + "supportedOSType" + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "GalleryApplicationVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the gallery Application Version that you want to create or update." + }, + "GalleryApplicationVersionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery Application Version that you want to update." + }, + "GalleryApplicationVersionProperties": { + "properties": { + "publishingProfile": { + "$ref": "#/definitions/GalleryApplicationVersionPublishingProfile" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery Application Version.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "replicationStatus": { + "readOnly": true, + "$ref": "#/definitions/ReplicationStatus" + } + }, + "required": [ + "publishingProfile" + ], + "description": "Describes the properties of a gallery image version." + }, + "GalleryApplicationVersionPublishingProfile": { + "properties": { + "source": { + "$ref": "#/definitions/UserArtifactSource" + }, + "contentType": { + "type": "string", + "description": "Optional. May be used to help process this file. The type of file contained in the source, e.g. zip, json, etc." + }, + "enableHealthCheck": { + "type": "boolean", + "description": "Optional. Whether or not this application reports health." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GalleryArtifactPublishingProfileBase" + } + ], + "required": [ + "source" + ], + "description": "The publishing profile of a gallery image version." + }, + "UserArtifactSource": { + "properties": { + "fileName": { + "type": "string", + "description": "Required. The fileName of the artifact." + }, + "mediaLink": { + "type": "string", + "description": "Required. The mediaLink of the artifact, must be a readable storage blob." + } + }, + "required": [ + "fileName", + "mediaLink" + ], + "description": "The source image from which the Image Version is going to be created." + }, + "GalleryImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the gallery image definition that you want to create or update." + }, + "GalleryImageUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery image definition that you want to update." + }, + "GalleryImageProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery image definition resource. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery image definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "osType": { + "type": "string", + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

Possible values are:

**Windows**

**Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "osState": { + "type": "string", + "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'.", + "enum": [ + "Generalized", + "Specialized" + ], + "x-ms-enum": { + "name": "OperatingSystemStateTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "features": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImageFeature" + }, + "description": "A list of gallery image features." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "identifier": { + "$ref": "#/definitions/GalleryImageIdentifier" + }, + "recommended": { + "$ref": "#/definitions/RecommendedMachineConfiguration" + }, + "disallowed": { + "$ref": "#/definitions/Disallowed" + }, + "purchasePlan": { + "$ref": "#/definitions/ImagePurchasePlan" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery image definition.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + } + }, + "required": [ + "osType", + "osState", + "identifier" + ], + "description": "Describes the properties of a gallery image definition." + }, + "GalleryImageFeature": { + "properties": { + "name": { + "type": "string", + "description": "The name of the gallery image feature." + }, + "value": { + "type": "string", + "description": "The value of the gallery image feature." + } + }, + "description": "A feature for gallery image." + }, + "GalleryImageIdentifier": { + "properties": { + "publisher": { + "type": "string", + "description": "The name of the gallery image definition publisher." + }, + "offer": { + "type": "string", + "description": "The name of the gallery image definition offer." + }, + "sku": { + "type": "string", + "description": "The name of the gallery image definition SKU." + } + }, + "required": [ + "publisher", + "offer", + "sku" + ], + "description": "This is the gallery image definition identifier." + }, + "RecommendedMachineConfiguration": { + "properties": { + "vCPUs": { + "$ref": "#/definitions/ResourceRange" + }, + "memory": { + "$ref": "#/definitions/ResourceRange" + } + }, + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "ResourceRange": { + "properties": { + "min": { + "type": "integer", + "format": "int32", + "description": "The minimum number of the resource." + }, + "max": { + "type": "integer", + "format": "int32", + "description": "The maximum number of the resource." + } + }, + "description": "Describes the resource range." + }, + "Disallowed": { + "properties": { + "diskTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of disk types." + } + }, + "description": "Describes the disallowed disk types." + }, + "ImagePurchasePlan": { + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product ID." + } + }, + "description": "Describes the gallery image definition purchase plan. This is used by marketplace images." + }, + "GalleryImageVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the gallery image version that you want to create or update." + }, + "GalleryImageVersionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery image version that you want to update." + }, + "GalleryImageVersionProperties": { + "properties": { + "publishingProfile": { + "$ref": "#/definitions/GalleryImageVersionPublishingProfile" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery image version.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "storageProfile": { + "$ref": "#/definitions/GalleryImageVersionStorageProfile" + }, + "replicationStatus": { + "readOnly": true, + "$ref": "#/definitions/ReplicationStatus" + } + }, + "required": [ + "storageProfile" + ], + "description": "Describes the properties of a gallery image version." + }, + "GalleryArtifactPublishingProfileBase": { + "properties": { + "targetRegions": { + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + }, + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + }, + "replicaCount": { + "type": "integer", + "format": "int32", + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." + }, + "excludeFromLatest": { + "type": "boolean", + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." + }, + "publishedDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The timestamp for when the gallery image version is published." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable." + }, + "storageAccountType": { + "type": "string", + "description": "Specifies the storage account type to be used to store the image. This property is not updatable.", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + } + }, + "description": "Describes the basic gallery artifact publishing profile." + }, + "TargetRegion": { + "properties": { + "name": { + "type": "string", + "description": "The name of the region." + }, + "regionalReplicaCount": { + "type": "integer", + "format": "int32", + "description": "The number of replicas of the Image Version to be created per region. This property is updatable." + }, + "storageAccountType": { + "type": "string", + "description": "Specifies the storage account type to be used to store the image. This property is not updatable.", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + }, + "encryption": { + "$ref": "#/definitions/EncryptionImages" + } + }, + "required": [ + "name" + ], + "description": "Describes the target region information." + }, + "EncryptionImages": { + "properties": { + "osDiskImage": { + "$ref": "#/definitions/OSDiskImageEncryption" + }, + "dataDiskImages": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskImageEncryption" + }, + "description": "A list of encryption specifications for data disk images." + } + }, + "description": "Optional. Allows users to provide customer managed keys for encrypting the OS and data disks in the gallery artifact." + }, + "OSDiskImageEncryption": { + "allOf": [ + { + "$ref": "#/definitions/DiskImageEncryption" + } + ], + "description": "Contains encryption settings for an OS disk image." + }, + "DataDiskImageEncryption": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DiskImageEncryption" + } + ], + "required": [ + "lun" + ], + "description": "Contains encryption settings for a data disk image." + }, + "DiskImageEncryption": { + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "A relative URI containing the resource ID of the disk encryption set." + } + }, + "description": "This is the disk image encryption base class." + }, + "GalleryArtifactSource": { + "properties": { + "managedImage": { + "$ref": "#/definitions/ManagedArtifact" + } + }, + "required": [ + "managedImage" + ], + "description": "The source image from which the Image Version is going to be created." + }, + "ManagedArtifact": { + "properties": { + "id": { + "type": "string", + "description": "The managed artifact id." + } + }, + "required": [ + "id" + ], + "description": "The managed artifact." + }, + "GalleryImageVersionPublishingProfile": { + "allOf": [ + { + "$ref": "#/definitions/GalleryArtifactPublishingProfileBase" + } + ], + "description": "The publishing profile of a gallery image Version." + }, + "GalleryImageVersionStorageProfile": { + "properties": { + "source": { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + "osDiskImage": { + "$ref": "#/definitions/GalleryOSDiskImage" + }, + "dataDiskImages": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryDataDiskImage" + }, + "description": "A list of data disk images." + } + }, + "description": "This is the storage profile of a Gallery Image Version." + }, + "GalleryArtifactVersionSource": { + "properties": { + "id": { + "type": "string", + "description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, user image or storage account resource." + }, + "uri": { + "type": "string", + "description": "The uri of the gallery artifact version source. Currently used to specify vhd/blob source." + } + }, + "description": "The gallery artifact version source." + }, + "GalleryOSDiskImage": { + "allOf": [ + { + "$ref": "#/definitions/GalleryDiskImage" + } + ], + "description": "This is the OS disk image." + }, + "GalleryDataDiskImage": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GalleryDiskImage" + } + ], + "required": [ + "lun" + ], + "description": "This is the data disk image." + }, + "GalleryDiskImage": { + "properties": { + "sizeInGB": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "This property indicates the size of the VHD to be created." + }, + "hostCaching": { + "type": "string", + "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "HostCaching", + "modelAsString": false + } + }, + "source": { + "$ref": "#/definitions/GalleryArtifactVersionSource" + } + }, + "description": "This is the disk image base class." + }, + "ReplicationStatus": { + "properties": { + "aggregatedState": { + "readOnly": true, + "type": "string", + "description": "This is the aggregated replication status based on all the regional replication status flags.", + "enum": [ + "Unknown", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "AggregatedReplicationState", + "modelAsString": true + } + }, + "summary": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RegionalReplicationStatus" + }, + "description": "This is a summary of replication status for each region." + } + }, + "description": "This is the replication status of the gallery image version." + }, + "RegionalReplicationStatus": { + "properties": { + "region": { + "readOnly": true, + "type": "string", + "description": "The region to which the gallery image version is being replicated to." + }, + "state": { + "readOnly": true, + "type": "string", + "description": "This is the regional replication state.", + "enum": [ + "Unknown", + "Replicating", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "ReplicationState", + "modelAsString": true + } + }, + "details": { + "readOnly": true, + "type": "string", + "description": "The details of the replication status." + }, + "progress": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "It indicates progress of the replication job." + } + }, + "description": "This is the regional replication status." + }, + "GalleryList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Gallery" + }, + "description": "A list of galleries." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of galleries. Call ListNext() with this to fetch the next page of galleries." + } + }, + "required": [ + "value" + ], + "description": "The List Galleries operation response." + }, + "GalleryImageList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImage" + }, + "description": "A list of Shared Image Gallery images." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Image Definitions in the Shared Image Gallery. Call ListNext() with this to fetch the next page of gallery image definitions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Images operation response." + }, + "GalleryImageVersionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImageVersion" + }, + "description": "A list of gallery image versions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of gallery image versions. Call ListNext() with this to fetch the next page of gallery image versions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Image version operation response." + }, + "GalleryApplicationList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryApplication" + }, + "description": "A list of Gallery Applications." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Application Definitions in the Application Gallery. Call ListNext() with this to fetch the next page of gallery Application Definitions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Applications operation response." + }, + "GalleryApplicationVersionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryApplicationVersion" + }, + "description": "A list of gallery Application Versions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of gallery Application Versions. Call ListNext() with this to fetch the next page of gallery Application Versions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Application version operation response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." + }, + "ApiError": { + "properties": { + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiErrorBase" + }, + "description": "The Api error details" + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "The Api inner error" + }, + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error." + }, + "ApiErrorBase": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error base." + }, + "InnerError": { + "properties": { + "exceptiontype": { + "type": "string", + "description": "The exception type." + }, + "errordetail": { + "type": "string", + "description": "The internal error message or exception dump." + } + }, + "description": "Inner error details." + }, + "Resource": { + "description": "The Resource model definition.", + "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" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "UpdateResourceDefinition": { + "description": "The Update Resource model definition.", + "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" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "x-ms-azure-resource": true + }, + "SharingUpdate": { + "description": "Specifies information about the gallery sharing profile update.", + "properties": { + "operationType": { + "type": "string", + "description": "This property allows you to specify the operation type of gallery sharing update.

Possible values are:

**Add**

**Remove**

**Reset**", + "enum": [ + "Add", + "Remove", + "Reset" + ], + "x-ms-enum": { + "name": "SharingUpdateOperationTypes", + "modelAsString": true + } + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/definitions/SharingProfileGroup" + }, + "description": "A list of sharing profile groups." + } + }, + "required": [ + "operationType" + ], + "x-ms-azure-resource": true + } + }, + "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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the resource group." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json new file mode 100644 index 000000000000..c3d8a76c77d1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json @@ -0,0 +1,786 @@ +{ + "swagger": "2.0", + "info": { + "title": "SharedGalleryServiceClient", + "description": "Shared Gallery Service Client.", + "version": "2020-09-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}/providers/Microsoft.Compute/locations/{location}/sharedGalleries": { + "get": { + "tags": [ + "SharedGalleries" + ], + "operationId": "SharedGalleries_List", + "description": "List shared galleries by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "sharedTo", + "in": "query", + "required": false, + "type": "string", + "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.", + "enum": [ + "tenant" + ], + "x-ms-enum": { + "name": "SharedToValues", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/ListSharedGalleries.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images": { + "get": { + "tags": [ + "SharedGalleryImages" + ], + "operationId": "SharedGalleryImages_List", + "description": "List shared gallery images by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "name": "sharedTo", + "in": "query", + "required": false, + "type": "string", + "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.", + "enum": [ + "tenant" + ], + "x-ms-enum": { + "name": "SharedToValues", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryImageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/ListSharedGalleryImages.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions": { + "get": { + "tags": [ + "SharedGalleryImageVersions" + ], + "operationId": "SharedGalleryImageVersions_List", + "description": "List shared gallery image versions by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed." + }, + { + "name": "sharedTo", + "in": "query", + "required": false, + "type": "string", + "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.", + "enum": [ + "tenant" + ], + "x-ms-enum": { + "name": "SharedToValues", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryImageVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/ListSharedGalleryImageVersions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}": { + "get": { + "tags": [ + "SharedGalleries" + ], + "operationId": "SharedGalleries_Get", + "description": "Get a shared gallery by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/GetASharedGallery.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}": { + "get": { + "tags": [ + "SharedGalleryImages" + ], + "operationId": "SharedGalleryImages_Get", + "description": "Get a shared gallery image by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryImage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/GetASharedGalleryImage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions/{galleryImageVersionName}": { + "get": { + "tags": [ + "SharedGalleryImageVersions" + ], + "operationId": "SharedGalleryImageVersions_Get", + "description": "Get a shared gallery image version by subscription id or tenant id.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParamter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryUniqueName", + "in": "path", + "required": true, + "type": "string", + "description": "The unique name of the Shared Gallery." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be created. Needs to follow semantic version name pattern: The allowed characters are digit and period. Digits must be within the range of a 32-bit integer. Format: .." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharedGalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery.": { + "$ref": "./examples/GetASharedGalleryImageVersion.json" + } + } + } + } + }, + "definitions": { + "PirResource": { + "description": "The Resource model definition.", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Resource location" + } + } + }, + "PirSharedGalleryResource": { + "properties": { + "identifier": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedGalleryIdentifier" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PirResource" + } + ], + "description": "Base information about the shared gallery resource in pir." + }, + "SharedGalleryIdentifier": { + "properties": { + "uniqueId": { + "type": "string", + "description": "The unique id of this shared gallery." + } + }, + "description": "The identifier information of shared gallery." + }, + "SharedGalleryList": { + "description": "The List Shared Galleries operation response.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedGallery" + }, + "description": "A list of shared galleries." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of shared galleries. Call ListNext() with this to fetch the next page of shared galleries." + } + }, + "required": [ + "value" + ] + }, + "SharedGallery": { + "properties": {}, + "allOf": [ + { + "$ref": "#/definitions/PirSharedGalleryResource" + } + ], + "description": "Specifies information about the Shared Gallery that you want to create or update." + }, + "SharedGalleryImageList": { + "description": "The List Shared Gallery Images operation response.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedGalleryImage" + }, + "description": "A list of shared gallery images." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of shared gallery images. Call ListNext() with this to fetch the next page of shared gallery images." + } + }, + "required": [ + "value" + ] + }, + "SharedGalleryImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedGalleryImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PirSharedGalleryResource" + } + ], + "description": "Specifies information about the gallery image definition that you want to create or update." + }, + "SharedGalleryImageProperties": { + "properties": { + "osType": { + "type": "string", + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

Possible values are:

**Windows**

**Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "osState": { + "type": "string", + "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'.", + "enum": [ + "Generalized", + "Specialized" + ], + "x-ms-enum": { + "name": "OperatingSystemStateTypes", + "modelAsString": false + } + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "identifier": { + "$ref": "#/definitions/GalleryImageIdentifier" + }, + "recommended": { + "$ref": "#/definitions/RecommendedMachineConfiguration" + }, + "disallowed": { + "$ref": "#/definitions/Disallowed" + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": false + } + }, + "features": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImageFeature" + }, + "description": "A list of gallery image features." + }, + "purchasePlan": { + "$ref": "#/definitions/ImagePurchasePlan" + } + }, + "required": [ + "osType", + "osState", + "identifier" + ], + "description": "Describes the properties of a gallery image definition." + }, + "GalleryImageFeature": { + "properties": { + "name": { + "type": "string", + "description": "The name of the gallery image feature." + }, + "value": { + "type": "string", + "description": "The value of the gallery image feature." + } + }, + "description": "A feature for gallery image." + }, + "GalleryImageIdentifier": { + "properties": { + "publisher": { + "type": "string", + "description": "The name of the gallery image definition publisher." + }, + "offer": { + "type": "string", + "description": "The name of the gallery image definition offer." + }, + "sku": { + "type": "string", + "description": "The name of the gallery image definition SKU." + } + }, + "required": [ + "publisher", + "offer", + "sku" + ], + "description": "This is the gallery image definition identifier." + }, + "RecommendedMachineConfiguration": { + "properties": { + "vCPUs": { + "$ref": "#/definitions/ResourceRange" + }, + "memory": { + "$ref": "#/definitions/ResourceRange" + } + }, + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "ResourceRange": { + "properties": { + "min": { + "type": "integer", + "format": "int32", + "description": "The minimum number of the resource." + }, + "max": { + "type": "integer", + "format": "int32", + "description": "The maximum number of the resource." + } + }, + "description": "Describes the resource range." + }, + "Disallowed": { + "properties": { + "diskTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of disk types." + } + }, + "description": "Describes the disallowed disk types." + }, + "ImagePurchasePlan": { + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product ID." + } + }, + "description": "Describes the gallery image definition purchase plan. This is used by marketplace images." + }, + "SharedGalleryImageVersionList": { + "description": "The List Shared Gallery Image versions operation response.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedGalleryImageVersion" + }, + "description": "A list of shared gallery images versions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of shared gallery image versions. Call ListNext() with this to fetch the next page of shared gallery image versions." + } + }, + "required": [ + "value" + ] + }, + "SharedGalleryImageVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedGalleryImageVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PirSharedGalleryResource" + } + ], + "description": "Specifies information about the gallery image version that you want to create or update." + }, + "SharedGalleryImageVersionProperties": { + "properties": { + "publishedDate": { + "type": "string", + "format": "date-time", + "description": "The published date of the gallery image version Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image version Definition. This property can be used for decommissioning purposes. This property is updatable." + } + }, + "description": "Describes the properties of a gallery image version." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." + }, + "ApiError": { + "properties": { + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiErrorBase" + }, + "description": "The Api error details" + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "The Api inner error" + }, + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error." + }, + "ApiErrorBase": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error base." + }, + "InnerError": { + "properties": { + "exceptiontype": { + "type": "string", + "description": "The exception type." + }, + "errordetail": { + "type": "string", + "description": "The internal error message or exception dump." + } + }, + "description": "Inner error details." + } + }, + "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." + }, + "LocationNameParamter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Resource location." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json index ad40111669f1..6f0081100c90 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json @@ -2542,21 +2542,6 @@ "UpdateResource": { "description": "The Update Resource model definition.", "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" - }, "tags": { "type": "object", "additionalProperties": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json index 8871f4d6f77e..7aecfefdf14d 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json @@ -1849,7 +1849,7 @@ "values": [ { "value": "EncryptionAtRestWithPlatformKey", - "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type." + "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets." }, { "value": "EncryptionAtRestWithCustomerKey", @@ -2002,6 +2002,9 @@ }, "DiskEncryptionSetUpdateProperties": { "properties": { + "encryptionType": { + "$ref": "#/definitions/EncryptionType" + }, "activeKey": { "$ref": "#/definitions/KeyVaultAndKeyReference" } diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json new file mode 100644 index 000000000000..817f4c62ac26 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json @@ -0,0 +1,11756 @@ +{ + "swagger": "2.0", + "info": { + "title": "ComputeManagementClient", + "description": "The Compute Management Client.", + "version": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Compute/operations": { + "get": { + "tags": [ + "ComputeOperations" + ], + "operationId": "Operations_List", + "description": "Gets a list of compute operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ComputeOperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}": { + "put": { + "tags": [ + "AvailabilitySets" + ], + "operationId": "AvailabilitySets_CreateOrUpdate", + "description": "Create or update an availability set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "availabilitySetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the availability set." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AvailabilitySet" + }, + "description": "Parameters supplied to the Create Availability Set operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AvailabilitySet" + } + } + }, + "x-ms-examples": { + "Create an availability set.": { + "$ref": "./examples/CreateAnAvailabilitySet.json" + } + } + }, + "patch": { + "tags": [ + "AvailabilitySets" + ], + "operationId": "AvailabilitySets_Update", + "description": "Update an availability set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "availabilitySetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the availability set." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AvailabilitySetUpdate" + }, + "description": "Parameters supplied to the Update Availability Set operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AvailabilitySet" + } + } + } + }, + "delete": { + "tags": [ + "AvailabilitySets" + ], + "operationId": "AvailabilitySets_Delete", + "description": "Delete an availability set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "availabilitySetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the availability set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + } + } + }, + "get": { + "tags": [ + "AvailabilitySets" + ], + "operationId": "AvailabilitySets_Get", + "description": "Retrieves information about an availability set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "availabilitySetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the availability set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AvailabilitySet" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/availabilitySets": { + "get": { + "tags": [ + "AvailabilitySets" + ], + "operationId": "AvailabilitySets_ListBySubscription", + "description": "Lists all availability sets in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AvailabilitySetListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List availability sets in a subscription.": { + "$ref": "./examples/ListAvailabilitySetsInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets": { + "get": { + "tags": [ + "AvailabilitySets" + ], + "operationId": "AvailabilitySets_List", + "description": "Lists all availability sets in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AvailabilitySetListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes": { + "get": { + "tags": [ + "AvailabilitySets" + ], + "operationId": "AvailabilitySets_ListAvailableSizes", + "description": "Lists all available virtual machine sizes that can be used to create a new virtual machine in an existing availability set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "availabilitySetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the availability set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups/{proximityPlacementGroupName}": { + "put": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_CreateOrUpdate", + "description": "Create or update a proximity placement group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + }, + "description": "Parameters supplied to the Create Proximity Placement Group operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + } + }, + "x-ms-examples": { + "Create or Update a proximity placement group.": { + "$ref": "./examples/CreateOrUpdateAProximityPlacementGroup.json" + } + } + }, + "patch": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_Update", + "description": "Update a proximity placement group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProximityPlacementGroupUpdate" + }, + "description": "Parameters supplied to the Update Proximity Placement Group operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/PatchAProximityPlacementGroup.json" + } + } + }, + "delete": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_Delete", + "description": "Delete a proximity placement group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/DeleteAProximityPlacementGroup.json" + } + } + }, + "get": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_Get", + "description": "Retrieves information about a proximity placement group .", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "name": "includeColocationStatus", + "in": "query", + "required": false, + "type": "string", + "description": "includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/GetAProximityPlacementGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/proximityPlacementGroups": { + "get": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_ListBySubscription", + "description": "Lists all proximity placement groups in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/ListProximityPlacementGroupsInASubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups": { + "get": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_ListByResourceGroup", + "description": "Lists all proximity placement groups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/ListProximityPlacementGroupsInAResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}": { + "put": { + "tags": [ + "DedicatedHostGroups" + ], + "operationId": "DedicatedHostGroups_CreateOrUpdate", + "description": "Create or update a dedicated host group. For details of Dedicated Host and Dedicated Host Groups please see [Dedicated Host Documentation] (https://go.microsoft.com/fwlink/?linkid=2082596)", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DedicatedHostGroup" + }, + "description": "Parameters supplied to the Create Dedicated Host Group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHostGroup" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DedicatedHostGroup" + } + } + }, + "x-ms-examples": { + "Create or update a dedicated host group.": { + "$ref": "./examples/CreateOrUpdateADedicatedHostGroup.json" + } + } + }, + "patch": { + "tags": [ + "DedicatedHostGroups" + ], + "operationId": "DedicatedHostGroups_Update", + "description": "Update an dedicated host group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DedicatedHostGroupUpdate" + }, + "description": "Parameters supplied to the Update Dedicated Host Group operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHostGroup" + } + } + } + }, + "delete": { + "tags": [ + "DedicatedHostGroups" + ], + "operationId": "DedicatedHostGroups_Delete", + "description": "Delete a dedicated host group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + } + } + }, + "get": { + "tags": [ + "DedicatedHostGroups" + ], + "operationId": "DedicatedHostGroups_Get", + "description": "Retrieves information about a dedicated host group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation. The response shows the list of instance view of the dedicated hosts under the dedicated host group.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHostGroup" + } + } + }, + "x-ms-examples": { + "Create a dedicated host group.": { + "$ref": "./examples/GetADedicatedHostGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups": { + "get": { + "tags": [ + "DedicatedHostGroups" + ], + "operationId": "DedicatedHostGroups_ListByResourceGroup", + "description": "Lists all of the dedicated host groups in the specified resource group. Use the nextLink property in the response to get the next page of dedicated host groups.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHostGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/hostGroups": { + "get": { + "tags": [ + "DedicatedHostGroups" + ], + "operationId": "DedicatedHostGroups_ListBySubscription", + "description": "Lists all of the dedicated host groups in the subscription. Use the nextLink property in the response to get the next page of dedicated host groups.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHostGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts/{hostName}": { + "put": { + "tags": [ + "DedicatedHosts" + ], + "operationId": "DedicatedHosts_CreateOrUpdate", + "description": "Create or update a dedicated host .", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "name": "hostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host ." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DedicatedHost" + }, + "description": "Parameters supplied to the Create Dedicated Host." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHost" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DedicatedHost" + } + } + }, + "x-ms-examples": { + "Create or update a dedicated host .": { + "$ref": "./examples/CreateOrUpdateADedicatedHost.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DedicatedHosts" + ], + "operationId": "DedicatedHosts_Update", + "description": "Update an dedicated host .", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "name": "hostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host ." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DedicatedHostUpdate" + }, + "description": "Parameters supplied to the Update Dedicated Host operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHost" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "DedicatedHosts" + ], + "operationId": "DedicatedHosts_Delete", + "description": "Delete a dedicated host.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "name": "hostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DedicatedHosts" + ], + "operationId": "DedicatedHosts_Get", + "description": "Retrieves information about a dedicated host.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "name": "hostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHost" + } + } + }, + "x-ms-examples": { + "Get a dedicated host.": { + "$ref": "./examples/GetADedicatedHost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts": { + "get": { + "tags": [ + "DedicatedHost" + ], + "operationId": "DedicatedHosts_ListByHostGroup", + "description": "Lists all of the dedicated hosts in the specified dedicated host group. Use the nextLink property in the response to get the next page of dedicated hosts.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHostListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/sshPublicKeys": { + "get": { + "tags": [ + "SshPublicKeys" + ], + "operationId": "SshPublicKeys_ListBySubscription", + "description": "Lists all of the SSH public keys in the subscription. Use the nextLink property in the response to get the next page of SSH public keys.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SshPublicKeysGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys": { + "get": { + "tags": [ + "SshPublicKeys" + ], + "operationId": "SshPublicKeys_ListByResourceGroup", + "description": "Lists all of the SSH public keys in the specified resource group. Use the nextLink property in the response to get the next page of SSH public keys.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SshPublicKeysGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName}": { + "put": { + "tags": [ + "SshPublicKeys" + ], + "operationId": "SshPublicKeys_Create", + "description": "Creates a new SSH public key resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "sshPublicKeyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the SSH public key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SshPublicKeyResource" + }, + "description": "Parameters supplied to create the SSH public key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SshPublicKeyResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SshPublicKeyResource" + } + } + }, + "x-ms-examples": { + "Create a new SSH public key resource.": { + "$ref": "./examples/CreateAnSshPublicKey.json" + } + } + }, + "patch": { + "tags": [ + "SshPublicKeys" + ], + "operationId": "SshPublicKeys_Update", + "description": "Updates a new SSH public key resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "sshPublicKeyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the SSH public key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SshPublicKeyUpdateResource" + }, + "description": "Parameters supplied to update the SSH public key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SshPublicKeyResource" + } + } + } + }, + "delete": { + "tags": [ + "SshPublicKeys" + ], + "operationId": "SshPublicKeys_Delete", + "description": "Delete an SSH public key.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "sshPublicKeyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the SSH public key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + } + } + }, + "get": { + "tags": [ + "SshPublicKeys" + ], + "operationId": "SshPublicKeys_Get", + "description": "Retrieves information about an SSH public key.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "sshPublicKeyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the SSH public key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SshPublicKeyResource" + } + } + }, + "x-ms-examples": { + "Get an ssh public key.": { + "$ref": "./examples/GetAnSshPublicKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName}/generateKeyPair": { + "post": { + "tags": [ + "SshPublicKeys" + ], + "operationId": "SshPublicKeys_GenerateKeyPair", + "description": "Generates and returns a public/private key pair and populates the SSH public key resource with the public key. The length of the key will be 3072 bits. This operation can only be performed once per SSH public key resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "sshPublicKeyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the SSH public key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SshPublicKeyGenerateKeyPairResult" + } + } + }, + "x-ms-examples": { + "Generate an SSH key pair.": { + "$ref": "./examples/GenerateSshKeyPair.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}": { + "get": { + "tags": [ + "VirtualMachineExtensionImages" + ], + "operationId": "VirtualMachineExtensionImages_Get", + "description": "Gets a virtual machine extension image.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "type", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "version", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtensionImage" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types": { + "get": { + "tags": [ + "VirtualMachineExtensionImages" + ], + "operationId": "VirtualMachineExtensionImages_ListTypes", + "description": "Gets a list of virtual machine extension image types.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtensionImage" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions": { + "get": { + "tags": [ + "VirtualMachineExtensionImages" + ], + "operationId": "VirtualMachineExtensionImages_ListVersions", + "description": "Gets a list of virtual machine extension image versions.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "type", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtensionImage" + } + } + } + }, + "x-ms-odata": "#/definitions/VirtualMachineExtensionImage" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}": { + "put": { + "tags": [ + "VirtualMachineExtensions" + ], + "operationId": "VirtualMachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the extension should be created or updated." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + }, + "description": "Parameters supplied to the Create Virtual Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "VirtualMachineExtensions" + ], + "operationId": "VirtualMachineExtensions_Update", + "description": "The operation to update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the extension should be updated." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineExtensionUpdate" + }, + "description": "Parameters supplied to the Update Virtual Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachineExtensions" + ], + "operationId": "VirtualMachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the extension should be deleted." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualMachineExtensions" + ], + "operationId": "VirtualMachineExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine containing the extension." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions": { + "get": { + "tags": [ + "VirtualMachineExtensions" + ], + "operationId": "VirtualMachineExtensions_List", + "description": "The operation to get all extensions of a Virtual Machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtensionsListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": { + "get": { + "tags": [ + "VirtualMachineImages" + ], + "operationId": "VirtualMachineImages_Get", + "description": "Gets a virtual machine image.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher." + }, + { + "name": "offer", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher offer." + }, + { + "name": "skus", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image SKU." + }, + { + "name": "version", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image SKU version." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineImage" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": { + "get": { + "tags": [ + "VirtualMachineImages" + ], + "operationId": "VirtualMachineImages_List", + "description": "Gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher." + }, + { + "name": "offer", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher offer." + }, + { + "name": "skus", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image SKU." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers": { + "get": { + "tags": [ + "VirtualMachineImages" + ], + "operationId": "VirtualMachineImages_ListOffers", + "description": "Gets a list of virtual machine image offers for the specified location and publisher.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers": { + "get": { + "tags": [ + "VirtualMachineImages" + ], + "operationId": "VirtualMachineImages_ListPublishers", + "description": "Gets a list of virtual machine image publishers for the specified Azure location.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": { + "get": { + "tags": [ + "VirtualMachineImages" + ], + "operationId": "VirtualMachineImages_ListSkus", + "description": "Gets a list of virtual machine image SKUs for the specified location, publisher, and offer.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher." + }, + { + "name": "offer", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher offer." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages": { + "get": { + "tags": [ + "Usage" + ], + "operationId": "Usage_List", + "description": "Gets, for the specified location, the current compute resource usage information as well as the limits for compute resources under the subscription.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines": { + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_ListByLocation", + "description": "Gets all the virtual machines under the specified subscription for the specified location.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which virtual machines under the subscription are queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineListResult" + } + } + }, + "x-ms-examples": { + "Lists all the virtual machines under the specified subscription for the specified location.": { + "$ref": "./examples/ListVirtualMachinesInASubscriptionByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes": { + "get": { + "tags": [ + "VirtualMachineSizes" + ], + "operationId": "VirtualMachineSizes_List", + "description": "This API is deprecated. Use [Resources Skus](https://docs.microsoft.com/en-us/rest/api/compute/resourceskus/list)", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}": { + "put": { + "tags": [ + "Images" + ], + "operationId": "Images_CreateOrUpdate", + "description": "Create or update an image.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Image" + }, + "description": "Parameters supplied to the Create Image operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Image" + } + } + }, + "x-ms-examples": { + "Create a virtual machine image from a blob.": { + "$ref": "./examples/CreateAnImageFromABlob.json" + }, + "Create a virtual machine image from a snapshot.": { + "$ref": "./examples/CreateAnImageFromASnapshot.json" + }, + "Create a virtual machine image from a managed disk.": { + "$ref": "./examples/CreateAnImageFromAManagedDisk.json" + }, + "Create a virtual machine image from an existing virtual machine.": { + "$ref": "./examples/CreateAnImageFromAVM.json" + }, + "Create a virtual machine image that includes a data disk from a blob.": { + "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromABlob.json" + }, + "Create a virtual machine image that includes a data disk from a snapshot.": { + "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json" + }, + "Create a virtual machine image that includes a data disk from a managed disk.": { + "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json" + }, + "Create a virtual machine image from a blob with DiskEncryptionSet resource.": { + "$ref": "./examples/CreateAnImageFromABlobWithDiskEncryptionSet.json" + }, + "Create a virtual machine image from a snapshot with DiskEncryptionSet resource.": { + "$ref": "./examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json" + }, + "Create a virtual machine image from a managed disk with DiskEncryptionSet resource.": { + "$ref": "./examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Images" + ], + "operationId": "Images_Update", + "description": "Update an image.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ImageUpdate" + }, + "description": "Parameters supplied to the Update Image operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Image" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates tags of an Image.": { + "$ref": "./examples/UpdateImage.json" + } + } + }, + "delete": { + "tags": [ + "Images" + ], + "operationId": "Images_Delete", + "description": "Deletes an Image.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Images" + ], + "operationId": "Images_Get", + "description": "Gets an image.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Image" + } + } + }, + "x-ms-examples": { + "Get information about a virtual machine image.": { + "$ref": "./examples/GetInformationAboutAnImage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images": { + "get": { + "tags": [ + "Images" + ], + "operationId": "Images_ListByResourceGroup", + "description": "Gets the list of images under a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + } + }, + "x-ms-examples": { + "List all virtual machine images in a resource group.": { + "$ref": "./examples/ListImagesInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images": { + "get": { + "tags": [ + "Images" + ], + "operationId": "Images_List", + "description": "Gets the list of Images in the subscription. Use nextLink property in the response to get the next page of Images. Do this till nextLink is null to fetch all the Images.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + } + }, + "x-ms-examples": { + "List all virtual machine images in a subscription.": { + "$ref": "./examples/ListImagesInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Capture", + "description": "Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineCaptureParameters" + }, + "description": "Parameters supplied to the Capture Virtual Machine operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineCaptureResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}": { + "put": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_CreateOrUpdate", + "description": "The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachine" + }, + "description": "Parameters supplied to the Create Virtual Machine operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a vm with password authentication.": { + "$ref": "./examples/CreateAVmWithPasswordAuthentication.json" + }, + "Create a vm with ssh authentication.": { + "$ref": "./examples/CreateAVmWithSshAuthentication.json" + }, + "Create a vm with premium storage.": { + "$ref": "./examples/CreateAVmWithPremiumStorage.json" + }, + "Create a vm in an availability set.": { + "$ref": "./examples/CreateAVmInAnAvailabilitySet.json" + }, + "Create a vm with boot diagnostics.": { + "$ref": "./examples/CreateAVmWithBootDiagnostics.json" + }, + "Create a vm with managed boot diagnostics.": { + "$ref": "./examples/CreateAVmWithManagedBootDiagnostics.json" + }, + "Create a vm with empty data disks.": { + "$ref": "./examples/CreateAVmWithEmptyDataDisks.json" + }, + "Create a vm with a marketplace image plan.": { + "$ref": "./examples/CreateAVmWithAMarketplaceImagePlan.json" + }, + "Create a vm from a custom image.": { + "$ref": "./examples/CreateAVmFromACustomImage.json" + }, + "Create a platform-image vm with unmanaged os and data disks.": { + "$ref": "./examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json" + }, + "Create a custom-image vm from an unmanaged generalized os image.": { + "$ref": "./examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json" + }, + "Create a vm with ephemeral os disk.": { + "$ref": "./examples/CreateAVmWithADiffOsDisk.json" + }, + "Create a vm with DiskEncryptionSet resource id in the os disk and data disk.": { + "$ref": "./examples/CreateAVmWithDiskEncryptionSetResource.json" + }, + "Create a vm with ephemeral os disk provisioning in Resource disk using placement property.": { + "$ref": "./examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json" + }, + "Create a vm with ephemeral os disk provisioning in Cache disk using placement property.": { + "$ref": "./examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json" + }, + "Create a vm with Host Encryption using encryptionAtHost property.": { + "$ref": "./examples/CreateAVmWithEncryptionAtHost.json" + }, + "Create a vm with a patch setting patchMode of AutomaticByOS.": { + "$ref": "./examples/CreateAVmWithPatchSettingModeOfAutomaticByOS.json" + }, + "Create a vm with a patch setting patchMode of AutomaticByPlatform.": { + "$ref": "./examples/CreateAVmWithPatchSettingModeOfAutomaticByPlatform.json" + }, + "Create a vm with a patch setting patchMode of Manual.": { + "$ref": "./examples/CreateAVmWithPatchSettingModeOfManual.json" + }, + "Create a vm with an extensions time budget.": { + "$ref": "./examples/CreateAVmWithExtensionsTimeBudget.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Update", + "description": "The operation to update a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineUpdate" + }, + "description": "Parameters supplied to the Update Virtual Machine operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a VM by detaching data disk": { + "$ref": "./examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Delete", + "description": "The operation to delete a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Get", + "description": "Retrieves information about the model view or the instance view of a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } + } + }, + "x-ms-examples": { + "Get a Virtual Machine.": { + "$ref": "./examples/GetVirtualMachine.json" + }, + "Get a virtual machine placed on a dedicated host group through automatic placement": { + "$ref": "./examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView": { + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_InstanceView", + "description": "Retrieves information about the run-time state of a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineInstanceView" + } + } + }, + "x-ms-examples": { + "Get Virtual Machine Instance View.": { + "$ref": "./examples/GetVirtualMachineInstanceView.json" + }, + "Get instance view of a virtual machine placed on a dedicated host group through automatic placement.": { + "$ref": "./examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_ConvertToManagedDisks", + "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Deallocate", + "description": "Shuts down the virtual machine and releases the compute resources. You are not billed for the compute resources that this virtual machine uses.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Generalize", + "description": "Sets the OS state of the virtual machine to generalized. It is recommended to sysprep the virtual machine before performing this operation.
For Windows, please refer to [Create a managed image of a generalized VM in Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource).
For Linux, please refer to [How to create an image of a virtual machine or VHD](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "x-ms-examples": { + "Generalize a Virtual Machine.": { + "$ref": "./examples/GeneralizeVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines": { + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_List", + "description": "Lists all of the virtual machines in the specified resource group. Use the nextLink property in the response to get the next page of virtual machines.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines": { + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_ListAll", + "description": "Lists all of the virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of virtual machines.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "statusOnly", + "in": "query", + "required": false, + "type": "string", + "description": "statusOnly=true enables fetching run time status of all Virtual Machines in the subscription." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes": { + "get": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_ListAvailableSizes", + "description": "Lists all available virtual machine sizes to which the specified virtual machine can be resized.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Lists all available virtual machine sizes to which the specified virtual machine can be resized": { + "$ref": "./examples/ListAvailableVmSizes_VirtualMachines.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_PowerOff", + "description": "The operation to power off (stop) a virtual machine. The virtual machine can be restarted with the same provisioned resources. You are still charged for this virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "skipShutdown", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reapply": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Reapply", + "description": "The operation to reapply a virtual machine's state.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reapply the state of a virtual machine.": { + "$ref": "./examples/ReapplyVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Restart", + "description": "The operation to restart a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Start", + "description": "The operation to start a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Redeploy", + "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reimage": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Reimage", + "description": "Reimages the virtual machine which has an ephemeral OS disk back to its initial state.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineReimageParameters" + }, + "description": "Parameters supplied to the Reimage Virtual Machine operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reimage a Virtual Machine.": { + "$ref": "./examples/ReimageVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/retrieveBootDiagnosticsData": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_RetrieveBootDiagnosticsData", + "description": "The operation to retrieve SAS URIs for a virtual machine's boot diagnostic logs.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "sasUriExpirationTimeInMinutes", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.

NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "RetrieveBootDiagnosticsData of a virtual machine.": { + "$ref": "./examples/RetrieveBootDiagnosticsDataVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_PerformMaintenance", + "description": "The operation to perform maintenance on a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_SimulateEviction", + "description": "The operation to simulate the eviction of spot virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Simulate Eviction a virtual machine.": { + "$ref": "./examples/SimulateEvictionOfVM.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/assessPatches": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_AssessPatches", + "x-ms-examples": { + "Assess patch state of a virtual machine.": { + "$ref": "./examples/VirtualMachineAssessPatches.json" + } + }, + "description": "Assess patches on the VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineAssessPatchesResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}": { + "put": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_CreateOrUpdate", + "description": "Create or update a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + }, + "description": "The scale set object." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a scale set with password authentication.": { + "$ref": "./examples/CreateAScaleSetWithPasswordAuthentication.json" + }, + "Create a scale set with ssh authentication.": { + "$ref": "./examples/CreateAScaleSetWithSshAuthentication.json" + }, + "Create a scale set with premium storage.": { + "$ref": "./examples/CreateAScaleSetWithPremiumStorage.json" + }, + "Create a scale set with empty data disks on each vm.": { + "$ref": "./examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json" + }, + "Create a scale set with an azure load balancer.": { + "$ref": "./examples/CreateAScaleSetWithAnAzureLoadBalancer.json" + }, + "Create a scale set with an azure application gateway.": { + "$ref": "./examples/CreateAScaleSetWithAnAzureApplicationGateway.json" + }, + "Create a scale set with boot diagnostics.": { + "$ref": "./examples/CreateAScaleSetWithBootDiagnostics.json" + }, + "Create a scale set with managed boot diagnostics.": { + "$ref": "./examples/CreateAScaleSetWithManagedBootDiagnostics.json" + }, + "Create a scale set with a marketplace image plan.": { + "$ref": "./examples/CreateAScaleSetWithAMarketplaceImagePlan.json" + }, + "Create a scale set from a custom image.": { + "$ref": "./examples/CreateAScaleSetFromACustomImage.json" + }, + "Create a platform-image scale set with unmanaged os disks.": { + "$ref": "./examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json" + }, + "Create a custom-image scale set from an unmanaged generalized os image.": { + "$ref": "./examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json" + }, + "Create a scale set with virtual machines in different zones.": { + "$ref": "./examples/CreateAScaleSetWithVMsInDifferentZones.json" + }, + "Create a scale set with ephemeral os disks.": { + "$ref": "./examples/CreateAScaleSetWithDiffOsDisk.json" + }, + "Create a scale set with terminate scheduled events enabled.": { + "$ref": "./examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json" + }, + "Create a scale set with automatic repairs enabled": { + "$ref": "./examples/CreateAScaleSetWithAutomaticRepairs.json" + }, + "Create a scale set with DiskEncryptionSet resource in os disk and data disk.": { + "$ref": "./examples/CreateAScalesetWithDiskEncryptionSetResource.json" + }, + "Create a scale set with ephemeral os disks using placement property.": { + "$ref": "./examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json" + }, + "Create a scale set with extension time budget.": { + "$ref": "./examples/CreateAScaleSetWithExtensionsTimeBudget.json" + }, + "Create a scale set with Host Encryption using encryptionAtHost property.": { + "$ref": "./examples/CreateAScaleSetWithEncryptionAtHost.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Update", + "description": "Update a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdate" + }, + "description": "The scale set object." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Delete", + "description": "Deletes a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Get", + "description": "Display information about a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + } + } + }, + "x-ms-examples": { + "Get a virtual machine scale set placed on a dedicated host group through automatic placement.": { + "$ref": "./examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Deallocate", + "description": "Deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and releases the compute resources. You are not billed for the compute resources that this virtual machine scale set deallocates.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_DeleteInstances", + "description": "Deletes virtual machines in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_GetInstanceView", + "description": "Gets the status of a VM scale set instance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetInstanceView" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_List", + "description": "Gets a list of all VM scale sets under a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}": { + "put": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_CreateOrUpdate", + "description": "The operation to create or update an extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set where the extension should be create or updated." + }, + { + "name": "vmssExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + }, + "description": "Parameters supplied to the Create VM scale set Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_Update", + "description": "The operation to update an extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set where the extension should be updated." + }, + { + "name": "vmssExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionUpdate" + }, + "description": "Parameters supplied to the Update VM scale set Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set where the extension should be deleted." + }, + { + "name": "vmssExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set containing the extension." + }, + { + "name": "vmssExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions": { + "get": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_List", + "description": "Gets a list of all extensions in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set containing the extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ListAll", + "description": "Gets a list of all VM Scale Sets in the subscription, regardless of the associated resource group. Use nextLink property in the response to get the next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM Scale Sets.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListWithLinkResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ListSkus", + "description": "Gets a list of SKUs available for your VM scale set, including the minimum and maximum VM instances allowed for each SKU.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListSkusResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_GetOSUpgradeHistory", + "description": "Gets list of OS upgrades on a VM scale set instance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListOSUpgradeHistory" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_PowerOff", + "description": "Power off (stop) one or more virtual machines in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "name": "skipShutdown", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Restart", + "description": "Restarts one or more virtual machines in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Start", + "description": "Starts one or more virtual machines in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Redeploy", + "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_PerformMaintenance", + "description": "Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances which are not eligible for perform maintenance will be failed. Please refer to best practices for more details: https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_UpdateInstances", + "description": "Upgrades one or more virtual machines to the latest SKU set in the VM scale set model.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Reimage", + "description": "Reimages (upgrade the operating system) one or more virtual machines in a VM scale set which don't have a ephemeral OS disk, for virtual machines who have a ephemeral OS disk the virtual machine is reset to initial state.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmScaleSetReimageInput", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetReimageParameters" + }, + "description": "Parameters for Reimaging VM ScaleSet." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ReimageAll", + "description": "Reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This operation is only supported for managed disks.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel": { + "post": { + "tags": [ + "VirtualMachineScaleSetRollingUpgrades" + ], + "operationId": "VirtualMachineScaleSetRollingUpgrades_Cancel", + "description": "Cancels the current virtual machine scale set rolling upgrade.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade": { + "post": { + "tags": [ + "VirtualMachineScaleSetRollingUpgrades" + ], + "operationId": "VirtualMachineScaleSetRollingUpgrades_StartOSUpgrade", + "description": "Starts a rolling upgrade to move all virtual machine scale set instances to the latest available Platform Image OS version. Instances which are already running the latest available OS version are not affected.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensionRollingUpgrade": { + "post": { + "tags": [ + "VirtualMachineScaleSetRollingUpgrades" + ], + "operationId": "VirtualMachineScaleSetRollingUpgrades_StartExtensionUpgrade", + "description": "Starts a rolling upgrade to move all extensions for all virtual machine scale set instances to the latest available extension version. Instances which are already running the latest extension versions are not affected.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start an extension rolling upgrade.": { + "$ref": "./examples/VMScaleSetExtensionRollingUpgrade.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest": { + "get": { + "tags": [ + "VirtualMachineScaleSetRollingUpgrades" + ], + "operationId": "VirtualMachineScaleSetRollingUpgrades_GetLatest", + "description": "Gets the status of the latest virtual machine scale set rolling upgrade.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RollingUpgradeStatusInfo" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ForceRecoveryServiceFabricPlatformUpdateDomainWalk", + "description": "Manual platform update domain walk to update virtual machines in a service fabric virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "platformUpdateDomain", + "in": "query", + "required": true, + "type": "integer", + "description": "The platform update domain for which a manual recovery walk is requested" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryWalkResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/convertToSinglePlacementGroup": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup", + "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set to create or update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VMScaleSetConvertToSinglePlacementGroupInput" + }, + "description": "The input object for ConvertToSinglePlacementGroup API." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/setOrchestrationServiceState": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_SetOrchestrationServiceState", + "description": "Changes ServiceState property for a given service", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set to create or update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OrchestrationServiceStateInput" + }, + "description": "The input object for SetOrchestrationServiceState API." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions/{vmExtensionName}": { + "put": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_CreateOrUpdate", + "description": "The operation to create or update the VMSS VM extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + }, + "description": "Parameters supplied to the Create Virtual Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create VirtualMachineScaleSet VM extension.": { + "$ref": "./examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_Update", + "description": "The operation to update the VMSS VM extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineExtensionUpdate" + }, + "description": "Parameters supplied to the Update Virtual Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update VirtualMachineScaleSet VM extension.": { + "$ref": "./examples/UpdateVirtualMachineScaleSetVMExtensions.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_Delete", + "description": "The operation to delete the VMSS VM extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete VirtualMachineScaleSet VM extension.": { + "$ref": "./examples/DeleteVirtualMachineScaleSetVMExtensions.json" + } + } + }, + "get": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_Get", + "description": "The operation to get the VMSS VM extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get VirtualMachineScaleSet VM extension.": { + "$ref": "./examples/GetVirtualMachineScaleSetVMExtensions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions": { + "get": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_List", + "description": "The operation to get all extensions of an instance in Virtual Machine Scaleset.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List extensions in Vmss instance.": { + "$ref": "./examples/ListVirtualMachineScaleSetVMExtensions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Reimage", + "description": "Reimages (upgrade the operating system) a specific virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmScaleSetVMReimageInput", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters" + }, + "description": "Parameters for the Reimaging Virtual machine in ScaleSet." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_ReimageAll", + "description": "Allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. This operation is only supported for managed disks.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Deallocate", + "description": "Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and releases the compute resources it uses. You are not billed for the compute resources of this virtual machine once it is deallocated.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}": { + "put": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Update", + "description": "Updates a virtual machine of a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set where the extension should be create or updated." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + }, + "description": "Parameters supplied to the Update Virtual Machine Scale Sets VM operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Delete", + "description": "Deletes a virtual machine from a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Get", + "description": "Gets a virtual machine from a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView": { + "get": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_GetInstanceView", + "description": "Gets the status of a virtual machine from a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView" + } + } + }, + "x-ms-examples": { + "Get instance view of a virtual machine from a VM scale set placed on a dedicated host group through automatic placement.": { + "$ref": "./examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines": { + "get": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_List", + "description": "Gets a list of all virtual machines in a VM scale sets.", + "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 VM scale set." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply to the operation. Allowed values are 'startswith(instanceView/statuses/code, 'PowerState') eq true', 'properties/latestModelApplied eq true', 'properties/latestModelApplied eq false'." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "The list parameters. Allowed values are 'instanceView', 'instanceView/statuses'." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/VirtualMachineScaleSetVM" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_PowerOff", + "description": "Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "skipShutdown", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Restart", + "description": "Restarts a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Start", + "description": "Starts a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Redeploy", + "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/retrieveBootDiagnosticsData": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_RetrieveBootDiagnosticsData", + "description": "The operation to retrieve SAS URIs of boot diagnostic logs for a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "sasUriExpirationTimeInMinutes", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.

NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "RetrieveBootDiagnosticsData of a virtual machine.": { + "$ref": "./examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_PerformMaintenance", + "description": "Performs maintenance on a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/simulateEviction": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_SimulateEviction", + "description": "The operation to simulate the eviction of spot virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Simulate Eviction a virtual machine.": { + "$ref": "./examples/SimulateEvictionOfVmssVM.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval": { + "post": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_ExportRequestRateByInterval", + "x-ms-examples": { + "Export logs which contain all Api requests made to Compute Resource Provider within the given time period broken down by intervals.": { + "$ref": "./examples/LogAnalyticsRequestRateByInterval.json" + } + }, + "description": "Export logs that show Api requests made by this subscription in the given time window to show throttling activities.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RequestRateByIntervalInput" + }, + "description": "Parameters supplied to the LogAnalytics getRequestRateByInterval Api." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogAnalyticsOperationResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests": { + "post": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_ExportThrottledRequests", + "x-ms-examples": { + "Export logs which contain all throttled Api requests made to Compute Resource Provider within the given time period.": { + "$ref": "./examples/LogAnalyticsThrottledRequests.json" + } + }, + "description": "Export logs that show total throttled Api requests for this subscription in the given time window.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThrottledRequestsInput" + }, + "description": "Parameters supplied to the LogAnalytics getThrottledRequests Api." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogAnalyticsOperationResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "ComputeOperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ComputeOperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "ComputeOperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ComputeOperationValueDisplay" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "ComputeOperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Compute Operation Value Display." + }, + "DisallowedConfiguration": { + "properties": { + "vmDiskType": { + "type": "string", + "description": "VM disk types which are disallowed.", + "enum": [ + "None", + "Unmanaged" + ], + "x-ms-enum": { + "name": "VmDiskTypes", + "modelAsString": true + } + } + }, + "description": "Specifies the disallowed configuration for a virtual machine image." + }, + "RetrieveBootDiagnosticsDataResult": { + "properties": { + "consoleScreenshotBlobUri": { + "type": "string", + "readOnly": true, + "description": "The console screenshot blob URI" + }, + "serialConsoleLogBlobUri": { + "type": "string", + "readOnly": true, + "description": "The serial console log blob URI." + } + }, + "description": "The SAS URIs of the console screenshot and serial log blobs." + }, + "HyperVGenerationType": { + "type": "string", + "description": "Specifies the HyperVGeneration Type", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGenerationTypes", + "modelAsString": true + } + }, + "InstanceViewStatus": { + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "type": "string", + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": false + } + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + }, + "AvailabilitySetProperties": { + "properties": { + "platformUpdateDomainCount": { + "type": "integer", + "format": "int32", + "description": "Update Domain count." + }, + "platformFaultDomainCount": { + "type": "integer", + "format": "int32", + "description": "Fault Domain count." + }, + "virtualMachines": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "A list of references to all virtual machines in the availability set." + }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the availability set should be assigned to.

Minimum api-version: 2018-04-01." + }, + "statuses": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of a resource." + }, + "AvailabilitySetSkuType": { + "type": "string", + "description": "Specifies the sku of an Availability Set. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.", + "enum": [ + "Classic", + "Aligned" + ], + "x-ms-enum": { + "name": "AvailabilitySetSkuTypes", + "modelAsString": true + } + }, + "AvailabilitySet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AvailabilitySetProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + }, + "AvailabilitySetUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AvailabilitySetProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the availability set" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated." + }, + "AvailabilitySetListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailabilitySet" + }, + "description": "The list of availability sets" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of AvailabilitySets. Call ListNext() with this URI to fetch the next page of AvailabilitySets." + } + }, + "required": [ + "value" + ], + "description": "The List Availability Set operation response." + }, + "SubResourceWithColocationStatus": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "colocationStatus": { + "$ref": "#/definitions/InstanceViewStatus", + "description": "Describes colocation status of a resource in the Proximity Placement Group." + } + } + }, + "ProximityPlacementGroupProperties": { + "properties": { + "proximityPlacementGroupType": { + "type": "string", + "description": "Specifies the type of the proximity placement group.

Possible values are:

**Standard** : Co-locate resources within an Azure region or Availability Zone.

**Ultra** : For future use.", + "enum": [ + "Standard", + "Ultra" + ], + "x-ms-enum": { + "name": "ProximityPlacementGroupType", + "modelAsString": true + } + }, + "virtualMachines": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceWithColocationStatus" + }, + "description": "A list of references to all virtual machines in the proximity placement group." + }, + "virtualMachineScaleSets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceWithColocationStatus" + }, + "description": "A list of references to all virtual machine scale sets in the proximity placement group." + }, + "availabilitySets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceWithColocationStatus" + }, + "description": "A list of references to all availability sets in the proximity placement group." + }, + "colocationStatus": { + "$ref": "#/definitions/InstanceViewStatus", + "description": "Describes colocation status of the Proximity Placement Group." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, + "ProximityPlacementGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProximityPlacementGroupProperties", + "description": "Describes the properties of a Proximity Placement Group." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the proximity placement group." + }, + "ProximityPlacementGroupUpdate": { + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the proximity placement group." + }, + "ProximityPlacementGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProximityPlacementGroup" + }, + "description": "The list of proximity placement groups" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of proximity placement groups." + } + }, + "required": [ + "value" + ], + "description": "The List Proximity Placement Group operation response." + }, + "DedicatedHostGroupInstanceView": { + "properties": { + "hosts": { + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedHostInstanceViewWithName" + }, + "description": "List of instance view of the dedicated hosts under the dedicated host group." + } + } + }, + "DedicatedHostGroupProperties": { + "properties": { + "platformFaultDomainCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 3, + "description": "Number of fault domains that the host group can span." + }, + "hosts": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceReadOnly" + }, + "readOnly": true, + "description": "A list of references to all dedicated hosts in the dedicated host group." + }, + "instanceView": { + "$ref": "#/definitions/DedicatedHostGroupInstanceView", + "readOnly": true, + "description": "The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group." + }, + "supportAutomaticPlacement": { + "type": "boolean", + "description": "Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'true' when not provided.

Minimum api-version: 2020-06-01." + } + }, + "required": [ + "platformFaultDomainCount" + ], + "description": "Dedicated Host Group Properties." + }, + "DedicatedHostGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DedicatedHostGroupProperties" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the dedicated host group that the dedicated hosts should be assigned to.

Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group." + }, + "DedicatedHostGroupUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DedicatedHostGroupProperties" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the dedicated host group that the dedicated host should be assigned to. Only tags may be updated." + }, + "DedicatedHostGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedHostGroup" + }, + "description": "The list of dedicated host groups" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Dedicated Host Groups. Call ListNext() with this URI to fetch the next page of Dedicated Host Groups." + } + }, + "required": [ + "value" + ], + "description": "The List Dedicated Host Group with resource group response." + }, + "DedicatedHostLicenseType": { + "type": "string", + "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

Possible values are:

**None**

**Windows_Server_Hybrid**

**Windows_Server_Perpetual**

Default: **None**", + "enum": [ + "None", + "Windows_Server_Hybrid", + "Windows_Server_Perpetual" + ], + "x-ms-enum": { + "name": "DedicatedHostLicenseTypes", + "modelAsString": false + } + }, + "DedicatedHostAllocatableVM": { + "properties": { + "vmSize": { + "type": "string", + "description": "VM size in terms of which the unutilized capacity is represented." + }, + "count": { + "type": "number", + "format": "double", + "description": "Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity." + } + }, + "description": "Represents the dedicated host unutilized capacity in terms of a specific VM size." + }, + "DedicatedHostAvailableCapacity": { + "properties": { + "allocatableVMs": { + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedHostAllocatableVM" + }, + "description": "The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host." + } + }, + "description": "Dedicated host unutilized capacity." + }, + "DedicatedHostInstanceView": { + "properties": { + "assetId": { + "readOnly": true, + "type": "string", + "description": "Specifies the unique id of the dedicated physical machine on which the dedicated host resides." + }, + "availableCapacity": { + "$ref": "#/definitions/DedicatedHostAvailableCapacity", + "description": "Unutilized capacity of the dedicated host." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of a dedicated host." + }, + "DedicatedHostInstanceViewWithName": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the dedicated host." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DedicatedHostInstanceView" + } + ], + "description": "The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group." + }, + "DedicatedHostProperties": { + "properties": { + "platformFaultDomain": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 2, + "description": "Fault domain of the dedicated host within a dedicated host group." + }, + "autoReplaceOnFailure": { + "type": "boolean", + "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided." + }, + "hostId": { + "readOnly": true, + "type": "string", + "description": "A unique id generated and assigned to the dedicated host by the platform.

Does not change throughout the lifetime of the host." + }, + "virtualMachines": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceReadOnly" + }, + "readOnly": true, + "description": "A list of references to all virtual machines in the Dedicated Host." + }, + "licenseType": { + "$ref": "#/definitions/DedicatedHostLicenseType", + "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

Possible values are:

**None**

**Windows_Server_Hybrid**

**Windows_Server_Perpetual**

Default: **None**" + }, + "provisioningTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The date when the host was first provisioned." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "$ref": "#/definitions/DedicatedHostInstanceView", + "readOnly": true, + "description": "The dedicated host instance view." + } + }, + "description": "Properties of the dedicated host." + }, + "DedicatedHost": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DedicatedHostProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku" + ], + "description": "Specifies information about the Dedicated host." + }, + "DedicatedHostUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DedicatedHostProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the dedicated host. Only tags, autoReplaceOnFailure and licenseType may be updated." + }, + "DedicatedHostListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedHost" + }, + "description": "The list of dedicated hosts" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of dedicated hosts. Call ListNext() with this URI to fetch the next page of dedicated hosts." + } + }, + "required": [ + "value" + ], + "description": "The list dedicated host operation response." + }, + "SshPublicKeyGenerateKeyPairResult": { + "properties": { + "privateKey": { + "type": "string", + "description": "Private key portion of the key pair used to authenticate to a virtual machine through ssh. The private key is returned in RFC3447 format and should be treated as a secret." + }, + "publicKey": { + "type": "string", + "description": "Public key portion of the key pair used to authenticate to a virtual machine through ssh. The public key is in ssh-rsa format." + }, + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{SshPublicKeyName}" + } + }, + "required": [ + "privateKey", + "publicKey", + "id" + ], + "description": "Response from generation of an SSH key pair." + }, + "SshPublicKeyResourceProperties": { + "properties": { + "publicKey": { + "type": "string", + "description": "SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format." + } + }, + "description": "Properties of the SSH public key." + }, + "SshPublicKeyResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SshPublicKeyResourceProperties", + "description": "Properties of the SSH public key." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the SSH public key." + }, + "SshPublicKeyUpdateResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SshPublicKeyResourceProperties", + "description": "Properties of the SSH public key." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the SSH public key." + }, + "SshPublicKeysGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKeyResource" + }, + "description": "The list of SSH public keys" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of SSH public keys. Call ListNext() with this URI to fetch the next page of SSH public keys." + } + }, + "required": [ + "value" + ], + "description": "The list SSH public keys operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "description": "The name of the virtual machine size." + }, + "numberOfCores": { + "type": "integer", + "format": "int32", + "description": "The number of cores supported by the virtual machine size." + }, + "osDiskSizeInMB": { + "type": "integer", + "format": "int32", + "description": "The OS disk size, in MB, allowed by the virtual machine size." + }, + "resourceDiskSizeInMB": { + "type": "integer", + "format": "int32", + "description": "The resource disk size, in MB, allowed by the virtual machine size." + }, + "memoryInMB": { + "type": "integer", + "format": "int32", + "description": "The amount of memory, in MB, supported by the virtual machine size." + }, + "maxDataDiskCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of data disks that can be attached to the virtual machine size." + } + }, + "description": "Describes the properties of a VM size." + }, + "VirtualMachineSizeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineSize" + }, + "description": "The list of virtual machine sizes." + } + }, + "description": "The List Virtual Machine operation response." + }, + "VirtualMachineExtensionImageProperties": { + "properties": { + "operatingSystem": { + "type": "string", + "description": "The operating system this extension supports." + }, + "computeRole": { + "type": "string", + "description": "The type of role (IaaS or PaaS) this extension supports." + }, + "handlerSchema": { + "type": "string", + "description": "The schema defined by publisher, where extension consumers should provide settings in a matching schema." + }, + "vmScaleSetEnabled": { + "type": "boolean", + "description": "Whether the extension can be used on xRP VMScaleSets. By default existing extensions are usable on scalesets, but there might be cases where a publisher wants to explicitly indicate the extension is only enabled for CRP VMs but not VMSS." + }, + "supportsMultipleExtensions": { + "type": "boolean", + "description": "Whether the handler can support multiple extensions." + } + }, + "required": [ + "operatingSystem", + "computeRole", + "handlerSchema" + ], + "description": "Describes the properties of a Virtual Machine Extension Image." + }, + "VirtualMachineExtensionImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineExtensionImageProperties" + } + }, + "required": [ + "name", + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine Extension Image." + }, + "VirtualMachineImageResource": { + "properties": { + "name": { + "type": "string", + "description": "The name of the resource." + }, + "location": { + "type": "string", + "description": "The supported Azure location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Specifies the tags that are assigned to the virtual machine. For more information about using tags, see [Using tags to organize your Azure resources](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md)." + } + }, + "required": [ + "name", + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Virtual machine image resource information." + }, + "VirtualMachineExtensionInstanceView": { + "properties": { + "name": { + "type": "string", + "description": "The virtual machine extension name." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "substatuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of a virtual machine extension." + }, + "VirtualMachineExtensionProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView", + "description": "The virtual machine extension instance view." + } + }, + "description": "Describes the properties of a Virtual Machine Extension." + }, + "VirtualMachineExtensionUpdateProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + } + }, + "description": "Describes the properties of a Virtual Machine Extension." + }, + "VirtualMachineExtension": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineExtensionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine Extension." + }, + "VirtualMachineExtensionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Virtual Machine Extension." + }, + "VirtualMachineExtensionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtension" + }, + "description": "The list of extensions" + } + }, + "description": "The List Extension operation response" + }, + "VirtualMachineSoftwarePatchProperties": { + "properties": { + "patchId": { + "type": "string", + "readOnly": true, + "description": "A unique identifier for the patch." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the patch." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "The version number of the patch. This property applies only to Linux patches." + }, + "kbid": { + "type": "string", + "readOnly": true, + "description": "The KBID of the patch. Only applies to Windows patches." + }, + "classifications": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The classification(s) of the patch as provided by the patch publisher." + }, + "rebootBehavior": { + "type": "string", + "readOnly": true, + "description": "Describes the reboot requirements of the patch.", + "enum": [ + "NeverReboots", + "AlwaysRequiresReboot", + "CanRequestReboot" + ], + "x-ms-enum": { + "name": "SoftwareUpdateRebootBehavior", + "modelAsString": true + } + }, + "activityId": { + "type": "string", + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." + }, + "publishedDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the repository published this patch." + }, + "lastModifiedDateTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp of the last update to this patch record." + }, + "assessmentState": { + "type": "string", + "readOnly": true, + "description": "Describes the outcome of an install operation for a given patch.", + "enum": [ + "Installed", + "Failed", + "Excluded", + "NotSelected", + "Pending", + "Available" + ], + "x-ms-enum": { + "name": "PatchAssessmentState", + "modelAsString": true + } + } + }, + "description": "Describes the properties of a Virtual Machine software patch." + }, + "VirtualMachineAssessPatchesResult": { + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "PatchOperationStatus", + "modelAsString": true + } + }, + "assessmentActivityId": { + "type": "string", + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." + }, + "rebootPending": { + "type": "boolean", + "readOnly": true, + "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred." + }, + "criticalAndSecurityPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of critical or security patches that have been detected as available and not yet installed." + }, + "otherPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches excluding critical and security." + }, + "startDateTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "patches": { + "type": "array", + "readOnly": true, + "items": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineSoftwarePatchProperties" + }, + "description": "The list of patches that have been detected as available for installation." + }, + "error": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "The errors that were encountered during execution of the operation. The details array contains the list of them." + } + }, + "description": "Describes the properties of an AssessPatches result." + }, + "PurchasePlan": { + "properties": { + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "name": { + "type": "string", + "description": "The plan ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + } + }, + "required": [ + "publisher", + "name", + "product" + ], + "description": "Used for establishing the purchase context of any 3rd Party artifact through MarketPlace." + }, + "OSDiskImage": { + "properties": { + "operatingSystem": { + "type": "string", + "description": "The operating system of the osDiskImage.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + } + }, + "required": [ + "operatingSystem" + ], + "description": "Contains the os disk image information." + }, + "DataDiskImage": { + "properties": { + "lun": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + } + }, + "description": "Contains the data disk images information." + }, + "AutomaticOSUpgradeProperties": { + "properties": { + "automaticOSUpgradeSupported": { + "type": "boolean", + "description": "Specifies whether automatic OS upgrade is supported on the image." + } + }, + "required": [ + "automaticOSUpgradeSupported" + ], + "description": "Describes automatic OS upgrade properties on the image." + }, + "VirtualMachineImageProperties": { + "properties": { + "plan": { + "$ref": "#/definitions/PurchasePlan" + }, + "osDiskImage": { + "$ref": "#/definitions/OSDiskImage" + }, + "dataDiskImages": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskImage" + } + }, + "automaticOSUpgradeProperties": { + "$ref": "#/definitions/AutomaticOSUpgradeProperties" + }, + "hyperVGeneration": { + "$ref": "#/definitions/HyperVGenerationType" + }, + "disallowed": { + "$ref": "#/definitions/DisallowedConfiguration", + "description": "Specifies disallowed configuration for the VirtualMachine created from the image" + } + }, + "description": "Describes the properties of a Virtual Machine Image." + }, + "VirtualMachineImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineImageProperties" + } + }, + "required": [ + "name", + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/VirtualMachineImageResource" + } + ], + "description": "Describes a Virtual Machine Image." + }, + "UsageName": { + "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": { + "properties": { + "unit": { + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": false + } + }, + "currentValue": { + "type": "integer", + "format": "int32", + "description": "The current usage of the resource." + }, + "limit": { + "type": "integer", + "format": "int64", + "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": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "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." + } + }, + "required": [ + "value" + ], + "description": "The List Usages operation response." + }, + "VirtualMachineReimageParameters": { + "properties": { + "tempDisk": { + "type": "boolean", + "description": "Specifies whether to reimage temp disk. Default value: false. Note: This temp disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk." + } + }, + "description": "Parameters for Reimaging Virtual Machine. NOTE: Virtual Machine OS disk will always be reimaged" + }, + "VirtualMachineCaptureParameters": { + "properties": { + "vhdPrefix": { + "type": "string", + "description": "The captured virtual hard disk's name prefix." + }, + "destinationContainerName": { + "type": "string", + "description": "The destination container name." + }, + "overwriteVhds": { + "type": "boolean", + "description": "Specifies whether to overwrite the destination virtual hard disk, in case of conflict." + } + }, + "required": [ + "vhdPrefix", + "destinationContainerName", + "overwriteVhds" + ], + "description": "Capture Virtual Machine parameters." + }, + "VirtualMachineCaptureResult": { + "properties": { + "$schema": { + "readOnly": true, + "type": "string", + "description": "the schema of the captured virtual machine" + }, + "contentVersion": { + "readOnly": true, + "type": "string", + "description": "the version of the content" + }, + "parameters": { + "readOnly": true, + "type": "object", + "description": "parameters of the captured virtual machine" + }, + "resources": { + "readOnly": true, + "type": "array", + "items": { + "type": "object", + "description": "resource item" + }, + "description": "a list of resource items of the captured virtual machine" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Output of virtual machine capture operation." + }, + "Plan": { + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + } + }, + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "HardwareProfile": { + "properties": { + "vmSize": { + "type": "string", + "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

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

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

[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)", + "enum": [ + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_B1s", + "Standard_B1ms", + "Standard_B2s", + "Standard_B2ms", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D2_v3", + "Standard_D4_v3", + "Standard_D8_v3", + "Standard_D16_v3", + "Standard_D32_v3", + "Standard_D64_v3", + "Standard_D2s_v3", + "Standard_D4s_v3", + "Standard_D8s_v3", + "Standard_D16s_v3", + "Standard_D32s_v3", + "Standard_D64s_v3", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_DS13-4_v2", + "Standard_DS13-2_v2", + "Standard_DS14-8_v2", + "Standard_DS14-4_v2", + "Standard_E2_v3", + "Standard_E4_v3", + "Standard_E8_v3", + "Standard_E16_v3", + "Standard_E32_v3", + "Standard_E64_v3", + "Standard_E2s_v3", + "Standard_E4s_v3", + "Standard_E8s_v3", + "Standard_E16s_v3", + "Standard_E32s_v3", + "Standard_E64s_v3", + "Standard_E32-16_v3", + "Standard_E32-8s_v3", + "Standard_E64-32s_v3", + "Standard_E64-16s_v3", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s", + "Standard_F2s_v2", + "Standard_F4s_v2", + "Standard_F8s_v2", + "Standard_F16s_v2", + "Standard_F32s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5", + "Standard_GS4-8", + "Standard_GS4-4", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H8", + "Standard_H16", + "Standard_H8m", + "Standard_H16m", + "Standard_H16r", + "Standard_H16mr", + "Standard_L4s", + "Standard_L8s", + "Standard_L16s", + "Standard_L32s", + "Standard_M64s", + "Standard_M64ms", + "Standard_M128s", + "Standard_M128ms", + "Standard_M64-32ms", + "Standard_M64-16ms", + "Standard_M128-64ms", + "Standard_M128-32ms", + "Standard_NC6", + "Standard_NC12", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC6s_v2", + "Standard_NC12s_v2", + "Standard_NC24s_v2", + "Standard_NC24rs_v2", + "Standard_NC6s_v3", + "Standard_NC12s_v3", + "Standard_NC24s_v3", + "Standard_NC24rs_v3", + "Standard_ND6s", + "Standard_ND12s", + "Standard_ND24s", + "Standard_ND24rs", + "Standard_NV6", + "Standard_NV12", + "Standard_NV24" + ], + "x-ms-enum": { + "name": "VirtualMachineSizeTypes", + "modelAsString": true + } + } + }, + "description": "Specifies the hardware settings for the virtual machine." + }, + "ImageReference": { + "properties": { + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "offer": { + "type": "string", + "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + }, + "exactVersion": { + "type": "string", + "readOnly": true, + "description": "Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." + }, + "KeyVaultSecretReference": { + "properties": { + "secretUrl": { + "type": "string", + "description": "The URL referencing a secret in a Key Vault." + }, + "sourceVault": { + "$ref": "#/definitions/SubResource", + "description": "The relative URL of the Key Vault containing the secret." + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Secret" + }, + "DiskEncryptionSetParameters": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, + "KeyVaultKeyReference": { + "properties": { + "keyUrl": { + "type": "string", + "description": "The URL referencing a key encryption key in Key Vault." + }, + "sourceVault": { + "$ref": "#/definitions/SubResource", + "description": "The relative URL of the Key Vault containing the key." + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Describes a reference to Key Vault Key" + }, + "DiskEncryptionSettings": { + "properties": { + "diskEncryptionKey": { + "$ref": "#/definitions/KeyVaultSecretReference", + "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret." + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyVaultKeyReference", + "description": "Specifies the location of the key encryption key in Key Vault." + }, + "enabled": { + "type": "boolean", + "description": "Specifies whether disk encryption should be enabled on the virtual machine." + } + }, + "description": "Describes a Encryption Settings for a Disk" + }, + "VirtualHardDisk": { + "properties": { + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + }, + "Caching": { + "type": "string", + "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None for Standard storage. ReadOnly for Premium storage**", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "CachingTypes", + "modelAsString": false + } + }, + "CreateOption": { + "type": "string", + "description": "Specifies how the virtual machine should be created.

Possible values are:

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

**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.", + "enum": [ + "FromImage", + "Empty", + "Attach" + ], + "x-ms-enum": { + "name": "DiskCreateOptionTypes", + "modelAsString": true + } + }, + "StorageAccountType": { + "type": "string", + "description": "Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountTypes", + "modelAsString": true + } + }, + "DiffDiskOption": { + "type": "string", + "description": "Specifies the ephemeral disk option for operating system disk.", + "enum": [ + "Local" + ], + "x-ms-enum": { + "name": "DiffDiskOptions", + "modelAsString": true + } + }, + "DiffDiskPlacement": { + "type": "string", + "description": "Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk or resource disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements", + "enum": [ + "CacheDisk", + "ResourceDisk" + ], + "x-ms-enum": { + "name": "DiffDiskPlacement", + "modelAsString": true + } + }, + "DiffDiskSettings": { + "properties": { + "option": { + "$ref": "#/definitions/DiffDiskOption", + "description": "Specifies the ephemeral disk settings for operating system disk." + }, + "placement": { + "$ref": "#/definitions/DiffDiskPlacement", + "description": "Specifies the ephemeral disk placement for operating system disk.

Possible values are:

**CacheDisk**

**ResourceDisk**

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

Refer to VM size documentation for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk." + } + }, + "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

NOTE: The ephemeral disk settings can only be specified for managed disk." + }, + "ManagedDiskParameters": { + "properties": { + "storageAccountType": { + "$ref": "#/definitions/StorageAccountType", + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + }, + "diskEncryptionSet": { + "$ref": "#/definitions/DiskEncryptionSetParameters", + "description": "Specifies the customer managed disk encryption set resource id for the managed disk." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "The parameters of a managed disk." + }, + "OSDisk": { + "properties": { + "osType": { + "type": "string", + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

Possible values are:

**Windows**

**Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "encryptionSettings": { + "$ref": "#/definitions/DiskEncryptionSettings", + "description": "Specifies the encryption settings for the OS Disk.

Minimum api-version: 2015-06-15" + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { + "$ref": "#/definitions/VirtualHardDisk", + "description": "The virtual hard disk." + }, + "image": { + "$ref": "#/definitions/VirtualHardDisk", + "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + }, + "caching": { + "$ref": "#/definitions/Caching", + "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None** for Standard storage. **ReadOnly** for Premium storage." + }, + "writeAcceleratorEnabled": { + "type": "boolean", + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + }, + "diffDiskSettings": { + "$ref": "#/definitions/DiffDiskSettings", + "description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." + }, + "createOption": { + "$ref": "#/definitions/CreateOption", + "description": "Specifies how the virtual machine should be created.

Possible values are:

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

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

This value cannot be larger than 1023 GB" + }, + "managedDisk": { + "description": "The managed disk parameters.", + "$ref": "#/definitions/ManagedDiskParameters" + } + }, + "required": [ + "createOption" + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "DataDisk": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "name": { + "type": "string", + "description": "The disk name." + }, + "vhd": { + "$ref": "#/definitions/VirtualHardDisk", + "description": "The virtual hard disk." + }, + "image": { + "$ref": "#/definitions/VirtualHardDisk", + "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + }, + "caching": { + "$ref": "#/definitions/Caching", + "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None for Standard storage. ReadOnly for Premium storage**" + }, + "writeAcceleratorEnabled": { + "type": "boolean", + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + }, + "createOption": { + "$ref": "#/definitions/CreateOption", + "description": "Specifies how the virtual machine should be created.

Possible values are:

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

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

This value cannot be larger than 1023 GB" + }, + "managedDisk": { + "description": "The managed disk parameters.", + "$ref": "#/definitions/ManagedDiskParameters" + }, + "toBeDetached": { + "type": "boolean", + "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset" + }, + "diskIOPSReadWrite": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set." + }, + "diskMBpsReadWrite": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set." + } + }, + "required": [ + "lun", + "createOption" + ], + "description": "Describes a data disk." + }, + "StorageProfile": { + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + }, + "osDisk": { + "$ref": "#/definitions/OSDisk", + "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + }, + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "SecurityProfile": { + "properties": { + "encryptionAtHost": { + "type": "boolean", + "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself.

Default: The Encryption at host will be disabled unless this property is set to true for the resource." + } + }, + "description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set." + }, + "AdditionalCapabilities": { + "properties": { + "ultraSSDEnabled": { + "type": "boolean", + "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled." + } + }, + "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." + }, + "AdditionalUnattendContent": { + "properties": { + "passName": { + "type": "string", + "description": "The pass name. Currently, the only allowable value is OobeSystem.", + "enum": [ + "OobeSystem" + ], + "x-ms-enum": { + "name": "PassNames", + "modelAsString": false + } + }, + "componentName": { + "type": "string", + "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.", + "enum": [ + "Microsoft-Windows-Shell-Setup" + ], + "x-ms-enum": { + "name": "ComponentNames", + "modelAsString": false + } + }, + "settingName": { + "type": "string", + "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.", + "enum": [ + "AutoLogon", + "FirstLogonCommands" + ], + "x-ms-enum": { + "name": "SettingNames", + "modelAsString": false + } + }, + "content": { + "type": "string", + "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted." + } + }, + "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied." + }, + "WinRMListener": { + "properties": { + "protocol": { + "type": "string", + "description": "Specifies the protocol of WinRM listener.

Possible values are:
**http**

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

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" + } + }, + "description": "Describes Protocol and thumbprint of Windows Remote Management listener" + }, + "WinRMConfiguration": { + "properties": { + "listeners": { + "type": "array", + "items": { + "$ref": "#/definitions/WinRMListener" + }, + "description": "The list of Windows Remote Management listeners" + } + }, + "description": "Describes Windows Remote Management configuration of the VM" + }, + "WindowsConfiguration": { + "properties": { + "provisionVMAgent": { + "type": "boolean", + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

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

For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." + }, + "timeZone": { + "type": "string", + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".

Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones)." + }, + "additionalUnattendContent": { + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalUnattendContent" + }, + "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." + }, + "patchSettings": { + "$ref": "#/definitions/PatchSettings", + "description": "Specifies settings related to in-guest patching (KBs)." + }, + "winRM": { + "$ref": "#/definitions/WinRMConfiguration", + "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell." + } + }, + "description": "Specifies Windows operating system settings on the virtual machine." + }, + "SshPublicKey": { + "properties": { + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + }, + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "SshConfiguration": { + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "LinuxConfiguration": { + "properties": { + "disablePasswordAuthentication": { + "type": "boolean", + "description": "Specifies whether password authentication should be disabled." + }, + "ssh": { + "$ref": "#/definitions/SshConfiguration", + "description": "Specifies the ssh key configuration for a Linux OS." + }, + "provisionVMAgent": { + "type": "boolean", + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "VaultCertificate": { + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" + }, + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SubResource", + "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." + }, + "vaultCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + }, + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "OSProfile": { + "properties": { + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

This name cannot be updated after the VM is created.

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

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

For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

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

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

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

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

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

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

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

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

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

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

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

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

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

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

    This property cannot be updated after the VM is created.

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

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "description": "Specifies Windows operating system settings on the virtual machine." + }, + "linuxConfiguration": { + "$ref": "#/definitions/LinuxConfiguration", + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + }, + "description": "Specifies set of certificates that should be installed onto the virtual machine." + }, + "allowExtensionOperations": { + "type": "boolean", + "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." + }, + "requireGuestProvisionSignal": { + "type": "boolean", + "description": "Specifies whether the guest provision signal is required to infer provision success of the virtual machine. **Note: This property is for private testing only, and all customers must not set the property to false.**" + } + }, + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "AutomaticRepairsPolicy": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false." + }, + "gracePeriod": { + "type": "string", + "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)." + } + }, + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." + }, + "NetworkInterfaceReferenceProperties": { + "properties": { + "primary": { + "type": "boolean", + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + } + }, + "description": "Describes a network interface reference properties." + }, + "NetworkInterfaceReference": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceReferenceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Describes a network interface reference." + }, + "NetworkProfile": { + "properties": { + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceReference" + }, + "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." + } + }, + "description": "Specifies the network interfaces of the virtual machine." + }, + "BootDiagnostics": { + "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." + }, + "DiagnosticsProfile": { + "properties": { + "bootDiagnostics": { + "$ref": "#/definitions/BootDiagnostics", + "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." + } + }, + "description": "Specifies the boot diagnostic settings state.

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

    'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.", + "enum": [ + "Regular", + "Low", + "Spot" + ], + "x-ms-enum": { + "name": "VirtualMachinePriorityTypes", + "modelAsString": true + } + }, + "evictionPolicy": { + "type": "string", + "description": "Specifies the eviction policy for the Azure Spot VM/VMSS", + "enum": [ + "Deallocate", + "Delete" + ], + "x-ms-enum": { + "name": "VirtualMachineEvictionPolicyTypes", + "modelAsString": true + } + }, + "BillingProfile": { + "properties": { + "maxPrice": { + "type": "number", + "format": "double", + "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

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

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

    Possible values are:

    - Any decimal value greater than zero. Example: 0.01538

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

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

    Minimum api-version: 2019-03-01." + } + }, + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, + "VirtualMachineExtensionHandlerInstanceView": { + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "status": { + "$ref": "#/definitions/InstanceViewStatus", + "description": "The extension handler status." + } + }, + "description": "The instance view of a virtual machine extension handler." + }, + "VirtualMachineAgentInstanceView": { + "properties": { + "vmAgentVersion": { + "type": "string", + "description": "The VM Agent full version." + }, + "extensionHandlers": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtensionHandlerInstanceView" + }, + "description": "The virtual machine extension handler instance view." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of the VM Agent running on the virtual machine." + }, + "DiskInstanceView": { + "properties": { + "name": { + "type": "string", + "description": "The disk name." + }, + "encryptionSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskEncryptionSettings" + }, + "description": "Specifies the encryption settings for the OS Disk.

    Minimum api-version: 2015-06-15" + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of the disk." + }, + "BootDiagnosticsInstanceView": { + "properties": { + "consoleScreenshotBlobUri": { + "readOnly": true, + "type": "string", + "description": "The console screenshot blob URI.

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

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

    NOTE: It will be set only if there are errors encountered in enabling boot diagnostics." + } + }, + "description": "The instance view of a virtual machine boot diagnostics." + }, + "VirtualMachineIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of virtual machine identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the virtual machine." + }, + "MaintenanceRedeployStatus": { + "properties": { + "isCustomerInitiatedMaintenanceAllowed": { + "type": "boolean", + "description": "True, if customer is allowed to perform Maintenance." + }, + "preMaintenanceWindowStartTime": { + "type": "string", + "format": "date-time", + "description": "Start Time for the Pre Maintenance Window." + }, + "preMaintenanceWindowEndTime": { + "type": "string", + "format": "date-time", + "description": "End Time for the Pre Maintenance Window." + }, + "maintenanceWindowStartTime": { + "type": "string", + "format": "date-time", + "description": "Start Time for the Maintenance Window." + }, + "maintenanceWindowEndTime": { + "type": "string", + "format": "date-time", + "description": "End Time for the Maintenance Window." + }, + "lastOperationResultCode": { + "type": "string", + "description": "The Last Maintenance Operation Result Code.", + "enum": [ + "None", + "RetryLater", + "MaintenanceAborted", + "MaintenanceCompleted" + ], + "x-ms-enum": { + "name": "MaintenanceOperationResultCodeTypes", + "modelAsString": false + } + }, + "lastOperationMessage": { + "type": "string", + "description": "Message returned for the last Maintenance Operation." + } + }, + "description": "Maintenance Operation Status." + }, + "VirtualMachineInstanceView": { + "properties": { + "platformUpdateDomain": { + "type": "integer", + "format": "int32", + "description": "Specifies the update domain of the virtual machine." + }, + "platformFaultDomain": { + "type": "integer", + "format": "int32", + "description": "Specifies the fault domain of the virtual machine." + }, + "computerName": { + "type": "string", + "description": "The computer name assigned to the virtual machine." + }, + "osName": { + "type": "string", + "description": "The Operating System running on the virtual machine." + }, + "osVersion": { + "type": "string", + "description": "The version of Operating System running on the virtual machine." + }, + "hyperVGeneration": { + "type": "string", + "description": "Specifies the HyperVGeneration Type associated with a resource", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGenerationType", + "modelAsString": true + } + }, + "rdpThumbPrint": { + "type": "string", + "description": "The Remote desktop certificate thumbprint." + }, + "vmAgent": { + "$ref": "#/definitions/VirtualMachineAgentInstanceView", + "description": "The VM Agent running on the virtual machine." + }, + "maintenanceRedeployStatus": { + "$ref": "#/definitions/MaintenanceRedeployStatus", + "description": "The Maintenance Operation status on the virtual machine." + }, + "disks": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskInstanceView" + }, + "description": "The virtual machine disk information." + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView" + }, + "description": "The extensions information." + }, + "vmHealth": { + "readOnly": true, + "$ref": "#/definitions/VirtualMachineHealthStatus", + "description": "The health status for the VM." + }, + "bootDiagnostics": { + "$ref": "#/definitions/BootDiagnosticsInstanceView", + "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." + }, + "assignedHost": { + "type": "string", + "readOnly": true, + "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.

    Minimum api-version: 2020-06-01." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + }, + "patchStatus": { + "$ref": "#/definitions/VirtualMachinePatchStatus", + "description": "The status of virtual machine patch operations." + } + }, + "description": "The instance view of a virtual machine." + }, + "VirtualMachineProperties": { + "properties": { + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Specifies the hardware settings for the virtual machine." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Specifies the storage settings for the virtual machine disks." + }, + "additionalCapabilities": { + "$ref": "#/definitions/AdditionalCapabilities", + "description": "Specifies additional capabilities enabled or disabled on the virtual machine." + }, + "osProfile": { + "$ref": "#/definitions/OSProfile", + "description": "Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Specifies the network interfaces of the virtual machine." + }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "Specifies the Security related profile settings for the virtual machine." + }, + "diagnosticsProfile": { + "$ref": "#/definitions/DiagnosticsProfile", + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "availabilitySet": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.

    This property cannot exist along with a non-null properties.virtualMachineScaleSet reference." + }, + "virtualMachineScaleSet": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.

    This property cannot exist along with a non-null properties.availabilitySet reference.

    Minimum api‐version: 2019‐03‐01" + }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.

    Minimum api-version: 2018-04-01." + }, + "priority": { + "$ref": "#/definitions/priority", + "description": "Specifies the priority for the virtual machine.

    Minimum api-version: 2019-03-01" + }, + "evictionPolicy": { + "$ref": "#/definitions/evictionPolicy", + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." + }, + "billingProfile": { + "$ref": "#/definitions/BillingProfile", + "description": "Specifies the billing related details of a Azure Spot virtual machine.

    Minimum api-version: 2019-03-01." + }, + "host": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the dedicated host that the virtual machine resides in.

    Minimum api-version: 2018-10-01." + }, + "hostGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the dedicated host group that the virtual machine resides in.

    Minimum api-version: 2020-06-01.

    NOTE: User cannot specify both host and hostGroup properties." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "$ref": "#/definitions/VirtualMachineInstanceView", + "readOnly": true, + "description": "The virtual machine instance view." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "vmId": { + "readOnly": true, + "type": "string", + "description": "Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands." + }, + "extensionsTimeBudget": { + "type": "string", + "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).

    Minimum api-version: 2020-06-01" + } + }, + "description": "Describes the properties of a Virtual Machine." + }, + "VirtualMachine": { + "properties": { + "plan": { + "$ref": "#/definitions/Plan", + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineProperties" + }, + "resources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtension" + }, + "description": "The virtual machine child extension resources." + }, + "identity": { + "$ref": "#/definitions/VirtualMachineIdentity", + "description": "The identity of the virtual machine, if configured." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The virtual machine zones." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine." + }, + "VirtualMachineUpdate": { + "properties": { + "plan": { + "$ref": "#/definitions/Plan", + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineProperties" + }, + "identity": { + "$ref": "#/definitions/VirtualMachineIdentity", + "description": "The identity of the virtual machine, if configured." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The virtual machine zones." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Virtual Machine Update." + }, + "VirtualMachineListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachine" + }, + "description": "The list of virtual machines." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of VMs. Call ListNext() with this URI to fetch the next page of Virtual Machines." + } + }, + "required": [ + "value" + ], + "description": "The List Virtual Machine operation response." + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of virtual machines in a scale set.

    Possible Values:

    **Standard**

    **Basic**" + }, + "capacity": { + "type": "integer", + "format": "int64", + "description": "Specifies the number of virtual machines in the scale set." + } + }, + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." + }, + "AutomaticOSUpgradePolicy": { + "properties": { + "enableAutomaticOSUpgrade": { + "type": "boolean", + "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.

    If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true." + }, + "disableAutomaticRollback": { + "type": "boolean", + "description": "Whether OS image rollback feature should be disabled. Default value is false." + } + }, + "description": "The configuration parameters used for performing automatic OS upgrade." + }, + "UpgradePolicy": { + "properties": { + "mode": { + "type": "string", + "description": "Specifies the mode of an upgrade to virtual machines in the scale set.

    Possible values are:

    **Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.

    **Automatic** - All virtual machines in the scale set are automatically updated at the same time.", + "enum": [ + "Automatic", + "Manual", + "Rolling" + ], + "x-ms-enum": { + "name": "UpgradeMode", + "modelAsString": false + } + }, + "rollingUpgradePolicy": { + "$ref": "#/definitions/RollingUpgradePolicy", + "description": "The configuration parameters used while performing a rolling upgrade." + }, + "automaticOSUpgradePolicy": { + "$ref": "#/definitions/AutomaticOSUpgradePolicy", + "description": "Configuration parameters used for performing automatic OS Upgrade." + } + }, + "description": "Describes an upgrade policy - automatic, manual, or rolling." + }, + "RollingUpgradePolicy": { + "properties": { + "maxBatchInstancePercent": { + "type": "integer", + "format": "int32", + "minimum": 5, + "maximum": 100, + "description": "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%." + }, + "maxUnhealthyInstancePercent": { + "type": "integer", + "format": "int32", + "minimum": 5, + "maximum": 100, + "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%." + }, + "maxUnhealthyUpgradedInstancePercent": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%." + }, + "pauseTimeBetweenBatches": { + "type": "string", + "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)." + } + }, + "description": "The configuration parameters used while performing a rolling upgrade." + }, + "ScaleInPolicy": { + "properties": { + "rules": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Default", + "OldestVM", + "NewestVM" + ], + "x-ms-enum": { + "name": "VirtualMachineScaleSetScaleInRules", + "modelAsString": true + } + }, + "description": "The rules to be followed when scaling-in a virtual machine scale set.

    Possible values are:

    **Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

    **OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

    **NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

    " + } + }, + "description": "Describes a scale-in policy for a virtual machine scale set." + }, + "ImageOSDisk": { + "properties": { + "osType": { + "type": "string", + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.

    Possible values are:

    **Windows**

    **Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "osState": { + "type": "string", + "description": "The OS State.", + "enum": [ + "Generalized", + "Specialized" + ], + "x-ms-enum": { + "name": "OperatingSystemStateTypes", + "modelAsString": false, + "values": [ + { + "value": "Generalized", + "description": "Generalized image. Needs to be provisioned during deployment time." + }, + { + "value": "Specialized", + "description": "Specialized image. Contains already provisioned OS Disk." + } + ] + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ImageDisk" + } + ], + "required": [ + "osType", + "osState" + ], + "description": "Describes an Operating System disk." + }, + "ImageDataDisk": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ImageDisk" + } + ], + "required": [ + "lun" + ], + "description": "Describes a data disk." + }, + "ImageDisk": { + "properties": { + "snapshot": { + "$ref": "#/definitions/SubResource", + "description": "The snapshot." + }, + "managedDisk": { + "$ref": "#/definitions/SubResource", + "description": "The managedDisk." + }, + "blobUri": { + "type": "string", + "description": "The Virtual Hard Disk." + }, + "caching": { + "type": "string", + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "CachingTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "storageAccountType": { + "$ref": "#/definitions/StorageAccountType", + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + }, + "diskEncryptionSet": { + "$ref": "#/definitions/DiskEncryptionSetParameters", + "description": "Specifies the customer managed disk encryption set resource id for the managed image disk." + } + }, + "description": "Describes a image disk." + }, + "ImageStorageProfile": { + "properties": { + "osDisk": { + "$ref": "#/definitions/ImageOSDisk", + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageDataDisk" + }, + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "zoneResilient": { + "type": "boolean", + "description": "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)." + } + }, + "description": "Describes a storage profile." + }, + "ImageProperties": { + "properties": { + "sourceVirtualMachine": { + "$ref": "#/definitions/SubResource", + "description": "The source virtual machine from which Image is created." + }, + "storageProfile": { + "$ref": "#/definitions/ImageStorageProfile", + "description": "Specifies the storage settings for the virtual machine disks." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state." + }, + "hyperVGeneration": { + "$ref": "#/definitions/HyperVGenerationType", + "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image" + } + }, + "description": "Describes the properties of an Image." + }, + "Image": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist." + }, + "ImageUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "The source user image virtual hard disk. Only tags may be updated." + }, + "ImageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Image" + }, + "description": "The list of Images." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Images. Call ListNext() with this to fetch the next page of Images." + } + }, + "required": [ + "value" + ], + "description": "The List Image operation response." + }, + "VirtualMachineScaleSetIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the virtual machine scale set." + }, + "VirtualMachineScaleSetOSProfile": { + "properties": { + "computerNamePrefix": { + "type": "string", + "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long." + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

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

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

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

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

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

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

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

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

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

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

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

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

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "description": "Specifies Windows operating system settings on the virtual machine." + }, + "linuxConfiguration": { + "$ref": "#/definitions/LinuxConfiguration", + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + }, + "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + } + }, + "description": "Describes a virtual machine scale set OS profile." + }, + "VirtualMachineScaleSetUpdateOSProfile": { + "properties": { + "customData": { + "type": "string", + "description": "A base-64 encoded string of custom data." + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "description": "The Windows Configuration of the OS profile." + }, + "linuxConfiguration": { + "$ref": "#/definitions/LinuxConfiguration", + "description": "The Linux Configuration of the OS profile." + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + }, + "description": "The List of certificates for addition to the VM." + } + }, + "description": "Describes a virtual machine scale set OS profile." + }, + "VirtualMachineScaleSetManagedDiskParameters": { + "properties": { + "storageAccountType": { + "$ref": "#/definitions/StorageAccountType", + "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + }, + "diskEncryptionSet": { + "$ref": "#/definitions/DiskEncryptionSetParameters", + "description": "Specifies the customer managed disk encryption set resource id for the managed disk." + } + }, + "description": "Describes the parameters of a ScaleSet managed disk." + }, + "VirtualMachineScaleSetOSDisk": { + "properties": { + "name": { + "type": "string", + "description": "The disk name." + }, + "caching": { + "$ref": "#/definitions/Caching", + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**" + }, + "writeAcceleratorEnabled": { + "type": "boolean", + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + }, + "createOption": { + "$ref": "#/definitions/CreateOption", + "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diffDiskSettings": { + "$ref": "#/definitions/DiffDiskSettings", + "description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "osType": { + "type": "string", + "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.

    Possible values are:

    **Windows**

    **Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "image": { + "$ref": "#/definitions/VirtualHardDisk", + "description": "Specifies information about the unmanaged user image to base the scale set on." + }, + "vhdContainers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the container urls that are used to store operating system disks for the scale set." + }, + "managedDisk": { + "description": "The managed disk parameters.", + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + } + }, + "required": [ + "createOption" + ], + "description": "Describes a virtual machine scale set operating system disk." + }, + "VirtualMachineScaleSetUpdateOSDisk": { + "properties": { + "caching": { + "$ref": "#/definitions/Caching", + "description": "The caching type." + }, + "writeAcceleratorEnabled": { + "type": "boolean", + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "image": { + "$ref": "#/definitions/VirtualHardDisk", + "description": "The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist." + }, + "vhdContainers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of virtual hard disk container uris." + }, + "managedDisk": { + "description": "The managed disk parameters.", + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + } + }, + "description": "Describes virtual machine scale set operating system disk Update Object. This should be used for Updating VMSS OS Disk." + }, + "VirtualMachineScaleSetDataDisk": { + "properties": { + "name": { + "type": "string", + "description": "The disk name." + }, + "lun": { + "type": "integer", + "format": "int32", + "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." + }, + "caching": { + "$ref": "#/definitions/Caching", + "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**" + }, + "writeAcceleratorEnabled": { + "type": "boolean", + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + }, + "createOption": { + "$ref": "#/definitions/CreateOption", + "description": "The create option." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" + }, + "managedDisk": { + "description": "The managed disk parameters.", + "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int64", + "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + } + }, + "required": [ + "lun", + "createOption" + ], + "description": "Describes a virtual machine scale set data disk." + }, + "VirtualMachineScaleSetStorageProfile": { + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + }, + "osDisk": { + "$ref": "#/definitions/VirtualMachineScaleSetOSDisk", + "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + }, + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "VirtualMachineScaleSetUpdateStorageProfile": { + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "The image reference." + }, + "osDisk": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSDisk", + "description": "The OS disk." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" + }, + "description": "The data disks." + } + }, + "description": "Describes a virtual machine scale set storage profile." + }, + "ApiEntityReference": { + "properties": { + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..." + } + }, + "description": "The API entity reference." + }, + "VirtualMachineScaleSetIPConfigurationProperties": { + "properties": { + "subnet": { + "$ref": "#/definitions/ApiEntityReference", + "description": "Specifies the identifier of the subnet." + }, + "primary": { + "type": "boolean", + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + }, + "publicIPAddressConfiguration": { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration", + "description": "The publicIPAddressConfiguration." + }, + "privateIPAddressVersion": { + "type": "string", + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "applicationGatewayBackendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway." + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "Specifies an array of references to application security group." + }, + "loadBalancerBackendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer." + }, + "loadBalancerInboundNatPools": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer." + } + }, + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + }, + "VirtualMachineScaleSetUpdateIPConfigurationProperties": { + "properties": { + "subnet": { + "$ref": "#/definitions/ApiEntityReference", + "description": "The subnet." + }, + "primary": { + "type": "boolean", + "description": "Specifies the primary IP Configuration in case the network interface has more than one IP Configuration." + }, + "publicIPAddressConfiguration": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdatePublicIPAddressConfiguration", + "description": "The publicIPAddressConfiguration." + }, + "privateIPAddressVersion": { + "type": "string", + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "applicationGatewayBackendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "The application gateway backend address pools." + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "Specifies an array of references to application security group." + }, + "loadBalancerBackendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "The load balancer backend address pools." + }, + "loadBalancerInboundNatPools": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "The load balancer inbound nat pools." + } + }, + "description": "Describes a virtual machine scale set network profile's IP configuration properties." + }, + "VirtualMachineScaleSetIPConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The IP configuration name." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties" + } + }, + "required": [ + "name" + ], + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetUpdateIPConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The IP configuration name." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetUpdateIPConfigurationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Describes a virtual machine scale set network profile's IP configuration. NOTE: The subnet of a scale set may be modified as long as the original subnet and the new subnet are in the same virtual network" + }, + "VirtualMachineScaleSetNetworkConfigurationProperties": { + "properties": { + "primary": { + "type": "boolean", + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + }, + "enableAcceleratedNetworking": { + "type": "boolean", + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "networkSecurityGroup": { + "$ref": "#/definitions/SubResource", + "description": "The network security group." + }, + "dnsSettings": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings", + "description": "The dns settings to be applied on the network interfaces." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration" + }, + "description": "Specifies the IP configurations of the network interface." + }, + "enableIPForwarding": { + "type": "boolean", + "description": "Whether IP forwarding enabled on this NIC." + } + }, + "required": [ + "ipConfigurations" + ], + "description": "Describes a virtual machine scale set network profile's IP configuration." + }, + "VirtualMachineScaleSetUpdateNetworkConfigurationProperties": { + "properties": { + "primary": { + "type": "boolean", + "description": "Whether this is a primary NIC on a virtual machine." + }, + "enableAcceleratedNetworking": { + "type": "boolean", + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "networkSecurityGroup": { + "$ref": "#/definitions/SubResource", + "description": "The network security group." + }, + "dnsSettings": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings", + "description": "The dns settings to be applied on the network interfaces." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdateIPConfiguration" + }, + "description": "The virtual machine scale set IP Configuration." + }, + "enableIPForwarding": { + "type": "boolean", + "description": "Whether IP forwarding enabled on this NIC." + } + }, + "description": "Describes a virtual machine scale set updatable network profile's IP configuration.Use this object for updating network profile's IP Configuration." + }, + "VirtualMachineScaleSetNetworkConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The network configuration name." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties" + } + }, + "required": [ + "name" + ], + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Describes a virtual machine scale set network profile's network configurations." + }, + "VirtualMachineScaleSetUpdateNetworkConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The network configuration name." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfigurationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Describes a virtual machine scale set network profile's network configurations." + }, + "VirtualMachineScaleSetNetworkConfigurationDnsSettings": { + "properties": { + "dnsServers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of DNS servers IP addresses" + } + }, + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings": { + "properties": { + "domainNameLabel": { + "type": "string", + "description": "The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created" + } + }, + "required": [ + "domainNameLabel" + ], + "description": "Describes a virtual machines scale sets network configuration's DNS settings." + }, + "VirtualMachineScaleSetIpTag": { + "properties": { + "ipTagType": { + "type": "string", + "description": "IP tag type. Example: FirstPartyUsage." + }, + "tag": { + "type": "string", + "description": "IP tag associated with the public IP. Example: SQL, Storage etc." + } + }, + "description": "Contains the IP tag associated with the public IP address." + }, + "VirtualMachineScaleSetPublicIPAddressConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The publicIP address configuration name." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationProperties" + } + }, + "required": [ + "name" + ], + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetUpdatePublicIPAddressConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The publicIP address configuration name." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties" + } + }, + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the public IP address." + }, + "dnsSettings": { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings", + "description": "The dns settings to be applied on the publicIP addresses ." + }, + "ipTags": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetIpTag" + }, + "description": "The list of IP tags associated with the public IP address." + }, + "publicIPPrefix": { + "$ref": "#/definitions/SubResource", + "description": "The PublicIPPrefix from which to allocate publicIP addresses." + }, + "publicIPAddressVersion": { + "type": "string", + "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + } + }, + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the public IP address." + }, + "dnsSettings": { + "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings", + "description": "The dns settings to be applied on the publicIP addresses ." + } + }, + "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" + }, + "VirtualMachineScaleSetNetworkProfile": { + "properties": { + "healthProbe": { + "$ref": "#/definitions/ApiEntityReference", + "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'." + }, + "networkInterfaceConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + }, + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set network profile." + }, + "VirtualMachineScaleSetUpdateNetworkProfile": { + "properties": { + "healthProbe": { + "$ref": "#/definitions/ApiEntityReference", + "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'." + }, + "networkInterfaceConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfiguration" + }, + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set network profile." + }, + "VirtualMachineScaleSetExtensionProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "provisionAfterExtensions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of extension names after which this extension needs to be provisioned." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtension": { + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResourceReadOnly" + } + ], + "description": "Describes a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtensionUpdate": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the extension." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResourceReadOnly" + } + ], + "description": "Describes a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtensionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + }, + "description": "The list of VM scale set extensions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of VM scale set extensions. Call ListNext() with this to fetch the next page of VM scale set extensions." + } + }, + "required": [ + "value" + ], + "description": "The List VM scale set extension operation response." + }, + "VirtualMachineScaleSetExtensionProfile": { + "properties": { + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + }, + "description": "The virtual machine scale set child extension resources." + }, + "extensionsTimeBudget": { + "type": "string", + "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).

    Minimum api-version: 2020-06-01" + } + }, + "description": "Describes a virtual machine scale set extension profile." + }, + "VirtualMachineScaleSetVMProfile": { + "properties": { + "osProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetOSProfile", + "description": "Specifies the operating system settings for the virtual machines in the scale set." + }, + "storageProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile", + "description": "Specifies the storage settings for the virtual machine disks." + }, + "networkProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile", + "description": "Specifies properties of the network interfaces of the virtual machines in the scale set." + }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "Specifies the Security related profile settings for the virtual machines in the scale set." + }, + "diagnosticsProfile": { + "$ref": "#/definitions/DiagnosticsProfile", + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "extensionProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile", + "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "priority": { + "$ref": "#/definitions/priority", + "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview" + }, + "evictionPolicy": { + "$ref": "#/definitions/evictionPolicy", + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." + }, + "billingProfile": { + "$ref": "#/definitions/BillingProfile", + "description": "Specifies the billing related details of a Azure Spot VMSS.

    Minimum api-version: 2019-03-01." + }, + "scheduledEventsProfile": { + "$ref": "#/definitions/ScheduledEventsProfile", + "description": "Specifies Scheduled Event related configurations." + } + }, + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "VirtualMachineScaleSetUpdateVMProfile": { + "properties": { + "osProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSProfile", + "description": "The virtual machine scale set OS profile." + }, + "storageProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdateStorageProfile", + "description": "The virtual machine scale set storage profile." + }, + "networkProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkProfile", + "description": "The virtual machine scale set network profile." + }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "The virtual machine scale set Security profile" + }, + "diagnosticsProfile": { + "$ref": "#/definitions/DiagnosticsProfile", + "description": "The virtual machine scale set diagnostics profile." + }, + "extensionProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile", + "description": "The virtual machine scale set extension profile." + }, + "licenseType": { + "type": "string", + "description": "The license type, which is for bring your own license scenario." + }, + "billingProfile": { + "$ref": "#/definitions/BillingProfile", + "description": "Specifies the billing related details of a Azure Spot VMSS.

    Minimum api-version: 2019-03-01." + }, + "scheduledEventsProfile": { + "$ref": "#/definitions/ScheduledEventsProfile", + "description": "Specifies Scheduled Event related configurations." + } + }, + "description": "Describes a virtual machine scale set virtual machine profile." + }, + "VirtualMachineScaleSetProperties": { + "properties": { + "upgradePolicy": { + "$ref": "#/definitions/UpgradePolicy", + "description": "The upgrade policy." + }, + "automaticRepairsPolicy": { + "$ref": "#/definitions/AutomaticRepairsPolicy", + "description": "Policy for automatic repairs." + }, + "virtualMachineProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetVMProfile", + "description": "The virtual machine profile." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "overprovision": { + "type": "boolean", + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + }, + "doNotRunExtensionsOnOverprovisionedVMs": { + "type": "boolean", + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." + }, + "uniqueId": { + "readOnly": true, + "type": "string", + "description": "Specifies the ID which uniquely identifies a Virtual Machine Scale Set." + }, + "singlePlacementGroup": { + "type": "boolean", + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true." + }, + "zoneBalance": { + "type": "boolean", + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." + }, + "platformFaultDomainCount": { + "type": "integer", + "format": "int32", + "description": "Fault Domain count for each placement group." + }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.

    Minimum api-version: 2018-04-01." + }, + "hostGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the dedicated host group that the virtual machine scale set resides in.

    Minimum api-version: 2020-06-01." + }, + "additionalCapabilities": { + "$ref": "#/definitions/AdditionalCapabilities", + "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + }, + "scaleInPolicy": { + "$ref": "#/definitions/ScaleInPolicy", + "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSetUpdateProperties": { + "properties": { + "upgradePolicy": { + "$ref": "#/definitions/UpgradePolicy", + "description": "The upgrade policy." + }, + "automaticRepairsPolicy": { + "$ref": "#/definitions/AutomaticRepairsPolicy", + "description": "Policy for automatic repairs." + }, + "virtualMachineProfile": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdateVMProfile", + "description": "The virtual machine profile." + }, + "overprovision": { + "type": "boolean", + "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." + }, + "doNotRunExtensionsOnOverprovisionedVMs": { + "type": "boolean", + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." + }, + "singlePlacementGroup": { + "type": "boolean", + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true." + }, + "additionalCapabilities": { + "$ref": "#/definitions/AdditionalCapabilities", + "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + }, + "scaleInPolicy": { + "$ref": "#/definitions/ScaleInPolicy", + "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in." + }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.

    Minimum api-version: 2018-04-01." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSet": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The virtual machine scale set sku." + }, + "plan": { + "$ref": "#/definitions/Plan", + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetProperties" + }, + "identity": { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity", + "description": "The identity of the virtual machine scale set, if configured." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSetVMReimageParameters": { + "allOf": [ + { + "$ref": "#/definitions/VirtualMachineReimageParameters" + } + ], + "description": "Describes a Virtual Machine Scale Set VM Reimage Parameters." + }, + "VirtualMachineScaleSetReimageParameters": { + "properties": { + "instanceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set." + } + }, + "allOf": [ + { + "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters" + } + ], + "description": "Describes a Virtual Machine Scale Set VM Reimage Parameters." + }, + "VirtualMachineScaleSetUpdate": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The virtual machine scale set sku." + }, + "plan": { + "$ref": "#/definitions/Plan", + "description": "The purchase plan when deploying a virtual machine scale set from VM Marketplace images." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetUpdateProperties" + }, + "identity": { + "$ref": "#/definitions/VirtualMachineScaleSetIdentity", + "description": "The identity of the virtual machine scale set, if configured." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Virtual Machine Scale Set." + }, + "VirtualMachineScaleSetVMInstanceIDs": { + "properties": { + "instanceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set." + } + }, + "description": "Specifies a list of virtual machine instance IDs from the VM scale set." + }, + "VirtualMachineScaleSetVMInstanceRequiredIDs": { + "properties": { + "instanceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The virtual machine scale set instance ids." + } + }, + "required": [ + "instanceIds" + ], + "description": "Specifies a list of virtual machine instance IDs from the VM scale set." + }, + "VirtualMachineStatusCodeCount": { + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The instance view status code." + }, + "count": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of instances having a particular status code." + } + }, + "description": "The status code and count of the virtual machine scale set instance view status summary." + }, + "VirtualMachineScaleSetInstanceViewStatusesSummary": { + "properties": { + "statusesSummary": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineStatusCodeCount" + }, + "description": "The extensions information." + } + }, + "description": "Instance view statuses summary for virtual machines of a virtual machine scale set." + }, + "VirtualMachineScaleSetVMExtensionsSummary": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The extension name." + }, + "statusesSummary": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineStatusCodeCount" + }, + "description": "The extensions information." + } + }, + "description": "Extensions summary for virtual machines of a virtual machine scale set." + }, + "OrchestrationServiceSummary": { + "properties": { + "serviceName": { + "type": "string", + "readOnly": true, + "description": "The name of the service.", + "enum": [ + "AutomaticRepairs" + ], + "x-ms-enum": { + "name": "OrchestrationServiceNames", + "modelAsString": true + } + }, + "serviceState": { + "type": "string", + "readOnly": true, + "description": "The current state of the service.", + "enum": [ + "NotRunning", + "Running", + "Suspended" + ], + "x-ms-enum": { + "name": "OrchestrationServiceState", + "modelAsString": true + } + } + }, + "description": "Summary for an orchestration service of a virtual machine scale set." + }, + "VirtualMachineScaleSetInstanceView": { + "properties": { + "virtualMachine": { + "$ref": "#/definitions/VirtualMachineScaleSetInstanceViewStatusesSummary", + "readOnly": true, + "description": "The instance view status summary for the virtual machine scale set." + }, + "extensions": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsSummary" + }, + "description": "The extensions information." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + }, + "orchestrationServices": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/OrchestrationServiceSummary" + }, + "description": "The orchestration services information." + } + }, + "description": "The instance view of a virtual machine scale set." + }, + "VirtualMachineScaleSetListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSet" + }, + "description": "The list of virtual machine scale sets." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of VMSS." + } + }, + "required": [ + "value" + ], + "description": "The List Virtual Machine operation response." + }, + "VirtualMachineScaleSetListWithLinkResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSet" + }, + "description": "The list of virtual machine scale sets." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of Virtual Machine Scale Sets." + } + }, + "required": [ + "value" + ], + "description": "The List Virtual Machine operation response." + }, + "VirtualMachineScaleSetSkuCapacity": { + "properties": { + "minimum": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The minimum capacity." + }, + "maximum": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum capacity that can be set." + }, + "defaultCapacity": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The default capacity." + }, + "scaleType": { + "readOnly": true, + "type": "string", + "description": "The scale type applicable to the sku.", + "enum": [ + "Automatic", + "None" + ], + "x-ms-enum": { + "name": "VirtualMachineScaleSetSkuScaleType", + "modelAsString": false + } + } + }, + "description": "Describes scaling information of a sku." + }, + "VirtualMachineScaleSetSku": { + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the sku applies to." + }, + "sku": { + "$ref": "#/definitions/Sku", + "readOnly": true, + "description": "The Sku." + }, + "capacity": { + "$ref": "#/definitions/VirtualMachineScaleSetSkuCapacity", + "readOnly": true, + "description": "Specifies the number of virtual machines in the scale set." + } + }, + "description": "Describes an available virtual machine scale set sku." + }, + "VirtualMachineScaleSetListSkusResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetSku" + }, + "description": "The list of skus available for the virtual machine scale set." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Virtual Machine Scale Set Skus. Call ListNext() with this to fetch the next page of VMSS Skus." + } + }, + "required": [ + "value" + ], + "description": "The Virtual Machine Scale Set List Skus operation response." + }, + "RollbackStatusInfo": { + "properties": { + "successfullyRolledbackInstanceCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of instances which have been successfully rolled back." + }, + "failedRolledbackInstanceCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of instances which failed to rollback." + }, + "rollbackError": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "Error details if OS rollback failed." + } + }, + "description": "Information about rollback on failed VM instances after a OS Upgrade operation." + }, + "UpgradeOperationHistoryStatus": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "Code indicating the current status of the upgrade.", + "enum": [ + "RollingForward", + "Cancelled", + "Completed", + "Faulted" + ], + "x-ms-enum": { + "name": "UpgradeState", + "modelAsString": false + } + }, + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Start time of the upgrade." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "End time of the upgrade." + } + }, + "description": "Information about the current running state of the overall upgrade." + }, + "UpgradeOperationHistoricalStatusInfoProperties": { + "properties": { + "runningStatus": { + "$ref": "#/definitions/UpgradeOperationHistoryStatus", + "readOnly": true, + "description": "Information about the overall status of the upgrade operation." + }, + "progress": { + "$ref": "#/definitions/RollingUpgradeProgressInfo", + "readOnly": true, + "description": "Counts of the VMs in each state." + }, + "error": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "Error Details for this upgrade if there are any." + }, + "startedBy": { + "readOnly": true, + "type": "string", + "description": "Invoker of the Upgrade Operation", + "enum": [ + "Unknown", + "User", + "Platform" + ], + "x-ms-enum": { + "name": "UpgradeOperationInvoker", + "modelAsString": false + } + }, + "targetImageReference": { + "$ref": "#/definitions/ImageReference", + "readOnly": true, + "description": "Image Reference details" + }, + "rollbackInfo": { + "$ref": "#/definitions/RollbackStatusInfo", + "readOnly": true, + "description": "Information about OS rollback if performed" + } + }, + "description": "Describes each OS upgrade on the Virtual Machine Scale Set." + }, + "UpgradeOperationHistoricalStatusInfo": { + "properties": { + "properties": { + "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfoProperties", + "readOnly": true, + "description": "Information about the properties of the upgrade operation." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Resource location" + } + }, + "description": "Virtual Machine Scale Set OS Upgrade History operation response." + }, + "VirtualMachineScaleSetListOSUpgradeHistory": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfo" + }, + "description": "The list of OS upgrades performed on the virtual machine scale set." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of OS Upgrade History. Call ListNext() with this to fetch the next page of history of upgrades." + } + }, + "required": [ + "value" + ], + "description": "List of Virtual Machine Scale Set OS Upgrade History operation response." + }, + "VirtualMachineScaleSetVMProperties": { + "properties": { + "latestModelApplied": { + "readOnly": true, + "type": "boolean", + "description": "Specifies whether the latest model has been applied to the virtual machine." + }, + "vmId": { + "readOnly": true, + "type": "string", + "description": "Azure VM unique ID." + }, + "instanceView": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView", + "readOnly": true, + "description": "The virtual machine instance view." + }, + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Specifies the hardware settings for the virtual machine." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Specifies the storage settings for the virtual machine disks." + }, + "additionalCapabilities": { + "$ref": "#/definitions/AdditionalCapabilities", + "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + }, + "osProfile": { + "$ref": "#/definitions/OSProfile", + "description": "Specifies the operating system settings for the virtual machine." + }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "Specifies the Security related profile settings for the virtual machine." + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Specifies the network interfaces of the virtual machine." + }, + "networkProfileConfiguration": { + "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration", + "description": "Specifies the network profile configuration of the virtual machine." + }, + "diagnosticsProfile": { + "$ref": "#/definitions/DiagnosticsProfile", + "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." + }, + "availabilitySet": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "licenseType": { + "type": "string", + "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + }, + "modelDefinitionApplied": { + "readOnly": true, + "type": "string", + "description": "Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine." + }, + "protectionPolicy": { + "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy", + "description": "Specifies the protection policy of the virtual machine." + } + }, + "description": "Describes the properties of a virtual machine scale set virtual machine." + }, + "VirtualMachineScaleSetVM": { + "properties": { + "instanceId": { + "readOnly": true, + "type": "string", + "description": "The virtual machine instance ID." + }, + "sku": { + "$ref": "#/definitions/Sku", + "readOnly": true, + "description": "The virtual machine SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetVMProperties" + }, + "plan": { + "$ref": "#/definitions/Plan", + "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**." + }, + "resources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtension" + }, + "description": "The virtual machine child extension resources." + }, + "zones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The virtual machine zones." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes a virtual machine scale set virtual machine." + }, + "VirtualMachineScaleSetVMInstanceView": { + "properties": { + "platformUpdateDomain": { + "type": "integer", + "format": "int32", + "description": "The Update Domain count." + }, + "platformFaultDomain": { + "type": "integer", + "format": "int32", + "description": "The Fault Domain count." + }, + "rdpThumbPrint": { + "type": "string", + "description": "The Remote desktop certificate thumbprint." + }, + "vmAgent": { + "$ref": "#/definitions/VirtualMachineAgentInstanceView", + "description": "The VM Agent running on the virtual machine." + }, + "maintenanceRedeployStatus": { + "$ref": "#/definitions/MaintenanceRedeployStatus", + "description": "The Maintenance Operation status on the virtual machine." + }, + "disks": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskInstanceView" + }, + "description": "The disks information." + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView" + }, + "description": "The extensions information." + }, + "vmHealth": { + "readOnly": true, + "$ref": "#/definitions/VirtualMachineHealthStatus", + "description": "The health status for the VM." + }, + "bootDiagnostics": { + "$ref": "#/definitions/BootDiagnosticsInstanceView", + "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." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + }, + "assignedHost": { + "type": "string", + "readOnly": true, + "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.

    Minimum api-version: 2020-06-01." + }, + "placementGroupId": { + "type": "string", + "description": "The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId." + } + }, + "description": "The instance view of a virtual machine scale set VM." + }, + "VirtualMachineScaleSetVMNetworkProfileConfiguration": { + "properties": { + "networkInterfaceConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + }, + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set VM network profile." + }, + "VirtualMachineScaleSetVMProtectionPolicy": { + "properties": { + "protectFromScaleIn": { + "type": "boolean", + "description": "Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation." + }, + "protectFromScaleSetActions": { + "type": "boolean", + "description": "Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM." + } + }, + "description": "The protection policy of a virtual machine scale set VM." + }, + "ScheduledEventsProfile": { + "type": "object", + "properties": { + "terminateNotificationProfile": { + "$ref": "#/definitions/TerminateNotificationProfile", + "description": "Specifies Terminate Scheduled Event related configurations." + } + } + }, + "TerminateNotificationProfile": { + "type": "object", + "properties": { + "notBeforeTimeout": { + "type": "string", + "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)" + }, + "enable": { + "type": "boolean", + "description": "Specifies whether the Terminate Scheduled event is enabled or disabled." + } + } + }, + "VirtualMachineHealthStatus": { + "properties": { + "status": { + "readOnly": true, + "$ref": "#/definitions/InstanceViewStatus", + "description": "The health status information for the VM." + } + }, + "description": "The health status of the VM." + }, + "VirtualMachineScaleSetVMListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + }, + "description": "The list of virtual machine scale sets VMs." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Virtual Machine Scale Set VMs. Call ListNext() with this to fetch the next page of VMSS VMs" + } + }, + "required": [ + "value" + ], + "description": "The List Virtual Machine Scale Set VMs operation response." + }, + "RollingUpgradeStatusInfo": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RollingUpgradeStatusInfoProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The status of the latest virtual machine scale set rolling upgrade." + }, + "RollingUpgradeStatusInfoProperties": { + "properties": { + "policy": { + "readOnly": true, + "$ref": "#/definitions/RollingUpgradePolicy", + "description": "The rolling upgrade policies applied for this upgrade." + }, + "runningStatus": { + "readOnly": true, + "$ref": "#/definitions/RollingUpgradeRunningStatus", + "description": "Information about the current running state of the overall upgrade." + }, + "progress": { + "readOnly": true, + "$ref": "#/definitions/RollingUpgradeProgressInfo", + "description": "Information about the number of virtual machine instances in each upgrade state." + }, + "error": { + "readOnly": true, + "$ref": "#/definitions/ApiError", + "description": "Error details for this upgrade, if there are any." + } + }, + "description": "The status of the latest virtual machine scale set rolling upgrade." + }, + "RollingUpgradeRunningStatus": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "Code indicating the current status of the upgrade.", + "enum": [ + "RollingForward", + "Cancelled", + "Completed", + "Faulted" + ], + "x-ms-enum": { + "name": "RollingUpgradeStatusCode", + "modelAsString": false + } + }, + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Start time of the upgrade." + }, + "lastAction": { + "type": "string", + "readOnly": true, + "description": "The last action performed on the rolling upgrade.", + "enum": [ + "Start", + "Cancel" + ], + "x-ms-enum": { + "name": "RollingUpgradeActionType", + "modelAsString": false + } + }, + "lastActionTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Last action time of the upgrade." + } + }, + "description": "Information about the current running state of the overall upgrade." + }, + "RollingUpgradeProgressInfo": { + "properties": { + "successfulInstanceCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of instances that have been successfully upgraded." + }, + "failedInstanceCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of instances that have failed to be upgraded successfully." + }, + "inProgressInstanceCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of instances that are currently being upgraded." + }, + "pendingInstanceCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of instances that have not yet begun to be upgraded." + } + }, + "description": "Information about the number of virtual machine instances in each upgrade state." + }, + "ApiErrorBase": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error base." + }, + "InnerError": { + "properties": { + "exceptiontype": { + "type": "string", + "description": "The exception type." + }, + "errordetail": { + "type": "string", + "description": "The internal error message or exception dump." + } + }, + "description": "Inner error details." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." + }, + "ApiError": { + "properties": { + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiErrorBase" + }, + "description": "The Api error details" + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "The Api inner error" + }, + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error." + }, + "Resource": { + "description": "The Resource model definition.", + "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" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "x-ms-azure-resource": true + }, + "SubResourceReadOnly": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + } + }, + "x-ms-azure-resource": true + }, + "RecoveryWalkResponse": { + "properties": { + "walkPerformed": { + "type": "boolean", + "readOnly": true, + "description": "Whether the recovery walk was performed" + }, + "nextPlatformUpdateDomain": { + "type": "integer", + "readOnly": true, + "description": "The next update domain that needs to be walked. Null means walk spanning all update domains has been completed" + } + }, + "description": "Response after calling a manual recovery walk" + }, + "RequestRateByIntervalInput": { + "properties": { + "intervalLength": { + "type": "string", + "description": "Interval value in minutes used to create LogAnalytics call rate logs.", + "enum": [ + "ThreeMins", + "FiveMins", + "ThirtyMins", + "SixtyMins" + ], + "x-ms-enum": { + "name": "IntervalInMins", + "modelAsString": false + } + } + }, + "required": [ + "intervalLength" + ], + "allOf": [ + { + "$ref": "#/definitions/LogAnalyticsInputBase" + } + ], + "description": "Api request input for LogAnalytics getRequestRateByInterval Api." + }, + "ThrottledRequestsInput": { + "allOf": [ + { + "$ref": "#/definitions/LogAnalyticsInputBase" + } + ], + "description": "Api request input for LogAnalytics getThrottledRequests Api." + }, + "LogAnalyticsInputBase": { + "properties": { + "blobContainerSasUri": { + "type": "string", + "description": "SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to." + }, + "fromTime": { + "type": "string", + "format": "date-time", + "description": "From time of the query" + }, + "toTime": { + "type": "string", + "format": "date-time", + "description": "To time of the query" + }, + "groupByThrottlePolicy": { + "type": "boolean", + "description": "Group query result by Throttle Policy applied." + }, + "groupByOperationName": { + "type": "boolean", + "description": "Group query result by Operation Name." + }, + "groupByResourceName": { + "type": "boolean", + "description": "Group query result by Resource Name." + } + }, + "required": [ + "blobContainerSasUri", + "fromTime", + "toTime" + ], + "description": "Api input base class for LogAnalytics Api." + }, + "LogAnalyticsOperationResult": { + "properties": { + "properties": { + "readOnly": true, + "$ref": "#/definitions/LogAnalyticsOutput", + "description": "LogAnalyticsOutput" + } + }, + "description": "LogAnalytics operation status response" + }, + "LogAnalyticsOutput": { + "properties": { + "output": { + "readOnly": true, + "type": "string", + "description": "Output file Uri path to blob container." + } + }, + "description": "LogAnalytics output properties" + }, + "VMScaleSetConvertToSinglePlacementGroupInput": { + "properties": { + "activePlacementGroupId": { + "type": "string", + "description": "Id of the placement group in which you want future virtual machine instances to be placed. To query placement group Id, please use Virtual Machine Scale Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual machine instances." + } + } + }, + "OrchestrationServiceStateInput": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service.", + "enum": [ + "AutomaticRepairs" + ], + "x-ms-enum": { + "name": "OrchestrationServiceNames", + "modelAsString": true + } + }, + "action": { + "type": "string", + "description": "The action to be performed.", + "enum": [ + "Resume", + "Suspend" + ], + "x-ms-enum": { + "name": "OrchestrationServiceStateAction", + "modelAsString": true + } + } + }, + "description": "The input for OrchestrationServiceState", + "required": [ + "serviceName", + "action" + ] + }, + "PatchSettings": { + "properties": { + "patchMode": { + "type": "string", + "description": "Specifies the mode of in-guest patching to IaaS virtual machine.

    Possible values are:

    **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

    **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

    ** AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true ", + "enum": [ + "Manual", + "AutomaticByOS", + "AutomaticByPlatform" + ], + "x-ms-enum": { + "name": "InGuestPatchMode", + "modelAsString": true + } + } + } + }, + "VirtualMachinePatchStatus": { + "properties": { + "availablePatchSummary": { + "$ref": "#/definitions/AvailablePatchSummary", + "description": "The available patch summary of the latest assessment operation for the virtual machine." + }, + "lastPatchInstallationSummary": { + "$ref": "#/definitions/LastPatchInstallationSummary", + "description": "The installation summary of the latest installation operation for the virtual machine." + } + }, + "description": "The status of virtual machine patch operations." + }, + "AvailablePatchSummary": { + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "PatchOperationStatus", + "modelAsString": true + } + }, + "assessmentActivityId": { + "type": "string", + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." + }, + "rebootPending": { + "type": "boolean", + "readOnly": true, + "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred." + }, + "criticalAndSecurityPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of critical or security patches that have been detected as available and not yet installed." + }, + "otherPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches excluding critical and security." + }, + "startTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "lastModifiedTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "error": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "The errors that were encountered during execution of the operation. The details array contains the list of them." + } + }, + "description": "Describes the properties of an virtual machine instance view for available patch summary." + }, + "LastPatchInstallationSummary": { + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "PatchOperationStatus", + "modelAsString": true + } + }, + "installationActivityId": { + "type": "string", + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." + }, + "maintenanceWindowExceeded": { + "type": "boolean", + "readOnly": true, + "description": "Describes whether the operation ran out of time before it completed all its intended actions" + }, + "rebootStatus": { + "type": "string", + "readOnly": true, + "description": "The reboot status of the machine after the patch operation. It will be in \"NotNeeded\" status if reboot is not needed after the patch operation. \"Required\" will be the status once the patch is applied and machine is required to reboot. \"Started\" will be the reboot status when the machine has started to reboot. \"Failed\" will be the status if the machine is failed to reboot. \"Completed\" will be the status once the machine is rebooted successfully", + "enum": [ + "NotNeeded", + "Required", + "Started", + "Failed", + "Completed" + ], + "x-ms-enum": { + "name": "RebootStatus", + "modelAsString": true + } + }, + "notSelectedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry." + }, + "excludedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches but excluded explicitly by a customer-specified exclusion list match." + }, + "pendingPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches expected to be installed over the course of the patch installation operation." + }, + "installedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The count of patches that successfully installed." + }, + "failedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The count of patches that failed installation." + }, + "startTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "lastModifiedTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "startedBy": { + "type": "string", + "readOnly": true, + "description": "The person or system account that started the operation" + }, + "error": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "The errors that were encountered during execution of the operation. The details array contains the list of them." + } + }, + "description": "Describes the properties of the last installed patch summary." + } + }, + "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." + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json new file mode 100644 index 000000000000..a7f0a758cb5c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json @@ -0,0 +1,202 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "osDisk": { + "caching": "ReadWrite", + "image": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd" + }, + "createOption": "FromImage", + "name": "osDisk" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d6e9ab29-f8c9-4792-978c-ae2c07b98f17", + "virtualMachineProfile": { + "storageProfile": { + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "image": { + "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd" + }, + "createOption": "FromImage", + "name": "osDisk" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d6e9ab29-f8c9-4792-978c-ae2c07b98f17", + "virtualMachineProfile": { + "storageProfile": { + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "image": { + "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd" + }, + "createOption": "FromImage", + "name": "osDisk" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json new file mode 100644 index 000000000000..fcd7e33b0c0e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "{vm-name}", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "osDisk": { + "name": "myVMosdisk", + "image": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd" + }, + "osType": "Windows", + "createOption": "FromImage", + "caching": "ReadWrite", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd" + } + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "osDisk": { + "name": "myVMosdisk", + "image": { + "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd" + }, + "caching": "ReadWrite", + "createOption": "FromImage", + "osType": "Windows", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd" + } + }, + "dataDisks": [] + }, + "vmId": "926cd555-a07c-4ff5-b214-4aa4dd09d79b", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "osDisk": { + "name": "myVMosdisk", + "image": { + "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd" + }, + "caching": "ReadWrite", + "createOption": "FromImage", + "osType": "Windows", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd" + } + }, + "dataDisks": [] + }, + "vmId": "926cd555-a07c-4ff5-b214-4aa4dd09d79b", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json new file mode 100644 index 000000000000..8063a2fbb9d3 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json @@ -0,0 +1,222 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "osDisk", + "vhdContainers": [ + "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer", + "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer", + "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer", + "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer", + "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer" + ] + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "77b7df9a-32fe-45e3-8911-60ac9c9b9c64", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "vhdContainers": [ + "http://{existing-storage-account-name}.blob.core.windows.net/vhds" + ], + "name": "osDisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "77b7df9a-32fe-45e3-8911-60ac9c9b9c64", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "vhdContainers": [ + "http://{existing-storage-account-name}.blob.core.windows.net/vhds" + ], + "name": "osDisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json new file mode 100644 index 000000000000..9f18e0b3ee35 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json @@ -0,0 +1,213 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "{vm-name}", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [ + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0, + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk0.vhd" + } + }, + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 1, + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk1.vhd" + } + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd" + }, + "createOption": "FromImage", + "name": "myVMosdisk", + "caching": "ReadWrite" + }, + "dataDisks": [ + { + "name": "dataDisk0", + "diskSizeGB": 1023, + "createOption": "Empty", + "caching": "None", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk0.vhd" + }, + "lun": 0 + }, + { + "name": "dataDisk1", + "diskSizeGB": 1023, + "createOption": "Empty", + "caching": "None", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk1.vhd" + }, + "lun": 1 + } + ] + }, + "vmId": "5230a749-2f68-4830-900b-702182d32e63", + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd" + }, + "createOption": "FromImage", + "name": "myVMosdisk", + "caching": "ReadWrite" + }, + "dataDisks": [ + { + "name": "dataDisk0", + "diskSizeGB": 1023, + "createOption": "Empty", + "caching": "None", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk0.vhd" + }, + "lun": 0 + }, + { + "name": "dataDisk1", + "diskSizeGB": 1023, + "createOption": "Empty", + "caching": "None", + "vhd": { + "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk1.vhd" + }, + "lun": 1 + } + ] + }, + "vmId": "5230a749-2f68-4830-900b-702182d32e63", + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromACustomImage.json new file mode 100644 index 000000000000..8e87f76af138 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromACustomImage.json @@ -0,0 +1,204 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json new file mode 100644 index 000000000000..247e9b7b4616 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + }, + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}", + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachineScaleSets", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}", + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachineScaleSets", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json new file mode 100644 index 000000000000..44f20bbb8f62 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "applicationGatewayBackendAddressPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}" + } + ], + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "a0134477-b9d9-484b-b0e3-205c1c089ffa", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "applicationGatewayBackendAddressPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/nsgExistingAppGw/backendAddressPools/appGatewayBackendPool" + } + ], + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "a0134477-b9d9-484b-b0e3-205c1c089ffa", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "applicationGatewayBackendAddressPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/nsgExistingAppGw/backendAddressPools/appGatewayBackendPool" + } + ], + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json new file mode 100644 index 000000000000..85e729cbe5be --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + }, + "publicIPAddressConfiguration": { + "name": "{vmss-name}", + "properties": { + "publicIPAddressVersion": "IPv4" + } + }, + "loadBalancerInboundNatPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}" + } + ], + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}" + } + ] + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "ec0b21ca-51ec-414b-9323-f236ffc21479", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "loadBalancerInboundNatPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/inboundNatPools/lbNatPool" + } + ], + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/backendAddressPools/lbBackendPool" + } + ], + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "ec0b21ca-51ec-414b-9323-f236ffc21479", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "loadBalancerInboundNatPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/inboundNatPools/lbNatPool" + } + ], + "loadBalancerBackendAddressPools": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/backendAddressPools/lbBackendPool" + } + ], + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAutomaticRepairs.json new file mode 100644 index 000000000000..a507143e62ac --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAutomaticRepairs.json @@ -0,0 +1,227 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "automaticRepairsPolicy": { + "enabled": true, + "gracePeriod": "PT30M" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "automaticRepairsPolicy": { + "enabled": true, + "gracePeriod": "PT30M" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "automaticRepairsPolicy": { + "enabled": true, + "gracePeriod": "PT30M" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithBootDiagnostics.json new file mode 100644 index 000000000000..67cba225a1b8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithBootDiagnostics.json @@ -0,0 +1,233 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net", + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://nsgdiagnostic.blob.core.windows.net", + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://nsgdiagnostic.blob.core.windows.net", + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDisk.json new file mode 100644 index 000000000000..b9b88a727dbf --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDisk.json @@ -0,0 +1,239 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + }, + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "name": "{vmss-name}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}", + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachineScaleSets", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "name": "{vmss-name}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}", + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachineScaleSets", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json new file mode 100644 index 000000000000..43853d85665a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json @@ -0,0 +1,242 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "ResourceDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + }, + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "name": "{vmss-name}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}", + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachineScaleSets", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "ResourceDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "name": "{vmss-name}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}", + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachineScaleSets", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "ResourceDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json new file mode 100644 index 000000000000..875ba16636a6 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json @@ -0,0 +1,270 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D2_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "diskSizeGB": 512 + }, + "dataDisks": [ + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + }, + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 1 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D2_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "diskSizeGB": 512 + }, + "dataDisks": [ + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 0, + "diskSizeGB": 1023 + }, + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 1, + "diskSizeGB": 1023 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Succeeded" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D2_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "diskSizeGB": 512 + }, + "dataDisks": [ + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 0, + "diskSizeGB": 1023 + }, + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 1, + "diskSizeGB": 1023 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEncryptionAtHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEncryptionAtHost.json new file mode 100644 index 000000000000..3b7b6beba957 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEncryptionAtHost.json @@ -0,0 +1,239 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "securityProfile": { + "encryptionAtHost": true + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + }, + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "name": "{vmss-name}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}", + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachineScaleSets", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "securityProfile": { + "encryptionAtHost": true + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "name": "{vmss-name}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}", + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachineScaleSets", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "securityProfile": { + "encryptionAtHost": true + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json new file mode 100644 index 000000000000..42d3c4a6bb25 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net", + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "extensionProfile": { + "extensions": [ + { + "name": "{extension-name}", + "properties": { + "autoUpgradeMinorVersion": false, + "publisher": "{extension-Publisher}", + "type": "{extension-Type}", + "typeHandlerVersion": "{handler-version}", + "settings": {} + } + } + ], + "extensionsTimeBudget": "PT1H20M" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://nsgdiagnostic.blob.core.windows.net", + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "extensionProfile": { + "extensions": [ + { + "name": "{extension-name}", + "properties": { + "autoUpgradeMinorVersion": false, + "publisher": "{extension-Publisher}", + "type": "{extension-Type}", + "typeHandlerVersion": "{handler-version}", + "settings": {} + } + } + ], + "extensionsTimeBudget": "PT1H20M" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://nsgdiagnostic.blob.core.windows.net", + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "extensionProfile": { + "extensions": [ + { + "name": "{extension-name}", + "properties": { + "autoUpgradeMinorVersion": false, + "publisher": "{extension-Publisher}", + "type": "{extension-Type}", + "typeHandlerVersion": "{handler-version}", + "settings": {} + } + } + ], + "extensionsTimeBudget": "PT1H20M" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json new file mode 100644 index 000000000000..5553d72e053c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": true + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPasswordAuthentication.json new file mode 100644 index 000000000000..fd0f33b9e0e1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPasswordAuthentication.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "ffb27c5c-39a5-4d4e-b307-b32598689813", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "ffb27c5c-39a5-4d4e-b307-b32598689813", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPremiumStorage.json new file mode 100644 index 000000000000..0b54b8ea2ace --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPremiumStorage.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "19fd38a2-f50a-42c6-9dc7-3f9cf3791225", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "19fd38a2-f50a-42c6-9dc7-3f9cf3791225", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithSshAuthentication.json new file mode 100644 index 000000000000..4c6f701615cf --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithSshAuthentication.json @@ -0,0 +1,239 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "/home/{your-username}/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1" + } + ] + }, + "disablePasswordAuthentication": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "fb73af19-0090-467c-9ced-b00bceab1c45", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "/home/{your-username}/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1" + } + ] + }, + "disablePasswordAuthentication": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "fb73af19-0090-467c-9ced-b00bceab1c45", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "/home/{your-username}/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1" + } + ] + }, + "disablePasswordAuthentication": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json new file mode 100644 index 000000000000..baefdffe161c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json @@ -0,0 +1,233 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "location": "westus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + }, + "scheduledEventsProfile": { + "terminateNotificationProfile": { + "enable": true, + "notBeforeTimeout": "PT5M" + } + } + }, + "upgradePolicy": { + "mode": "Manual" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + }, + "scheduledEventsProfile": { + "terminateNotificationProfile": { + "enable": true, + "notBeforeTimeout": "PT5M" + } + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage" + } + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + }, + "scheduledEventsProfile": { + "terminateNotificationProfile": { + "enable": true, + "notBeforeTimeout": "PT5M" + } + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithVMsInDifferentZones.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithVMsInDifferentZones.json new file mode 100644 index 000000000000..3784e146453d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithVMsInDifferentZones.json @@ -0,0 +1,284 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 2, + "name": "Standard_A1_v2" + }, + "location": "centralus", + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "diskSizeGB": 512 + }, + "dataDisks": [ + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + }, + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 1 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Automatic" + } + }, + "zones": [ + "1", + "3" + ] + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 2, + "name": "Standard_A1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": false, + "overprovision": true, + "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa", + "zoneBalance": false, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "diskSizeGB": 512 + }, + "dataDisks": [ + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 0, + "diskSizeGB": 1023 + }, + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 1, + "diskSizeGB": 1023 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Automatic" + }, + "provisioningState": "Succeeded" + }, + "zones": [ + "1", + "3" + ], + "location": "centralus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 2, + "name": "Standard_A1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": false, + "overprovision": true, + "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa", + "zoneBalance": false, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "diskSizeGB": 512 + }, + "dataDisks": [ + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 0, + "diskSizeGB": 1023 + }, + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 1, + "diskSizeGB": 1023 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Automatic" + }, + "provisioningState": "Creating" + }, + "zones": [ + "1", + "3" + ], + "location": "centralus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json new file mode 100644 index 000000000000..b4e954f22642 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json @@ -0,0 +1,255 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_DS1_v2" + }, + "properties": { + "overprovision": true, + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "createOption": "FromImage" + }, + "dataDisks": [ + { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}" + } + } + } + ] + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "createOption": "FromImage" + }, + "dataDisks": [ + { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + }, + "201": { + "body": { + "sku": { + "tier": "Standard", + "capacity": 3, + "name": "Standard_D1_v2" + }, + "name": "{vmss-name}", + "properties": { + "singlePlacementGroup": true, + "overprovision": true, + "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064", + "virtualMachineProfile": { + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "createOption": "FromImage" + }, + "dataDisks": [ + { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + } + ] + }, + "osProfile": { + "computerNamePrefix": "{vmss-name}", + "adminUsername": "{your-username}", + "secrets": [], + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "dnsSettings": { + "dnsServers": [] + }, + "primary": true, + "enableIPForwarding": true, + "ipConfigurations": [ + { + "name": "{vmss-name}", + "properties": { + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet" + }, + "privateIPAddressVersion": "IPv4" + } + } + ], + "enableAcceleratedNetworking": false + } + } + ] + } + }, + "upgradePolicy": { + "mode": "Manual" + }, + "provisioningState": "Creating" + }, + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmFromACustomImage.json new file mode 100644 index 000000000000..2442f6b75915 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmFromACustomImage.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "name": "myVMosdisk", + "diskSizeGB": 30, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "caching": "ReadWrite", + "createOption": "FromImage", + "osType": "Linux" + }, + "dataDisks": [] + }, + "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "name": "myVMosdisk", + "diskSizeGB": 30, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "caching": "ReadWrite", + "createOption": "FromImage", + "osType": "Linux" + }, + "dataDisks": [] + }, + "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmInAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmInAnAvailabilitySet.json new file mode 100644 index 000000000000..096334bc8b9d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmInAnAvailabilitySet.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "availabilitySet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/{existing-availability-set-name}" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "availabilitySet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/NSGEXISTINGAS" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "availabilitySet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/NSGEXISTINGAS" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDisk.json new file mode 100644 index 000000000000..16c03f72a8c9 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDisk.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "properties": { + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [] + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + }, + "201": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [] + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json new file mode 100644 index 000000000000..7eb93e9b19b5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "properties": { + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "CacheDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "CacheDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [] + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + }, + "201": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "CacheDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [] + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json new file mode 100644 index 000000000000..22124e97660a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "properties": { + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "ResourceDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "ResourceDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [] + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + }, + "201": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadOnly", + "diffDiskSettings": { + "option": "Local", + "placement": "ResourceDisk" + }, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [] + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithAMarketplaceImagePlan.json new file mode 100644 index 000000000000..351bd0c78dc6 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithAMarketplaceImagePlan.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + }, + "201": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithBootDiagnostics.json new file mode 100644 index 000000000000..9bcd58f56b94 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithBootDiagnostics.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net", + "enabled": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://nsgdiagnostic.blob.core.windows.net", + "enabled": true + } + }, + "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://nsgdiagnostic.blob.core.windows.net", + "enabled": true + } + }, + "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithDiskEncryptionSetResource.json new file mode 100644 index 000000000000..70efb25b22a1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithDiskEncryptionSetResource.json @@ -0,0 +1,229 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "name": "myVMosdisk", + "createOption": "FromImage" + }, + "dataDisks": [ + { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + }, + { + "caching": "ReadWrite", + "managedDisk": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}", + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Attach", + "lun": 1 + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "name": "myVMosdisk", + "diskSizeGB": 30, + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskencryptionset-name}" + } + }, + "caching": "ReadWrite", + "createOption": "FromImage", + "osType": "Linux" + }, + "dataDisks": [ + { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + }, + { + "caching": "ReadWrite", + "managedDisk": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}", + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Attach", + "lun": 1 + } + ] + }, + "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom" + }, + "osDisk": { + "name": "myVMosdisk", + "diskSizeGB": 30, + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "caching": "ReadWrite", + "createOption": "FromImage", + "osType": "Linux" + }, + "dataDisks": [ + { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + }, + { + "caching": "ReadWrite", + "managedDisk": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}", + "storageAccountType": "Standard_LRS", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "diskSizeGB": 1023, + "createOption": "Attach", + "lun": 1 + } + ] + }, + "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEmptyDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEmptyDataDisks.json new file mode 100644 index 000000000000..6c11b253497a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEmptyDataDisks.json @@ -0,0 +1,205 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + }, + "dataDisks": [ + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0 + }, + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 1 + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [ + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 0, + "diskSizeGB": 1023 + }, + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 1, + "diskSizeGB": 1023 + } + ] + }, + "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0", + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [ + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 0, + "diskSizeGB": 1023, + "toBeDetached": false + }, + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 1, + "diskSizeGB": 1023, + "toBeDetached": false + } + ] + }, + "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0", + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEncryptionAtHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEncryptionAtHost.json new file mode 100644 index 000000000000..7f9dcac22865 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEncryptionAtHost.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "plan": { + "publisher": "microsoft-ads", + "product": "windows-data-science-vm", + "name": "windows2016" + }, + "properties": { + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "securityProfile": { + "encryptionAtHost": true + }, + "storageProfile": { + "imageReference": { + "sku": "windows2016", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "windows-data-science-vm" + }, + "osDisk": { + "caching": "ReadOnly", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadOnly", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [] + }, + "securityProfile": { + "encryptionAtHost": true + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + }, + "201": { + "body": { + "name": "myVM", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "standard-data-science-vm", + "publisher": "microsoft-ads", + "version": "latest", + "offer": "standard-data-science-vm" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadOnly", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "FromImage", + "name": "myVMosdisk" + }, + "dataDisks": [] + }, + "securityProfile": { + "encryptionAtHost": true + }, + "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "plan": { + "publisher": "microsoft-ads", + "product": "standard-data-science-vm", + "name": "standard-data-science-vm" + }, + "type": "Microsoft.Compute/virtualMachines", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithExtensionsTimeBudget.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithExtensionsTimeBudget.json new file mode 100644 index 000000000000..4077f1678974 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithExtensionsTimeBudget.json @@ -0,0 +1,174 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net", + "enabled": true + } + }, + "extensionsTimeBudget": "PT30M" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://nsgdiagnostic.blob.core.windows.net", + "enabled": true + } + }, + "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "extensionsTimeBudget": "PT30M", + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "storageUri": "http://nsgdiagnostic.blob.core.windows.net", + "enabled": true + } + }, + "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "extensionsTimeBudget": "PT30M", + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json new file mode 100644 index 000000000000..dd09e24daf77 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": true + } + }, + "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": true + } + }, + "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPasswordAuthentication.json new file mode 100644 index 000000000000..7e848658b4dd --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPasswordAuthentication.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "b248db33-62ba-4d2d-b791-811e075ee0f5", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "b248db33-62ba-4d2d-b791-811e075ee0f5", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByOS.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByOS.json new file mode 100644 index 000000000000..d21b36ff8198 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByOS.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByOS" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByOS" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByOS" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByPlatform.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByPlatform.json new file mode 100644 index 000000000000..63f8431a61f7 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByPlatform.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "AutomaticByPlatform" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfManual.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfManual.json new file mode 100644 index 000000000000..918e64e70823 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfManual.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "Manual" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true, + "patchSettings": { + "patchMode": "Manual" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": false, + "patchSettings": { + "patchMode": "Manual" + } + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPremiumStorage.json new file mode 100644 index 000000000000..40dda0e368b3 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPremiumStorage.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Premium_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "a149cd25-409f-41af-8088-275f5486bc93", + "hardwareProfile": { + "vmSize": "Standard_DS1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithSshAuthentication.json new file mode 100644 index 000000000000..1bdb1152896b --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithSshAuthentication.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "location": "westus", + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "{image_sku}", + "publisher": "{image_publisher}", + "version": "latest", + "offer": "{image_offer}" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + } + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "/home/{your-username}/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1" + } + ] + }, + "disablePasswordAuthentication": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "/home/{your-username}/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1" + } + ] + }, + "disablePasswordAuthentication": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "osType": "Linux", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "/home/{your-username}/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1" + } + ] + }, + "disablePasswordAuthentication": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "16.04-LTS", + "publisher": "Canonical", + "version": "latest", + "offer": "UbuntuServer" + }, + "osDisk": { + "osType": "Linux", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [] + }, + "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90", + "hardwareProfile": { + "vmSize": "Standard_D1_v2" + }, + "provisioningState": "Creating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnAvailabilitySet.json new file mode 100644 index 000000000000..196a620eb9a3 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnAvailabilitySet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "availabilitySetName": "myAvailabilitySet", + "parameters": { + "location": "westus", + "properties": { + "platformFaultDomainCount": 2, + "platformUpdateDomainCount": 20 + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Classic" + }, + "name": "myAvailabilitySet", + "properties": { + "platformFaultDomainCount": 2, + "platformUpdateDomainCount": 20 + }, + "location": "westus", + "type": "Microsoft.Compute/availabilitySets", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/myAvailabilitySet" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlob.json new file mode 100644 index 000000000000..bb69c5642d9d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlob.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "osState": "Generalized" + }, + "zoneResilient": true + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "osState": "Generalized", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "caching": "ReadWrite" + }, + "dataDisks": [], + "zoneResilient": true + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "osState": "Generalized", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "caching": "ReadWrite" + }, + "dataDisks": [], + "zoneResilient": true + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json new file mode 100644 index 000000000000..88d29edc5108 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "osState": "Generalized" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "osState": "Generalized", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "caching": "ReadWrite" + }, + "dataDisks": [] + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "osState": "Generalized", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "caching": "ReadWrite" + }, + "dataDisks": [] + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDisk.json new file mode 100644 index 000000000000..1aeedab52741 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDisk.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "osState": "Generalized" + }, + "zoneResilient": true + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [], + "zoneResilient": true + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [], + "zoneResilient": true + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json new file mode 100644 index 000000000000..f248d31771d4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "osState": "Generalized" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [] + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [] + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshot.json new file mode 100644 index 000000000000..04d97c3b696a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshot.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "osState": "Generalized" + }, + "zoneResilient": false + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [], + "zoneResilient": false + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [], + "zoneResilient": false + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json new file mode 100644 index 000000000000..94e672bb3990 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "osState": "Generalized" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [] + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "diskEncryptionSet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [] + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAVM.json new file mode 100644 index 000000000000..846f76b3341e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAVM.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "sourceVirtualMachine": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sourceVirtualMachine": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM" + }, + "storageProfile": { + "osDisk": { + "osType": "Linux", + "osState": "Generalized", + "managedDisk": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022" + }, + "caching": "ReadWrite" + }, + "dataDisks": [], + "zoneResilient": false + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "sourceVirtualMachine": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM" + }, + "storageProfile": { + "osDisk": { + "osType": "Linux", + "osState": "Generalized", + "managedDisk": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022" + }, + "caching": "ReadWrite" + }, + "dataDisks": [], + "zoneResilient": false + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json new file mode 100644 index 000000000000..10d4b80694ff --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "osState": "Generalized" + }, + "dataDisks": [ + { + "lun": 1, + "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd" + } + ], + "zoneResilient": false + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "osState": "Generalized", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "caching": "ReadWrite" + }, + "dataDisks": [ + { + "lun": 1, + "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd" + } + ], + "zoneResilient": false + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "osState": "Generalized", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "caching": "ReadWrite" + }, + "dataDisks": [ + { + "lun": 1, + "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd" + } + ], + "zoneResilient": false + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json new file mode 100644 index 000000000000..8ce291fd2cd9 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "osState": "Generalized" + }, + "dataDisks": [ + { + "lun": 1, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2" + } + } + ], + "zoneResilient": false + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [ + { + "lun": 1, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2" + } + } + ], + "zoneResilient": false + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "managedDisk": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [ + { + "lun": 1, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2" + } + } + ], + "zoneResilient": false + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json new file mode 100644 index 000000000000..9d086c83d0ef --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "osState": "Generalized" + }, + "dataDisks": [ + { + "lun": 1, + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2" + } + } + ], + "zoneResilient": true + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [ + { + "lun": 1, + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2" + } + } + ], + "zoneResilient": true + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + }, + "201": { + "body": { + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Linux", + "snapshot": { + "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "osState": "Generalized", + "caching": "ReadWrite" + }, + "dataDisks": [ + { + "lun": 1, + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2" + } + } + ], + "zoneResilient": true + }, + "provisioningState": "Creating" + }, + "type": "Microsoft.Compute/images", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage", + "name": "myImage" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnSshPublicKey.json new file mode 100644 index 000000000000..c957c530c252 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnSshPublicKey.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "sshPublicKeyName": "mySshPublicKeyName", + "parameters": { + "location": "westus", + "properties": { + "publicKey": "{ssh-rsa public key}" + } + } + }, + "responses": { + "200": { + "body": { + "name": "mySshPublicKeyName", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName", + "properties": { + "publicKey": "{ssh-rsa public key}" + } + } + }, + "201": { + "body": { + "name": "mySshPublicKeyName", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName", + "properties": { + "publicKey": "{ssh-rsa public key}" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHost.json new file mode 100644 index 000000000000..be99526847e4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHost.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-10-01", + "parameters": { + "location": "westus", + "tags": { + "department": "HR" + }, + "properties": { + "platformFaultDomain": 1 + }, + "sku": { + "name": "DSv3-Type1" + } + }, + "hostGroupName": "myDedicatedHostGroup", + "hostName": "myDedicatedHost" + }, + "responses": { + "201": { + "body": { + "name": "myDedicatedHost", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup/hosts/myDedicatedHost", + "tags": { + "department": "HR" + }, + "sku": { + "name": "DSv3-Type1" + }, + "properties": { + "platformFaultDomain": 1, + "autoReplaceOnFailure": true, + "hostId": "{GUID}" + } + } + }, + "200": { + "body": { + "properties": { + "platformFaultDomain": 1, + "autoReplaceOnFailure": false, + "licenseType": "Windows_Server_Hybrid", + "hostId": "{GUID}" + }, + "location": "westus", + "tags": { + "department": "HR" + }, + "name": "myDedicatedHost", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup/hosts/myDedicatedHost", + "sku": { + "name": "DSv3-Type1" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json new file mode 100644 index 000000000000..7d6e5d145fd1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "hostGroupName": "myDedicatedHostGroup", + "parameters": { + "location": "westus", + "tags": { + "department": "finance" + }, + "zones": [ + "1" + ], + "properties": { + "platformFaultDomainCount": 3, + "supportAutomaticPlacement": true + } + } + }, + "responses": { + "201": { + "body": { + "name": "myDedicatedHostGroup", + "location": "westus", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup", + "tags": { + "department": "finance" + }, + "zones": [ + "1" + ], + "properties": { + "platformFaultDomainCount": 3, + "supportAutomaticPlacement": true + } + } + }, + "200": { + "body": { + "properties": { + "platformFaultDomainCount": 3, + "supportAutomaticPlacement": true + }, + "location": "westus", + "tags": { + "department": "finance", + "owner": "myCompany" + }, + "name": "myDedicatedHostGroup", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup", + "zones": [ + "1" + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateAProximityPlacementGroup.json new file mode 100644 index 000000000000..86b30128ba17 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateAProximityPlacementGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "proximityPlacementGroupName": "myProximityPlacementGroup", + "parameters": { + "location": "westus", + "properties": { + "proximityPlacementGroupType": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "name": "myProximityPlacementGroup", + "properties": { + "proximityPlacementGroupType": "Standard" + }, + "location": "westus", + "type": "Microsoft.Compute/proximityPlacementGroups", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + }, + "201": { + "body": { + "name": "myProximityPlacementGroup", + "properties": { + "proximityPlacementGroupType": "Standard" + }, + "location": "westus", + "type": "Microsoft.Compute/proximityPlacementGroups", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json new file mode 100644 index 000000000000..5e3dbf00975a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "vmExtensionName": "myVMExtension", + "api-version": "2020-06-01", + "extensionParameters": { + "location": "westus", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "extPublisher", + "type": "extType", + "typeHandlerVersion": "1.2", + "settings": { + "UserName": "xyz@microsoft.com" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "myVMExtension", + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension", + "properties": { + "autoUpgradeMinorVersion": true, + "provisioningState": "Creating", + "publisher": "extPublisher", + "type": "extType", + "typeHandlerVersion": "1.2", + "settings": { + "UserName": "xyz@microsoft.com" + } + } + } + }, + "200": { + "body": { + "name": "myVMExtension", + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension", + "properties": { + "autoUpgradeMinorVersion": true, + "provisioningState": "Creating", + "publisher": "extPublisher", + "type": "extType", + "typeHandlerVersion": "1.2", + "settings": { + "UserName": "xyz@microsoft.com" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteAProximityPlacementGroup.json new file mode 100644 index 000000000000..b92729922d3b --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteAProximityPlacementGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "proximityPlacementGroupName": "myProximityPlacementGroup", + "parameters": {} + }, + "responses": { + "200": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json new file mode 100644 index 000000000000..08064356a7c6 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "vmExtensionName": "myVMExtension", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GeneralizeVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GeneralizeVirtualMachine.json new file mode 100644 index 000000000000..45c4b2a99f50 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GeneralizeVirtualMachine.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "vmName": "myVMName" + }, + "responses": { + "200": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GenerateSshKeyPair.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GenerateSshKeyPair.json new file mode 100644 index 000000000000..3d3a18bd65d6 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GenerateSshKeyPair.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "sshPublicKeyName": "mySshPublicKeyName" + }, + "responses": { + "200": { + "body": { + "privateKey": "{ssh private key}", + "publicKey": "{ssh-rsa public key}", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/SshPublicKeys/mySshPublicKeyName" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHost.json new file mode 100644 index 000000000000..0da47da294d4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHost.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-10-01", + "hostGroupName": "myDedicatedHostGroup", + "hostName": "myHost" + }, + "responses": { + "200": { + "body": { + "properties": { + "platformFaultDomain": 1, + "autoReplaceOnFailure": true, + "hostId": "{GUID}", + "provisioningTime": "2019-06-27T01:02:38.3138469+00:00", + "virtualMachines": [ + { + "id": "/subscriptions/subId/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/vm1" + } + ], + "provisioningState": "Succeeded", + "instanceView": { + "assetId": "eb3f58b8-b4e8-4882-b69f-301a01812407", + "availableCapacity": { + "allocatableVMs": [ + { + "vmSize": "Standard_A1", + "count": 10 + } + ] + }, + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded" + }, + { + "code": "HealthState/available", + "level": "Info", + "displayStatus": "Host available" + } + ] + } + }, + "location": "westus", + "tags": { + "department": "HR" + }, + "sku": { + "name": "DSv3-Type1" + }, + "name": "myHost" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json new file mode 100644 index 000000000000..cdd201b86023 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "hostGroupName": "myDedicatedHostGroup", + "expand": "instanceView" + }, + "responses": { + "200": { + "body": { + "properties": { + "platformFaultDomainCount": 3, + "hosts": [ + { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost1" + }, + { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost2" + } + ], + "supportAutomaticPlacement": true, + "instanceView": { + "hosts": [ + { + "name": "myHost1", + "assetId": "eb3f58b8-b4e8-4882-b69f-301a01812407", + "availableCapacity": { + "allocatableVMs": [ + { + "vmSize": "Standard_A1", + "count": 10 + } + ] + }, + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded" + }, + { + "code": "HealthState/available", + "level": "Info", + "displayStatus": "Host available" + } + ] + }, + { + "name": "myHost2", + "assetId": "f293d4ac-5eea-4be2-b0c0-0fcaa09aebf8", + "availableCapacity": { + "allocatableVMs": [ + { + "vmSize": "Standard_A1", + "count": 10 + } + ] + }, + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded" + }, + { + "code": "HealthState/available", + "level": "Info", + "displayStatus": "Host available" + } + ] + } + ] + } + }, + "location": "westus", + "tags": { + "{tagName}": "{tagValue}" + }, + "name": "myDedicatedHostGroup", + "zones": [ + "3" + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAProximityPlacementGroup.json new file mode 100644 index 000000000000..b3088fb6cdfe --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAProximityPlacementGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "proximityPlacementGroupName": "myProximityPlacementGroup", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "name": "myProximityPlacementGroup", + "properties": { + "proximityPlacementGroupType": "Standard", + "virtualMachines": [ + { + "id": "string" + } + ], + "virtualMachineScaleSets": [ + { + "id": "string" + } + ], + "availabilitySets": [ + { + "id": "string" + } + ] + }, + "location": "westus", + "type": "Microsoft.Compute/proximityPlacementGroups", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAnSshPublicKey.json new file mode 100644 index 000000000000..4a483fc8fd1a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAnSshPublicKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "sshPublicKeyName": "mySshPublicKeyName" + }, + "responses": { + "200": { + "body": { + "name": "mySshPublicKeyName", + "location": "westus", + "tags": { + "{tagName}": "{tagValue}" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/SshPublicKeys/mySshPublicKeyName", + "properties": { + "publicKey": "{ssh-rsa public key}" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetInformationAboutAnImage.json new file mode 100644 index 000000000000..5560fc29033d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetInformationAboutAnImage.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage", + "name": "myImage", + "type": "Microsoft.Compute/images", + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Windows", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" + }, + "osState": "Generalized", + "storageAccountType": "Standard_LRS", + "diskSizeGB": 20 + }, + "dataDisks": [ + { + "lun": 1, + "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2" + }, + "storageAccountType": "Standard_LRS" + } + ], + "zoneResilient": true + }, + "provisioningState": "created" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachine.json new file mode 100644 index 000000000000..693204398233 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachine.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "name": "myVM", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "location": "West US", + "tags": { + "myTag1": "tagValue1" + }, + "properties": { + "vmId": "0f47b100-583c-48e3-a4c0-aefc2c9bbcc1", + "availabilitySet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/my-AvailabilitySet" + }, + "proximityPlacementGroup": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/my-ppg01" + }, + "hardwareProfile": { + "vmSize": "Standard_DS3_v2" + }, + "storageProfile": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-Datacenter", + "version": "latest" + }, + "osDisk": { + "osType": "Windows", + "name": "myOsDisk", + "createOption": "FromImage", + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myOsDisk" + }, + "diskSizeGB": 30 + }, + "dataDisks": [ + { + "lun": 0, + "name": "myDataDisk0", + "createOption": "Empty", + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDataDisk0" + }, + "diskSizeGB": 30 + }, + { + "lun": 1, + "name": "myDataDisk1", + "createOption": "Attach", + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDataDisk1" + }, + "diskSizeGB": 100 + } + ] + }, + "osProfile": { + "computerName": "myVM", + "adminUsername": "admin", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": false + }, + "secrets": [] + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{myNIC}" + } + ] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": true, + "storageUri": "http://{myStorageAccount}.blob.core.windows.net" + } + }, + "extensionsTimeBudget": "PT50M", + "provisioningState": "Succeeded" + }, + "resources": [ + { + "name": "CustomScriptExtension-DSC", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/extensions/CustomScriptExtension-DSC", + "type": "Microsoft.Compute/virtualMachines/extensions", + "location": "west us", + "tags": { + "displayName": "CustomScriptExtension-DSC" + }, + "properties": { + "autoUpgradeMinorVersion": true, + "provisioningState": "Succeeded", + "publisher": "Microsoft.Compute", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.9", + "settings": {} + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json new file mode 100644 index 000000000000..f8f243a0a90e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "name": "myVM", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "location": "West US", + "tags": { + "myTag1": "tagValue1" + }, + "properties": { + "vmId": "0f47b100-583c-48e3-a4c0-aefc2c9bbcc1", + "hostGroup": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup" + }, + "hardwareProfile": { + "vmSize": "Standard_D2s_v3" + }, + "storageProfile": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-Datacenter", + "version": "latest" + }, + "osDisk": { + "osType": "Windows", + "name": "myOsDisk", + "createOption": "FromImage", + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myOsDisk" + }, + "diskSizeGB": 30 + }, + "dataDisks": [] + }, + "osProfile": { + "computerName": "myVM", + "adminUsername": "admin", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": false + }, + "secrets": [] + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{myNIC}" + } + ] + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json new file mode 100644 index 000000000000..bb17b5ad0c6c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "vmName": "myVM" + }, + "responses": { + "200": { + "body": { + "platformUpdateDomain": 1, + "platformFaultDomain": 1, + "computerName": "myVM", + "osName": "Windows Server 2016 Datacenter", + "osVersion": "Microsoft Windows NT 10.0.14393.0", + "vmAgent": { + "vmAgentVersion": "2.7.41491.949", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Ready", + "message": "GuestAgent is running and accepting new configurations.", + "time": "2019-10-14T23:11:22+00:00" + } + ], + "extensionHandlers": [ + { + "type": "Microsoft.Azure.Security.IaaSAntimalware", + "typeHandlerVersion": "1.5.5.9", + "status": { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Ready" + } + } + ] + }, + "disks": [ + { + "name": "myOsDisk", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "time": "2019-10-14T21:29:47.477089+00:00" + } + ] + }, + { + "name": "myDataDisk0", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "time": "2019-10-14T21:29:47.461517+00:00" + } + ] + } + ], + "bootDiagnostics": { + "consoleScreenshotBlobUri": "https://{myStorageAccount}.blob.core.windows.net/bootdiagnostics-myOsDisk/myOsDisk.screenshot.bmp", + "serialConsoleLogBlobUri": "https://{myStorageAccount}.blob.core.windows.net/bootdiagnostics-myOsDisk/myOsDisk.serialconsole.log" + }, + "extensions": [ + { + "name": "IaaSAntiMalware-ext0", + "type": "Microsoft.Azure.Security.IaaSAntimalware", + "typeHandlerVersion": "1.5.5.9", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": "Microsoft Antimalware enabled" + } + ] + } + ], + "hyperVGeneration": "V1", + "patchStatus": { + "availablePatchSummary": { + "status": "Succeeded", + "assessmentActivityId": "68f8b292-dfc2-4646-9781-33cc88631968", + "rebootPending": true, + "criticalAndSecurityPatchCount": 1, + "otherPatchCount": 2, + "startTime": "2020-04-24T21:02:04.2556154Z", + "error": null + }, + "lastPatchInstallationSummary": { + "status": "Succeeded", + "maintenanceWindowExceeded": false, + "rebootStatus": "Completed", + "notSelectedPatchCount": 1, + "excludedPatchCount": 1, + "pendingPatchCount": 1, + "installedPatchCount": 1, + "failedPatchCount": 1, + "startTime": "2020-04-24T21:02:04.2556154Z", + "lastModifiedTime": "2020-04-24T21:02:04.2556154Z", + "startedBy": "platform", + "error": null + } + }, + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "time": "2019-10-14T21:30:12.8051917+00:00" + }, + { + "code": "PowerState/running", + "level": "Info", + "displayStatus": "VM running" + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json new file mode 100644 index 000000000000..753e36339bd3 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "vmName": "myVM" + }, + "responses": { + "200": { + "body": { + "computerName": "myVM", + "osName": "Windows Server 2016 Datacenter", + "osVersion": "Microsoft Windows NT 10.0.14393.0", + "vmAgent": { + "vmAgentVersion": "2.7.41491.949", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Ready", + "message": "GuestAgent is running and accepting new configurations.", + "time": "2020-06-01T23:11:22+00:00" + } + ] + }, + "disks": [ + { + "name": "myOsDisk", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "time": "2020-06-01T21:29:47.477089+00:00" + } + ] + } + ], + "hyperVGeneration": "V1", + "assignedHost": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts/myHost", + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "time": "2020-06-01T21:30:12.8051917+00:00" + }, + { + "code": "PowerState/running", + "level": "Info", + "displayStatus": "VM running" + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json new file mode 100644 index 000000000000..1e18a2445395 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myVirtualMachineScaleSet", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "name": "myVirtualMachineScaleSet", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVirtualMachineScaleSet", + "type": "Microsoft.Compute/virtualMachineScaleSets", + "location": "West US", + "tags": { + "myTag1": "tagValue1" + }, + "sku": { + "name": "Standard_D2s_v3", + "tier": "Standard", + "capacity": 4 + }, + "properties": { + "singlePlacementGroup": false, + "upgradePolicy": { + "mode": "Automatic", + "automaticOSUpgradePolicy": { + "enableAutomaticOSUpgrade": false + } + }, + "virtualMachineProfile": { + "storageProfile": { + "osDisk": { + "createOption": "FromImage", + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Premium_LRS" + }, + "diskSizeGB": 30 + }, + "imageReference": { + "publisher": "azuredatabricks", + "offer": "databricks", + "sku": "databricksworker", + "version": "3.15.2" + }, + "dataDisks": [] + }, + "osProfile": { + "computerNamePrefix": "myVirtualMachineScaleSet", + "adminUsername": "admin", + "linuxConfiguration": { + "disablePasswordAuthentication": false + } + }, + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "name": "myNic", + "properties": { + "primary": true, + "ipConfigurations": [ + { + "name": "myIPConfig", + "properties": { + "primary": true, + "subnet": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet" + } + } + } + ], + "networkSecurityGroup": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup" + } + } + } + ] + } + }, + "provisioningState": "succeeded", + "overprovision": false, + "doNotRunExtensionsOnOverprovisionedVMs": false, + "platformFaultDomainCount": 1, + "hostGroup": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json new file mode 100644 index 000000000000..2c27ae1e263c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "vmExtensionName": "myVMExtension", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "autoUpgradeMinorVersion": true, + "provisioningState": "Creating", + "publisher": "extPublisher", + "type": "extType", + "typeHandlerVersion": "1.2", + "settings": { + "UserName": "xyz@microsoft.com" + } + }, + "name": "myVMExtension", + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json new file mode 100644 index 000000000000..bd6489768829 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myVirtualMachineScaleSet", + "instanceId": "0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "platformUpdateDomain": 0, + "platformFaultDomain": 0, + "rdpThumbPrint": null, + "vmAgent": { + "vmAgentVersion": "Unknown", + "statuses": [ + { + "code": "ProvisioningState/Unavailable", + "level": "Warning", + "displayStatus": "Not Ready", + "message": "VM status blob is found but not yet populated.", + "time": "2020-06-01T05:00:32+00:00" + } + ], + "extensionHandlers": null + }, + "disks": [ + { + "name": "myOSDisk", + "encryptionSettings": null, + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": null, + "time": "2020-06-01T04:58:58.0882815+00:00" + } + ] + } + ], + "extensions": null, + "assignedHost": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts/myHost", + "bootDiagnostics": null, + "statuses": [ + { + "code": "ProvisioningState/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": null, + "time": "2020-06-05T04:59:58.1852966+00:00" + }, + { + "code": "PowerState/running", + "level": "Info", + "displayStatus": "VM running", + "message": null, + "time": null + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailabilitySetsInASubscription.json new file mode 100644 index 000000000000..4810b2d7dcc7 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailabilitySetsInASubscription.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "api-version": "2020-06-01", + "$expand": "virtualMachines\\$ref" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "{availabilitySetName}", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", + "type": "Microsoft.Compute/availabilitySets", + "location": "australiasoutheast", + "properties": { + "platformUpdateDomainCount": 5, + "platformFaultDomainCount": 3, + "virtualMachines": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}" + } + ] + }, + "sku": { + "name": "Classic" + } + }, + { + "name": "{availabilitySetName}", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", + "type": "Microsoft.Compute/availabilitySets", + "location": "australiasoutheast", + "properties": { + "platformUpdateDomainCount": 5, + "platformFaultDomainCount": 3, + "virtualMachines": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}" + } + ] + }, + "sku": { + "name": "Classic" + } + }, + { + "name": "{availabilitySetName}", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", + "type": "Microsoft.Compute/availabilitySets", + "location": "westcentralus", + "tags": { + "{tagName}": "{tagValue}" + }, + "properties": { + "platformUpdateDomainCount": 5, + "platformFaultDomainCount": 3, + "virtualMachines": [] + }, + "sku": { + "name": "Classic" + } + }, + { + "name": "{availabilitySetName}", + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}", + "type": "Microsoft.Compute/availabilitySets", + "location": "westcentralus", + "tags": { + "{tagName}": "{tagValue}" + }, + "properties": { + "platformUpdateDomainCount": 5, + "platformFaultDomainCount": 3, + "virtualMachines": [] + }, + "sku": { + "name": "Classic" + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailableVmSizes_VirtualMachines.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailableVmSizes_VirtualMachines.json new file mode 100644 index 000000000000..40ee856d726f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailableVmSizes_VirtualMachines.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVmName", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Standard_A1_V2", + "numberOfCores": 1, + "osDiskSizeInMB": 1047552, + "resourceDiskSizeInMB": 10240, + "memoryInMB": 2048, + "maxDataDiskCount": 2 + }, + { + "name": "Standard_A2_V2", + "numberOfCores": 2, + "osDiskSizeInMB": 1047552, + "resourceDiskSizeInMB": 20480, + "memoryInMB": 4096, + "maxDataDiskCount": 4 + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInAResourceGroup.json new file mode 100644 index 000000000000..67de59c99cb2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInAResourceGroup.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage", + "name": "myImage", + "type": "Microsoft.Compute/images", + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Windows", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" + }, + "osState": "Generalized", + "storageAccountType": "Standard_LRS" + }, + "dataDisks": [ + { + "lun": 1, + "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2" + }, + "storageAccountType": "Standard_LRS" + } + ] + }, + "provisioningState": "created" + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInASubscription.json new file mode 100644 index 000000000000..24e22bc92341 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInASubscription.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage", + "name": "myImage", + "type": "Microsoft.Compute/images", + "location": "West US", + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Windows", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" + }, + "osState": "Generalized", + "storageAccountType": "Standard_LRS" + }, + "dataDisks": [ + { + "lun": 1, + "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2" + }, + "storageAccountType": "Standard_LRS" + } + ] + }, + "provisioningState": "created" + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json new file mode 100644 index 000000000000..90f25ed0875f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myProximityPlacementGroup", + "properties": { + "proximityPlacementGroupType": "Standard", + "virtualMachines": [ + { + "id": "string" + } + ], + "virtualMachineScaleSets": [ + { + "id": "string" + } + ], + "availabilitySets": [ + { + "id": "string" + } + ] + }, + "location": "westus", + "type": "Microsoft.Compute/proximityPlacementGroups", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInASubscription.json new file mode 100644 index 000000000000..1a5b5220943d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInASubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-01", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myProximityPlacementGroup", + "properties": { + "proximityPlacementGroupType": "Standard", + "virtualMachines": [ + { + "id": "string" + } + ], + "virtualMachineScaleSets": [ + { + "id": "string" + } + ], + "availabilitySets": [ + { + "id": "string" + } + ] + }, + "location": "westus", + "type": "Microsoft.Compute/proximityPlacementGroups", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json new file mode 100644 index 000000000000..f2120acb750a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "autoUpgradeMinorVersion": true, + "provisioningState": "Succeeded", + "publisher": "extPublisher", + "type": "extType", + "typeHandlerVersion": "1.2", + "settings": { + "UserName": "xyz@microsoft.com" + } + }, + "name": "myVMExtension", + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension" + }, + { + "properties": { + "autoUpgradeMinorVersion": true, + "provisioningState": "Succeeded", + "publisher": "extPublisher1", + "type": "extType1", + "typeHandlerVersion": "1.0", + "settings": { + "UserName": "xyz@microsoft.com" + } + }, + "name": "myVMExtension1", + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension1" + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachinesInASubscriptionByLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachinesInASubscriptionByLocation.json new file mode 100644 index 000000000000..861938ede97e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachinesInASubscriptionByLocation.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "location": "eastus", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "vmId": "{vmId}", + "availabilitySet": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}" + }, + "hardwareProfile": { + "vmSize": "Standard_A0" + }, + "storageProfile": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2012-R2-Datacenter", + "version": "4.127.20170406" + }, + "osDisk": { + "osType": "Windows", + "name": "test", + "createOption": "FromImage", + "vhd": { + "uri": "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd" + }, + "caching": "None", + "diskSizeGB": 127 + }, + "dataDisks": [] + }, + "osProfile": { + "computerName": "Test", + "adminUsername": "Foo12", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + }, + "secrets": [], + "allowExtensionOperations": true + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}" + } + ] + }, + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/virtualMachines", + "location": "eastus", + "tags": { + "RG": "rg", + "testTag": "1" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}", + "name": "{virtualMachineName}" + }, + { + "properties": { + "vmId": "{vmId}", + "availabilitySet": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}" + }, + "hardwareProfile": { + "vmSize": "Standard_A0" + }, + "storageProfile": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2012-R2-Datacenter", + "version": "4.127.20170406" + }, + "osDisk": { + "osType": "Windows", + "name": "test", + "createOption": "FromImage", + "vhd": { + "uri": "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd" + }, + "caching": "None", + "diskSizeGB": 127 + }, + "dataDisks": [] + }, + "osProfile": { + "computerName": "Test", + "adminUsername": "Foo12", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + }, + "secrets": [], + "allowExtensionOperations": true + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}" + } + ] + }, + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/virtualMachines", + "location": "eastus", + "tags": { + "RG": "rg", + "testTag": "1" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}", + "name": "{virtualMachineName}" + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsRequestRateByInterval.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsRequestRateByInterval.json new file mode 100644 index 000000000000..cd03d47f52b4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsRequestRateByInterval.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "westus", + "api-version": "2020-06-01", + "parameters": { + "intervalLength": "FiveMins", + "blobContainerSasUri": "https://somesasuri", + "fromTime": "2018-01-21T01:54:06.862601Z", + "toTime": "2018-01-23T01:54:06.862601Z", + "groupByResourceName": true + } + }, + "responses": { + "200": { + "body": { + "properties": { + "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/RequestRateByInterval_20180121-0154_20180123-0154.csv" + } + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsThrottledRequests.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsThrottledRequests.json new file mode 100644 index 000000000000..b45c9facafdd --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsThrottledRequests.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "westus", + "api-version": "2020-06-01", + "parameters": { + "blobContainerSasUri": "https://somesasuri", + "fromTime": "2018-01-21T01:54:06.862601Z", + "toTime": "2018-01-23T01:54:06.862601Z", + "groupByOperationName": true, + "groupByResourceName": false + } + }, + "responses": { + "200": { + "body": { + "properties": { + "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/ThrottledRequests_20180121-0154_20180123-0154.csv" + } + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/PatchAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/PatchAProximityPlacementGroup.json new file mode 100644 index 000000000000..ae5e9227525c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/PatchAProximityPlacementGroup.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "proximityPlacementGroupName": "myProximityPlacementGroup", + "parameters": { + "tags": { + "additionalProp1": "string" + } + } + }, + "responses": { + "200": { + "body": { + "name": "myProximityPlacementGroup", + "properties": { + "proximityPlacementGroupType": "Standard" + }, + "location": "westus", + "type": "Microsoft.Compute/proximityPlacementGroups", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReapplyVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReapplyVirtualMachine.json new file mode 100644 index 000000000000..7e49a5e58d4a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReapplyVirtualMachine.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "ResourceGroup", + "api-version": "2020-06-01", + "vmName": "VMName" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReimageVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReimageVirtualMachine.json new file mode 100644 index 000000000000..bc4a86a55a5f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReimageVirtualMachine.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "vmName": "myVMName", + "parameters": { + "tempDisk": true + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json new file mode 100644 index 000000000000..32e8ac4913ed --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "ResourceGroup", + "api-version": "2020-06-01", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "sasUriExpirationTimeInMinutes": 60 + }, + "responses": { + "200": { + "body": { + "consoleScreenshotBlobUri": "https://storageuri/myvmScaleSetinstance.screenshot.bmp?{saskey}", + "serialConsoleLogBlobUri": "https://storageuri/myvmScaleSetinstance.serialconsole.log?{saskey}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json new file mode 100644 index 000000000000..14a63f37324a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "ResourceGroup", + "api-version": "2020-06-01", + "vmName": "VMName", + "sasUriExpirationTimeInMinutes": 60 + }, + "responses": { + "200": { + "body": { + "consoleScreenshotBlobUri": "https://storageuri/vm.screenshot.bmp?{sasKey}", + "serialConsoleLogBlobUri": "https://storageuri/vm.serialconsole.log?{sasKey}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVM.json new file mode 100644 index 000000000000..94d491037c16 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVM.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "ResourceGroup", + "api-version": "2020-06-01", + "vmName": "VMName" + }, + "responses": { + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVmssVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVmssVM.json new file mode 100644 index 000000000000..1fbad058e86b --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVmssVM.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "ResourceGroup", + "vmScaleSetName": "VmScaleSetName", + "api-version": "2020-06-01", + "instanceId": "InstanceId" + }, + "responses": { + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateImage.json new file mode 100644 index 000000000000..399bda89d3c0 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateImage.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-01", + "imageName": "myImage", + "parameters": { + "properties": { + "sourceVirtualMachine": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM" + }, + "hyperVGeneration": "V1" + }, + "tags": { + "department": "HR" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage", + "name": "myImage", + "type": "Microsoft.Compute/images", + "location": "West US", + "tags": { + "department": "HR" + }, + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Windows", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" + }, + "osState": "Generalized", + "storageAccountType": "Standard_LRS", + "diskSizeGB": 20 + }, + "dataDisks": [ + { + "lun": 1, + "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2" + }, + "storageAccountType": "Standard_LRS" + } + ], + "zoneResilient": true + }, + "provisioningState": "created" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage", + "name": "myImage", + "type": "Microsoft.Compute/images", + "location": "West US", + "tags": { + "department": "HR" + }, + "properties": { + "storageProfile": { + "osDisk": { + "osType": "Windows", + "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" + }, + "osState": "Generalized", + "storageAccountType": "Standard_LRS", + "diskSizeGB": 20 + }, + "dataDisks": [ + { + "lun": 1, + "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd", + "snapshot": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2" + }, + "managedDisk": { + "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2" + }, + "storageAccountType": "Standard_LRS" + } + ], + "zoneResilient": true + }, + "provisioningState": "created" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json new file mode 100644 index 000000000000..65baf29efcbd --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json @@ -0,0 +1,208 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmName": "myVM", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "caching": "ReadWrite", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "name": "myVMosdisk", + "createOption": "FromImage" + }, + "dataDisks": [ + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 0, + "toBeDetached": true + }, + { + "diskSizeGB": 1023, + "createOption": "Empty", + "lun": 1, + "toBeDetached": false + } + ] + }, + "osProfile": { + "adminUsername": "{your-username}", + "computerName": "myVM", + "adminPassword": "{your-password}" + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}", + "properties": { + "primary": true + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [ + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 0, + "diskSizeGB": 1023, + "toBeDetached": true + }, + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 1, + "diskSizeGB": 1023, + "toBeDetached": false + } + ] + }, + "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0", + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "provisioningState": "Updating" + }, + "name": "myVM", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "osProfile": { + "adminUsername": "{your-username}", + "secrets": [], + "computerName": "myVM", + "windowsConfiguration": { + "provisionVMAgent": true, + "enableAutomaticUpdates": true + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic", + "properties": { + "primary": true + } + } + ] + }, + "storageProfile": { + "imageReference": { + "sku": "2016-Datacenter", + "publisher": "MicrosoftWindowsServer", + "version": "latest", + "offer": "WindowsServer" + }, + "osDisk": { + "osType": "Windows", + "caching": "ReadWrite", + "createOption": "FromImage", + "name": "myVMosdisk", + "managedDisk": { + "storageAccountType": "Standard_LRS" + } + }, + "dataDisks": [ + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 0, + "diskSizeGB": 1023, + "toBeDetached": true + }, + { + "caching": "None", + "managedDisk": { + "storageAccountType": "Standard_LRS" + }, + "createOption": "Empty", + "lun": 1, + "diskSizeGB": 1023, + "toBeDetached": false + } + ] + }, + "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0", + "hardwareProfile": { + "vmSize": "Standard_D2_v2" + }, + "provisioningState": "Updating" + }, + "name": "myVM", + "location": "westus" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json new file mode 100644 index 000000000000..659ea562168a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myvmScaleSet", + "instanceId": "0", + "vmExtensionName": "myVMExtension", + "api-version": "2020-06-01", + "extensionParameters": { + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "extPublisher", + "type": "extType", + "typeHandlerVersion": "1.2", + "settings": { + "UserName": "xyz@microsoft.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myVMExtension", + "location": "westus", + "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension", + "properties": { + "autoUpgradeMinorVersion": true, + "provisioningState": "Creating", + "publisher": "extPublisher", + "type": "extType", + "typeHandlerVersion": "1.2", + "settings": { + "UserName": "xyz@microsoft.com" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetExtensionRollingUpgrade.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetExtensionRollingUpgrade.json new file mode 100644 index 000000000000..73f6686c3ffb --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetExtensionRollingUpgrade.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "{vmss-name}", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetRunCommand.json new file mode 100644 index 000000000000..536c75dd60f4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetRunCommand.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "vmScaleSetName": "myVirtualMachineScaleSet", + "instanceId": "0", + "api-version": "2020-06-01", + "parameters": { + "commandId": "RunPowerShellScript", + "script": [ + "Write-Host Hello World!" + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "code": "ComponentStatus/StdOut/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": "Hello World!" + }, + { + "code": "ComponentStatus/StdErr/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": "" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineAssessPatches.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineAssessPatches.json new file mode 100644 index 000000000000..7c0bd491c975 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineAssessPatches.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "assessmentActivityId": "68f8b292-dfc2-4646-9781-33cc88631968", + "rebootPending": true, + "criticalAndSecurityPatchCount": 1, + "otherPatchCount": 2, + "startDateTime": "2020-04-24T21:02:04.2556154Z", + "patches": [ + { + "patchId": "35428702-5784-4ba4-a6e0-5222258b5411", + "name": "Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.279.1373.0)", + "version": "", + "kbid": "2267602", + "classifications": [ + "Definition Updates" + ], + "rebootBehavior": "NeverReboots", + "activityId": "68f8b292-dfc2-4646-9781-33cc88631968", + "publishedDate": "2018-11-07T00:00:00Z", + "lastModifiedDateTime": "2020-04-24T21:18:45.2830263Z", + "assessmentState": "Available" + }, + { + "patchId": "39f9cdd1-795c-4d0e-8c0a-73ab3f31746d", + "name": "Windows Malicious Software Removal Tool x64 - October 2018 (KB890830)", + "version": "", + "kbid": "890830", + "classifications": [ + "Update Rollups" + ], + "rebootBehavior": "CanRequestReboot", + "activityId": "68f8b292-dfc2-4646-9781-33cc88631968", + "publishedDate": "2018-11-07T00:00:00Z", + "lastModifiedDateTime": "2020-04-24T21:18:45.2830263Z", + "assessmentState": "Available" + } + ], + "error": null + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommand.json new file mode 100644 index 000000000000..e4be08a561be --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommand.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e", + "resourceGroupName": "crptestar98131", + "vmName": "vm3036", + "$top": 1, + "api-version": "2020-06-01", + "monitor": "true", + "parameters": { + "commandId": "RunPowerShellScript" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "code": "ComponentStatus/StdOut/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": "This is a sample script with parameters value1 value2" + }, + { + "code": "ComponentStatus/StdErr/succeeded", + "level": "Info", + "displayStatus": "Provisioning succeeded", + "message": "" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandGet.json new file mode 100644 index 000000000000..c2a33e7a7bfd --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e", + "location": "SoutheastAsia", + "commandId": "RunPowerShellScript", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "script": [ + "param(", + " [string]$arg1,", + " [string]$arg2", + ")", + "Write-Host This is a sample script with parameters $arg1 $arg2" + ], + "parameters": [ + { + "name": "arg1", + "type": "string", + "defaultValue": "value1" + }, + { + "name": "arg2", + "type": "string", + "defaultValue": "value2" + } + ], + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "RunPowerShellScript", + "osType": "Windows", + "label": "Executes a PowerShell script", + "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property." + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandList.json new file mode 100644 index 000000000000..890839b1960d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "SoutheastAsia", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "EnableRemotePS", + "osType": "Windows", + "label": "Enable remote PowerShell", + "description": "Configure the machine to enable remote PowerShell." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "IPConfig", + "osType": "Windows", + "label": "List IP configuration", + "description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "RunPowerShellScript", + "osType": "Windows", + "label": "Executes a PowerShell script", + "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "RunShellScript", + "osType": "Linux", + "label": "Executes a Linux shell script", + "description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "ifconfig", + "osType": "Linux", + "label": "List network configuration", + "description": "Get the configuration of all network interfaces." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "EnableAdminAccount", + "osType": "Windows", + "label": "Enable administrator account", + "description": "Checks if the local Administrator account is disabled, and if so enables it." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "ResetAccountPassword", + "osType": "Windows", + "label": "Reset built-in Administrator account password", + "description": "Reset built-in Administrator account password." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "RDPSettings", + "osType": "Windows", + "label": "Verify RDP Listener Settings", + "description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "SetRDPPort", + "osType": "Windows", + "label": "Set Remote Desktop port", + "description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port." + }, + { + "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json", + "id": "ResetRDPCert", + "osType": "Windows", + "label": "Restore RDP Authentication mode to defaults", + "description": "Removes the SSL certificate tied to the RDP listener and restores the RDP listerner security to default. Use this script if you see any issues with the certificate." + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json new file mode 100644 index 000000000000..9759cd8205e8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json @@ -0,0 +1,472 @@ +{ + "swagger": "2.0", + "info": { + "title": "RunCommandsClient", + "description": "The Run Commands Client.", + "version": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json", + "text/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.Compute/locations/{location}/runCommands": { + "get": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_List", + "x-ms-examples": { + "VirtualMachineRunCommandList": { + "$ref": "./examples/VirtualMachineRunCommandList.json" + } + }, + "description": "Lists all available run commands for a subscription in a location.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which run commands is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunCommandListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}": { + "get": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_Get", + "x-ms-examples": { + "VirtualMachineRunCommandGet": { + "$ref": "./examples/VirtualMachineRunCommandGet.json" + } + }, + "description": "Gets specific run command for a subscription in a location.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which run commands is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "The command id." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunCommandDocument" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_RunCommand", + "x-ms-examples": { + "VirtualMachineRunCommand": { + "$ref": "./examples/VirtualMachineRunCommand.json" + } + }, + "description": "Run command on the VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandInput" + }, + "description": "Parameters supplied to the Run command operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/runCommand": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_RunCommand", + "x-ms-examples": { + "VirtualMachineScaleSetVMs_RunCommand": { + "$ref": "./examples/VMScaleSetRunCommand.json" + } + }, + "description": "Run command on a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandInput" + }, + "description": "Parameters supplied to the Run command operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "RunCommandInputParameter": { + "properties": { + "name": { + "type": "string", + "description": "The run command parameter name." + }, + "value": { + "type": "string", + "description": "The run command parameter value." + } + }, + "required": [ + "name", + "value" + ], + "description": "Describes the properties of a run command parameter." + }, + "RunCommandInput": { + "properties": { + "commandId": { + "type": "string", + "description": "The run command id." + }, + "script": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. The script to be executed. When this value is given, the given script will override the default script of the command." + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandInputParameter" + }, + "description": "The run command parameters." + } + }, + "required": [ + "commandId" + ], + "description": "Capture Virtual Machine parameters." + }, + "RunCommandParameterDefinition": { + "properties": { + "name": { + "type": "string", + "description": "The run command parameter name." + }, + "type": { + "type": "string", + "description": "The run command parameter type." + }, + "defaultValue": { + "type": "string", + "description": "The run command parameter default value." + }, + "required": { + "type": "boolean", + "description": "The run command parameter required.", + "default": false + } + }, + "required": [ + "name", + "type" + ], + "description": "Describes the properties of a run command parameter." + }, + "RunCommandDocumentBase": { + "properties": { + "$schema": { + "type": "string", + "description": "The VM run command schema." + }, + "id": { + "type": "string", + "description": "The VM run command id." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "label": { + "type": "string", + "description": "The VM run command label." + }, + "description": { + "type": "string", + "description": "The VM run command description." + } + }, + "required": [ + "$schema", + "id", + "osType", + "label", + "description" + ], + "description": "Describes the properties of a Run Command metadata." + }, + "RunCommandDocument": { + "allOf": [ + { + "$ref": "#/definitions/RunCommandDocumentBase" + } + ], + "properties": { + "script": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The script to be executed." + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandParameterDefinition" + }, + "description": "The parameters used by the script." + } + }, + "required": [ + "script" + ], + "description": "Describes the properties of a Run Command." + }, + "RunCommandListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandDocumentBase" + }, + "description": "The list of virtual machine run commands." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of run commands. Call ListNext() with this to fetch the next page of run commands." + } + }, + "required": [ + "value" + ], + "description": "The List Virtual Machine operation response." + }, + "InstanceViewStatus": { + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "type": "string", + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": false + } + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + }, + "RunCommandResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "Run command operation response." + } + } + } + }, + "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." + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json new file mode 100644 index 000000000000..6c6f3836fb19 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json @@ -0,0 +1,2754 @@ +{ + "swagger": "2.0", + "info": { + "title": "DiskResourceProviderClient", + "description": "The Disk Resource Provider Client.", + "version": "2020-06-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.Compute/disks/{diskName}": { + "put": { + "tags": [ + "Disks" + ], + "operationId": "Disks_CreateOrUpdate", + "description": "Creates or updates a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "disk", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Disk" + }, + "description": "Disk object supplied in the body of the Put disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-examples": { + "Create an empty managed disk.": { + "$ref": "./examples/CreateAnEmptyManagedDisk.json" + }, + "Create a managed disk from a platform image.": { + "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json" + }, + "Create a managed disk from an existing managed disk in the same or different subscription.": { + "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json" + }, + "Create a managed disk by importing an unmanaged blob from the same subscription.": { + "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json" + }, + "Create a managed disk by importing an unmanaged blob from a different subscription.": { + "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json" + }, + "Create a managed disk by copying a snapshot.": { + "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json" + }, + "Create a managed upload disk.": { + "$ref": "./examples/CreateAManagedUploadDisk.json" + }, + "Create a managed disk and associate with disk access resource.": { + "$ref": "./examples/CreateAManagedDiskWithDiskAccess.json" + }, + "Create a managed disk and associate with disk encryption set.": { + "$ref": "./examples/CreateAManagedDiskWithDiskEncryptionSet.json" + }, + "Create an ultra managed disk with logicalSectorSize 512E": { + "$ref": "./examples/CreateAManagedDiskWithLogicalSectorSize.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Update", + "description": "Updates (patches) a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "disk", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskUpdate" + }, + "description": "Disk object supplied in the body of the Patch disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update managed disk to remove disk access resource association.": { + "$ref": "./examples/UpdateAManagedDiskToRemoveDiskAccess.json" + } + } + }, + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Get", + "description": "Gets information about a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-examples": { + "Get information about a managed disk.": { + "$ref": "./examples/GetInformationAboutAManagedDisk.json" + } + } + }, + "delete": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Delete", + "description": "Deletes a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk is deleted, this is an expected error code." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks": { + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_ListByResourceGroup", + "description": "Lists all the disks under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskList" + } + } + }, + "x-ms-examples": { + "List all managed disks in a resource group.": { + "$ref": "./examples/ListManagedDisksInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks": { + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_List", + "description": "Lists all the disks under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskList" + } + } + }, + "x-ms-examples": { + "List all managed disks in a subscription.": { + "$ref": "./examples/ListManagedDisksInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess": { + "post": { + "tags": [ + "Disks" + ], + "operationId": "Disks_GrantAccess", + "description": "Grants access to a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "grantAccessData", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GrantAccessData" + }, + "description": "Access data object supplied in the body of the get disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessUri" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": { + "post": { + "tags": [ + "Disks" + ], + "operationId": "Disks_RevokeAccess", + "description": "Revokes access to a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": { + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "description": "Creates or updates a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "snapshot", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "Snapshot object supplied in the body of the Put disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-examples": { + "Create a snapshot from an existing snapshot in the same or a different subscription.": { + "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json" + }, + "Create a snapshot by importing an unmanaged blob from the same subscription.": { + "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json" + }, + "Create a snapshot by importing an unmanaged blob from a different subscription.": { + "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "description": "Updates (patches) a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "snapshot", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SnapshotUpdate" + }, + "description": "Snapshot object supplied in the body of the Patch snapshot operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "description": "Gets information about a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-examples": { + "Get information about a snapshot.": { + "$ref": "./examples/GetInformationAboutASnapshot.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "description": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the snapshot is deleted, this is an expected error code." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "description": "Lists snapshots under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotList" + } + } + }, + "x-ms-examples": { + "List all snapshots in a resource group.": { + "$ref": "./examples/ListSnapshotsInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "description": "Lists snapshots under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotList" + } + } + }, + "x-ms-examples": { + "List all snapshots in a subscription.": { + "$ref": "./examples/ListSnapshotsInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess": { + "post": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_GrantAccess", + "description": "Grants access to a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "grantAccessData", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GrantAccessData" + }, + "description": "Access data object supplied in the body of the get snapshot access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessUri" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": { + "post": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_RevokeAccess", + "description": "Revokes access to a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}": { + "put": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_CreateOrUpdate", + "description": "Creates or updates a disk encryption set", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskEncryptionSet", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + }, + "description": "disk encryption set object supplied in the body of the Put disk encryption set operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a disk encryption set.": { + "$ref": "./examples/CreateADiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Update", + "description": "Updates (patches) a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskEncryptionSet", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskEncryptionSetUpdate" + }, + "description": "disk encryption set object supplied in the body of the Patch disk encryption set operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update a disk encryption set.": { + "$ref": "./examples/UpdateADiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Get", + "description": "Gets information about a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a disk encryption set.": { + "$ref": "./examples/GetInformationAboutADiskEncryptionSet.json" + } + } + }, + "delete": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Delete", + "description": "Deletes a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk encryption set is already deleted, this is an expected error code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a disk encryption set.": { + "$ref": "./examples/DeleteADiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_ListByResourceGroup", + "description": "Lists all the disk encryption sets under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSetList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk encryption sets in a resource group.": { + "$ref": "./examples/ListDiskEncryptionSetsInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_List", + "description": "Lists all the disk encryption sets under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSetList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk encryption sets in a subscription.": { + "$ref": "./examples/ListDiskEncryptionSetsInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_ListAssociatedResources", + "description": "Lists all resources that are encrypted with this disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceUriList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all resources that are encrypted with this disk encryption set.": { + "$ref": "./examples/ListDiskEncryptionSetAssociatedResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}": { + "put": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_CreateOrUpdate", + "description": "Creates or updates a disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskAccess", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskAccess" + }, + "description": "disk access object supplied in the body of the Put disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a disk access resource.": { + "$ref": "./examples/CreateADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Update", + "description": "Updates (patches) a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskAccess", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskAccessUpdate" + }, + "description": "disk access object supplied in the body of the Patch disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update a disk access resource.": { + "$ref": "./examples/UpdateADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Get", + "description": "Gets information about a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a disk access resource.": { + "$ref": "./examples/GetInformationAboutADiskAccess.json" + }, + "Get information about a disk access resource with private endpoints.": { + "$ref": "./examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json" + } + } + }, + "delete": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Delete", + "description": "Deletes a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk access resource is already deleted, this is an expected error code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a disk access resource.": { + "$ref": "./examples/DeleteADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_ListByResourceGroup", + "description": "Lists all the disk access resources under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccessList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk access resources in a resource group.": { + "$ref": "./examples/ListDiskAccessesInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_List", + "description": "Lists all the disk access resources under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccessList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk access resources in a subscription.": { + "$ref": "./examples/ListDiskAccessesInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateLinkResources": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_GetPrivateLinkResources", + "description": "Gets the private link resources possible under disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "List all possible private link resources under disk access resource.": { + "$ref": "./examples/GetDiskAccessPrivateLinkResources.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "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" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "Disk": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + }, + "managedByExtended": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs." + }, + "sku": { + "$ref": "#/definitions/DiskSku" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Logical zone list for Disk." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Disk resource." + }, + "DiskUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "sku": { + "$ref": "#/definitions/DiskSku" + } + }, + "description": "Disk update resource." + }, + "DiskList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + }, + "description": "A list of disks." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks." + } + }, + "required": [ + "value" + ], + "description": "The List Disks operation response." + }, + "DiskSku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ], + "x-ms-enum": { + "name": "DiskStorageAccountTypes", + "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." + }, + { + "value": "UltraSSD_LRS", + "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads." + } + ] + }, + "description": "The sku name." + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "The sku tier." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "SnapshotSku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ], + "x-ms-enum": { + "name": "SnapshotStorageAccountTypes", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage" + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage" + }, + { + "value": "Standard_ZRS", + "description": "Standard zone redundant storage" + } + ] + }, + "description": "The sku name." + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "The sku tier." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "DiskProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the disk was created." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." + }, + "uniqueId": { + "type": "string", + "readOnly": true, + "description": "Unique Guid identifying the resource." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk provisioning state." + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int64", + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskIOPSReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskState": { + "$ref": "#/definitions/DiskState", + "description": "The state of the disk." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "maxShares": { + "type": "integer", + "format": "int32", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "shareInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareInfoElement" + }, + "description": "Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "SnapshotProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the snapshot was created." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." + }, + "diskState": { + "$ref": "#/definitions/DiskState", + "description": "The state of the snapshot." + }, + "uniqueId": { + "type": "string", + "readOnly": true, + "description": "Unique Guid identifying the resource." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk provisioning state." + }, + "incremental": { + "type": "boolean", + "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "ShareInfoElement": { + "properties": { + "vmUri": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + } + } + }, + "EncryptionSetProperties": { + "properties": { + "encryptionType": { + "$ref": "#/definitions/DiskEncryptionSetType" + }, + "activeKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference", + "description": "The key vault key which is currently used by this disk encryption set." + }, + "previousKeys": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/KeyVaultAndKeyReference" + }, + "description": "A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk encryption set provisioning state." + } + } + }, + "EncryptionSettingsCollection": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + }, + "description": "A collection of encryption settings, one for each disk volume." + }, + "encryptionSettingsVersion": { + "type": "string", + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption." + } + }, + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" + }, + "EncryptionSettingsElement": { + "properties": { + "diskEncryptionKey": { + "$ref": "#/definitions/KeyVaultAndSecretReference", + "description": "Key Vault Secret Url and vault id of the disk encryption key" + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference", + "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key." + } + }, + "description": "Encryption settings for one disk volume." + }, + "KeyVaultAndSecretReference": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret" + }, + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "KeyVaultAndKeyReference": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret" + }, + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "SourceVault": { + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + }, + "EncryptionType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ], + "x-ms-enum": { + "name": "EncryptionType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithPlatformKey", + "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets." + }, + { + "value": "EncryptionAtRestWithCustomerKey", + "description": "Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer." + }, + { + "value": "EncryptionAtRestWithPlatformAndCustomerKeys", + "description": "Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed." + } + ] + } + }, + "DiskEncryptionSetType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ], + "x-ms-enum": { + "name": "DiskEncryptionSetType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithCustomerKey", + "description": "Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can be changed and revoked by a customer." + }, + { + "value": "EncryptionAtRestWithPlatformAndCustomerKeys", + "description": "Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption. One of the keys is Customer managed and the other key is Platform managed." + } + ] + } + }, + "Encryption": { + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "type": { + "$ref": "#/definitions/EncryptionType" + } + }, + "description": "Encryption at rest settings for disk or snapshot" + }, + "NetworkAccessPolicy": { + "type": "string", + "description": "Policy for accessing the disk via network.", + "enum": [ + "AllowAll", + "AllowPrivate", + "DenyAll" + ], + "x-ms-enum": { + "name": "NetworkAccessPolicy", + "modelAsString": true, + "values": [ + { + "value": "AllowAll", + "description": "The disk can be exported or uploaded to from any network." + }, + { + "value": "AllowPrivate", + "description": "The disk can be exported or uploaded to using a DiskAccess resource's private endpoints." + }, + { + "value": "DenyAll", + "description": "The disk cannot be exported." + } + ] + } + }, + "DiskUpdateProperties": { + "properties": { + "osType": { + "type": "string", + "description": "the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int64", + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskIOPSReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "maxShares": { + "type": "integer", + "format": "int32", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + } + }, + "description": "Disk resource update properties." + }, + "SnapshotUpdateProperties": { + "properties": { + "osType": { + "type": "string", + "description": "the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + } + }, + "description": "Snapshot resource update properties." + }, + "DiskEncryptionSetUpdateProperties": { + "properties": { + "encryptionType": { + "$ref": "#/definitions/DiskEncryptionSetType" + }, + "activeKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference" + } + }, + "description": "disk encryption set resource update properties." + }, + "DiskState": { + "type": "string", + "description": "This enumerates the possible state of the disk.", + "readOnly": true, + "enum": [ + "Unattached", + "Attached", + "Reserved", + "ActiveSAS", + "ReadyToUpload", + "ActiveUpload" + ], + "x-ms-enum": { + "name": "DiskState", + "modelAsString": true, + "values": [ + { + "value": "Unattached", + "description": "The disk is not being used and can be attached to a VM." + }, + { + "value": "Attached", + "description": "The disk is currently mounted to a running VM." + }, + { + "value": "Reserved", + "description": "The disk is mounted to a stopped-deallocated VM" + }, + { + "value": "ActiveSAS", + "description": "The disk currently has an Active SAS Uri associated with it." + }, + { + "value": "ReadyToUpload", + "description": "A disk is ready to be created by upload by requesting a write token." + }, + { + "value": "ActiveUpload", + "description": "A disk is created for upload and a write token has been issued for uploading to it." + } + ] + } + }, + "CreationData": { + "properties": { + "createOption": { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload" + ], + "x-ms-enum": { + "name": "DiskCreateOption", + "modelAsString": true, + "values": [ + { + "value": "Empty", + "description": "Create an empty data disk of a size given by diskSizeGB." + }, + { + "value": "Attach", + "description": "Disk will be attached to a VM." + }, + { + "value": "FromImage", + "description": "Create a new disk from a platform image specified by the given imageReference or galleryImageReference." + }, + { + "value": "Import", + "description": "Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId." + }, + { + "value": "Copy", + "description": "Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId." + }, + { + "value": "Restore", + "description": "Create a new disk by copying from a backup recovery point." + }, + { + "value": "Upload", + "description": "Create a new disk by obtaining a write token and using it to directly upload the contents of the disk." + } + ] + }, + "description": "This enumerates the possible sources of a disk's creation." + }, + "storageAccountId": { + "type": "string", + "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk." + }, + "imageReference": { + "$ref": "#/definitions/ImageDiskReference", + "description": "Disk source information." + }, + "galleryImageReference": { + "$ref": "#/definitions/ImageDiskReference", + "description": "Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUniqueId": { + "readOnly": true, + "type": "string", + "description": "If this field is set, this is the unique id identifying the source of this resource." + }, + "uploadSizeBytes": { + "type": "integer", + "format": "int64", + "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)." + }, + "logicalSectorSize": { + "type": "integer", + "format": "int32", + "description": "Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default." + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "ImageDiskReference": { + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "type": "integer", + "format": "int32", + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "GrantAccessData": { + "properties": { + "access": { + "type": "string", + "enum": [ + "None", + "Read", + "Write" + ], + "x-ms-enum": { + "name": "AccessLevel", + "modelAsString": true + } + }, + "durationInSeconds": { + "type": "integer", + "format": "int32", + "description": "Time duration in seconds until the SAS access expires." + } + }, + "required": [ + "access", + "durationInSeconds" + ], + "description": "Data used for requesting a SAS." + }, + "AccessUri": { + "properties": { + "accessSAS": { + "readOnly": true, + "type": "string", + "description": "A SAS uri for accessing a disk." + } + }, + "description": "A disk access SAS uri." + }, + "Snapshot": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "Unused. Always Null." + }, + "sku": { + "$ref": "#/definitions/SnapshotSku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SnapshotProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Snapshot resource." + }, + "SnapshotUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SnapshotUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "sku": { + "$ref": "#/definitions/SnapshotSku" + } + }, + "description": "Snapshot update resource." + }, + "SnapshotList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "A list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots." + } + }, + "required": [ + "value" + ], + "description": "The List Snapshots operation response." + }, + "EncryptionSetIdentity": { + "properties": { + "type": { + "type": "string", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "DiskEncryptionSetIdentityType", + "modelAsString": true + }, + "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported." + }, + "principalId": { + "readOnly": true, + "type": "string", + "description": "The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity" + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity" + } + }, + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." + }, + "DiskEncryptionSet": { + "properties": { + "identity": { + "$ref": "#/definitions/EncryptionSetIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EncryptionSetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "disk encryption set resource." + }, + "DiskEncryptionSetUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskEncryptionSetUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "disk encryption set update resource." + }, + "DiskEncryptionSetList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskEncryptionSet" + }, + "description": "A list of disk encryption sets." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disk encryption sets. Call ListNext() with this to fetch the next page of disk encryption sets." + } + }, + "required": [ + "value" + ], + "description": "The List disk encryption set operation response." + }, + "ResourceUriList": { + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of IDs or Owner IDs of resources which are encrypted with the disk encryption set." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of encrypted resources. Call ListNext() with this to fetch the next page of encrypted resources." + } + }, + "required": [ + "value" + ], + "description": "The List resources which are encrypted with the disk encryption set." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "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." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between DiskAccess and Virtual Network." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection type" + } + }, + "description": "The Private Endpoint Connection resource." + }, + "DiskAccessProperties": { + "properties": { + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk access resource provisioning state." + }, + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the disk access was created." + } + } + }, + "DiskAccess": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskAccessProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "disk access resource." + }, + "DiskAccessList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskAccess" + }, + "description": "A list of disk access resources." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disk access resources. Call ListNext() with this to fetch the next page of disk access resources." + } + }, + "required": [ + "value" + ], + "description": "The List disk access operation response." + }, + "DiskAccessUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Used for updating a disk access resource." + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "id": { + "readOnly": true, + "type": "string", + "description": "private link resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "private link resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "private link resource type" + } + }, + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." + }, + "ApiError": { + "properties": { + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiErrorBase" + }, + "description": "The Api error details" + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "The Api inner error" + }, + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error." + }, + "ApiErrorBase": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error base." + }, + "InnerError": { + "properties": { + "exceptiontype": { + "type": "string", + "description": "The exception type." + }, + "errordetail": { + "type": "string", + "description": "The internal error message or exception dump." + } + }, + "description": "Inner error details." + } + }, + "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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "DiskNameParameter": { + "name": "diskName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "SnapshotNameParameter": { + "name": "snapshotName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "DiskEncryptionSetNameParameter": { + "name": "diskEncryptionSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "DiskAccessNameParameter": { + "name": "diskAccessName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json new file mode 100644 index 000000000000..e0eb2d326d00 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess", + "diskAccess": { + "location": "West US" + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskAccess", + "location": "West US", + "type": "Microsoft.Compute/diskAccesses" + } + }, + "200": { + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json new file mode 100644 index 000000000000..fbd1a70c3541 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskEncryptionSetName": "myDiskEncryptionSet", + "diskEncryptionSet": { + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey" + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + }, + "200": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json new file mode 100644 index 000000000000..f7e4e41bdd8c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..589a24e6fc0d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..a3776d835c85 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json new file mode 100644 index 000000000000..7a05366bc472 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json new file mode 100644 index 000000000000..68922f429d08 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk2", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk2" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk2" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json new file mode 100644 index 000000000000..95857a36f193 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "networkAccessPolicy": "AllowPrivate", + "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}" + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Succeeded", + "networkAccessPolicy": "AllowPrivate", + "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json new file mode 100644 index 000000000000..934ee8105dae --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "encryption": { + "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Succeeded", + "encryption": { + "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json new file mode 100644 index 000000000000..ef1e7cffc76d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "sku": { + "name": "UltraSSD_LRS" + }, + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200 + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "sku": { + "name": "UltraSSD_LRS", + "tier": "Ultra" + } + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "sku": { + "name": "UltraSSD_LRS", + "tier": "Ultra" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json new file mode 100644 index 000000000000..1f5a6c842eed --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..4938448c4452 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "snapshotName": "mySnapshot1", + "snapshot": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "mySnapshot1" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "mySnapshot1" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..5a74852eb5e5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "snapshotName": "mySnapshot1", + "snapshot": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "mySnapshot1" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "mySnapshot1" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json new file mode 100644 index 000000000000..dad908891df8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "snapshotName": "mySnapshot2", + "snapshot": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "mySnapshot2", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + }, + "200": { + "body": { + "name": "mySnapshot2", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json new file mode 100644 index 000000000000..07b205ae4e1a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200 + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json new file mode 100644 index 000000000000..8b2a0672cdda --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskAccessName": "myDiskAccess", + "api-version": "2020-06-30" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json new file mode 100644 index 000000000000..7110b2621858 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskEncryptionSetName": "myDiskEncryptionSet", + "api-version": "2020-06-30" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json new file mode 100644 index 000000000000..81224cffb7dc --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateLinkResources/disks", + "name": "disks", + "type": "Microsoft.Compute/diskAccesses/privateLinkResources", + "properties": { + "groupId": "disks", + "requiredMembers": [ + "diskAccess_1" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json new file mode 100644 index 000000000000..241f0a434455 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json new file mode 100644 index 000000000000..675516844252 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json new file mode 100644 index 000000000000..096dbf8c6f25 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskEncryptionSetName": "myDiskEncryptionSet" + }, + "responses": { + "200": { + "body": { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json new file mode 100644 index 000000000000..7b81ebdf8901 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myManagedDisk" + }, + "responses": { + "200": { + "body": { + "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec", + "sku": { + "name": "Standard_LRS" + }, + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.079872+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json new file mode 100644 index 000000000000..be9a074a1295 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "snapshotName": "mySnapshot" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 100, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.079872+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/snapshots", + "location": "westus", + "tags": { + "department": "Development", + "project": "Snapshots" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot", + "name": "mySnapshot" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json new file mode 100644 index 000000000000..6b4fd51a4884 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + }, + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2", + "name": "myDiskAccess2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json new file mode 100644 index 000000000000..61e8dc0b8396 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + }, + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2", + "name": "myDiskAccess2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json new file mode 100644 index 000000000000..a6ce0eb683d7 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskEncryptionSetName": "myDiskEncryptionSet" + }, + "responses": { + "200": { + "body": { + "value": [ + "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json new file mode 100644 index 000000000000..6dfbba43554d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + }, + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2", + "name": "myDiskEncryptionSet2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json new file mode 100644 index 000000000000..00713b44d520 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + }, + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2", + "name": "myDiskEncryptionSet2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json new file mode 100644 index 000000000000..f74e45c654c0 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.9278721+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk1" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:36.872242+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk2" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:36.3973934+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk3" + } + ], + "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json new file mode 100644 index 000000000000..459fe55fd6d9 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.9278721+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1", + "name": "myManagedDisk1" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:36.872242+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2", + "name": "myManagedDisk2" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:36.3973934+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3", + "name": "myManagedDisk3" + } + ], + "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json new file mode 100644 index 000000000000..0874439e3ab8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:41:35.9278721+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/snapshots", + "location": "westus", + "tags": { + "department": "Development", + "project": "Snapshots" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot", + "name": "mySnapshot" + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json new file mode 100644 index 000000000000..d7c9b1c683bc --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:47:30.6630569+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/snapshots", + "location": "westus", + "tags": { + "department": "Development", + "project": "Snapshots" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1", + "name": "mySnapshot1" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "diskSizeGB": 200, + "encryptionSettingsCollection": { + "enabled": true, + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] + }, + "encryption": { + "type": "EncryptionAtRestWithPlatformKey" + }, + "timeCreated": "2016-12-28T04:47:30.3247198+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/snapshots", + "location": "westus", + "tags": { + "department": "Development", + "project": "Snapshots" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2", + "name": "mySnapshot2" + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json new file mode 100644 index 000000000000..c7a4b67d60c4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskAccessName": "myDiskAccess", + "diskAccess": { + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + }, + "200": { + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json new file mode 100644 index 000000000000..e224ff0d64bf --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskEncryptionSetName": "myDiskEncryptionSet", + "diskEncryptionSet": { + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey" + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + }, + "200": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json new file mode 100644 index 000000000000..9a3a372e812d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-30", + "diskName": "myDisk", + "disk": { + "properties": { + "networkAccessPolicy": "AllowAll" + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating", + "networkAccessPolicy": "AllowAll" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Succeeded", + "networkAccessPolicy": "AllowAll" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/readme.azureresourceschema.md b/specification/compute/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..fe54530ede0c --- /dev/null +++ b/specification/compute/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,295 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-containerservice-2017-01-31 + - tag: schema-containerservice-2016-09-30 + - tag: schema-containerservice-2016-03-30 + - tag: schema-containerservice-2015-11-01-preview + - tag: schema-compute-2020-06-30 + - tag: schema-compute-2020-06-01 + - tag: schema-compute-2020-05-01 + - tag: schema-compute-2019-12-01 + - tag: schema-compute-2019-11-01 + - tag: schema-compute-2019-07-01 + - tag: schema-compute-2019-04-01 + - tag: schema-compute-2019-03-01 + - tag: schema-compute-2018-10-01 + - tag: schema-compute-2018-09-30 + - tag: schema-compute-2018-06-01 + - tag: schema-compute-2018-04-01 + - tag: schema-compute-2017-12-01 + - tag: schema-compute-2017-09-01 + - tag: schema-compute-2017-03-30 + - tag: schema-compute-2016-04-30-preview + - tag: schema-compute-2016-03-30 + - tag: schema-compute-2015-06-15 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-containerservice-2017-01-31 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-01-31/containerService.json + +``` + +### Tag: schema-containerservice-2016-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2016-09-30/containerService.json + +``` + +### Tag: schema-containerservice-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2016-03-30/containerService.json + +``` + +### Tag: schema-containerservice-2015-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2015-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json + +``` + +### Tag: schema-compute-2020-06-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2020-06-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2020-06-30/disk.json + +``` + +### Tag: schema-compute-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2020-06-01/compute.json + - Microsoft.Compute/stable/2020-06-01/runCommands.json + +``` + +### Tag: schema-compute-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2020-05-01/disk.json + +``` + +### Tag: schema-compute-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-12-01/gallery.json + - Microsoft.Compute/stable/2019-12-01/compute.json + - Microsoft.Compute/stable/2019-12-01/runCommands.json + +``` + +### Tag: schema-compute-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-11-01/disk.json + +``` + +### Tag: schema-compute-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-07-01/compute.json + - Microsoft.Compute/stable/2019-07-01/runCommands.json + - Microsoft.Compute/stable/2019-07-01/gallery.json + - Microsoft.Compute/stable/2019-07-01/disk.json + +``` + +### Tag: schema-compute-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-04-01/skus.json + +``` + +### Tag: schema-compute-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2019-03-01/compute.json + - Microsoft.Compute/stable/2019-03-01/runCommands.json + - Microsoft.Compute/stable/2019-03-01/disk.json + - Microsoft.Compute/stable/2019-03-01/gallery.json + +``` + +### Tag: schema-compute-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2018-10-01/compute.json + - Microsoft.Compute/stable/2018-10-01/runCommands.json + +``` + +### Tag: schema-compute-2018-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2018-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2018-09-30/disk.json + +``` + +### Tag: schema-compute-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2018-06-01/gallery.json + - Microsoft.Compute/stable/2018-06-01/disk.json + - Microsoft.Compute/stable/2018-06-01/compute.json + - Microsoft.Compute/stable/2018-06-01/runCommands.json + +``` + +### Tag: schema-compute-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2018-04-01/compute.json + - Microsoft.Compute/stable/2018-04-01/runCommands.json + - Microsoft.Compute/stable/2018-04-01/disk.json + +``` + +### Tag: schema-compute-2017-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2017-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2017-12-01/compute.json + - Microsoft.Compute/stable/2017-12-01/runCommands.json + +``` + +### Tag: schema-compute-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2017-09-01/skus.json + +``` + +### Tag: schema-compute-2017-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2017-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2017-03-30/disk.json + - Microsoft.Compute/stable/2017-03-30/compute.json + - Microsoft.Compute/stable/2017-03-30/runCommands.json + +``` + +### Tag: schema-compute-2016-04-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2016-04-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/preview/2016-04-30-preview/compute.json + - Microsoft.Compute/preview/2016-04-30-preview/disk.json + +``` + +### Tag: schema-compute-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2016-03-30/compute.json + +``` + +### Tag: schema-compute-2015-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-compute-2015-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Compute/stable/2015-06-15/compute.json + +``` diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md index 6429e087e0ca..561571b385b6 100644 --- a/specification/compute/resource-manager/readme.go.md +++ b/specification/compute/resource-manager/readme.go.md @@ -31,6 +31,7 @@ directive: ```yaml $(go) && $(multiapi) batch: + - tag: package-2020-06-01 - tag: package-2019-12-01 - tag: package-2019-07 - tag: package-2019-03-01 @@ -49,6 +50,16 @@ batch: - tag: package-container-service-2015-11-preview ``` +### Tag: package-2020-06-01 and go + +These settings apply only when `--tag=package-2020-06-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag)=='package-2020-06-01' && $(go) +namespace: compute +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +``` + ### Tag: package-2019-12-01 and go These settings apply only when `--tag=package-2019-12-01 --go` is specified on the command line. diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md index 46f7bb57354b..9480f7c084d3 100644 --- a/specification/compute/resource-manager/readme.md +++ b/specification/compute/resource-manager/readme.md @@ -34,7 +34,7 @@ These are the global settings for the Compute API. title: ComputeManagementClient description: Compute Client openapi-type: arm -tag: package-2020-05-01 +tag: package-2020-06-30 directive: - where: @@ -61,7 +61,6 @@ directive: - $.definitions.Snapshot.properties suppress: - BodyTopLevelProperties - - where: - $.definitions.VirtualMachineScaleSetExtension suppress: @@ -138,7 +137,6 @@ directive: - $.definitions.DiskEncryptionSetParameters suppress: - RequiredPropertiesMissingInResourceModel - - where: - $.definitions.VirtualMachineScaleSetVM suppress: @@ -171,12 +169,10 @@ directive: - $.definitions.GalleryImageVersion suppress: - TrackedResourcePatchOperation - - where: - $.definitions.VirtualMachineImageResource suppress: - TrackedResourceGetOperation - - where: - $.definitions.AdditionalCapabilities.properties.ultraSSDEnabled suppress: @@ -205,7 +201,6 @@ directive: - $.definitions.VirtualMachineScaleSetDataDisk.properties.diskIOPSReadWrite suppress: - DefinitionsPropertiesNamesCamelCase - - where: - $.definitions.ContainerService suppress: @@ -214,6 +209,77 @@ directive: - ACS service is deprecated so a PATCH endpoint won't be implemented ``` +### Tag: package-2020-06-30 + +These settings apply only when `--tag=package-2020-06-30` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-30' +input-file: +- Microsoft.Compute/stable/2020-06-01/compute.json +- Microsoft.Compute/stable/2020-06-01/runCommands.json +- Microsoft.Compute/stable/2019-04-01/skus.json +- Microsoft.Compute/stable/2020-06-30/disk.json +- Microsoft.Compute/stable/2019-12-01/gallery.json +- Microsoft.ContainerService/stable/2017-01-31/containerService.json +``` + +### Tag: package-2020-06-30-only + +These settings apply only when `--tag=package-2020-06-30-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-30-only' +input-file: +- Microsoft.Compute/stable/2020-06-30/disk.json +``` + +### Tag: package-2020-09-30 + +These settings apply only when `--tag=package-2020-09-30` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-30' +input-file: +- Microsoft.Compute/stable/2020-06-01/compute.json +- Microsoft.Compute/stable/2020-06-01/runCommands.json +- Microsoft.Compute/stable/2019-04-01/skus.json +- Microsoft.Compute/stable/2020-05-01/disk.json +- Microsoft.Compute/preview/2020-09-30/gallery.json +- Microsoft.Compute/preview/2020-09-30/sharedGallery.json +- Microsoft.ContainerService/stable/2017-01-31/containerService.json +``` + +### Tag: package-2020-09-30-only + +These settings apply only when `--tag=package-2020-09-30-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-30-only' +input-file: +- Microsoft.Compute/preview/2020-09-30/gallery.json +- Microsoft.Compute/preview/2020-09-30/sharedGallery.json +``` + +### Tag: package-2020-06-01 + +These settings apply only when `--tag=package-2020-06-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-01' +input-file: +- Microsoft.Compute/stable/2020-06-01/compute.json +- Microsoft.Compute/stable/2020-06-01/runCommands.json +- Microsoft.Compute/stable/2019-04-01/skus.json +- Microsoft.Compute/stable/2020-05-01/disk.json +- Microsoft.Compute/stable/2019-12-01/gallery.json +- Microsoft.ContainerService/stable/2017-01-31/containerService.json +``` + +### Tag: package-2020-06-01-only + +These settings apply only when `--tag=package-2020-06-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-01-only' +input-file: +- Microsoft.Compute/stable/2020-06-01/compute.json +- Microsoft.Compute/stable/2020-06-01/runCommands.json +``` ### Tag: package-2020-05-01 @@ -685,6 +751,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python after_scripts: - python ./scripts/multiapi_init_gen.py azure-mgmt-compute + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-js - repo: azure-sdk-for-go @@ -692,6 +759,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_compute'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js compute/resource-manager ``` ## Go @@ -785,6 +855,10 @@ input-file: - Microsoft.Compute/stable/2017-03-30/disk.json ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -797,13 +871,18 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Compute/preview/2020-09-30/sharedGallery.json + - $(this-folder)/Microsoft.Compute/preview/2020-09-30/gallery.json + - $(this-folder)/Microsoft.Compute/stable/2020-06-01/compute.json + - $(this-folder)/Microsoft.Compute/stable/2020-06-01/runCommands.json + - $(this-folder)/Microsoft.Compute/stable/2019-04-01/skus.json + - $(this-folder)/Microsoft.Compute/stable/2020-06-30/disk.json + - $(this-folder)/Microsoft.Compute/stable/2019-12-01/gallery.json + - $(this-folder)/Microsoft.ContainerService/stable/2017-01-31/containerService.json - $(this-folder)/Microsoft.Compute/stable/2020-05-01/disk.json - $(this-folder)/Microsoft.Compute/stable/2019-12-01/compute.json - $(this-folder)/Microsoft.Compute/stable/2019-12-01/runCommands.json - - $(this-folder)/Microsoft.Compute/stable/2019-04-01/skus.json - $(this-folder)/Microsoft.Compute/stable/2019-11-01/disk.json - - $(this-folder)/Microsoft.Compute/stable/2019-12-01/gallery.json - - $(this-folder)/Microsoft.ContainerService/stable/2017-01-31/containerService.json - $(this-folder)/Microsoft.Compute/stable/2019-07-01/compute.json - $(this-folder)/Microsoft.Compute/stable/2019-07-01/runCommands.json - $(this-folder)/Microsoft.Compute/stable/2019-07-01/gallery.json diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md index 07382513e166..53c612d8d114 100644 --- a/specification/compute/resource-manager/readme.python.md +++ b/specification/compute/resource-manager/readme.python.md @@ -10,6 +10,15 @@ python: package-name: azure-mgmt-compute no-namespace-folders: true clear-output-folder: true +``` + +These settings apply only when `--track2` is specified on the command line. + +``` yaml $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-compute +no-namespace-folders: true directive: # dynamically add a DummyOrchestrationServiceName value to the enum @@ -29,21 +38,15 @@ directive: replace(/dummy_orchestration_service_name = "DummyOrchestrationServiceName"/g,''); ``` -These settings apply only when `--track2` is specified on the command line. - -``` yaml $(track2) -azure-arm: true -license-header: MICROSOFT_MIT_NO_VERSION -package-name: azure-mgmt-compute -no-namespace-folders: true -``` - ### Python multi-api Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-2020-06-30-only + - tag: package-2020-06-01-only + - tag: package-2020-05-01-only - tag: package-2019-12-01-only - tag: package-2019-11-01-only - tag: package-2019-07-01-only @@ -64,6 +67,9 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2020-06-30-only + - tag: package-2020-06-01-only + - tag: package-2020-05-01-only - tag: package-2019-12-01-only - tag: package-2019-11-01-only - tag: package-2019-07-01-only @@ -88,6 +94,45 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2020-06-30-only and python + +These settings apply only when `--tag=package-2020-06-30-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-06-30-only' +namespace: azure.mgmt.compute.v2020_06_30 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30 +python: + namespace: azure.mgmt.compute.v2020_06_30 + output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30 +``` + +### Tag: package-2020-06-01-only and python + +These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-06-01-only' +namespace: azure.mgmt.compute.v2020_06_01 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01 +python: + namespace: azure.mgmt.compute.v2020_06_01 + output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01 +``` + +### Tag: package-2020-05-01-only and python + +These settings apply only when `--tag=package-2020-05-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-05-01-only' +namespace: azure.mgmt.compute.v2020_05_01 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_05_01 +python: + namespace: azure.mgmt.compute.v2020_05_01 + output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_05_01 +``` + ### Tag: package-2019-12-01-only and python These settings apply only when `--tag=package-2019-12-01-only --python` is specified on the command line. diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json index cd3415b062d5..071d5f14e011 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json @@ -1030,6 +1030,9 @@ "ReservationRecommendationsBySubscription-Legacy": { "$ref": "./examples/ReservationRecommendationsBySubscription.json" }, + "ReservationRecommendationsByResourceGroup-Legacy": { + "$ref": "./examples/ReservationRecommendationsByResourceGroup.json" + }, "ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod-Legacy": { "$ref": "./examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json" }, @@ -1070,7 +1073,7 @@ } } }, - "/{scope}/providers/Microsoft.Consumption/reservationRecommendationDetails": { + "/{billingScope}/providers/Microsoft.Consumption/reservationRecommendationDetails": { "get": { "tags": [ "ReservationRecommendationDetails" @@ -1084,6 +1087,9 @@ "ReservationRecommendationsBySubscription-Legacy": { "$ref": "./examples/ReservationRecommendationDetailsBySubscription.json" }, + "ReservationRecommendationsByResourceGroup-Legacy": { + "$ref": "./examples/ReservationRecommendationDetailsByResourceGroup.json" + }, "ReservationRecommendationsByBillingAccount-Legacy": { "$ref": "./examples/ReservationRecommendationDetailsByBillingAccount.json" }, @@ -1097,6 +1103,21 @@ }, { "$ref": "#/parameters/scopeReservationRecommendationDetailsParameter" + }, + { + "$ref": "#/parameters/scopeParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/termParameter" + }, + { + "$ref": "#/parameters/lookBackPeriodParameter" + }, + { + "$ref": "#/parameters/productParameter" } ], "responses": { @@ -1129,8 +1150,8 @@ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" }, "x-ms-examples": { - "ReservationTransaction": { - "$ref": "./examples/ReservationTransactionsListByBillingAccountId.json" + "ReservationTransactionsByEnrollmentNumber": { + "$ref": "./examples/ReservationTransactionsListByEnrollmentNumber.json" } }, "parameters": [ @@ -1167,6 +1188,58 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/reservationTransactions": { + "get": { + "tags": [ + "ReservationTransactions" + ], + "operationId": "ReservationTransactions_ListByBillingProfile", + "description": "List of transactions for reserved instances on billing account scope", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationTransactionsByBillingProfileId": { + "$ref": "./examples/ReservationTransactionsListByBillingProfileId.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "Filter reservation transactions by date range. The properties/EventDate for start date and end date. The filter supports 'le' and 'ge' ", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ModernReservationTransactionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default": { "get": { "tags": [ @@ -3327,8 +3400,156 @@ } } }, - "ReservationTransactionProperties": { - "default": "The properties of the reservation transaction.", + "ModernReservationTransactionProperties": { + "description": "The properties of a modern reservation transaction.", + "properties": { + "amount": { + "description": "The charge of the transaction.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "armSkuName": { + "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.", + "type": "string", + "readOnly": true + }, + "billingFrequency": { + "description": "The billing frequency, which can be either one-time or recurring.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "Billing profile Id.", + "type": "string", + "readOnly": true + }, + "billingProfileName": { + "description": "Billing profile name.", + "type": "string", + "readOnly": true + }, + "currency": { + "description": "The ISO currency in which the transaction is charged, for example, USD.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the transaction.", + "type": "string", + "readOnly": true + }, + "eventDate": { + "description": "The date of the transaction", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "eventType": { + "description": "The type of the transaction (Purchase, Cancel, etc.)", + "type": "string", + "readOnly": true + }, + "invoice": { + "description": "Invoice Number", + "type": "string", + "readOnly": true + }, + "invoiceId": { + "description": "Invoice Id as on the invoice where the specific transaction appears.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "Invoice Section Id", + "type": "string", + "readOnly": true + }, + "invoiceSectionName": { + "description": "Invoice Section Name.", + "type": "string", + "readOnly": true + }, + "purchasingSubscriptionGuid": { + "description": "The subscription guid that makes the transaction.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "purchasingSubscriptionName": { + "description": "The subscription name that makes the transaction.", + "type": "string", + "readOnly": true + }, + "quantity": { + "description": "The quantity of the transaction.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "region": { + "description": "The region of the transaction.", + "type": "string", + "readOnly": true + }, + "reservationOrderId": { + "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.", + "type": "string", + "readOnly": true + }, + "reservationOrderName": { + "description": "The name of the reservation order.", + "type": "string", + "readOnly": true + }, + "term": { + "description": "This is the term of the transaction.", + "type": "string", + "readOnly": true + } + } + }, + "ModernReservationTransaction": { + "description": "Modern Reservation transaction resource.", + "type": "object", + "x-ms-discriminator-value": "Modern", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ModernReservationTransactionProperties", + "title": "Reservation Transaction properties" + } + }, + "required": [ + "properties" + ] + }, + "LegacyReservationTransaction": { + "description": "Legacy Reservation transaction resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReservationTransaction" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LegacyReservationTransactionProperties", + "title": "Reservation Transaction properties" + } + }, + "required": [ + "properties" + ] + }, + "LegacyReservationTransactionProperties": { + "description": "The properties of a legacy reservation transaction.", "properties": { "eventDate": { "description": "The date of the transaction", @@ -3447,16 +3668,16 @@ "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ReservationTransactionProperties", + "$ref": "#/definitions/LegacyReservationTransactionProperties", "title": "Reservation Transaction properties" } } }, "ReservationTransactionsListResult": { - "description": "Result of listing reservation transactions", + "description": "Result of listing reservation recommendations.", "properties": { "value": { - "description": "The list of reservation transactions.", + "description": "The list of reservation recommendations.", "type": "array", "readOnly": true, "items": { @@ -3470,6 +3691,24 @@ } } }, + "ModernReservationTransactionsListResult": { + "description": "Result of listing reservation recommendations.", + "properties": { + "value": { + "description": "The list of reservation recommendations.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ModernReservationTransaction" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, "TagsResult": { "description": "A resource listing all tags.", "type": "object", @@ -3632,13 +3871,13 @@ "description": "The logical \"AND\" expression. Must have at least 2 items.", "type": "array", "items": { - "$ref": "#/definitions/BudgetFilter" + "$ref": "#/definitions/BudgetFilterProperties" }, "minItems": 2 }, "not": { "description": "The logical \"NOT\" expression.", - "$ref": "#/definitions/BudgetFilter" + "$ref": "#/definitions/BudgetFilterProperties" }, "dimensions": { "description": "Has comparison expression for a dimension", @@ -3650,6 +3889,19 @@ } } }, + "BudgetFilterProperties": { + "description": "The Dimensions or Tags to filter a budget by.", + "properties": { + "dimensions": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/BudgetComparisonExpression" + }, + "tags": { + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/BudgetComparisonExpression" + } + } + }, "BudgetComparisonExpression": { "description": "The comparison expression to be used in the budgets.", "properties": { @@ -4726,16 +4978,25 @@ "in": "path", "required": true, "type": "string", - "description": "The scope associated with reservation recommendations operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "description": "The scope associated with reservation recommendations operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, "scopeReservationRecommendationDetailsParameter": { + "name": "billingScope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with reservation recommendation details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeReservationTransactionsParameter": { "name": "scope", "in": "path", "required": true, "type": "string", - "description": "The scope associated with reservation recommendation details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}', /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "description": "The scope associated with reservation transactions operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount/Enrollment scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", "x-ms-parameter-location": "method", "x-ms-skip-url-encoding": true }, @@ -4926,6 +5187,100 @@ "required": false, "type": "string", "x-ms-parameter-location": "method" + }, + "termParameter": { + "description": "Specify length of reservation recommendation term.", + "type": "string", + "in": "query", + "required": true, + "name": "term", + "x-ms-parameter-location": "method", + "enum": [ + "P1Y", + "P3Y" + ], + "x-ms-enum": { + "name": "term", + "modelAsString": true, + "values": [ + { + "value": "P1Y", + "description": "1 year reservation term", + "name": "P1Y" + }, + { + "value": "P3Y", + "description": "3 year reservation term", + "name": "P3Y" + } + ] + } + }, + "regionParameter": { + "name": "region", + "in": "query", + "description": "Used to select the region the recommendation should be generated for.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "lookBackPeriodParameter": { + "name": "lookBackPeriod", + "in": "query", + "description": "Filter the time period on which reservation recommendation results are based.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "enum": [ + "Last7Days", + "Last30Days", + "Last60Days" + ], + "x-ms-enum": { + "name": "lookBackPeriod", + "modelAsString": true, + "values": [ + { + "value": "Last7Days", + "description": "Use 7 days of data for recommendations", + "name": "Last07Days" + }, + { + "value": "Last30Days", + "description": "Use 30 days of data for recommendations", + "name": "Last30Days" + }, + { + "value": "Last60Days", + "description": "Use 60 days of data for recommendations", + "name": "Last60Days" + } + ] + } + }, + "productParameter": { + "name": "product", + "in": "query", + "description": "Filter the products for which reservation recommendation results are generated. Examples: Standard_DS1_v2 (for VM), Premium_SSD_Managed_Disks_P30 (for Managed Disks)", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "scopeParameter": { + "description": "Scope of the reservation.", + "type": "string", + "name": "scope", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "enum": [ + "Single", + "Shared" + ], + "x-ms-enum": { + "name": "scope", + "modelAsString": true + } } } } diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json index 3349a95990bd..64132bae1ed3 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json @@ -1,7 +1,12 @@ { "parameters": { "api-version": "2019-10-01", - "scope": "providers/Microsoft.Billing/billingAccounts/000000" + "billingScope": "providers/Microsoft.Billing/billingAccounts/000000", + "lookBackPeriod": "Last60Days", + "product": "Standard_DS14_v2", + "region": "eastus", + "scope": "Shared", + "term": "P1Y" }, "responses": { "200": { diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json index 235b489b818b..2e26e8ae8e3e 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json @@ -1,7 +1,12 @@ { "parameters": { "api-version": "2019-10-01", - "scope": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000" + "billingScope": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000", + "lookBackPeriod": "Last7Days", + "product": "Standard_B2s", + "region": "australiaeast", + "scope": "Shared", + "term": "P1Y" }, "responses": { "200": { diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json new file mode 100644 index 000000000000..41488fe63828 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingScope": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup", + "lookBackPeriod": "Last30Days", + "product": "Standard_DS13_v2", + "region": "westus", + "scope": "Single", + "term": "P3Y" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup/providers/microsoft.consumption/reservationrecommendationdetails", + "name": "reservationRecommendationDetails", + "type": "Microsoft.Consumption/ReservationRecommendationDetails", + "properties": { + "currency": "USD", + "resource": { + "appliedScopes": [ + "00000000-0000-0000-0000-00000000", + "testGroup" + ], + "onDemandRate": 0.519, + "product": "Standard_DS13_v2", + "region": "westus", + "reservationRate": 0.302549467275493, + "resourceType": "virtualmachines" + }, + "resourceGroup": "testGroup", + "savings": { + "calculatedSavings": [ + { + "onDemandCost": 368.4813602070006, + "overageCost": 0.0, + "quantity": 2, + "reservationCost": 429.01514459665, + "totalReservationCost": 429.01514459665, + "savings": -60.5337843896494 + }, + { + "onDemandCost": 368.481360207000, + "overageCost": 1.557, + "quantity": 1, + "reservationCost": 214.507572298325, + "totalReservationCost": 216.064572298325, + "savings": 152.416787908675 + } + ], + "lookBackPeriod": 30, + "recommendedQuantity": 1.0, + "reservationOrderTerm": "P3Y", + "savingsType": "instance", + "unitOfMeasure": "hour" + }, + "scope": "Single", + "usage": { + "firstConsumptionDate": "2020-02-03T00:00:00", + "lastConsumptionDate": "2020-03-03T13:00:00", + "lookBackUnitType": "virtualMachine quantity", + "usageData": [ + 1.0, + 1.0, + 1.0, + 1.0, + 1.0, + 1.0 + ], + "usageGrain": "hourly" + } + } + } + }, + "204": {} + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json index 81401cfe5622..8edeecfad5e8 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json @@ -1,7 +1,12 @@ { "parameters": { "api-version": "2019-10-01", - "scope": "subscriptions/00000000-0000-0000-0000-00000000" + "billingScope": "subscriptions/00000000-0000-0000-0000-00000000", + "lookBackPeriod": "Last30Days", + "product": "Standard_DS13_v2", + "region": "westus", + "scope": "Single", + "term": "P3Y" }, "responses": { "200": { diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationsByResourceGroup.json new file mode 100644 index 000000000000..e5176552a10c --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationsByResourceGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGrouups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1", + "name": "reservationRecommendations1", + "type": "Microsoft.Consumption/reservationRecommendations", + "sku": "Standard_DS1_v2", + "location": "northeurope", + "kind": "legacy", + "properties": { + "lookBackPeriod": "Last7Days", + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P1Y", + "costWithNoReservedInstances": 0.0, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 0.0, + "netSavings": 4.634521202630137, + "firstUsageDate": "2018-03-06T00:00:00Z", + "scope": "Single" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2", + "name": "reservationRecommendations2", + "type": "Microsoft.Consumption/reservationRecommendations", + "sku": "Standard_DS1_v2", + "location": "northeurope", + "kind": "legacy", + "properties": { + "lookBackPeriod": "Last7Days", + "meterId": "00000000-0000-0000-0000-000000000000", + "term": "P3Y", + "costWithNoReservedInstances": 0.0, + "recommendedQuantity": 1, + "totalCostWithReservedInstances": 0.0, + "netSavings": 7.2893157231780812, + "firstUsageDate": "2018-03-06T00:00:00Z", + "scope": "Single" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D&" + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json deleted file mode 100644 index 7770a224b060..000000000000 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "parameters": { - "api-version": "2019-10-01", - "billingAccountId": "123456", - "$filter": "properties/eventDate ge 2019-09-09 AND properties/eventDate le 2019-09-10" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919", - "name": "201909091919", - "type": "Microsoft.Consumption/reservationTransactions", - "tags": {}, - "properties": { - "eventDate": "2019-09-09T19:19:04Z", - "reservationOrderId": "00000000-0000-0000-0000-000000000000", - "description": "Standard_DS1_v2 westus 1 Year", - "eventType": "Cancel", - "quantity": 1, - "amount": -21.000000000000000, - "currency": "USD", - "reservationOrderName": "Transaction-DS1_v2", - "purchasingEnrollment": "123456", - "armSkuName": "Standard_DS1_v2", - "term": "P1Y", - "region": "westus", - "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111", - "purchasingSubscriptionName": "Infrastructure Subscription", - "accountName": "Microsoft Infrastructure", - "accountOwnerEmail": "admin@microsoft.com", - "departmentName": "Unassigned", - "costCenter": "", - "currentEnrollment": "123456", - "billingFrequency": "recurring" - } - }, - { - "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919", - "name": "201909091919", - "type": "Microsoft.Consumption/reservationTransactions", - "tags": {}, - "properties": { - "eventDate": "2019-09-09T19:19:04Z", - "reservationOrderId": "00000000-0000-0000-0000-000000000000", - "description": "Standard_DS1_v2 westus 1 Year", - "eventType": "Purchase", - "quantity": 1, - "amount": 21.000000000000000, - "currency": "USD", - "reservationOrderName": "Transaction-DS1_v2", - "purchasingEnrollment": "123456", - "armSkuName": "Standard_DS1_v2", - "term": "P1Y", - "region": "westus", - "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111", - "purchasingSubscriptionName": "Infrastructure Subscription", - "accountName": "Microsoft Infrastructure", - "accountOwnerEmail": "admin@microsoft.com", - "departmentName": "Unassigned", - "costCenter": "", - "currentEnrollment": "123456", - "billingFrequency": "recurring" - } - } - ] - } - } - } -} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingProfileId.json new file mode 100644 index 000000000000..76bb8670823f --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingProfileId.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30", + "billingAccountId": "fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30", + "billingProfileId": "Z76D-SGAF-BG7-TGB" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/providers/Microsoft.Consumption/reservationTransactions", + "name": "a838a8c3-a408-49e1-ac90-42cb95bff9b2", + "type": "Microsoft.Consumption/reservationTransactions", + "properties": { + "eventDate": "2020-04-25T21:21:38Z", + "reservationOrderId": "a838a8c3-a408-49e1-ac90-42cb95bff9b2", + "description": "Reserved VM Instance, Standard_B1ls, US East, 3 Years", + "eventType": "Purchase", + "quantity": 1, + "amount": 1.44, + "currency": "USD", + "reservationOrderName": "VM_RI_03-25-2020_14-18", + "armSkuName": "Standard_B1ls", + "billingFrequency": "Recurring", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB", + "billingProfileName": "IT Department*", + "invoice": "T000456437", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/invoices/T000456437", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/invoiceSections/QBTB-EYAK-PJA-TGB", + "invoiceSectionName": "IT Department", + "purchasingSubscriptionGuid": "d924ad15-4a3d-4047-971d-c8b1b300a97b", + "purchasingSubscriptionName": "contoso", + "region": "eastus", + "term": "P3Y" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json new file mode 100644 index 000000000000..9e2cd5457ab2 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30", + "billingAccountId": "123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919", + "name": "201909091919", + "type": "Microsoft.Consumption/reservationTransactions", + "tags": {}, + "properties": { + "eventDate": "2019-09-09T19:19:04Z", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "description": "Standard_DS1_v2 westus 1 Year", + "eventType": "Cancel", + "quantity": 1, + "amount": -21.000000000000000, + "currency": "USD", + "reservationOrderName": "Transaction-DS1_v2", + "purchasingEnrollment": "123456", + "armSkuName": "Standard_DS1_v2", + "term": "P1Y", + "region": "westus", + "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111", + "purchasingSubscriptionName": "Infrastructure Subscription", + "accountName": "Microsoft Infrastructure", + "accountOwnerEmail": "admin@microsoft.com", + "departmentName": "Unassigned", + "costCenter": "", + "currentEnrollment": "123456", + "billingFrequency": "recurring" + } + }, + { + "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919", + "name": "201909091919", + "type": "Microsoft.Consumption/reservationTransactions", + "tags": {}, + "properties": { + "eventDate": "2019-09-09T19:19:04Z", + "reservationOrderId": "00000000-0000-0000-0000-000000000000", + "description": "Standard_DS1_v2 westus 1 Year", + "eventType": "Purchase", + "quantity": 1, + "amount": 21.000000000000000, + "currency": "USD", + "reservationOrderName": "Transaction-DS1_v2", + "purchasingEnrollment": "123456", + "armSkuName": "Standard_DS1_v2", + "term": "P1Y", + "region": "westus", + "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111", + "purchasingSubscriptionName": "Infrastructure Subscription", + "accountName": "Microsoft Infrastructure", + "accountOwnerEmail": "admin@microsoft.com", + "departmentName": "Unassigned", + "costCenter": "", + "currentEnrollment": "123456", + "billingFrequency": "recurring" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/readme.azureresourceschema.md b/specification/consumption/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..cdf86806a081 --- /dev/null +++ b/specification/consumption/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,204 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-consumption-2019-10-01 + - tag: schema-consumption-2019-06-01 + - tag: schema-consumption-2019-05-01-preview + - tag: schema-consumption-2019-05-01 + - tag: schema-consumption-2019-04-01-preview + - tag: schema-consumption-2019-01-01 + - tag: schema-consumption-2018-11-01-preview + - tag: schema-consumption-2018-10-01 + - tag: schema-consumption-2018-08-31 + - tag: schema-consumption-2018-06-30 + - tag: schema-consumption-2018-05-31 + - tag: schema-consumption-2018-03-31 + - tag: schema-consumption-2018-01-31 + - tag: schema-consumption-2017-12-30-preview + - tag: schema-consumption-2017-11-30 + - tag: schema-consumption-2017-04-24-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-consumption-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2019-10-01/consumption.json + +``` + +### Tag: schema-consumption-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2019-06-01/consumption.json + +``` + +### Tag: schema-consumption-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2019-05-01-preview/consumption.json + +``` + +### Tag: schema-consumption-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2019-05-01/consumption.json + +``` + +### Tag: schema-consumption-2019-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2019-04-01-preview/consumption.json + +``` + +### Tag: schema-consumption-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2019-01-01/consumption.json + +``` + +### Tag: schema-consumption-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2018-11-01-preview/consumption.json + +``` + +### Tag: schema-consumption-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-10-01/consumption.json + +``` + +### Tag: schema-consumption-2018-08-31 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-08-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-08-31/consumption.json + +``` + +### Tag: schema-consumption-2018-06-30 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-06-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-06-30/consumption.json + +``` + +### Tag: schema-consumption-2018-05-31 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-05-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-05-31/consumption.json + +``` + +### Tag: schema-consumption-2018-03-31 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-03-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-03-31/consumption.json + +``` + +### Tag: schema-consumption-2018-01-31 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2018-01-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2018-01-31/consumption.json + +``` + +### Tag: schema-consumption-2017-12-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2017-12-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2017-12-30-preview/consumption.json + +``` + +### Tag: schema-consumption-2017-11-30 and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2017-11-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/stable/2017-11-30/consumption.json + +``` + +### Tag: schema-consumption-2017-04-24-preview and azureresourceschema + +``` yaml $(tag) == 'schema-consumption-2017-04-24-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Consumption/preview/2017-04-24-preview/consumption.json + +``` diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md index 645375a2b3dd..b909544080e9 100644 --- a/specification/consumption/resource-manager/readme.md +++ b/specification/consumption/resource-manager/readme.md @@ -219,6 +219,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_consumption'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js consumption/resource-manager ``` ## C# @@ -404,6 +407,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json new file mode 100644 index 000000000000..943e6f8abbde --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json @@ -0,0 +1,2064 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-12-01", + "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" + } + }, + "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" + } + }, + "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": { + "204": { + "description": "NoContent" + }, + "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" + } + ], + "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}/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" + } + } + } + }, + "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", + "required": [ + "image", + "resources" + ], + "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" + } + }, + "environmentVariables": { + "description": "The environment variables to set in the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + "instanceView": { + "description": "The instance view of the container instance. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "restartCount": { + "readOnly": true, + "type": "integer", + "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" + } + } + } + }, + "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" + } + }, + "livenessProbe": { + "description": "The liveness probe.", + "$ref": "#/definitions/ContainerProbe" + }, + "readinessProbe": { + "description": "The readiness probe.", + "$ref": "#/definitions/ContainerProbe" + } + } + }, + "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", + "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", + "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 + } + } + }, + "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" + }, + { + "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" + } + }, + "imageRegistryCredentials": { + "type": "array", + "description": "The image registry credentials by which the container group is created from.", + "items": { + "$ref": "#/definitions/ImageRegistryCredential" + } + }, + "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" + } + }, + "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" + } + }, + "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" + }, + "networkProfile": { + "description": "The network profile information for a container group.", + "$ref": "#/definitions/ContainerGroupNetworkProfile" + }, + "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" + } + } + }, + "required": [ + "containers", + "osType" + ] + } + } + } + ] + }, + "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. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + } + } + } + }, + "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." + } + }, + "required": [ + "server", + "username" + ] + }, + "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" + }, + "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" + } + } + }, + "required": [ + "workspaceId", + "workspaceKey" + ] + }, + "ContainerGroupNetworkProfile": { + "description": "Container group network profile information.", + "type": "object", + "properties": { + "id": { + "description": "The identifier for a network profile.", + "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" + } + }, + "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." + }, + "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." + } + }, + "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" + }, + "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" + } + } + } + }, + "Usage": { + "description": "A single usage result", + "type": "object", + "properties": { + "unit": { + "readOnly": true, + "type": "string", + "description": "Unit of the usage result" + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "description": "The current usage of the resource" + }, + "limit": { + "readOnly": true, + "type": "integer", + "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", + "description": "The row size of the terminal" + }, + "cols": { + "type": "integer", + "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." + } + } + }, + "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." + } + }, + "x-ms-azure-resource": true + }, + "CachedImagesListResult": { + "description": "The response containing cached images.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/cachedImages" + }, + "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" + }, + "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" + ], + "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" + } + }, + "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" + } + }, + "instanceView": { + "description": "The instance view of the init container. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "restartCount": { + "readOnly": true, + "type": "integer", + "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" + } + } + } + }, + "volumeMounts": { + "description": "The volume mounts available to the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + } + } + }, + "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" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container Instance service." + } + }, + "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" + }, + "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/stable/2019-12-01/examples/CachedImagesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CachedImagesList.json new file mode 100644 index 000000000000..8da2922987a8 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CachedImagesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westcentralus", + "api-version": "2019-12-01" + }, + "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/stable/2019-12-01/examples/CapabilitiesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CapabilitiesList.json new file mode 100644 index 000000000000..9eadf0fd7f76 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CapabilitiesList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westus", + "api-version": "2019-12-01" + }, + "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/stable/2019-12-01/examples/ContainerExec.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerExec.json new file mode 100644 index 000000000000..920b96b6c6b2 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerExec.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01", + "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/stable/2019-12-01/examples/ContainerGroupUsage.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupUsage.json new file mode 100644 index 000000000000..b84c41dadcc2 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupUsage.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westcentralus", + "api-version": "2019-12-01" + }, + "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/stable/2019-12-01/examples/ContainerGroupsCreateOrUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsCreateOrUpdate.json new file mode 100644 index 000000000000..6e150b1a4b17 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsCreateOrUpdate.json @@ -0,0 +1,302 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "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" + } + } + }, + "networkProfile": { + "id": "test-network-profile-id" + }, + "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" + }, + "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", + "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", + "workspaceKey": "" + } + }, + "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", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "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", + "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", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "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/stable/2019-12-01/examples/ContainerGroupsDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsDelete.json new file mode 100644 index 000000000000..bd9972477c70 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsDelete.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "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", + "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", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + }, + "202": {}, + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Failed.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Failed.json new file mode 100644 index 000000000000..2e1670cc6b40 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Failed.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2019-12-01" + }, + "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", + "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/stable/2019-12-01/examples/ContainerGroupsGet_Succeeded.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Succeeded.json new file mode 100644 index 000000000000..effa5c9976a3 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Succeeded.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2019-12-01" + }, + "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", + "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", + "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/stable/2019-12-01/examples/ContainerGroupsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsList.json new file mode 100644 index 000000000000..3eba7d23f683 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsList.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "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": "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", + "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/stable/2019-12-01/examples/ContainerGroupsListByResourceGroup.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsListByResourceGroup.json new file mode 100644 index 000000000000..2e3bbcd1580f --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsListByResourceGroup.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "api-version": "2019-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "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", + "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/stable/2019-12-01/examples/ContainerGroupsRestart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsRestart.json new file mode 100644 index 000000000000..d8a9c37fb7d1 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsRestart.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStart.json new file mode 100644 index 000000000000..d8a9c37fb7d1 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStart.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStop.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStop.json new file mode 100644 index 000000000000..d8a9c37fb7d1 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStop.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsUpdate.json new file mode 100644 index 000000000000..f73f9822b981 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsUpdate.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01", + "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", + "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/stable/2019-12-01/examples/ContainerListLogs.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerListLogs.json new file mode 100644 index 000000000000..6b7d92d6e8a2 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerListLogs.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2019-12-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1", + "tail": 10 + }, + "responses": { + "200": { + "body": { + "content": "log content" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/OperationsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/OperationsList.json new file mode 100644 index 000000000000..c97bee1cdd55 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/OperationsList.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2019-12-01" + }, + "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/readme.azureresourceschema.md b/specification/containerinstance/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..60456759fd2a --- /dev/null +++ b/specification/containerinstance/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,120 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-containerinstance-2019-12-01 + - tag: schema-containerinstance-2018-10-01 + - tag: schema-containerinstance-2018-09-01 + - tag: schema-containerinstance-2018-06-01 + - tag: schema-containerinstance-2018-04-01 + - tag: schema-containerinstance-2018-02-01-preview + - tag: schema-containerinstance-2017-12-01-preview + - tag: schema-containerinstance-2017-10-01-preview + - tag: schema-containerinstance-2017-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-containerinstance-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/stable/2018-04-01/containerInstance.json + +``` + +### Tag: schema-containerinstance-2018-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2018-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json + +``` + +### Tag: schema-containerinstance-2017-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2017-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json + +``` + +### Tag: schema-containerinstance-2017-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2017-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json + +``` + +### Tag: schema-containerinstance-2017-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerinstance-2017-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerInstance/preview/2017-08-01-preview/containerInstance.json + +``` diff --git a/specification/containerinstance/resource-manager/readme.csharp.md b/specification/containerinstance/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..c9346d21e519 --- /dev/null +++ b/specification/containerinstance/resource-manager/readme.csharp.md @@ -0,0 +1,14 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.ContainerInstance + payload-flattening-threshold: 1 + output-folder: $(csharp-sdks-folder)/containerinstance/Microsoft.Azure.Management.ContainerInstance/src/Generated + clear-output-folder: true +``` diff --git a/specification/containerinstance/resource-manager/readme.go.md b/specification/containerinstance/resource-manager/readme.go.md index 337b7b5056c8..ee1b342738a1 100644 --- a/specification/containerinstance/resource-manager/readme.go.md +++ b/specification/containerinstance/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2019-12 - tag: package-2018-10 - tag: package-2018-09 - tag: package-2018-06 @@ -22,6 +23,14 @@ batch: - tag: package-2017-10-preview - tag: package-2017-08-preview ``` +### Tag: package-2019-12 and go + +These settings apply only when `--tag=package-2019-12 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-12' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace) +``` ### Tag: package-2018-10 and go diff --git a/specification/containerinstance/resource-manager/readme.java.md b/specification/containerinstance/resource-manager/readme.java.md new file mode 100644 index 000000000000..e8edc02c0f8c --- /dev/null +++ b/specification/containerinstance/resource-manager/readme.java.md @@ -0,0 +1,117 @@ +## Java + +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.containerinstance +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerinstance +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2019-12 + - tag: package-2018-10 + - tag: package-2018-04 + - tag: package-2018-02-preview + - tag: package-2017-12-preview + - tag: package-2017-10-preview + - tag: package-2017-08-preview +``` + +### Tag: package-2019-12 and java + +These settings apply only when `--tag=package-2019-12 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerinstance.v2019_12_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2019_12_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2018-10 and java + +These settings apply only when `--tag=package-2018-10 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2018-10' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerinstance.v2018_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_10_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2018-04 and java + +These settings apply only when `--tag=package-2018-04 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2018-04' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerinstance.v2018_04_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_04_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2018-02-preview and java + +These settings apply only when `--tag=package-2018-02-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2018-02-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerinstance.v2018_02_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_02_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2017-12-preview and java + +These settings apply only when `--tag=package-2017-12-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2017-12-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerinstance.v2017_12_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_12_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2017-10-preview and java + +These settings apply only when `--tag=package-2017-10-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2017-10-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerinstance.v2017_10_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_10_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2017-08-preview and java + +These settings apply only when `--tag=package-2017-08-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2017-08-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerinstance.v2017_08_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_08_01_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md index 9d309a675746..6eca258b4fb5 100644 --- a/specification/containerinstance/resource-manager/readme.md +++ b/specification/containerinstance/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for ContainerInstance. - - --- + ## Getting Started + To build the SDK for ContainerInstance, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,18 +15,28 @@ To build the SDK for ContainerInstance, simply [Install AutoRest](https://aka.ms To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the ContainerInstance API. ``` yaml openapi-type: arm -tag: package-2018-10 +tag: package-2019-12 +``` + + +### Tag: package-2019-12 + +These settings apply only when `--tag=package-2019-12` is specified on the command line. + +```yaml $(tag) == 'package-2019-12' +input-file: + - Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json ``` ### Tag: package-2018-10 @@ -83,7 +93,6 @@ input-file: - Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json ``` - ### Tag: package-2017-10-preview These settings apply only when `--tag=package-2017-10-preview` is specified on the command line. @@ -93,7 +102,6 @@ input-file: - Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json ``` - ### Tag: package-2017-08-preview These settings apply only when `--tag=package-2017-08-preview` is specified on the command line. @@ -113,8 +121,8 @@ directive: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -132,23 +140,14 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_container_instance'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js containerinstance/resource-manager ``` - ## C# -These settings apply only when `--csharp` is specified on the command line. -Please also specify `--csharp-sdks-folder=`. - -``` yaml $(csharp) -csharp: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - namespace: Microsoft.Azure.Management.ContainerInstance - payload-flattening-threshold: 1 - output-folder: $(csharp-sdks-folder)/containerinstance/Microsoft.Azure.Management.ContainerInstance/src/Generated - clear-output-folder: true -``` +See configuration in [readme.csharp.md](./readme.csharp.md) ## Go @@ -156,109 +155,30 @@ See configuration in [readme.go.md](./readme.go.md) ## Java -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.containerinstance -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerinstance -``` - -### Java multi-api - -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2018-10 - - tag: package-2018-04 - - tag: package-2018-02-preview - - tag: package-2017-12-preview - - tag: package-2017-10-preview - - tag: package-2017-08-preview -``` - -### Tag: package-2018-10 and java - -These settings apply only when `--tag=package-2018-10 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2018-10' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.containerinstance.v2018_10_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_10_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2018-04 and java - -These settings apply only when `--tag=package-2018-04 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2018-04' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.containerinstance.v2018_04_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_04_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2018-02-preview and java +See configuration in [readme.java.md](./readme.java.md) -These settings apply only when `--tag=package-2018-02-preview --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. +## Node.js -``` yaml $(tag) == 'package-2018-02-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.containerinstance.v2018_02_01_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_02_01_preview -regenerate-manager: true -generate-interface: true -``` +See configuration in [readme.nodejs.md](./readme.nodejs.md) -### Tag: package-2017-12-preview and java +## Python -These settings apply only when `--tag=package-2017-12-preview --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. +See configuration in [readme.python.md](./readme.python.md) -``` yaml $(tag) == 'package-2017-12-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.containerinstance.v2017_12_01_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_12_01_preview -regenerate-manager: true -generate-interface: true -``` +## Ruby -### Tag: package-2017-10-preview and java +See configuration in [readme.ruby.md](./readme.ruby.md) -These settings apply only when `--tag=package-2017-10-preview --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. +## TypeScript -``` yaml $(tag) == 'package-2017-10-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.containerinstance.v2017_10_01_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_10_01_preview -regenerate-manager: true -generate-interface: true -``` +See configuration in [readme.typescript.md](./readme.typescript.md) -### Tag: package-2017-08-preview and java -These settings apply only when `--tag=package-2017-08-preview --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. +## AzureResourceSchema -``` yaml $(tag) == 'package-2017-08-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.containerinstance.v2017_08_01_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_08_01_preview -regenerate-manager: true -generate-interface: true -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -## Multi-API/Profile support for AutoRest v3 generators +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -270,6 +190,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json - $(this-folder)/Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json - $(this-folder)/Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json - $(this-folder)/Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json @@ -281,11 +202,10 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/containerinstance/resource-manager/readme.ruby.md b/specification/containerinstance/resource-manager/readme.ruby.md index 6b401900041b..add086619a5f 100644 --- a/specification/containerinstance/resource-manager/readme.ruby.md +++ b/specification/containerinstance/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2019-12 - tag: package-2018-10 - tag: package-2018-09 - tag: package-2018-06 @@ -22,6 +23,16 @@ batch: - tag: package-2017-08-preview ``` +### Tag: package-2019-12 and ruby + +These settings apply only when `--tag=package-2019-12 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-12' && $(ruby) +namespace: "Azure::ContainerInstance::Mgmt::V2019_12_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_container_instance/lib +``` + ### Tag: package-2018-09 and ruby These settings apply only when `--tag=package-2018-10 --ruby` is specified on the command line. diff --git a/specification/containerinstance/resource-manager/readme.typescript.md b/specification/containerinstance/resource-manager/readme.typescript.md index 48302990c6c1..918915d508f9 100644 --- a/specification/containerinstance/resource-manager/readme.typescript.md +++ b/specification/containerinstance/resource-manager/readme.typescript.md @@ -7,7 +7,7 @@ Please also specify `--typescript-sdks-folder=`. + +### Tag: schema-containerregistry-2019-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json + +``` + +### Tag: schema-containerregistry-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json + +``` + +### Tag: schema-containerregistry-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json + +``` + +### Tag: schema-containerregistry-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json + +``` + +### Tag: schema-containerregistry-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json + +``` + +### Tag: schema-containerregistry-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json + +``` + +### Tag: schema-containerregistry-2018-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2018-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json + +``` + +### Tag: schema-containerregistry-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json + +``` + +### Tag: schema-containerregistry-2017-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2017-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json + +``` + +### Tag: schema-containerregistry-2017-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2017-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/stable/2017-03-01/containerregistry.json + +``` + +### Tag: schema-containerregistry-2016-06-27-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerregistry-2016-06-27-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json + +``` diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md index dc042e35dca0..ac6dd32aba11 100644 --- a/specification/containerregistry/resource-manager/readme.md +++ b/specification/containerregistry/resource-manager/readme.md @@ -180,6 +180,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_container_registry'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js containerregistry/resource-manager ``` ## C# @@ -209,6 +212,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json index 99afee6bcfd0..39b326850de7 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json @@ -1746,7 +1746,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json index 46c3d28a4b11..fb24414f041a 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json @@ -1639,7 +1639,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json index 2adcf5c68ab2..da7e5b3496df 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json @@ -1741,7 +1741,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json index c16a98053709..d50dcee822ab 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json @@ -1847,7 +1847,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json index b8e3358738bf..585ad556f9e0 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json @@ -1895,7 +1895,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json index 8282d9264ca7..8ebd1e442d6b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json @@ -1938,7 +1938,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json index dea09d26dea6..83a3690c1e3d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json @@ -1938,7 +1938,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json index 4c23040f7b7a..656eceb27f8d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json @@ -1957,7 +1957,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json index 894a1ab3fb3b..f23476495830 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json @@ -1979,7 +1979,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json index 83b5e9e30cbb..e8797a360276 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json @@ -1997,7 +1997,7 @@ }, "enablePodSecurityPolicy": { "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..dc1b74e96ef5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..50002ea64342 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..35a6bb854d56 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..2ede92507048 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..46437321e790 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..753d6f5f7789 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", + "name": "default", + "properties": { + "agentPoolVersions": [ + { + "kubernetesVersion": "1.12.7" + }, + { + "kubernetesVersion": "1.12.8" + }, + { + "default": true, + "kubernetesVersion": "1.13.5", + "isPreview": true + } + ] + }, + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..14039932b31a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", + "name": "default", + "properties": { + "kubernetesVersion": "1.12.8", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.13.5" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..2ef373f515bb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..cad9aed64e89 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Updating", + "orchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..17ad15f53e24 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,237 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..04dd21377676 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,273 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..ccbd290b5d9e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..ed2c55924421 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..873473904cc8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGet.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "availabilityZones": [ + "1", + "2", + "3" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "outboundIPs": { + "publicIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" + } + ] + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..96b7055f4a8c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "name": "clusterUser", + "properties": { + "kubeConfig": "kubeConfig1" + }, + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..5f5b6488729c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "name": "default", + "properties": { + "agentPoolProfiles": [ + { + "kubernetesVersion": "1.7.7", + "name": "agent", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9" + }, + { + "kubernetesVersion": "1.7.11", + "isPreview": true + } + ] + } + ], + "controlPlaneProfile": { + "kubernetesVersion": "1.7.7", + "name": "master", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9", + "isPreview": true + }, + { + "kubernetesVersion": "1.7.11" + } + ] + } + }, + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..b8d2dc023d4f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..86696f7060d9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..a3f86daa7a9f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "credentialValue1" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..6cb827c2c670 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..71f3f957608a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..ed2c55924421 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..569e0392ca7a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "tags": { + "tier": "testing", + "archv3": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv3": "", + "tier": "testing" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..64c8e8d92e9a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..0a18cad228f0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..ce63ece40250 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..3ee7e1bf0c83 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json new file mode 100644 index 000000000000..0a3991450f28 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json @@ -0,0 +1,2958 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "managedClusters" + ], + "operationId": "Operations_List", + "description": "Gets a list of compute operations.", + "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": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Lists managed clusters in the specified subscription and resource group.", + "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetUpgradeProfile", + "summary": "Gets upgrade profile for a managed cluster.", + "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { + "post": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role for managed cluster accessProfile resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterAccessProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "summary": "Gets cluster admin credential of a managed cluster.", + "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterUserCredentials", + "summary": "Gets cluster user credential of a managed cluster.", + "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "summary": "Gets cluster monitoring user credential of a managed cluster.", + "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a managed cluster.", + "description": "Gets the details of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a managed cluster.", + "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "Parameters supplied to the Create or Update a Managed Cluster operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Managed Cluster": { + "$ref": "./examples/ManagedClustersCreate_Update.json" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on a managed cluster.", + "description": "Updates a managed cluster with the specified tags.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update Managed Cluster Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Managed Cluster Tags": { + "$ref": "./examples/ManagedClustersUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a managed cluster.", + "description": "Deletes the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Managed Cluster": { + "$ref": "./examples/ManagedClustersDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_List", + "summary": "Gets a list of agent pools in the specified managed cluster.", + "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/AgentPoolsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Get", + "summary": "Gets the agent pool.", + "description": "Gets the details of the agent pool by managed cluster and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Agent Pool": { + "$ref": "./examples/AgentPoolsGet.json" + } + } + }, + "put": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_CreateOrUpdate", + "summary": "Creates or updates an agent pool.", + "description": "Creates or updates an agent pool in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "description": "Parameters supplied to the Create or Update an agent pool operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes an agent pool.", + "description": "Deletes the agent pool in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Agent Pool": { + "$ref": "./examples/AgentPoolsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetUpgradeProfile", + "summary": "Gets upgrade profile for an agent pool.", + "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Agent Pool": { + "$ref": "./examples/AgentPoolsGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "summary": "Gets a list of supported versions for the specified agent pool.", + "description": "Gets a list of supported versions for the specified agent pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolAvailableVersions" + } + } + }, + "x-ms-examples": { + "Get available versions for agent pool": { + "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "summary": "Reset Service Principal Profile of a managed cluster.", + "description": "Update the service principal Profile for a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reset Service Principal Profile": { + "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetAADProfile", + "summary": "Reset AAD Profile of a managed cluster.", + "description": "Update the AAD Profile for a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterAADProfile" + }, + "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reset AAD Profile": { + "$ref": "./examples/ManagedClustersResetAADProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RotateClusterCertificates", + "summary": "Rotate certificates of a managed cluster.", + "description": "Rotate certificates of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Rotate Cluster Certificates": { + "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the private endpoint connection.", + "description": "Gets the details of the private endpoint connection by managed cluster and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "description": "Updates a private endpoint connection in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to the Update a private endpoint connection operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "description": "Deletes the private endpoint connection in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Compute Operation Value Display." + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Compute Operation Value Display." + }, + "Resource": { + "description": "The Resource model definition.", + "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", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 1023, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "ContainerServiceStorageProfile": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceStorageProfileTypes", + "modelAsString": true + }, + "enum": [ + "StorageAccount", + "ManagedDisks" + ], + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs.", + "enum": [ + "Standard_A1", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2", + "Standard_A2_v2", + "Standard_A2m_v2", + "Standard_A3", + "Standard_A4", + "Standard_A4_v2", + "Standard_A4m_v2", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A8_v2", + "Standard_A8m_v2", + "Standard_A9", + "Standard_B2ms", + "Standard_B2s", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D11", + "Standard_D11_v2", + "Standard_D11_v2_Promo", + "Standard_D12", + "Standard_D12_v2", + "Standard_D12_v2_Promo", + "Standard_D13", + "Standard_D13_v2", + "Standard_D13_v2_Promo", + "Standard_D14", + "Standard_D14_v2", + "Standard_D14_v2_Promo", + "Standard_D15_v2", + "Standard_D16_v3", + "Standard_D16s_v3", + "Standard_D1_v2", + "Standard_D2", + "Standard_D2_v2", + "Standard_D2_v2_Promo", + "Standard_D2_v3", + "Standard_D2s_v3", + "Standard_D3", + "Standard_D32_v3", + "Standard_D32s_v3", + "Standard_D3_v2", + "Standard_D3_v2_Promo", + "Standard_D4", + "Standard_D4_v2", + "Standard_D4_v2_Promo", + "Standard_D4_v3", + "Standard_D4s_v3", + "Standard_D5_v2", + "Standard_D5_v2_Promo", + "Standard_D64_v3", + "Standard_D64s_v3", + "Standard_D8_v3", + "Standard_D8s_v3", + "Standard_DS1", + "Standard_DS11", + "Standard_DS11_v2", + "Standard_DS11_v2_Promo", + "Standard_DS12", + "Standard_DS12_v2", + "Standard_DS12_v2_Promo", + "Standard_DS13", + "Standard_DS13-2_v2", + "Standard_DS13-4_v2", + "Standard_DS13_v2", + "Standard_DS13_v2_Promo", + "Standard_DS14", + "Standard_DS14-4_v2", + "Standard_DS14-8_v2", + "Standard_DS14_v2", + "Standard_DS14_v2_Promo", + "Standard_DS15_v2", + "Standard_DS1_v2", + "Standard_DS2", + "Standard_DS2_v2", + "Standard_DS2_v2_Promo", + "Standard_DS3", + "Standard_DS3_v2", + "Standard_DS3_v2_Promo", + "Standard_DS4", + "Standard_DS4_v2", + "Standard_DS4_v2_Promo", + "Standard_DS5_v2", + "Standard_DS5_v2_Promo", + "Standard_E16_v3", + "Standard_E16s_v3", + "Standard_E2_v3", + "Standard_E2s_v3", + "Standard_E32-16s_v3", + "Standard_E32-8s_v3", + "Standard_E32_v3", + "Standard_E32s_v3", + "Standard_E4_v3", + "Standard_E4s_v3", + "Standard_E64-16s_v3", + "Standard_E64-32s_v3", + "Standard_E64_v3", + "Standard_E64s_v3", + "Standard_E8_v3", + "Standard_E8s_v3", + "Standard_F1", + "Standard_F16", + "Standard_F16s", + "Standard_F16s_v2", + "Standard_F1s", + "Standard_F2", + "Standard_F2s", + "Standard_F2s_v2", + "Standard_F32s_v2", + "Standard_F4", + "Standard_F4s", + "Standard_F4s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_F8", + "Standard_F8s", + "Standard_F8s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS4-4", + "Standard_GS4-8", + "Standard_GS5", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H16", + "Standard_H16m", + "Standard_H16mr", + "Standard_H16r", + "Standard_H8", + "Standard_H8m", + "Standard_L16s", + "Standard_L32s", + "Standard_L4s", + "Standard_L8s", + "Standard_M128-32ms", + "Standard_M128-64ms", + "Standard_M128ms", + "Standard_M128s", + "Standard_M64-16ms", + "Standard_M64-32ms", + "Standard_M64ms", + "Standard_M64s", + "Standard_NC12", + "Standard_NC12s_v2", + "Standard_NC12s_v3", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC24rs_v2", + "Standard_NC24rs_v3", + "Standard_NC24s_v2", + "Standard_NC24s_v3", + "Standard_NC6", + "Standard_NC6s_v2", + "Standard_NC6s_v3", + "Standard_ND12s", + "Standard_ND24rs", + "Standard_ND24s", + "Standard_ND6s", + "Standard_NV12", + "Standard_NV24", + "Standard_NV6" + ] + }, + "ManagedClusterServicePrincipalProfile": { + "properties": { + "clientId": { + "type": "string", + "description": "The ID for the service principal." + }, + "secret": { + "type": "string", + "description": "The secret password associated with the service principal in plain text." + } + }, + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", + "required": [ + "clientId" + ] + }, + "ContainerServiceMasterProfile": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "enum": [ + 1, + 3, + 5 + ], + "x-ms-enum": { + "name": "Count", + "modelAsString": false + }, + "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.", + "default": 1 + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix to be used to create the FQDN for the master pool." + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "firstConsecutiveStaticIP": { + "type": "string", + "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.", + "default": "10.240.255.5" + }, + "storageProfile": { + "$ref": "#/definitions/ContainerServiceStorageProfile", + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + } + }, + "required": [ + "dnsPrefix", + "vmSize" + ], + "description": "Profile for the container service master." + }, + "ManagedClusterAgentPoolProfileProperties": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "Maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType", + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "type": { + "$ref": "#/definitions/AgentPoolType", + "description": "AgentPoolType represents types of an agent pool" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode", + "description": "AgentPoolMode represents mode of an agent pool" + }, + "orchestratorVersion": { + "type": "string", + "description": "Version of orchestrator specified when creating the managed cluster." + }, + "nodeImageVersion": { + "type": "string", + "description": "Version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType." + }, + "enableNodePublicIP": { + "type": "boolean", + "description": "Enable public IP for nodes" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + }, + { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + } + } + ], + "required": [ + "name" + ], + "description": "Profile for the container service agent pool." + }, + "AgentPoolType": { + "type": "string", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true + }, + "description": "AgentPoolType represents types of an agent pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true + }, + "description": "AgentPoolMode represents mode of an agent pool." + }, + "AgentPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The list of agent pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of agent pool results.", + "readOnly": true + } + }, + "description": "The response from the List Agent Pools operation." + }, + "AgentPoolUpgradeSettings": { + "properties": { + "maxSurge": { + "type": "string", + "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default" + } + }, + "description": "Settings for upgrading an agentpool" + }, + "AgentPool": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "properties": { + "properties": { + "description": "Properties of an agent pool.", + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Agent Pool." + }, + "ManagedClusterWindowsProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Windows VMs.", + "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + }, + "adminPassword": { + "type": "string", + "description": "The administrator password to use for Windows VMs.", + "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the container service cluster." + }, + "ContainerServiceLinuxProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + }, + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ContainerServiceNetworkProfile": { + "properties": { + "networkPlugin": { + "type": "string", + "enum": [ + "azure", + "kubenet" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true + }, + "description": "Network plugin used for building Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true + }, + "description": "Network policy used for building Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true + }, + "description": "Network mode used for building Kubernetes network." + }, + "podCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.244.0.0/16", + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + }, + "serviceCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.0.0.0/16", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + }, + "dnsServiceIP": { + "type": "string", + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "default": "10.0.0.10", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + }, + "dockerBridgeCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "172.17.0.1/16", + "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range." + }, + "outboundType": { + "type": "string", + "enum": [ + "loadBalancer", + "userDefinedRouting" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true + }, + "default": "loadBalancer", + "description": "The outbound (egress) routing method." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true + }, + "description": "The load balancer sku for the managed cluster." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + } + }, + "description": "Profile of network configuration." + }, + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "properties": { + "publicIPPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP prefix resources." + } + }, + "description": "Desired outbound IP Prefix resources for the cluster load balancer." + }, + "outboundIPs": { + "properties": { + "publicIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP resources." + } + }, + "description": "Desired outbound IP resources for the cluster load balancer." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster load balancer." + }, + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "minimum": 0, + "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + } + }, + "description": "Profile of the managed cluster load balancer." + }, + "ResourceReference": { + "properties": { + "id": { + "type": "string", + "description": "The fully qualified Azure resource id." + } + }, + "description": "A reference to an Azure resource." + }, + "ContainerServiceSshConfiguration": { + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" + ] + }, + "ContainerServiceSshPublicKey": { + "properties": { + "keyData": { + "type": "string", + "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + } + }, + "required": [ + "keyData" + ], + "description": "Contains information about SSH certificate public key data." + }, + "ContainerServiceDiagnosticsProfile": { + "properties": { + "vmDiagnostics": { + "$ref": "#/definitions/ContainerServiceVMDiagnostics", + "description": "Profile for diagnostics on the container service VMs." + } + }, + "description": "Profile for diagnostics on the container service cluster.", + "required": [ + "vmDiagnostics" + ] + }, + "ContainerServiceVMDiagnostics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the VM diagnostic agent is provisioned on the VM." + }, + "storageUri": { + "readOnly": true, + "type": "string", + "description": "The URI of the storage account where diagnostics are stored." + } + }, + "description": "Profile for diagnostics on the container service VMs.", + "required": [ + "enabled" + ] + }, + "ManagedClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The list of managed clusters." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed cluster results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Clusters operation." + }, + "ManagedCluster": { + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + } + } + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "description": "Version of Kubernetes specified when creating the managed cluster." + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix specified when creating the managed cluster." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "FQDN of private cluster." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "Properties of the agent pool." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "Profile for Linux VMs in the container service cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "Profile for Windows VMs in the container service cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "Profile of managed cluster add-on." + }, + "nodeResourceGroup": { + "type": "string", + "description": "Name of the resource group containing agent pool nodes." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, + "enablePodSecurityPolicy": { + "type": "boolean", + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "Profile of network configuration." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "Profile of Azure Active Directory configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string" + }, + "scan-interval": { + "type": "string" + }, + "scale-down-delay-after-add": { + "type": "string" + }, + "scale-down-delay-after-delete": { + "type": "string" + }, + "scale-down-delay-after-failure": { + "type": "string" + }, + "scale-down-unneeded-time": { + "type": "string" + }, + "scale-down-unready-time": { + "type": "string" + }, + "scale-down-utilization-threshold": { + "type": "string" + }, + "max-graceful-termination-sec": { + "type": "string" + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "Access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "identityProfile": { + "additionalProperties": { + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + }, + "description": "Identities associated with the cluster." + } + }, + "description": "Properties of the managed cluster." + }, + "ManagedClusterAPIServerAccessProfile": { + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Authorized IP Ranges to kubernetes API server." + }, + "enablePrivateCluster": { + "type": "boolean", + "description": "Whether to create the cluster as a private cluster or not." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity which is used by master components." + }, + "type": { + "type": "string", + "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "properties": { + "resourceId": { + "type": "string", + "description": "The resource id of the user assigned identity." + }, + "clientId": { + "type": "string", + "description": "The client id of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object id of the user assigned identity." + } + } + }, + "ManagedClusterAccessProfile": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false + }, + "AccessProfile": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string", + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "Profile for enabling a user to access a managed cluster." + }, + "ManagedClusterPoolUpgradeProfile": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "name": { + "type": "string", + "description": "Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "ManagedClusterUpgradeProfileProperties": { + "properties": { + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "description": "The list of available upgrade versions for agent pools." + } + }, + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ], + "description": "Control plane and agent pool upgrade profiles." + }, + "ManagedClusterAADProfile": { + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "AAD group object IDs that will have admin role of the cluster." + }, + "clientAppID": { + "type": "string", + "description": "The client AAD application ID." + }, + "serverAppID": { + "type": "string", + "description": "The server AAD application ID." + }, + "serverAppSecret": { + "type": "string", + "description": "The server AAD application secret." + }, + "tenantID": { + "type": "string", + "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." + } + }, + "description": "AADProfile specifies attributes for Azure Active Directory integration." + }, + "ManagedClusterAddonProfile": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs for configuring an add-on." + }, + "identity": { + "readOnly": true, + "description": "Information of user assigned identity used by this add-on.", + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + } + }, + "required": [ + "enabled" + ], + "description": "A Kubernetes add-on profile for a managed cluster." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "Properties of upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "Properties of agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "LatestNodeImageVersion is the latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of the agent pool available versions." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool available versions." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool available versions." + }, + "properties": { + "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", + "description": "Properties of agent pool available versions.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available versions for an agent pool." + }, + "AgentPoolAvailableVersionsProperties": { + "properties": { + "agentPoolVersions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "description": "Whether this version is the default agent pool version." + }, + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of versions available for agent pool." + } + }, + "description": "The list of available agent pool versions." + }, + "OSType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true + }, + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true + }, + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "ProximityPlacementGroupID": { + "type": "string", + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list of credential result response." + }, + "CredentialResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the credential." + }, + "value": { + "type": "string", + "format": "byte", + "readOnly": true, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The credential result response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the Container service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container service." + }, + "ManagedClusterSKU": { + "properties": { + "name": { + "type": "string", + "description": "Name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a managed cluster SKU.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true + } + } + } + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource Id for private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + } + }, + "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" + }, + "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", + "minLength": 1, + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "description": "The name of the managed cluster resource.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..ec43ba9e1863 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..a001a5428bf1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..c4fd0dc07f1e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..0341ca53c6a3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..47fd641d2059 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..f61986d807a7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", + "name": "default", + "properties": { + "agentPoolVersions": [ + { + "kubernetesVersion": "1.12.7" + }, + { + "kubernetesVersion": "1.12.8" + }, + { + "default": true, + "kubernetesVersion": "1.13.5", + "isPreview": true + } + ] + }, + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..b110ebe7520f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", + "name": "default", + "properties": { + "kubernetesVersion": "1.12.8", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.13.5" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..b2d63467a9cf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..2c069e0f7d05 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..11ec7257c46f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Updating", + "orchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..d13c0a2cfdba --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,236 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..ae067af5d51d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,272 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..07220a608e8d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..e3fd532bc1bf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..2214600840a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..4650fbd25837 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "availabilityZones": [ + "1", + "2", + "3" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "outboundIPs": { + "publicIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" + } + ] + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..7589ab0ac25b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "name": "clusterUser", + "properties": { + "kubeConfig": "kubeConfig1" + }, + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..3e30bbecd4f4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "name": "default", + "properties": { + "agentPoolProfiles": [ + { + "kubernetesVersion": "1.7.7", + "name": "agent", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9" + }, + { + "kubernetesVersion": "1.7.11", + "isPreview": true + } + ] + } + ], + "controlPlaneProfile": { + "kubernetesVersion": "1.7.7", + "name": "master", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9", + "isPreview": true + }, + { + "kubernetesVersion": "1.7.11" + } + ] + } + }, + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..496b4f0e00ce --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..989448f5bf75 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..2cae16478490 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "credentialValue1" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..93c854ac7497 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..309d53c2ab38 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..2214600840a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..69dced82c890 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "tags": { + "tier": "testing", + "archv3": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv3": "", + "tier": "testing" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..49ebb2d38eef --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..805aef365f3d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..a680ac3d8ca7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..6e9dfbb9deac --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-07-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json new file mode 100644 index 000000000000..14b7db1b5c8d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json @@ -0,0 +1,3028 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2020-07-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "managedClusters" + ], + "operationId": "Operations_List", + "description": "Gets a list of compute operations.", + "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": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Lists managed clusters in the specified subscription and resource group.", + "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetUpgradeProfile", + "summary": "Gets upgrade profile for a managed cluster.", + "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { + "post": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role for managed cluster accessProfile resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterAccessProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "summary": "Gets cluster admin credential of a managed cluster.", + "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterUserCredentials", + "summary": "Gets cluster user credential of a managed cluster.", + "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "summary": "Gets cluster monitoring user credential of a managed cluster.", + "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a managed cluster.", + "description": "Gets the details of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a managed cluster.", + "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "Parameters supplied to the Create or Update a Managed Cluster operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Managed Cluster": { + "$ref": "./examples/ManagedClustersCreate_Update.json" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on a managed cluster.", + "description": "Updates a managed cluster with the specified tags.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update Managed Cluster Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Managed Cluster Tags": { + "$ref": "./examples/ManagedClustersUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a managed cluster.", + "description": "Deletes the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Managed Cluster": { + "$ref": "./examples/ManagedClustersDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_List", + "summary": "Gets a list of agent pools in the specified managed cluster.", + "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/AgentPoolsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Get", + "summary": "Gets the agent pool.", + "description": "Gets the details of the agent pool by managed cluster and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Agent Pool": { + "$ref": "./examples/AgentPoolsGet.json" + } + } + }, + "put": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_CreateOrUpdate", + "summary": "Creates or updates an agent pool.", + "description": "Creates or updates an agent pool in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "description": "Parameters supplied to the Create or Update an agent pool operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes an agent pool.", + "description": "Deletes the agent pool in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Agent Pool": { + "$ref": "./examples/AgentPoolsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetUpgradeProfile", + "summary": "Gets upgrade profile for an agent pool.", + "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Agent Pool": { + "$ref": "./examples/AgentPoolsGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "summary": "Gets a list of supported versions for the specified agent pool.", + "description": "Gets a list of supported versions for the specified agent pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolAvailableVersions" + } + } + }, + "x-ms-examples": { + "Get available versions for agent pool": { + "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "summary": "Reset Service Principal Profile of a managed cluster.", + "description": "Update the service principal Profile for a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reset Service Principal Profile": { + "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetAADProfile", + "summary": "Reset AAD Profile of a managed cluster.", + "description": "Update the AAD Profile for a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterAADProfile" + }, + "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reset AAD Profile": { + "$ref": "./examples/ManagedClustersResetAADProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RotateClusterCertificates", + "summary": "Rotate certificates of a managed cluster.", + "description": "Rotate certificates of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Rotate Cluster Certificates": { + "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the private endpoint connection.", + "description": "Gets the details of the private endpoint connection by managed cluster and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "description": "Updates a private endpoint connection in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to the Update a private endpoint connection operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "description": "Deletes the private endpoint connection in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "ManagedClusters_UpgradeNodeImageVersion", + "summary": "Upgrade node image version of an agent pool to the latest.", + "description": "Upgrade node image version of an agent pool to the latest.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Compute Operation Value Display." + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Compute Operation Value Display." + }, + "Resource": { + "description": "The Resource model definition.", + "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", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 1023, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "ContainerServiceStorageProfile": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceStorageProfileTypes", + "modelAsString": true + }, + "enum": [ + "StorageAccount", + "ManagedDisks" + ], + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs.", + "enum": [ + "Standard_A1", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2", + "Standard_A2_v2", + "Standard_A2m_v2", + "Standard_A3", + "Standard_A4", + "Standard_A4_v2", + "Standard_A4m_v2", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A8_v2", + "Standard_A8m_v2", + "Standard_A9", + "Standard_B2ms", + "Standard_B2s", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D11", + "Standard_D11_v2", + "Standard_D11_v2_Promo", + "Standard_D12", + "Standard_D12_v2", + "Standard_D12_v2_Promo", + "Standard_D13", + "Standard_D13_v2", + "Standard_D13_v2_Promo", + "Standard_D14", + "Standard_D14_v2", + "Standard_D14_v2_Promo", + "Standard_D15_v2", + "Standard_D16_v3", + "Standard_D16s_v3", + "Standard_D1_v2", + "Standard_D2", + "Standard_D2_v2", + "Standard_D2_v2_Promo", + "Standard_D2_v3", + "Standard_D2s_v3", + "Standard_D3", + "Standard_D32_v3", + "Standard_D32s_v3", + "Standard_D3_v2", + "Standard_D3_v2_Promo", + "Standard_D4", + "Standard_D4_v2", + "Standard_D4_v2_Promo", + "Standard_D4_v3", + "Standard_D4s_v3", + "Standard_D5_v2", + "Standard_D5_v2_Promo", + "Standard_D64_v3", + "Standard_D64s_v3", + "Standard_D8_v3", + "Standard_D8s_v3", + "Standard_DS1", + "Standard_DS11", + "Standard_DS11_v2", + "Standard_DS11_v2_Promo", + "Standard_DS12", + "Standard_DS12_v2", + "Standard_DS12_v2_Promo", + "Standard_DS13", + "Standard_DS13-2_v2", + "Standard_DS13-4_v2", + "Standard_DS13_v2", + "Standard_DS13_v2_Promo", + "Standard_DS14", + "Standard_DS14-4_v2", + "Standard_DS14-8_v2", + "Standard_DS14_v2", + "Standard_DS14_v2_Promo", + "Standard_DS15_v2", + "Standard_DS1_v2", + "Standard_DS2", + "Standard_DS2_v2", + "Standard_DS2_v2_Promo", + "Standard_DS3", + "Standard_DS3_v2", + "Standard_DS3_v2_Promo", + "Standard_DS4", + "Standard_DS4_v2", + "Standard_DS4_v2_Promo", + "Standard_DS5_v2", + "Standard_DS5_v2_Promo", + "Standard_E16_v3", + "Standard_E16s_v3", + "Standard_E2_v3", + "Standard_E2s_v3", + "Standard_E32-16s_v3", + "Standard_E32-8s_v3", + "Standard_E32_v3", + "Standard_E32s_v3", + "Standard_E4_v3", + "Standard_E4s_v3", + "Standard_E64-16s_v3", + "Standard_E64-32s_v3", + "Standard_E64_v3", + "Standard_E64s_v3", + "Standard_E8_v3", + "Standard_E8s_v3", + "Standard_F1", + "Standard_F16", + "Standard_F16s", + "Standard_F16s_v2", + "Standard_F1s", + "Standard_F2", + "Standard_F2s", + "Standard_F2s_v2", + "Standard_F32s_v2", + "Standard_F4", + "Standard_F4s", + "Standard_F4s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_F8", + "Standard_F8s", + "Standard_F8s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS4-4", + "Standard_GS4-8", + "Standard_GS5", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H16", + "Standard_H16m", + "Standard_H16mr", + "Standard_H16r", + "Standard_H8", + "Standard_H8m", + "Standard_L16s", + "Standard_L32s", + "Standard_L4s", + "Standard_L8s", + "Standard_M128-32ms", + "Standard_M128-64ms", + "Standard_M128ms", + "Standard_M128s", + "Standard_M64-16ms", + "Standard_M64-32ms", + "Standard_M64ms", + "Standard_M64s", + "Standard_NC12", + "Standard_NC12s_v2", + "Standard_NC12s_v3", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC24rs_v2", + "Standard_NC24rs_v3", + "Standard_NC24s_v2", + "Standard_NC24s_v3", + "Standard_NC6", + "Standard_NC6s_v2", + "Standard_NC6s_v3", + "Standard_ND12s", + "Standard_ND24rs", + "Standard_ND24s", + "Standard_ND6s", + "Standard_NV12", + "Standard_NV24", + "Standard_NV6" + ] + }, + "ManagedClusterServicePrincipalProfile": { + "properties": { + "clientId": { + "type": "string", + "description": "The ID for the service principal." + }, + "secret": { + "type": "string", + "description": "The secret password associated with the service principal in plain text." + } + }, + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", + "required": [ + "clientId" + ] + }, + "ContainerServiceMasterProfile": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "enum": [ + 1, + 3, + 5 + ], + "x-ms-enum": { + "name": "Count", + "modelAsString": false + }, + "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.", + "default": 1 + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix to be used to create the FQDN for the master pool." + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "firstConsecutiveStaticIP": { + "type": "string", + "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.", + "default": "10.240.255.5" + }, + "storageProfile": { + "$ref": "#/definitions/ContainerServiceStorageProfile", + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + } + }, + "required": [ + "dnsPrefix", + "vmSize" + ], + "description": "Profile for the container service master." + }, + "ManagedClusterAgentPoolProfileProperties": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "Maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType", + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "type": { + "$ref": "#/definitions/AgentPoolType", + "description": "AgentPoolType represents types of an agent pool" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode", + "description": "AgentPoolMode represents mode of an agent pool" + }, + "orchestratorVersion": { + "type": "string", + "description": "Version of orchestrator specified when creating the managed cluster." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "Version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType." + }, + "enableNodePublicIP": { + "type": "boolean", + "description": "Enable public IP for nodes" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + }, + { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + } + } + ], + "required": [ + "name" + ], + "description": "Profile for the container service agent pool." + }, + "AgentPoolType": { + "type": "string", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true + }, + "description": "AgentPoolType represents types of an agent pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true + }, + "description": "AgentPoolMode represents mode of an agent pool." + }, + "AgentPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The list of agent pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of agent pool results.", + "readOnly": true + } + }, + "description": "The response from the List Agent Pools operation." + }, + "AgentPoolUpgradeSettings": { + "properties": { + "maxSurge": { + "type": "string", + "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default" + } + }, + "description": "Settings for upgrading an agentpool" + }, + "AgentPool": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "properties": { + "properties": { + "description": "Properties of an agent pool.", + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Agent Pool." + }, + "ManagedClusterWindowsProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Windows VMs.", + "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + }, + "adminPassword": { + "type": "string", + "description": "The administrator password to use for Windows VMs.", + "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true + }, + "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the container service cluster." + }, + "ContainerServiceLinuxProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + }, + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ContainerServiceNetworkProfile": { + "properties": { + "networkPlugin": { + "type": "string", + "enum": [ + "azure", + "kubenet" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true + }, + "description": "Network plugin used for building Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true + }, + "description": "Network policy used for building Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true + }, + "description": "Network mode used for building Kubernetes network." + }, + "podCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.244.0.0/16", + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + }, + "serviceCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.0.0.0/16", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + }, + "dnsServiceIP": { + "type": "string", + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "default": "10.0.0.10", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + }, + "dockerBridgeCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "172.17.0.1/16", + "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range." + }, + "outboundType": { + "type": "string", + "enum": [ + "loadBalancer", + "userDefinedRouting" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true + }, + "default": "loadBalancer", + "description": "The outbound (egress) routing method." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true + }, + "description": "The load balancer sku for the managed cluster." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + } + }, + "description": "Profile of network configuration." + }, + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "properties": { + "publicIPPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP prefix resources." + } + }, + "description": "Desired outbound IP Prefix resources for the cluster load balancer." + }, + "outboundIPs": { + "properties": { + "publicIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP resources." + } + }, + "description": "Desired outbound IP resources for the cluster load balancer." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster load balancer." + }, + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "minimum": 0, + "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + } + }, + "description": "Profile of the managed cluster load balancer." + }, + "ResourceReference": { + "properties": { + "id": { + "type": "string", + "description": "The fully qualified Azure resource id." + } + }, + "description": "A reference to an Azure resource." + }, + "ContainerServiceSshConfiguration": { + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" + ] + }, + "ContainerServiceSshPublicKey": { + "properties": { + "keyData": { + "type": "string", + "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + } + }, + "required": [ + "keyData" + ], + "description": "Contains information about SSH certificate public key data." + }, + "ContainerServiceDiagnosticsProfile": { + "properties": { + "vmDiagnostics": { + "$ref": "#/definitions/ContainerServiceVMDiagnostics", + "description": "Profile for diagnostics on the container service VMs." + } + }, + "description": "Profile for diagnostics on the container service cluster.", + "required": [ + "vmDiagnostics" + ] + }, + "ContainerServiceVMDiagnostics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the VM diagnostic agent is provisioned on the VM." + }, + "storageUri": { + "readOnly": true, + "type": "string", + "description": "The URI of the storage account where diagnostics are stored." + } + }, + "description": "Profile for diagnostics on the container service VMs.", + "required": [ + "enabled" + ] + }, + "ManagedClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The list of managed clusters." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed cluster results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Clusters operation." + }, + "ManagedCluster": { + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + } + } + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "description": "Version of Kubernetes specified when creating the managed cluster." + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix specified when creating the managed cluster." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "FQDN of private cluster." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "Properties of the agent pool." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "Profile for Linux VMs in the container service cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "Profile for Windows VMs in the container service cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "Profile of managed cluster add-on." + }, + "nodeResourceGroup": { + "type": "string", + "description": "Name of the resource group containing agent pool nodes." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, + "enablePodSecurityPolicy": { + "type": "boolean", + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "Profile of network configuration." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "Profile of Azure Active Directory configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string" + }, + "scan-interval": { + "type": "string" + }, + "scale-down-delay-after-add": { + "type": "string" + }, + "scale-down-delay-after-delete": { + "type": "string" + }, + "scale-down-delay-after-failure": { + "type": "string" + }, + "scale-down-unneeded-time": { + "type": "string" + }, + "scale-down-unready-time": { + "type": "string" + }, + "scale-down-utilization-threshold": { + "type": "string" + }, + "max-graceful-termination-sec": { + "type": "string" + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "Access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "identityProfile": { + "additionalProperties": { + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + }, + "description": "Identities associated with the cluster." + } + }, + "description": "Properties of the managed cluster." + }, + "ManagedClusterAPIServerAccessProfile": { + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Authorized IP Ranges to kubernetes API server." + }, + "enablePrivateCluster": { + "type": "boolean", + "description": "Whether to create the cluster as a private cluster or not." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity which is used by master components." + }, + "type": { + "type": "string", + "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "properties": { + "resourceId": { + "type": "string", + "description": "The resource id of the user assigned identity." + }, + "clientId": { + "type": "string", + "description": "The client id of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object id of the user assigned identity." + } + } + }, + "ManagedClusterAccessProfile": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false + }, + "AccessProfile": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string", + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "Profile for enabling a user to access a managed cluster." + }, + "ManagedClusterPoolUpgradeProfile": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "name": { + "type": "string", + "description": "Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "ManagedClusterUpgradeProfileProperties": { + "properties": { + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "description": "The list of available upgrade versions for agent pools." + } + }, + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ], + "description": "Control plane and agent pool upgrade profiles." + }, + "ManagedClusterAADProfile": { + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "AAD group object IDs that will have admin role of the cluster." + }, + "clientAppID": { + "type": "string", + "description": "The client AAD application ID." + }, + "serverAppID": { + "type": "string", + "description": "The server AAD application ID." + }, + "serverAppSecret": { + "type": "string", + "description": "The server AAD application secret." + }, + "tenantID": { + "type": "string", + "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." + } + }, + "description": "AADProfile specifies attributes for Azure Active Directory integration." + }, + "ManagedClusterAddonProfile": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs for configuring an add-on." + }, + "identity": { + "readOnly": true, + "description": "Information of user assigned identity used by this add-on.", + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + } + }, + "required": [ + "enabled" + ], + "description": "A Kubernetes add-on profile for a managed cluster." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "Properties of upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "Properties of agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "LatestNodeImageVersion is the latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of the agent pool available versions." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool available versions." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool available versions." + }, + "properties": { + "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", + "description": "Properties of agent pool available versions.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available versions for an agent pool." + }, + "AgentPoolAvailableVersionsProperties": { + "properties": { + "agentPoolVersions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "description": "Whether this version is the default agent pool version." + }, + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of versions available for agent pool." + } + }, + "description": "The list of available agent pool versions." + }, + "OSType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true + }, + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true + }, + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "ProximityPlacementGroupID": { + "type": "string", + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list of credential result response." + }, + "CredentialResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the credential." + }, + "value": { + "type": "string", + "format": "byte", + "readOnly": true, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The credential result response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the Container service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container service." + }, + "ManagedClusterSKU": { + "properties": { + "name": { + "type": "string", + "description": "Name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a managed cluster SKU.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true + } + } + } + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource Id for private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + } + }, + "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" + }, + "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", + "minLength": 1, + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "description": "The name of the managed cluster resource.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..0465208ed255 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..fe3c6998bb0b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..1dd25b5f1cd6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..f72c274a469c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "tags": { + "name1": "val1" + }, + "nodeLabels": { + "key1": "val1" + }, + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..34e078b8ddc9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..e2924bd00050 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..0562b87ea10e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions", + "name": "default", + "properties": { + "agentPoolVersions": [ + { + "kubernetesVersion": "1.12.7" + }, + { + "kubernetesVersion": "1.12.8" + }, + { + "default": true, + "kubernetesVersion": "1.13.5", + "isPreview": true + } + ] + }, + "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..23544c4c5b16 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/upgradeprofiles/default", + "name": "default", + "properties": { + "kubernetesVersion": "1.12.8", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.13.5" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..09ec35dd854d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..d1d4d87e5881 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..9c0ee3ef6a60 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Updating", + "orchestratorVersion": "1.9.6", + "count": 3, + "enableAutoScaling": true, + "minCount": 2, + "maxCount": 2, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "nodeTaints": [ + "Key1=Value1:NoSchedule" + ], + "scaleSetPriority": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..52cbf09263a2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,236 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..2154502d0c28 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "most-pods", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "most-pods", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..22500c964240 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..e88ec3b727e7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..12a0dd0e4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..74d4a76054ad --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "availabilityZones": [ + "1", + "2", + "3" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "outboundIPs": { + "publicIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2" + } + ] + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..e8fb8bd9c65b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "name": "clusterUser", + "properties": { + "kubeConfig": "kubeConfig1" + }, + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..96bc1df11315 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "name": "default", + "properties": { + "agentPoolProfiles": [ + { + "kubernetesVersion": "1.7.7", + "name": "agent", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9" + }, + { + "kubernetesVersion": "1.7.11", + "isPreview": true + } + ] + } + ], + "controlPlaneProfile": { + "kubernetesVersion": "1.7.7", + "name": "master", + "osType": "Linux", + "upgrades": [ + { + "kubernetesVersion": "1.7.9", + "isPreview": true + }, + { + "kubernetesVersion": "1.7.11" + } + ] + } + }, + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..e89e09461ba0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..d4337b7e4d4b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "maxAgentPools": 1, + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..106b9437fe9b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "credentialValue1" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..f655e65a95cf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..5849ddf284ae --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..12a0dd0e4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..12a0dd0e4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..12a0dd0e4a25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..12b1a2395edb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "tags": { + "tier": "testing", + "archv3": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv3": "", + "tier": "testing" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..cb4dad284f12 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..9d4e3a35d790 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..737edc566ede --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..7a4bb726214b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..44f51606e06d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "requiredMembers": [ + "management" + ], + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..c37322caf4b0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "name": "management" + } + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json new file mode 100644 index 000000000000..3ef7b8c1035b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json @@ -0,0 +1,3337 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2020-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "managedClusters" + ], + "operationId": "Operations_List", + "description": "Gets a list of compute operations.", + "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": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Lists managed clusters in the specified subscription and resource group.", + "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetUpgradeProfile", + "summary": "Gets upgrade profile for a managed cluster.", + "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { + "post": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role for managed cluster accessProfile resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterAccessProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterAdminCredentials", + "summary": "Gets cluster admin credential of a managed cluster.", + "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterUserCredentials", + "summary": "Gets cluster user credential of a managed cluster.", + "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", + "summary": "Gets cluster monitoring user credential of a managed cluster.", + "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CredentialResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersListClusterCredentialResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a managed cluster.", + "description": "Gets the details of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a managed cluster.", + "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "Parameters supplied to the Create or Update a Managed Cluster operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Managed Cluster": { + "$ref": "./examples/ManagedClustersCreate_Update.json" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on a managed cluster.", + "description": "Updates a managed cluster with the specified tags.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update Managed Cluster Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Managed Cluster Tags": { + "$ref": "./examples/ManagedClustersUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a managed cluster.", + "description": "Deletes the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Managed Cluster": { + "$ref": "./examples/ManagedClustersDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_List", + "summary": "Gets a list of agent pools in the specified managed cluster.", + "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Agent Pools by Managed Cluster": { + "$ref": "./examples/AgentPoolsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Get", + "summary": "Gets the agent pool.", + "description": "Gets the details of the agent pool by managed cluster and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Agent Pool": { + "$ref": "./examples/AgentPoolsGet.json" + } + } + }, + "put": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_CreateOrUpdate", + "summary": "Creates or updates an agent pool.", + "description": "Creates or updates an agent pool in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AgentPool" + }, + "description": "Parameters supplied to the Create or Update an agent pool operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Update.json" + }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes an agent pool.", + "description": "Deletes the agent pool in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Agent Pool": { + "$ref": "./examples/AgentPoolsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetUpgradeProfile", + "summary": "Gets upgrade profile for an agent pool.", + "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolUpgradeProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Agent Pool": { + "$ref": "./examples/AgentPoolsGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": { + "get": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_GetAvailableAgentPoolVersions", + "summary": "Gets a list of supported versions for the specified agent pool.", + "description": "Gets a list of supported versions for the specified agent pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AgentPoolAvailableVersions" + } + } + }, + "x-ms-examples": { + "Get available versions for agent pool": { + "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetServicePrincipalProfile", + "summary": "Reset Service Principal Profile of a managed cluster.", + "description": "Update the service principal Profile for a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reset Service Principal Profile": { + "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ResetAADProfile", + "summary": "Reset AAD Profile of a managed cluster.", + "description": "Update the AAD Profile for a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterAADProfile" + }, + "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reset AAD Profile": { + "$ref": "./examples/ManagedClustersResetAADProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RotateClusterCertificates", + "summary": "Rotate certificates of a managed cluster.", + "description": "Rotate certificates of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Rotate Cluster Certificates": { + "$ref": "./examples/ManagedClustersRotateClusterCertificates.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Stop", + "summary": "Stop Managed Cluster", + "description": "Stops a Running Managed Cluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Start", + "summary": "Start Managed Cluster", + "description": "Starts a Stopped Managed Cluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the private endpoint connection.", + "description": "Gets the details of the private endpoint connection by managed cluster and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "description": "Updates a private endpoint connection in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to the Update a private endpoint connection operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "description": "Deletes the private endpoint connection in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "ManagedClusters_UpgradeNodeImageVersion", + "summary": "Upgrade node image version of an agent pool to the latest.", + "description": "Upgrade node image version of an agent pool to the latest.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "Gets a list of private link resources in the specified managed cluster. The operation returns properties of each private link resource.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "tags": [ + "resolvePrivateLinkServiceId" + ], + "operationId": "ResolvePrivateLinkServiceId_POST", + "summary": "Gets the private link service ID for the specified managed cluster.", + "description": "Gets the private link service ID the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Parameters (name, groupId) supplied in order to resolve a private link service ID." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Compute Operation Value Display." + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Compute Operation Value Display." + }, + "Resource": { + "description": "The Resource model definition.", + "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", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 1023, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "ContainerServiceStorageProfile": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceStorageProfileTypes", + "modelAsString": true + }, + "enum": [ + "StorageAccount", + "ManagedDisks" + ], + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs.", + "enum": [ + "Standard_A1", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2", + "Standard_A2_v2", + "Standard_A2m_v2", + "Standard_A3", + "Standard_A4", + "Standard_A4_v2", + "Standard_A4m_v2", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A8_v2", + "Standard_A8m_v2", + "Standard_A9", + "Standard_B2ms", + "Standard_B2s", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D11", + "Standard_D11_v2", + "Standard_D11_v2_Promo", + "Standard_D12", + "Standard_D12_v2", + "Standard_D12_v2_Promo", + "Standard_D13", + "Standard_D13_v2", + "Standard_D13_v2_Promo", + "Standard_D14", + "Standard_D14_v2", + "Standard_D14_v2_Promo", + "Standard_D15_v2", + "Standard_D16_v3", + "Standard_D16s_v3", + "Standard_D1_v2", + "Standard_D2", + "Standard_D2_v2", + "Standard_D2_v2_Promo", + "Standard_D2_v3", + "Standard_D2s_v3", + "Standard_D3", + "Standard_D32_v3", + "Standard_D32s_v3", + "Standard_D3_v2", + "Standard_D3_v2_Promo", + "Standard_D4", + "Standard_D4_v2", + "Standard_D4_v2_Promo", + "Standard_D4_v3", + "Standard_D4s_v3", + "Standard_D5_v2", + "Standard_D5_v2_Promo", + "Standard_D64_v3", + "Standard_D64s_v3", + "Standard_D8_v3", + "Standard_D8s_v3", + "Standard_DS1", + "Standard_DS11", + "Standard_DS11_v2", + "Standard_DS11_v2_Promo", + "Standard_DS12", + "Standard_DS12_v2", + "Standard_DS12_v2_Promo", + "Standard_DS13", + "Standard_DS13-2_v2", + "Standard_DS13-4_v2", + "Standard_DS13_v2", + "Standard_DS13_v2_Promo", + "Standard_DS14", + "Standard_DS14-4_v2", + "Standard_DS14-8_v2", + "Standard_DS14_v2", + "Standard_DS14_v2_Promo", + "Standard_DS15_v2", + "Standard_DS1_v2", + "Standard_DS2", + "Standard_DS2_v2", + "Standard_DS2_v2_Promo", + "Standard_DS3", + "Standard_DS3_v2", + "Standard_DS3_v2_Promo", + "Standard_DS4", + "Standard_DS4_v2", + "Standard_DS4_v2_Promo", + "Standard_DS5_v2", + "Standard_DS5_v2_Promo", + "Standard_E16_v3", + "Standard_E16s_v3", + "Standard_E2_v3", + "Standard_E2s_v3", + "Standard_E32-16s_v3", + "Standard_E32-8s_v3", + "Standard_E32_v3", + "Standard_E32s_v3", + "Standard_E4_v3", + "Standard_E4s_v3", + "Standard_E64-16s_v3", + "Standard_E64-32s_v3", + "Standard_E64_v3", + "Standard_E64s_v3", + "Standard_E8_v3", + "Standard_E8s_v3", + "Standard_F1", + "Standard_F16", + "Standard_F16s", + "Standard_F16s_v2", + "Standard_F1s", + "Standard_F2", + "Standard_F2s", + "Standard_F2s_v2", + "Standard_F32s_v2", + "Standard_F4", + "Standard_F4s", + "Standard_F4s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_F8", + "Standard_F8s", + "Standard_F8s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS4-4", + "Standard_GS4-8", + "Standard_GS5", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H16", + "Standard_H16m", + "Standard_H16mr", + "Standard_H16r", + "Standard_H8", + "Standard_H8m", + "Standard_L16s", + "Standard_L32s", + "Standard_L4s", + "Standard_L8s", + "Standard_M128-32ms", + "Standard_M128-64ms", + "Standard_M128ms", + "Standard_M128s", + "Standard_M64-16ms", + "Standard_M64-32ms", + "Standard_M64ms", + "Standard_M64s", + "Standard_NC12", + "Standard_NC12s_v2", + "Standard_NC12s_v3", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC24rs_v2", + "Standard_NC24rs_v3", + "Standard_NC24s_v2", + "Standard_NC24s_v3", + "Standard_NC6", + "Standard_NC6s_v2", + "Standard_NC6s_v3", + "Standard_ND12s", + "Standard_ND24rs", + "Standard_ND24s", + "Standard_ND6s", + "Standard_NV12", + "Standard_NV24", + "Standard_NV6" + ] + }, + "ManagedClusterServicePrincipalProfile": { + "properties": { + "clientId": { + "type": "string", + "description": "The ID for the service principal." + }, + "secret": { + "type": "string", + "description": "The secret password associated with the service principal in plain text." + } + }, + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", + "required": [ + "clientId" + ] + }, + "ContainerServiceMasterProfile": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "enum": [ + 1, + 3, + 5 + ], + "x-ms-enum": { + "name": "Count", + "modelAsString": false + }, + "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.", + "default": 1 + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix to be used to create the FQDN for the master pool." + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "firstConsecutiveStaticIP": { + "type": "string", + "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.", + "default": "10.240.255.5" + }, + "storageProfile": { + "$ref": "#/definitions/ContainerServiceStorageProfile", + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + } + }, + "required": [ + "dnsPrefix", + "vmSize" + ], + "description": "Profile for the container service master." + }, + "ManagedClusterAgentPoolProfileProperties": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType", + "description": "OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. May not be changed after creation." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "Maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType", + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "type": { + "$ref": "#/definitions/AgentPoolType", + "description": "AgentPoolType represents types of an agent pool" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode", + "description": "AgentPoolMode represents mode of an agent pool" + }, + "orchestratorVersion": { + "type": "string", + "description": "Version of orchestrator specified when creating the managed cluster." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "Version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "powerState": { + "readOnly": true, + "description": "Describes whether the Agent Pool is Running or Stopped", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType." + }, + "enableNodePublicIP": { + "type": "boolean", + "description": "Enable public IP for nodes" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Agent pool node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + }, + { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + } + } + ], + "required": [ + "name" + ], + "description": "Profile for the container service agent pool." + }, + "AgentPoolType": { + "type": "string", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true + }, + "description": "AgentPoolType represents types of an agent pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true + }, + "description": "AgentPoolMode represents mode of an agent pool." + }, + "AgentPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The list of agent pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of agent pool results.", + "readOnly": true + } + }, + "description": "The response from the List Agent Pools operation." + }, + "AgentPoolUpgradeSettings": { + "properties": { + "maxSurge": { + "type": "string", + "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default" + } + }, + "description": "Settings for upgrading an agentpool" + }, + "AgentPool": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "properties": { + "properties": { + "description": "Properties of an agent pool.", + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Agent Pool." + }, + "ManagedClusterWindowsProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Windows VMs.", + "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + }, + "adminPassword": { + "type": "string", + "description": "The administrator password to use for Windows VMs.", + "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true + }, + "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the container service cluster." + }, + "ContainerServiceLinuxProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + }, + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ContainerServiceNetworkProfile": { + "properties": { + "networkPlugin": { + "type": "string", + "enum": [ + "azure", + "kubenet" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true + }, + "description": "Network plugin used for building Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true + }, + "description": "Network policy used for building Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true + }, + "description": "Network mode used for building Kubernetes network." + }, + "podCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.244.0.0/16", + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + }, + "serviceCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.0.0.0/16", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + }, + "dnsServiceIP": { + "type": "string", + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "default": "10.0.0.10", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + }, + "dockerBridgeCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "172.17.0.1/16", + "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range." + }, + "outboundType": { + "type": "string", + "enum": [ + "loadBalancer", + "userDefinedRouting" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true + }, + "default": "loadBalancer", + "description": "The outbound (egress) routing method." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true + }, + "description": "The load balancer sku for the managed cluster." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + } + }, + "description": "Profile of network configuration." + }, + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "properties": { + "publicIPPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP prefix resources." + } + }, + "description": "Desired outbound IP Prefix resources for the cluster load balancer." + }, + "outboundIPs": { + "properties": { + "publicIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP resources." + } + }, + "description": "Desired outbound IP resources for the cluster load balancer." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster load balancer." + }, + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "minimum": 0, + "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + } + }, + "description": "Profile of the managed cluster load balancer." + }, + "ResourceReference": { + "properties": { + "id": { + "type": "string", + "description": "The fully qualified Azure resource id." + } + }, + "description": "A reference to an Azure resource." + }, + "ContainerServiceSshConfiguration": { + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" + ] + }, + "ContainerServiceSshPublicKey": { + "properties": { + "keyData": { + "type": "string", + "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + } + }, + "required": [ + "keyData" + ], + "description": "Contains information about SSH certificate public key data." + }, + "ContainerServiceDiagnosticsProfile": { + "properties": { + "vmDiagnostics": { + "$ref": "#/definitions/ContainerServiceVMDiagnostics", + "description": "Profile for diagnostics on the container service VMs." + } + }, + "description": "Profile for diagnostics on the container service cluster.", + "required": [ + "vmDiagnostics" + ] + }, + "ContainerServiceVMDiagnostics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the VM diagnostic agent is provisioned on the VM." + }, + "storageUri": { + "readOnly": true, + "type": "string", + "description": "The URI of the storage account where diagnostics are stored." + } + }, + "description": "Profile for diagnostics on the container service VMs.", + "required": [ + "enabled" + ] + }, + "ManagedClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The list of managed clusters." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed cluster results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Clusters operation." + }, + "ManagedCluster": { + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + } + } + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "Represents the Power State of the cluster", + "readOnly": true + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "description": "Version of Kubernetes specified when creating the managed cluster." + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix specified when creating the managed cluster." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "FQDN of private cluster." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "Properties of the agent pool." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "Profile for Linux VMs in the container service cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "Profile for Windows VMs in the container service cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "Profile of managed cluster add-on." + }, + "nodeResourceGroup": { + "type": "string", + "description": "Name of the resource group containing agent pool nodes." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, + "enablePodSecurityPolicy": { + "type": "boolean", + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "Profile of network configuration." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "Profile of Azure Active Directory configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true + } + }, + "max-empty-bulk-delete": { + "type": "string" + }, + "max-graceful-termination-sec": { + "type": "string" + }, + "max-total-unready-percentage": { + "type": "string" + }, + "new-pod-scale-up-delay": { + "type": "string" + }, + "ok-total-unready-count": { + "type": "string" + }, + "scan-interval": { + "type": "string" + }, + "scale-down-delay-after-add": { + "type": "string" + }, + "scale-down-delay-after-delete": { + "type": "string" + }, + "scale-down-delay-after-failure": { + "type": "string" + }, + "scale-down-unneeded-time": { + "type": "string" + }, + "scale-down-unready-time": { + "type": "string" + }, + "scale-down-utilization-threshold": { + "type": "string" + }, + "skip-nodes-with-local-storage": { + "type": "string" + }, + "skip-nodes-with-system-pods": { + "type": "string" + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "Access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "identityProfile": { + "additionalProperties": { + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + }, + "description": "Identities associated with the cluster." + } + }, + "description": "Properties of the managed cluster." + }, + "PowerState": { + "description": "Describes the Power State of the cluster", + "properties": { + "code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "code", + "modelAsString": true + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Authorized IP Ranges to kubernetes API server." + }, + "enablePrivateCluster": { + "type": "boolean", + "description": "Whether to create the cluster as a private cluster or not." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity which is used by master components." + }, + "type": { + "type": "string", + "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "properties": { + "resourceId": { + "type": "string", + "description": "The resource id of the user assigned identity." + }, + "clientId": { + "type": "string", + "description": "The client id of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object id of the user assigned identity." + } + } + }, + "ManagedClusterAccessProfile": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false + }, + "AccessProfile": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string", + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "Profile for enabling a user to access a managed cluster." + }, + "ManagedClusterPoolUpgradeProfile": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "name": { + "type": "string", + "description": "Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "ManagedClusterUpgradeProfileProperties": { + "properties": { + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "description": "The list of available upgrade versions for agent pools." + } + }, + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ], + "description": "Control plane and agent pool upgrade profiles." + }, + "ManagedClusterAADProfile": { + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "AAD group object IDs that will have admin role of the cluster." + }, + "clientAppID": { + "type": "string", + "description": "The client AAD application ID." + }, + "serverAppID": { + "type": "string", + "description": "The server AAD application ID." + }, + "serverAppSecret": { + "type": "string", + "description": "The server AAD application secret." + }, + "tenantID": { + "type": "string", + "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." + } + }, + "description": "AADProfile specifies attributes for Azure Active Directory integration." + }, + "ManagedClusterAddonProfile": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs for configuring an add-on." + }, + "identity": { + "readOnly": true, + "description": "Information of user assigned identity used by this add-on.", + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + } + }, + "required": [ + "enabled" + ], + "description": "A Kubernetes add-on profile for a managed cluster." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "Properties of upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "Properties of agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "LatestNodeImageVersion is the latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of the agent pool available versions." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the agent pool available versions." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool available versions." + }, + "properties": { + "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", + "description": "Properties of agent pool available versions.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available versions for an agent pool." + }, + "AgentPoolAvailableVersionsProperties": { + "properties": { + "agentPoolVersions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "default": { + "type": "boolean", + "description": "Whether this version is the default agent pool version." + }, + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } + } + }, + "description": "List of versions available for agent pool." + } + }, + "description": "The list of available agent pool versions." + }, + "OSType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true + }, + "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true + }, + "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete." + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + }, + "ProximityPlacementGroupID": { + "type": "string", + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list of credential result response." + }, + "CredentialResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the credential." + }, + "value": { + "type": "string", + "format": "byte", + "readOnly": true, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The credential result response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the Container service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container service." + }, + "ManagedClusterSKU": { + "properties": { + "name": { + "type": "string", + "description": "Name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of a managed cluster SKU.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true + } + } + } + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource Id for private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "type": "string", + "description": "The resource type." + }, + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "RequiredMembers of the resource" + }, + "privateLinkServiceID": { + "readOnly": true, + "type": "string", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + } + } + }, + "OSDiskType": { + "type": "string", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true + }, + "description": "OSDiskType represents the type of an OS disk on an agent pool." + } + }, + "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" + }, + "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", + "minLength": 1, + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "description": "The name of the managed cluster resource.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerservice/resource-manager/readme.azureresourceschema.md b/specification/containerservice/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..90ab94bce32e --- /dev/null +++ b/specification/containerservice/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,303 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-containerservice-2020-07-01 + - tag: schema-containerservice-2020-06-01 + - tag: schema-containerservice-2020-04-01 + - tag: schema-containerservice-2020-03-01 + - tag: schema-containerservice-2020-02-01 + - tag: schema-containerservice-2020-01-01 + - tag: schema-containerservice-2019-11-01 + - tag: schema-containerservice-2019-10-27-preview + - tag: schema-containerservice-2019-10-01 + - tag: schema-containerservice-2019-09-30 + - tag: schema-containerservice-2019-08-01 + - tag: schema-containerservice-2019-06-01 + - tag: schema-containerservice-2019-04-30 + - tag: schema-containerservice-2019-04-01 + - tag: schema-containerservice-2019-02-01 + - tag: schema-containerservice-2018-09-30-preview + - tag: schema-containerservice-2018-08-01-preview + - tag: schema-containerservice-2018-03-31 + - tag: schema-containerservice-2017-09-30 + - tag: schema-containerservice-2017-08-31 + - tag: schema-containerservice-2017-07-01 + - tag: schema-containerservice-2017-01-31 + - tag: schema-containerservice-2016-09-30 + - tag: schema-containerservice-2016-03-30 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-containerservice-2020-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-07-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-06-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-04-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-03-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-02-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2020-01-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-11-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-10-27-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-10-27-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2019-10-27-preview/openShiftManagedClusters.json + +``` + +### Tag: schema-containerservice-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-10-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json + +``` + +### Tag: schema-containerservice-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-08-01/location.json + - Microsoft.ContainerService/stable/2019-08-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-06-01/location.json + - Microsoft.ContainerService/stable/2019-06-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2019-04-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-04-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json + +``` + +### Tag: schema-containerservice-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-04-01/managedClusters.json + - Microsoft.ContainerService/stable/2019-04-01/location.json + +``` + +### Tag: schema-containerservice-2019-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2019-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2019-02-01/managedClusters.json + +``` + +### Tag: schema-containerservice-2018-09-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2018-09-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json + +``` + +### Tag: schema-containerservice-2018-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2018-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json + +``` + +### Tag: schema-containerservice-2018-03-31 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2018-03-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2018-03-31/managedClusters.json + +``` + +### Tag: schema-containerservice-2017-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-09-30/location.json + +``` + +### Tag: schema-containerservice-2017-08-31 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-08-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-08-31/managedClusters.json + +``` + +### Tag: schema-containerservice-2017-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-07-01/containerService.json + +``` + +### Tag: schema-containerservice-2017-01-31 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2017-01-31/containerService.json + +``` + +### Tag: schema-containerservice-2016-09-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2016-09-30/containerService.json + +``` + +### Tag: schema-containerservice-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ContainerService/stable/2016-03-30/containerService.json + +``` diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md index 0e97d488f974..4ce9ad0f6647 100644 --- a/specification/containerservice/resource-manager/readme.go.md +++ b/specification/containerservice/resource-manager/readme.go.md @@ -12,6 +12,9 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-09 + - tag: package-2020-07 + - tag: package-2020-06 - tag: package-2020-04 - tag: package-2020-03 - tag: package-2020-02 @@ -31,6 +34,35 @@ batch: - tag: package-2017-08 - tag: package-2017-07 ``` +### Tag: package-2020-09 and go + +These settings apply only when `--package-2020-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-09' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace) +``` + +### Tag: package-2020-07 and go + +These settings apply only when `--package-2020-07 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-07' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace) +``` + +### Tag: package-2020-06 and go + +These settings apply only when `--package-2020-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-06' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +``` ### Tag: package-2020-04 and go diff --git a/specification/containerservice/resource-manager/readme.java.md b/specification/containerservice/resource-manager/readme.java.md index 4f496925aa45..d3c231ff32db 100644 --- a/specification/containerservice/resource-manager/readme.java.md +++ b/specification/containerservice/resource-manager/readme.java.md @@ -24,6 +24,47 @@ batch: - tag: package-2020-02 - tag: package-2020-03 - tag: package-2020-04 + - tag: package-2020-06 + - tag: package-2020-07 + - tag: package-2020-09 +``` + +### Tag: package-2020-07 and java + +These settings apply only when `--tag=package-2020-07` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-07' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2020_07_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_07_01 +regenerate-manager: true +generate-interface: true +``` +### Tag: package-2020-09 and java + +These settings apply only when `--tag=package-2020-09` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2020_09_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_09_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2020-06 and java + +These settings apply only when `--tag=package-2020-06` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_06_01 +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2020-04 and java @@ -180,4 +221,4 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2017_07_01 regenerate-manager: true generate-interface: true -``` \ No newline at end of file +``` diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md index 3b25efeec43a..0422a527f0db 100644 --- a/specification/containerservice/resource-manager/readme.md +++ b/specification/containerservice/resource-manager/readme.md @@ -34,21 +34,57 @@ These are the global settings for the ContainerServices API. ``` yaml openapi-type: arm -tag: package-2020-04 +tag: package-2020-09 ``` +### Tag: package-2020-09 + +These settings apply only when `--tag=package-2020-09` is specified on the command line. + +```yaml $(tag) == 'package-2020-09' +input-file: + - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json + - Microsoft.ContainerService/stable/2017-07-01/containerService.json + - Microsoft.ContainerService/stable/2019-08-01/location.json + - Microsoft.ContainerService/stable/2020-09-01/managedClusters.json +``` +### Tag: package-2020-07 + +These settings apply only when `--tag=package-2020-07` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07' +input-file: + - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json + - Microsoft.ContainerService/stable/2017-07-01/containerService.json + - Microsoft.ContainerService/stable/2019-08-01/location.json + - Microsoft.ContainerService/stable/2020-07-01/managedClusters.json +``` + +### Tag: package-2020-06 + +These settings apply only when `--tag=package-2020-06` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06' +input-file: + - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json + - Microsoft.ContainerService/stable/2017-07-01/containerService.json + - Microsoft.ContainerService/stable/2019-08-01/location.json + - Microsoft.ContainerService/stable/2020-06-01/managedClusters.json +``` + ### Tag: package-2020-04 These settings apply only when `--tag=package-2020-04` is specified on the command line. -```yaml $(tag) == 'package-2020-04' +``` yaml $(tag) == 'package-2020-04' input-file: - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json - Microsoft.ContainerService/stable/2017-07-01/containerService.json - Microsoft.ContainerService/stable/2019-08-01/location.json - Microsoft.ContainerService/stable/2020-04-01/managedClusters.json ``` + ### Tag: package-2020-03 These settings apply only when `--tag=package-2020-03` is specified on the command line. @@ -244,6 +280,45 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma ``` yaml $(tag) == 'package-2017-07' input-file: - Microsoft.ContainerService/stable/2017-07-01/containerService.json + +``` +### Tag: package-2020-09-01-only + +These settings apply only when `--tag=package-2020-09-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-01-only' +input-file: +- Microsoft.ContainerService/stable/2020-09-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + +### Tag: package-2020-07-01-only + +These settings apply only when `--tag=package-2020-07-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-01-only' +input-file: +- Microsoft.ContainerService/stable/2020-07-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + +### Tag: package-2020-06-01-only + +These settings apply only when `--tag=package-2020-06-01-only` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-01-only' +input-file: +- Microsoft.ContainerService/stable/2020-06-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2020-04-01-only @@ -483,6 +558,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_container_service'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js containerservice/resource-manager ``` ## C# @@ -520,6 +598,10 @@ directive: reason: ACS service is deprecated so a PATCH endpoint won't be implemented ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -535,6 +617,8 @@ input-file: - $(this-folder)/Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json - $(this-folder)/Microsoft.ContainerService/stable/2017-07-01/containerService.json - $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/location.json + - $(this-folder)/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json + - $(this-folder)/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json - $(this-folder)/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json - $(this-folder)/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json - $(this-folder)/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json @@ -564,6 +648,6 @@ If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' -#exclude-file: +#exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md index 9b8f710a5632..7a02ff59401b 100644 --- a/specification/containerservice/resource-manager/readme.python.md +++ b/specification/containerservice/resource-manager/readme.python.md @@ -18,6 +18,9 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) batch: + - tag: package-2020-09-01-only + - tag: package-2020-07-01-only + - tag: package-2020-06-01-only - tag: package-2020-04-01-only - tag: package-2020-03-01-only - tag: package-2020-02-01-only @@ -37,6 +40,39 @@ batch: - tag: package-2017-07-only-extended ``` +### Tag: package-2020-09-01-only and python + +These settings apply only when `--tag=package-2020-09-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-09-01-only' && $(python) +python: + namespace: azure.mgmt.containerservice.v2020_09_01 + output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_09_01 +``` + +### Tag: package-2020-07-01-only and python + +These settings apply only when `--tag=package-2020-07-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-07-01-only' && $(python) +python: + namespace: azure.mgmt.containerservice.v2020_07_01 + output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_07_01 +``` + +### Tag: package-2020-06-01-only and python + +These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-06-01-only' && $(python) +python: + namespace: azure.mgmt.containerservice.v2020_06_01 + output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_06_01 +``` + ### Tag: package-2020-04-01-only and python These settings apply only when `--tag=package-2020-04-01-only --python` is specified on the command line. diff --git a/specification/cosmos-db/data-plane/readme.go.md b/specification/cosmos-db/data-plane/readme.go.md index e8b63caff258..610b160a3ccf 100644 --- a/specification/cosmos-db/data-plane/readme.go.md +++ b/specification/cosmos-db/data-plane/readme.go.md @@ -22,5 +22,5 @@ These settings apply only when `--tag=package-2019-02 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag) == 'package-2019-02' && $(go) -output-folder: $(go-sdk-folder)/services/storage/tables/2019-02-02/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/storage/tables/2019-02-02-preview/$(namespace) ``` \ No newline at end of file diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json new file mode 100644 index 000000000000..9cde743923e7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json @@ -0,0 +1,8020 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2020-06-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.DocumentDB/databaseAccounts/{accountName}": { + "get": { + "operationId": "DatabaseAccounts_Get", + "x-ms-examples": { + "CosmosDBDatabaseAccountGet": { + "$ref": "./examples/CosmosDBDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "patch": { + "operationId": "DatabaseAccounts_Update", + "x-ms-examples": { + "CosmosDBDatabaseAccountPatch": { + "$ref": "./examples/CosmosDBDatabaseAccountPatch.json" + } + }, + "description": "Updates the properties of an existing Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountUpdateParameters" + }, + "description": "The parameters to provide for the current database account." + } + ], + "responses": { + "200": { + "description": "The database account update operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "put": { + "operationId": "DatabaseAccounts_CreateOrUpdate", + "x-ms-examples": { + "CosmosDBDatabaseAccountCreateMin": { + "$ref": "./examples/CosmosDBDatabaseAccountCreateMin.json" + }, + "CosmosDBDatabaseAccountCreateMax": { + "$ref": "./examples/CosmosDBDatabaseAccountCreateMax.json" + }, + "CosmosDBRestoreDatabaseAccountCreateUpdate.json": { + "$ref": "./examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json" + } + }, + "description": "Creates or updates an Azure Cosmos DB database account. The \"Update\" method is preferred when performing updates on an account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountCreateUpdateParameters" + }, + "description": "The parameters to provide for the current database account." + } + ], + "responses": { + "200": { + "description": "The database account create or update operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DatabaseAccountGetResults" + } + } + } + }, + "delete": { + "operationId": "DatabaseAccounts_Delete", + "x-ms-examples": { + "CosmosDBDatabaseAccountDelete": { + "$ref": "./examples/CosmosDBDatabaseAccountDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The database account delete operation will complete asynchronously." + }, + "204": { + "description": "The specified account does not exist in the subscription." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange": { + "post": { + "operationId": "DatabaseAccounts_FailoverPriorityChange", + "x-ms-examples": { + "CosmosDBDatabaseAccountFailoverPriorityChange": { + "$ref": "./examples/CosmosDBDatabaseAccountFailoverPriorityChange.json" + } + }, + "description": "Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "failoverParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverPolicies" + }, + "description": "The new failover policies for the database account." + } + ], + "responses": { + "202": { + "description": "Accepted. The failover policy change operation will complete asynchronously." + }, + "204": { + "description": "No Content" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts": { + "get": { + "operationId": "DatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBDatabaseAccountList": { + "$ref": "./examples/CosmosDBDatabaseAccountList.json" + } + }, + "description": "Lists all the Azure Cosmos DB database accounts available under the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts": { + "get": { + "operationId": "DatabaseAccounts_ListByResourceGroup", + "x-ms-examples": { + "CosmosDBDatabaseAccountListByResourceGroup": { + "$ref": "./examples/CosmosDBDatabaseAccountListByResourceGroup.json" + } + }, + "description": "Lists all the Azure Cosmos DB database accounts available under the given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys": { + "post": { + "operationId": "DatabaseAccounts_ListKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListKeys.json" + } + }, + "description": "Lists the access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings": { + "post": { + "operationId": "DatabaseAccounts_ListConnectionStrings", + "x-ms-examples": { + "CosmosDBDatabaseAccountListConnectionStrings": { + "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStrings.json" + }, + "CosmosDBDatabaseAccountListConnectionStringsMongo": { + "$ref": "./examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json" + } + }, + "description": "Lists the connection strings for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListConnectionStringsResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion": { + "post": { + "operationId": "DatabaseAccounts_OfflineRegion", + "x-ms-examples": { + "CosmosDBDatabaseAccountOfflineRegion": { + "$ref": "./examples/CosmosDBDatabaseAccountOfflineRegion.json" + } + }, + "description": "Offline the specified region for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "regionParameterForOffline", + "in": "body", + "required": true, + "description": "Cosmos DB region to offline for the database account.", + "schema": { + "$ref": "#/definitions/RegionForOnlineOffline" + } + } + ], + "responses": { + "200": { + "description": "The offline region operation is completed successfully." + }, + "202": { + "description": "Accepted. The offline region operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion": { + "post": { + "operationId": "DatabaseAccounts_OnlineRegion", + "x-ms-examples": { + "CosmosDBDatabaseAccountOnlineRegion": { + "$ref": "./examples/CosmosDBDatabaseAccountOnlineRegion.json" + } + }, + "description": "Online the specified region for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "regionParameterForOnline", + "in": "body", + "required": true, + "description": "Cosmos DB region to online for the database account.", + "schema": { + "$ref": "#/definitions/RegionForOnlineOffline" + } + } + ], + "responses": { + "200": { + "description": "The online region operation is completed successfully." + }, + "202": { + "description": "Accepted. The online region operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys": { + "get": { + "operationId": "DatabaseAccounts_GetReadOnlyKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListReadOnlyKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json" + } + }, + "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + } + } + }, + "post": { + "operationId": "DatabaseAccounts_ListReadOnlyKeys", + "x-ms-examples": { + "CosmosDBDatabaseAccountListReadOnlyKeys": { + "$ref": "./examples/CosmosDBDatabaseAccountListReadOnlyKeys.json" + } + }, + "description": "Lists the read-only access keys for the specified Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey": { + "post": { + "operationId": "DatabaseAccounts_RegenerateKey", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegenerateKey": { + "$ref": "./examples/CosmosDBDatabaseAccountRegenerateKey.json" + } + }, + "description": "Regenerates an access key for the specified Azure Cosmos DB database account.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "keyToRegenerate", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseAccountRegenerateKeyParameters" + }, + "description": "The name of the key to regenerate." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate key operation will complete asynchronously." + } + } + } + }, + "/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}": { + "head": { + "operationId": "DatabaseAccounts_CheckNameExists", + "x-ms-examples": { + "CosmosDBDatabaseAccountCheckNameExists": { + "$ref": "./examples/CosmosDBDatabaseAccountCheckNameExists.json" + } + }, + "description": "Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters.", + "parameters": [ + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The account name is valid but is already in use." + }, + "404": { + "description": "Not Found. The account name is available and valid." + } + } + } + }, + "/providers/Microsoft.DocumentDB/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Cosmos DB Resource Provider operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "CosmosDBOperationsList": { + "$ref": "./examples/CosmosDBOperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics": { + "get": { + "operationId": "DatabaseAccounts_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseAccountGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics": { + "get": { + "operationId": "Database_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics": { + "get": { + "operationId": "Collection_ListMetrics", + "x-ms-examples": { + "CosmosDBCollectionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics": { + "get": { + "operationId": "CollectionRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBRegionCollectionGetMetrics": { + "$ref": "./examples/CosmosDBRegionCollectionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account, collection and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics": { + "get": { + "operationId": "DatabaseAccountRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBDatabaseAccountRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The metrics for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics": { + "get": { + "operationId": "PercentileSourceTarget_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileSourceTargetGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/sourceRegionParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account, source and target regions were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics": { + "get": { + "operationId": "PercentileTarget_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileTargetGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account and target regions were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics": { + "get": { + "operationId": "Percentile_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPercentileGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The percentile metrics for the account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PercentileMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": { + "get": { + "operationId": "CollectionPartitionRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionPartitionRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given collection and region, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the collection and region were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics": { + "get": { + "operationId": "CollectionPartition_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBCollectionPartitionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given collection, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": { + "get": { + "operationId": "PartitionKeyRangeId_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPKeyRangeIdGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given partition key range id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the partition key range id were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics": { + "get": { + "operationId": "PartitionKeyRangeIdRegion_ListMetrics", + "x-ms-examples": { + "CosmosDBDatabaseAccountRegionGetMetrics": { + "$ref": "./examples/CosmosDBPKeyRangeIdRegionGetMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the metrics determined by the given filter for the given partition key range id and region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/filterParameter" + } + ], + "responses": { + "200": { + "description": "The partition-level metrics for the partition key range id and region were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionMetricListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages": { + "get": { + "operationId": "DatabaseAccounts_ListUsages", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetUsages": { + "$ref": "./examples/CosmosDBDatabaseAccountGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent data) for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages": { + "get": { + "operationId": "Database_ListUsages", + "x-ms-examples": { + "CosmosDBDatabaseGetUsages": { + "$ref": "./examples/CosmosDBDatabaseGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent data) for the given database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the database were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages": { + "get": { + "operationId": "Collection_ListUsages", + "x-ms-examples": { + "CosmosDBCollectionGetUsages": { + "$ref": "./examples/CosmosDBCollectionGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent storage data) for the given collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages": { + "get": { + "operationId": "CollectionPartition_ListUsages", + "x-ms-examples": { + "CosmosDBCollectionGetUsages": { + "$ref": "./examples/CosmosDBCollectionPartitionGetUsages.json" + } + }, + "description": "Retrieves the usages (most recent storage data) for the given collection, split by partition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for the collection, per partition were retrieved successfully.", + "schema": { + "$ref": "#/definitions/PartitionUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions": { + "get": { + "operationId": "Database_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBDatabaseGetMetricDefinitions": { + "$ref": "./examples/CosmosDBDatabaseGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the database were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions": { + "get": { + "operationId": "Collection_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBCollectionGetMetricDefinitions": { + "$ref": "./examples/CosmosDBCollectionGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given collection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the collection were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions": { + "get": { + "operationId": "DatabaseAccounts_ListMetricDefinitions", + "x-ms-examples": { + "CosmosDBDatabaseAccountGetMetricDefinitions": { + "$ref": "./examples/CosmosDBDatabaseAccountGetMetricDefinitions.json" + } + }, + "description": "Retrieves metric definitions for the given database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The metric definitions for the database account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MetricDefinitionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases": { + "get": { + "operationId": "SqlResources_ListSqlDatabases", + "x-ms-examples": { + "CosmosDBSqlDatabaseList": { + "$ref": "./examples/CosmosDBSqlDatabaseList.json" + } + }, + "description": "Lists the SQL databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}": { + "get": { + "operationId": "SqlResources_GetSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseGet": { + "$ref": "./examples/CosmosDBSqlDatabaseGet.json" + } + }, + "description": "Gets the SQL database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBSqlDatabaseCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL database." + } + ], + "responses": { + "202": { + "description": "The SQL database create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlDatabase", + "x-ms-examples": { + "CosmosDBSqlDatabaseDelete": { + "$ref": "./examples/CosmosDBSqlDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "SqlResources_GetSqlDatabaseThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBSqlDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the SQL database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_UpdateSqlDatabaseThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBSqlDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB SQL database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current SQL database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the SQL database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the SQL database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": { + "get": { + "operationId": "SqlResources_ListSqlContainers", + "x-ms-examples": { + "CosmosDBSqlContainerList": { + "$ref": "./examples/CosmosDBSqlContainerList.json" + } + }, + "description": "Lists the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL container properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}": { + "get": { + "operationId": "SqlResources_GetSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerGet": { + "$ref": "./examples/CosmosDBSqlContainerGet.json" + } + }, + "description": "Gets the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL container property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerCreateUpdate": { + "$ref": "./examples/CosmosDBSqlContainerCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlContainerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlContainerCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL container." + } + ], + "responses": { + "202": { + "description": "The SQL container create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL container create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlContainerGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlContainer", + "x-ms-examples": { + "CosmosDBSqlContainerDelete": { + "$ref": "./examples/CosmosDBSqlContainerDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL container.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL container delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default": { + "get": { + "operationId": "SqlResources_GetSqlContainerThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerThroughputGet": { + "$ref": "./examples/CosmosDBSqlContainerThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the SQL container was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_UpdateSqlContainerThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerThroughputUpdate": { + "$ref": "./examples/CosmosDBSqlContainerThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB SQL container", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current SQL container." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the SQL container update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the SQL container update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": { + "get": { + "operationId": "SqlResources_ListSqlStoredProcedures", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureList": { + "$ref": "./examples/CosmosDBSqlStoredProcedureList.json" + } + }, + "description": "Lists the SQL storedProcedure under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL stored procedure properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}": { + "get": { + "operationId": "SqlResources_GetSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureGet": { + "$ref": "./examples/CosmosDBSqlStoredProcedureGet.json" + } + }, + "description": "Gets the SQL storedProcedure under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL storedProcedure property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureCreateUpdate": { + "$ref": "./examples/CosmosDBSqlStoredProcedureCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL storedProcedure", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlStoredProcedureParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL storedProcedure." + } + ], + "responses": { + "202": { + "description": "The SQL storedProcedure create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL storedProcedure create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlStoredProcedure", + "x-ms-examples": { + "CosmosDBSqlStoredProcedureDelete": { + "$ref": "./examples/CosmosDBSqlStoredProcedureDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL storedProcedure.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL storedProcedure delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL storedProcedure delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions": { + "get": { + "operationId": "SqlResources_ListSqlUserDefinedFunctions", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionList": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionList.json" + } + }, + "description": "Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL userDefinedFunction properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}": { + "get": { + "operationId": "SqlResources_GetSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionGet": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionGet.json" + } + }, + "description": "Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL userDefinedFunction property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionCreateUpdate": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL userDefinedFunction", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlUserDefinedFunctionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL userDefinedFunction." + } + ], + "responses": { + "202": { + "description": "The SQL userDefinedFunction create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL userDefinedFunction create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlUserDefinedFunction", + "x-ms-examples": { + "CosmosDBSqlUserDefinedFunctionDelete": { + "$ref": "./examples/CosmosDBSqlUserDefinedFunctionDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL userDefinedFunction.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL userDefinedFunction delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL userDefinedFunction delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers": { + "get": { + "operationId": "SqlResources_ListSqlTriggers", + "x-ms-examples": { + "CosmosDBSqlTriggerList": { + "$ref": "./examples/CosmosDBSqlTriggerList.json" + } + }, + "description": "Lists the SQL trigger under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL trigger properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}": { + "get": { + "operationId": "SqlResources_GetSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerGet": { + "$ref": "./examples/CosmosDBSqlTriggerGet.json" + } + }, + "description": "Gets the SQL trigger under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL trigger property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerCreateUpdate": { + "$ref": "./examples/CosmosDBSqlTriggerCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB SQL trigger", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlTriggerParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SqlTriggerCreateUpdateParameters" + }, + "description": "The parameters to provide for the current SQL trigger." + } + ], + "responses": { + "202": { + "description": "The SQL trigger create or update operation will complete asynchronously." + }, + "200": { + "description": "The SQL trigger create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlTriggerGetResults" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlTrigger", + "x-ms-examples": { + "CosmosDBSqlTriggerDelete": { + "$ref": "./examples/CosmosDBSqlTriggerDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB SQL trigger.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL trigger delete operation will complete asynchronously." + }, + "204": { + "description": "The SQL trigger delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases": { + "get": { + "operationId": "MongoDBResources_ListMongoDBDatabases", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseList": { + "$ref": "./examples/CosmosDBMongoDBDatabaseList.json" + } + }, + "description": "Lists the MongoDB databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}": { + "get": { + "operationId": "MongoDBResources_GetMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseGet": { + "$ref": "./examples/CosmosDBMongoDBDatabaseGet.json" + } + }, + "description": "Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBDatabaseCreateUpdate.json" + } + }, + "description": "Create or updates Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoDBDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The MongoDB database create or update operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoDBDatabase", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseDelete": { + "$ref": "./examples/CosmosDBMongoDBDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB MongoDB database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database delete operation will complete asynchronously." + }, + "204": { + "description": "The MongoDB database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "MongoDBResources_GetMongoDBDatabaseThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the MongoDB database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_UpdateMongoDBDatabaseThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBMongoDBDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of the an Azure Cosmos DB MongoDB database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current MongoDB database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the MongoDB database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the MongoDB database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": { + "get": { + "operationId": "MongoDBResources_ListMongoDBCollections", + "x-ms-examples": { + "CosmosDBMongoDBCollectionList": { + "$ref": "./examples/CosmosDBMongoDBCollectionList.json" + } + }, + "description": "Lists the MongoDB collection under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB collection properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}": { + "get": { + "operationId": "MongoDBResources_GetMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionGet": { + "$ref": "./examples/CosmosDBMongoDBCollectionGet.json" + } + }, + "description": "Gets the MongoDB collection under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The MongoDB collection property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBCollectionCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB MongoDB Collection", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoDBCollectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateParameters" + }, + "description": "The parameters to provide for the current MongoDB Collection." + } + ], + "responses": { + "202": { + "description": "The MongoDB Collection create or update operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB Collection create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoDBCollection", + "x-ms-examples": { + "CosmosDBMongoDBCollectionDelete": { + "$ref": "./examples/CosmosDBMongoDBCollectionDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB MongoDB Collection.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection delete operation will complete asynchronously." + }, + "204": { + "description": "The MongoDB collection delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default": { + "get": { + "operationId": "MongoDBResources_GetMongoDBCollectionThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionThroughputGet": { + "$ref": "./examples/CosmosDBMongoDBCollectionThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the MongoDB collection was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_UpdateMongoDBCollectionThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionThroughputUpdate": { + "$ref": "./examples/CosmosDBMongoDBCollectionThroughputUpdate.json" + } + }, + "description": "Update the RUs per second of an Azure Cosmos DB MongoDB collection", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current MongoDB collection." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the MongoDB collection update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the MongoDB collection update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": { + "get": { + "operationId": "TableResources_ListTables", + "x-ms-examples": { + "CosmosDBTableList": { + "$ref": "./examples/CosmosDBTableList.json" + } + }, + "description": "Lists the Tables under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": { + "get": { + "operationId": "TableResources_GetTable", + "x-ms-examples": { + "CosmosDBTableGet": { + "$ref": "./examples/CosmosDBTableGet.json" + } + }, + "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_CreateUpdateTable", + "x-ms-examples": { + "CosmosDBTableReplace": { + "$ref": "./examples/CosmosDBTableCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TableCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Table." + } + ], + "responses": { + "202": { + "description": "The Table create or update operation will complete asynchronously." + }, + "200": { + "description": "The Table create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "delete": { + "operationId": "TableResources_DeleteTable", + "x-ms-examples": { + "CosmosDBTableDelete": { + "$ref": "./examples/CosmosDBTableDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Table.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table delete operation will complete asynchronously." + }, + "204": { + "description": "The Table delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default": { + "get": { + "operationId": "TableResources_GetTableThroughput", + "x-ms-examples": { + "CosmosDBTableThroughputGet": { + "$ref": "./examples/CosmosDBTableThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Table was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_UpdateTableThroughput", + "x-ms-examples": { + "CosmosDBTableThroughputUpdate": { + "$ref": "./examples/CosmosDBTableThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The parameters to provide for the RUs per second of the current Table." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Table update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Table update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": { + "get": { + "operationId": "CassandraResources_ListCassandraKeyspaces", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceList": { + "$ref": "./examples/CosmosDBCassandraKeyspaceList.json" + } + }, + "description": "Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra keyspace properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}": { + "get": { + "operationId": "CassandraResources_GetCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceGet": { + "$ref": "./examples/CosmosDBCassandraKeyspaceGet.json" + } + }, + "description": "Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra keyspace property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraKeyspaceCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra keyspace", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraKeyspaceParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra keyspace." + } + ], + "responses": { + "202": { + "description": "The Cassandra keyspace create or update operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra keyspace create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraKeyspace", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceDelete": { + "$ref": "./examples/CosmosDBCassandraKeyspaceDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra keyspace.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra keyspace delete operation will complete asynchronously." + }, + "204": { + "description": "The Cassandra keyspace delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraKeyspaceThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceThroughputGet": { + "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra Keyspace was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraKeyspaceThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraKeyspaceThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra Keyspace", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra Keyspace." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra Keyspace update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Cassandra Keyspace update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": { + "get": { + "operationId": "CassandraResources_ListCassandraTables", + "x-ms-examples": { + "CosmosDBCassandraTableList": { + "$ref": "./examples/CosmosDBCassandraTableList.json" + } + }, + "description": "Lists the Cassandra table under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}": { + "get": { + "operationId": "CassandraResources_GetCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableGet": { + "$ref": "./examples/CosmosDBCassandraTableGet.json" + } + }, + "description": "Gets the Cassandra table under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraTableCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra Table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraTableParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraTableCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra Table." + } + ], + "responses": { + "202": { + "description": "The Cassandra Table create or update operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Table create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraTableGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraTable", + "x-ms-examples": { + "CosmosDBCassandraTableDelete": { + "$ref": "./examples/CosmosDBCassandraTableDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra table.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table delete operation will complete asynchronously." + }, + "204": { + "description": "The Cassandra table delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraTableThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableThroughputGet": { + "$ref": "./examples/CosmosDBCassandraTableThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra table was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraTableThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraTableThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra table", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Cassandra table." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra table update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Cassandra table update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": { + "get": { + "operationId": "GremlinResources_ListGremlinDatabases", + "x-ms-examples": { + "CosmosDBGremlinDatabaseList": { + "$ref": "./examples/CosmosDBGremlinDatabaseList.json" + } + }, + "description": "Lists the Gremlin databases under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin database properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}": { + "get": { + "operationId": "GremlinResources_GetGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseGet": { + "$ref": "./examples/CosmosDBGremlinDatabaseGet.json" + } + }, + "description": "Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin database property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_CreateUpdateGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseCreateUpdate": { + "$ref": "./examples/CosmosDBGremlinDatabaseCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Gremlin database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGremlinDatabaseParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GremlinDatabaseCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Gremlin database." + } + ], + "responses": { + "202": { + "description": "The Gremlin database create or update operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + } + } + } + }, + "delete": { + "operationId": "GremlinResources_DeleteGremlinDatabase", + "x-ms-examples": { + "CosmosDBGremlinDatabaseDelete": { + "$ref": "./examples/CosmosDBGremlinDatabaseDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Gremlin database.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database delete operation will complete asynchronously." + }, + "204": { + "description": "The Gremlin database delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default": { + "get": { + "operationId": "GremlinResources_GetGremlinDatabaseThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseThroughputGet": { + "$ref": "./examples/CosmosDBGremlinDatabaseThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Gremlin database was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_UpdateGremlinDatabaseThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseThroughputUpdate": { + "$ref": "./examples/CosmosDBGremlinDatabaseThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Gremlin database", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Gremlin database." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Gremlin database update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Gremlin database update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": { + "get": { + "operationId": "GremlinResources_ListGremlinGraphs", + "x-ms-examples": { + "CosmosDBGremlinGraphList": { + "$ref": "./examples/CosmosDBGremlinGraphList.json" + } + }, + "description": "Lists the Gremlin graph under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin graph properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}": { + "get": { + "operationId": "GremlinResources_GetGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphGet": { + "$ref": "./examples/CosmosDBGremlinGraphGet.json" + } + }, + "description": "Gets the Gremlin graph under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Gremlin graph property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_CreateUpdateGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphCreateUpdate": { + "$ref": "./examples/CosmosDBGremlinGraphCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Gremlin graph", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGremlinGraphParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GremlinGraphCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Gremlin graph." + } + ], + "responses": { + "202": { + "description": "The Gremlin graph create or update operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GremlinGraphGetResults" + } + } + } + }, + "delete": { + "operationId": "GremlinResources_DeleteGremlinGraph", + "x-ms-examples": { + "CosmosDBGremlinGraphDelete": { + "$ref": "./examples/CosmosDBGremlinGraphDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Gremlin graph.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph delete operation will complete asynchronously." + }, + "204": { + "description": "The Gremlin graph delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default": { + "get": { + "operationId": "GremlinResources_GetGremlinGraphThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphThroughputGet": { + "$ref": "./examples/CosmosDBGremlinGraphThroughputGet.json" + } + }, + "description": "Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Gremlin graph was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "GremlinResources_UpdateGremlinGraphThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphThroughputUpdate": { + "$ref": "./examples/CosmosDBGremlinGraphThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Gremlin graph", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "updateThroughputParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThroughputSettingsUpdateParameters" + }, + "description": "The RUs per second of the parameters to provide for the current Gremlin graph." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Gremlin graph update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Gremlin graph update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_ListByLocation", + "x-ms-examples": { + "CosmosDBDatabaseAccountList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseUpdatedFormat" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBDatabaseAccountList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountNoLocationList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseUpdatedFormat" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": { + "get": { + "operationId": "RestorableDatabaseAccounts_GetByLocation", + "x-ms-examples": { + "CosmosDBDatabaseAccountGet": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB restorable database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The restorable database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseUpdatedFormat" + } + } + } + } + } + }, + "definitions": { + "DatabaseAccountsListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseAccountGetResults" + }, + "description": "List of database account and their properties." + } + }, + "description": "The List operation response, that contains the database accounts and their properties." + }, + "SqlDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlDatabaseGetResults" + }, + "description": "List of SQL databases and their properties." + } + }, + "description": "The List operation response, that contains the SQL databases and their properties." + }, + "SqlContainerListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlContainerGetResults" + }, + "description": "List of containers and their properties." + } + }, + "description": "The List operation response, that contains the containers and their properties." + }, + "SqlStoredProcedureListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlStoredProcedureGetResults" + }, + "description": "List of storedProcedures and their properties." + } + }, + "description": "The List operation response, that contains the storedProcedures and their properties." + }, + "SqlUserDefinedFunctionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlUserDefinedFunctionGetResults" + }, + "description": "List of userDefinedFunctions and their properties." + } + }, + "description": "The List operation response, that contains the userDefinedFunctions and their properties." + }, + "SqlTriggerListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SqlTriggerGetResults" + }, + "description": "List of triggers and their properties." + } + }, + "description": "The List operation response, that contains the triggers and their properties." + }, + "MongoDBDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MongoDBDatabaseGetResults" + }, + "description": "List of MongoDB databases and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB databases and their properties." + }, + "MongoDBCollectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MongoDBCollectionGetResults" + }, + "description": "List of MongoDB collections and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB collections and their properties." + }, + "TableListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TableGetResults" + }, + "description": "List of Table and their properties." + } + }, + "description": "The List operation response, that contains the Table and their properties." + }, + "CassandraKeyspaceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraKeyspaceGetResults" + }, + "description": "List of Cassandra keyspaces and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra keyspaces and their properties." + }, + "CassandraTableListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraTableGetResults" + }, + "description": "List of Cassandra tables and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra tables and their properties." + }, + "GremlinDatabaseListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GremlinDatabaseGetResults" + }, + "description": "List of Gremlin databases and their properties." + } + }, + "description": "The List operation response, that contains the Gremlin databases and their properties." + }, + "GremlinGraphListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GremlinGraphGetResults" + }, + "description": "List of graphs and their properties." + } + }, + "description": "The List operation response, that contains the graphs and their properties." + }, + "ErrorResponse": { + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + }, + "description": "Error Response." + }, + "ErrorResponseUpdatedFormat": { + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + }, + "FailoverPolicies": { + "properties": { + "failoverPolicies": { + "type": "array", + "description": "List of failover policies.", + "items": { + "$ref": "#/definitions/FailoverPolicy" + } + } + }, + "required": [ + "failoverPolicies" + ], + "description": "The list of new failover policies for the failover priority change." + }, + "FailoverPolicy": { + "type": "object", + "description": "The failover policy for a given region of a database account.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>." + }, + "locationName": { + "type": "string", + "description": "The name of the region in which the database account exists." + }, + "failoverPriority": { + "type": "integer", + "minimum": 0, + "format": "int32", + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists." + } + } + }, + "RegionForOnlineOffline": { + "properties": { + "region": { + "type": "string", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + } + }, + "required": [ + "region" + ], + "description": "Cosmos DB region to online or offline." + }, + "Location": { + "description": "A region in which the Azure Cosmos DB database account is deployed.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The unique identifier of the region within the database account. Example: <accountName>-<locationName>." + }, + "locationName": { + "type": "string", + "description": "The name of the region." + }, + "documentEndpoint": { + "type": "string", + "readOnly": true, + "description": "The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "failoverPriority": { + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists.", + "format": "int32", + "type": "integer", + "minimum": 0 + }, + "isZoneRedundant": { + "type": "boolean", + "description": "Flag to indicate whether or not this region is an AvailabilityZone region" + } + } + }, + "ARMResourceProperties": { + "type": "object", + "description": "The core properties of ARM resources.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the ARM resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the ARM resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "tags": { + "$ref": "#/definitions/Tags" + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + } + }, + "x-ms-azure-resource": true + }, + "ARMProxyResource": { + "type": "object", + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The unique resource identifier of the database account." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the database account." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of Azure resource." + } + }, + "x-ms-azure-resource": true + }, + "DatabaseAccountGetResults": { + "description": "An Azure Cosmos DB database account.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountGetProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "ExtendedResourceProperties": { + "description": "The system generated resource properties associated with SQL databases, SQL containers, Gremlin databases and Gremlin graphs.", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "description": "A system generated property. A unique identifier.", + "readOnly": true + }, + "_ts": { + "description": "A system generated property that denotes the last updated timestamp of the resource.", + "readOnly": true + }, + "_etag": { + "type": "string", + "description": "A system generated property representing the resource etag required for optimistic concurrency control.", + "readOnly": true + } + } + }, + "ThroughputSettingsGetResults": { + "description": "An Azure Cosmos DB resource throughput.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB resource throughput", + "$ref": "#/definitions/ThroughputSettingsGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "ThroughputSettingsGetProperties": { + "description": "The properties of an Azure Cosmos DB resource throughput", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/ThroughputSettingsResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlDatabaseGetResults": { + "description": "An Azure Cosmos DB SQL database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB SQL database", + "$ref": "#/definitions/SqlDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "properties": { + "_colls": { + "type": "string", + "description": "A system generated property that specified the addressable path of the collections resource." + }, + "_users": { + "type": "string", + "description": "A system generated property that specifies the addressable path of the users resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/SqlDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "SqlContainerGetResults": { + "description": "An Azure Cosmos DB container.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB container", + "$ref": "#/definitions/SqlContainerGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlContainerGetProperties": { + "description": "The properties of an Azure Cosmos DB container", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlContainerResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "SqlStoredProcedureGetResults": { + "description": "An Azure Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB storedProcedure", + "$ref": "#/definitions/SqlStoredProcedureGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlStoredProcedureGetProperties": { + "description": "The properties of an Azure Cosmos DB StoredProcedure", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlUserDefinedFunctionGetResults": { + "description": "An Azure Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB userDefinedFunction", + "$ref": "#/definitions/SqlUserDefinedFunctionGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlUserDefinedFunctionGetProperties": { + "description": "The properties of an Azure Cosmos DB userDefinedFunction", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "SqlTriggerGetResults": { + "description": "An Azure Cosmos DB trigger.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB trigger", + "$ref": "#/definitions/SqlTriggerGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "SqlTriggerGetProperties": { + "description": "The properties of an Azure Cosmos DB trigger", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/SqlTriggerResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "MongoDBDatabaseGetResults": { + "description": "An Azure Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB MongoDB database", + "$ref": "#/definitions/MongoDBDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "MongoDBDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB database", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "MongoDBCollectionGetResults": { + "description": "An Azure Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB MongoDB collection", + "$ref": "#/definitions/MongoDBCollectionGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "MongoDBCollectionGetProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB collection", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/MongoDBCollectionResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "TableGetResults": { + "description": "An Azure Cosmos DB Table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Table", + "$ref": "#/definitions/TableGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "TableGetProperties": { + "description": "The properties of an Azure Cosmos Table", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/TableResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraKeyspaceGetResults": { + "description": "An Azure Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra keyspace", + "$ref": "#/definitions/CassandraKeyspaceGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraKeyspaceGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra keyspace", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraTableGetResults": { + "description": "An Azure Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra table", + "$ref": "#/definitions/CassandraTableGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraTableGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra table", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraTableResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GremlinDatabaseGetResults": { + "description": "An Azure Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB SQL database", + "$ref": "#/definitions/GremlinDatabaseGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GremlinDatabaseGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/GremlinDatabaseResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GremlinGraphGetResults": { + "description": "An Azure Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Gremlin graph", + "$ref": "#/definitions/GremlinGraphGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "GremlinGraphGetProperties": { + "description": "The properties of an Azure Cosmos DB Gremlin graph", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/GremlinGraphResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "ConsistencyPolicy": { + "type": "object", + "description": "The consistency policy for the Cosmos DB database account.", + "properties": { + "defaultConsistencyLevel": { + "description": "The default consistency level and configuration settings of the Cosmos DB account.", + "type": "string", + "enum": [ + "Eventual", + "Session", + "BoundedStaleness", + "Strong", + "ConsistentPrefix" + ], + "x-ms-enum": { + "name": "DefaultConsistencyLevel", + "modelAsString": false + } + }, + "maxStalenessPrefix": { + "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + }, + "maxIntervalInSeconds": { + "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'.", + "type": "integer", + "minimum": 5, + "maximum": 86400, + "format": "int32" + } + }, + "required": [ + "defaultConsistencyLevel" + ] + }, + "CorsPolicy": { + "type": "object", + "description": "The CORS policy for the Cosmos DB database account.", + "properties": { + "allowedOrigins": { + "description": "The origin domains that are permitted to make a request against the service via CORS.", + "type": "string" + }, + "allowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request.", + "type": "string" + }, + "allowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "exposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "maxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + } + }, + "required": [ + "allowedOrigins" + ] + }, + "DatabaseAccountGetProperties": { + "description": "Properties for the database account.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "documentEndpoint": { + "description": "The connection endpoint for the Cosmos DB database account.", + "type": "string", + "readOnly": true + }, + "databaseAccountOfferType": { + "description": "The offer type for the Cosmos DB database account. Default value: Standard.", + "readOnly": true, + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB database account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "writeLocations": { + "type": "array", + "readOnly": true, + "description": "An array that contains the write location for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "readLocations": { + "type": "array", + "readOnly": true, + "description": "An array that contains of the read locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "failoverPolicies": { + "type": "array", + "readOnly": true, + "description": "An array that contains the regions ordered by their failover priorities.", + "items": { + "$ref": "#/definitions/FailoverPolicy" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "description": "List of Private Endpoint Connections configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "instanceId": { + "description": "A unique identifier assigned to the database account", + "type": "string", + "readOnly": true + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + } + } + }, + "DatabaseAccountCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB database accounts.", + "type": "object", + "discriminator": "createMode", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "databaseAccountOfferType": { + "description": "The offer type for the database", + "$ref": "#/definitions/DatabaseAccountOfferType" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + } + }, + "required": [ + "locations", + "databaseAccountOfferType", + "createMode" + ] + }, + "DefaultRequestDatabaseAccountCreateUpdateProperties": { + "description": "Properties for non-restore Azure Cosmos DB database account requests.", + "allOf": [ + { + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + } + ], + "x-ms-discriminator-value": "Default" + }, + "RestoreReqeustDatabaseAccountCreateUpdateProperties": { + "description": "Properties to restore Azure Cosmos DB database account.", + "allOf": [ + { + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + } + ], + "properties": { + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + } + }, + "x-ms-discriminator-value": "Restore" + }, + "DatabaseAccountCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB database accounts.", + "type": "object", + "properties": { + "kind": { + "description": "Indicates the type of database account. This can only be set at database account creation.", + "type": "string", + "default": "GlobalDocumentDB", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ], + "x-ms-enum": { + "name": "DatabaseAccountKind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "DatabaseAccountUpdateProperties": { + "description": "Properties to update Azure Cosmos DB database accounts.", + "type": "object", + "properties": { + "consistencyPolicy": { + "description": "The consistency policy for the Cosmos DB account.", + "$ref": "#/definitions/ConsistencyPolicy" + }, + "locations": { + "type": "array", + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/Location" + } + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "isVirtualNetworkFilterEnabled": { + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules.", + "type": "boolean" + }, + "enableAutomaticFailover": { + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.", + "type": "boolean" + }, + "capabilities": { + "type": "array", + "description": "List of Cosmos DB capabilities for the account", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "virtualNetworkRules": { + "type": "array", + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "enableMultipleWriteLocations": { + "description": "Enables the account to write in multiple locations", + "type": "boolean" + }, + "enableCassandraConnector": { + "description": "Enables the cassandra connector on the Cosmos DB C* account", + "type": "boolean" + }, + "connectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB database C* account.", + "$ref": "#/definitions/ConnectorOffer" + }, + "disableKeyBasedMetadataWriteAccess": { + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys", + "type": "boolean" + }, + "keyVaultKeyUri": { + "description": "The URI of the key vault", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + } + } + }, + "DatabaseAccountUpdateParameters": { + "description": "Parameters for patching Azure Cosmos DB database account properties.", + "type": "object", + "properties": { + "tags": { + "$ref": "#/definitions/Tags" + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountUpdateProperties" + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + } + } + }, + "DatabaseAccountListReadOnlyKeysResult": { + "description": "The read-only access keys for the given database account.", + "properties": { + "primaryReadonlyMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the primary read-only key." + }, + "secondaryReadonlyMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the secondary read-only key." + } + } + }, + "DatabaseAccountListKeysResult": { + "description": "The access keys for the given database account.", + "properties": { + "primaryMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the primary read-write key." + }, + "secondaryMasterKey": { + "readOnly": true, + "type": "string", + "description": "Base 64 encoded value of the secondary read-write key." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult" + } + ] + }, + "DatabaseAccountConnectionString": { + "description": "Connection string for the Cosmos DB account", + "properties": { + "connectionString": { + "readOnly": true, + "type": "string", + "description": "Value of the connection string" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the connection string" + } + } + }, + "DatabaseAccountListConnectionStringsResult": { + "description": "The connection strings for the given database account.", + "properties": { + "connectionStrings": { + "type": "array", + "description": "An array that contains the connection strings for the Cosmos DB account.", + "items": { + "$ref": "#/definitions/DatabaseAccountConnectionString" + } + } + } + }, + "DatabaseAccountRegenerateKeyParameters": { + "type": "object", + "description": "Parameters to regenerate the keys within the database account.", + "properties": { + "keyKind": { + "type": "string", + "description": "The access key to regenerate.", + "enum": [ + "primary", + "secondary", + "primaryReadonly", + "secondaryReadonly" + ], + "x-ms-enum": { + "name": "KeyKind", + "modelAsString": true + } + } + }, + "required": [ + "keyKind" + ] + }, + "DatabaseAccountOfferType": { + "description": "The offer type for the Cosmos DB database account.", + "type": "string", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "DatabaseAccountOfferType", + "modelAsString": false + } + }, + "ThroughputSettingsUpdateParameters": { + "description": "Parameters to update Cosmos DB resource throughput.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to update Azure Cosmos DB resource throughput.", + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "ThroughputSettingsUpdateProperties": { + "description": "Properties to update Azure Cosmos DB resource throughput.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a resource throughput", + "$ref": "#/definitions/ThroughputSettingsResource" + } + }, + "required": [ + "resource" + ] + }, + "SqlDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB SQL database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB SQL database.", + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB SQL database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a SQL database", + "$ref": "#/definitions/SqlDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "SqlContainerCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB container.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB container.", + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlContainerCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB container.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a container", + "$ref": "#/definitions/SqlContainerResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "SqlStoredProcedureCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB storedProcedure.", + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlStoredProcedureCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB storedProcedure.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a storedProcedure", + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "SqlUserDefinedFunctionCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.", + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlUserDefinedFunctionCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a userDefinedFunction", + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "SqlTriggerCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB trigger.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB trigger.", + "$ref": "#/definitions/SqlTriggerCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "SqlTriggerCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB trigger.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a trigger", + "$ref": "#/definitions/SqlTriggerResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "MongoDBDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB MongoDB database.", + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "MongoDBDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB MongoDB database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a MongoDB database", + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "MongoDBCollectionCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB MongoDB collection.", + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "MongoDBCollectionCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB MongoDB collection.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a MongoDB collection", + "$ref": "#/definitions/MongoDBCollectionResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "TableCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Table.", + "$ref": "#/definitions/TableCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "TableCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Table.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Table", + "$ref": "#/definitions/TableResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "CassandraKeyspaceCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.", + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraKeyspaceCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra keyspace", + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "CassandraTableCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra table.", + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraTableCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra table.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra table", + "$ref": "#/definitions/CassandraTableResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "GremlinDatabaseCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Gremlin database.", + "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GremlinDatabaseCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Gremlin database.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Gremlin database", + "$ref": "#/definitions/GremlinDatabaseResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "GremlinGraphCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Gremlin graph.", + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GremlinGraphCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Gremlin graph.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Gremlin graph", + "$ref": "#/definitions/GremlinGraphResource" + }, + "options": { + "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.", + "$ref": "#/definitions/CreateUpdateOptions" + } + }, + "required": [ + "resource", + "options" + ] + }, + "ThroughputSettingsResource": { + "type": "object", + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both.", + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both." + }, + "autoscaleSettings": { + "description": "Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both.", + "$ref": "#/definitions/AutoscaleSettingsResource" + }, + "minimumThroughput": { + "type": "string", + "description": "The minimum throughput of the resource", + "readOnly": true + }, + "offerReplacePending": { + "type": "string", + "description": "The throughput replace is pending", + "readOnly": true + } + } + }, + "AutoscaleSettingsResource": { + "type": "object", + "description": "Cosmos DB provisioned throughput settings object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput container can scale up to." + }, + "autoUpgradePolicy": { + "description": "Cosmos DB resource auto-upgrade policy", + "$ref": "#/definitions/AutoUpgradePolicyResource" + }, + "targetMaxThroughput": { + "type": "integer", + "description": "Represents target maximum throughput container can scale up to once offer is no longer in pending state.", + "readOnly": true + } + }, + "required": [ + "maxThroughput" + ] + }, + "AutoUpgradePolicyResource": { + "type": "object", + "description": "Cosmos DB resource auto-upgrade policy", + "properties": { + "throughputPolicy": { + "description": "Represents throughput policy which service must adhere to for auto-upgrade", + "$ref": "#/definitions/ThroughputPolicyResource" + } + } + }, + "ThroughputPolicyResource": { + "type": "object", + "description": "Cosmos DB resource throughput policy", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Determines whether the ThroughputPolicy is active or not" + }, + "incrementPercent": { + "type": "integer", + "description": "Represents the percentage by which throughput can increase every time throughput policy kicks in." + } + } + }, + "OptionsResource": { + "type": "object", + "description": "Cosmos DB options resource object", + "readOnly": true, + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details." + }, + "autoscaleSettings": { + "type": "object", + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + } + }, + "SqlDatabaseResource": { + "type": "object", + "description": "Cosmos DB SQL database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL database" + } + }, + "required": [ + "id" + ] + }, + "SqlContainerResource": { + "type": "object", + "description": "Cosmos DB SQL container resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL container" + }, + "indexingPolicy": { + "$ref": "#/definitions/IndexingPolicy", + "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container" + }, + "partitionKey": { + "$ref": "#/definitions/ContainerPartitionKey", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "defaultTtl": { + "type": "integer", + "description": "Default time to live" + }, + "uniqueKeyPolicy": { + "$ref": "#/definitions/UniqueKeyPolicy", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "conflictResolutionPolicy": { + "$ref": "#/definitions/ConflictResolutionPolicy", + "description": "The conflict resolution policy for the container." + } + }, + "required": [ + "id" + ] + }, + "IndexingPolicy": { + "type": "object", + "description": "Cosmos DB indexing policy", + "properties": { + "automatic": { + "type": "boolean", + "description": "Indicates if the indexing policy is automatic" + }, + "indexingMode": { + "description": "Indicates the indexing mode.", + "type": "string", + "default": "Consistent", + "enum": [ + "Consistent", + "Lazy", + "None" + ], + "x-ms-enum": { + "name": "IndexingMode", + "modelAsString": true + } + }, + "includedPaths": { + "description": "List of paths to include in the indexing", + "type": "array", + "items": { + "$ref": "#/definitions/IncludedPath" + } + }, + "excludedPaths": { + "description": "List of paths to exclude from indexing", + "type": "array", + "items": { + "$ref": "#/definitions/ExcludedPath" + } + }, + "compositeIndexes": { + "description": "List of composite path list", + "type": "array", + "items": { + "$ref": "#/definitions/CompositePathList" + } + }, + "spatialIndexes": { + "description": "List of spatial specifics", + "type": "array", + "items": { + "$ref": "#/definitions/SpatialSpec" + } + } + } + }, + "ExcludedPath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "IncludedPath": { + "type": "object", + "description": "The paths that are included in indexing", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "indexes": { + "description": "List of indexes for this path", + "type": "array", + "items": { + "$ref": "#/definitions/Indexes" + } + } + } + }, + "Indexes": { + "type": "object", + "description": "The indexes for the path.", + "properties": { + "dataType": { + "description": "The datatype for which the indexing behavior is applied to.", + "type": "string", + "default": "String", + "enum": [ + "String", + "Number", + "Point", + "Polygon", + "LineString", + "MultiPolygon" + ], + "x-ms-enum": { + "name": "DataType", + "modelAsString": true + } + }, + "precision": { + "description": "The precision of the index. -1 is maximum precision.", + "type": "integer" + }, + "kind": { + "description": "Indicates the type of index.", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range", + "Spatial" + ], + "x-ms-enum": { + "name": "IndexKind", + "modelAsString": true + } + } + } + }, + "CompositePathList": { + "description": "List of composite path", + "type": "array", + "items": { + "$ref": "#/definitions/CompositePath" + } + }, + "CompositePath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "order": { + "description": "Sort order for composite paths.", + "type": "string", + "enum": [ + "Ascending", + "Descending" + ], + "x-ms-enum": { + "name": "CompositePathSortOrder", + "modelAsString": true + } + } + } + }, + "SpatialSpec": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "types": { + "description": "List of path's spatial type", + "type": "array", + "items": { + "$ref": "#/definitions/SpatialType" + } + } + } + }, + "SpatialType": { + "description": "Indicates the spatial type of index.", + "type": "string", + "enum": [ + "Point", + "LineString", + "Polygon", + "MultiPolygon" + ], + "x-ms-enum": { + "name": "SpatialType", + "modelAsString": true + } + }, + "ContainerPartitionKey": { + "type": "object", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions", + "properties": { + "paths": { + "description": "List of paths using which data within the container can be partitioned", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + }, + "kind": { + "description": "Indicates the kind of algorithm used for partitioning", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range" + ], + "x-ms-enum": { + "name": "PartitionKind", + "modelAsString": true + } + }, + "version": { + "description": "Indicates the version of the partition key definition", + "type": "integer", + "minimum": 1, + "maximum": 2, + "format": "int32" + } + } + }, + "Path": { + "type": "string", + "description": "A path. These typically start with root (/path)" + }, + "UniqueKeyPolicy": { + "type": "object", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "uniqueKeys": { + "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + } + } + } + }, + "UniqueKey": { + "type": "object", + "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "paths": { + "description": "List of paths must be unique for each document in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "ConflictResolutionPolicy": { + "type": "object", + "description": "The conflict resolution policy for the container.", + "properties": { + "mode": { + "description": "Indicates the conflict resolution mode.", + "type": "string", + "default": "LastWriterWins", + "enum": [ + "LastWriterWins", + "Custom" + ], + "x-ms-enum": { + "name": "ConflictResolutionMode", + "modelAsString": true + } + }, + "conflictResolutionPath": { + "type": "string", + "description": "The conflict resolution path in the case of LastWriterWins mode." + }, + "conflictResolutionProcedure": { + "type": "string", + "description": "The procedure to resolve conflicts in the case of custom mode." + } + } + }, + "SqlStoredProcedureResource": { + "type": "object", + "description": "Cosmos DB SQL storedProcedure resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL storedProcedure" + }, + "body": { + "type": "string", + "description": "Body of the Stored Procedure" + } + }, + "required": [ + "id" + ] + }, + "SqlUserDefinedFunctionResource": { + "type": "object", + "description": "Cosmos DB SQL userDefinedFunction resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL userDefinedFunction" + }, + "body": { + "type": "string", + "description": "Body of the User Defined Function" + } + }, + "required": [ + "id" + ] + }, + "SqlTriggerResource": { + "type": "object", + "description": "Cosmos DB SQL trigger resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL trigger" + }, + "body": { + "type": "string", + "description": "Body of the Trigger" + }, + "triggerType": { + "type": "string", + "enum": [ + "Pre", + "Post" + ], + "description": "Type of the Trigger", + "x-ms-enum": { + "name": "triggerType", + "modelAsString": true + } + }, + "triggerOperation": { + "type": "string", + "enum": [ + "All", + "Create", + "Update", + "Delete", + "Replace" + ], + "description": "The operation the trigger is associated with", + "x-ms-enum": { + "name": "triggerOperation", + "modelAsString": true + } + } + }, + "required": [ + "id" + ] + }, + "MongoDBDatabaseResource": { + "type": "object", + "description": "Cosmos DB MongoDB database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB database" + } + }, + "required": [ + "id" + ] + }, + "MongoDBCollectionResource": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB collection" + }, + "shardKey": { + "description": "A key-value pair of shard keys to be applied for the request.", + "$ref": "#/definitions/ShardKeys" + }, + "indexes": { + "description": "List of index keys", + "type": "array", + "items": { + "$ref": "#/definitions/MongoIndex" + } + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "ShardKeys": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The shard key and partition kind pair, only support \"Hash\" partition kind" + }, + "MongoIndex": { + "type": "object", + "description": "Cosmos DB MongoDB collection index key", + "properties": { + "key": { + "description": "Cosmos DB MongoDB collection index keys", + "$ref": "#/definitions/MongoIndexKeys" + }, + "options": { + "description": "Cosmos DB MongoDB collection index key options", + "$ref": "#/definitions/MongoIndexOptions" + } + } + }, + "MongoIndexKeys": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "keys": { + "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Key" + } + } + } + }, + "Key": { + "type": "string", + "description": "A Key." + }, + "MongoIndexOptions": { + "type": "object", + "description": "Cosmos DB MongoDB collection index options", + "properties": { + "expireAfterSeconds": { + "description": "Expire after seconds", + "type": "integer" + }, + "unique": { + "description": "Is unique or not", + "type": "boolean" + } + } + }, + "TableResource": { + "type": "object", + "description": "Cosmos DB table resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB table" + } + }, + "required": [ + "id" + ] + }, + "CassandraKeyspaceResource": { + "type": "object", + "description": "Cosmos DB Cassandra keyspace resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra keyspace" + } + }, + "required": [ + "id" + ] + }, + "CassandraTableResource": { + "type": "object", + "description": "Cosmos DB Cassandra table resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table" + }, + "defaultTtl": { + "type": "integer", + "description": "Time to live of the Cosmos DB Cassandra table" + }, + "schema": { + "description": "Schema of the Cosmos DB Cassandra table", + "$ref": "#/definitions/CassandraSchema" + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "required": [ + "id" + ] + }, + "CassandraSchema": { + "type": "object", + "description": "Cosmos DB Cassandra table schema", + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/Column" + }, + "description": "List of Cassandra table columns." + }, + "partitionKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/CassandraPartitionKey" + }, + "description": "List of partition key." + }, + "clusterKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterKey" + }, + "description": "List of cluster key." + } + } + }, + "Column": { + "type": "object", + "description": "Cosmos DB Cassandra table column", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table column" + }, + "type": { + "type": "string", + "description": "Type of the Cosmos DB Cassandra table column" + } + } + }, + "CassandraPartitionKey": { + "type": "object", + "description": "Cosmos DB Cassandra table partition key", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table partition key" + } + } + }, + "ClusterKey": { + "type": "object", + "description": "Cosmos DB Cassandra table cluster key", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table cluster key" + }, + "orderBy": { + "type": "string", + "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\"" + } + } + }, + "GremlinDatabaseResource": { + "type": "object", + "description": "Cosmos DB Gremlin database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin database" + } + }, + "required": [ + "id" + ] + }, + "GremlinGraphResource": { + "type": "object", + "description": "Cosmos DB Gremlin graph resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin graph" + }, + "indexingPolicy": { + "$ref": "#/definitions/IndexingPolicy", + "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph" + }, + "partitionKey": { + "$ref": "#/definitions/ContainerPartitionKey", + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "defaultTtl": { + "type": "integer", + "description": "Default time to live" + }, + "uniqueKeyPolicy": { + "$ref": "#/definitions/UniqueKeyPolicy", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "conflictResolutionPolicy": { + "$ref": "#/definitions/ConflictResolutionPolicy", + "description": "The conflict resolution policy for the graph." + } + }, + "required": [ + "id" + ] + }, + "CreateUpdateOptions": { + "type": "object", + "properties": { + "throughput": { + "type": "integer", + "description": "Request Units per second. For example, \"throughput\": 10000." + }, + "autoscaleSettings": { + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + }, + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "AutoscaleSettings": { + "type": "object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput, the resource can scale up to." + } + } + }, + "Capability": { + "type": "object", + "description": "Cosmos DB capability object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"." + } + } + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed." + }, + "IPRules": { + "type": "array", + "description": "Array of IpAddressOrRange objects.", + "items": { + "$ref": "#/definitions/IpAddressOrRange" + } + }, + "IpAddressOrRange": { + "type": "object", + "description": "IpAddressOrRange object", + "properties": { + "ipAddressOrRange": { + "type": "string", + "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”." + } + } + }, + "VirtualNetworkRule": { + "type": "object", + "description": "Virtual Network ACL Rule object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}." + }, + "ignoreMissingVNetServiceEndpoint": { + "type": "boolean", + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection State of the Private Endpoint Connection." + } + } + }, + "PrivateEndpointProperty": { + "type": "object", + "description": "Private endpoint which the connection belongs to.", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + } + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "description": "Connection State of the Private Endpoint Connection.", + "properties": { + "status": { + "type": "string", + "description": "The private link service connection status." + }, + "actionsRequired": { + "type": "string", + "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)", + "readOnly": true + } + } + }, + "Operation": { + "description": "REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "Provider": { + "description": "Service provider: Microsoft.ResourceProvider", + "type": "string" + }, + "Resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "type": "string" + }, + "Operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "Description": { + "description": "Description of operation", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of operations supported by the Resource Provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "UsagesResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of usages for the database. A usage is a point in time metric" + } + }, + "description": "The response to a list usage request." + }, + "Usage": { + "properties": { + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "name": { + "$ref": "#/definitions/MetricName", + "readOnly": true, + "description": "The name information for the metric." + }, + "quotaPeriod": { + "type": "string", + "readOnly": true, + "description": "The quota period used to summarize the usage values." + }, + "limit": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Maximum value for this metric" + }, + "currentValue": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Current value for this metric" + } + }, + "description": "The usage data for a usage request." + }, + "PartitionUsagesResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PartitionUsage" + }, + "description": "The list of partition-level usages for the database. A usage is a point in time metric" + } + }, + "description": "The response to a list partition level usage request." + }, + "PartitionUsage": { + "allOf": [ + { + "$ref": "#/definitions/Usage" + } + ], + "properties": { + "partitionId": { + "readOnly": true, + "type": "string", + "description": "The partition id (GUID identifier) of the usages." + }, + "partitionKeyRangeId": { + "readOnly": true, + "type": "string", + "description": "The partition key range id (integer identifier) of the usages." + } + }, + "description": "The partition level usage data for a usage request." + }, + "MetricDefinitionsListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricDefinition" + }, + "description": "The list of metric definitions for the account." + } + }, + "description": "The response to a list metric definitions request." + }, + "MetricDefinition": { + "properties": { + "metricAvailabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "description": "The list of metric availabilities for the account." + }, + "primaryAggregationType": { + "readOnly": true, + "type": "string", + "description": "The primary aggregation type of the metric.", + "enum": [ + "None", + "Average", + "Total", + "Minimum", + "Maximum", + "Last" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PrimaryAggregationType" + } + }, + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "resourceUri": { + "readOnly": true, + "type": "string", + "description": "The resource uri of the database." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + } + }, + "description": "The definition of a metric." + }, + "MetricAvailability": { + "properties": { + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "retention": { + "readOnly": true, + "type": "string", + "description": "The retention for the metric values." + } + }, + "description": "The availability of the metric." + }, + "MetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Metric" + }, + "description": "The list of metrics for the account." + } + }, + "description": "The response to a list metrics request." + }, + "Metric": { + "properties": { + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The start time for the metric (ISO-8601 format)." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The end time for the metric (ISO-8601 format)." + }, + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "unit": { + "$ref": "#/definitions/UnitType", + "description": "The unit of the metric." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "metricValues": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MetricValue" + }, + "description": "The metric values for the specified time window and timestep." + } + }, + "description": "Metric data" + }, + "MetricName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the metric." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The friendly name of the metric." + } + }, + "description": "A metric name." + }, + "MetricValue": { + "properties": { + "_count": { + "readOnly": true, + "type": "number", + "format": "int32", + "description": "The number of values for the metric." + }, + "average": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The average value of the metric." + }, + "maximum": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The max value of the metric." + }, + "minimum": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The min value of the metric." + }, + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The metric timestamp (ISO-8601 format)." + }, + "total": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The total value of the metric." + } + }, + "description": "Represents metrics values." + }, + "PercentileMetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PercentileMetric" + }, + "description": "The list of percentile metrics for the account." + } + }, + "description": "The response to a list percentile metrics request." + }, + "PercentileMetric": { + "properties": { + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The start time for the metric (ISO-8601 format)." + }, + "endTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The end time for the metric (ISO-8601 format)." + }, + "timeGrain": { + "readOnly": true, + "type": "string", + "description": "The time grain to be used to summarize the metric values." + }, + "unit": { + "$ref": "#/definitions/UnitType", + "description": "The unit of the metric." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "metricValues": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PercentileMetricValue" + }, + "description": "The percentile metric values for the specified time window and timestep." + } + }, + "description": "Percentile Metric data" + }, + "PercentileMetricValue": { + "allOf": [ + { + "$ref": "#/definitions/MetricValue" + } + ], + "properties": { + "P10": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 10th percentile value for the metric." + }, + "P25": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 25th percentile value for the metric." + }, + "P50": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 50th percentile value for the metric." + }, + "P75": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 75th percentile value for the metric." + }, + "P90": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 90th percentile value for the metric." + }, + "P95": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 95th percentile value for the metric." + }, + "P99": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "The 99th percentile value for the metric." + } + }, + "description": "Represents percentile metrics values." + }, + "PartitionMetricListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PartitionMetric" + }, + "description": "The list of partition-level metrics for the account." + } + }, + "description": "The response to a list partition metrics request." + }, + "PartitionMetric": { + "allOf": [ + { + "$ref": "#/definitions/Metric" + } + ], + "properties": { + "partitionId": { + "readOnly": true, + "type": "string", + "description": "The partition id (GUID identifier) of the metric values." + }, + "partitionKeyRangeId": { + "readOnly": true, + "type": "string", + "description": "The partition key range id (integer identifier) of the metric values." + } + }, + "description": "The metric values for a single partition." + }, + "UnitType": { + "type": "string", + "readOnly": true, + "description": "The unit of the metric.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond", + "Milliseconds" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "UnitType" + } + }, + "ConnectorOffer": { + "description": "The cassandra connector offer type for the Cosmos DB C* database account.", + "type": "string", + "enum": [ + "Small" + ], + "x-ms-enum": { + "name": "ConnectorOffer", + "modelAsString": true + } + }, + "PublicNetworkAccess": { + "type": "string", + "readOnly": true, + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ApiProperties": { + "type": "object", + "properties": { + "serverVersion": { + "type": "string", + "enum": [ + "3.2", + "3.6" + ], + "description": "Describes the ServerVersion of an a MongoDB account.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServerVersion" + } + } + } + }, + "CreateMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "enum": [ + "Default", + "Restore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "RestoreParameters": { + "type": "object", + "description": "Parameters to indicate the information about the restore.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "restoreMode": { + "type": "string", + "enum": [ + "PointInTime" + ], + "description": "Describes the mode of the restore.", + "x-ms-enum": { + "modelAsString": true, + "name": "RestoreMode" + } + }, + "restoreSource": { + "type": "string", + "description": "Path of the source account from which the restore has to be initiated" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + }, + "databasesToRestore": { + "type": "array", + "description": "List of specific databases to restore.", + "items": { + "$ref": "#/definitions/DatabaseRestoreResource" + } + } + } + }, + "DatabaseRestoreResource": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database to restore." + }, + "collectionNames": { + "type": "array", + "description": "The names of the collections to restore.", + "items": { + "$ref": "#/definitions/CollectionName" + } + } + } + }, + "CollectionName": { + "type": "string", + "description": "The name of the collection." + }, + "BackupPolicy": { + "type": "object", + "description": "The object representing the policy for taking backups on an account.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "enum": [ + "Periodic", + "Continuous" + ], + "description": "Describes the mode of backups.", + "x-ms-enum": { + "modelAsString": true, + "name": "BackupType" + } + } + }, + "required": [ + "type" + ] + }, + "PeriodicModeBackupPolicy": { + "description": "The object representing periodic mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "properties": { + "periodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "$ref": "#/definitions/PeriodicModeProperties" + } + }, + "x-ms-discriminator-value": "Periodic" + }, + "ContinuousModeBackupPolicy": { + "description": "The object representing continuous mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "x-ms-discriminator-value": "Continuous" + }, + "PeriodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "properties": { + "backupIntervalInMinutes": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the interval in minutes between two backups" + }, + "backupRetentionIntervalInHours": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the time (in hours) that each backup is retained" + } + } + }, + "RestorableDatabaseAccountsListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + }, + "description": "List of restorable database accounts and their properties." + } + }, + "description": "The List operation response, that contains the restorable database accounts and their properties." + }, + "RestorableDatabaseAccountGetResult": { + "description": "A Azure Cosmos DB restorable database account.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a restorable database account.", + "$ref": "#/definitions/RestorableDatabaseAccountProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "RestorableDatabaseAccountProperties": { + "type": "object", + "description": "The properties of a restorable database account.", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the global database account" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation time of the restorable database account (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "format": "date-time", + "description": "The time at which the restorable database account has been deleted (ISO-8601 format)." + } + } + } + }, + "parameters": { + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of an Azure resource group." + }, + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "filterParameter": { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "An OData filter expression that describes a subset of metrics to return. The parameters that can be filtered are name.value (name of the metric, can have an or of multiple names), startTime, endTime, and timeGrain. The supported operator is eq." + }, + "usageFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names)." + }, + "databaseRidParameter": { + "name": "databaseRid", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database rid." + }, + "collectionRidParameter": { + "name": "collectionRid", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB collection rid." + }, + "databaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database name." + }, + "containerNameParameter": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB container name." + }, + "storedProcedureNameParameter": { + "name": "storedProcedureName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB storedProcedure name." + }, + "userDefinedFunctionNameParameter": { + "name": "userDefinedFunctionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB userDefinedFunction name." + }, + "triggerNameParameter": { + "name": "triggerName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB trigger name." + }, + "tableNameParameter": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB table name." + }, + "collectionNameParameter": { + "name": "collectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB collection name." + }, + "keyspaceNameParameter": { + "name": "keyspaceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB keyspace name." + }, + "graphNameParameter": { + "name": "graphName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB graph name." + }, + "regionParameter": { + "name": "region", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "sourceRegionParameter": { + "name": "sourceRegion", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized." + }, + "targetRegionParameter": { + "name": "targetRegion", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized." + }, + "partitionKeyRangeIdParameter": { + "name": "partitionKeyRangeId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Partition Key Range Id for which to get data." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "instanceIdParameter": { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The instanceId GUID of a restorable database account." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json new file mode 100644 index 000000000000..704a58b5370a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "createUpdateCassandraKeyspaceParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json new file mode 100644 index 000000000000..a00447bc3970 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceGet.json new file mode 100644 index 000000000000..bd7d25ca3402 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceList.json new file mode 100644 index 000000000000..43d5d1ba9756 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName", + "name": "keyspaceName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "keyspaceName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json new file mode 100644 index 000000000000..58d8462cf64c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json new file mode 100644 index 000000000000..eea27bf7db93 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json new file mode 100644 index 000000000000..14c411773aee --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "createUpdateCassandraTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableDelete.json new file mode 100644 index 000000000000..7ef5350d9689 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableGet.json new file mode 100644 index 000000000000..965e0010d877 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableList.json new file mode 100644 index 000000000000..1fa9aa4eecd6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputGet.json new file mode 100644 index 000000000000..9a6890c7f1b2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json new file mode 100644 index 000000000000..6dee1f99e66f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/cassandraTables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/cassandraTables/throughputSettings", + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json new file mode 100644 index 000000000000..6a503803cca4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-06-01-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetrics.json new file mode 100644 index 000000000000..fda0156ddfe7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetrics.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetUsages.json new file mode 100644 index 000000000000..163634723a7e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetUsages.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json new file mode 100644 index 000000000000..f24c2b3bcbad --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json new file mode 100644 index 000000000000..9e2d9c9f85be --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Partition Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json new file mode 100644 index 000000000000..2a2eb4964a0e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json new file mode 100644 index 000000000000..88a5ba3070e6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "accountName": "ddb1", + "api-version": "2020-06-01-preview" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json new file mode 100644 index 000000000000..c36777803418 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "MongoDB", + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + }, + { + "failoverPriority": 1, + "locationName": "eastus", + "isZoneRedundant": false + } + ], + "createMode": "Default", + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "MongoDB", + "tags": {}, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Initializing", + "isVirtualNetworkFilterEnabled": true, + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "provisioningState": "Initializing", + "failoverPriority": 1, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "provisioningState": "Initializing", + "failoverPriority": 1, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + }, + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 1 + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1" + } + ], + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "enableFreeTier": false, + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ] + }, + "systemData": { + "createdAt": "2020-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json new file mode 100644 index 000000000000..6219541b7ca4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Initializing", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + } + }, + "systemData": { + "createdAt": "2020-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountDelete.json new file mode 100644 index 000000000000..9ff324b8aaed --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json new file mode 100644 index 000000000000..d8af0ff02935 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "ddb1-failover", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "failoverParameters": { + "failoverPolicies": [ + { + "locationName": "eastus", + "failoverPriority": 0 + }, + { + "locationName": "westus", + "failoverPriority": 1 + } + ] + } + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGet.json new file mode 100644 index 000000000000..6161ef424776 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGet.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "isVirtualNetworkFilterEnabled": false, + "virtualNetworkRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + } + }, + "systemData": { + "createdAt": "2020-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json new file mode 100644 index 000000000000..63517ceb5d9a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json new file mode 100644 index 000000000000..a0f443baa506 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json new file mode 100644 index 000000000000..1bb8ecba1ac4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountList.json new file mode 100644 index 000000000000..2e78845c0e93 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountList.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + } + }, + "systemData": { + "createdAt": "2020-06-12T22:05:09Z" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json new file mode 100644 index 000000000000..9a8d7e081c13 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "cors": [], + "enableFreeTier": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + } + }, + "systemData": { + "createdAt": "2020-06-12T22:05:09Z" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json new file mode 100644 index 000000000000..37ca1bbce43e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json new file mode 100644 index 000000000000..c662a11aaac4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "mongo-ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "connectionStrings": [ + { + "connectionString": "connection-string", + "description": "Name of the connection string" + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListKeys.json new file mode 100644 index 000000000000..fc86bad626ce --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryMasterKey": "primaryMasterKey", + "secondaryMasterKey": "secondaryMasterKey", + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json new file mode 100644 index 000000000000..86cfea49057e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json new file mode 100644 index 000000000000..682fcdb01757 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOffline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json new file mode 100644 index 000000000000..625bb398abf4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOnline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json new file mode 100644 index 000000000000..5c0c861f1146 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "updateParameters": { + "location": "westus", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "enableFreeTier": false, + "enableAnalyticalStorage": true, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "disableKeyBasedMetadataWriteAccess": false, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "writeLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "readLocations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "locations": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "documentEndpoint": "https://ddb1-eastus.documents.azure.com:443/", + "provisioningState": "Succeeded", + "failoverPriority": 0 + } + ], + "failoverPolicies": [ + { + "id": "ddb1-eastus", + "locationName": "East US", + "failoverPriority": 0 + } + ], + "cors": [], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720 + } + } + }, + "systemData": { + "createdAt": "2020-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json new file mode 100644 index 000000000000..f85beb45eafe --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "keyToRegenerate": { + "keyKind": "primary" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json new file mode 100644 index 000000000000..57d348a599d6 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json new file mode 100644 index 000000000000..44125deca8fa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2020-06-01-preview", + "databaseRid": "databaseRid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "metricAvailabilities": [ + { + "timeGrain": "PT5M", + "retention": "P2D" + }, + { + "timeGrain": "PT1H", + "retention": "P14D" + }, + { + "timeGrain": "P1D", + "retention": "P60D" + } + ], + "primaryAggregationType": "Total", + "unit": "Count", + "resourceUri": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetrics.json new file mode 100644 index 000000000000..50ecbb2b5814 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseRid": "rid", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetUsages.json new file mode 100644 index 000000000000..bf3fd23ba35c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "databaseRid": "databaseRid", + "subscriptionId": "subid", + "$filter": "$filter=name.value eq 'Storage'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Bytes", + "quotaPeriod": "P1D", + "limit": 10737418240, + "currentValue": 0, + "name": { + "value": "Storage", + "localizedValue": "Storage" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json new file mode 100644 index 000000000000..99e4f7832302 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateGremlinDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseDelete.json new file mode 100644 index 000000000000..511d9bcd4972 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseGet.json new file mode 100644 index 000000000000..6058e6595bbe --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseList.json new file mode 100644 index 000000000000..d11ac57d5e09 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json new file mode 100644 index 000000000000..d7cbd90483f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..5d2d0a8c309e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json new file mode 100644 index 000000000000..9c19ff332f3a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName", + "createUpdateGremlinGraphParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "Consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/gremlinGraphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "Consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphDelete.json new file mode 100644 index 000000000000..73028e433711 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphGet.json new file mode 100644 index 000000000000..e3dbd74c9b17 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphGet.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs", + "properties": { + "resource": { + "id": "graphName", + "indexingPolicy": { + "indexingMode": "Consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphList.json new file mode 100644 index 000000000000..c5063750656c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "testgrf", + "name": "testgrf", + "type": "Microsoft.DocumentDB/databaseAccounts/apis/databases/graphs", + "properties": { + "resource": { + "id": "testgrf", + "indexingPolicy": { + "indexingMode": "Consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json new file mode 100644 index 000000000000..6a8cb74481b7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json new file mode 100644 index 000000000000..9651decd38e9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/gremlinDatabases/databaseName/gremlinGraphs/graphName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json new file mode 100644 index 000000000000..0770c6e729b0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "createUpdateMongoDBCollectionParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionDelete.json new file mode 100644 index 000000000000..a50c0a68ac0c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionGet.json new file mode 100644 index 000000000000..e85d07849b7f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testcoll", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionList.json new file mode 100644 index 000000000000..15ec98ed27b5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName", + "name": "collectionName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testcoll", + "indexes": [ + { + "key": { + "keys": [ + "testKey" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json new file mode 100644 index 000000000000..5e76ac6ef716 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json new file mode 100644 index 000000000000..9bd78681310b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/mongodbCollections/collectionName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/mongodbCollections/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json new file mode 100644 index 000000000000..7e889dabe227 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateMongoDBDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "updatedDatabaseName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json new file mode 100644 index 000000000000..511d9bcd4972 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseGet.json new file mode 100644 index 000000000000..346712c979e5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseList.json new file mode 100644 index 000000000000..26fc4d475d9a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json new file mode 100644 index 000000000000..dce707ff3240 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..3f034474e39f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/mongodbDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..afaae8fd0162 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default", + "notebookCreateUpdateParameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..ae29c887cf63 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..ca935a796b3f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..673787cf0a17 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..aa7442088867 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "authToken": "auth-token", + "notebookServerEndpoint": "notebook endpoint" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..1ba266df714c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..1ba266df714c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBOperationsList.json new file mode 100644 index 000000000000..607a63bc1261 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "operationName", + "display": { + "Provider": "providerName", + "Resource": "resourceName", + "Operation": "operationName", + "Description": "description" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json new file mode 100644 index 000000000000..1b5d6d517ab7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "partitionKeyRangeId": "0", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json new file mode 100644 index 000000000000..0138199a1df3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "partitionKeyRangeId": "0", + "region": "West US", + "$filter": "$filter=(name.value eq 'Max RUs Per Second') and timeGrain eq duration'PT1M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T23:58:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT1M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T23:58:55.2780000Z", + "unit": "Count", + "partitionId": "00000000-0000-0000-0000-000000000000", + "partitionKeyRangeId": "0", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:54:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:55:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:56:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:57:55.2780000Z", + "maximum": 5 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "maximum": 5 + } + ], + "name": { + "value": "Max RUs Per Second", + "localizedValue": "Max RUs Per Second" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileGetMetrics.json new file mode 100644 index 000000000000..c0231b6d7ae9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileGetMetrics.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + }, + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-West US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json new file mode 100644 index 000000000000..60ecb004ae1d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "sourceRegion": "West Central US", + "targetRegion": "East US", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json new file mode 100644 index 000000000000..1b1ed44bc304 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "targetRegion": "East US", + "$filter": "$filter=(name.value eq 'Probabilistic Bounded Staleness') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West Central US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-East US" + } + }, + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Milliseconds", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "P10": 1.11, + "P25": 2.5, + "P50": 4.34, + "P75": 5.2, + "P90": 6.77, + "P95": 7.1, + "P99": 8.3 + } + ], + "name": { + "value": "Probabilistic Bounded Staleness-S-West US-T-East US", + "localizedValue": "Probabilistic Bounded Staleness-S-West Central US-T-West US" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json new file mode 100644 index 000000000000..3d4f9ea56040 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseRid": "databaseRid", + "collectionRid": "collectionRid", + "region": "North Europe", + "$filter": "$filter=(name.value eq 'Total Requests') and timeGrain eq duration'PT5M' and startTime eq '2017-11-19T23:53:55.2780000Z' and endTime eq '2017-11-20T00:13:55.2780000Z" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "timeGrain": "PT5M", + "startTime": "2017-11-19T23:53:55.2780000Z", + "endTime": "2017-11-20T00:13:55.2780000Z", + "unit": "Count", + "metricValues": [ + { + "timestamp": "2017-11-19T23:53:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-19T23:58:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:03:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + }, + { + "timestamp": "2017-11-20T00:08:55.2780000Z", + "total": 0, + "_count": 0, + "average": 0 + } + ], + "name": { + "value": "Total Requests", + "localizedValue": "Total Requests" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json new file mode 100644 index 000000000000..d5edee780392 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "location": "West US", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2020-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json new file mode 100644 index 000000000000..aae7cbb69c37 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "location": "West US" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2020-06-12T22:05:09Z" + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json new file mode 100644 index 000000000000..5b983987c671 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2020-06-12T22:05:09Z" + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "East US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json new file mode 100644 index 000000000000..911e7ddb3017 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "GlobalDocumentDB", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Restore", + "restoreParameters": { + "restoreMode": "PointInTime", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc", + "restoreTimestampInUtc": "2020-06-11T22:05:09Z", + "databasesToRestore": [ + { + "databaseName": "db1", + "collectionNames": [ + "collection1", + "collection2" + ] + }, + { + "databaseName": "db2", + "collectionNames": [ + "collection3", + "collection4" + ] + } + ] + }, + "backupPolicy": { + "type": "Continuous" + }, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "GlobalDocumentDB", + "tags": {}, + "properties": { + "provisioningState": "Initializing", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Restore", + "consistencyPolicy": { + "defaultConsistencyLevel": "Session", + "maxIntervalInSeconds": 5, + "maxStalenessPrefix": 100 + }, + "writeLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "readLocations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "locations": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "provisioningState": "Initializing", + "failoverPriority": 0, + "isZoneRedundant": false + } + ], + "failoverPolicies": [ + { + "id": "ddb1-southcentralus", + "locationName": "South Central US", + "failoverPriority": 0 + } + ], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false + }, + "systemData": { + "createdAt": "2020-06-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json new file mode 100644 index 000000000000..d1501e29aa40 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "createUpdateSqlContainerParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "Consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + } + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "Consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerDelete.json new file mode 100644 index 000000000000..fc2853b90ebe --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerGet.json new file mode 100644 index 000000000000..179c0f5a81a9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "containerName", + "indexingPolicy": { + "indexingMode": "Consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + }, + "options": { + "throughput": 400 + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerList.json new file mode 100644 index 000000000000..d5b52fbc7be7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerList.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName", + "name": "containerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn", + "indexingPolicy": { + "indexingMode": "Consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber" + ], + "kind": "Hash" + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputGet.json new file mode 100644 index 000000000000..7114ec352ee9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json new file mode 100644 index 000000000000..06677777dea0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json new file mode 100644 index 000000000000..a7ef59f044b2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "createUpdateSqlDatabaseParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseDelete.json new file mode 100644 index 000000000000..511d9bcd4972 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseGet.json new file mode 100644 index 000000000000..e7923f36c977 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseList.json new file mode 100644 index 000000000000..517ddda21f2d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName", + "name": "databaseName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "databaseName", + "_rid": "CqNBAA==", + "_ts": 1449602962, + "_etag": "\"00000a00-0000-0000-0000-56672f920000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json new file mode 100644 index 000000000000..1e2f1e3adc78 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..1f5b228deb22 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json new file mode 100644 index 000000000000..c807256b0caa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName", + "createUpdateSqlStoredProcedureParameters": { + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "storedProcedureName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json new file mode 100644 index 000000000000..01802d9d09a1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureGet.json new file mode 100644 index 000000000000..9bb9c50b6c9e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "storedProcedureName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "storedProcedureName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureList.json new file mode 100644 index 000000000000..be06ae058c7b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlStoredProcedures/storedProcedureName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlStoredProcedures", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json new file mode 100644 index 000000000000..d6eaba1a0572 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName", + "createUpdateSqlTriggerParameters": { + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "triggerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerDelete.json new file mode 100644 index 000000000000..37cdf314a540 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerGet.json new file mode 100644 index 000000000000..2745bc74ce3c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "triggerName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "triggerName", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerList.json new file mode 100644 index 000000000000..9a376a3ce9f4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlTriggers/triggerName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlTriggers", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "triggerType": "triggerType", + "triggerOperation": "triggerOperation", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json new file mode 100644 index 000000000000..05b20aff47cf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName", + "createUpdateSqlUserDefinedFunctionParameters": { + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "userDefinedFunctionName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json new file mode 100644 index 000000000000..c7ab1db02f6c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json new file mode 100644 index 000000000000..60e2f938c7a2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "userDefinedFunctionName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "userDefinedFunctionName", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json new file mode 100644 index 000000000000..5a3bdfee2cde --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName/sqlUserDefinedFunctions/userDefinedFunctionName", + "name": "testctn", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers/sqlUserDefinedFunctions", + "properties": { + "resource": { + "id": "testctn", + "body": "body", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableCreateUpdate.json new file mode 100644 index 000000000000..a71b934c2e8a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableCreateUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "tableName": "tableName", + "createUpdateTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "properties": { + "resource": { + "id": "tableName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableDelete.json new file mode 100644 index 000000000000..d60d1b42d61b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableGet.json new file mode 100644 index 000000000000..54c731e2fe3b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableList.json new file mode 100644 index 000000000000..bfa823fc0d8b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName", + "name": "tableName", + "type": "Microsoft.DocumentDB/databaseAccounts/tables", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputGet.json new file mode 100644 index 000000000000..3c3e67319312 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputUpdate.json new file mode 100644 index 000000000000..a87c053f5b92 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01-preview", + "subscriptionId": "subid", + "tableName": "tableName", + "updateThroughputParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/tables/tableName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json new file mode 100644 index 000000000000..caf426f3c4e1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json @@ -0,0 +1,461 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2020-06-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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace resources of an existing Cosmos DB account.", + "operationId": "NotebookWorkspaces_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved notebook workspace resources.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceList": { + "$ref": "./examples/CosmosDBNotebookWorkspaceList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified notebook workspace resource.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceGet": { + "$ref": "./examples/CosmosDBNotebookWorkspaceGet.json" + } + } + }, + "put": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Creates the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + }, + { + "name": "notebookCreateUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NotebookWorkspaceCreateUpdateParameters" + }, + "description": "The notebook workspace to create for the current database account." + } + ], + "responses": { + "200": { + "description": "Creation of notebook workspace will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceCreate": { + "$ref": "./examples/CosmosDBNotebookWorkspaceCreate.json" + } + } + }, + "delete": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Deletes the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Delete", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "202": { + "description": "The notebook workspace delete operation will complete asynchronously." + }, + "204": { + "description": "The specified notebook workspace does not exist in the database account." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceDelete": { + "$ref": "./examples/CosmosDBNotebookWorkspaceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_ListConnectionInfo", + "x-ms-examples": { + "CosmosDBNotebookWorkspaceListConnectionInfo": { + "$ref": "./examples/CosmosDBNotebookWorkspaceListConnectionInfo.json" + } + }, + "description": "Retrieves the connection info for the notebook workspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceConnectionInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_RegenerateAuthToken", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceRegenerateAuthToken": { + "$ref": "./examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json" + } + }, + "description": "Regenerates the auth token for the notebook workspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate auth token operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_Start", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceStart": { + "$ref": "./examples/CosmosDBNotebookWorkspaceStart.json" + } + }, + "description": "Starts the notebook workspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The start operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceListResult": { + "description": "A list of notebook workspace resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of notebook workspace resources", + "items": { + "$ref": "#/definitions/NotebookWorkspace" + } + } + } + }, + "NotebookWorkspace": { + "description": "A notebook workspace resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/NotebookWorkspaceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../preview/2020-06-01-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceProperties": { + "description": "Properties of a notebook workspace resource.", + "type": "object", + "properties": { + "notebookServerEndpoint": { + "description": "Specifies the endpoint of Notebook server.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating.", + "type": "string", + "readOnly": true + } + } + }, + "NotebookWorkspaceConnectionInfoResult": { + "description": "The connection info for the given notebook workspace", + "properties": { + "authToken": { + "type": "string", + "description": "Specifies auth token used for connecting to Notebook server (uses token-based auth).", + "readOnly": true + }, + "notebookServerEndpoint": { + "type": "string", + "description": "Specifies the endpoint of Notebook server.", + "readOnly": true + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database account name.", + "minLength": 3, + "maxLength": 50, + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*" + }, + "NotebookWorkspaceNameParameter": { + "name": "notebookWorkspaceName", + "in": "path", + "description": "The name of the notebook workspace resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "NotebookWorkspaceName", + "modelAsString": true + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json index 7dbbfb12e702..8e42d573e5d8 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json @@ -63,9 +63,6 @@ "schema": { "$ref": "#/definitions/DatabaseAccountGetResults" } - }, - "404": { - "description": "Not Found. The account name is available and valid." } } }, @@ -1683,6 +1680,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": { "get": { "operationId": "SqlResources_ListSqlContainers", @@ -1938,6 +2015,92 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToAutoscale", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": { "get": { "operationId": "SqlResources_ListSqlStoredProcedures", @@ -2709,6 +2872,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": { "get": { "operationId": "MongoDBResources_ListMongoDBCollections", @@ -2964,15 +3207,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": { - "get": { - "operationId": "TableResources_ListTables", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale", "x-ms-examples": { - "CosmosDBTableList": { - "$ref": "./examples/CosmosDBTableList.json" + "CosmosDBMongoDBCollectionMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json" } }, - "description": "Lists the Tables under an existing Azure Cosmos DB database account.", + "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" @@ -2983,32 +3227,39 @@ { "$ref": "#/parameters/accountNameParameter" }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, "200": { - "description": "The Table properties were retrieved successfully.", + "description": "The MongoDB collection migrate operation was completed successfully.", "schema": { - "$ref": "#/definitions/TableListResult" + "$ref": "#/definitions/ThroughputSettingsGetResults" } } - }, - "x-ms-pageable": { - "nextLinkName": null } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": { - "get": { - "operationId": "TableResources_GetTable", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput", "x-ms-examples": { - "CosmosDBTableGet": { - "$ref": "./examples/CosmosDBTableGet.json" + "CosmosDBMongoDBCollectionMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json" } }, - "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.", + "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" @@ -3020,25 +3271,103 @@ "$ref": "#/parameters/accountNameParameter" }, { - "$ref": "#/parameters/tableNameParameter" + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" }, { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, "200": { - "description": "The Table property was retrieved successfully.", + "description": "The MongoDB collection migrate operation was completed successfully.", "schema": { - "$ref": "#/definitions/TableGetResults" + "$ref": "#/definitions/ThroughputSettingsGetResults" } } } - }, - "put": { - "operationId": "TableResources_CreateUpdateTable", + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": { + "get": { + "operationId": "TableResources_ListTables", "x-ms-examples": { - "CosmosDBTableReplace": { + "CosmosDBTableList": { + "$ref": "./examples/CosmosDBTableList.json" + } + }, + "description": "Lists the Tables under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": { + "get": { + "operationId": "TableResources_GetTable", + "x-ms-examples": { + "CosmosDBTableGet": { + "$ref": "./examples/CosmosDBTableGet.json" + } + }, + "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_CreateUpdateTable", + "x-ms-examples": { + "CosmosDBTableReplace": { "$ref": "./examples/CosmosDBTableCreateUpdate.json" } }, @@ -3201,6 +3530,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "TableResources_MigrateTableToAutoscale", + "x-ms-examples": { + "CosmosDBTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "TableResources_MigrateTableToManualThroughput", + "x-ms-examples": { + "CosmosDBTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": { "get": { "operationId": "CassandraResources_ListCassandraKeyspaces", @@ -3438,6 +3847,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": { "get": { "operationId": "CassandraResources_ListCassandraTables", @@ -3693,6 +4182,92 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": { "get": { "operationId": "GremlinResources_ListGremlinDatabases", @@ -3930,6 +4505,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": { "get": { "operationId": "GremlinResources_ListGremlinGraphs", @@ -4184,6 +4839,92 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } } }, "definitions": { diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json new file mode 100644 index 000000000000..866e06dd99c2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json new file mode 100644 index 000000000000..ddd5b858f647 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json new file mode 100644 index 000000000000..8f57f7e942ac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..f901199a4d11 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBDatabaseAccountGet.json index 4f54871fce78..f9f8b1e7a0c0 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBDatabaseAccountGet.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBDatabaseAccountGet.json @@ -77,7 +77,6 @@ ] } } - }, - "404": {} + } } } diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..c8fada5aa737 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..9daa31f2fa84 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json new file mode 100644 index 000000000000..0c9f21ef808a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json new file mode 100644 index 000000000000..7ebda5fed28d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json new file mode 100644 index 000000000000..61cce1fbda6f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json new file mode 100644 index 000000000000..ea8fd74be2f5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..c8fada5aa737 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..9daa31f2fa84 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json new file mode 100644 index 000000000000..847f6a543506 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json new file mode 100644 index 000000000000..51092efb4b2f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..c8fada5aa737 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..9daa31f2fa84 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToAutoscale.json new file mode 100644 index 000000000000..ac94982bfade --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "provisionedThroughputSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..8fd6d3a8313f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-03-01", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json index fac9062ba082..a56bec2b412a 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json @@ -63,9 +63,6 @@ "schema": { "$ref": "#/definitions/DatabaseAccountGetResults" } - }, - "404": { - "description": "Not Found. The account name is available and valid." } } }, @@ -1683,6 +1680,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": { "get": { "operationId": "SqlResources_ListSqlContainers", @@ -1938,6 +2015,92 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToAutoscale", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": { "get": { "operationId": "SqlResources_ListSqlStoredProcedures", @@ -2709,6 +2872,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": { "get": { "operationId": "MongoDBResources_ListMongoDBCollections", @@ -2964,15 +3207,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": { - "get": { - "operationId": "TableResources_ListTables", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale", "x-ms-examples": { - "CosmosDBTableList": { - "$ref": "./examples/CosmosDBTableList.json" + "CosmosDBMongoDBCollectionMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json" } }, - "description": "Lists the Tables under an existing Azure Cosmos DB database account.", + "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" @@ -2983,32 +3227,39 @@ { "$ref": "#/parameters/accountNameParameter" }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, "200": { - "description": "The Table properties were retrieved successfully.", + "description": "The MongoDB collection migrate operation was completed successfully.", "schema": { - "$ref": "#/definitions/TableListResult" + "$ref": "#/definitions/ThroughputSettingsGetResults" } } - }, - "x-ms-pageable": { - "nextLinkName": null } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": { - "get": { - "operationId": "TableResources_GetTable", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput", "x-ms-examples": { - "CosmosDBTableGet": { - "$ref": "./examples/CosmosDBTableGet.json" + "CosmosDBMongoDBCollectionMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json" } }, - "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.", + "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" @@ -3020,25 +3271,103 @@ "$ref": "#/parameters/accountNameParameter" }, { - "$ref": "#/parameters/tableNameParameter" + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" }, { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, "200": { - "description": "The Table property was retrieved successfully.", + "description": "The MongoDB collection migrate operation was completed successfully.", "schema": { - "$ref": "#/definitions/TableGetResults" + "$ref": "#/definitions/ThroughputSettingsGetResults" } } } - }, - "put": { - "operationId": "TableResources_CreateUpdateTable", + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": { + "get": { + "operationId": "TableResources_ListTables", "x-ms-examples": { - "CosmosDBTableReplace": { + "CosmosDBTableList": { + "$ref": "./examples/CosmosDBTableList.json" + } + }, + "description": "Lists the Tables under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": { + "get": { + "operationId": "TableResources_GetTable", + "x-ms-examples": { + "CosmosDBTableGet": { + "$ref": "./examples/CosmosDBTableGet.json" + } + }, + "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Table property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/TableGetResults" + } + } + } + }, + "put": { + "operationId": "TableResources_CreateUpdateTable", + "x-ms-examples": { + "CosmosDBTableReplace": { "$ref": "./examples/CosmosDBTableCreateUpdate.json" } }, @@ -3201,6 +3530,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "TableResources_MigrateTableToAutoscale", + "x-ms-examples": { + "CosmosDBTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "TableResources_MigrateTableToManualThroughput", + "x-ms-examples": { + "CosmosDBTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": { "get": { "operationId": "CassandraResources_ListCassandraKeyspaces", @@ -3438,6 +3847,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": { "get": { "operationId": "CassandraResources_ListCassandraTables", @@ -3693,6 +4182,92 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": { "get": { "operationId": "GremlinResources_ListGremlinDatabases", @@ -3930,6 +4505,86 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": { "get": { "operationId": "GremlinResources_ListGremlinGraphs", @@ -4184,6 +4839,92 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } } }, "definitions": { @@ -5077,6 +5818,38 @@ "defaultConsistencyLevel" ] }, + "CorsPolicy": { + "type": "object", + "description": "The CORS policy for the Cosmos DB database account.", + "properties": { + "allowedOrigins": { + "description": "The origin domains that are permitted to make a request against the service via CORS.", + "type": "string" + }, + "allowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request.", + "type": "string" + }, + "allowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "exposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "maxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + } + }, + "required": [ + "allowedOrigins" + ] + }, "DatabaseAccountGetProperties": { "description": "Properties for the database account.", "type": "object", @@ -5200,6 +5973,13 @@ "enableAnalyticalStorage": { "description": "Flag to indicate whether to enable storage analytics.", "type": "boolean" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } } } }, @@ -5284,6 +6064,13 @@ "enableAnalyticalStorage": { "description": "Flag to indicate whether to enable storage analytics.", "type": "boolean" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } } }, "required": [ @@ -5400,6 +6187,13 @@ "enableAnalyticalStorage": { "description": "Flag to indicate whether to enable storage analytics.", "type": "boolean" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } } } }, @@ -6118,6 +6912,11 @@ "conflictResolutionPolicy": { "$ref": "#/definitions/ConflictResolutionPolicy", "description": "The conflict resolution policy for the container." + }, + "analyticalStorageTtl": { + "type": "integer", + "format": "int64", + "description": "Analytical TTL." } }, "required": [ diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json new file mode 100644 index 000000000000..7014132ba922 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json new file mode 100644 index 000000000000..c1d7adb55be3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json new file mode 100644 index 000000000000..268bb531bda3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..a61aa9159b8f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json index de4497935071..bd2b1b5d84ec 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json @@ -47,7 +47,12 @@ "apiProperties": { "serverVersion": "3.2" }, - "enableAnalyticalStorage": true + "enableAnalyticalStorage": true, + "cors": [ + { + "allowedOrigins": "https://test" + } + ] } } }, @@ -141,7 +146,12 @@ "apiProperties": { "serverVersion": "3.2" }, - "enableAnalyticalStorage": true + "enableAnalyticalStorage": true, + "cors": [ + { + "allowedOrigins": "https://test" + } + ] } } } diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json index 6b0224bfd5e6..657a6f3669ed 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json @@ -71,6 +71,7 @@ "failoverPriority": 0 } ], + "cors": [], "enableFreeTier": false, "apiProperties": {}, "enableAnalyticalStorage": false diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json index 5acc11878245..6c313a7aaece 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json @@ -75,12 +75,12 @@ } } ], + "cors": [], "enableFreeTier": false, "apiProperties": {}, "enableAnalyticalStorage": true } } - }, - "404": {} + } } } diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json index d17099aa4b0e..8a2bebe6ddbf 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json @@ -73,6 +73,7 @@ } } ], + "cors": [], "enableFreeTier": false, "apiProperties": {}, "enableAnalyticalStorage": true diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json index 3e7ce126f613..909ed62bcfb2 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json @@ -60,6 +60,7 @@ "failoverPriority": 0 } ], + "cors": [], "enableFreeTier": false } } diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json index 4236c8ec8340..7b9052683a71 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json @@ -119,6 +119,7 @@ } } ], + "cors": [], "enableFreeTier": false, "apiProperties": {}, "enableAnalyticalStorage": true diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..92b77f53e656 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..fe3611022024 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json new file mode 100644 index 000000000000..3548d0c0e8d7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json new file mode 100644 index 000000000000..d604a817c552 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json new file mode 100644 index 000000000000..dff0916f8388 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json new file mode 100644 index 000000000000..a6a1b7fea40d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..92b77f53e656 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..fe3611022024 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json new file mode 100644 index 000000000000..5d5362d1f905 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json new file mode 100644 index 000000000000..014d732eb7e0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..92b77f53e656 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..fe3611022024 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToAutoscale.json new file mode 100644 index 000000000000..c8b8a1a9f94a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..8d8dd974645f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-04-01", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/readme.azureresourceschema.md b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4abf996fb40b --- /dev/null +++ b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,150 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-documentdb-2020-06-01-preview + - tag: schema-documentdb-2020-04-01 + - tag: schema-documentdb-2020-03-01 + - tag: schema-documentdb-2019-12-12 + - tag: schema-documentdb-2019-08-01-preview + - tag: schema-documentdb-2019-08-01 + - tag: schema-documentdb-2016-03-31 + - tag: schema-documentdb-2016-03-19 + - tag: schema-documentdb-2015-11-06 + - tag: schema-documentdb-2015-04-08 + - tag: schema-documentdb-2014-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-documentdb-2020-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2020-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json + - Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json + +``` + +### Tag: schema-documentdb-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json + - Microsoft.DocumentDB/stable/2020-04-01/notebook.json + +``` + +### Tag: schema-documentdb-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json + - Microsoft.DocumentDB/stable/2020-03-01/notebook.json + +``` + +### Tag: schema-documentdb-2019-12-12 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2019-12-12' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json + - Microsoft.DocumentDB/stable/2019-12-12/notebook.json + +``` + +### Tag: schema-documentdb-2019-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2019-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json + - Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json + +``` + +### Tag: schema-documentdb-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json + - Microsoft.DocumentDB/stable/2019-08-01/notebook.json + +``` + +### Tag: schema-documentdb-2016-03-31 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2016-03-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json + +``` + +### Tag: schema-documentdb-2016-03-19 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2016-03-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json + +``` + +### Tag: schema-documentdb-2015-11-06 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2015-11-06' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json + +``` + +### Tag: schema-documentdb-2015-04-08 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2015-04-08' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json + +``` + +### Tag: schema-documentdb-2014-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-documentdb-2014-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json + +``` diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md index 09594aa19120..c87fb1089fde 100644 --- a/specification/cosmos-db/resource-manager/readme.go.md +++ b/specification/cosmos-db/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-06-preview - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-12 @@ -20,6 +21,14 @@ batch: - tag: package-2019-08-preview - tag: package-2015-04 ``` +### Tag: package-2020-06-preview and go + +These settings apply only when `--tag=package-2020-06-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2020-06-01-preview/$(namespace) +``` ### Tag: package-2020-04 and go diff --git a/specification/cosmos-db/resource-manager/readme.java.md b/specification/cosmos-db/resource-manager/readme.java.md index f54ed71714a6..4419599d765a 100644 --- a/specification/cosmos-db/resource-manager/readme.java.md +++ b/specification/cosmos-db/resource-manager/readme.java.md @@ -17,6 +17,7 @@ service-name: CosmosDB ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-06-preview - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-12 @@ -24,6 +25,18 @@ batch: - tag: package-2019-08-preview - tag: package-2015-04 ``` +### Tag: package-2020-06-preview and java + +These settings apply only when `--tag=package-2020-06-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-06-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.cosmosdb.v2020_06_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/cosmos/mgmt-v2020_06_01_preview +regenerate-manager: true +generate-interface: true +``` ### Tag: package-2020-04 and java diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md index 7d71859a71b3..0ca282c6da93 100644 --- a/specification/cosmos-db/resource-manager/readme.md +++ b/specification/cosmos-db/resource-manager/readme.md @@ -30,6 +30,18 @@ openapi-type: arm tag: package-2020-04 ``` +### Tag: package-2020-06-preview + +These settings apply only when `--tag=package-2020-06-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-preview' +input-file: +- Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json +- Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json +- Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json +- Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json +``` + ### Tag: package-2020-04 These settings apply only when `--tag=package-2020-04` is specified on the command line. @@ -226,6 +238,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cosmos-db/resource-manager ``` @@ -254,6 +269,10 @@ See configuration in [readme.go.md](./readme.go.md) ## Java See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -266,10 +285,12 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json - - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/notebook.json + - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json + - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json + - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json + - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/notebook.json - $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json - $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/notebook.json - $(this-folder)/Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json new file mode 100644 index 000000000000..58ed986b82aa --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json @@ -0,0 +1,601 @@ +{ + "swagger": "2.0", + "info": { + "title": "CostManagementClient", + "version": "2020-03-01-preview" + }, + "tags": [ + { + "name": "CostAllocationRules", + "description": "An API for creating and managing cost allocation rules within a billing account or enterprise enrollment. These rules can be used to reallocate cost between resources, filtered by Resource Group, Subscription, or Tag." + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules": { + "get": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_List", + "description": "Get the list of all cost allocation rules for a billing account or enterprise enrollment.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "CostAllocationRulesList": { + "$ref": "./examples/CostAllocationRulesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + } + ], + "responses": { + "200": { + "description": "List of cost allocation rules for the billing account or enterprise enrollment.", + "schema": { + "$ref": "#/definitions/CostAllocationRuleList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/checkNameAvailability": { + "post": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_CheckNameAvailability", + "description": "Checks availability and correctness of a name for a cost allocation rule", + "x-ms-examples": { + "CostAllocationRuleCheckNameAvailability": { + "$ref": "./examples/CostAllocationRuleCheckNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "name": "costAllocationRuleCheckNameAvailabilityRequest", + "description": "Cost allocation rule to be created or updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CostAllocationRuleCheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "Response of cost allocation rule name availability.", + "schema": { + "$ref": "#/definitions/CostAllocationRuleCheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/{ruleName}": { + "get": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_Get", + "description": "Get a cost allocation rule by rule name and billing account or enterprise enrollment.", + "x-ms-examples": { + "CostAllocationRules": { + "$ref": "./examples/CostAllocationRuleGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/ruleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CostAllocationRuleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_CreateOrUpdate", + "description": "Create/Update a rule to allocate cost between different resources within a billing account or enterprise enrollment.", + "x-ms-examples": { + "CostAllocationRulesCreateResourceGroup": { + "$ref": "./examples/CostAllocationRuleCreate.json" + }, + "CostAllocationRulesCreateTag": { + "$ref": "./examples/CostAllocationRuleCreateTag.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/ruleNameParameter" + }, + { + "name": "costAllocationRule", + "description": "Cost allocation rule to be created or updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CostAllocationRuleDefinition" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CostAllocationRuleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "CostAllocationRules" + ], + "operationId": "CostAllocationRules_Delete", + "description": "Delete cost allocation rule for billing account or enterprise enrollment.", + "x-ms-examples": { + "CostAllocationRules": { + "$ref": "./examples/CostAllocationRuleDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/ruleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "NoContent. Rule did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "CostAllocationRuleList": { + "type": "object", + "description": "Result of listing cost allocation rules. It contains a list of available rules in the billing account or enterprise enrollment provided.", + "properties": { + "value": { + "description": "The list of cost allocation rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CostAllocationRuleDefinition" + } + }, + "nextLink": { + "description": "URL to get the next set of rule list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "CostAllocationRuleCheckNameAvailabilityRequest": { + "type": "object", + "description": "The cost allocation rule check name availability request", + "properties": { + "name": { + "type": "string", + "description": "Rule name" + }, + "type": { + "type": "string", + "description": "Resource type. This is expected to be Microsoft.CostManagement/costAllocationRules" + } + } + }, + "CostAllocationRuleCheckNameAvailabilityResponse": { + "type": "object", + "description": "The cost allocation rule check name availability response", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "Whether this rule name is available" + }, + "reason": { + "$ref": "#/definitions/Reason", + "description": "The reason this name is not available" + }, + "message": { + "type": "string", + "description": "Error message if the name is not available" + } + } + }, + "Reason": { + "type": "string", + "description": "The reason this name is not available.", + "enum": [ + "Invalid", + "AlreadyExists", + "Valid" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "CostAllocationRuleDefinition": { + "type": "object", + "description": "The cost allocation rule model definition", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure Resource Manager Id for the rule. This is a read ony value." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the rule. This is a read only value." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type of the rule. This is a read only value of Microsoft.CostManagement/CostAllocationRule." + }, + "properties": { + "description": "Cost allocation rule properties", + "$ref": "#/definitions/CostAllocationRuleProperties" + } + }, + "x-ms-azure-resource": true + }, + "CostAllocationRuleProperties": { + "type": "object", + "description": "The properties of a cost allocation rule", + "additionalProperties": false, + "required": [ + "details", + "status" + ], + "properties": { + "description": { + "description": "Description of a cost allocation rule.", + "type": "string" + }, + "details": { + "description": "Resource information for the cost allocation rule", + "$ref": "#/definitions/CostAllocationRuleDetails" + }, + "status": { + "$ref": "#/definitions/RuleStatus", + "description": "Status of the rule" + }, + "createdDate": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Time at which the rule was created. Rules that change cost for the same resource are applied in order of creation." + }, + "updatedDate": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Time at which the rule was last updated." + } + } + }, + "RuleStatus": { + "type": "string", + "description": "Current status of the rule.", + "enum": [ + "NotActive", + "Active", + "Processing" + ], + "x-ms-enum": { + "name": "RuleStatus", + "modelAsString": true, + "values": [ + { + "value": "NotActive", + "description": "Rule is saved but not used to allocate costs.", + "name": "NotActive" + }, + { + "value": "Active", + "description": "Rule is saved and impacting cost allocation.", + "name": "Active" + }, + { + "value": "Processing", + "description": "Rule is saved and cost allocation is being updated. Readonly value that cannot be submitted in a put request.", + "name": "Processing" + } + ] + } + }, + "CostAllocationRuleDetails": { + "type": "object", + "description": "Resource details of the cost allocation rule", + "properties": { + "sourceResources": { + "description": "Source resources for cost allocation. At this time, this list can contain no more than one element.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceCostAllocationResource" + } + }, + "targetResources": { + "type": "array", + "description": "Target resources for cost allocation. At this time, this list can contain no more than one element.", + "items": { + "$ref": "#/definitions/TargetCostAllocationResource" + } + } + } + }, + "CostAllocationResource": { + "type": "object", + "description": "Common values for resources for cost allocation", + "required": [ + "resourceType", + "name" + ], + "properties": { + "resourceType": { + "description": "Type of resources contained in this cost allocation rule", + "$ref": "#/definitions/CostAllocationResourceType" + }, + "name": { + "description": "If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag", + "type": "string" + } + } + }, + "SourceCostAllocationResource": { + "allOf": [ + { + "$ref": "#/definitions/CostAllocationResource" + }, + { + "type": "object", + "properties": { + "values": { + "description": "Source Resources for cost allocation. This list cannot contain more than 25 values.", + "type": "array", + "items": { + "description": "Source resource for cost allocation", + "type": "string" + } + } + }, + "required": [ + "values" + ] + } + ], + "description": "Source resources for cost allocation" + }, + "TargetCostAllocationResource": { + "description": "Target resources for cost allocation.", + "allOf": [ + { + "$ref": "#/definitions/CostAllocationResource" + }, + { + "type": "object", + "properties": { + "values": { + "description": "Target resources for cost allocation. This list cannot contain more than 25 values.", + "type": "array", + "items": { + "$ref": "#/definitions/CostAllocationProportion" + } + }, + "policyType": { + "description": "Method of cost allocation for the rule", + "$ref": "#/definitions/CostAllocationPolicyType" + } + }, + "required": [ + "values", + "policyType" + ] + } + ] + }, + "CostAllocationResourceType": { + "type": "string", + "description": "Category of resource to use for allocation.", + "enum": [ + "Dimension", + "Tag" + ], + "x-ms-enum": { + "name": "CostAllocationResourceType", + "modelAsString": true, + "values": [ + { + "value": "Dimension", + "description": "Indicates an Azure dimension such as a subscription id or resource group name is being used for allocation.", + "name": "Dimension" + }, + { + "value": "Tag", + "description": "Allocates cost based on Azure Tag key value pairs.", + "name": "Tag" + } + ] + } + }, + "CostAllocationProportion": { + "type": "object", + "description": "Target resources and allocation", + "required": [ + "percentage", + "name" + ], + "properties": { + "name": { + "description": "Target resource for cost allocation", + "type": "string" + }, + "percentage": { + "description": "Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00.", + "type": "number" + } + } + }, + "CostAllocationPolicyType": { + "type": "string", + "description": "Method to use for allocating cost. FixedProportion indicates that cost will be split based on specified percentage values.", + "enum": [ + "FixedProportion" + ], + "x-ms-enum": { + "name": "CostAllocationPolicyType", + "modelAsString": true + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request (e.g. '2020-06-01')." + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "BillingAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ruleNameParameter": { + "name": "ruleName", + "in": "path", + "description": "Cost allocation rule name. The name cannot include spaces or any non alphanumeric characters other than '_' and '-'. The max length is 260 characters.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json new file mode 100644 index 000000000000..01dce08d0ffc --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "costAllocationRuleCheckNameAvailabilityRequest": { + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "A cost allocation rule with name testRule is already present for the billing account 100. Please specify a differnt name." + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json new file mode 100644 index 000000000000..82d5cefa2b2e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule", + "costAllocationRule": { + "properties": { + "description": "This is a testRule", + "status": "Active", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG", + "secondRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 45 + }, + { + "name": "destinationRG2", + "percentage": 54 + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a testRule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "Creating", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 50 + }, + { + "name": "destinationRG2", + "percentage": 50 + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json new file mode 100644 index 000000000000..87edfcec150c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule", + "costAllocationRule": { + "properties": { + "description": "This is a testRule", + "status": "Active", + "details": { + "sourceResources": [ + { + "resourceType": "Tag", + "name": "category", + "values": [ + "devops" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 33.33 + }, + { + "name": "destinationRG2", + "percentage": 33.33 + }, + { + "name": "destinationRG3", + "percentage": 33.34 + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a testRule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "Creating", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 50 + }, + { + "name": "destinationRG2", + "percentage": 50 + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json new file mode 100644 index 000000000000..3a796c1a47b5 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json new file mode 100644 index 000000000000..c2e38a9710ed --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100", + "ruleName": "testRule" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a testRule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "NotActive", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 50 + }, + { + "name": "destinationRG2", + "percentage": 50 + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json new file mode 100644 index 000000000000..96642fa6fdb5 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2020-03-01-preview", + "billingAccountId": "100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule", + "name": "testRule", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a testRule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "NotActive", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "ResourceGroupName", + "values": [ + "sampleRG" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "destinationRG", + "percentage": 50 + }, + { + "name": "destinationRG2", + "percentage": 50 + } + ] + } + ] + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule2", + "name": "testRule2", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a second test Rule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "Active", + "details": { + "sourceResources": [ + { + "resourceType": "Dimension", + "name": "SubscriptionId", + "values": [ + "2A002F2D-536F-4D7C-90DA-3D0BAE879B0E" + ] + } + ], + "targetResources": [ + { + "resourceType": "Tag", + "policyType": "FixedProportion", + "name": "category", + "values": [ + { + "name": "devops", + "percentage": 100 + } + ] + } + ] + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule3", + "name": "testRule3", + "type": "Microsoft.CostManagement/costAllocationRules", + "properties": { + "description": "This is a third test Rule", + "createdDate": "2020-06-18T22:21:51.1287144Z", + "updatedDate": "2020-06-18T22:21:51.1287144Z", + "status": "Active", + "details": { + "sourceResources": [ + { + "resourceType": "Tag", + "name": "category", + "values": [ + "devops" + ] + } + ], + "targetResources": [ + { + "resourceType": "Dimension", + "policyType": "FixedProportion", + "name": "ResourceGroupName", + "values": [ + { + "name": "ResourceGroup", + "percentage": 55.55 + }, + { + "name": "ResourceGroupSecond", + "percentage": 44.45 + } + ] + } + ] + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json new file mode 100644 index 000000000000..b08ae42f80d7 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json @@ -0,0 +1,3324 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "CostManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.CostManagement/views": { + "get": { + "tags": [ + "Views" + ], + "operationId": "Views_List", + "description": "Lists all views by tenant and object.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "PrivateViewList": { + "$ref": "./examples/PrivateViewList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ViewListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/views": { + "get": { + "tags": [ + "Views" + ], + "operationId": "Views_ListByScope", + "description": "Lists all views at the given scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupViewList": { + "$ref": "./examples/ViewListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeViewParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ViewListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.CostManagement/views/{viewName}": { + "get": { + "tags": [ + "Views" + ], + "operationId": "Views_Get", + "description": "Gets the view by view name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "PrivateView": { + "$ref": "./examples/PrivateView.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Views" + ], + "operationId": "Views_CreateOrUpdate", + "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "CreateOrUpdatePrivateView": { + "$ref": "./examples/PrivateViewCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/View" + }, + "description": "Parameters supplied to the CreateOrUpdate View operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Views" + ], + "operationId": "Views_Delete", + "description": "The operation to delete a view.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "DeletePrivateView": { + "$ref": "./examples/PrivateViewDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "NoContent. Resource is not available." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/views/{viewName}": { + "get": { + "tags": [ + "Views" + ], + "operationId": "Views_GetByScope", + "description": "Gets the view for the defined scope by view name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupView": { + "$ref": "./examples/ViewByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeViewParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Views" + ], + "operationId": "Views_CreateOrUpdateByScope", + "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupCreateOrUpdateView": { + "$ref": "./examples/ViewCreateOrUpdateByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeViewParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/View" + }, + "description": "Parameters supplied to the CreateOrUpdate View operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/View" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Views" + ], + "operationId": "Views_DeleteByScope", + "description": "The operation to delete a view.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ResourceGroupDeleteView": { + "$ref": "./examples/ViewDeleteByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeViewParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "NoContent. Resource is not available." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/alerts": { + "get": { + "tags": [ + "Alerts" + ], + "operationId": "Alerts_List", + "description": "Lists the alerts for scope defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "BillingAccountAlerts": { + "$ref": "./examples/BillingAccountAlerts.json" + }, + "BillingProfileAlerts": { + "$ref": "./examples/BillingProfileAlerts.json" + }, + "InvoiceSectionAlerts": { + "$ref": "./examples/InvoiceSectionAlerts.json" + }, + "EnrollmentAccountAlerts": { + "$ref": "./examples/EnrollmentAccountAlerts.json" + }, + "DepartmentAlerts": { + "$ref": "./examples/DepartmentAlerts.json" + }, + "SubscriptionAlerts": { + "$ref": "./examples/SubscriptionAlerts.json" + }, + "ResourceGroupAlerts": { + "$ref": "./examples/ResourceGroupAlerts.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeAlertParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AlertsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/alerts/{alertId}": { + "get": { + "tags": [ + "Alerts" + ], + "operationId": "Alerts_Get", + "description": "Gets the alert for the scope by alert ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionAlerts": { + "$ref": "./examples/SingleSubscriptionAlert.json" + }, + "ResourceGroupAlerts": { + "$ref": "./examples/SingleResourceGroupAlert.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeAlertParameter" + }, + { + "$ref": "#/parameters/alertIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Alerts" + ], + "operationId": "Alerts_Dismiss", + "description": "Dismisses the specified alert", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionAlerts": { + "$ref": "./examples/DismissSubscriptionAlerts.json" + }, + "ResourceGroupAlerts": { + "$ref": "./examples/DismissResourceGroupAlerts.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeAlertParameter" + }, + { + "$ref": "#/parameters/alertIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DismissAlertPayload" + }, + "description": "Parameters supplied to the Dismiss Alert operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts": { + "get": { + "tags": [ + "Alerts" + ], + "operationId": "Alerts_ListExternal", + "description": "Lists the Alerts for external cloud provider type defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountAlerts": { + "$ref": "./examples/ExternalBillingAccountAlerts.json" + }, + "ExternalSubscriptionAlerts": { + "$ref": "./examples/ExternalSubscriptionAlerts.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderTypeParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AlertsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_Usage", + "description": "Lists the forecast charges for scope defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "BillingAccountForecast": { + "$ref": "./examples/BillingAccountForecast.json" + }, + "BillingProfileForecast": { + "$ref": "./examples/BillingProfileForecast.json" + }, + "InvoiceSectionForecast": { + "$ref": "./examples/InvoiceSectionForecast.json" + }, + "EnrollmentAccountForecast": { + "$ref": "./examples/EnrollmentAccountForecast.json" + }, + "DepartmentForecast": { + "$ref": "./examples/DepartmentForecast.json" + }, + "SubscriptionForecast": { + "$ref": "./examples/SubscriptionForecast.json" + }, + "ResourceGroupForecast": { + "$ref": "./examples/ResourceGroupForecast.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeForecastParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ForecastDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast": { + "post": { + "tags": [ + "Forecast" + ], + "operationId": "Forecast_ExternalCloudProviderUsage", + "description": "Lists the forecast charges for external cloud provider type defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountForecast": { + "$ref": "./examples/ExternalBillingAccountForecast.json" + }, + "ExternalSubscriptionForecast": { + "$ref": "./examples/ExternalSubscriptionForecast.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderTypeParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ForecastDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_List", + "description": "Lists the dimensions by the defined scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionDimensionsList-Legacy": { + "$ref": "./examples/SubscriptionDimensionsList.json" + }, + "ResourceGroupDimensionsList-Legacy": { + "$ref": "./examples/ResourceGroupDimensionsList.json" + }, + "ManagementGroupDimensionsList-Legacy": { + "$ref": "./examples/ManagementGroupDimensionsList.json" + }, + "ManagementGroupDimensionsListExpandAndTop-Legacy": { + "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json" + }, + "ManagementGroupDimensionsListWithFilter-Legacy": { + "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json" + }, + "DepartmentDimensionsList-Legacy": { + "$ref": "./examples/DepartmentDimensionsList.json" + }, + "DepartmentDimensionsListExpandAndTop-Legacy": { + "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json" + }, + "DepartmentDimensionsListWithFilter-Legacy": { + "$ref": "./examples/DepartmentDimensionsListWithFilter.json" + }, + "EnrollmentAccountDimensionsList-Legacy": { + "$ref": "./examples/EnrollmentAccountDimensionsList.json" + }, + "EnrollmentAccountDimensionsListExpandAndTop-Legacy": { + "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json" + }, + "EnrollmentAccountDimensionsListWithFilter-Legacy": { + "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json" + }, + "BillingAccountDimensionsList-Legacy": { + "$ref": "./examples/BillingAccountDimensionsList.json" + }, + "BillingAccountDimensionsListExpandAndTop-Legacy": { + "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json" + }, + "BillingAccountDimensionsListWithFilter-Legacy": { + "$ref": "./examples/BillingAccountDimensionsListWithFilter.json" + }, + "BillingAccountDimensionsList-Modern": { + "$ref": "./examples/MCABillingAccountDimensionsList.json" + }, + "BillingAccountDimensionsListExpandAndTop-Modern": { + "$ref": "./examples/MCABillingAccountDimensionsListExpandAndTop.json" + }, + "BillingAccountDimensionsListWithFilter-Modern": { + "$ref": "./examples/MCABillingAccountDimensionsListWithFilter.json" + }, + "BillingProfileDimensionsList-Modern": { + "$ref": "./examples/MCABillingProfileDimensionsList.json" + }, + "BillingProfileDimensionsListExpandAndTop-Modern": { + "$ref": "./examples/MCABillingProfileDimensionsListExpandAndTop.json" + }, + "BillingProfileDimensionsListWithFilter-Modern": { + "$ref": "./examples/MCABillingProfileDimensionsListWithFilter.json" + }, + "InvoiceSectionDimensionsList-Modern": { + "$ref": "./examples/MCAInvoiceSectionDimensionsList.json" + }, + "InvoiceSectionDimensionsListExpandAndTop-Modern": { + "$ref": "./examples/MCAInvoiceSectionDimensionsListExpandAndTop.json" + }, + "InvoiceSectionDimensionsListWithFilter-Modern": { + "$ref": "./examples/MCAInvoiceSectionDimensionsListWithFilter.json" + }, + "CustomerDimensionsList-Modern": { + "$ref": "./examples/MCACustomerDimensionsList.json" + }, + "CustomerDimensionsListExpandAndTop-Modern": { + "$ref": "./examples/MCACustomerDimensionsListExpandAndTop.json" + }, + "CustomerDimensionsListWithFilter-Modern": { + "$ref": "./examples/MCACustomerDimensionsListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeDimensionParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "in": "query", + "required": false, + "type": "string" + }, + { + "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" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions": { + "get": { + "tags": [ + "Dimensions" + ], + "x-ms-odata": "#/definitions/Dimension", + "operationId": "Dimensions_ByExternalCloudProviderType", + "description": "Lists the dimensions by the external cloud provider type.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountDimensionList": { + "$ref": "./examples/ExternalBillingAccountsDimensions.json" + }, + "ExternalSubscriptionDimensionList": { + "$ref": "./examples/ExternalSubscriptionsDimensions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/externalCloudProviderTypeParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$expand", + "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.", + "in": "query", + "required": false, + "type": "string" + }, + { + "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" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N dimension data.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_Usage", + "description": "Query the usage data for scope defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "SubscriptionQuery-Legacy": { + "$ref": "./examples/SubscriptionQuery.json" + }, + "SubscriptionQueryGrouping-Legacy": { + "$ref": "./examples/SubscriptionQueryGrouping.json" + }, + "ResourceGroupQuery-Legacy": { + "$ref": "./examples/ResourceGroupQuery.json" + }, + "ResourceGroupQueryGrouping-Legacy": { + "$ref": "./examples/ResourceGroupQueryGrouping.json" + }, + "BillingAccountQuery-Legacy": { + "$ref": "./examples/BillingAccountQuery.json" + }, + "BillingAccountQueryGrouping-Legacy": { + "$ref": "./examples/BillingAccountQueryGrouping.json" + }, + "EnrollmentAccountQuery-Legacy": { + "$ref": "./examples/EnrollmentAccountQuery.json" + }, + "EnrollmentAccountQueryGrouping-Legacy": { + "$ref": "./examples/EnrollmentAccountQueryGrouping.json" + }, + "DepartmentQuery-Legacy": { + "$ref": "./examples/DepartmentQuery.json" + }, + "DepartmentQueryGrouping-Legacy": { + "$ref": "./examples/DepartmentQueryGrouping.json" + }, + "ManagementGroupQuery-Legacy": { + "$ref": "./examples/ManagementGroupQuery.json" + }, + "ManagementGroupQueryGrouping-Legacy": { + "$ref": "./examples/ManagementGroupQueryGrouping.json" + }, + "BillingAccountQuery-Modern": { + "$ref": "./examples/MCABillingAccountQuery.json" + }, + "BillingAccountQueryGrouping-Modern": { + "$ref": "./examples/MCABillingAccountQueryGrouping.json" + }, + "BillingProfileQuery-Modern": { + "$ref": "./examples/MCABillingProfileQuery.json" + }, + "BillingProfileQueryGrouping-Modern": { + "$ref": "./examples/MCABillingProfileQueryGrouping.json" + }, + "InvoiceSectionQuery-Modern": { + "$ref": "./examples/MCAInvoiceSectionQuery.json" + }, + "InvoiceSectionQueryGrouping-Modern": { + "$ref": "./examples/MCAInvoiceSectionQueryGrouping.json" + }, + "CustomerQuery-Modern": { + "$ref": "./examples/MCACustomerQuery.json" + }, + "CustomerQueryGrouping-Modern": { + "$ref": "./examples/MCACustomerQueryGrouping.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Query Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_UsageByExternalCloudProviderType", + "description": "Query the usage data for external cloud provider type defined.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExternalBillingAccountQueryList": { + "$ref": "./examples/ExternalBillingAccountsQuery.json" + }, + "ExternalSubscriptionsQuery": { + "$ref": "./examples/ExternalSubscriptionsQuery.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/externalCloudProviderTypeParameter" + }, + { + "$ref": "#/parameters/externalCloudProviderIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryDefinition" + }, + "description": "Parameters supplied to the CreateOrUpdate Query Config operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/QueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/exports": { + "get": { + "tags": [ + "Exports" + ], + "operationId": "Exports_List", + "description": "The operation to list all exports at the given scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportsGetBySubscription": { + "$ref": "./examples/ExportsGetBySubscription.json" + }, + "ExportsGetByResourceGroup": { + "$ref": "./examples/ExportsGetByResourceGroup.json" + }, + "ExportsGetByBillingAccount": { + "$ref": "./examples/ExportsGetByBillingAccount.json" + }, + "ExportsGetByDepartment": { + "$ref": "./examples/ExportsGetByDepartment.json" + }, + "ExportsGetByEnrollmentAccount": { + "$ref": "./examples/ExportsGetByEnrollmentAccount.json" + }, + "ExportsGetByManagementGroup": { + "$ref": "./examples/ExportsGetByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersion20200601Parameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last execution of each export.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExportListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": { + "get": { + "tags": [ + "Exports" + ], + "operationId": "Exports_Get", + "description": "The operation to get the export for the defined scope by export name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportGetBySubscription": { + "$ref": "./examples/ExportGetBySubscription.json" + }, + "ExportGetByResourceGroup": { + "$ref": "./examples/ExportGetByResourceGroup.json" + }, + "ExportGetByBillingAccount": { + "$ref": "./examples/ExportGetByBillingAccount.json" + }, + "ExportGetByDepartment": { + "$ref": "./examples/ExportGetByDepartment.json" + }, + "ExportGetByEnrollmentAccount": { + "$ref": "./examples/ExportGetByEnrollmentAccount.json" + }, + "ExportGetByManagementGroup": { + "$ref": "./examples/ExportGetByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersion20200601Parameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last 10 executions of the export.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Exports" + ], + "operationId": "Exports_CreateOrUpdate", + "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportCreateOrUpdateBySubscription": { + "$ref": "./examples/ExportCreateOrUpdateBySubscription.json" + }, + "ExportCreateOrUpdateByResourceGroup": { + "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json" + }, + "ExportCreateOrUpdateByBillingAccount": { + "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json" + }, + "ExportCreateOrUpdateByDepartment": { + "$ref": "./examples/ExportCreateOrUpdateByDepartment.json" + }, + "ExportCreateOrUpdateByEnrollmentAccount": { + "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json" + }, + "ExportCreateOrUpdateByManagementGroup": { + "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersion20200601Parameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Export" + }, + "description": "Parameters supplied to the CreateOrUpdate Export operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/Export" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Exports" + ], + "operationId": "Exports_Delete", + "description": "The operation to delete a export.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportDeleteBySubscription": { + "$ref": "./examples/ExportDeleteBySubscription.json" + }, + "ExportDeleteByResourceGroup": { + "$ref": "./examples/ExportDeleteByResourceGroup.json" + }, + "ExportDeleteByBillingAccount": { + "$ref": "./examples/ExportDeleteByBillingAccount.json" + }, + "ExportDeleteByEnrollmentAccount": { + "$ref": "./examples/ExportDeleteByEnrollmentAccount.json" + }, + "ExportDeleteByDepartment": { + "$ref": "./examples/ExportDeleteByDepartment.json" + }, + "ExportDeleteByManagementGroup": { + "$ref": "./examples/ExportDeleteByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersion20200601Parameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": { + "post": { + "tags": [ + "Exports" + ], + "operationId": "Exports_Execute", + "description": "The operation to execute an export.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportRunBySubscription": { + "$ref": "./examples/ExportRunBySubscription.json" + }, + "ExportRunByResourceGroup": { + "$ref": "./examples/ExportRunByResourceGroup.json" + }, + "ExportRunByBillingAccount": { + "$ref": "./examples/ExportRunByBillingAccount.json" + }, + "ExportRunByDepartment": { + "$ref": "./examples/ExportRunByDepartment.json" + }, + "ExportRunByEnrollmentAccount": { + "$ref": "./examples/ExportRunByEnrollmentAccount.json" + }, + "ExportRunByManagementGroup": { + "$ref": "./examples/ExportRunByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersion20200601Parameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": { + "get": { + "tags": [ + "Exports" + ], + "operationId": "Exports_GetExecutionHistory", + "description": "The operation to get the execution history of an export for the defined scope and export name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ExportRunHistoryGetBySubscription": { + "$ref": "./examples/ExportRunHistoryGetBySubscription.json" + }, + "ExportRunHistoryGetByResourceGroup": { + "$ref": "./examples/ExportRunHistoryGetByResourceGroup.json" + }, + "ExportRunHistoryGetByBillingAccount": { + "$ref": "./examples/ExportRunHistoryGetByBillingAccount.json" + }, + "ExportRunHistoryGetByDepartment": { + "$ref": "./examples/ExportRunHistoryGetByDepartment.json" + }, + "ExportRunHistoryGetByEnrollmentAccount": { + "$ref": "./examples/ExportRunHistoryGetByEnrollmentAccount.json" + }, + "ExportRunHistoryGetByManagementGroup": { + "$ref": "./examples/ExportRunHistoryGetByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeQueryParameter" + }, + { + "$ref": "#/parameters/apiVersion20200601Parameter" + }, + { + "$ref": "#/parameters/exportNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ExportExecutionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available cost management REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ReportConfigDefinition": { + "description": "The definition of a report config.", + "properties": { + "type": { + "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.", + "type": "string", + "enum": [ + "Usage" + ], + "x-ms-enum": { + "name": "ReportType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "WeekToDate", + "MonthToDate", + "YearToDate", + "Custom" + ], + "x-ms-enum": { + "name": "ReportTimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the report.", + "$ref": "#/definitions/ReportConfigTimePeriod" + }, + "dataset": { + "description": "Has definition for data in this report config.", + "$ref": "#/definitions/ReportConfigDataset" + } + }, + "required": [ + "type", + "timeframe" + ] + }, + "ReportConfigTimePeriod": { + "description": "The start and end date for pulling data for the report.", + "properties": { + "from": { + "description": "The start date to pull data from.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date to pull data to.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from", + "to" + ] + }, + "ReportConfigDataset": { + "description": "The definition of data present in the report.", + "properties": { + "granularity": { + "description": "The granularity of rows in the report.", + "type": "string", + "enum": [ + "Daily", + "Monthly" + ], + "x-ms-enum": { + "name": "ReportGranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.", + "$ref": "#/definitions/ReportConfigDatasetConfiguration" + }, + "aggregation": { + "type": "object", + "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/ReportConfigAggregation" + }, + "maxItems": 2 + }, + "grouping": { + "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigGrouping" + }, + "maxItems": 2 + }, + "sorting": { + "description": "Array of order by expression to use in the report.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigSorting" + } + }, + "filter": { + "type": "object", + "description": "Has filter expression to use in the report.", + "$ref": "#/definitions/ReportConfigFilter" + } + } + }, + "ReportConfigDatasetConfiguration": { + "description": "The configuration of dataset in the report.", + "properties": { + "columns": { + "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ReportConfigAggregation": { + "description": "The aggregation expression to be used in the report.", + "properties": { + "name": { + "description": "The name of the column to aggregate.", + "type": "string" + }, + "function": { + "description": "The name of the aggregation function to use.", + "type": "string", + "enum": [ + "Sum" + ], + "x-ms-enum": { + "name": "FunctionType", + "modelAsString": true + } + } + }, + "required": [ + "name", + "function" + ] + }, + "ReportConfigSorting": { + "description": "The order by expression to be used in the report.", + "properties": { + "direction": { + "description": "Direction of sort.", + "type": "string", + "enum": [ + "Ascending", + "Descending" + ] + }, + "name": { + "description": "The name of the column to sort.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "ReportConfigGrouping": { + "description": "The group by expression to be used in the report.", + "properties": { + "type": { + "description": "Has type of the column to group.", + "$ref": "#/definitions/ReportConfigColumnType" + }, + "name": { + "description": "The name of the column to group. This version supports subscription lowest possible grain.", + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "ReportConfigFilter": { + "description": "The filter expression to be used in the report.", + "properties": { + "and": { + "description": "The logical \"AND\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigFilter" + }, + "minItems": 2 + }, + "or": { + "description": "The logical \"OR\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/ReportConfigFilter" + }, + "minItems": 2 + }, + "not": { + "description": "The logical \"NOT\" expression.", + "$ref": "#/definitions/ReportConfigFilter" + }, + "dimension": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/ReportConfigComparisonExpression" + }, + "tag": { + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/ReportConfigComparisonExpression" + } + } + }, + "ReportConfigColumnType": { + "description": "The type of the column in the report.", + "type": "string", + "enum": [ + "Tag", + "Dimension" + ], + "x-ms-enum": { + "name": "ReportConfigColumnType", + "modelAsString": true + } + }, + "ReportConfigComparisonExpression": { + "description": "The comparison expression to be used in the report.", + "properties": { + "name": { + "description": "The name of the column to use in comparison.", + "type": "string" + }, + "operator": { + "description": "The operator to use for comparison.", + "type": "string", + "enum": [ + "In", + "Contains" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "values": { + "description": "Array of values to use for comparison", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, + "ViewListResult": { + "description": "Result of listing views. It contains a list of available views.", + "type": "object", + "properties": { + "value": { + "description": "The list of views.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/View" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "View": { + "description": "States and configurations of Cost Analysis.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ViewProperties", + "title": "View properties" + } + } + }, + "ViewProperties": { + "type": "object", + "description": "The properties of the view.", + "properties": { + "displayName": { + "description": "User input name of the view. Required.", + "type": "string" + }, + "scope": { + "description": "Cost Management scope to save the view on. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.", + "type": "string" + }, + "createdOn": { + "description": "Date the user created this view.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "modifiedOn": { + "description": "Date when the user last modified this view.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "query": { + "description": "Query body configuration. Required.", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReportConfigDefinition" + }, + "chart": { + "description": "Chart type of the main view in Cost Analysis. Required.", + "type": "string", + "enum": [ + "Area", + "Line", + "StackedColumn", + "GroupedColumn", + "Table" + ], + "x-ms-enum": { + "name": "ChartType", + "modelAsString": true + } + }, + "accumulated": { + "description": "Show costs accumulated over time.", + "type": "string", + "enum": [ + "true", + "false" + ], + "x-ms-enum": { + "name": "AccumulatedType", + "modelAsString": true + } + }, + "metric": { + "description": "Metric to use when displaying costs.", + "type": "string", + "enum": [ + "ActualCost", + "AmortizedCost", + "AHUB" + ], + "x-ms-enum": { + "name": "MetricType", + "modelAsString": true + } + }, + "kpis": { + "description": "List of KPIs to show in Cost Analysis UI.", + "type": "array", + "items": { + "$ref": "#/definitions/KpiProperties" + } + }, + "pivots": { + "description": "Configuration of 3 sub-views in the Cost Analysis UI.", + "type": "array", + "items": { + "$ref": "#/definitions/PivotProperties" + } + } + } + }, + "KpiProperties": { + "description": "Each KPI must contain a 'type' and 'enabled' key.", + "type": "object", + "properties": { + "type": { + "description": "KPI type (Forecast, Budget).", + "type": "string", + "enum": [ + "Forecast", + "Budget" + ], + "x-ms-enum": { + "name": "KpiTypeType", + "modelAsString": true + } + }, + "id": { + "description": "ID of resource related to metric (budget).", + "type": "string" + }, + "enabled": { + "description": "show the KPI in the UI?", + "type": "boolean" + } + } + }, + "PivotProperties": { + "description": "Each pivot must contain a 'type' and 'name'.", + "type": "object", + "properties": { + "type": { + "description": "Data type to show in view.", + "type": "string", + "enum": [ + "Dimension", + "TagKey" + ], + "x-ms-enum": { + "name": "PivotTypeType", + "modelAsString": true + } + }, + "name": { + "description": "Data field to show in view.", + "type": "string" + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "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." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "eTag": { + "type": "string", + "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not." + } + }, + "x-ms-azure-resource": true + }, + "DimensionsListResult": { + "description": "Result of listing dimensions. It contains a list of available dimensions.", + "type": "object", + "properties": { + "value": { + "description": "The list of dimensions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Dimension" + } + } + } + }, + "Dimension": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DimensionProperties", + "title": "Dimension properties" + } + } + }, + "DimensionProperties": { + "type": "object", + "properties": { + "description": { + "description": "Dimension description.", + "type": "string", + "readOnly": true + }, + "filterEnabled": { + "description": "Filter enabled.", + "type": "boolean", + "readOnly": true + }, + "groupingEnabled": { + "description": "Grouping enabled.", + "type": "boolean", + "readOnly": true + }, + "data": { + "type": "array", + "items": { + "description": "Dimension data item.", + "type": "string", + "readOnly": true + } + }, + "total": { + "description": "Total number of data for the dimension.", + "format": "int32", + "type": "integer", + "readOnly": true + }, + "category": { + "description": "Dimension category.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "Usage start.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "usageEnd": { + "description": "Usage end.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "AlertsResult": { + "description": "Result of alerts.", + "type": "object", + "properties": { + "value": { + "description": "List of alerts.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "description": "URL to get the next set of alerts results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Alert": { + "description": "An individual alert.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AlertProperties", + "title": "Alert properties" + } + } + }, + "AlertProperties": { + "type": "object", + "properties": { + "definition": { + "description": "defines the type of alert", + "type": "object", + "properties": { + "type": { + "description": "type of alert", + "type": "string", + "enum": [ + "Budget", + "Invoice", + "Credit", + "Quota", + "General", + "xCloud", + "BudgetForecast" + ], + "x-ms-enum": { + "name": "AlertType", + "modelAsString": true + } + }, + "category": { + "description": "Alert category", + "type": "string", + "enum": [ + "Cost", + "Usage", + "Billing", + "System" + ], + "x-ms-enum": { + "name": "AlertCategory", + "modelAsString": true + } + }, + "criteria": { + "description": "Criteria that triggered alert", + "type": "string", + "enum": [ + "CostThresholdExceeded", + "UsageThresholdExceeded", + "CreditThresholdApproaching", + "CreditThresholdReached", + "QuotaThresholdApproaching", + "QuotaThresholdReached", + "MultiCurrency", + "ForecastCostThresholdExceeded", + "ForecastUsageThresholdExceeded", + "InvoiceDueDateApproaching", + "InvoiceDueDateReached", + "CrossCloudNewDataAvailable", + "CrossCloudCollectionError", + "GeneralThresholdError" + ], + "x-ms-enum": { + "name": "AlertCriteria", + "modelAsString": true + } + } + } + }, + "description": { + "description": "Alert description", + "type": "string" + }, + "source": { + "description": "Source of alert", + "type": "string", + "enum": [ + "Preset", + "User" + ], + "x-ms-enum": { + "name": "AlertSource", + "modelAsString": true + } + }, + "details": { + "description": "Alert details", + "type": "object", + "properties": { + "timeGrainType": { + "description": "Type of timegrain cadence", + "type": "string", + "enum": [ + "None", + "Monthly", + "Quarterly", + "Annually", + "BillingMonth", + "BillingQuarter", + "BillingAnnual" + ], + "x-ms-enum": { + "name": "AlertTimeGrainType", + "modelAsString": true + } + }, + "periodStartDate": { + "description": "datetime of periodStartDate", + "type": "string" + }, + "triggeredBy": { + "description": "notificationId that triggered this alert", + "type": "string" + }, + "resourceGroupFilter": { + "description": "array of resourceGroups to filter by", + "type": "array", + "items": {} + }, + "resourceFilter": { + "description": "array of resources to filter by", + "type": "array", + "items": {} + }, + "meterFilter": { + "description": "array of meters to filter by", + "type": "array", + "items": {} + }, + "tagFilter": { + "description": "tags to filter by", + "type": "object", + "properties": {} + }, + "threshold": { + "description": "notification threshold percentage as a decimal which activated this alert", + "type": "number", + "format": "decimal" + }, + "operator": { + "description": "operator used to compare currentSpend with amount", + "type": "string", + "enum": [ + "None", + "EqualTo", + "GreaterThan", + "GreaterThanOrEqualTo", + "LessThan", + "LessThanOrEqualTo" + ], + "x-ms-enum": { + "name": "AlertOperator", + "modelAsString": true + } + }, + "amount": { + "description": "budget threshold amount", + "type": "number", + "format": "decimal" + }, + "unit": { + "description": "unit of currency being used", + "type": "string" + }, + "currentSpend": { + "description": "current spend", + "type": "number", + "format": "decimal" + }, + "contactEmails": { + "description": "list of emails to contact", + "type": "array", + "items": { + "type": "string" + } + }, + "contactGroups": { + "description": "list of action groups to broadcast to", + "type": "array", + "items": { + "type": "string" + } + }, + "contactRoles": { + "description": "list of contact roles", + "type": "array", + "items": { + "type": "string" + } + }, + "overridingAlert": { + "description": "overriding alert", + "type": "string" + } + } + }, + "costEntityId": { + "description": "related budget", + "type": "string" + }, + "status": { + "description": "alert status", + "type": "string", + "enum": [ + "None", + "Active", + "Overridden", + "Resolved", + "Dismissed" + ], + "x-ms-enum": { + "name": "AlertStatus", + "modelAsString": true + } + }, + "creationTime": { + "description": "dateTime in which alert was created", + "type": "string" + }, + "closeTime": { + "description": "dateTime in which alert was closed", + "type": "string" + }, + "modificationTime": { + "description": "dateTime in which alert was last modified", + "type": "string" + }, + "statusModificationUserName": { + "description": "", + "type": "string" + }, + "statusModificationTime": { + "description": "dateTime in which the alert status was last modified", + "type": "string" + } + } + }, + "DismissAlertPayload": { + "description": "The request payload to update an alert", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AlertProperties", + "title": "Alert properties" + } + } + }, + "QueryResult": { + "description": "Result of query. It contains all columns listed under groupings and aggregation.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/QueryProperties", + "title": "Query properties" + } + } + }, + "QueryProperties": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string" + }, + "columns": { + "description": "Array of columns", + "type": "array", + "items": { + "$ref": "#/definitions/QueryColumn" + } + }, + "rows": { + "description": "Array of rows", + "type": "array", + "items": { + "type": "array", + "items": {} + } + } + } + }, + "QueryColumn": { + "type": "object", + "properties": { + "name": { + "description": "The name of column.", + "type": "string" + }, + "type": { + "description": "The type of column.", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of cost management operations supported by the Microsoft.CostManagement resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A Cost management REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.CostManagement.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: Dimensions, Query.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "ForecastDefinition": { + "description": "The definition of a forecast.", + "properties": { + "type": { + "description": "The type of the forecast.", + "type": "string", + "enum": [ + "Usage", + "ActualCost", + "AmortizedCost" + ], + "x-ms-enum": { + "name": "ForecastType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the forecast. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "MonthToDate", + "BillingMonthToDate", + "TheLastMonth", + "TheLastBillingMonth", + "WeekToDate", + "Custom" + ], + "x-ms-enum": { + "name": "ForecastTimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the forecast.", + "$ref": "#/definitions/QueryTimePeriod" + }, + "dataset": { + "description": "Has definition for data in this forecast.", + "$ref": "#/definitions/ForecastDataset" + }, + "includeActualCost": { + "description": "a boolean determining if actualCost will be included", + "type": "boolean" + }, + "includeFreshPartialCost": { + "description": "a boolean determining if FreshPartialCost will be included", + "type": "boolean" + } + }, + "required": [ + "type", + "timeframe" + ] + }, + "ForecastDataset": { + "description": "The definition of data present in the forecast.", + "properties": { + "granularity": { + "description": "The granularity of rows in the forecast.", + "type": "string", + "enum": [ + "Daily" + ], + "x-ms-enum": { + "name": "GranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.", + "$ref": "#/definitions/QueryDatasetConfiguration" + }, + "aggregation": { + "type": "object", + "description": "Dictionary of aggregation expression to use in the forecast. The key of each item in the dictionary is the alias for the aggregated column. forecast can have up to 2 aggregation clauses.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/QueryAggregation" + }, + "maxItems": 2 + }, + "filter": { + "type": "object", + "description": "Has filter expression to use in the forecast.", + "$ref": "#/definitions/QueryFilter" + } + } + }, + "QueryDefinition": { + "description": "The definition of a query.", + "properties": { + "type": { + "description": "The type of the query.", + "type": "string", + "enum": [ + "Usage", + "ActualCost", + "AmortizedCost" + ], + "x-ms-enum": { + "name": "ExportType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the query. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "MonthToDate", + "BillingMonthToDate", + "TheLastMonth", + "TheLastBillingMonth", + "WeekToDate", + "Custom" + ], + "x-ms-enum": { + "name": "TimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the query.", + "$ref": "#/definitions/QueryTimePeriod" + }, + "dataset": { + "description": "Has definition for data in this query.", + "$ref": "#/definitions/QueryDataset" + } + }, + "required": [ + "type", + "timeframe" + ] + }, + "QueryTimePeriod": { + "description": "The start and end date for pulling data for the query.", + "properties": { + "from": { + "description": "The start date to pull data from.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date to pull data to.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from", + "to" + ] + }, + "QueryDataset": { + "description": "The definition of data present in the query.", + "properties": { + "granularity": { + "description": "The granularity of rows in the query.", + "type": "string", + "enum": [ + "Daily" + ], + "x-ms-enum": { + "name": "GranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.", + "$ref": "#/definitions/QueryDatasetConfiguration" + }, + "aggregation": { + "type": "object", + "description": "Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/QueryAggregation" + }, + "maxItems": 2 + }, + "grouping": { + "description": "Array of group by expression to use in the query. Query can have up to 2 group by clauses.", + "type": "array", + "items": { + "$ref": "#/definitions/QueryGrouping" + }, + "maxItems": 2 + }, + "filter": { + "type": "object", + "description": "Has filter expression to use in the query.", + "$ref": "#/definitions/QueryFilter" + } + } + }, + "QueryDatasetConfiguration": { + "description": "The configuration of dataset in the query.", + "properties": { + "columns": { + "description": "Array of column names to be included in the query. Any valid query column name is allowed. If not provided, then query includes all columns.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "QueryAggregation": { + "description": "The aggregation expression to be used in the query.", + "properties": { + "name": { + "description": "The name of the column to aggregate.", + "type": "string" + }, + "function": { + "description": "The name of the aggregation function to use.", + "type": "string", + "enum": [ + "Sum" + ], + "x-ms-enum": { + "name": "FunctionType", + "modelAsString": true + } + } + }, + "required": [ + "name", + "function" + ] + }, + "QueryGrouping": { + "description": "The group by expression to be used in the query.", + "properties": { + "type": { + "description": "Has type of the column to group.", + "$ref": "#/definitions/QueryColumnType" + }, + "name": { + "description": "The name of the column to group.", + "type": "string" + } + }, + "required": [ + "type", + "name" + ] + }, + "QueryFilter": { + "description": "The filter expression to be used in the export.", + "properties": { + "and": { + "description": "The logical \"AND\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/QueryFilter" + }, + "minItems": 2 + }, + "or": { + "description": "The logical \"OR\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/QueryFilter" + }, + "minItems": 2 + }, + "not": { + "description": "The logical \"NOT\" expression.", + "$ref": "#/definitions/QueryFilter" + }, + "dimension": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/QueryComparisonExpression" + }, + "tag": { + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/QueryComparisonExpression" + } + } + }, + "QueryColumnType": { + "description": "The type of the column in the export.", + "type": "string", + "enum": [ + "Tag", + "Dimension" + ], + "x-ms-enum": { + "name": "QueryColumnType", + "modelAsString": true + } + }, + "QueryComparisonExpression": { + "description": "The comparison expression to be used in the query.", + "properties": { + "name": { + "description": "The name of the column to use in comparison.", + "type": "string" + }, + "operator": { + "description": "The operator to use for comparison.", + "type": "string", + "enum": [ + "In" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "values": { + "description": "Array of values to use for comparison", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, + "ExportListResult": { + "description": "Result of listing exports. It contains a list of available exports in the scope provided.", + "type": "object", + "properties": { + "value": { + "description": "The list of exports.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Export" + } + } + } + }, + "Export": { + "description": "An export resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExportProperties", + "title": "Export properties" + } + } + }, + "ExportProperties": { + "description": "The properties of the export.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CommonExportProperties" + } + ], + "properties": { + "schedule": { + "description": "Has schedule information for the export.", + "$ref": "#/definitions/ExportSchedule" + } + } + }, + "CommonExportProperties": { + "description": "The common properties of the export.", + "type": "object", + "properties": { + "format": { + "description": "The format of the export being delivered. Currently only 'Csv' is supported.", + "type": "string", + "enum": [ + "Csv" + ], + "x-ms-enum": { + "name": "FormatType", + "modelAsString": true + } + }, + "deliveryInfo": { + "description": "Has delivery information for the export.", + "$ref": "#/definitions/ExportDeliveryInfo" + }, + "definition": { + "description": "Has the definition for the export.", + "$ref": "#/definitions/ExportDefinition" + }, + "runHistory": { + "description": "If requested, has the most recent execution history for the export.", + "$ref": "#/definitions/ExportExecutionListResult" + }, + "nextRunTimeEstimate": { + "description": "If the export has an active schedule, provides an estimate of the next execution time.", + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "required": [ + "deliveryInfo", + "definition" + ] + }, + "ExportSchedule": { + "description": "The schedule associated with the export.", + "type": "object", + "properties": { + "status": { + "description": "The status of the export's schedule. If 'Inactive', the export's schedule is paused.", + "type": "string", + "enum": [ + "Active", + "Inactive" + ], + "x-ms-enum": { + "name": "StatusType", + "modelAsString": true + } + }, + "recurrence": { + "description": "The schedule recurrence.", + "type": "string", + "enum": [ + "Daily", + "Weekly", + "Monthly", + "Annually" + ], + "x-ms-enum": { + "name": "RecurrenceType", + "modelAsString": true + } + }, + "recurrencePeriod": { + "description": "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date.", + "$ref": "#/definitions/ExportRecurrencePeriod" + } + }, + "required": [ + "recurrence" + ] + }, + "ExportDeliveryInfo": { + "description": "The delivery information associated with a export.", + "type": "object", + "properties": { + "destination": { + "description": "Has destination for the export being delivered.", + "$ref": "#/definitions/ExportDeliveryDestination" + } + }, + "required": [ + "destination" + ] + }, + "ExportRecurrencePeriod": { + "description": "The start and end date for recurrence schedule.", + "type": "object", + "properties": { + "from": { + "description": "The start date of recurrence.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date of recurrence.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from" + ] + }, + "ExportDeliveryDestination": { + "description": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource id of the storage account where exports will be delivered.", + "type": "string" + }, + "container": { + "description": "The name of the container where exports will be uploaded.", + "type": "string" + }, + "rootFolderPath": { + "description": "The name of the directory where exports will be uploaded.", + "type": "string" + } + }, + "required": [ + "resourceId", + "container" + ] + }, + "ExportDefinition": { + "description": "The definition of an export.", + "type": "object", + "properties": { + "type": { + "description": "The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations.", + "type": "string", + "enum": [ + "Usage", + "ActualCost", + "AmortizedCost" + ], + "x-ms-enum": { + "name": "ExportType", + "modelAsString": true + } + }, + "timeframe": { + "description": "The time frame for pulling data for the export. If custom, then a specific time period must be provided.", + "type": "string", + "enum": [ + "MonthToDate", + "BillingMonthToDate", + "TheLastMonth", + "TheLastBillingMonth", + "WeekToDate", + "Custom" + ], + "x-ms-enum": { + "name": "TimeframeType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has time period for pulling data for the export.", + "$ref": "#/definitions/ExportTimePeriod" + }, + "dataSet": { + "description": "The definition for data in the export.", + "$ref": "#/definitions/ExportDataset" + } + }, + "required": [ + "type", + "timeframe" + ] + }, + "ExportDataset": { + "description": "The definition for data in the export.", + "type": "object", + "properties": { + "granularity": { + "description": "The granularity of rows in the export. Currently only 'Daily' is supported.", + "type": "string", + "enum": [ + "Daily" + ], + "x-ms-enum": { + "name": "GranularityType", + "modelAsString": true + } + }, + "configuration": { + "description": "The export dataset configuration.", + "$ref": "#/definitions/ExportDatasetConfiguration" + } + } + }, + "ExportDatasetConfiguration": { + "description": "The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns.", + "type": "object", + "properties": { + "columns": { + "description": "Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples).", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ExportTimePeriod": { + "description": "The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months.", + "type": "object", + "properties": { + "from": { + "description": "The start date for export data.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "The end date for export data.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from", + "to" + ] + }, + "ExportExecutionListResult": { + "description": "Result of listing the execution history of an export.", + "type": "object", + "properties": { + "value": { + "description": "A list of export executions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExportExecution" + } + } + } + }, + "ExportExecution": { + "description": "An export execution.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExportExecutionProperties", + "title": "Export execution properties" + } + } + }, + "ExportExecutionProperties": { + "description": "The properties of the export execution.", + "type": "object", + "properties": { + "executionType": { + "description": "The type of the export execution.", + "type": "string", + "enum": [ + "OnDemand", + "Scheduled" + ], + "x-ms-enum": { + "name": "ExecutionType", + "modelAsString": true + } + }, + "status": { + "description": "The last known status of the export execution.", + "type": "string", + "enum": [ + "Queued", + "InProgress", + "Completed", + "Failed", + "Timeout", + "NewDataNotAvailable", + "DataNotAvailable" + ], + "x-ms-enum": { + "name": "ExecutionStatus", + "modelAsString": true + } + }, + "submittedBy": { + "description": "The identifier for the entity that executed the export. For OnDemand executions it is the user email. For scheduled executions it is 'System'.", + "type": "string" + }, + "submittedTime": { + "description": "The time when export was queued to be executed.", + "type": "string", + "format": "date-time" + }, + "processingStartTime": { + "description": "The time when export was picked up to be executed.", + "type": "string", + "format": "date-time" + }, + "processingEndTime": { + "description": "The time when the export execution finished.", + "type": "string", + "format": "date-time" + }, + "fileName": { + "description": "The name of the exported file.", + "type": "string" + }, + "runSettings": { + "description": "The export settings that were in effect for this execution.", + "$ref": "#/definitions/CommonExportProperties" + }, + "error": { + "description": "The details of any error.", + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2019-11-01." + }, + "apiVersion20200601Parameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2020-06-01." + }, + "viewNameParameter": { + "name": "viewName", + "in": "path", + "description": "View name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "scopeViewParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with view operations. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for External Billing Account scope and 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for External Subscription scope.", + "x-ms-parameter-location": "method" + }, + "scopeDimensionParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with dimension operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeAlertParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with alerts operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeForecastParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with forecast operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeQueryParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Azure Resource Group Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "BillingAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "managementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "description": "ManagementGroup ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "departmentIdParameter": { + "name": "departmentId", + "in": "path", + "description": "Department ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "enrollmentAccountIdParameter": { + "name": "enrollmentAccountId", + "in": "path", + "description": "Enrollment Account ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "exportNameParameter": { + "name": "exportName", + "in": "path", + "description": "Export Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "externalCloudProviderTypeParameter": { + "name": "externalCloudProviderType", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "externalSubscriptions", + "externalBillingAccounts" + ], + "x-ms-enum": { + "name": "externalCloudProviderType", + "modelAsString": true + }, + "description": "The external cloud provider type associated with dimension/query operations. This includes 'externalSubscriptions' for linked account and 'externalBillingAccounts' for consolidated account.", + "x-ms-parameter-location": "method" + }, + "externalCloudProviderIdParameter": { + "name": "externalCloudProviderId", + "in": "path", + "required": true, + "type": "string", + "description": "This can be '{externalSubscriptionId}' for linked account or '{externalBillingAccountId}' for consolidated account used with dimension/query operations.", + "x-ms-parameter-location": "method" + }, + "alertIdParameter": { + "name": "alertId", + "in": "path", + "description": "Alert ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountAlerts.json new file mode 100644 index 000000000000..8a6b536c3278 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountAlerts.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsList.json new file mode 100644 index 000000000000..8f2f6f365cb4 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "scope": "providers/Microsoft.Billing/billingAccounts/100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..b5521f5bfb68 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListExpandAndTop.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListWithFilter.json new file mode 100644 index 000000000000..572606fcd52a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListWithFilter.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/100" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountForecast.json new file mode 100644 index 000000000000..02e9d2896bfd --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountForecast.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "JapanUnifia-Trial", + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + "RVIIOT-TRIAL", + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + "VSTSHOL-1595322048000", + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + "gs-stms-dev", + 20180429, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQuery.json new file mode 100644 index 000000000000..80d3082985f3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQuery.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "70664866", + "scope": "providers/Microsoft.Billing/billingAccounts/70664866", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQueryGrouping.json new file mode 100644 index 000000000000..cc666efa60dd --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQueryGrouping.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "70664866", + "scope": "providers/Microsoft.Billing/billingAccounts/70664866", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileAlerts.json new file mode 100644 index 000000000000..4c1bcb9cf37c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileAlerts.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileForecast.json new file mode 100644 index 000000000000..7b29eb2e07db --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileForecast.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "JapanUnifia-Trial", + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + "RVIIOT-TRIAL", + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + "VSTSHOL-1595322048000", + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + "gs-stms-dev", + 20180429, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentAlerts.json new file mode 100644 index 000000000000..31d5dd87d70d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentAlerts.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "billingAccountId": "12345:6789", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsList.json new file mode 100644 index 000000000000..4aa6dec17440 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..066a3bc16f25 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListExpandAndTop.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "departmentId": "123", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListWithFilter.json new file mode 100644 index 000000000000..f486f6e36fa2 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListWithFilter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "departmentId": "123", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentForecast.json new file mode 100644 index 000000000000..affaf9d67402 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentForecast.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12345:6789", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "JapanUnifia-Trial", + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + "RVIIOT-TRIAL", + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + "VSTSHOL-1595322048000", + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + "gs-stms-dev", + 20180429, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQuery.json new file mode 100644 index 000000000000..59cd36defe51 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQuery.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "70664866", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQueryGrouping.json new file mode 100644 index 000000000000..27ae96d00be2 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQueryGrouping.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "70664866", + "departmentId": "123", + "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissResourceGroupAlerts.json new file mode 100644 index 000000000000..d72950db27ea --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissResourceGroupAlerts.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "alertId": "22222222-2222-2222-2222-222222222222", + "parameters": { + "properties": { + "status": "Dismissed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Dismissed", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissSubscriptionAlerts.json new file mode 100644 index 000000000000..2b9751ea4241 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissSubscriptionAlerts.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "alertId": "22222222-2222-2222-2222-222222222222", + "parameters": { + "properties": { + "status": "Dismissed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Dismissed", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountAlerts.json new file mode 100644 index 000000000000..eff8e650fe77 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountAlerts.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "billingAccountId": "12345:6789", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsList.json new file mode 100644 index 000000000000..1c23de80068c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..98551eb4e953 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListWithFilter.json new file mode 100644 index 000000000000..7de518cb7769 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListWithFilter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountForecast.json new file mode 100644 index 000000000000..f7673b462b25 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountForecast.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12345:6789", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "JapanUnifia-Trial", + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + "RVIIOT-TRIAL", + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + "VSTSHOL-1595322048000", + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + "gs-stms-dev", + 20180429, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQuery.json new file mode 100644 index 000000000000..d8adb4734eea --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQuery.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "70664866", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQueryGrouping.json new file mode 100644 index 000000000000..34d2421e5a3a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQueryGrouping.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "70664866", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByBillingAccount.json new file mode 100644 index 000000000000..64869be56a4e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByBillingAccount.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByDepartment.json new file mode 100644 index 000000000000..1f118968e004 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByDepartment.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json new file mode 100644 index 000000000000..b829ecc1d0eb --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByManagementGroup.json new file mode 100644 index 000000000000..5bc26d149df5 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByManagementGroup.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByResourceGroup.json new file mode 100644 index 000000000000..fa215b9ff077 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByResourceGroup.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateBySubscription.json new file mode 100644 index 000000000000..22592d3bfc96 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateBySubscription.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport", + "parameters": { + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "MonthToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByBillingAccount.json new file mode 100644 index 000000000000..723a1b70c13d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByBillingAccount.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByDepartment.json new file mode 100644 index 000000000000..9bff0064a096 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByDepartment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByEnrollmentAccount.json new file mode 100644 index 000000000000..a9caf9fa5729 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByEnrollmentAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByManagementGroup.json new file mode 100644 index 000000000000..d0d9845db934 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByManagementGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByResourceGroup.json new file mode 100644 index 000000000000..430c0b81c4b2 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByResourceGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteBySubscription.json new file mode 100644 index 000000000000..74d07239431b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteBySubscription.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByBillingAccount.json new file mode 100644 index 000000000000..bb66830c00b6 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByBillingAccount.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-05-01T00:00:00Z", + "to": "2020-05-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByDepartment.json new file mode 100644 index 000000000000..415eef4ef834 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByDepartment.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-06-30T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByEnrollmentAccount.json new file mode 100644 index 000000000000..92d21fd96154 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByEnrollmentAccount.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2019-09-01T00:00:00Z", + "to": "2019-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByManagementGroup.json new file mode 100644 index 000000000000..d8df71f3ddba --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByManagementGroup.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2019-09-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "UsageDate", + "MeterId", + "InstanceId", + "ResourceLocation", + "UsageQuantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByResourceGroup.json new file mode 100644 index 000000000000..58dacbf4d372 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByResourceGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-06-30T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetBySubscription.json new file mode 100644 index 000000000000..b3c6a550c6f4 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetBySubscription.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport", + "name": "TestExport", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2019-06-01T00:00:00Z", + "to": "2019-07-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByBillingAccount.json new file mode 100644 index 000000000000..723a1b70c13d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByBillingAccount.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByDepartment.json new file mode 100644 index 000000000000..9bff0064a096 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByDepartment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByEnrollmentAccount.json new file mode 100644 index 000000000000..a9caf9fa5729 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByEnrollmentAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByManagementGroup.json new file mode 100644 index 000000000000..d0d9845db934 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByManagementGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByResourceGroup.json new file mode 100644 index 000000000000..430c0b81c4b2 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByResourceGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunBySubscription.json new file mode 100644 index 000000000000..74d07239431b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunBySubscription.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport" + }, + "responses": { + "200": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByBillingAccount.json new file mode 100644 index 000000000000..23d2afb0ba7c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByBillingAccount.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByDepartment.json new file mode 100644 index 000000000000..5812ec43b27f --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByDepartment.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByEnrollmentAccount.json new file mode 100644 index 000000000000..3cc2d9bdd01e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByEnrollmentAccount.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2019-01-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByManagementGroup.json new file mode 100644 index 000000000000..d271d702dd30 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByManagementGroup.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByResourceGroup.json new file mode 100644 index 000000000000..b6aaae782d44 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByResourceGroup.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetBySubscription.json new file mode 100644 index 000000000000..1dc83a7d386e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetBySubscription.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "exportName": "TestExport" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100", + "properties": { + "executionType": "OnDemand", + "status": "Completed", + "submittedBy": "john.doe@gmail.com", + "submittedTime": "2018-08-03T07:52:15.6016681Z", + "processingStartTime": "2018-08-03T07:52:16.9123797Z", + "processingEndTime": "2018-08-03T07:52:28.0373318Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef", + "properties": { + "executionType": "Scheduled", + "status": "Completed", + "submittedBy": "System", + "submittedTime": "2018-08-03T09:03:58.5710244Z", + "processingStartTime": "2018-08-03T09:03:58.5710244Z", + "processingEndTime": "2018-08-03T09:04:19.7223808Z", + "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv", + "runSettings": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ScheduledTestsForJohnDoe" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByBillingAccount.json new file mode 100644 index 000000000000..e360bb9b5280 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByBillingAccount.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "123456", + "scope": "providers/Microsoft.Billing/billingAccounts/123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByDepartment.json new file mode 100644 index 000000000000..3bdc6e63fd5a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByDepartment.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12", + "departmentId": "1234", + "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByEnrollmentAccount.json new file mode 100644 index 000000000000..abbb4951a11e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByEnrollmentAccount.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "100", + "enrollmentAccountId": "456", + "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByManagementGroup.json new file mode 100644 index 000000000000..9bf48014812b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByManagementGroup.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "managementGroupId": "TestMG", + "scope": "providers/Microsoft.Management/managementGroups/TestMG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByResourceGroup.json new file mode 100644 index 000000000000..1ba77e1fa614 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByResourceGroup.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "MYDEVTESTRG", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetBySubscription.json new file mode 100644 index 000000000000..c842a554eca8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetBySubscription.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport1", + "name": "TestExport1", + "type": "Microsoft.CostManagement/exports", + "properties": { + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "Custom", + "timePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + }, + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport2", + "name": "TestExport2", + "type": "Microsoft.CostManagement/exports", + "properties": { + "schedule": { + "status": "Active", + "recurrence": "Weekly", + "recurrencePeriod": { + "from": "2020-06-01T00:00:00Z", + "to": "2020-10-31T00:00:00Z" + } + }, + "format": "Csv", + "deliveryInfo": { + "destination": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182", + "container": "exports", + "rootFolderPath": "ad-hoc" + } + }, + "definition": { + "type": "ActualCost", + "timeframe": "WeekToDate", + "dataSet": { + "granularity": "Daily", + "configuration": { + "columns": [ + "Date", + "MeterId", + "ResourceId", + "ResourceLocation", + "Quantity" + ] + } + } + } + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountAlerts.json new file mode 100644 index 000000000000..3172c3380a43 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountAlerts.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalBillingAccounts" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountForecast.json new file mode 100644 index 000000000000..b73840ab14bc --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountForecast.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalBillingAccounts", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d", + "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d", + "type": "Microsoft.CostManagement/query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 0.0, + "Forecast", + "USD" + ], + [ + 30.2572751438, + "Forecast", + "USD" + ], + [ + 0.076757602000000022, + "Forecast", + "USD" + ], + [ + 50.430964190400012, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsDimensions.json new file mode 100644 index 000000000000..5172c0cdcdb6 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsDimensions.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalBillingAccounts" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceType_2019-12-01_2019-12-31", + "name": "dimensions_ResourceType_2019-12-01_2019-12-31", + "type": "microsoft.consumption/dimensions", + "properties": { + "data": [], + "total": 0, + "category": "ResourceType", + "description": "Resource type", + "usageStart": "2019-12-01T00:00:00Z", + "usageEnd": "2019-12-31T00:00:00Z", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceId_2019-12-01_2019-12-31", + "name": "dimensions_ResourceId_2019-12-01_2019-12-31", + "type": "microsoft.consumption/dimensions", + "properties": { + "data": [], + "total": 0, + "category": "ResourceId", + "description": "Resource ID", + "usageStart": "2019-12-01T00:00:00Z", + "usageEnd": "2019-12-31T00:00:00Z", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsQuery.json new file mode 100644 index 000000000000..56e1a522099c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsQuery.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalBillingAccounts", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d", + "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d", + "type": "Microsoft.CostManagement/query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ServiceName", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 0.0, + "abc db", + "USD" + ], + [ + 30.2572751438, + "abc compute cloud", + "USD" + ], + [ + 0.076757602000000022, + "abc file system", + "USD" + ], + [ + 50.430964190400012, + "abc elasticache", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionAlerts.json new file mode 100644 index 000000000000..fe966bbe5f8e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionAlerts.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalSubscriptions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionForecast.json new file mode 100644 index 000000000000..2ffa4801b11d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionForecast.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalSubscriptions", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/query/d99477af-7510-40ee-aca2-e59bdca0d10d", + "name": "d99477af-7510-40ee-aca2-e59bdca0d10d", + "type": "Microsoft.CostManagement/query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsDimensions.json new file mode 100644 index 000000000000..5320be178ef0 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsDimensions.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalSubscriptions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceType_2019-12-01_2019-12-31", + "name": "dimensions_ResourceType_2019-12-01_2019-12-31", + "type": "microsoft.consumption/dimensions", + "properties": { + "data": [], + "total": 0, + "category": "ResourceType", + "description": "Resource type", + "usageStart": "2019-12-01T00:00:00Z", + "usageEnd": "2019-12-31T00:00:00Z", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceId_2019-12-01_2019-12-31", + "name": "dimensions_ResourceId_2019-12-01_2019-12-31", + "type": "microsoft.consumption/dimensions", + "properties": { + "data": [], + "total": 0, + "category": "ResourceId", + "description": "Resource ID", + "usageStart": "2019-12-01T00:00:00Z", + "usageEnd": "2019-12-31T00:00:00Z", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsQuery.json new file mode 100644 index 000000000000..5a4dfd8e3e27 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsQuery.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "externalCloudProviderId": "100", + "externalCloudProviderType": "externalSubscriptions", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/query/d99477af-7510-40ee-aca2-e59bdca0d10d", + "name": "d99477af-7510-40ee-aca2-e59bdca0d10d", + "type": "Microsoft.CostManagement/query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionAlerts.json new file mode 100644 index 000000000000..deaecbf35558 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionAlerts.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionForecast.json new file mode 100644 index 000000000000..e0b840457c2c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionForecast.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "JapanUnifia-Trial", + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + "RVIIOT-TRIAL", + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + "VSTSHOL-1595322048000", + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + "gs-stms-dev", + 20180429, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsList.json new file mode 100644 index 000000000000..accdaebf5212 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..81839ef51c4e --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListExpandAndTop.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListWithFilter.json new file mode 100644 index 000000000000..ab76379cbce0 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListWithFilter.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31", + "name": "dimensions_ResourceId_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQuery.json new file mode 100644 index 000000000000..8abfb5dc2eca --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQuery.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQueryGrouping.json new file mode 100644 index 000000000000..648ebf053be2 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQueryGrouping.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsList.json new file mode 100644 index 000000000000..11d84a74f6c9 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..2102cbb9407a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListExpandAndTop.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListWithFilter.json new file mode 100644 index 000000000000..118eda5d0cfd --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListWithFilter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31", + "name": "dimensions_ResourceId_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQuery.json new file mode 100644 index 000000000000..89e2f2fb78ca --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQuery.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQueryGrouping.json new file mode 100644 index 000000000000..3946eb12c2cf --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQueryGrouping.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsList.json new file mode 100644 index 000000000000..0a63b2667392 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "customerId": "5678", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..738eb52bf1f8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListExpandAndTop.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "customerId": "5678", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListWithFilter.json new file mode 100644 index 000000000000..dc9903eb348a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListWithFilter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "customerId": "13579", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31", + "name": "dimensions_ResourceId_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQuery.json new file mode 100644 index 000000000000..41a095e8750c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQuery.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "customerId": "5678", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQueryGrouping.json new file mode 100644 index 000000000000..a4629cc12c8c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQueryGrouping.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "customerId": "5678", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsList.json new file mode 100644 index 000000000000..381d346fa3ba --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..17dedb5444fc --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31", + "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31", + "name": "dimensions_ResourceType_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json new file mode 100644 index 000000000000..9dc3219f73e3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31", + "name": "dimensions_ResourceId_2019-10-01_2019-10-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2019-10-01T00:00:00-07:00", + "usageEnd": "2019-10-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQuery.json new file mode 100644 index 000000000000..ddacc8d3b487 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQuery.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQueryGrouping.json new file mode 100644 index 000000000000..c680c09d1ac3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQueryGrouping.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "billingAccountId": "12345:6789", + "billingProfileId": "13579", + "invoiceSectionId": "9876", + "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsList.json new file mode 100644 index 000000000000..46d654b664b9 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "managementGroupId": "MyMgId", + "scope": "providers/Microsoft.Management/managementGroups/MyMgId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListExpandAndTop.json new file mode 100644 index 000000000000..616047e5e4bf --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListExpandAndTop.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "managementGroupId": "MyMgId", + "$expand": "properties/data", + "$top": 5, + "scope": "providers/Microsoft.Management/managementGroups/MyMgId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "thoroetrg01", + "default-notificationhubs-westus", + "jedikeyvaultrg", + "contosocodeflow8d4a", + "noobaa" + ], + "total": 377, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.automation/automationaccounts", + "microsoft.databricks/workspaces", + "microsoft.dbformysql/servers", + "microsoft.containerregistry/registries", + "microsoft.search/searchservices" + ], + "total": 37, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListWithFilter.json new file mode 100644 index 000000000000..de501d6cc1ee --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListWithFilter.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "managementGroupId": "MyMgId", + "$expand": "properties/data", + "$top": 5, + "$filter": "properties/category eq 'resourceId'", + "scope": "providers/Microsoft.Management/managementGroups/MyMgId" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1", + "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume" + ], + "total": 1409, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true, + "nextLink": "http://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D" + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQuery.json new file mode 100644 index 000000000000..8bb619cee8e3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQuery.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "managementGroupId": "MyMgId", + "scope": "providers/Microsoft.Management/managementGroups/MyMgId", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 0.16677720329728665, + "gs-stms-dev", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQueryGrouping.json new file mode 100644 index 000000000000..0f3b0ef56cd3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQueryGrouping.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "managementGroupId": "MyMgId", + "scope": "providers/Microsoft.Management/managementGroups/MyMgId", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D", + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 20.359416562625452, + "VSTSHOL-1595322048000", + 20180331, + "USD" + ], + [ + 173.41979241290323, + "RVIIOT-TRIAL", + 20180331, + "USD" + ], + [ + 19.545363672276512, + "JapanUnifia-Trial", + 20180331, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateView.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateView.json new file mode 100644 index 000000000000..8128f186ee34 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateView.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "viewName": "swaggerExample" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewCreateOrUpdate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewCreateOrUpdate.json new file mode 100644 index 000000000000..917f49d96253 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewCreateOrUpdate.json @@ -0,0 +1,185 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "viewName": "swaggerExample", + "parameters": { + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewDelete.json new file mode 100644 index 000000000000..a03a55d4b016 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewDelete.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "viewName": "TestView" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewList.json new file mode 100644 index 000000000000..f70ddf2c6c81 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewList.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + }, + { + "id": "/providers/Microsoft.CostManagement/views/swaggerExample2", + "name": "swaggerExample2", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example 2", + "scope": "", + "query": { + "type": "Usage", + "timeframe": "LastMonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "GroupedColumn", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupAlerts.json new file mode 100644 index 000000000000..2db6d3dd5bf8 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupAlerts.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupDimensionsList.json new file mode 100644 index 000000000000..d0f789435863 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupDimensionsList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "system.orlando", + "$expand": "properties/data", + "$top": 5, + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.storage/storageaccounts" + ], + "total": 1, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/authprod", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/systemevents", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/armadminprod", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/publicsystemportal" + ], + "total": 27, + "category": "ResourceId", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource Id", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupForecast.json new file mode 100644 index 000000000000..6ed0b4095bcd --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupForecast.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/query/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "ScreenSharingTest-peer", + 20180331, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQuery.json new file mode 100644 index 000000000000..052910483e76 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQuery.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb", + "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "ScreenSharingTest-peer", + 20180417, + "USD" + ], + [ + 20.10333307059661, + "ScreenSharingTest-peer", + 20180418, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQueryGrouping.json new file mode 100644 index 000000000000..da7cb4d9a91f --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQueryGrouping.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceType" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb", + "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceType", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "Microsoft.SqlServer", + 20180417, + "USD" + ], + [ + 20.10333307059661, + "Microsoft.Compute", + 20180418, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleResourceGroupAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleResourceGroupAlert.json new file mode 100644 index 000000000000..d4f3f72ef83a --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleResourceGroupAlert.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "ScreenSharingTest-peer", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer", + "alertId": "22222222-2222-2222-2222-222222222222" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleSubscriptionAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleSubscriptionAlert.json new file mode 100644 index 000000000000..cd881b8ea598 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleSubscriptionAlert.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "alertId": "22222222-2222-2222-2222-222222222222" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionAlerts.json new file mode 100644 index 000000000000..0880df01a3b4 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionAlerts.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2018-08-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 161000.12, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2020-04-27T11:07:52.7143901Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2020-04-28T11:06:02.8999373Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111", + "name": "11111111-1111-1111-111111111111", + "type": "Microsoft.CostManagement/alerts", + "properties": { + "definition": { + "type": "Budget", + "category": "Cost", + "criteria": "CostThresholdExceeded" + }, + "description": "", + "source": "Preset", + "details": { + "timeGrainType": "Quarterly", + "periodStartDate": "2020-03-01T00:00:00Z", + "triggeredBy": "11111111-1111-1111-111111111111_1_01", + "resourceGroupFilter": [], + "resourceFilter": [], + "meterFilter": [], + "tagFilter": {}, + "threshold": 0.8, + "operator": "GreaterThan", + "amount": 200000.0, + "unit": "USD", + "currentSpend": 171000.32, + "contactEmails": [ + "1234@contoso.com" + ], + "contactGroups": [], + "contactRoles": [], + "overridingAlert": null + }, + "costEntityId": "budget1", + "status": "Active", + "creationTime": "2019-06-24T05:51:52.8713179Z", + "closeTime": "0001-01-01T00:00:00", + "modificationTime": "2019-08-31T17:51:55.1808807Z", + "statusModificationUserName": null, + "statusModificationTime": "0001-01-01T00:00:00" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionDimensionsList.json new file mode 100644 index 000000000000..89e401409972 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionDimensionsList.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "$top": 5, + "$expand": "properties/data", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "dcrg", + "rg", + "offlinegalleryrg", + "system.orlando.adminkeyvault", + "system.orlando.keyvault" + ], + "total": 68, + "category": "ResourceGroup", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource group", + "filterEnabled": true, + "groupingEnabled": true + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5", + "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5", + "type": "microsoft.CostManagement/dimensions", + "properties": { + "data": [ + "microsoft.storage/storageaccounts", + "microsoft.web.admin/role", + "microsoft.sql/servers", + "microsoft.compute/virtualmachines" + ], + "total": 4, + "category": "ResourceType", + "usageStart": "2018-05-01T00:00:00-07:00", + "usageEnd": "2018-05-31T00:00:00-07:00", + "description": "Resource type", + "filterEnabled": true, + "groupingEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionForecast.json new file mode 100644 index 000000000000..dafbb3828f33 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionForecast.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + }, + "includeActualCost": false, + "includeFreshPartialCost": false + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "CostStatus", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "ScreenSharingTest-peer", + 20180331, + "Forecast", + "USD" + ], + [ + 218.68795741935486, + "Ict_StratAndPlan_GoldSprova_Prod", + 20180331, + "Forecast", + "USD" + ], + [ + 0.14384913581657052, + "ssbciotelement01", + 20180401, + "Forecast", + "USD" + ], + [ + 0.009865586851323632, + "ict_stratandplan_goldsprova_prod", + 20180429, + "Forecast", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQuery.json new file mode 100644 index 000000000000..c9d3f535ad9c --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQuery.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "filter": { + "and": [ + { + "or": [ + { + "dimension": { + "name": "ResourceLocation", + "operator": "In", + "values": [ + "East US", + "West Europe" + ] + } + }, + { + "tag": { + "name": "Environment", + "operator": "In", + "values": [ + "UAT", + "Prod" + ] + } + } + ] + }, + { + "dimension": { + "name": "ResourceGroup", + "operator": "In", + "values": [ + "API" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "UsageDate", + "type": "Number" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 2.10333307059661, + "ScreenSharingTest-peer", + 20180331, + "USD" + ], + [ + 218.68795741935486, + "Ict_StratAndPlan_GoldSprova_Prod", + 20180331, + "USD" + ], + [ + 0.14384913581657052, + "ssbciotelement01", + 20180401, + "USD" + ], + [ + 0.009865586851323632, + "ict_stratandplan_goldsprova_prod", + 20180429, + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQueryGrouping.json new file mode 100644 index 000000000000..f155bfd59622 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQueryGrouping.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2019-10-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000", + "parameters": { + "type": "Usage", + "timeframe": "TheLastMonth", + "dataset": { + "granularity": "None", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [ + { + "type": "Dimension", + "name": "ResourceGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000", + "name": "55312978-ba1b-415c-9304-cfd9c43c0481", + "type": "microsoft.costmanagement/Query", + "properties": { + "nextLink": null, + "columns": [ + { + "name": "PreTaxCost", + "type": "Number" + }, + { + "name": "ResourceGroup", + "type": "String" + }, + { + "name": "Currency", + "type": "String" + } + ], + "rows": [ + [ + 0.009865586851323632, + "Ict_StratAndPlan_GoldSprova_Prod_0", + "USD" + ], + [ + 218.68795741935486, + "Ict_StratAndPlan_GoldSprova_Prod_1", + "USD" + ], + [ + 2.10333307059661, + "ScreenSharingTest-peer1", + "USD" + ], + [ + 0.14384913581657052, + "Ssbciotelement01", + "USD" + ] + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewByResourceGroup.json new file mode 100644 index 000000000000..68f6fe7333ca --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewByResourceGroup.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "viewName": "swaggerExample", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewCreateOrUpdateByResourceGroup.json new file mode 100644 index 000000000000..65b1475171ec --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewCreateOrUpdateByResourceGroup.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "viewName": "swaggerExample", + "parameters": { + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewDeleteByResourceGroup.json new file mode 100644 index 000000000000..c613cb7cecff --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewDeleteByResourceGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "viewName": "TestView" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewListByResourceGroup.json new file mode 100644 index 000000000000..9f71cbfbe7f5 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewListByResourceGroup.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ff9fe66f1d10\"", + "properties": { + "displayName": "swagger Example", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "MonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "Table", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample2", + "name": "swaggerExample2", + "type": "Microsoft.CostManagement/Views", + "eTag": "\"1d4ffa5a9c2430c\"", + "properties": { + "displayName": "swagger Example 2", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG", + "query": { + "type": "Usage", + "timeframe": "LastMonthToDate", + "dataset": { + "granularity": "Daily", + "aggregation": { + "totalCost": { + "name": "PreTaxCost", + "function": "Sum" + } + }, + "grouping": [], + "sorting": [ + { + "direction": "Ascending", + "name": "UsageDate" + } + ] + } + }, + "chart": "GroupedColumn", + "accumulated": "true", + "metric": "ActualCost", + "kpis": [ + { + "type": "Forecast", + "id": null, + "enabled": true + }, + { + "type": "Budget", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo", + "enabled": true + } + ], + "pivots": [ + { + "type": "Dimension", + "name": "ServiceName" + }, + { + "type": "Dimension", + "name": "MeterCategory" + }, + { + "type": "TagKey", + "name": "swaggerTagKey" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/readme.az.md b/specification/cost-management/resource-manager/readme.az.md index 0ab4b46e293f..961e2dab1422 100644 --- a/specification/cost-management/resource-manager/readme.az.md +++ b/specification/cost-management/resource-manager/readme.az.md @@ -11,5 +11,4 @@ az: client-base-url-bound: true az-output-folder: $(azure-cli-extension-folder)/src/costmanagement python-sdk-output-folder: "$(az-output-folder)/azext_costmanagement/vendored_sdks/costmanagement" - ``` diff --git a/specification/cost-management/resource-manager/readme.azureresourceschema.md b/specification/cost-management/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..87d877890c0c --- /dev/null +++ b/specification/cost-management/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,144 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-costmanagement-2020-06-01 + - tag: schema-costmanagement-2020-03-01-preview + - tag: schema-costmanagement-2019-11-01 + - tag: schema-costmanagement-2019-10-01 + - tag: schema-costmanagement-2019-09-01 + - tag: schema-costmanagement-2019-04-01-preview + - tag: schema-costmanagement-2019-03-01-preview + - tag: schema-costmanagement-2019-01-01 + - tag: schema-costmanagement-2018-12-01-preview + - tag: schema-costmanagement-2018-08-01-preview + - tag: schema-costmanagement-2018-05-31 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-costmanagement-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json + +``` + +### Tag: schema-costmanagement-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json + +``` + +### Tag: schema-costmanagement-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/stable/2019-11-01/costmanagement.json + +``` + +### Tag: schema-costmanagement-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/stable/2019-10-01/costmanagement.json + +``` + +### Tag: schema-costmanagement-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/stable/2019-09-01/costmanagement.json + +``` + +### Tag: schema-costmanagement-2019-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2019-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json + +``` + +### Tag: schema-costmanagement-2019-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2019-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json + +``` + +### Tag: schema-costmanagement-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/stable/2019-01-01/costmanagement.json + +``` + +### Tag: schema-costmanagement-2018-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2018-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json + +``` + +### Tag: schema-costmanagement-2018-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2018-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json + +``` + +### Tag: schema-costmanagement-2018-05-31 and azureresourceschema + +``` yaml $(tag) == 'schema-costmanagement-2018-05-31' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CostManagement/stable/2018-05-31/costmanagement.json + +``` diff --git a/specification/cost-management/resource-manager/readme.go.md b/specification/cost-management/resource-manager/readme.go.md index 19a211b46d9d..4259fa52ed37 100644 --- a/specification/cost-management/resource-manager/readme.go.md +++ b/specification/cost-management/resource-manager/readme.go.md @@ -66,3 +66,11 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +``` diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md index 12dadfcd7709..26eb8c98ebb2 100644 --- a/specification/cost-management/resource-manager/readme.md +++ b/specification/cost-management/resource-manager/readme.md @@ -26,18 +26,38 @@ These are the global settings for the Cost Management API. ``` yaml openapi-type: arm -tag: package-2019-11 +tag: package-2020-06 azure-validator: false ``` --- +### Tag: package-preview-2020-03 + +These settings apply only when `--tag=package-preview-2020-03` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-03' +input-file: + - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json + - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json +``` + +### Tag: package-2020-06 + +These settings apply only when `--tag=package-2020-06` is specified on the command line. + +```yaml $(tag) == 'package-2020-06' +input-file: + - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json +``` + + ### Tag: package-2019-11 These settings apply only when `--tag=package-2019-11` is specified on the command line. -```yaml $(tag) == 'package-2019-11' +``` yaml $(tag) == 'package-2019-11' input-file: - Microsoft.CostManagement/stable/2019-11-01/costmanagement.json ``` @@ -46,10 +66,11 @@ input-file: These settings apply only when `--tag=package-2019-10` is specified on the command line. -```yaml $(tag) == 'package-2019-10' +``` yaml $(tag) == 'package-2019-10' input-file: - Microsoft.CostManagement/stable/2019-10-01/costmanagement.json ``` + ### Tag: package-2019-09 These settings apply only when `--tag=package-2019-09` is specified on the command line. @@ -191,6 +212,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_costmanagement'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cost-management/resource-manager ``` ## C# @@ -207,7 +231,6 @@ csharp: clear-output-folder: true ``` - ## Go See configuration in [readme.go.md](./readme.go.md) @@ -315,6 +338,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -327,6 +354,8 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json + - $(this-folder)/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json - $(this-folder)/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json - $(this-folder)/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json - $(this-folder)/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json diff --git a/specification/cpim/resource-manager/readme.azureresourceschema.md b/specification/cpim/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b627d4375146 --- /dev/null +++ b/specification/cpim/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-azureactivedirectory-2020-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-azureactivedirectory-2020-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-azureactivedirectory-2020-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json + +``` diff --git a/specification/cpim/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md index d9bdf7941d0a..4396ccf1b2c9 100644 --- a/specification/cpim/resource-manager/readme.md +++ b/specification/cpim/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_cpim'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js cpim/resource-manager ``` ## Go @@ -78,6 +81,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/customer-insights/resource-manager/readme.azureresourceschema.md b/specification/customer-insights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..856e894fb719 --- /dev/null +++ b/specification/customer-insights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-customerinsights-2017-04-26 + - tag: schema-customerinsights-2017-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-customerinsights-2017-04-26 and azureresourceschema + +``` yaml $(tag) == 'schema-customerinsights-2017-04-26' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CustomerInsights/stable/2017-04-26/customer-insights.json + +``` + +### Tag: schema-customerinsights-2017-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-customerinsights-2017-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CustomerInsights/stable/2017-01-01/customer-insights.json + +``` diff --git a/specification/customer-insights/resource-manager/readme.md b/specification/customer-insights/resource-manager/readme.md index 7dae56441cff..f22cbd59665a 100644 --- a/specification/customer-insights/resource-manager/readme.md +++ b/specification/customer-insights/resource-manager/readme.md @@ -68,6 +68,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_customer_insights'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js customer-insights/resource-manager ``` @@ -140,6 +143,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/customerlockbox/resource-manager/readme.azureresourceschema.md b/specification/customerlockbox/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c4bfaba99a75 --- /dev/null +++ b/specification/customerlockbox/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-customerlockbox-2018-02-28-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-customerlockbox-2018-02-28-preview and azureresourceschema + +``` yaml $(tag) == 'schema-customerlockbox-2018-02-28-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json + +``` diff --git a/specification/customerlockbox/resource-manager/readme.md b/specification/customerlockbox/resource-manager/readme.md index 0e67eb17a65c..f41a46ae1ca1 100644 --- a/specification/customerlockbox/resource-manager/readme.md +++ b/specification/customerlockbox/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_customerlockbox'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js customerlockbox/resource-manager ``` ## Go @@ -78,6 +81,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/customproviders/resource-manager/readme.azureresourceschema.md b/specification/customproviders/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..cfe5cfcbb11e --- /dev/null +++ b/specification/customproviders/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-customproviders-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-customproviders-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-customproviders-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json + +``` diff --git a/specification/customproviders/resource-manager/readme.md b/specification/customproviders/resource-manager/readme.md index 27afdefab93c..3a50bc05cf6e 100644 --- a/specification/customproviders/resource-manager/readme.md +++ b/specification/customproviders/resource-manager/readme.md @@ -60,6 +60,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_customproviders'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js customproviders/resource-manager ``` ## Go @@ -90,6 +93,10 @@ See configuration in [readme.nodejs.md](./readme.nodejs.md) See configuration in [readme.trenton.md](./readme.trenton.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json new file mode 100644 index 000000000000..93a9fd590650 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json @@ -0,0 +1,4689 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-04-01", + "title": "DataBoxManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DataBox/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "This method gets all the operations.", + "operationId": "Operations_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The supported operations list.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/OperationsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Lists all the jobs available under the subscription.", + "operationId": "Jobs_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of jobs available under the subscription.", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "JobsList": { + "$ref": "./examples/JobsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": { + "post": { + "tags": [ + "Service" + ], + "description": "This method provides the list of available skus for the given subscription, resource group and location.", + "operationId": "Service_ListAvailableSkusByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "availableSkuRequest", + "in": "body", + "description": "Filters for showing the available skus.", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableSkuRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of available skus under Resource group.", + "schema": { + "$ref": "#/definitions/AvailableSkusResult" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AvailableSkusPost": { + "$ref": "./examples/AvailableSkusPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": { + "post": { + "tags": [ + "Service" + ], + "description": "[DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any.", + "operationId": "Service_ValidateAddress", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validateAddress", + "in": "body", + "description": "Shipping address of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateAddress" + } + } + ], + "responses": { + "200": { + "description": "The valid and alternate addresses.", + "schema": { + "$ref": "#/definitions/AddressValidationOutput" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "deprecated": true, + "x-ms-examples": { + "ValidateAddressPost": { + "$ref": "./examples/ValidateAddressPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": { + "post": { + "tags": [ + "Service" + ], + "description": "This method does all necessary pre-job creation validation under resource group.", + "operationId": "Service_ValidateInputsByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Inputs of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidationRequest" + } + } + ], + "responses": { + "200": { + "description": "The validation status and responses of each validating parameter.", + "schema": { + "$ref": "#/definitions/ValidationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "ValidateInputsByResourceGroup": { + "$ref": "./examples/ValidateInputsByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": { + "post": { + "tags": [ + "Service" + ], + "description": "This method does all necessary pre-job creation validation under subscription.", + "operationId": "Service_ValidateInputs", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Inputs of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidationRequest" + } + } + ], + "responses": { + "200": { + "description": "The validation status and responses of each validating parameter.", + "schema": { + "$ref": "#/definitions/ValidationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "ValidateInputs": { + "$ref": "./examples/ValidateInputs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Lists all the jobs available under the given resource group.", + "operationId": "Jobs_ListByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of jobs by resource group.", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "JobsListByResourceGroup": { + "$ref": "./examples/JobsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Gets information about the specified job.", + "operationId": "Jobs_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on details parameter for job, which provides details on the job stages.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "JobsGet": { + "$ref": "./examples/JobsGet.json" + }, + "JobsGetCmk": { + "$ref": "./examples/JobsGetCmk.json" + }, + "JobsGetExport": { + "$ref": "./examples/JobsGetExport.json" + } + } + }, + "put": { + "tags": [ + "Jobs" + ], + "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.", + "operationId": "Jobs_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "jobResource", + "in": "body", + "description": "Job details from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/JobResource" + } + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "202": { + "description": "Accepted request for create Job." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsCreate": { + "$ref": "./examples/JobsCreate.json" + }, + "JobsCreateDevicePassword": { + "$ref": "./examples/JobsCreateDevicePassword.json" + }, + "JobsCreateExport": { + "$ref": "./examples/JobsCreateExport.json" + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "description": "Deletes a job.", + "operationId": "Jobs_Delete", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Just for swagger we are adding this status code." + }, + "202": { + "description": "Accepted request for delete Job." + }, + "204": { + "description": "Job deleted." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsDelete": { + "$ref": "./examples/JobsDelete.json" + } + } + }, + "patch": { + "tags": [ + "Jobs" + ], + "description": "Updates the properties of an existing job.", + "operationId": "Jobs_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "If-Match", + "in": "header", + "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.", + "type": "string" + }, + { + "name": "jobResourceUpdateParameter", + "in": "body", + "description": "Job update parameters from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/JobResourceUpdateParameter" + } + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "202": { + "description": "Accepted request for job updated." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsPatch": { + "$ref": "./examples/JobsPatch.json" + }, + "JobsPatchCmk": { + "$ref": "./examples/JobsPatchCmk.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Book shipment pick up.", + "operationId": "Jobs_BookShipmentPickUp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "shipmentPickUpRequest", + "in": "body", + "description": "Details of shipment pick up request.", + "required": true, + "schema": { + "$ref": "#/definitions/ShipmentPickUpRequest" + } + } + ], + "responses": { + "200": { + "description": "Booked shipment pick up successfully.", + "schema": { + "$ref": "#/definitions/ShipmentPickUpResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "BookShipmentPickupPost": { + "$ref": "./examples/BookShipmentPickupPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel": { + "post": { + "tags": [ + "Jobs" + ], + "description": "CancelJob.", + "operationId": "Jobs_Cancel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "cancellationReason", + "in": "body", + "description": "Reason for cancellation.", + "required": true, + "schema": { + "$ref": "#/definitions/CancellationReason" + } + } + ], + "responses": { + "204": { + "description": "Job cancelled." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "JobsCancelPost": { + "$ref": "./examples/JobsCancelPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials": { + "post": { + "tags": [ + "Jobs" + ], + "description": "This method gets the unencrypted secrets related to the job.", + "operationId": "Jobs_ListCredentials", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of unencrypted credentials of the job.", + "schema": { + "$ref": "#/definitions/UnencryptedCredentialsList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "JobsListCredentials": { + "$ref": "./examples/JobsListCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": { + "post": { + "tags": [ + "Service" + ], + "description": "This API provides configuration details specific to given region/location at Subscription level.", + "operationId": "Service_RegionConfiguration", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "regionConfigurationRequest", + "in": "body", + "description": "Request body to get the configuration for the region.", + "required": true, + "schema": { + "$ref": "#/definitions/RegionConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Region configuration response.", + "schema": { + "$ref": "#/definitions/RegionConfigurationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "RegionConfiguration": { + "$ref": "./examples/RegionConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": { + "post": { + "tags": [ + "Service" + ], + "description": "This API provides configuration details specific to given region/location at Resource group level.", + "operationId": "Service_RegionConfigurationByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "regionConfigurationRequest", + "in": "body", + "description": "Request body to get the configuration for the region at resource group level.", + "required": true, + "schema": { + "$ref": "#/definitions/RegionConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Region configuration response.", + "schema": { + "$ref": "#/definitions/RegionConfigurationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "RegionConfigurationByResourceGroup": { + "$ref": "./examples/RegionConfigurationByResourceGroup.json" + } + } + } + } + }, + "definitions": { + "AccountCredentialDetails": { + "description": "Credential details of the account.", + "type": "object", + "properties": { + "accountName": { + "description": "Name of the account.", + "type": "string", + "readOnly": true + }, + "dataAccountType": { + "description": "Type of the account.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountConnectionString": { + "description": "Connection string of the account endpoint to use the account as a storage endpoint on the device.", + "type": "string", + "readOnly": true + }, + "shareCredentialDetails": { + "description": "Per share level unencrypted access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/ShareCredentialDetails" + }, + "readOnly": true + } + } + }, + "AdditionalErrorInfo": { + "type": "object", + "description": "Additional error info.", + "properties": { + "type": { + "description": "Additional error type.", + "type": "string" + }, + "info": { + "description": "Additional error info.", + "type": "object" + } + } + }, + "AddressValidationOutput": { + "description": "Output of the address validation api.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddressValidationProperties", + "description": "The address validation properties.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "AddressValidationProperties": { + "description": "The address validation output.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "validationStatus": { + "description": "The address validation status.", + "enum": [ + "Valid", + "Invalid", + "Ambiguous" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddressValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Address provided is valid." + }, + { + "value": "Invalid", + "description": "Address provided is invalid or not supported." + }, + { + "value": "Ambiguous", + "description": "Address provided is ambiguous, please choose one of the alternate addresses returned." + } + ] + } + }, + "alternateAddresses": { + "description": "List of alternate addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/ShippingAddress" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "ValidateAddress" + }, + "ApiError": { + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "ApplianceNetworkConfiguration": { + "description": "The Network Adapter configuration of a DataBox.", + "type": "object", + "properties": { + "name": { + "description": "Name of the network.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "Mac Address.", + "type": "string", + "readOnly": true + } + } + }, + "ArmBaseObject": { + "description": "Base class for all objects under resource.", + "type": "object", + "properties": { + "name": { + "description": "Name of the object.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the object.", + "type": "string", + "readOnly": true + } + } + }, + "AvailableSkuRequest": { + "description": "The filters for showing the available skus.", + "required": [ + "transferType", + "country", + "location" + ], + "type": "object", + "properties": { + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "country": { + "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements", + "type": "string" + }, + "location": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuNames": { + "description": "Sku Names to filter for available skus", + "type": "array", + "items": { + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + } + } + }, + "AvailableSkusResult": { + "description": "The available skus operation response.", + "type": "object", + "properties": { + "value": { + "description": "List of available skus.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of skus.", + "type": "string" + } + } + }, + "AzureFileFilterDetails": { + "description": "Filter details to transfer Azure files", + "type": "object", + "properties": { + "filePrefixList": { + "description": "Prefix list of the Azure files to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "filePathList": { + "description": "List of full path of the files to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "fileShareList": { + "description": "List of file shares to be transferred.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BlobFilterDetails": { + "description": "Filter details to transfer Azure Blobs", + "type": "object", + "properties": { + "blobPrefixList": { + "description": "Prefix list of the Azure blobs to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "blobPathList": { + "description": "List of full path of the blobs to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "containerList": { + "description": "List of blob containers to be transferred.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CancellationReason": { + "description": "Reason for cancellation.", + "required": [ + "reason" + ], + "type": "object", + "properties": { + "reason": { + "description": "Reason for cancellation.", + "type": "string" + } + } + }, + "CloudError": { + "description": "Cloud error.", + "type": "object", + "properties": { + "code": { + "description": "Cloud error code.", + "type": "string" + }, + "message": { + "description": "Cloud error message.", + "type": "string" + }, + "target": { + "description": "Cloud error target.", + "type": "string" + }, + "details": { + "description": "Cloud error details.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudError" + }, + "readOnly": true + }, + "additionalInfo": { + "description": "Cloud error additional info.", + "type": "array", + "items": { + "$ref": "#/definitions/AdditionalErrorInfo" + }, + "readOnly": true + } + }, + "x-ms-external": true + }, + "ContactDetails": { + "description": "Contact Details.", + "required": [ + "contactName", + "phone", + "emailList" + ], + "type": "object", + "properties": { + "contactName": { + "description": "Contact name of the person.", + "type": "string" + }, + "phone": { + "description": "Phone number of the contact person.", + "type": "string" + }, + "phoneExtension": { + "description": "Phone extension number of the contact person.", + "type": "string" + }, + "mobile": { + "description": "Mobile number of the contact person.", + "type": "string" + }, + "emailList": { + "description": "List of Email-ids to be notified about job progress.", + "type": "array", + "items": { + "type": "string" + } + }, + "notificationPreference": { + "description": "Notification preference for a job stage.", + "type": "array", + "items": { + "$ref": "#/definitions/NotificationPreference" + } + } + } + }, + "CopyLogDetails": { + "description": "Details for log generated during copy.", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "properties": { + "copyLogDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + } + }, + "discriminator": "copyLogDetailsType" + }, + "CopyProgress": { + "description": "Copy progress.", + "type": "object", + "properties": { + "storageAccountName": { + "description": "Name of the storage account. This will be empty for data account types other than storage account.", + "type": "string", + "readOnly": true + }, + "transferType": { + "description": "Transfer type of data", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "dataAccountType": { + "description": "Data Account Type.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountId": { + "description": "Id of the account where the data needs to be uploaded.", + "type": "string", + "readOnly": true + }, + "bytesProcessed": { + "format": "int64", + "description": "To indicate bytes transferred.", + "type": "integer", + "readOnly": true + }, + "totalBytesToProcess": { + "format": "int64", + "description": "Total amount of data to be processed by the job.", + "type": "integer", + "readOnly": true + }, + "filesProcessed": { + "format": "int64", + "description": "Number of files processed", + "type": "integer", + "readOnly": true + }, + "totalFilesToProcess": { + "format": "int64", + "description": "Total files to process", + "type": "integer", + "readOnly": true + }, + "invalidFilesProcessed": { + "format": "int64", + "description": "Number of files not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "invalidFileBytesUploaded": { + "format": "int64", + "description": "Total amount of data not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "renamedContainerCount": { + "format": "int64", + "description": "Number of folders not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "filesErroredOut": { + "format": "int64", + "description": "Number of files which could not be copied", + "type": "integer", + "readOnly": true + }, + "directoriesErroredOut": { + "format": "int64", + "description": "To indicate directories errored out in the job.", + "type": "integer", + "readOnly": true + }, + "invalidDirectoriesProcessed": { + "format": "int64", + "description": "To indicate directories renamed", + "type": "integer", + "readOnly": true + }, + "isEnumerationInProgress": { + "description": "To indicate if enumeration of data is in progress. \r\nUntil this is true, the TotalBytesToProcess may not be valid.", + "type": "boolean", + "readOnly": true + } + } + }, + "CreateJobValidations": { + "description": "It does all pre-job creation validations.", + "required": [ + "validationCategory", + "individualRequestDetails" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "JobCreationValidation" + }, + "CreateOrderLimitForSubscriptionValidationRequest": { + "description": "Request to validate create order limit for current subscription.", + "required": [ + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateCreateOrderLimit" + }, + "CreateOrderLimitForSubscriptionValidationResponseProperties": { + "description": "Properties of create order limit for subscription validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Create order limit validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateCreateOrderLimit" + }, + "DataAccountDetails": { + "description": "Account details of the data to be transferred", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Account Type of the data to be transferred.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "sharePassword": { + "description": "Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create" + ] + } + }, + "discriminator": "dataAccountType" + }, + "DataBoxAccountCopyLogDetails": { + "description": "Copy log details for a storage account of a DataBox job", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "copyLogLink": { + "description": "Link for copy logs.", + "type": "string", + "readOnly": true + }, + "copyVerboseLogLink": { + "description": "Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxDiskCopyLogDetails": { + "description": "Copy Log Details for a disk", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "diskSerialNumber": { + "description": "Disk Serial Number.", + "type": "string", + "readOnly": true + }, + "errorLogLink": { + "description": "Link for copy error logs.", + "type": "string", + "readOnly": true + }, + "verboseLogLink": { + "description": "Link for copy verbose logs.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxDiskCopyProgress": { + "description": "DataBox Disk Copy Progress", + "type": "object", + "properties": { + "serialNumber": { + "description": "The serial number of the disk", + "type": "string", + "readOnly": true + }, + "bytesCopied": { + "format": "int64", + "description": "Bytes copied during the copy of disk.", + "type": "integer", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "Indicates the percentage completed for the copy of the disk.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "The Status of the copy", + "enum": [ + "NotStarted", + "InProgress", + "Completed", + "CompletedWithErrors", + "Failed", + "NotReturned", + "HardwareError", + "DeviceFormatted", + "DeviceMetadataModified", + "StorageAccountNotAccessible", + "UnsupportedData" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CopyStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "NotStarted", + "description": "Data copy hasn't started yet." + }, + { + "value": "InProgress", + "description": "Data copy is in progress." + }, + { + "value": "Completed", + "description": "Data copy completed." + }, + { + "value": "CompletedWithErrors", + "description": "Data copy completed with errors." + }, + { + "value": "Failed", + "description": "Data copy failed. No data was copied." + }, + { + "value": "NotReturned", + "description": "No copy triggered as device was not returned." + }, + { + "value": "HardwareError", + "description": "The Device has hit hardware issues." + }, + { + "value": "DeviceFormatted", + "description": "Data copy failed. The Device was formatted by user." + }, + { + "value": "DeviceMetadataModified", + "description": "Data copy failed. Device metadata was modified by user." + }, + { + "value": "StorageAccountNotAccessible", + "description": "Data copy failed. Storage Account was not accessible during copy." + }, + { + "value": "UnsupportedData", + "description": "Data copy failed. The Device data content is not supported." + } + ] + } + } + } + }, + "DataBoxDiskJobDetails": { + "description": "DataBox Disk Job Details.", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "preferredDisks": { + "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } + }, + "copyProgress": { + "description": "Copy progress per disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxDiskCopyProgress" + }, + "readOnly": true + }, + "disksAndSizeDetails": { + "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "readOnly": true + }, + "passkey": { + "description": "User entered passkey for DataBox Disk job.", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxDiskJobSecrets": { + "description": "The secrets related to disk job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "diskSecrets": { + "description": "Contains the list of secrets object for that device.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskSecret" + }, + "readOnly": true + }, + "passKey": { + "description": "PassKey for the disk Job.", + "type": "string", + "readOnly": true + }, + "isPasskeyUserDefined": { + "description": "Whether passkey was provided by user.", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxHeavyAccountCopyLogDetails": { + "description": "Copy log details for a storage account for Databox heavy", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "copyLogLink": { + "description": "Link for copy logs.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "copyVerboseLogLink": { + "description": "Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavyJobDetails": { + "description": "Databox Heavy Device Job Details", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "copyProgress": { + "description": "Copy progress per account.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyProgress" + }, + "readOnly": true + }, + "devicePassword": { + "description": "Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavyJobSecrets": { + "description": "The secrets related to a databox heavy job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "cabinetPodSecrets": { + "description": "Contains the list of secret objects for a databox heavy job.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxHeavySecret" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavySecret": { + "description": "The secrets related to a databox heavy.", + "type": "object", + "properties": { + "deviceSerialNumber": { + "description": "Serial number of the assigned device.", + "type": "string", + "readOnly": true + }, + "devicePassword": { + "description": "Password for out of the box experience on device.", + "type": "string", + "readOnly": true + }, + "networkConfigurations": { + "description": "Network configuration of the appliance.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceNetworkConfiguration" + }, + "readOnly": true + }, + "encodedValidationCertPubKey": { + "description": "The base 64 encoded public key to authenticate with the device", + "type": "string", + "readOnly": true + }, + "accountCredentialDetails": { + "description": "Per account level access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountCredentialDetails" + }, + "readOnly": true + } + } + }, + "DataBoxJobDetails": { + "description": "Databox Job Details", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "copyProgress": { + "description": "Copy progress per storage account.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyProgress" + }, + "readOnly": true + }, + "devicePassword": { + "description": "Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataboxJobSecrets": { + "description": "The secrets related to a databox job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "podSecrets": { + "description": "Contains the list of secret objects for a job.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxSecret" + } + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling data box orders orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxSecret": { + "description": "The secrets related to a DataBox.", + "type": "object", + "properties": { + "deviceSerialNumber": { + "description": "Serial number of the assigned device.", + "type": "string", + "readOnly": true + }, + "devicePassword": { + "description": "Password for out of the box experience on device.", + "type": "string", + "readOnly": true + }, + "networkConfigurations": { + "description": "Network configuration of the appliance.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceNetworkConfiguration" + }, + "readOnly": true + }, + "encodedValidationCertPubKey": { + "description": "The base 64 encoded public key to authenticate with the device", + "type": "string", + "readOnly": true + }, + "accountCredentialDetails": { + "description": "Per account level access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountCredentialDetails" + }, + "readOnly": true + } + } + }, + "DataExportDetails": { + "description": "Details of the data to be used for exporting data from azure.", + "required": [ + "transferConfiguration", + "accountDetails" + ], + "type": "object", + "properties": { + "transferConfiguration": { + "$ref": "#/definitions/TransferConfiguration", + "description": "Configuration for the data transfer." + }, + "logCollectionLevel": { + "description": "Level of the logs to be collected.", + "enum": [ + "Error", + "Verbose" + ], + "type": "string", + "x-ms-enum": { + "name": "LogCollectionLevel", + "modelAsExtensible": true, + "values": [ + { + "value": "Error", + "description": "Only Errors will be collected in the logs." + }, + { + "value": "Verbose", + "description": "Verbose logging (includes Errors, CRC, size information and others)." + } + ] + } + }, + "accountDetails": { + "$ref": "#/definitions/DataAccountDetails", + "description": "Account details of the data to be transferred" + } + } + }, + "DataImportDetails": { + "description": "Details of the data to be used for importing data to azure.", + "required": [ + "accountDetails" + ], + "type": "object", + "properties": { + "accountDetails": { + "$ref": "#/definitions/DataAccountDetails", + "description": "Account details of the data to be transferred" + } + } + }, + "DataLocationToServiceLocationMap": { + "description": "Map of data location to service location", + "type": "object", + "properties": { + "dataLocation": { + "description": "Location of the data.", + "type": "string", + "readOnly": true + }, + "serviceLocation": { + "description": "Location of the service.", + "type": "string", + "readOnly": true + } + } + }, + "DataTransferDetailsValidationRequest": { + "description": "Request to validate export and import data details.", + "required": [ + "deviceType", + "transferType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "dataExportDetails": { + "description": "List of DataTransfer details to be used to export data from azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportDetails" + } + }, + "dataImportDetails": { + "description": "List of DataTransfer details to be used to import data to azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataImportDetails" + } + }, + "deviceType": { + "description": "Device type.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateDataTransferDetails" + }, + "DataTransferDetailsValidationResponseProperties": { + "description": "Properties of data transfer details validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Data transfer details validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateDataTransferDetails" + }, + "DcAccessSecurityCode": { + "description": "Dc access security code", + "type": "object", + "properties": { + "reverseDcAccessCode": { + "description": "Reverse Dc access security code.", + "type": "string" + }, + "forwardDcAccessCode": { + "description": "Forward Dc access security code.", + "type": "string" + } + } + }, + "Details": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "DiskScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling disk orders.", + "required": [ + "storageLocation", + "skuName", + "expectedDataSizeInTerabytes" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": { + "expectedDataSizeInTerabytes": { + "format": "int32", + "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DiskSecret": { + "description": "Contains all the secrets of a Disk.", + "type": "object", + "properties": { + "diskSerialNumber": { + "description": "Serial number of the assigned disk.", + "type": "string", + "readOnly": true + }, + "bitLockerKey": { + "description": "Bit Locker key of the disk which can be used to unlock the disk to copy data.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorDetail": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/Details" + } + }, + "target": { + "type": "string" + } + } + }, + "FilterFileDetails": { + "description": "Details of the filter files to be used for data transfer.", + "required": [ + "filterFileType", + "filterFilePath" + ], + "type": "object", + "properties": { + "filterFileType": { + "description": "Type of the filter file.", + "enum": [ + "AzureBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "FilterFileType", + "modelAsExtensible": true, + "values": [ + { + "value": "AzureBlob", + "description": "Filter file is of the type AzureBlob." + }, + { + "value": "AzureFile", + "description": "Filter file is of the type AzureFiles." + } + ] + } + }, + "filterFilePath": { + "description": "Path of the file that contains the details of all items to transfer.", + "type": "string" + } + } + }, + "HeavyScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling heavy orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "JobDeliveryInfo": { + "description": "Additional delivery info.", + "type": "object", + "properties": { + "scheduledDateTime": { + "format": "date-time", + "description": "Scheduled date time.", + "type": "string" + } + } + }, + "JobDetails": { + "description": "Job details.", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "properties": { + "jobStages": { + "description": "List of stages that run in the job.", + "type": "array", + "items": { + "$ref": "#/definitions/JobStages" + }, + "readOnly": true + }, + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for notification and shipping." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "deliveryPackage": { + "$ref": "#/definitions/PackageShippingDetails", + "description": "Delivery package shipping details.", + "readOnly": true + }, + "returnPackage": { + "$ref": "#/definitions/PackageShippingDetails", + "description": "Return package shipping details.", + "readOnly": true + }, + "dataImportDetails": { + "description": "Details of the data to be imported into azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataImportDetails" + } + }, + "dataExportDetails": { + "description": "Details of the data to be exported from azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportDetails" + } + }, + "jobDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + }, + "preferences": { + "$ref": "#/definitions/Preferences", + "description": "Preferences for the order." + }, + "copyLogDetails": { + "description": "List of copy log details.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyLogDetails" + }, + "readOnly": true + }, + "reverseShipmentLabelSasKey": { + "description": "Shared access key to download the return shipment label", + "type": "string", + "readOnly": true + }, + "chainOfCustodySasKey": { + "description": "Shared access key to download the chain of custody logs", + "type": "string", + "readOnly": true + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyEncryptionKey", + "description": "Details about which key encryption type is being used.", + "readOnly": true + }, + "expectedDataSizeInTerabytes": { + "format": "int32", + "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.", + "type": "integer" + } + }, + "discriminator": "jobDetailsType" + }, + "JobProperties": { + "description": "Job Properties", + "required": [ + "transferType" + ], + "type": "object", + "properties": { + "transferType": { + "description": "Type of the data transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "isCancellable": { + "description": "Describes whether the job is cancellable or not.", + "type": "boolean", + "readOnly": true + }, + "isDeletable": { + "description": "Describes whether the job is deletable or not.", + "type": "boolean", + "readOnly": true + }, + "isShippingAddressEditable": { + "description": "Describes whether the shipping address is editable or not.", + "type": "boolean", + "readOnly": true + }, + "isPrepareToShipEnabled": { + "description": "Is Prepare To Ship Enabled on this job", + "type": "boolean", + "readOnly": true + }, + "status": { + "description": "Name of the stage which is in progress.", + "enum": [ + "DeviceOrdered", + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Completed", + "CompletedWithErrors", + "Cancelled", + "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", + "Aborted", + "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", + "ReadyToReceiveAtAzureDC" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DeviceOrdered", + "description": "An order has been created." + }, + { + "value": "DevicePrepared", + "description": "A device has been prepared for the order." + }, + { + "value": "Dispatched", + "description": "Device has been dispatched to the user of the order." + }, + { + "value": "Delivered", + "description": "Device has been delivered to the user of the order." + }, + { + "value": "PickedUp", + "description": "Device has been picked up from user and in transit to Azure datacenter." + }, + { + "value": "AtAzureDC", + "description": "Device has been received at Azure datacenter from the user." + }, + { + "value": "DataCopy", + "description": "Data copy from the device at Azure datacenter." + }, + { + "value": "Completed", + "description": "Order has completed." + }, + { + "value": "CompletedWithErrors", + "description": "Order has completed with errors." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + }, + { + "value": "Failed_IssueReportedAtCustomer", + "description": "Order has failed due to issue reported by user." + }, + { + "value": "Failed_IssueDetectedAtAzureDC", + "description": "Order has failed due to issue detected at Azure datacenter." + }, + { + "value": "Aborted", + "description": "Order has been aborted." + }, + { + "value": "CompletedWithWarnings", + "description": "Order has completed with warnings." + }, + { + "value": "ReadyToDispatchFromAzureDC", + "description": "Device is ready to be handed to customer from Azure DC." + }, + { + "value": "ReadyToReceiveAtAzureDC", + "description": "Device can be dropped off at Azure DC." + } + ] + } + }, + "startTime": { + "format": "date-time", + "description": "Time at which the job was started in UTC ISO 8601 format.", + "type": "string", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Top level error for the job.", + "readOnly": true + }, + "details": { + "$ref": "#/definitions/JobDetails", + "description": "Details of a job run. This field will only be sent for expand details filter." + }, + "cancellationReason": { + "description": "Reason for cancellation.", + "type": "string", + "readOnly": true + }, + "deliveryType": { + "description": "Delivery type of Job.", + "enum": [ + "NonScheduled", + "Scheduled" + ], + "type": "string", + "x-ms-enum": { + "name": "JobDeliveryType", + "modelAsExtensible": true, + "values": [ + { + "value": "NonScheduled", + "description": "Non Scheduled job." + }, + { + "value": "Scheduled", + "description": "Scheduled job." + } + ] + } + }, + "deliveryInfo": { + "$ref": "#/definitions/JobDeliveryInfo", + "description": "Delivery Info of Job." + }, + "isCancellableWithoutFee": { + "description": "Flag to indicate cancellation of scheduled job.", + "type": "boolean", + "readOnly": true + } + } + }, + "JobResource": { + "description": "Job Resource.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "Properties of a job.", + "x-ms-client-flatten": true + }, + "name": { + "description": "Name of the object.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the object.", + "type": "string", + "readOnly": true + } + } + }, + "JobResourceList": { + "description": "Job Resource Collection", + "type": "object", + "properties": { + "value": { + "description": "List of job resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } + }, + "nextLink": { + "description": "Link for the next set of job resources.", + "type": "string" + } + } + }, + "JobResourceUpdateParameter": { + "description": "The JobResourceUpdateParameter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateJobProperties", + "description": "Properties of a job to be updated.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + } + }, + "JobSecrets": { + "description": "The base class for the secrets", + "required": [ + "jobSecretsType" + ], + "type": "object", + "properties": { + "jobSecretsType": { + "description": "Used to indicate what type of job secrets object.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + } + ] + } + }, + "dcAccessSecurityCode": { + "$ref": "#/definitions/DcAccessSecurityCode", + "description": "Dc Access Security Code for Customer Managed Shipping", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Error while fetching the secrets.", + "readOnly": true + } + }, + "discriminator": "jobSecretsType" + }, + "JobStages": { + "description": "Job stages.", + "type": "object", + "properties": { + "stageName": { + "description": "Name of the job stage.", + "enum": [ + "DeviceOrdered", + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Completed", + "CompletedWithErrors", + "Cancelled", + "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", + "Aborted", + "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", + "ReadyToReceiveAtAzureDC" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DeviceOrdered", + "description": "An order has been created." + }, + { + "value": "DevicePrepared", + "description": "A device has been prepared for the order." + }, + { + "value": "Dispatched", + "description": "Device has been dispatched to the user of the order." + }, + { + "value": "Delivered", + "description": "Device has been delivered to the user of the order." + }, + { + "value": "PickedUp", + "description": "Device has been picked up from user and in transit to Azure datacenter." + }, + { + "value": "AtAzureDC", + "description": "Device has been received at Azure datacenter from the user." + }, + { + "value": "DataCopy", + "description": "Data copy from the device at Azure datacenter." + }, + { + "value": "Completed", + "description": "Order has completed." + }, + { + "value": "CompletedWithErrors", + "description": "Order has completed with errors." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + }, + { + "value": "Failed_IssueReportedAtCustomer", + "description": "Order has failed due to issue reported by user." + }, + { + "value": "Failed_IssueDetectedAtAzureDC", + "description": "Order has failed due to issue detected at Azure datacenter." + }, + { + "value": "Aborted", + "description": "Order has been aborted." + }, + { + "value": "CompletedWithWarnings", + "description": "Order has completed with warnings." + }, + { + "value": "ReadyToDispatchFromAzureDC", + "description": "Device is ready to be handed to customer from Azure DC." + }, + { + "value": "ReadyToReceiveAtAzureDC", + "description": "Device can be dropped off at Azure DC." + } + ] + } + }, + "displayName": { + "description": "Display name of the job stage.", + "type": "string", + "readOnly": true + }, + "stageStatus": { + "description": "Status of the job stage.", + "enum": [ + "None", + "InProgress", + "Succeeded", + "Failed", + "Cancelled", + "Cancelling", + "SucceededWithErrors", + "WaitingForCustomerAction", + "SucceededWithWarnings" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "No status available yet." + }, + { + "value": "InProgress", + "description": "Stage is in progress." + }, + { + "value": "Succeeded", + "description": "Stage has succeeded." + }, + { + "value": "Failed", + "description": "Stage has failed." + }, + { + "value": "Cancelled", + "description": "Stage has been cancelled." + }, + { + "value": "Cancelling", + "description": "Stage is cancelling." + }, + { + "value": "SucceededWithErrors", + "description": "Stage has succeeded with errors." + }, + { + "value": "WaitingForCustomerAction", + "description": "Stage is stuck until customer takes some action." + }, + { + "value": "SucceededWithWarnings", + "description": "Stage has succeeded with warnings." + } + ] + } + }, + "stageTime": { + "format": "date-time", + "description": "Time for the job stage in UTC ISO 8601 format.", + "type": "string", + "readOnly": true + }, + "jobStageDetails": { + "description": "Job Stage Details", + "type": "object", + "readOnly": true + } + } + }, + "KeyEncryptionKey": { + "description": "Encryption key containing details about key to encrypt different keys.", + "required": [ + "kekType" + ], + "type": "object", + "properties": { + "kekType": { + "description": "Type of encryption key used for key encryption.", + "enum": [ + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "KekType", + "modelAsExtensible": true, + "values": [ + { + "value": "MicrosoftManaged", + "description": "Key encryption key is managed by Microsoft." + }, + { + "value": "CustomerManaged", + "description": "Key encryption key is managed by the Customer." + } + ] + } + }, + "kekUrl": { + "description": "Key encryption key. It is required in case of Customer managed KekType.", + "type": "string" + }, + "kekVaultResourceID": { + "description": "Kek vault resource id. It is required in case of Customer managed KekType.", + "type": "string" + } + } + }, + "ManagedDiskDetails": { + "description": "Details of the managed disks.", + "required": [ + "resourceGroupId", + "stagingStorageAccountId", + "dataAccountType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataAccountDetails" + } + ], + "properties": { + "resourceGroupId": { + "description": "Resource Group Id of the compute disks.", + "type": "string" + }, + "stagingStorageAccountId": { + "description": "Resource Id of the storage account that can be used to copy the vhd for staging.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManagedDisk" + }, + "NotificationPreference": { + "description": "Notification preference for a job stage.", + "required": [ + "stageName", + "sendNotification" + ], + "type": "object", + "properties": { + "stageName": { + "description": "Name of the stage.", + "enum": [ + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationStageName", + "modelAsExtensible": true, + "values": [ + { + "value": "DevicePrepared", + "description": "Notification at device prepared stage." + }, + { + "value": "Dispatched", + "description": "Notification at device dispatched stage." + }, + { + "value": "Delivered", + "description": "Notification at device delivered stage." + }, + { + "value": "PickedUp", + "description": "Notification at device picked up from user stage." + }, + { + "value": "AtAzureDC", + "description": "Notification at device received at Azure datacenter stage." + }, + { + "value": "DataCopy", + "description": "Notification at data copy started stage." + } + ] + } + }, + "sendNotification": { + "description": "Notification is required or not.", + "type": "boolean" + } + } + }, + "Operation": { + "description": "Operation entity.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Operation display values.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Operation properties.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "origin": { + "description": "Origin of the operation. Can be : user|system|user,system", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationDisplay": { + "description": "Operation display", + "type": "object", + "properties": { + "provider": { + "description": "Provider name.", + "type": "string" + }, + "resource": { + "description": "Resource name.", + "type": "string" + }, + "operation": { + "description": "Localized name of the operation for display purpose.", + "type": "string" + }, + "description": { + "description": "Localized description of the operation for display purpose.", + "type": "string" + } + } + }, + "OperationList": { + "description": "Operation Collection.", + "type": "object", + "properties": { + "value": { + "description": "List of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of operations.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": {} + }, + "PackageShippingDetails": { + "description": "Shipping details.", + "type": "object", + "properties": { + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "Tracking Id of shipment.", + "type": "string", + "readOnly": true + }, + "trackingUrl": { + "description": "Url where shipment can be tracked.", + "type": "string", + "readOnly": true + } + } + }, + "Preferences": { + "description": "Preferences related to the order", + "type": "object", + "properties": { + "preferredDataCenterRegion": { + "description": "Preferred data center region.", + "type": "array", + "items": { + "type": "string" + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the sku." + } + } + }, + "PreferencesValidationRequest": { + "description": "Request to validate preference of transport and data center.", + "required": [ + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "preference": { + "description": "Preference of transport and data center.", + "$ref": "#/definitions/Preferences" + }, + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidatePreferences" + }, + "PreferencesValidationResponseProperties": { + "description": "Properties of data center and transport preference validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Validation status of requested data center and transport.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidatePreferences" + }, + "RegionConfigurationRequest": { + "description": "Request body to get the configuration for the region.", + "type": "object", + "properties": { + "scheduleAvailabilityRequest": { + "$ref": "#/definitions/ScheduleAvailabilityRequest", + "description": "Request body to get the availability for scheduling orders." + }, + "transportAvailabilityRequest": { + "$ref": "#/definitions/TransportAvailabilityRequest", + "description": "Request body to get the transport availability for given sku." + } + } + }, + "RegionConfigurationResponse": { + "description": "Configuration response specific to a region.", + "type": "object", + "properties": { + "scheduleAvailabilityResponse": { + "$ref": "#/definitions/ScheduleAvailabilityResponse", + "description": "Schedule availability for given sku in a region.", + "readOnly": true + }, + "transportAvailabilityResponse": { + "$ref": "#/definitions/TransportAvailabilityResponse", + "description": "Transport options available for given sku in a region.", + "readOnly": true + } + } + }, + "Resource": { + "description": "Model of the Resource.", + "required": [ + "location", + "sku" + ], + "type": "object", + "properties": { + "location": { + "description": "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku type." + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + }, + "x-ms-azure-resource": true + }, + "ResourceIdentity": { + "description": "Msi identity details of the resource", + "type": "object", + "properties": { + "type": { + "description": "Identity type", + "type": "string" + }, + "principalId": { + "description": "Service Principal Id backing the Msi", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Home Tenant Id", + "type": "string", + "readOnly": true + } + } + }, + "ScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "properties": { + "storageLocation": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuName": { + "description": "Sku Name for which the order is to be scheduled.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "country": { + "description": "Country in which storage location should be supported.", + "type": "string" + } + }, + "discriminator": "skuName" + }, + "ScheduleAvailabilityResponse": { + "description": "Schedule availability for given sku in a region.", + "type": "object", + "properties": { + "availableDates": { + "description": "List of dates available to schedule", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + }, + "readOnly": true + } + } + }, + "ShareCredentialDetails": { + "description": "Credential details of the shares in account.", + "type": "object", + "properties": { + "shareName": { + "description": "Name of the share.", + "type": "string", + "readOnly": true + }, + "shareType": { + "description": "Type of the share.", + "enum": [ + "UnknownType", + "HCS", + "BlockBlob", + "PageBlob", + "AzureFile", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ShareDestinationFormatType", + "modelAsExtensible": true, + "values": [ + { + "value": "UnknownType", + "description": "Unknown format." + }, + { + "value": "HCS", + "description": "Storsimple data format." + }, + { + "value": "BlockBlob", + "description": "Azure storage block blob format." + }, + { + "value": "PageBlob", + "description": "Azure storage page blob format." + }, + { + "value": "AzureFile", + "description": "Azure storage file format." + }, + { + "value": "ManagedDisk", + "description": "Azure Compute Disk." + } + ] + } + }, + "userName": { + "description": "User name for the share.", + "type": "string", + "readOnly": true + }, + "password": { + "description": "Password for the share.", + "type": "string", + "readOnly": true + }, + "supportedAccessProtocols": { + "description": "Access protocols supported on the device.", + "type": "array", + "items": { + "enum": [ + "SMB", + "NFS" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessProtocol", + "modelAsExtensible": true, + "values": [ + { + "value": "SMB", + "description": "Server Message Block protocol(SMB)." + }, + { + "value": "NFS", + "description": "Network File System protocol(NFS)." + } + ] + } + }, + "readOnly": true + } + } + }, + "ShipmentPickUpRequest": { + "description": "Shipment pick up request details.", + "required": [ + "startTime", + "endTime", + "shipmentLocation" + ], + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Minimum date after which the pick up should commence, this must be in local time of pick up area.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Maximum date before which the pick up should commence, this must be in local time of pick up area.", + "type": "string" + }, + "shipmentLocation": { + "description": "Shipment Location in the pickup place. Eg.front desk", + "type": "string" + } + } + }, + "ShipmentPickUpResponse": { + "description": "Shipment pick up response.", + "type": "object", + "properties": { + "confirmationNumber": { + "description": "Confirmation number for the pick up request.", + "type": "string", + "readOnly": true + }, + "readyByTime": { + "format": "date-time", + "description": "Time by which shipment should be ready for pick up, this is in local time of pick up area.", + "type": "string", + "readOnly": true + } + } + }, + "ShippingAddress": { + "description": "Shipping address where customer wishes to receive the device.", + "required": [ + "streetAddress1", + "country", + "postalCode" + ], + "type": "object", + "properties": { + "streetAddress1": { + "description": "Street Address line 1.", + "type": "string" + }, + "streetAddress2": { + "description": "Street Address line 2.", + "type": "string" + }, + "streetAddress3": { + "description": "Street Address line 3.", + "type": "string" + }, + "city": { + "description": "Name of the City.", + "type": "string" + }, + "stateOrProvince": { + "description": "Name of the State or Province.", + "type": "string" + }, + "country": { + "description": "Name of the Country.", + "type": "string" + }, + "postalCode": { + "description": "Postal code.", + "type": "string" + }, + "zipExtendedCode": { + "description": "Extended Zip Code.", + "type": "string" + }, + "companyName": { + "description": "Name of the company.", + "type": "string" + }, + "addressType": { + "description": "Type of address.", + "enum": [ + "None", + "Residential", + "Commercial" + ], + "type": "string", + "x-ms-enum": { + "name": "AddressType", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "Address type not known." + }, + { + "value": "Residential", + "description": "Residential Address." + }, + { + "value": "Commercial", + "description": "Commercial Address." + } + ] + } + } + } + }, + "Sku": { + "description": "The Sku.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The sku name.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "displayName": { + "description": "The display name of the sku.", + "type": "string" + }, + "family": { + "description": "The sku family.", + "type": "string" + } + } + }, + "SkuAvailabilityValidationRequest": { + "description": "Request to validate sku availability.", + "required": [ + "deviceType", + "transferType", + "country", + "location", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "country": { + "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements", + "type": "string" + }, + "location": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + } + }, + "x-ms-discriminator-value": "ValidateSkuAvailability" + }, + "SkuAvailabilityValidationResponseProperties": { + "description": "Properties of sku availability validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Sku availability validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateSkuAvailability" + }, + "SkuCapacity": { + "description": "Capacity of the sku.", + "type": "object", + "properties": { + "usable": { + "description": "Usable capacity in TB.", + "type": "string", + "readOnly": true + }, + "maximum": { + "description": "Maximum capacity in TB.", + "type": "string", + "readOnly": true + } + } + }, + "SkuCost": { + "description": "Describes metadata for retrieving price info.", + "type": "object", + "properties": { + "meterId": { + "description": "Meter id of the Sku.", + "type": "string", + "readOnly": true + }, + "meterType": { + "description": "The type of the meter.", + "type": "string", + "readOnly": true + }, + "multiplier": { + "format": "double", + "description": "Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using 1$ shipping guid with appropriate multiplier specific to region.", + "type": "number", + "readOnly": true + } + } + }, + "SkuInformation": { + "description": "Information of the sku.", + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The Sku.", + "readOnly": true + }, + "enabled": { + "description": "The sku is enabled or not.", + "type": "boolean", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SkuProperties", + "description": "Properties of the sku.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "SkuProperties": { + "description": "Properties of the sku.", + "type": "object", + "properties": { + "dataLocationToServiceLocationMap": { + "description": "The map of data location to service location.", + "type": "array", + "items": { + "$ref": "#/definitions/DataLocationToServiceLocationMap" + }, + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Capacity of the Sku.", + "readOnly": true + }, + "costs": { + "description": "Cost of the Sku.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "apiVersions": { + "description": "Api versions that support this Sku.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "disabledReason": { + "description": "Reason why the Sku is disabled.", + "enum": [ + "None", + "Country", + "Region", + "Feature", + "OfferType", + "NoSubscriptionInfo" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuDisabledReason", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "SKU is not disabled." + }, + { + "value": "Country", + "description": "SKU is not available in the requested country." + }, + { + "value": "Region", + "description": "SKU is not available to push data to the requested Azure region." + }, + { + "value": "Feature", + "description": "Required features are not enabled for the SKU." + }, + { + "value": "OfferType", + "description": "Subscription does not have required offer types for the SKU." + }, + { + "value": "NoSubscriptionInfo", + "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification." + } + ] + } + }, + "disabledReasonMessage": { + "description": "Message for why the Sku is disabled.", + "type": "string", + "readOnly": true + }, + "requiredFeature": { + "description": "Required feature to access the sku.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountDetails": { + "description": "Details for the storage account.", + "required": [ + "storageAccountId", + "dataAccountType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataAccountDetails" + } + ], + "properties": { + "storageAccountId": { + "description": "Storage Account Resource Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "StorageAccount" + }, + "SubscriptionIsAllowedToCreateJobValidationRequest": { + "description": "Request to validate subscription permission to create jobs.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob" + }, + "SubscriptionIsAllowedToCreateJobValidationResponseProperties": { + "description": "Properties of subscription permission to create job validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Validation status of subscription permission to create job.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob" + }, + "TransferAllDetails": { + "description": "Details to transfer all data.", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Type of the account of data", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "transferAllBlobs": { + "description": "To indicate if all Azure blobs have to be transferred", + "type": "boolean" + }, + "transferAllFiles": { + "description": "To indicate if all Azure Files have to be transferred", + "type": "boolean" + } + } + }, + "TransferConfiguration": { + "description": "Configuration for defining the transfer of data.", + "required": [ + "transferConfigurationType" + ], + "type": "object", + "properties": { + "transferConfigurationType": { + "description": "Type of the configuration for transfer.", + "enum": [ + "TransferAll", + "TransferUsingFilter" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferConfigurationType", + "modelAsExtensible": true, + "values": [ + { + "value": "TransferAll", + "description": "Transfer all the data." + }, + { + "value": "TransferUsingFilter", + "description": "Transfer using filter." + } + ] + } + }, + "transferFilterDetails": { + "description": "Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.", + "type": "object", + "properties": { + "include": { + "description": "Details of the filtering the transfer of data.", + "$ref": "#/definitions/TransferFilterDetails" + } + } + }, + "transferAllDetails": { + "description": "Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll", + "type": "object", + "properties": { + "include": { + "description": "Details to transfer all data.", + "$ref": "#/definitions/TransferAllDetails" + } + } + } + } + }, + "TransferFilterDetails": { + "description": "Details of the filtering the transfer of data.", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Type of the account of data.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "blobFilterDetails": { + "$ref": "#/definitions/BlobFilterDetails", + "description": "Filter details to transfer blobs." + }, + "azureFileFilterDetails": { + "$ref": "#/definitions/AzureFileFilterDetails", + "description": "Filter details to transfer Azure files." + }, + "filterFileDetails": { + "description": "Details of the filter files to be used for data transfer.", + "type": "array", + "items": { + "$ref": "#/definitions/FilterFileDetails" + } + } + } + }, + "TransportAvailabilityDetails": { + "description": "Transport options availability details for given region.", + "type": "object", + "properties": { + "shipmentType": { + "description": "Transport Shipment Type supported for given region.", + "enum": [ + "CustomerManaged", + "MicrosoftManaged" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransportShipmentTypes", + "modelAsExtensible": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + }, + "TransportAvailabilityRequest": { + "description": "Request body to get the transport availability for given sku.", + "type": "object", + "properties": { + "skuName": { + "description": "Type of the device.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + } + } + }, + "TransportAvailabilityResponse": { + "description": "Transport options available for given sku in a region.", + "type": "object", + "properties": { + "transportAvailabilityDetails": { + "description": "List of transport availability details for given region", + "type": "array", + "items": { + "$ref": "#/definitions/TransportAvailabilityDetails" + }, + "readOnly": true + } + } + }, + "TransportPreferences": { + "description": "Preferences related to the shipment logistics of the sku", + "required": [ + "preferredShipmentType" + ], + "type": "object", + "properties": { + "preferredShipmentType": { + "description": "Indicates Shipment Logistics type that the customer preferred.", + "enum": [ + "CustomerManaged", + "MicrosoftManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "TransportShipmentTypes", + "modelAsExtensible": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + }, + "UnencryptedCredentials": { + "description": "Unencrypted credentials for accessing device.", + "type": "object", + "properties": { + "jobName": { + "description": "Name of the job.", + "type": "string", + "readOnly": true + }, + "jobSecrets": { + "$ref": "#/definitions/JobSecrets", + "description": "Secrets related to this job.", + "readOnly": true + } + } + }, + "UnencryptedCredentialsList": { + "description": "List of unencrypted credentials for accessing device.", + "type": "object", + "properties": { + "value": { + "description": "List of unencrypted credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/UnencryptedCredentials" + } + }, + "nextLink": { + "description": "Link for the next set of unencrypted credentials.", + "type": "string" + } + } + }, + "UpdateJobDetails": { + "description": "Job details for update.", + "type": "object", + "properties": { + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for notification and shipping." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyEncryptionKey", + "description": "Key encryption key for the job." + } + } + }, + "UpdateJobProperties": { + "description": "Job Properties for update", + "type": "object", + "properties": { + "details": { + "$ref": "#/definitions/UpdateJobDetails", + "description": "Details of a job to be updated." + } + } + }, + "ValidateAddress": { + "description": "The requirements to validate customer address where the device needs to be shipped.", + "required": [ + "shippingAddress", + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + } + ] + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the sku." + } + }, + "x-ms-discriminator-value": "ValidateAddress" + }, + "ValidationInputRequest": { + "description": "Minimum fields that must be present in any type of validation request.", + "required": [ + "validationType" + ], + "type": "object", + "properties": { + "validationType": { + "description": "Identifies the type of validation request.", + "enum": [ + "ValidateAddress", + "ValidateSubscriptionIsAllowedToCreateJob", + "ValidatePreferences", + "ValidateCreateOrderLimit", + "ValidateSkuAvailability", + "ValidateDataTransferDetails" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationInputDiscriminator", + "modelAsExtensible": true, + "values": [ + { + "value": "ValidateAddress", + "description": "Identify request and response of address validation." + }, + { + "value": "ValidateSubscriptionIsAllowedToCreateJob", + "description": "Identify request and response for validation of subscription permission to create job." + }, + { + "value": "ValidatePreferences", + "description": "Identify request and response of preference validation." + }, + { + "value": "ValidateCreateOrderLimit", + "description": "Identify request and response of create order limit for subscription validation." + }, + { + "value": "ValidateSkuAvailability", + "description": "Identify request and response of active job limit for sku availability." + }, + { + "value": "ValidateDataTransferDetails", + "description": "Identify request and response of data transfer details validation." + } + ] + } + } + }, + "discriminator": "validationType" + }, + "ValidationInputResponse": { + "description": "Minimum properties that should be present in each individual validation response.", + "required": [ + "validationType" + ], + "type": "object", + "properties": { + "validationType": { + "description": "Identifies the type of validation response.", + "enum": [ + "ValidateAddress", + "ValidateSubscriptionIsAllowedToCreateJob", + "ValidatePreferences", + "ValidateCreateOrderLimit", + "ValidateSkuAvailability", + "ValidateDataTransferDetails" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationInputDiscriminator", + "modelAsExtensible": true, + "values": [ + { + "value": "ValidateAddress", + "description": "Identify request and response of address validation." + }, + { + "value": "ValidateSubscriptionIsAllowedToCreateJob", + "description": "Identify request and response for validation of subscription permission to create job." + }, + { + "value": "ValidatePreferences", + "description": "Identify request and response of preference validation." + }, + { + "value": "ValidateCreateOrderLimit", + "description": "Identify request and response of create order limit for subscription validation." + }, + { + "value": "ValidateSkuAvailability", + "description": "Identify request and response of active job limit for sku availability." + }, + { + "value": "ValidateDataTransferDetails", + "description": "Identify request and response of data transfer details validation." + } + ] + } + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Error code and message of validation response.", + "readOnly": true + } + }, + "discriminator": "validationType" + }, + "ValidationRequest": { + "description": "Minimum request requirement of any validation category.", + "required": [ + "validationCategory", + "individualRequestDetails" + ], + "type": "object", + "properties": { + "validationCategory": { + "description": "Identify the nature of validation.", + "enum": [ + "JobCreationValidation" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationCategory", + "modelAsExtensible": true, + "values": [ + { + "value": "JobCreationValidation", + "description": "Identify request of pre-job creation validations." + } + ] + } + }, + "individualRequestDetails": { + "description": "List of request details contain validationType and its request as key and value respectively.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationInputRequest" + } + } + }, + "discriminator": "validationCategory" + }, + "ValidationResponse": { + "description": "Response of pre job creation validations.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ValidationResponseProperties", + "description": "Properties of pre job creation validation response.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ValidationResponseProperties": { + "description": "Properties of pre job creation validation response.", + "type": "object", + "properties": { + "status": { + "description": "Overall validation status.", + "enum": [ + "AllValidToProceed", + "InputsRevisitRequired", + "CertainInputValidationsSkipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OverallValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "AllValidToProceed", + "description": "Every input request is valid." + }, + { + "value": "InputsRevisitRequired", + "description": "Some input requests are not valid." + }, + { + "value": "CertainInputValidationsSkipped", + "description": "Certain input validations skipped." + } + ] + } + }, + "individualResponseDetails": { + "description": "List of response details contain validationType and its response as key and value respectively.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationInputResponse" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API Version", + "required": true, + "type": "string" + }, + "jobNameParameter": { + "name": "jobName", + "in": "path", + "description": "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + "required": true, + "type": "string", + "maxLength": 24, + "minLength": 3, + "pattern": "^[-\\w\\.]+$", + "x-ms-parameter-location": "method" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "The location of the resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The Resource Group Name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Subscription Id", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "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/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json new file mode 100644 index 000000000000..1f8c4f4c1af2 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "location": "westus", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "ce815189-a9cc-4288-8166-d78f211bed5a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "84" + ], + "availableSkuRequest": { + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "DataBox" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "80", + "maximum": "100" + }, + "costs": [ + { + "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042", + "meterType": "DataBoxServiceFee", + "multiplier": 1 + }, + { + "meterId": "a701f058-119b-4713-a923-bed7da4b7801", + "meterType": "DataBoxShippingFee", + "multiplier": 1 + }, + { + "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed", + "meterType": "DataBoxExtraDayFee", + "multiplier": 1 + }, + { + "meterId": "c3ea978d-6a0a-4632-b094-4fffcafcb057", + "meterType": "DataBoxLostOrDamagedDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None" + } + }, + { + "sku": { + "name": "DataBoxDisk" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "35", + "maximum": "40" + }, + "costs": [ + { + "meterId": "d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f", + "meterType": "DataBoxDiskServiceFee", + "multiplier": 1 + }, + { + "meterId": "4b8cf572-cb04-4ef3-9528-2cda4e9b544e", + "meterType": "DataBoxDiskShippingFee", + "multiplier": 1 + }, + { + "meterId": "b6ae9bbf-815d-49dd-bb2b-77c497b72ba4", + "meterType": "DataBoxDiskDailyUsageFee", + "multiplier": 1 + }, + { + "meterId": "08bc0ea1-6c82-421b-b953-2a7a65810d2e", + "meterType": "DataBoxDiskLostDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None" + } + }, + { + "sku": { + "name": "DataBoxHeavy" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "800", + "maximum": "1000" + }, + "costs": [ + { + "meterId": "d0dccaaf-3de9-4c7a-ba97-f83551b90126", + "meterType": "DataBoxHeavyServiceFee", + "multiplier": 1 + }, + { + "meterId": "7b49d11f-d4f7-4029-a197-04998fd282f9", + "meterType": "DataBoxHeavyShippingFee", + "multiplier": 1 + }, + { + "meterId": "c2c66d53-11b4-4f11-9642-43c7c336f0b7", + "meterType": "DataBoxHeavyExtraDayFee", + "multiplier": 1 + }, + { + "meterId": "188dcd7e-fbd7-4a41-aa42-162b81b0510f", + "meterType": "DataBoxHeavyLostOrDamagedDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None", + "requiredFeature": "HeavyCreateAccess" + } + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json new file mode 100644 index 000000000000..bec928ad7c87 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "jobName": "TJ-636646322037905056", + "api-version": "2019-09-01", + "x-ms-client-request-id": [ + "e1437186-b41d-492e-9b7a-e197c28a517a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.27817.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18362.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "118" + ], + "shipmentPickUpRequest": { + "startTime": "2019-09-20T18:30:00Z", + "endTime": "2019-09-22T18:30:00Z", + "shipmentLocation": "Front desk" + } + }, + "responses": { + "200": { + "body": { + "confirmationNumber": "2929602E9CP", + "readyByTime": "2019-09-20T18:30:00Z" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json new file mode 100644 index 000000000000..b0615f487570 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "95fc15f7-4976-46bb-8370-74ed4cb676be" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "30" + ], + "cancellationReason": { + "reason": "CancelTest" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json new file mode 100644 index 000000000000..d4c85d99bfb2 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "04f2835f-a2a2-4f25-96df-568460e5be24" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1064" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json new file mode 100644 index 000000000000..e0966d489b9f --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7478", + "jobName": "SdkJob9640", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "c4c8f926-ebbe-4c07-ae1a-b716911058df" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1168" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "devicePassword": "Abcd223@22344", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2", + "sharePassword": "Abcd223@22344Abcd223@22344" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob9640", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json new file mode 100644 index 000000000000..9ed85155cd73 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg8091", + "jobName": "SdkJob6429", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "80eaafc7-e8b7-4c5a-ad81-b1ecb9573cd4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1395" + ], + "jobResource": { + "properties": { + "transferType": "ExportFromAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataExportDetails": [ + { + "transferConfiguration": { + "transferConfigurationType": "TransferAll", + "transferAllDetails": { + "include": { + "dataAccountType": "StorageAccount", + "transferAllBlobs": true, + "transferAllFiles": true + } + } + }, + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob6429", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json new file mode 100644 index 000000000000..eb1ae2a45dec --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "f5c227e2-13d8-4ce9-9ef2-f3c63f6935b9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json new file mode 100644 index 000000000000..ba27dbca634d --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "e76214b0-6013-499e-8f91-3a287f421f2e" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:50:36.3341513+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:50:40.1872217+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=urwfAELvNV69IGHdcXlRCn6o3O3dWZQKaRipmoAdrI0%3D&st=2020-08-07T05%3A10%3A58Z&se=2020-08-08T05%3A20%3A58Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json new file mode 100644 index 000000000000..4ae6cb839525 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json @@ -0,0 +1,170 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7937", + "jobName": "SdkJob1735", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "c8cf9d3e-55f1-488f-bcee-53f4939f44e8" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:47:42.0009935+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:47:44.8736499+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=JSZSeKrFrrwWbZ4zd7PNdGdNYKExKpxa98vRDDH6ZIk%3D&st=2020-08-07T05%3A08%3A51Z&se=2020-08-08T05%3A18%3A51Z&sp=r", + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9a68a7c4-0a18-4d06-a5fb-7058e9e98458", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "name": "SdkJob1735", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json new file mode 100644 index 000000000000..2544b1682896 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg8091", + "jobName": "SdkJob6429", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "b3739c7c-02b6-46c2-a04c-da6f8bca279c" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": true, + "status": "Cancelled", + "startTime": "2020-08-07T10:49:08.7195419+05:30", + "details": { + "copyProgress": [ + { + "storageAccountName": "aaaaaa2", + "transferType": "ExportFromAzure", + "dataAccountType": "StorageAccount", + "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2", + "bytesProcessed": 0, + "totalBytesToProcess": 0, + "isEnumerationInProgress": false + } + ], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:49:12.7675644+05:30" + }, + { + "stageName": "Cancelled", + "displayName": "Canceled", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:49:57.2572438+05:30" + } + ], + "contactDetails": { + "contactName": " ", + "emailList": [], + "phone": "1234567890", + "phoneExtension": "1234", + "notificationPreference": [] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [], + "dataExportDetails": [ + { + "transferConfiguration": { + "transferConfigurationType": "TransferAll", + "transferFilterDetails": {}, + "transferAllDetails": { + "include": { + "dataAccountType": "StorageAccount", + "transferAllBlobs": true, + "transferAllFiles": true + } + } + }, + "logCollectionLevel": "Error", + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=04aL%2FTe7998qQJlhmGI3C0Q%2FxsCVo1t0B4uQUIx7TmQ%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-08T05%3A20%3A05Z&sp=r", + "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/9a6ee052-bcff-4b5e-a478-7dcbfb86e9fb.txt?sv=2018-03-28&sr=b&sig=JbBBXZKharvfg35ZfmrhowO1DuOpzcZCNUdeFzklvWs%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-07T05%3A40%3A05Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "cancellationReason": "CancelTest", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob6429", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json new file mode 100644 index 000000000000..09068ac61e28 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json @@ -0,0 +1,805 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "044127c5-663e-4a0f-9061-2fa0ca8058c4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-08-30T14:44:39.77401+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "mnaustest", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/mnaustest", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-09-10T18:03:22.2578238+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "portalcontractAUS", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/portalcontractAUS", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-08-30T15:17:17.3753642+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "testBB-diskAU", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/testBB/providers/Microsoft.DataBox/jobs/testBB-diskAU", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T11:12:15.5972523+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "allXML", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/allXML", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-07T15:51:08.4479315+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "bothExportAllxml", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/bothExportAllxml", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T19:44:59.2410723+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "exportAll", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/exportAll", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T18:31:05.3036028+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "importRegressnTest", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/importRegressnTest", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-09T01:57:03.8985885+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testBotthXMLAndAll", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testBotthXMLAndAll", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-05T15:56:52.6983398+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testExportAllOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testExportAllOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T17:45:25.464989+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testPayload", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testPayload", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T10:43:04.8775864+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "xmlOnlyOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/xmlOnlyOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-11-27T15:17:49.0760408+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testbadresourcegroup", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-01-04T09:08:49.9928621+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "andipodtest4jan", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-28T15:20:48.1058546+05:30", + "cancellationReason": "NoLongerNeeded null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "dbtest1", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/dbtest1", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-14T08:51:18.2067875+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautam14-04-Clone", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautam14-04-Clone", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-27T18:08:30.6622356+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamtestexport", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestexport", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-21T20:41:02.3837388+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "DegautamTestExportOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/DegautamTestExportOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-24T07:56:23.6839464+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamtestorder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestorder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-14T08:48:21.2260174+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamTestOrder14-04", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamTestOrder14-04", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-12T12:19:19.8627264+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "export", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/export", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-05T19:50:20.9692355+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "exportTestResource", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/exportTestResource", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:09:45.7080012+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportNew", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportNew", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:13:02.5724966+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-20T13:39:28.1940929+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld1", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld1", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:14:59.6879599+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld2", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld2", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-07-21T23:43:34.513148+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "saranyagorder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/saranyagorder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-07-04T14:01:50.9232807+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testdeepak04-07", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-02-11T12:33:16.6231232+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBoxHeavy" + }, + "identity": { + "type": "None" + }, + "name": "testdurga-heavy", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy", + "type": "Microsoft.DataBox/jobs" + } + ], + "nextLink": "https://management.azure.com/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.DataBox/jobs?api-version=2020-04-01&%24skiptoken=fVJdb5swFP0v0bq3NMaFFipVU5oATRbSxBjz8WYDIQbzoUBISNX%2fPrfVumnaJvnB8rn3nON77suoSs%2fdildFO7p%2fGfmmiz13dD%2fad13T3k8mJa1olpZp1V3Ty%2fGQXsd1OWmPrI0PvOl4XbWTHb3VgQ53Y323uxurFGpjQ4vvxnFqJFRTFajC3aQ51D1P0kM7cXh8qNt6113PaUcf6%2fMkr1n7jTZ83EtcUj5AAMEYqGOgfP3SFrzBdZFWD5u5oTL%2flCUlGWIoepYD7rjqacEfBSvXfWSLY3QBPAlQucImXOT6FWTzba1voXFMJJr4FqC%2bcSS2cYh89QPNFvPznEFNIpoSBqiRd4%2fBTrBcXc%2f4NFvMpjr51FSHVT7VV0ok4motaz9ZZtNsYyEttj3JS2yLM9uTdT9fpI83pmxjaiJ9QtswWAL6obaKgkL2OK4pBS3KPG%2fAAD2uTaXzA7RBStPhqjg5lvBcbDnEbs9%2b0OSJVQwEE4qAd8YFslJPM91SCdNiWYYiaWm57p6DhjuiPmFbcamNnlApuAP3JfZCLfYXg1vV%2bgr8y9Efnl12k%2fzyCp9nVs5IdBvmaz8l0kuFIt9c3oQkVpjY327LKGc%2beteitnnxyzNnAaojM1QTJbt45Tl3lOUhsvbfmRDY8Q1KQDhEBFkrfOpxSdTEWvYJ6ESKf8vCtoYIEoBtI%2f%2fI6y0D72nZMN8aUtkpp%2f%2bXivffzE%2f9f7dBTmPds0puQUX2cmd6JlBPITlusqubRJ7R6%2bsP" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json new file mode 100644 index 000000000000..f3697a29a111 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "c1514209-a439-4bd1-b040-76d7539d2509" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-07-03T11:55:54.463792+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "fac84c35-5490-4b11-81b9-770053ccbe3b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "name": "SdkJob5928", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob5928", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:50:36.3341513+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json new file mode 100644 index 000000000000..20101ff6dc09 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "jobName": "TJ-636646322037905056", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "cda11c92-529b-4b75-b56d-ff1a69ffeeba" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobName": "TJ-636646322037905056", + "jobSecrets": { + "podSecrets": [ + { + "deviceSerialNumber": "testimolapod-3ecc44ce", + "devicePassword": "cT5nt8R;S%5", + "networkConfigurations": [ + { + "name": "DataPort3", + "macAddress": "D05099C1F439" + }, + { + "name": "DataPort1", + "macAddress": "EC0D9A21A6C0" + }, + { + "name": "DataPort2", + "macAddress": "EC0D9A21A6C1" + } + ], + "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==", + "accountCredentialDetails": [ + { + "accountName": "databoxbvttestaccount", + "dataAccountType": "StorageAccount", + "accountConnectionString": "", + "shareCredentialDetails": [ + { + "shareName": "databoxbvttestaccount_PageBlob", + "shareType": "PageBlob", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + }, + { + "shareName": "databoxbvttestaccount_BlockBlob", + "shareType": "BlockBlob", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + }, + { + "shareName": "databoxbvttestaccount_AzFile", + "shareType": "AzureFile", + "userName": "databoxbvttestac_903", + "password": "4N)K4(j6tyR", + "supportedAccessProtocols": [ + "SMB" + ] + } + ] + } + ] + } + ], + "jobSecretsType": "DataBox", + "dcAccessSecurityCode": {} + } + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json new file mode 100644 index 000000000000..2f34b6fd3217 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2020-04-01", + "$expand": "details", + "x-ms-client-request-id": [ + "ff3829ca-bcb0-4737-b6e0-52af57f34bb7" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "584" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "contactDetails": { + "contactName": "Update Job", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + } + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json new file mode 100644 index 000000000000..899ea6b87097 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7937", + "jobName": "SdkJob1735", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "fcab0fa9-7af8-47e0-b570-d703a48ee66b" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "358" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob1735", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json new file mode 100644 index 000000000000..175a10a5e8cd --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json @@ -0,0 +1,212 @@ +{ + "parameters": { + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "b9453354-c675-40a8-99c0-8039818c85fd" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataBox/locations/operationResults/read", + "display": { + "provider": "Azure Data Box", + "resource": "Operation Results", + "operation": "List Operation Results", + "description": "List or get the Operation Results" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/cancel/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Cancel", + "description": "Cancels an order in progress." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/bookShipmentPickUp/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Book Shipment Pick Up", + "description": "Allows to book a pick up for return shipments." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/read", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "List Orders", + "description": "List or get the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/delete", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Delete Orders", + "description": "Delete the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/write", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Create or Update Orders", + "description": "Create or update the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/listCredentials/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "List Credentials", + "description": "Lists the unencrypted credentials related to the order." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/validateInputs/action", + "display": { + "provider": "Azure Data Box", + "resource": "Validate Inputs", + "operation": "Validate Inputs", + "description": "This method does all type of validations." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/validateAddress/action", + "display": { + "provider": "Azure Data Box", + "resource": "Validate Address", + "operation": "Validate Address", + "description": "Validates the shipping address and provides alternate addresses if any." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/subscriptions/resourceGroups/moveResources/action", + "display": { + "provider": "Azure Data Box", + "resource": "Move Resource", + "operation": "Move Resource", + "description": "This method performs the resource move." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/subscriptions/resourceGroups/validateMoveResources/action", + "display": { + "provider": "Azure Data Box", + "resource": "Move Resource", + "operation": "Validate Move Resource Request", + "description": "This method validates whether resource move is allowed or not." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/availableSkus/action", + "display": { + "provider": "Azure Data Box", + "resource": "Available Skus", + "operation": "Availabe Skus", + "description": "This method returns the list of available skus." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/regionConfiguration/action", + "display": { + "provider": "Azure Data Box", + "resource": "Region Configuration", + "operation": "Region Configuration", + "description": "This method returns the configurations for the region." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/availableSkus/read", + "display": { + "provider": "Azure Data Box", + "resource": "Available Skus", + "operation": "List Available Skus", + "description": "List or get the Available Skus" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/register/action", + "display": { + "provider": "Azure Data Box", + "resource": "Register Microsoft.Databox", + "operation": "Register Microsoft.Databox", + "description": "Register Provider Microsoft.Databox" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/unregister/action", + "display": { + "provider": "Azure Data Box", + "resource": "Register Microsoft.Databox", + "operation": "Un-Register Microsoft.Databox", + "description": "Un-Register Provider Microsoft.Databox" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/operations/read", + "display": { + "provider": "Azure Data Box", + "resource": "Operations", + "operation": "List Operations", + "description": "List or get the Operations" + }, + "properties": {}, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json new file mode 100644 index 000000000000..fe90d5aba5cb --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-04-01", + "regionConfigurationRequest": { + "scheduleAvailabilityRequest": { + "storageLocation": "westus", + "skuName": "DataBox" + } + } + }, + "responses": { + "200": { + "body": { + "scheduleAvailabilityResponse": { + "availableDates": [ + "2019-07-11T00:00:00+00:00", + "2019-07-12T00:00:00+00:00", + "2019-07-13T00:00:00+00:00", + "2019-07-14T00:00:00+00:00", + "2019-07-15T00:00:00+00:00", + "2019-07-16T00:00:00+00:00", + "2019-07-17T00:00:00+00:00", + "2019-07-18T00:00:00+00:00", + "2019-07-19T00:00:00+00:00", + "2019-07-20T00:00:00+00:00", + "2019-07-21T00:00:00+00:00", + "2019-07-22T00:00:00+00:00", + "2019-07-23T00:00:00+00:00", + "2019-07-24T00:00:00+00:00", + "2019-07-25T00:00:00+00:00", + "2019-07-26T00:00:00+00:00", + "2019-07-27T00:00:00+00:00", + "2019-07-28T00:00:00+00:00", + "2019-07-29T00:00:00+00:00", + "2019-07-30T00:00:00+00:00", + "2019-07-31T00:00:00+00:00" + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json new file mode 100644 index 000000000000..a1df996e1da1 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg4981", + "location": "westus", + "api-version": "2020-04-01", + "regionConfigurationRequest": { + "scheduleAvailabilityRequest": { + "storageLocation": "westus", + "skuName": "DataBox" + } + } + }, + "responses": { + "200": { + "body": { + "scheduleAvailabilityResponse": { + "availableDates": [ + "2019-07-11T00:00:00+00:00", + "2019-07-12T00:00:00+00:00", + "2019-07-13T00:00:00+00:00", + "2019-07-14T00:00:00+00:00", + "2019-07-15T00:00:00+00:00", + "2019-07-16T00:00:00+00:00", + "2019-07-17T00:00:00+00:00", + "2019-07-18T00:00:00+00:00", + "2019-07-19T00:00:00+00:00", + "2019-07-20T00:00:00+00:00", + "2019-07-21T00:00:00+00:00", + "2019-07-22T00:00:00+00:00", + "2019-07-23T00:00:00+00:00", + "2019-07-24T00:00:00+00:00", + "2019-07-25T00:00:00+00:00", + "2019-07-26T00:00:00+00:00", + "2019-07-27T00:00:00+00:00", + "2019-07-28T00:00:00+00:00", + "2019-07-29T00:00:00+00:00", + "2019-07-30T00:00:00+00:00", + "2019-07-31T00:00:00+00:00" + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json new file mode 100644 index 000000000000..76f2fa59a0bc --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "cfda3c52-b129-4568-aba7-e743edf747c2" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "351" + ], + "validateAddress": { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress" + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json new file mode 100644 index 000000000000..820e8c21cdd4 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "129a0589-5017-4f35-a66c-8da38e04aae1" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1675" + ], + "validationRequest": { + "validationCategory": "JobCreationValidation", + "individualRequestDetails": [ + { + "validationType": "ValidateDataTransferDetails", + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "deviceType": "DataBox", + "transferType": "ImportToAzure" + }, + { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox", + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + { + "validationType": "ValidateSubscriptionIsAllowedToCreateJob" + }, + { + "validationType": "ValidateSkuAvailability", + "deviceType": "DataBox", + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + }, + { + "validationType": "ValidateCreateOrderLimit", + "deviceType": "DataBox" + }, + { + "validationType": "ValidatePreferences", + "preference": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "deviceType": "DataBox" + } + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "AllValidToProceed", + "individualResponseDetails": [ + { + "status": "Valid", + "validationType": "ValidateDataTransferDetails", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSubscriptionIsAllowedToCreateJob", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSkuAvailability", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateCreateOrderLimit", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidatePreferences", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + } + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json new file mode 100644 index 000000000000..5a551216c1e0 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg6861", + "location": "westus", + "api-version": "2020-04-01", + "x-ms-client-request-id": [ + "85f045bb-7659-4a2f-bcf5-96723954afdf" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1675" + ], + "validationRequest": { + "validationCategory": "JobCreationValidation", + "individualRequestDetails": [ + { + "validationType": "ValidateDataTransferDetails", + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "deviceType": "DataBox", + "transferType": "ImportToAzure" + }, + { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox", + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + { + "validationType": "ValidateSubscriptionIsAllowedToCreateJob" + }, + { + "validationType": "ValidateSkuAvailability", + "deviceType": "DataBox", + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + }, + { + "validationType": "ValidateCreateOrderLimit", + "deviceType": "DataBox" + }, + { + "validationType": "ValidatePreferences", + "preference": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "deviceType": "DataBox" + } + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "AllValidToProceed", + "individualResponseDetails": [ + { + "status": "Valid", + "validationType": "ValidateDataTransferDetails", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSubscriptionIsAllowedToCreateJob", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSkuAvailability", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateCreateOrderLimit", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidatePreferences", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + } + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/readme.azureresourceschema.md b/specification/databox/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d96954178ec5 --- /dev/null +++ b/specification/databox/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-databox-2020-04-01 + - tag: schema-databox-2019-09-01 + - tag: schema-databox-2018-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-databox-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databox-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBox/stable/2020-04-01/databox.json + +``` + +### Tag: schema-databox-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databox-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBox/stable/2019-09-01/databox.json + +``` + +### Tag: schema-databox-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databox-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBox/stable/2018-01-01/databox.json + +``` diff --git a/specification/databox/resource-manager/readme.go.md b/specification/databox/resource-manager/readme.go.md index f284d008936f..129eb9435784 100644 --- a/specification/databox/resource-manager/readme.go.md +++ b/specification/databox/resource-manager/readme.go.md @@ -15,6 +15,7 @@ go: batch: - tag: package-2018-01 - tag: package-2019-09 + - tag: package-2020-04 ``` ### Tag: package-2018-01 and go @@ -33,4 +34,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-01/$(namespace) ``` \ No newline at end of file diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md index cb252a0cfb96..043ce94162c9 100644 --- a/specification/databox/resource-manager/readme.md +++ b/specification/databox/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the DataBox API. ``` yaml openapi-type: arm -tag: package-2019-09 +tag: package-2020-04 +``` + +### Tag: package-2020-04 + +These settings apply only when `--tag=package-2020-04` is specified on the command line. + +``` yaml $(tag) == 'package-2020-04' +input-file: +- Microsoft.DataBox/stable/2020-04-01/databox.json ``` ### Tag: package-2019-09 @@ -60,6 +69,8 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python + after_scripts: + - python ./scripts/multiapi_init_gen.py azure-mgmt-databox - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-go @@ -68,6 +79,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_databox'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js databox/resource-manager ``` ## C# @@ -118,6 +132,7 @@ java: batch: - tag: package-2018-01 - tag: package-2019-09 + - tag: package-2020-04 ``` ### Tag: package-2018-01 and java @@ -146,6 +161,22 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-04 and java + +These settings apply only when `--tag=package-2020-04-java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databox.v2020_04-01 + output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2020_04_01 +regenerate-manager: true +generate-interface: true +``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -158,6 +189,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.DataBox/stable/2020-04-01/databox.json - $(this-folder)/Microsoft.DataBox/stable/2019-09-01/databox.json - $(this-folder)/Microsoft.DataBox/stable/2018-01-01/databox.json diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md index c58c21fa9f86..73bcaea2fe6b 100644 --- a/specification/databox/resource-manager/readme.python.md +++ b/specification/databox/resource-manager/readme.python.md @@ -15,14 +15,49 @@ python: title: DataBoxManagementClient description: The DataBox Client. clear-output-folder: true + no-namespace-folders: true +``` + +### Python multi-api + +Generate all API versions currently shipped for this package + +```yaml $(python) && $(multiapi) +batch: + - tag: package-2020-04 + - tag: package-2019-09 + - tag: package-2018-01 ``` -``` yaml $(python) && $(python-mode) == 'update' + +### Tag: package-2020-04 and python + +These settings apply only when `--tag=package-2020-04 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(python) python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox + namespace: azure.mgmt.databox.v2020_04_01 + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01 ``` -``` yaml $(python) && $(python-mode) == 'create' + +### Tag: package-2019-09 and python + +These settings apply only when `--tag=package-2019-09 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-09' && $(python) python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox + namespace: azure.mgmt.databox.v2019_09_01 + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01 ``` + +### Tag: package-2018-01 and python + +These settings apply only when `--tag=package-2018-01 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2018-01' && $(python) +python: + namespace: azure.mgmt.databox.v2018_01_01 + output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01 +``` \ No newline at end of file diff --git a/specification/databox/resource-manager/readme.ruby.md b/specification/databox/resource-manager/readme.ruby.md index 2720469a3277..e2df249ad0ee 100644 --- a/specification/databox/resource-manager/readme.ruby.md +++ b/specification/databox/resource-manager/readme.ruby.md @@ -14,6 +14,7 @@ azure-arm: true batch: - tag: package-2018-01 - tag: package-2019-09 + - tag: package-2020-04 ``` ### Tag: package-2018-01 and ruby @@ -35,3 +36,13 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-04' && $(ruby) +namespace: "Azure::Compute::Mgmt::V2020_04_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib +``` \ No newline at end of file diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json new file mode 100644 index 000000000000..67ad3b4498b1 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json @@ -0,0 +1,6694 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-01-preview", + "title": "DataBoxEdgeManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DataBoxEdge/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List all the supported operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of supported operations.", + "schema": { + "$ref": "#/definitions/OperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/OperationsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/availableSkus": { + "get": { + "tags": [ + "AvailableSkus" + ], + "summary": "List all the available Skus and information related to them.", + "operationId": "AvailableSkus_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists the available Skus and information related to them.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeSkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "AvailableSkus": { + "$ref": "./examples/AvailableSkusList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets all the Data Box Edge/Data Box Gateway devices in a subscription.", + "operationId": "Devices_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of Data Box Edge/Data Box Gateway devices.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetBySubscription": { + "$ref": "./examples/DataBoxEdgeDeviceGetBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets all the Data Box Edge/Data Box Gateway devices in a resource group.", + "operationId": "Devices_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of Data Box Edge/Data Box Gateway devices.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetByResourceGroup": { + "$ref": "./examples/DataBoxEdgeDeviceGetByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets the properties of the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Data Box Edge/Data Box Gateway device.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDeviceGetByName": { + "$ref": "./examples/DataBoxEdgeDeviceGetByName.json" + } + } + }, + "put": { + "tags": [ + "Devices" + ], + "description": "Creates or updates a Data Box Edge/Data Box Gateway resource.", + "operationId": "Devices_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "DataBoxEdgeDevice", + "in": "body", + "description": "The resource object.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the resource.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DataBoxEdgeDevicePut": { + "$ref": "./examples/DataBoxEdgeDevicePut.json" + } + } + }, + "delete": { + "tags": [ + "Devices" + ], + "description": "Deletes the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the resource." + }, + "202": { + "description": "Accepted the request to delete the resource." + }, + "204": { + "description": "The resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DataBoxEdgeDeviceDelete": { + "$ref": "./examples/DataBoxEdgeDeviceDelete.json" + } + } + }, + "patch": { + "tags": [ + "Devices" + ], + "description": "Modifies a Data Box Edge/Data Box Gateway resource.", + "operationId": "Devices_Update", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevicePatch" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the resource.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDevice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DataBoxEdgeDevicePatch": { + "$ref": "./examples/DataBoxEdgeDevicePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": { + "get": { + "tags": [ + "Alerts" + ], + "description": "Gets all the alerts for a Data Box Edge/Data Box Gateway device.", + "operationId": "Alerts_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of alerts.", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AlertGetAllInDevice": { + "$ref": "./examples/AlertGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": { + "get": { + "tags": [ + "Alerts" + ], + "summary": "Gets an alert by name.", + "operationId": "Alerts_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The alert name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The alert details.", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AlertGet": { + "$ref": "./examples/AlertGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": { + "get": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.", + "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of bandwidth schedules.", + "schema": { + "$ref": "#/definitions/BandwidthSchedulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BandwidthScheduleGetAllInDevice": { + "$ref": "./examples/BandwidthScheduleGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": { + "get": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Gets the properties of the specified bandwidth schedule.", + "operationId": "BandwidthSchedules_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The bandwidth schedule.", + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BandwidthScheduleGet": { + "$ref": "./examples/BandwidthScheduleGet.json" + } + } + }, + "put": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Creates or updates a bandwidth schedule.", + "operationId": "BandwidthSchedules_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name which needs to be added/updated.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The bandwidth schedule to be added or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the bandwidth schedule.", + "schema": { + "$ref": "#/definitions/BandwidthSchedule" + } + }, + "202": { + "description": "Accepted the request to create or update the bandwidth schedule." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BandwidthSchedulePut": { + "$ref": "./examples/BandwidthSchedulePut.json" + } + } + }, + "delete": { + "tags": [ + "BandwidthSchedules" + ], + "description": "Deletes the specified bandwidth schedule.", + "operationId": "BandwidthSchedules_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The bandwidth schedule name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the bandwidth schedule." + }, + "202": { + "description": "Accepted the request to delete the bandwidth schedule." + }, + "204": { + "description": "Successfully deleted the bandwidth schedule." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BandwidthScheduleDelete": { + "$ref": "./examples/BandwidthScheduleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Downloads the updates on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_DownloadUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully downloaded the updates on the device." + }, + "202": { + "description": "Accepted the request to download the updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "DownloadUpdatesPost": { + "$ref": "./examples/DownloadUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": { + "post": { + "tags": [ + "Devices" + ], + "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_GetExtendedInformation", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The additional information.", + "schema": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExtendedInfoPost": { + "$ref": "./examples/ExtendedInfoPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Installs the updates on the Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_InstallUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully installed updates on the device." + }, + "202": { + "description": "Accepted the request to install updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "InstallUpdatesPost": { + "$ref": "./examples/InstallUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.", + "operationId": "Jobs_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The job name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The job details.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "JobsGet": { + "$ref": "./examples/JobsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": { + "get": { + "tags": [ + "Devices" + ], + "description": "Gets the network settings of the specified Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_GetNetworkSettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The device network settings.", + "schema": { + "$ref": "#/definitions/NetworkSettings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkSettingsGet": { + "$ref": "./examples/NetworkSettingsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes": { + "get": { + "tags": [ + "Nodes" + ], + "description": "Gets all the nodes currently configured under this Data Box Edge device", + "operationId": "Nodes_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all nodes on the device.", + "schema": { + "$ref": "#/definitions/NodeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "NodesGetAllInDevice": { + "$ref": "./examples/NodeGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": { + "get": { + "tags": [ + "OperationsStatus" + ], + "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.", + "operationId": "OperationsStatus_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The job name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The job details.", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OperationsStatusGet": { + "$ref": "./examples/OperationsStatusGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Lists all the orders related to a Data Box Edge/Data Box Gateway device.", + "operationId": "Orders_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Lists all the orders for the Data Box Edge Device", + "schema": { + "$ref": "#/definitions/OrderList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OrderGetAllInDevice": { + "$ref": "./examples/OrderGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": { + "get": { + "tags": [ + "Orders" + ], + "summary": "Gets a specific order by name.", + "operationId": "Orders_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The order details of a device.", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "OrderGet": { + "$ref": "./examples/OrderGet.json" + } + } + }, + "put": { + "tags": [ + "Orders" + ], + "summary": "Creates or updates an order.", + "operationId": "Orders_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The order details of a device.", + "required": true, + "type": "string" + }, + { + "name": "order", + "in": "body", + "description": "The order to be created or updated.", + "required": true, + "schema": { + "$ref": "#/definitions/Order" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the order.", + "schema": { + "$ref": "#/definitions/Order" + } + }, + "202": { + "description": "Accepted the request to create or update the order." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "OrderPut": { + "$ref": "./examples/OrderPut.json" + } + } + }, + "delete": { + "tags": [ + "Orders" + ], + "summary": "Deletes the order related to the device.", + "operationId": "Orders_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the order." + }, + "202": { + "description": "Accepted the request to delete the order." + }, + "204": { + "description": "The order is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "OrderDelete": { + "$ref": "./examples/OrderDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": { + "get": { + "tags": [ + "Roles" + ], + "description": "Lists all the roles configured in a Data Box Edge/Data Box Gateway device.", + "operationId": "Roles_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of all the roles configured in the device.", + "schema": { + "$ref": "#/definitions/RoleList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "RoleGetAllInDevice": { + "$ref": "./examples/RoleGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": { + "get": { + "tags": [ + "Roles" + ], + "description": "Gets a specific role by name.", + "operationId": "Roles_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The role with the specified name in the given device.", + "schema": { + "$ref": "#/definitions/Role" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RoleGet": { + "$ref": "./examples/RoleGet.json" + } + } + }, + "put": { + "tags": [ + "Roles" + ], + "description": "Create or update a role.", + "operationId": "Roles_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "name": "role", + "in": "body", + "description": "The role properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the role.", + "schema": { + "$ref": "#/definitions/Role" + } + }, + "202": { + "description": "Accepted the request to create or update the role." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RolePut": { + "$ref": "./examples/RolePut.json" + } + } + }, + "delete": { + "tags": [ + "Roles" + ], + "description": "Deletes the role on the device.", + "operationId": "Roles_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The role name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the role." + }, + "202": { + "description": "Accepted the request to delete the role." + }, + "204": { + "description": "The role is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "RoleDelete": { + "$ref": "./examples/RoleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": { + "post": { + "tags": [ + "Devices" + ], + "summary": "Scans for updates on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_ScanForUpdates", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully scanned the device for updates." + }, + "202": { + "description": "Accepted the request to scan for updates on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ScanForUpdatesPost": { + "$ref": "./examples/ScanForUpdatesPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": { + "post": { + "tags": [ + "Devices" + ], + "description": "Updates the security settings on a Data Box Edge/Data Box Gateway device.", + "operationId": "Devices_CreateOrUpdateSecuritySettings", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "securitySettings", + "in": "body", + "description": "The security settings.", + "required": true, + "schema": { + "$ref": "#/definitions/SecuritySettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to update the security settings." + }, + "204": { + "description": "Updated the security settings." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CreateOrUpdateSecuritySettings": { + "$ref": "./examples/SecuritySettingsUpdatePost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": { + "get": { + "tags": [ + "Shares" + ], + "summary": "Lists all the shares in a Data Box Edge/Data Box Gateway device.", + "operationId": "Shares_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the shares on the device.", + "schema": { + "$ref": "#/definitions/ShareList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ShareGetAllInDevice": { + "$ref": "./examples/ShareGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": { + "get": { + "tags": [ + "Shares" + ], + "summary": "Gets a share by name.", + "operationId": "Shares_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The share details.", + "schema": { + "$ref": "#/definitions/Share" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ShareGet": { + "$ref": "./examples/ShareGet.json" + } + } + }, + "put": { + "tags": [ + "Shares" + ], + "summary": "Creates a new share or updates an existing share on the device.", + "operationId": "Shares_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "name": "share", + "in": "body", + "description": "The share properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Share" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the share.", + "schema": { + "$ref": "#/definitions/Share" + } + }, + "202": { + "description": "Accepted the request to create or update the share." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SharePut": { + "$ref": "./examples/SharePut.json" + } + } + }, + "delete": { + "tags": [ + "Shares" + ], + "description": "Deletes the share on the Data Box Edge/Data Box Gateway device.", + "operationId": "Shares_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the share." + }, + "202": { + "description": "Accepted the request to delete the share." + }, + "204": { + "description": "The share is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareDelete": { + "$ref": "./examples/ShareDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": { + "post": { + "tags": [ + "Shares" + ], + "summary": "Refreshes the share metadata with the data from the cloud.", + "operationId": "Shares_Refresh", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The share name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed the share on the device." + }, + "202": { + "description": "Accepted the request to refresh the share on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareRefreshPost": { + "$ref": "./examples/ShareRefreshPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": { + "get": { + "tags": [ + "StorageAccountCredentials" + ], + "summary": "Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of storage account credentials.", + "schema": { + "$ref": "#/definitions/StorageAccountCredentialList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SACGetAllInDevice": { + "$ref": "./examples/SACGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": { + "get": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Gets the properties of the specified storage account credential.", + "operationId": "StorageAccountCredentials_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The storage account credential properties.", + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SACGet": { + "$ref": "./examples/SACGet.json" + } + } + }, + "put": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Creates or updates the storage account credential.", + "operationId": "StorageAccountCredentials_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountCredential", + "in": "body", + "description": "The storage account credential.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the storage account credential.", + "schema": { + "$ref": "#/definitions/StorageAccountCredential" + } + }, + "202": { + "description": "Accepted the request to create or update the storage account credential." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SACPut": { + "$ref": "./examples/SACPut.json" + } + } + }, + "delete": { + "tags": [ + "StorageAccountCredentials" + ], + "description": "Deletes the storage account credential.", + "operationId": "StorageAccountCredentials_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The storage account credential name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the storage account credential." + }, + "202": { + "description": "Accepted the request to delete the storage account credential." + }, + "204": { + "description": "The storage account credential is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SACDelete": { + "$ref": "./examples/SACDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "summary": "Lists all the storage accounts in a Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccounts_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the StorageAccounts on the device.", + "schema": { + "$ref": "#/definitions/StorageAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "StorageAccountGetAllInDevice": { + "$ref": "./examples/StorageAccountGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": { + "get": { + "tags": [ + "StorageAccounts" + ], + "summary": "Gets a StorageAccount by name.", + "operationId": "StorageAccounts_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The storage account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The storage account details.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageAccountGet": { + "$ref": "./examples/StorageAccountGet.json" + } + } + }, + "put": { + "tags": [ + "StorageAccounts" + ], + "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.", + "operationId": "StorageAccounts_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The StorageAccount name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccount", + "in": "body", + "description": "The StorageAccount properties.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the StorageAccount.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "202": { + "description": "Accepted the request to create or update the StorageAccount." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StorageAccountPut": { + "$ref": "./examples/StorageAccountPut.json" + } + } + }, + "delete": { + "tags": [ + "StorageAccounts" + ], + "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.", + "operationId": "StorageAccounts_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The StorageAccount name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to delete the StorageAccount." + }, + "204": { + "description": "The StorageAccount is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "StorageAccountDelete": { + "$ref": "./examples/StorageAccountDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": { + "get": { + "tags": [ + "Containers" + ], + "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.", + "operationId": "Containers_ListByStorageAccount", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The storage Account name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The collection of all the containers on the device.", + "schema": { + "$ref": "#/definitions/ContainerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ContainerListAllInDevice": { + "$ref": "./examples/ContainerListAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": { + "get": { + "tags": [ + "Containers" + ], + "summary": "Gets a container by name.", + "operationId": "Containers_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The container details.", + "schema": { + "$ref": "#/definitions/Container" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ContainerGet": { + "$ref": "./examples/ContainerGet.json" + } + } + }, + "put": { + "tags": [ + "Containers" + ], + "summary": "Creates a new container or updates an existing container on the device.", + "operationId": "Containers_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "name": "container", + "in": "body", + "description": "The container properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the container.", + "schema": { + "$ref": "#/definitions/Container" + } + }, + "202": { + "description": "Accepted the request to create or update the container." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerPut": { + "$ref": "./examples/ContainerPut.json" + } + } + }, + "delete": { + "tags": [ + "Containers" + ], + "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.", + "operationId": "Containers_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted the request to delete the container." + }, + "204": { + "description": "The container is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerDelete": { + "$ref": "./examples/ContainerDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": { + "post": { + "tags": [ + "Containers" + ], + "summary": "Refreshes the container metadata with the data from the cloud.", + "operationId": "Containers_Refresh", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "storageAccountName", + "in": "path", + "description": "The Storage Account Name", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "The container name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully refreshed the container on the device." + }, + "202": { + "description": "Accepted the request to refresh the container on the device." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerRefresh": { + "$ref": "./examples/ContainerRefresh.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Lists all the triggers configured in the device.", + "operationId": "Triggers_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List all the triggers configured in the device", + "schema": { + "$ref": "#/definitions/TriggerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "TriggerGetAllInDevice": { + "$ref": "./examples/TriggerGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": { + "get": { + "tags": [ + "Triggers" + ], + "description": "Get a specific trigger by name.", + "operationId": "Triggers_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The trigger.", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "TriggerGet": { + "$ref": "./examples/TriggerGet.json" + } + } + }, + "put": { + "tags": [ + "Triggers" + ], + "description": "Creates or updates a trigger.", + "operationId": "Triggers_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "Creates or updates a trigger", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "name": "trigger", + "in": "body", + "description": "The trigger.", + "required": true, + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the trigger.", + "schema": { + "$ref": "#/definitions/Trigger" + } + }, + "202": { + "description": "Accepted the request to create or update the trigger." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerPut": { + "$ref": "./examples/TriggerPut.json" + } + } + }, + "delete": { + "tags": [ + "Triggers" + ], + "description": "Deletes the trigger on the gateway device.", + "operationId": "Triggers_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The trigger name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the trigger." + }, + "202": { + "description": "Accepted the request to delete the trigger." + }, + "204": { + "description": "The trigger is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "TriggerDelete": { + "$ref": "./examples/TriggerDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": { + "get": { + "tags": [ + "Devices" + ], + "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.", + "operationId": "Devices_GetUpdateSummary", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The update summary.", + "schema": { + "$ref": "#/definitions/UpdateSummary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateSummaryGet": { + "$ref": "./examples/UpdateSummaryGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": { + "post": { + "tags": [ + "Devices" + ], + "description": "Uploads registration certificate for the device.", + "operationId": "Devices_UploadCertificate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The upload certificate request.", + "required": true, + "schema": { + "$ref": "#/definitions/UploadCertificateRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully uploaded the registration certificate.", + "schema": { + "$ref": "#/definitions/UploadCertificateResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UploadCertificatePost": { + "$ref": "./examples/UploadCertificatePost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": { + "get": { + "tags": [ + "Users" + ], + "description": "Gets all the users registered on a Data Box Edge/Data Box Gateway device.", + "operationId": "Users_ListByDataBoxEdgeDevice", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='UserType eq ' to filter on user type property", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The collection of all users on the device.", + "schema": { + "$ref": "#/definitions/UserList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "UserGetAllInDevice": { + "$ref": "./examples/UserGetAllInDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": { + "get": { + "tags": [ + "Users" + ], + "description": "Gets the properties of the specified user.", + "operationId": "Users_Get", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The user details.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UserGet": { + "$ref": "./examples/UserGet.json" + } + } + }, + "put": { + "tags": [ + "Users" + ], + "description": "Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "name": "user", + "in": "body", + "description": "The user details.", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated the user.", + "schema": { + "$ref": "#/definitions/User" + } + }, + "202": { + "description": "Accepted the request to create or update the user." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UserPut": { + "$ref": "./examples/UserPut.json" + } + } + }, + "delete": { + "tags": [ + "Users" + ], + "description": "Deletes the user on a databox edge/gateway device.", + "operationId": "Users_Delete", + "parameters": [ + { + "name": "deviceName", + "in": "path", + "description": "The device name.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The user name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the user." + }, + "202": { + "description": "Accepted the request to delete the user." + }, + "204": { + "description": "The user is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "UserDelete": { + "$ref": "./examples/UserDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/skus": { + "get": { + "tags": [ + "Skus" + ], + "summary": "List all the available Skus in the region and information related to them", + "operationId": "Skus_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Specify $filter='location eq ' to filter on location.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Lists the available Skus and information related to them.", + "schema": { + "$ref": "#/definitions/SkuInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListSkus": { + "$ref": "./examples/ListSkus.json" + } + } + } + } + }, + "definitions": { + "Address": { + "description": "The shipping address of the customer.", + "required": [ + "addressLine1", + "postalCode", + "city", + "state", + "country" + ], + "type": "object", + "properties": { + "addressLine1": { + "description": "The address line1.", + "type": "string" + }, + "addressLine2": { + "description": "The address line2.", + "type": "string" + }, + "addressLine3": { + "description": "The address line3.", + "type": "string" + }, + "postalCode": { + "description": "The postal code.", + "type": "string" + }, + "city": { + "description": "The city name.", + "type": "string" + }, + "state": { + "description": "The state name.", + "type": "string" + }, + "country": { + "description": "The country name.", + "type": "string" + } + } + }, + "Alert": { + "description": "Alert on the data box edge/gateway device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AlertProperties", + "description": "Properties of alert.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "AlertErrorDetails": { + "description": "Error details for the alert.", + "type": "object", + "properties": { + "errorCode": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error Message.", + "type": "string", + "readOnly": true + }, + "occurrences": { + "format": "int32", + "description": "Number of occurrences.", + "type": "integer", + "readOnly": true + } + } + }, + "AlertList": { + "description": "Collection of alerts.", + "type": "object", + "properties": { + "value": { + "description": "The value.", + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "AlertProperties": { + "description": "Properties of alert.", + "type": "object", + "properties": { + "title": { + "description": "Alert title.", + "type": "string", + "readOnly": true + }, + "alertType": { + "description": "Alert type.", + "type": "string", + "readOnly": true + }, + "appearedAtDateTime": { + "format": "date-time", + "description": "UTC time when the alert appeared.", + "type": "string", + "readOnly": true + }, + "recommendation": { + "description": "Alert recommendation.", + "type": "string", + "readOnly": true + }, + "severity": { + "description": "Severity of the alert.", + "enum": [ + "Informational", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AlertSeverity", + "modelAsString": true + } + }, + "errorDetails": { + "$ref": "#/definitions/AlertErrorDetails", + "description": "Error details of the alert.", + "readOnly": true + }, + "detailedInformation": { + "description": "Alert details.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "ARMBaseModel": { + "description": "Represents the base class for all object models.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "AsymmetricEncryptedSecret": { + "description": "Represent the secrets intended for encryption with asymmetric key pair.", + "required": [ + "value", + "encryptionAlgorithm" + ], + "type": "object", + "properties": { + "value": { + "description": "The value of the secret.", + "type": "string" + }, + "encryptionCertThumbprint": { + "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.", + "type": "string" + }, + "encryptionAlgorithm": { + "description": "The algorithm used to encrypt \"Value\".", + "enum": [ + "None", + "AES256", + "RSAES_PKCS1_v_1_5" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAlgorithm", + "modelAsString": true + } + } + } + }, + "Authentication": { + "description": "Authentication mechanism for IoT devices.", + "type": "object", + "properties": { + "symmetricKey": { + "$ref": "#/definitions/SymmetricKey", + "description": "Symmetric key for authentication." + } + } + }, + "AzureContainerInfo": { + "description": "Azure container mapping of the endpoint.", + "required": [ + "storageAccountCredentialId", + "containerName", + "dataFormat" + ], + "type": "object", + "properties": { + "storageAccountCredentialId": { + "description": "ID of the storage account credential used to access storage.", + "type": "string" + }, + "containerName": { + "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).", + "type": "string" + }, + "dataFormat": { + "description": "Storage format used for the file represented by the share.", + "enum": [ + "BlockBlob", + "PageBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureContainerDataFormat", + "modelAsString": true + } + } + } + }, + "BandwidthSchedule": { + "description": "The bandwidth schedule details.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BandwidthScheduleProperties", + "description": "The properties of the bandwidth schedule.", + "x-ms-client-flatten": true + } + } + }, + "BandwidthScheduleProperties": { + "description": "The properties of the bandwidth schedule.", + "required": [ + "start", + "stop", + "rateInMbps", + "days" + ], + "type": "object", + "properties": { + "start": { + "description": "The start time of the schedule in UTC.", + "type": "string" + }, + "stop": { + "description": "The stop time of the schedule in UTC.", + "type": "string" + }, + "rateInMbps": { + "format": "int32", + "description": "The bandwidth rate in Mbps.", + "type": "integer" + }, + "days": { + "description": "The days of the week when this schedule is applicable.", + "type": "array", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + } + } + } + }, + "BandwidthSchedulesList": { + "description": "The collection of bandwidth schedules.", + "type": "object", + "properties": { + "value": { + "description": "The list of bandwidth schedules.", + "type": "array", + "items": { + "$ref": "#/definitions/BandwidthSchedule" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ClientAccessRight": { + "description": "The mapping between a particular client IP and the type of access client has on the NFS share.", + "required": [ + "client", + "accessPermission" + ], + "type": "object", + "properties": { + "client": { + "description": "IP of the client.", + "type": "string" + }, + "accessPermission": { + "description": "Type of access to be allowed for the client.", + "enum": [ + "NoAccess", + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientPermissionType", + "modelAsString": true + } + } + } + }, + "CloudError": { + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "The error details." + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "An error response from the service.", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "x-ms-external": true + }, + "ContactDetails": { + "description": "Contains all the contact details of the customer.", + "required": [ + "contactPerson", + "companyName", + "phone", + "emailList" + ], + "type": "object", + "properties": { + "contactPerson": { + "description": "The contact person name.", + "type": "string" + }, + "companyName": { + "description": "The name of the company.", + "type": "string" + }, + "phone": { + "description": "The phone number.", + "type": "string" + }, + "emailList": { + "description": "The email list.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Container": { + "description": "Represents a container on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ContainerProperties", + "description": "The container properties.", + "x-ms-client-flatten": true + } + } + }, + "ContainerList": { + "description": "Collection of all the containers on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of containers.", + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ContainerProperties": { + "description": "The container properties.", + "required": [ + "dataFormat" + ], + "type": "object", + "properties": { + "containerStatus": { + "description": "Current status of the container.", + "enum": [ + "OK", + "Offline", + "Unknown", + "Updating", + "NeedsAttention" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerStatus", + "modelAsString": true + } + }, + "dataFormat": { + "description": "DataFormat for Container", + "enum": [ + "BlockBlob", + "PageBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureContainerDataFormat", + "modelAsString": true + } + }, + "refreshDetails": { + "$ref": "#/definitions/RefreshDetails", + "description": "Details of the refresh job on this container.", + "readOnly": true + }, + "createdDateTime": { + "format": "date-time", + "description": "The UTC time when container got created.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevice": { + "description": "The Data Box Edge/Gateway device.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "location": { + "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU type." + }, + "etag": { + "description": "The etag for the devices.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/DataBoxEdgeDeviceProperties", + "description": "The properties of the Data Box Edge/Gateway device.", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceExtendedInfo": { + "description": "The extended Info of the Data Box Edge/Gateway device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties", + "description": "The extended info properties.", + "x-ms-client-flatten": true + } + } + }, + "DataBoxEdgeDeviceExtendedInfoProperties": { + "description": "The properties of the Data Box Edge/Gateway device extended info.", + "type": "object", + "properties": { + "encryptionKeyThumbprint": { + "description": "The digital signature of encrypted certificate.", + "type": "string" + }, + "encryptionKey": { + "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.", + "type": "string" + }, + "resourceKey": { + "description": "The Resource ID of the Resource.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDeviceList": { + "description": "The collection of Data Box Edge/Gateway devices.", + "type": "object", + "properties": { + "value": { + "description": "The list of Data Box Edge/Gateway devices.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxEdgeDevice" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "DataBoxEdgeDevicePatch": { + "description": "The Data Box Edge/Gateway device patch.", + "type": "object", + "properties": { + "tags": { + "description": "The tags attached to the Data Box Edge/Gateway resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "DataBoxEdgeDeviceProperties": { + "description": "The properties of the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "dataBoxEdgeDeviceStatus": { + "description": "The status of the Data Box Edge/Gateway device.", + "enum": [ + "ReadyToSetup", + "Online", + "Offline", + "NeedsAttention", + "Disconnected", + "PartiallyDisconnected", + "Maintenance" + ], + "type": "string", + "x-ms-enum": { + "name": "DataBoxEdgeDeviceStatus", + "modelAsString": true + } + }, + "serialNumber": { + "description": "The Serial Number of Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The Description of the Data Box Edge/Gateway device.", + "type": "string" + }, + "modelDescription": { + "description": "The description of the Data Box Edge/Gateway device model.", + "type": "string" + }, + "deviceType": { + "description": "The type of the Data Box Edge/Gateway device.", + "enum": [ + "DataBoxEdgeDevice" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeviceType", + "modelAsString": true + } + }, + "friendlyName": { + "description": "The Data Box Edge/Gateway device name.", + "type": "string" + }, + "culture": { + "description": "The Data Box Edge/Gateway device culture.", + "type": "string", + "readOnly": true + }, + "deviceModel": { + "description": "The Data Box Edge/Gateway device model.", + "type": "string", + "readOnly": true + }, + "deviceSoftwareVersion": { + "description": "The Data Box Edge/Gateway device software version.", + "type": "string", + "readOnly": true + }, + "deviceLocalCapacity": { + "format": "int64", + "description": "The Data Box Edge/Gateway device local capacity in MB.", + "type": "integer", + "readOnly": true + }, + "timeZone": { + "description": "The Data Box Edge/Gateway device timezone.", + "type": "string", + "readOnly": true + }, + "deviceHcsVersion": { + "description": "The device software version number of the device (eg: 1.2.18105.6).", + "type": "string", + "readOnly": true + }, + "configuredRoleTypes": { + "description": "Type of compute roles configured.", + "type": "array", + "items": { + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + }, + "readOnly": true + }, + "nodeCount": { + "format": "int32", + "description": "The number of nodes in the cluster.", + "type": "integer", + "readOnly": true + } + } + }, + "DataBoxEdgeSku": { + "description": "The Sku information.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Sku name.", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Large", + "TCA_Small", + "GPU" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "kind": { + "description": "The Sku kind.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The Sku tier.", + "enum": [ + "Standard" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + }, + "size": { + "description": "The Sku kind.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The Sku family.", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "Availability of the Sku for the region.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "apiVersions": { + "description": "The API versions in which Sku is available.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "Availability of the Sku for the location/zone/site.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "readOnly": true + }, + "costs": { + "description": "The pricing info of the Sku.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "restrictions": { + "description": "Restriction info of the SKU.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuRestriction" + }, + "readOnly": true + }, + "signupOption": { + "description": "Can the SKU be signed up..", + "enum": [ + "None", + "Available" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuSignupOption", + "modelAsString": true + } + }, + "version": { + "description": "Sku version.", + "enum": [ + "Stable", + "Preview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuVersion", + "modelAsString": true + } + }, + "availability": { + "description": "Is SKU available", + "enum": [ + "Available", + "Unavailable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuAvailability", + "modelAsString": true + } + } + } + }, + "DataBoxEdgeSkuList": { + "description": "List of SKU Information objects.", + "type": "object", + "properties": { + "value": { + "description": "List of ResourceType Sku", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxEdgeSku" + }, + "readOnly": true + }, + "nextLink": { + "description": "Links to the next set of results", + "type": "string", + "readOnly": true + } + } + }, + "FileEventTrigger": { + "description": "Trigger details.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Trigger" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FileTriggerProperties", + "description": "File trigger properties.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "FileEvent" + }, + "FileSourceInfo": { + "description": "File source details.", + "required": [ + "shareId" + ], + "type": "object", + "properties": { + "shareId": { + "description": "File share ID.", + "type": "string" + } + } + }, + "FileTriggerProperties": { + "description": "File trigger properties.", + "required": [ + "sourceInfo", + "sinkInfo" + ], + "type": "object", + "properties": { + "sourceInfo": { + "$ref": "#/definitions/FileSourceInfo", + "description": "File event source details." + }, + "sinkInfo": { + "$ref": "#/definitions/RoleSinkInfo", + "description": "Role sink info." + }, + "customContextTag": { + "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.", + "type": "string" + } + } + }, + "ImageRepositoryCredential": { + "description": "Image repository credential.", + "required": [ + "imageRepositoryUrl", + "userName" + ], + "type": "object", + "properties": { + "imageRepositoryUrl": { + "description": "Image repository url (e.g.: mcr.microsoft.com).", + "type": "string" + }, + "userName": { + "description": "Repository user name.", + "type": "string" + }, + "password": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Repository user password." + } + } + }, + "IoTDeviceInfo": { + "description": "Metadata of IoT device/IoT Edge device to be configured.", + "required": [ + "deviceId", + "ioTHostHub" + ], + "type": "object", + "properties": { + "deviceId": { + "description": "ID of the IoT device/edge device.", + "type": "string" + }, + "ioTHostHub": { + "description": "Host name for the IoT hub associated to the device.", + "type": "string" + }, + "ioTHostHubId": { + "description": "Id for the IoT hub associated to the device.", + "type": "string" + }, + "authentication": { + "$ref": "#/definitions/Authentication", + "description": "Encrypted IoT device/IoT edge device connection string." + } + } + }, + "IoTEdgeAgentInfo": { + "description": "IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified.", + "required": [ + "imageName", + "tag" + ], + "type": "object", + "properties": { + "imageName": { + "description": "Name of the IoT edge agent image.", + "type": "string" + }, + "tag": { + "description": "Image Tag.", + "type": "string" + }, + "imageRepository": { + "$ref": "#/definitions/ImageRepositoryCredential", + "description": "Image repository details." + } + } + }, + "IoTRole": { + "description": "Compute role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Role" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTRoleProperties", + "description": "Properties specific to IoT role.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "IOT" + }, + "IoTRoleProperties": { + "description": "IoT role properties.", + "required": [ + "hostPlatform", + "ioTDeviceDetails", + "ioTEdgeDeviceDetails", + "roleStatus" + ], + "type": "object", + "properties": { + "hostPlatform": { + "description": "Host OS supported by the IoT role.", + "enum": [ + "Windows", + "Linux" + ], + "type": "string", + "x-ms-enum": { + "name": "PlatformType", + "modelAsString": true + } + }, + "ioTDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT device metadata to which data box edge device needs to be connected." + }, + "ioTEdgeDeviceDetails": { + "$ref": "#/definitions/IoTDeviceInfo", + "description": "IoT edge device to which the IoT role needs to be configured." + }, + "shareMappings": { + "description": "Mount points of shares in role(s).", + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + } + }, + "ioTEdgeAgentInfo": { + "$ref": "#/definitions/IoTEdgeAgentInfo", + "description": "Iot edge agent details to download the agent and bootstrap iot runtime." + }, + "hostPlatformType": { + "description": "Platform where the Iot runtime is hosted.", + "enum": [ + "KubernetesCluster", + "LinuxVM" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostPlatformType", + "modelAsString": true + } + }, + "roleStatus": { + "description": "Role status.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleStatus", + "modelAsString": true + } + } + } + }, + "Ipv4Config": { + "description": "Details related to the IPv4 address configuration.", + "type": "object", + "properties": { + "ipAddress": { + "description": "The IPv4 address of the network adapter.", + "type": "string", + "readOnly": true + }, + "subnet": { + "description": "The IPv4 subnet of the network adapter.", + "type": "string", + "readOnly": true + }, + "gateway": { + "description": "The IPv4 gateway of the network adapter.", + "type": "string", + "readOnly": true + } + } + }, + "Ipv6Config": { + "description": "Details related to the IPv6 address configuration.", + "type": "object", + "properties": { + "ipAddress": { + "description": "The IPv6 address of the network adapter.", + "type": "string", + "readOnly": true + }, + "prefixLength": { + "format": "int32", + "description": "The IPv6 prefix of the network adapter.", + "type": "integer", + "readOnly": true + }, + "gateway": { + "description": "The IPv6 gateway of the network adapter.", + "type": "string", + "readOnly": true + } + } + }, + "Job": { + "description": "A device job.", + "type": "object", + "properties": { + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The current status of the job.", + "enum": [ + "Invalid", + "Running", + "Succeeded", + "Failed", + "Canceled", + "Paused", + "Scheduled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "The UTC date and time at which the job started.", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The UTC date and time at which the job completed.", + "type": "string", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "The percentage of the job that is complete.", + "type": "integer", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/JobErrorDetails", + "description": "The error details.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The properties of the job.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "JobErrorDetails": { + "description": "The job error information containing the list of job errors.", + "type": "object", + "properties": { + "errorDetails": { + "description": "The error details.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorItem" + }, + "readOnly": true + }, + "code": { + "description": "The code intended for programmatic access.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The message that describes the error in detail.", + "type": "string", + "readOnly": true + } + } + }, + "JobErrorItem": { + "description": "The job error items.", + "type": "object", + "properties": { + "recommendations": { + "description": "The recommended actions.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "code": { + "description": "The code intended for programmatic access.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The message that describes the error in detail.", + "type": "string", + "readOnly": true + } + } + }, + "JobProperties": { + "description": "The properties for the job.", + "type": "object", + "properties": { + "jobType": { + "description": "The type of the job.", + "enum": [ + "Invalid", + "ScanForUpdates", + "DownloadUpdates", + "InstallUpdates", + "RefreshShare", + "RefreshContainer" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "currentStage": { + "description": "Current stage of the update operation.", + "enum": [ + "Unknown", + "Initial", + "ScanStarted", + "ScanComplete", + "ScanFailed", + "DownloadStarted", + "DownloadComplete", + "DownloadFailed", + "InstallStarted", + "InstallComplete", + "InstallFailed", + "RebootInitiated", + "Success", + "Failure", + "RescanStarted", + "RescanComplete", + "RescanFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UpdateOperationStage", + "modelAsString": true + } + }, + "downloadProgress": { + "$ref": "#/definitions/UpdateDownloadProgress", + "description": "The download progress.", + "readOnly": true + }, + "installProgress": { + "$ref": "#/definitions/UpdateInstallProgress", + "description": "The install progress.", + "readOnly": true + }, + "totalRefreshErrors": { + "format": "int32", + "description": "Total number of errors encountered during the refresh process.", + "type": "integer", + "readOnly": true + }, + "errorManifestFile": { + "description": "Local share/remote container relative path to the error manifest file of the refresh.", + "type": "string", + "readOnly": true + }, + "refreshedEntityId": { + "description": "ARM ID of the entity that was refreshed.", + "type": "string", + "readOnly": true + }, + "folder": { + "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (The path is empty if there are no subfolders.)", + "type": "string" + } + } + }, + "MetricDimension_V1": { + "description": "Metric Dimension v1.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metrics dimension.", + "type": "string" + }, + "displayName": { + "description": "Display name of the metrics dimension.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "To be exported to shoe box.", + "type": "boolean" + } + } + }, + "MetricSpecification_V1": { + "description": "Metric specification version 1.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Description of the metric to be displayed.", + "type": "string" + }, + "unit": { + "description": "Metric units.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true + } + }, + "aggregationType": { + "description": "Metric aggregation type.", + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + }, + "dimensions": { + "description": "Metric dimensions, other than default dimension which is resource.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension_V1" + } + }, + "fillGapWithZero": { + "description": "Set true to fill the gaps with zero.", + "type": "boolean" + }, + "category": { + "description": "Metric category.", + "enum": [ + "Capacity", + "Transaction" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricCategory", + "modelAsString": true + } + }, + "resourceIdDimensionNameOverride": { + "description": "Resource name override.", + "type": "string" + }, + "supportedTimeGrainTypes": { + "description": "Support granularity of metrics.", + "type": "array", + "items": { + "enum": [ + "PT1M", + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "PT1D" + ], + "type": "string", + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true + } + } + }, + "supportedAggregationTypes": { + "description": "Support metric aggregation type.", + "type": "array", + "items": { + "enum": [ + "NotSpecified", + "None", + "Average", + "Minimum", + "Maximum", + "Total", + "Count" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + } + } + } + }, + "MountPointMap": { + "description": "The share mount point.", + "required": [ + "shareId" + ], + "type": "object", + "properties": { + "shareId": { + "description": "ID of the share mounted to the role VM.", + "type": "string" + }, + "roleId": { + "description": "ID of the role to which share is mounted.", + "type": "string", + "readOnly": true + }, + "mountPoint": { + "description": "Mount point for the share.", + "type": "string", + "readOnly": true + }, + "mountType": { + "description": "Mounting type.", + "enum": [ + "Volume", + "HostPath" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MountType", + "modelAsString": true + } + }, + "roleType": { + "description": "Role type.", + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + } + } + }, + "NetworkAdapter": { + "description": "Represents the networkAdapter on a device.", + "type": "object", + "properties": { + "adapterId": { + "description": "Instance ID of network adapter.", + "type": "string", + "readOnly": true + }, + "adapterPosition": { + "$ref": "#/definitions/NetworkAdapterPosition", + "description": "Hardware position of network adapter.", + "readOnly": true + }, + "index": { + "format": "int32", + "description": "Logical index of the adapter.", + "type": "integer", + "readOnly": true + }, + "nodeId": { + "description": "Node ID of the network adapter.", + "type": "string", + "readOnly": true + }, + "networkAdapterName": { + "description": "Network adapter name.", + "type": "string", + "readOnly": true + }, + "label": { + "description": "Hardware label for the adapter.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "MAC address.", + "type": "string", + "readOnly": true + }, + "linkSpeed": { + "format": "int64", + "description": "Link speed.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "Value indicating whether this adapter is valid.", + "enum": [ + "Inactive", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NetworkAdapterStatus", + "modelAsString": true + } + }, + "rdmaStatus": { + "description": "Value indicating whether this adapter is RDMA capable.", + "enum": [ + "Incapable", + "Capable" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkAdapterRDMAStatus", + "modelAsString": true + } + }, + "dhcpStatus": { + "description": "Value indicating whether this adapter has DHCP enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "NetworkAdapterDHCPStatus", + "modelAsString": true + } + }, + "ipv4Configuration": { + "$ref": "#/definitions/Ipv4Config", + "description": "The IPv4 configuration of the network adapter.", + "readOnly": true + }, + "ipv6Configuration": { + "$ref": "#/definitions/Ipv6Config", + "description": "The IPv6 configuration of the network adapter.", + "readOnly": true + }, + "ipv6LinkLocalAddress": { + "description": "The IPv6 local address.", + "type": "string", + "readOnly": true + }, + "dnsServers": { + "description": "The list of DNS Servers of the device.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "NetworkAdapterPosition": { + "description": "The network adapter position.", + "type": "object", + "properties": { + "networkGroup": { + "description": "The network group.", + "enum": [ + "None", + "NonRDMA", + "RDMA" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NetworkGroup", + "modelAsString": true + } + }, + "port": { + "format": "int32", + "description": "The port.", + "type": "integer", + "readOnly": true + } + } + }, + "NetworkSettings": { + "description": "The network settings of a device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkSettingsProperties", + "description": "The properties of network settings of a device.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "NetworkSettingsProperties": { + "description": "The properties of network settings.", + "type": "object", + "properties": { + "networkAdapters": { + "description": "The network adapter list on the device.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkAdapter" + }, + "readOnly": true + } + } + }, + "Node": { + "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NodeProperties", + "description": "The properties of the node", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "NodeList": { + "description": "Collection of Nodes.", + "type": "object", + "properties": { + "value": { + "description": "The list of Nodes.", + "type": "array", + "items": { + "$ref": "#/definitions/Node" + }, + "readOnly": true + } + } + }, + "NodeProperties": { + "description": "This class represents the nodes in a highly available cluster", + "type": "object", + "properties": { + "nodeStatus": { + "description": "The current status of the individual node", + "enum": [ + "Unknown", + "Up", + "Down", + "Rebooting", + "ShuttingDown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true + } + }, + "nodeChassisSerialNumber": { + "description": "Serial number of the Chassis", + "type": "string", + "readOnly": true + }, + "nodeSerialNumber": { + "description": "Serial number of the individual node", + "type": "string", + "readOnly": true + }, + "nodeDisplayName": { + "description": "Display Name of the individual node", + "type": "string", + "readOnly": true + }, + "nodeFriendlySoftwareVersion": { + "description": "Friendly software version name that is currently installed on the node", + "type": "string", + "readOnly": true + }, + "nodeHcsVersion": { + "description": "HCS version that is currently installed on the node", + "type": "string", + "readOnly": true + }, + "nodeInstanceId": { + "description": "Guid instance id of the node", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "Operations.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Properties displayed for the operation." + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Operation properties.", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "description": "Operation display properties.", + "type": "object", + "properties": { + "provider": { + "description": "Provider name.", + "type": "string" + }, + "resource": { + "description": "The type of resource in which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation to be performed on the resource.", + "type": "string" + }, + "description": { + "description": "Description of the operation to be performed.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specification." + } + } + }, + "OperationsList": { + "description": "The list of operations used for the discovery of available provider operations.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "The value.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string" + } + } + }, + "Order": { + "description": "The order details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OrderProperties", + "description": "The order properties.", + "x-ms-client-flatten": true + } + } + }, + "OrderList": { + "description": "List of order entities.", + "type": "object", + "properties": { + "value": { + "description": "The list of orders.", + "type": "array", + "items": { + "$ref": "#/definitions/Order" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "OrderProperties": { + "description": "Order properties.", + "required": [ + "contactInformation", + "shippingAddress" + ], + "type": "object", + "properties": { + "contactInformation": { + "$ref": "#/definitions/ContactDetails", + "description": "The contact details." + }, + "shippingAddress": { + "$ref": "#/definitions/Address", + "description": "The shipping address." + }, + "currentStatus": { + "$ref": "#/definitions/OrderStatus", + "description": "Current status of the order." + }, + "orderHistory": { + "description": "List of status changes in the order.", + "type": "array", + "items": { + "$ref": "#/definitions/OrderStatus" + }, + "readOnly": true + }, + "serialNumber": { + "description": "Serial number of the device.", + "type": "string", + "readOnly": true + }, + "deliveryTrackingInfo": { + "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.", + "type": "array", + "items": { + "$ref": "#/definitions/TrackingInfo" + }, + "readOnly": true + }, + "returnTrackingInfo": { + "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.", + "type": "array", + "items": { + "$ref": "#/definitions/TrackingInfo" + }, + "readOnly": true + } + } + }, + "OrderStatus": { + "description": "Represents a single status change.", + "required": [ + "status" + ], + "type": "object", + "properties": { + "status": { + "description": "Status of the order as per the allowed status types.", + "enum": [ + "Untracked", + "AwaitingFulfilment", + "AwaitingPreparation", + "AwaitingShipment", + "Shipped", + "Arriving", + "Delivered", + "ReplacementRequested", + "LostDevice", + "Declined", + "ReturnInitiated", + "AwaitingReturnShipment", + "ShippedBack", + "CollectedAtMicrosoft" + ], + "type": "string", + "x-ms-enum": { + "name": "OrderState", + "modelAsString": true + } + }, + "updateDateTime": { + "format": "date-time", + "description": "Time of status update.", + "type": "string", + "readOnly": true + }, + "comments": { + "description": "Comments related to this status change.", + "type": "string" + }, + "additionalOrderDetails": { + "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PeriodicTimerEventTrigger": { + "description": "Trigger details.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Trigger" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeriodicTimerProperties", + "description": "Periodic timer trigger properties.", + "x-ms-client-flatten": true + }, + "id": { + "description": "The path ID that uniquely identifies the object.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The object name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The hierarchical type of the object.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "PeriodicTimerEvent" + }, + "PeriodicTimerProperties": { + "description": "Periodic timer trigger properties.", + "required": [ + "sourceInfo", + "sinkInfo" + ], + "type": "object", + "properties": { + "sourceInfo": { + "$ref": "#/definitions/PeriodicTimerSourceInfo", + "description": "Periodic timer details." + }, + "sinkInfo": { + "$ref": "#/definitions/RoleSinkInfo", + "description": "Role Sink information." + }, + "customContextTag": { + "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.", + "type": "string" + } + } + }, + "PeriodicTimerSourceInfo": { + "description": "Periodic timer event source.", + "required": [ + "startTime", + "schedule" + ], + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.", + "type": "string" + }, + "schedule": { + "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.", + "type": "string" + }, + "topic": { + "description": "Topic where periodic events are published to IoT device.", + "type": "string" + } + } + }, + "RawCertificateData": { + "description": "Raw Certificate Data.", + "required": [ + "certificate" + ], + "type": "object", + "properties": { + "authenticationType": { + "description": "The authentication type.", + "enum": [ + "Invalid", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "certificate": { + "description": "The base64 encoded certificate raw data.", + "type": "string" + } + } + }, + "RefreshDetails": { + "description": "Fields for tracking refresh job on the share or container.", + "type": "object", + "properties": { + "inProgressRefreshJobId": { + "description": "If a refresh job is currently in progress on this share or container, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.", + "type": "string" + }, + "lastCompletedRefreshJobTimeInUTC": { + "format": "date-time", + "description": "Indicates the completed time for the last refresh job on this particular share or container, if any.This could be a failed job or a successful job.", + "type": "string" + }, + "errorManifestFile": { + "description": "Indicates the relative path of the error xml for the last refresh job on this particular share or container, if any. This could be a failed job or a successful job.", + "type": "string" + }, + "lastJob": { + "description": "Indicates the id of the last refresh job on this particular share or container,if any. This could be a failed job or a successful job.", + "type": "string" + } + } + }, + "ResourceTypeSku": { + "description": "SkuInformation object", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Sku name", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Large", + "TCA_Small", + "GPU" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "kind": { + "description": "The Sku kind", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The Sku tier", + "enum": [ + "Standard" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + }, + "family": { + "description": "The Sku family", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "Availability of the SKU for the region", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "apiVersions": { + "description": "The API versions in which SKU is available", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "Availability of the SKU for the location/zone", + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "readOnly": true + }, + "costs": { + "description": "The pricing info of the Sku.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "restrictions": { + "description": "Restrictions of the SKU availability.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuRestriction" + }, + "readOnly": true + } + } + }, + "Role": { + "description": "Compute role.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Role type.", + "enum": [ + "IOT", + "ASA", + "Functions", + "Cognitive" + ], + "type": "string", + "x-ms-enum": { + "name": "RoleTypes", + "modelAsString": true + } + } + }, + "discriminator": "kind" + }, + "RoleList": { + "description": "Collection of all the roles on the Data Box Edge device.", + "type": "object", + "properties": { + "value": { + "description": "The Value.", + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "RoleSinkInfo": { + "description": "Compute role against which events will be raised.", + "required": [ + "roleId" + ], + "type": "object", + "properties": { + "roleId": { + "description": "Compute role ID.", + "type": "string" + } + } + }, + "SecuritySettings": { + "description": "The security settings of a device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecuritySettingsProperties", + "description": "Properties of the security settings.", + "x-ms-client-flatten": true + } + } + }, + "SecuritySettingsProperties": { + "description": "The properties of security settings.", + "required": [ + "deviceAdminPassword" + ], + "type": "object", + "properties": { + "deviceAdminPassword": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters." + } + } + }, + "ServiceSpecification": { + "description": "Service specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Metric specification as defined by shoebox.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification_V1" + } + } + } + }, + "Share": { + "description": "Represents a share on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ShareProperties", + "description": "The share properties.", + "x-ms-client-flatten": true + } + } + }, + "ShareAccessRight": { + "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.", + "required": [ + "shareId", + "accessType" + ], + "type": "object", + "properties": { + "shareId": { + "description": "The share ID.", + "type": "string" + }, + "accessType": { + "description": "Type of access to be allowed on the share for this user.", + "enum": [ + "Change", + "Read", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessType", + "modelAsString": true + } + } + } + }, + "ShareList": { + "description": "Collection of all the shares on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of shares.", + "type": "array", + "items": { + "$ref": "#/definitions/Share" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ShareProperties": { + "description": "The share properties.", + "required": [ + "shareStatus", + "monitoringStatus", + "accessProtocol" + ], + "type": "object", + "properties": { + "description": { + "description": "Description for the share.", + "type": "string" + }, + "shareStatus": { + "description": "Current status of the share.", + "enum": [ + "Offline", + "Unknown", + "OK", + "Updating", + "NeedsAttention" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareStatus", + "modelAsString": true + } + }, + "monitoringStatus": { + "description": "Current monitoring status of the share.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MonitoringStatus", + "modelAsString": true + } + }, + "azureContainerInfo": { + "$ref": "#/definitions/AzureContainerInfo", + "description": "Azure container mapping for the share." + }, + "accessProtocol": { + "description": "Access protocol to be used by the share.", + "enum": [ + "SMB", + "NFS" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessProtocol", + "modelAsString": true + } + }, + "userAccessRights": { + "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).", + "type": "array", + "items": { + "$ref": "#/definitions/UserAccessRight" + } + }, + "clientAccessRights": { + "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).", + "type": "array", + "items": { + "$ref": "#/definitions/ClientAccessRight" + } + }, + "refreshDetails": { + "$ref": "#/definitions/RefreshDetails", + "description": "Details of the refresh job on this share." + }, + "shareMappings": { + "description": "Share mount point to the role.", + "type": "array", + "items": { + "$ref": "#/definitions/MountPointMap" + }, + "readOnly": true + }, + "dataPolicy": { + "description": "Data policy of the share.", + "enum": [ + "Cloud", + "Local" + ], + "type": "string", + "x-ms-enum": { + "name": "DataPolicy", + "modelAsString": true + } + } + } + }, + "Sku": { + "description": "The SKU type.", + "type": "object", + "properties": { + "name": { + "description": "SKU name.", + "enum": [ + "Gateway", + "Edge", + "TEA_1Node", + "TEA_1Node_UPS", + "TEA_1Node_Heater", + "TEA_1Node_UPS_Heater", + "TEA_4Node_Heater", + "TEA_4Node_UPS_Heater", + "TMA", + "TDC", + "TCA_Large", + "TCA_Small", + "GPU" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The SKU tier. This is based on the SKU name.", + "enum": [ + "Standard" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + } + }, + "SKUCapability": { + "description": "The capabilities of the SKU", + "type": "object", + "properties": { + "name": { + "description": "The capability name", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The capability value", + "type": "string", + "readOnly": true + } + } + }, + "SkuCost": { + "description": "The metadata for retrieving price info.", + "type": "object", + "properties": { + "meterId": { + "description": "Used for querying price from commerce.", + "type": "string", + "readOnly": true + }, + "quantity": { + "format": "int64", + "description": "The cost quantity.", + "type": "integer", + "readOnly": true + }, + "extendedUnit": { + "description": "The extended unit.", + "type": "string", + "readOnly": true + } + } + }, + "SKUCost": { + "description": "The cost of the SKU", + "type": "object", + "properties": { + "meterId": { + "description": "The meter id", + "type": "string", + "readOnly": true + }, + "quantity": { + "format": "int32", + "description": "The quantity", + "type": "integer", + "readOnly": true + }, + "extendedUnit": { + "description": "The extended unit", + "type": "string", + "readOnly": true + } + } + }, + "SkuInformation": { + "description": "Sku information", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The sku name.", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The sku tier.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "The sku kind.", + "type": "string", + "readOnly": true + }, + "size": { + "description": "The sku size.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "The sku family.", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "The locations where Sku is available.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "The locations where Sku is available with zones and sites info", + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfo" + }, + "readOnly": true + }, + "requiredQuotaIds": { + "description": "The required quotaIds for the sku to be available.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredFeatures": { + "description": "The required features for the sku to be available.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "costs": { + "description": "The cost of the SKU", + "type": "array", + "items": { + "$ref": "#/definitions/SKUCost" + }, + "readOnly": true + }, + "capabilities": { + "description": "The capabilities of the SKU", + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "readOnly": true + } + } + }, + "SkuInformationList": { + "description": "List of SKU Information objects", + "type": "object", + "properties": { + "value": { + "description": "List of ResourceType Sku", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceTypeSku" + }, + "readOnly": true + }, + "nextLink": { + "description": "Links to the next set of results", + "type": "string", + "readOnly": true + } + } + }, + "SkuLocationInfo": { + "description": "The location info.", + "type": "object", + "properties": { + "location": { + "description": "The location.", + "type": "string", + "readOnly": true + }, + "zones": { + "description": "The zones.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sites": { + "description": "The sites.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "SkuRestriction": { + "description": "The restrictions because of which SKU cannot be used.", + "type": "object", + "properties": { + "type": { + "description": "The type of the restriction.", + "type": "string", + "readOnly": true + }, + "values": { + "description": "The locations where sku is restricted.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "reasonCode": { + "description": "The SKU restriction reason.", + "enum": [ + "NotAvailableForSubscription", + "QuotaId" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuRestrictionReasonCode", + "modelAsString": true + } + }, + "restrictionInfo": { + "$ref": "#/definitions/SkuRestrictionInfo", + "description": "Restriction of the SKU for the location/zone", + "readOnly": true + } + } + }, + "SkuRestrictionInfo": { + "description": "The restriction info with locations and zones.", + "type": "object", + "properties": { + "locations": { + "description": "The locations.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "zones": { + "description": "The zones.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "StorageAccount": { + "description": "Represents a Storage Account on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageAccountProperties", + "description": "The Storage Account properties.", + "x-ms-client-flatten": true + } + } + }, + "StorageAccountCredential": { + "description": "The storage account credential.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageAccountCredentialProperties", + "description": "The storage account credential properties.", + "x-ms-client-flatten": true + } + } + }, + "StorageAccountCredentialList": { + "description": "The collection of storage account credentials.", + "type": "object", + "properties": { + "value": { + "description": "The value.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountCredential" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountCredentialProperties": { + "description": "The storage account credential properties.", + "required": [ + "alias", + "sslStatus", + "accountType" + ], + "type": "object", + "properties": { + "alias": { + "description": "Alias for the storage account.", + "type": "string" + }, + "userName": { + "description": "Username for the storage account.", + "type": "string" + }, + "accountKey": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Encrypted storage key." + }, + "connectionString": { + "description": "Connection string for the storage account. Use this string if username and account key are not specified.", + "type": "string" + }, + "sslStatus": { + "description": "Signifies whether SSL needs to be enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SSLStatus", + "modelAsString": true + } + }, + "blobDomainName": { + "description": "Blob end point for private clouds.", + "type": "string" + }, + "accountType": { + "description": "Type of storage accessed on the storage account.", + "enum": [ + "GeneralPurposeStorage", + "BlobStorage" + ], + "type": "string", + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "storageAccountId": { + "description": "Id of the storage account.", + "type": "string" + } + } + }, + "StorageAccountList": { + "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.", + "type": "object", + "properties": { + "value": { + "description": "The list of storageAccounts.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountProperties": { + "description": "The storage account properties.", + "type": "object", + "properties": { + "description": { + "description": "Description for the storage Account.", + "type": "string" + }, + "storageAccountStatus": { + "description": "Current status of the storage account", + "enum": [ + "OK", + "Offline", + "Unknown", + "Updating", + "NeedsAttention" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountStatus", + "modelAsString": true + } + }, + "dataPolicy": { + "description": "Data policy of the storage Account.", + "enum": [ + "Cloud", + "Local" + ], + "type": "string", + "x-ms-enum": { + "name": "DataPolicy", + "modelAsString": true + } + }, + "storageAccountCredentialId": { + "description": "Storage Account Credential Id", + "type": "string" + }, + "blobEndpoint": { + "description": "BlobEndpoint of Storage Account", + "type": "string", + "readOnly": true + }, + "containerCount": { + "format": "int32", + "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.", + "type": "integer", + "readOnly": true + } + } + }, + "SymmetricKey": { + "description": "Symmetric key for authentication.", + "type": "object", + "properties": { + "connectionString": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "Connection string based on the symmetric key." + } + } + }, + "TrackingInfo": { + "description": "Tracking courier information.", + "type": "object", + "properties": { + "serialNumber": { + "description": "Serial number of the device being tracked.", + "type": "string" + }, + "carrierName": { + "description": "Name of the carrier used in the delivery.", + "type": "string" + }, + "trackingId": { + "description": "Tracking ID of the shipment.", + "type": "string" + }, + "trackingUrl": { + "description": "Tracking URL of the shipment.", + "type": "string" + } + } + }, + "Trigger": { + "description": "Trigger details.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "kind": { + "description": "Trigger Kind.", + "enum": [ + "FileEvent", + "PeriodicTimerEvent" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggerEventType", + "modelAsString": true + } + } + }, + "discriminator": "kind" + }, + "TriggerList": { + "description": "Collection of all trigger on the data box edge device.", + "type": "object", + "properties": { + "value": { + "description": "The list of triggers.", + "type": "array", + "items": { + "$ref": "#/definitions/Trigger" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "UpdateDownloadProgress": { + "description": "Details about the download progress of update.", + "type": "object", + "properties": { + "downloadPhase": { + "description": "The download phase.", + "enum": [ + "Unknown", + "Initializing", + "Downloading", + "Verifying" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DownloadPhase", + "modelAsString": true + } + }, + "percentComplete": { + "format": "int32", + "description": "Percentage of completion.", + "type": "integer", + "readOnly": true + }, + "totalBytesToDownload": { + "format": "double", + "description": "Total bytes to download.", + "type": "number", + "readOnly": true + }, + "totalBytesDownloaded": { + "format": "double", + "description": "Total bytes downloaded.", + "type": "number", + "readOnly": true + }, + "numberOfUpdatesToDownload": { + "format": "int32", + "description": "Number of updates to download.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesDownloaded": { + "format": "int32", + "description": "Number of updates downloaded.", + "type": "integer", + "readOnly": true + } + } + }, + "UpdateInstallProgress": { + "description": "Progress details during installation of updates.", + "type": "object", + "properties": { + "percentComplete": { + "format": "int32", + "description": "Percentage completed.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesToInstall": { + "format": "int32", + "description": "Number of updates to install.", + "type": "integer", + "readOnly": true + }, + "numberOfUpdatesInstalled": { + "format": "int32", + "description": "Number of updates installed.", + "type": "integer", + "readOnly": true + } + } + }, + "UpdateSummary": { + "description": "Details about ongoing updates and availability of updates on the device.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/UpdateSummaryProperties", + "description": "The device update information summary.", + "x-ms-client-flatten": true + } + } + }, + "UpdateSummaryProperties": { + "description": "The device update information summary.", + "type": "object", + "properties": { + "deviceVersionNumber": { + "description": "The current version of the device in format: 1.2.17312.13.\",", + "type": "string" + }, + "friendlyDeviceVersionName": { + "description": "The current version of the device in text format.", + "type": "string" + }, + "deviceLastScannedDateTime": { + "format": "date-time", + "description": "The last time when a scan was done on the device.", + "type": "string" + }, + "lastCompletedScanJobDateTime": { + "format": "date-time", + "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.", + "type": "string" + }, + "lastCompletedDownloadJobDateTime": { + "format": "date-time", + "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.", + "type": "string", + "readOnly": true + }, + "lastCompletedInstallJobDateTime": { + "format": "date-time", + "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.", + "type": "string", + "readOnly": true + }, + "totalNumberOfUpdatesAvailable": { + "format": "int32", + "description": "The number of updates available for the current device version as per the last device scan.", + "type": "integer", + "readOnly": true + }, + "totalNumberOfUpdatesPendingDownload": { + "format": "int32", + "description": "The total number of items pending download.", + "type": "integer", + "readOnly": true + }, + "totalNumberOfUpdatesPendingInstall": { + "format": "int32", + "description": "The total number of items pending install.", + "type": "integer", + "readOnly": true + }, + "rebootBehavior": { + "description": "Indicates if updates are available and at least one of the updates needs a reboot.", + "enum": [ + "NeverReboots", + "RequiresReboot", + "RequestReboot" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InstallRebootBehavior", + "modelAsString": true + } + }, + "ongoingUpdateOperation": { + "description": "The current update operation.", + "enum": [ + "None", + "Scan", + "Download", + "Install" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UpdateOperation", + "modelAsString": true + } + }, + "inProgressDownloadJobId": { + "description": "The job ID of the download job in progress.", + "type": "string", + "readOnly": true + }, + "inProgressInstallJobId": { + "description": "The job ID of the install job in progress.", + "type": "string", + "readOnly": true + }, + "inProgressDownloadJobStartedDateTime": { + "format": "date-time", + "description": "The time when the currently running download (if any) started.", + "type": "string", + "readOnly": true + }, + "inProgressInstallJobStartedDateTime": { + "format": "date-time", + "description": "The time when the currently running install (if any) started.", + "type": "string", + "readOnly": true + }, + "updateTitles": { + "description": "The list of updates available for install.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "totalUpdateSizeInBytes": { + "format": "double", + "description": "The total size of updates available for download in bytes.", + "type": "number", + "readOnly": true + } + } + }, + "UploadCertificateRequest": { + "description": "The upload certificate request.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RawCertificateData", + "description": "The Base 64 encoded certificate raw data.", + "x-ms-client-flatten": true + } + } + }, + "UploadCertificateResponse": { + "description": "The upload registration certificate response.", + "type": "object", + "properties": { + "authType": { + "description": "Specifies authentication type.", + "enum": [ + "Invalid", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "resourceId": { + "description": "The resource ID of the Data Box Edge/Gateway device.", + "type": "string", + "readOnly": true + }, + "aadAuthority": { + "description": "Azure Active Directory tenant authority.", + "type": "string", + "readOnly": true + }, + "aadTenantId": { + "description": "Azure Active Directory tenant ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalClientId": { + "description": "Azure Active Directory service principal client ID.", + "type": "string", + "readOnly": true + }, + "servicePrincipalObjectId": { + "description": "Azure Active Directory service principal object ID.", + "type": "string", + "readOnly": true + }, + "azureManagementEndpointAudience": { + "description": "The azure management endpoint audience.", + "type": "string", + "readOnly": true + }, + "aadAudience": { + "description": "Identifier of the target resource that is the recipient of the requested token.", + "type": "string", + "readOnly": true + } + } + }, + "User": { + "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ARMBaseModel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/UserProperties", + "description": "The storage account credential properties.", + "x-ms-client-flatten": true + } + } + }, + "UserAccessRight": { + "description": "The mapping between a particular user and the access type on the SMB share.", + "required": [ + "userId", + "accessType" + ], + "type": "object", + "properties": { + "userId": { + "description": "User ID (already existing in the device).", + "type": "string" + }, + "accessType": { + "description": "Type of access to be allowed for the user.", + "enum": [ + "Change", + "Read", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ShareAccessType", + "modelAsString": true + } + } + } + }, + "UserList": { + "description": "Collection of users.", + "type": "object", + "properties": { + "value": { + "description": "The list of users.", + "type": "array", + "items": { + "$ref": "#/definitions/User" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "UserProperties": { + "description": "The user properties.", + "required": [ + "userType" + ], + "type": "object", + "properties": { + "encryptedPassword": { + "$ref": "#/definitions/AsymmetricEncryptedSecret", + "description": "The password details." + }, + "shareAccessRights": { + "description": "List of shares that the user has rights on. This field should not be specified during user creation.", + "type": "array", + "items": { + "$ref": "#/definitions/ShareAccessRight" + }, + "readOnly": true + }, + "userType": { + "description": "Type of the user.", + "enum": [ + "Share", + "LocalManagement", + "ARM" + ], + "type": "string", + "x-ms-enum": { + "name": "UserType", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version.", + "required": true, + "type": "string" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "The location of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The resource group name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "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/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGet.json new file mode 100644 index 000000000000..e829777055ee --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.", + "alertType": "UpdateScanFailedEvent", + "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z", + "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.", + "severity": "Critical", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 1 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "type": "dataBoxEdgeDevices/alerts" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGetAllInDevice.json new file mode 100644 index 000000000000..058be9650b25 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGetAllInDevice.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "title": "Device password has changed", + "alertType": "PasswordChangedEvent", + "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z", + "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.", + "severity": "Informational", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 2 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790", + "name": "83eccd0b-134b-40b0-ad62-b5f124d03790", + "type": "dataBoxEdgeDevices/alerts" + }, + { + "properties": { + "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.", + "alertType": "UpdateScanFailedEvent", + "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z", + "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.", + "severity": "Critical", + "errorDetails": { + "errorCode": "", + "errorMessage": "", + "occurrences": 1 + }, + "detailedInformation": {} + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "type": "dataBoxEdgeDevices/alerts" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AvailableSkusList.json new file mode 100644 index 000000000000..100be9b2ed41 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AvailableSkusList.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "location": "westus", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "dataBoxEdeDevices", + "name": "Gateway", + "availability": "Available", + "tier": "Standard", + "kind": "AzureDataBoxGateway", + "version": "Stable", + "signupOption": "Available", + "locations": [ + "West US" + ], + "locationInfo": [ + { + "location": "West US" + } + ], + "restrictions": [ + { + "type": "location", + "values": [ + "East US" + ], + "restrictionInfo": { + "locations": [ + "East US" + ] + }, + "reasonCode": "NotAvailableForSubscription" + } + ] + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleDelete.json new file mode 100644 index 000000000000..b46c16246344 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGet.json new file mode 100644 index 000000000000..6c5a7052d395 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGetAllInDevice.json new file mode 100644 index 000000000000..d952c9942888 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGetAllInDevice.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthSchedulePut.json new file mode 100644 index 000000000000..6a192fe36044 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthSchedulePut.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "bandwidth-1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "start": "0:0:0", + "stop": "13:59:0", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "start": "00:00:00", + "stop": "13:59:00", + "rateInMbps": 100, + "days": [ + "Sunday", + "Monday" + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1", + "name": "bandwidth-1", + "type": "dataBoxEdgeDevices/bandwidthSchedules" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerDelete.json new file mode 100644 index 000000000000..e69cb3ffc99a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerGet.json new file mode 100644 index 000000000000..f777a5c71568 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerListAllInDevice.json new file mode 100644 index 000000000000..9e68fda234f4 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerListAllInDevice.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:14:32.3016929Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + }, + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:15:38.0077675Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2", + "name": "blobcontainer2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + }, + { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3", + "name": "blobcontainer3", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerPut.json new file mode 100644 index 000000000000..c2917e20dc77 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerPut.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "container": { + "properties": { + "dataFormat": "BlockBlob" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "containerStatus": "OK", + "dataFormat": "BlockBlob", + "refreshDetails": {}, + "createdDateTime": "2019-10-20T23:13:27.8545799Z" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1", + "name": "blobcontainer-5e155efe", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerRefresh.json new file mode 100644 index 000000000000..8a72270e6f5a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerRefresh.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "containerName": "blobcontainer1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceDelete.json new file mode 100644 index 000000000000..df86d5121027 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByName.json new file mode 100644 index 000000000000..529220678891 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByName.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "\"W/\"datetime'2018-12-16T08%3A03%3A27.61Z'\"_W/\"datetime'2018-12-16T08%3A03%3A27.653Z'\"\"", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json new file mode 100644 index 000000000000..77fb3d576d8d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A06.493Z'\"_W/\"datetime'2018-12-17T10%3A31%3A06.597Z'\"\"", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "\"W/\"datetime'2018-09-27T09%3A45%3A09.15Z'\"_W/\"datetime'2018-09-27T09%3A45%3A09.177Z'\"\"", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice2", + "name": "testedgedevice2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A00.293Z'\"_W/\"datetime'2018-12-17T10%3A31%3A00.34Z'\"\"", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice3", + "name": "testedgedevice3", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json new file mode 100644 index 000000000000..24d19bbe4731 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A06.493Z'\"_W/\"datetime'2018-12-17T10%3A31%3A06.597Z'\"\"", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "\"W/\"datetime'2018-09-27T09%3A45%3A09.15Z'\"_W/\"datetime'2018-09-27T09%3A45%3A09.177Z'\"\"", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice2", + "name": "testedgedevice2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + }, + { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A00.293Z'\"_W/\"datetime'2018-12-17T10%3A31%3A00.34Z'\"\"", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice3", + "name": "testedgedevice3", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePatch.json new file mode 100644 index 000000000000..197f56975010 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePatch.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "tags": { + "Key1": "value1", + "Key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "location": "WUS", + "tags": { + "Key1": "value1", + "Key2": "value2" + }, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "etag": "W/\"datetime'2018-12-19T06%3A33%3A24.983Z'\"_W/\"datetime'2018-12-19T06%3A33%3A25.013Z'\"", + "properties": { + "dataBoxEdgeDeviceStatus": "ReadyToSetup", + "deviceType": "DataBoxEdgeDevice", + "deviceLocalCapacity": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePut.json new file mode 100644 index 000000000000..d77a070a559a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "DataBoxEdgeDevice": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + } + } + }, + "responses": { + "200": { + "body": { + "location": "WUS", + "tags": {}, + "sku": { + "name": "Edge", + "tier": "Standard" + }, + "name": "testedgedevice" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DownloadUpdatesPost.json new file mode 100644 index 000000000000..edf388b1856a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DownloadUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ExtendedInfoPost.json new file mode 100644 index 000000000000..32e39f14ff95 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ExtendedInfoPost.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceKey": "3482840729935603111", + "encryptionKeyThumbprint": "", + "encryptionKey": "" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice", + "name": "testedgedevice", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/InstallUpdatesPost.json new file mode 100644 index 000000000000..edf388b1856a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/InstallUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/JobsGet.json new file mode 100644 index 000000000000..d87d0e7c7994 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/JobsGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "status": "Succeeded", + "startTime": "2018-12-18T02:18:51.4270267Z", + "endTime": "2018-12-18T03:18:51.4270267Z", + "percentComplete": 100, + "properties": { + "jobType": "DownloadUpdates", + "currentStage": "Success" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ListSkus.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ListSkus.json new file mode 100644 index 000000000000..63d53d236863 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ListSkus.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "location": "westus", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "dataBoxEdeDevices", + "name": "Gateway", + "tier": "Standard", + "locations": [ + "West US" + ], + "locationInfo": [ + { + "location": "West US" + } + ], + "apiVersions": [ + "2020-05-01-preview" + ], + "restrictions": [ + { + "type": "location", + "values": [ + "East US" + ], + "restrictionInfo": { + "locations": [ + "East US" + ] + }, + "reasonCode": "NotAvailableForSubscription" + } + ] + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NetworkSettingsGet.json new file mode 100644 index 000000000000..8167b0879c6f --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NetworkSettingsGet.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "networkAdapters": [ + { + "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}", + "adapterPosition": { + "networkGroup": "NonRDMA", + "port": 0 + }, + "index": 1, + "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984", + "networkAdapterName": "DATA1", + "label": "DATA1", + "macAddress": "00155D4E265B", + "linkSpeed": 10000000000, + "status": "Inactive", + "rdmaStatus": "Incapable", + "dhcpStatus": "Disabled", + "ipv4Configuration": { + "ipAddress": "10.150.78.56", + "subnet": "255.255.252.0", + "gateway": "10.150.76.1" + }, + "ipv6Configuration": { + "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf", + "prefixLength": 64, + "gateway": "fe80::12f3:11ff:fe36:994b%5" + }, + "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5", + "dnsServers": [ + "10.50.50.50", + "10.50.10.50" + ] + } + ] + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NodeGetAllInDevice.json new file mode 100644 index 000000000000..9930117b2223 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NodeGetAllInDevice.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "nodeStatus": "Unknown", + "nodeChassisSerialNumber": "1D6QHQ2", + "nodeSerialNumber": "1D6QHQ2", + "nodeDisplayName": "Controller 1", + "nodeFriendlySoftwareVersion": "Data Box Edge 1908", + "nodeHcsVersion": "1.6.961.8307", + "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035" + }, + "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2", + "name": "1D6QHQ2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes" + }, + { + "properties": { + "nodeStatus": "Unknown", + "nodeChassisSerialNumber": "1D6QHQ2", + "nodeSerialNumber": "1DCNHQ2", + "nodeDisplayName": "Controller 1", + "nodeFriendlySoftwareVersion": "Data Box Edge 1908", + "nodeHcsVersion": "1.6.961.8307", + "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6" + }, + "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2", + "name": "1DCNHQ2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsGet.json new file mode 100644 index 000000000000..bf014355f7f8 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsGet.json @@ -0,0 +1,675 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "List share users", + "description": "Lists or gets the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "List share users", + "description": "Lists or gets the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "Creates or updates share users", + "description": "Creates or updates the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "share users", + "operation": "Delete share users", + "description": "Deletes the share users" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "List bandwidth schedules", + "description": "Lists or gets the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "List bandwidth schedules", + "description": "Lists or gets the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "Creates or updates bandwidth schedules", + "description": "Creates or updates the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "bandwidth schedules", + "operation": "Delete bandwidth schedules", + "description": "Deletes the bandwidth schedules" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "List ArmApiRes_roles", + "description": "Lists or gets the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "List ArmApiRes_roles", + "description": "Lists or gets the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "Creates or updates ArmApiRes_roles", + "description": "Creates or updates the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "ArmApiRes_roles", + "operation": "Delete ArmApiRes_roles", + "description": "Deletes the ArmApiRes_roles" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "List shares", + "description": "Lists or gets the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "List shares", + "description": "Lists or gets the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "Creates or updates shares", + "description": "Creates or updates the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "ArmApiOp_action_refresh_shares", + "description": "ArmApiDesc_action_refresh_shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "shares", + "operation": "Delete shares", + "description": "Deletes the shares" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Upload certificates", + "description": "Upload certificate for device registration" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Creates or updates Data Box Edge devices", + "description": "Creates or updates the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Delete Data Box Edge devices", + "description": "Deletes the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "List Data Box Edge devices", + "description": "Lists or gets the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Creates or updates Data Box Edge devices", + "description": "Creates or updates the Data Box Edge devices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices", + "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Gets resource extended information", + "description": "Retrieves resource extended information" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Device network settings", + "operation": "List Device network settings", + "description": "Lists or gets the Device network settings" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Device security settings", + "operation": "Update security settings", + "description": "Update security settings" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "update summary", + "operation": "List update summary", + "description": "Lists or gets the update summary" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Scan for updates", + "description": "Scan for updates" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Download Updates", + "description": "Download Updates in device" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge devices", + "operation": "Install Updates", + "description": "Install Updates on device" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "jobs", + "operation": "List jobs", + "description": "Lists or gets the jobs" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "Creates or updates storage account credentials", + "description": "Creates or updates the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "List storage account credentials", + "description": "Lists or gets the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "List storage account credentials", + "description": "Lists or gets the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "storage account credentials", + "operation": "Delete storage account credentials", + "description": "Deletes the storage account credentials" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "alerts", + "operation": "List alerts", + "description": "Lists or gets the alerts" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "alerts", + "operation": "List alerts", + "description": "Lists or gets the alerts" + }, + "origin": "user" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Read Data Box Edge device metric definition", + "description": "Gets the available Data Box Edge device level metrics" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "NICReadThroughput", + "displayName": "Read Throughput (Network)", + "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "InstanceName", + "displayName": "Name", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "NICWriteThroughput", + "displayName": "Write Throughput (Network)", + "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "InstanceName", + "displayName": "Name", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudReadThroughputPerShare", + "displayName": "Cloud Download Throughput (Share)", + "displayDescription": "The download throughput to Azure from a share during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudUploadThroughputPerShare", + "displayName": "Cloud Upload Throughput (Share)", + "displayDescription": "The upload throughput to Azure from a share during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "BytesUploadedToCloudPerShare", + "displayName": "Cloud Bytes Uploaded (Share)", + "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "Share", + "displayName": "Share", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT1M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "TotalCapacity", + "displayName": "Total Capacity", + "displayDescription": "Total Capacity", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Capacity", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "AvailableCapacity", + "displayName": "Available Capacity", + "displayDescription": "The available capacity in bytes during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Capacity", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudUploadThroughput", + "displayName": "Cloud Upload Throughput", + "displayDescription": "The cloud upload throughput during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "CloudReadThroughput", + "displayName": "Cloud Read Throughput", + "displayDescription": "The cloud download throughput during the reporting period.", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + }, + { + "name": "BytesUploadedToCloud", + "displayName": "Cloud Bytes Uploaded (Device)", + "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [], + "fillGapWithZero": false, + "category": "Transaction", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT1H" + ], + "supportedAggregationTypes": [ + "Average", + "Minimum", + "Maximum" + ] + } + ] + } + } + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Write diagnostics setting", + "description": "Creates or updates the diagnostics setting for the resource" + }, + "origin": "system" + }, + { + "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.DataBoxEdge", + "resource": "Data Box Edge device", + "operation": "Read diagnostics setting", + "description": "Gets the diagnostic setting for the resource" + }, + "origin": "system" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsStatusGet.json new file mode 100644 index 000000000000..8fd09a4313e9 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsStatusGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb", + "name": "159a00c7-8543-4343-9435-263ac87df3bb", + "status": "Succeeded", + "startTime": "2018-12-18T02:18:51.4270267Z", + "endTime": "2018-12-18T03:18:51.4270267Z", + "percentComplete": 100, + "properties": { + "jobType": "DownloadUpdates", + "currentStage": "Success" + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderDelete.json new file mode 100644 index 000000000000..df86d5121027 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGet.json new file mode 100644 index 000000000000..7393c1e6588f --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGetAllInDevice.json new file mode 100644 index 000000000000..128e6415ccbb --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGetAllInDevice.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2019-03-01", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderPut.json new file mode 100644 index 000000000000..9d3506275641 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderPut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "order": { + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default", + "name": "default", + "type": "dataBoxEdgeDevices/orders", + "properties": { + "contactInformation": { + "contactPerson": "John Mcclane", + "companyName": "Microsoft", + "phone": "(800) 426-9400", + "emailList": [ + "john@microsoft.com" + ] + }, + "shippingAddress": { + "addressLine1": "Microsoft Corporation", + "addressLine2": "One Microsoft Way", + "addressLine3": "Redmond", + "postalCode": "98052", + "city": "WA", + "state": "WA", + "country": "USA" + }, + "currentStatus": { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "" + }, + "orderHistory": [ + { + "status": "Untracked", + "updateDateTime": "2018-12-10T07:59:05.847Z", + "comments": "lorem ipsum" + } + ], + "serialNumber": "UDS123NSDA123", + "deliveryTrackingInfo": [], + "returnTrackingInfo": [] + } + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleDelete.json new file mode 100644 index 000000000000..a5b6b867ef4a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGet.json new file mode 100644 index 000000000000..826a9f8c4367 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "kind": "IOT", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGetAllInDevice.json new file mode 100644 index 000000000000..32f8594d7a14 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGetAllInDevice.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "kind": "IOT", + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RolePut.json new file mode 100644 index 000000000000..d093b26030fa --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RolePut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "IoTRole1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "role": { + "kind": "IOT", + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": { + "connectionString": { + "value": "Encrypted<>", + "encryptionCertThumbprint": "348586569999244", + "encryptionAlgorithm": "AES256" + } + } + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": { + "connectionString": { + "value": "Encrypted<>", + "encryptionCertThumbprint": "1245475856069999244", + "encryptionAlgorithm": "AES256" + } + } + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "kind": "IOT", + "properties": { + "hostPlatform": "Linux", + "ioTDeviceDetails": { + "deviceId": "iotdevice", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "ioTEdgeDeviceDetails": { + "deviceId": "iotEdge", + "ioTHostHub": "iothub.azure-devices.net", + "authentication": { + "symmetricKey": {} + } + }, + "shareMappings": [], + "roleStatus": "Enabled" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1", + "name": "IoTRole1", + "type": "dataBoxEdgeDevices/roles" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACDelete.json new file mode 100644 index 000000000000..01a649f80024 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGet.json new file mode 100644 index 000000000000..c117fb14cf3c --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "name": "sac1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGetAllInDevice.json new file mode 100644 index 000000000000..de2303075043 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGetAllInDevice.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "alias": "sac1128180128323", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "GeneralPurposeStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323", + "name": "sac1128180128323", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + }, + { + "properties": { + "alias": "sac1128180128312", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312", + "name": "sac1128180128312", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACPut.json new file mode 100644 index 000000000000..ae4c2bb51f57 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACPut.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "sac1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "storageAccountCredential": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "accountKey": { + "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==", + "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31", + "encryptionAlgorithm": "AES256" + }, + "sslStatus": "Disabled", + "accountType": "BlobStorage" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "alias": "sac1", + "userName": "cisbvt", + "sslStatus": "Disabled", + "accountType": "BlobStorage" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "name": "sac1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ScanForUpdatesPost.json new file mode 100644 index 000000000000..edf388b1856a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ScanForUpdatesPost.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SecuritySettingsUpdatePost.json new file mode 100644 index 000000000000..511f01e39772 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SecuritySettingsUpdatePost.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "AzureVM", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "securitySettings": { + "properties": { + "deviceAdminPassword": { + "value": "jJ5MvXa/AEWvwxviS92uCjatCXeyLYTy8jx/k105MjQRXT7i6Do8qpEcQ8d+OBbwmQTnwKW0CYyzzVRCc0uZcPCf6PsWtP4l6wvcKGAP66PwK68eEkTUOmp+wUHc4hk02kWmTWeAjBZkuDBP3xK1RnZo95g2RE4i1UgKNP5BEKCLd71O104DW3AWW41mh9XLWNOaxw+VjQY7wmvlE6XkvpkMhcGuha2u7lx8zi9ZkcMvJVYDYK36Fb/K3KhBAmDjjDmVq04jtBlcSTXQObt0nlj4BwGGtdrpeIpr67zqr5i3cPm6e6AleIaIhp6sI/uyGSMiT3oev2eg49u2ii7kVA==", + "encryptionAlgorithm": "AES256", + "encryptionCertThumbprint": "7DCBDFC44ED968D232C9A998FC105B5C70E84BE0" + } + } + } + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareDelete.json new file mode 100644 index 000000000000..026fcf9d2017 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGet.json new file mode 100644 index 000000000000..0524743d0b98 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGetAllInDevice.json new file mode 100644 index 000000000000..78f3c8136562 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGetAllInDevice.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SharePut.json new file mode 100644 index 000000000000..5cca883119c0 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SharePut.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "share": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Enabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "dataPolicy": "Cloud" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "", + "shareStatus": "Online", + "monitoringStatus": "Disabled", + "azureContainerInfo": { + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1", + "containerName": "testContainerSMB", + "dataFormat": "BlockBlob" + }, + "accessProtocol": "SMB", + "userAccessRights": [ + { + "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "accessType": "Change" + } + ], + "clientAccessRights": [], + "refreshDetails": {}, + "shareMappings": [], + "dataPolicy": "Cloud" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare", + "name": "smbshare", + "type": "dataBoxEdgeDevices/shares" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareRefreshPost.json new file mode 100644 index 000000000000..a4efecfd7b1c --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareRefreshPost.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "smbshare", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountDelete.json new file mode 100644 index 000000000000..73e2c40793a3 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "storageaccount1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGet.json new file mode 100644 index 000000000000..33d1d4a34592 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "blobstorageaccount1", + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGetAllInDevice.json new file mode 100644 index 000000000000..ed122e0b409c --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGetAllInDevice.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountPut.json new file mode 100644 index 000000000000..4a37b3854833 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountPut.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "storageAccountName": "blobstorageaccount1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "storageAccount": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "It's an awesome storage account", + "storageAccountStatus": "OK", + "dataPolicy": "Cloud", + "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt", + "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/", + "containerCount": 0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1", + "name": "blobstorageaccount1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerDelete.json new file mode 100644 index 000000000000..f46231018958 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGet.json new file mode 100644 index 000000000000..382d547534a2 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGetAllInDevice.json new file mode 100644 index 000000000000..902b6d4bc29d --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGetAllInDevice.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerPut.json new file mode 100644 index 000000000000..e1e12efbc7c6 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerPut.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "trigger1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "trigger": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "kind": "FileEvent" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "customContextTag": "CustomContextTags-1235346475", + "sourceInfo": { + "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1" + }, + "sinkInfo": { + "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1" + } + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1", + "name": "trigger1", + "type": "dataBoxEdgeDevices/triggers", + "kind": "FileEvent" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UpdateSummaryGet.json new file mode 100644 index 000000000000..7ae88078f54c --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UpdateSummaryGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw==" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "deviceVersionNumber": "1.2.18183.2", + "friendlyDeviceVersionName": "Data Box Edge Virtual Device Preview Version 1.1", + "totalNumberOfUpdatesAvailable": 0, + "totalNumberOfUpdatesPendingDownload": 0, + "totalNumberOfUpdatesPendingInstall": 0, + "rebootBehavior": "NeverReboots", + "ongoingUpdateOperation": "None", + "totalUpdateSizeInBytes": 0.0 + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default", + "name": "default", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UploadCertificatePost.json new file mode 100644 index 000000000000..3d2b1e9c83dc --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UploadCertificatePost.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "parameters": { + "properties": { + "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw==" + } + } + }, + "responses": { + "200": { + "body": { + "authType": "AzureActiveDirectory", + "resourceId": "392799901267771", + "aadAuthority": "https://login.windows.net", + "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909", + "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68", + "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4", + "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserDelete.json new file mode 100644 index 000000000000..bd146196546a --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGet.json new file mode 100644 index 000000000000..2745ecccea79 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + }, + "202": { + "body": "" + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGetAllInDevice.json new file mode 100644 index 000000000000..f3e7d42ccd19 --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGetAllInDevice.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2", + "name": "user2", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + }, + { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + } + ] + } + } + } +} diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserPut.json new file mode 100644 index 000000000000..ce1e4f0392cc --- /dev/null +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserPut.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce", + "resourceGroupName": "GroupForEdgeAutomation", + "deviceName": "testedgedevice", + "name": "user1", + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "200" + ], + "x-ms-client-request-id": [ + "a93b39a3-1ff4-42b8-a56f-43368d47e37a" + ], + "accept-language": [ + "en-US" + ], + "user": { + "properties": { + "encryptedPassword": { + "value": "Password@1", + "encryptionAlgorithm": "None", + "encryptionCertThumbprint": "blah" + }, + "userType": "Share" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "userType": "Share" + }, + "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1", + "name": "user1", + "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users" + } + }, + "202": {} + } +} diff --git a/specification/databoxedge/resource-manager/readme.azureresourceschema.md b/specification/databoxedge/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..12341995da0e --- /dev/null +++ b/specification/databoxedge/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-databoxedge-2020-05-01-preview + - tag: schema-databoxedge-2019-08-01 + - tag: schema-databoxedge-2019-07-01 + - tag: schema-databoxedge-2019-03-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-databoxedge-2020-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-databoxedge-2020-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json + +``` + +### Tag: schema-databoxedge-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databoxedge-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json + +``` + +### Tag: schema-databoxedge-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databoxedge-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json + +``` + +### Tag: schema-databoxedge-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databoxedge-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json + +``` diff --git a/specification/databoxedge/resource-manager/readme.cli.md b/specification/databoxedge/resource-manager/readme.cli.md index 5716aafd4672..a98fad99fa79 100644 --- a/specification/databoxedge/resource-manager/readme.cli.md +++ b/specification/databoxedge/resource-manager/readme.cli.md @@ -47,6 +47,7 @@ cli: - name: DataBoxEdgeDeviceGetByResourceGroup - name: DataBoxEdgeDeviceGetBySubscription - name: ListSkus + - name: ListAvailableSkus - name: OperationsGet - name: ContainerRefresh - name: CreateOrUpdateSecuritySettings diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md index 455345faee18..effc04cc665c 100644 --- a/specification/databoxedge/resource-manager/readme.md +++ b/specification/databoxedge/resource-manager/readme.md @@ -29,6 +29,15 @@ openapi-type: arm tag: package-2019-08 ``` +### Tag: package-2020-05-preview + +These settings apply only when `--tag=package-2020-05-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05-preview' +input-file: +- Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json +``` + ### Tag: package-2019-08 These settings apply only when `--tag=package-2019-08` is specified on the command line. @@ -77,6 +86,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_databoxedge'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js databoxedge/resource-manager ``` ## C# @@ -128,6 +140,20 @@ batch: - tag: package-2019-03 - tag: package-2019-07 - tag: package-2019-08 + - tag: package-2020-05-preview +``` + +### Tag: package-2020-05-preview and java + +These settings apply only when `--tag=package-2020-05-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-05-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databoxedge.v2020_05_01_preview + output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2020_05_01_preview +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2019-08 and java @@ -169,6 +195,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -181,6 +211,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json - $(this-folder)/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json diff --git a/specification/databoxedge/resource-manager/readme.python.md b/specification/databoxedge/resource-manager/readme.python.md index b7c6cd2ccae4..6016f29d1038 100644 --- a/specification/databoxedge/resource-manager/readme.python.md +++ b/specification/databoxedge/resource-manager/readme.python.md @@ -23,10 +23,34 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) batch: + - tag: package-2020-05-preview + - tag: package-2019-08 - tag: package-2019-07 - tag: package-2019-03 ``` +### Tag: package-2020-05-preview and python + +These settings apply only when `--tag=package-2020-05-preview --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-05-preview' && $(python) +python: + namespace: azure.mgmt.databoxedge.v2020_05_01_preview + output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2020_05_01_preview +``` + +### Tag: package-2019-08 and python + +These settings apply only when `--tag=package-2019-08 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-08' && $(python) +python: + namespace: azure.mgmt.databoxedge.v2019_08_01 + output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_08_01 +``` + ### Tag: package-2019-07 and python These settings apply only when `--tag=package-2019-07 --python` is specified on the command line. diff --git a/specification/databoxedge/resource-manager/readme.ruby.md b/specification/databoxedge/resource-manager/readme.ruby.md index c8c6afca17b3..5d72f44737e7 100644 --- a/specification/databoxedge/resource-manager/readme.ruby.md +++ b/specification/databoxedge/resource-manager/readme.ruby.md @@ -12,11 +12,22 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2020-05-preview - tag: package-2019-08 - tag: package-2019-07 - tag: package-2019-03 ``` +### Tag: package-2020-05-preview and ruby + +These settings apply only when `--tag=package-2020-05-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-05-preview' && $(ruby) +namespace: "Azure::DataBoxEdge::Mgmt::V2020_05_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databoxedge/lib +``` + ### Tag: package-2019-08 and ruby These settings apply only when `--tag=package-2019-08 --ruby` is specified on the command line. diff --git a/specification/databoxedge/resource-manager/readme.trenton.md b/specification/databoxedge/resource-manager/readme.trenton.md new file mode 100644 index 000000000000..25f9a09eebb2 --- /dev/null +++ b/specification/databoxedge/resource-manager/readme.trenton.md @@ -0,0 +1,77 @@ + +## trenton + +These settings apply only when `--trenton` is specified on the command line. + +``` yaml $(trenton) +trenton: + cli-name: databoxedge + package-name: databoxedge +clear-output-folder: true +output-folder: $(trenton-output-folder)/databoxedge +``` +## overrides + +These settings apply only when `--trenton` is specified on the command line. +``` yaml $(trenton) +overrides: + - where: + resource: "BandwidthSchedules" + method: "CreateOrUpdate" + set: + - BodyPosition: 2 + - where: + resource: "Containers" + method: "CreateOrUpdate" + set: + - BodyPosition: 3 + - where: + resource: "Devices" + method: "CreateOrUpdate" + set: + - BodyPosition: 1 + - where: + resource: "Devices" + method: "Update" + set: + - BodyPosition: 1 + - where: + resource: "Orders" + method: "CreateOrUpdate" + set: + - BodyPosition: 1 + - where: + resource: "Roles" + method: "CreateOrUpdate" + set: + - BodyPosition: 2 + - where: + resource: "Shares" + method: "CreateOrUpdate" + set: + - BodyPosition: 2 + - where: + resource: "StorageAccountCredentials" + method: "CreateOrUpdate" + set: + - BodyPosition: 2 + - where: + resource: "StorageAccounts" + method: "CreateOrUpdate" + set: + - BodyPosition: 2 + - where: + resource: "Triggers" + method: "CreateOrUpdate" + set: + - BodyPosition: 2 + - where: + resource: "Users" + method: "CreateOrUpdate" + set: + - BodyPosition: 2 + - where: + property: "SSLStatus" + set: + - GoFieldName: "SslStatus" +``` \ No newline at end of file diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json index 26055abe6cff..348cc61d5dfa 100644 --- a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json @@ -134,6 +134,15 @@ }, "Create or update workspace with custom parameters": { "$ref": "./examples/WorkspaceCreateWithParameters.json" + }, + "Create a workspace which is ready for Customer-Managed Key (CMK) encryption": { + "$ref": "./examples/PrepareEncryption.json" + }, + "Enable Customer-Managed Key (CMK) encryption on a workspace which is prepared for encryption": { + "$ref": "./examples/EnableEncryption.json" + }, + "Revert Customer-Managed Key (CMK) encryption to Microsoft Managed Keys encryption on a workspace": { + "$ref": "./examples/DisableEncryption.json" } }, "parameters": [ @@ -466,7 +475,8 @@ "$ref": "#/definitions/ErrorResponse" } } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings": { @@ -621,6 +631,10 @@ "readOnly": true, "description": "The workspace URL which is of the format 'adb-{workspaceId}.{random}.azuredatabricks.net'", "type": "string" + }, + "storageAccountIdentity": { + "description": "The details of Managed Identity of Storage Account", + "$ref": "#/definitions/ManagedIdentityConfiguration" } }, "required": [ @@ -735,6 +749,28 @@ "modelAsString": true } }, + "ManagedIdentityConfiguration": { + "description": "The Managed Identity details for storage account.", + "properties": { + "principalId": { + "type": "string", + "format": "uuid", + "description": "The objectId of the Managed Identity that is linked to the Managed Storage account.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The tenant Id where the Managed Identity is created.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of Identity created. It can be either SystemAssigned or UserAssigned.", + "readOnly": true + } + } + }, "WorkspaceCustomParameterType": { "description": "Provisioning status of the workspace.", "readOnly": true, @@ -799,6 +835,10 @@ }, "WorkspaceCustomParameters": { "properties": { + "amlWorkspaceId": { + "$ref": "#/definitions/WorkspaceCustomStringParameter", + "description": "The ID of a Azure Machine Learning workspace to link with Databricks workspace" + }, "customVirtualNetworkId": { "$ref": "#/definitions/WorkspaceCustomStringParameter", "description": "The ID of a Virtual Network where this Databricks Cluster should be created" @@ -814,6 +854,18 @@ "enableNoPublicIp": { "$ref": "#/definitions/WorkspaceCustomBooleanParameter", "description": "Should the Public IP be Disabled?" + }, + "prepareEncryption": { + "$ref": "#/definitions/WorkspaceCustomBooleanParameter", + "description": "Prepare the workspace for encryption. Enables the Managed Identity for managed storage account." + }, + "encryption": { + "$ref": "#/definitions/WorkspaceEncryptionParameter", + "description": "Contains the encryption details for Customer-Managed Key (CMK) enabled workspace." + }, + "requireInfrastructureEncryption": { + "$ref": "#/definitions/WorkspaceCustomBooleanParameter", + "description": "A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest." } }, "description": "Custom Parameters used for Cluster Creation." @@ -846,6 +898,51 @@ }, "description": "Provides details of the entity that created/updated the workspace." }, + "WorkspaceEncryptionParameter": { + "properties": { + "type": { + "$ref": "#/definitions/WorkspaceCustomParameterType", + "description": "The type of variable that this is" + }, + "value": { + "$ref": "#/definitions/Encryption", + "description": "The value which should be used for this field." + } + }, + "description": "The object that contains details of encryption used on the workspace." + }, + "Encryption": { + "properties": { + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Default, Microsoft.Keyvault", + "enum": [ + "Default", + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": true + }, + "default": "Default" + }, + "KeyName": { + "type": "string", + "description": "The name of KeyVault key." + }, + "keyversion": { + "type": "string", + "description": "The version of KeyVault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyvaulturi": { + "type": "string", + "description": "The Uri of KeyVault.", + "x-ms-client-name": "KeyVaultUri" + } + }, + "description": "The object that contains details of encryption used on the workspace." + }, "WorkspaceProviderAuthorization": { "properties": { "principalId": { diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/DisableEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/DisableEncryption.json new file mode 100644 index 000000000000..18b5d4db6e79 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/DisableEncryption.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2018-04-01", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "encryption": { + "value": { + "keySource": "Default" + } + } + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "sku": { + "name": "premium" + }, + "location": "East US 2", + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "customPrivateSubnetName": { + "type": "String", + "value": "PrivateBob" + }, + "customPublicSubnetName": { + "type": "String", + "value": "PublicSarah" + }, + "customVirtualNetworkId": { + "type": "String", + "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork" + }, + "prepareEncryption": { + "type": "Bool", + "value": true + }, + "encryption": { + "type": "Object", + "value": { + "keySource": "Default" + } + } + }, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net" + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + } + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/EnableEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/EnableEncryption.json new file mode 100644 index 000000000000..efad023312fe --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/EnableEncryption.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2018-04-01", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "prepareEncryption": { + "value": true + }, + "encryption": { + "value": { + "keySource": "Microsoft.Keyvault", + "keyvaulturi": "https://myKeyVault.vault.azure.net/", + "KeyName": "myKeyName", + "keyversion": "00000000000000000000000000000000" + } + } + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "sku": { + "name": "premium" + }, + "location": "East US 2", + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "customPrivateSubnetName": { + "type": "String", + "value": "PrivateBob" + }, + "customPublicSubnetName": { + "type": "String", + "value": "PublicSarah" + }, + "customVirtualNetworkId": { + "type": "String", + "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork" + }, + "prepareEncryption": { + "type": "Bool", + "value": true + }, + "encryption": { + "type": "Object", + "value": { + "keySource": "Microsoft.Keyvault", + "keyvaulturi": "https://myKeyVault.vault.azure.net/", + "KeyName": "myKeyName", + "keyversion": "00000000000000000000000000000000" + } + } + }, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net" + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + } + } + } + } + } +} diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/PrepareEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/PrepareEncryption.json new file mode 100644 index 000000000000..f9b891f1d616 --- /dev/null +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/PrepareEncryption.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "workspaceName": "myWorkspace", + "api-version": "2018-04-01", + "parameters": { + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": { + "prepareEncryption": { + "value": true + } + } + }, + "location": "westus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "sku": { + "name": "premium" + }, + "location": "East US 2", + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Succeeded", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "storageAccountIdentity": { + "principalId": "55555555-5555-5555-5555-555555555555", + "tenantId": "66666666-6666-6666-6666-666666666666", + "type": "SystemAssigned" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z", + "workspaceId": "5555555555555555", + "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net" + } + } + }, + "201": { + "body": { + "name": "myWorkspace", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace", + "type": "Microsoft.Databricks/workspaces", + "location": "East US 2", + "tags": { + "environment": "dev" + }, + "sku": { + "name": "premium" + }, + "properties": { + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "parameters": null, + "provisioningState": "Accepted", + "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json", + "authorizations": [ + { + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "11111111-1111-1111-1111-111111111111" + } + ], + "createdBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "updatedBy": { + "oid": "22222222-2222-2222-2222-222222222222", + "puid": "33333333", + "applicationId": "44444444-4444-4444-4444-444444444444" + }, + "createdDateTime": "2020-02-20T00:10:29.2858439Z" + } + } + } + } +} diff --git a/specification/databricks/resource-manager/readme.azureresourceschema.md b/specification/databricks/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d05e235cbedf --- /dev/null +++ b/specification/databricks/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-databricks-2018-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-databricks-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-databricks-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Databricks/stable/2018-04-01/databricks.json + +``` diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md index 2b393ef2e23a..5dd1d2e62ce0 100644 --- a/specification/databricks/resource-manager/readme.md +++ b/specification/databricks/resource-manager/readme.md @@ -74,6 +74,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js databricks/resource-manager ``` ## Go @@ -83,6 +86,10 @@ See configuration in [readme.go.md](./readme.go.md) ## Python See configuration in [readme.python.md](./readme.python.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/datacatalog/resource-manager/readme.azureresourceschema.md b/specification/datacatalog/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7c377f7a6300 --- /dev/null +++ b/specification/datacatalog/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datacatalog-2016-03-30 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datacatalog-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-datacatalog-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json + +``` diff --git a/specification/datacatalog/resource-manager/readme.md b/specification/datacatalog/resource-manager/readme.md index 02f87406e5e8..d8141c0ee469 100644 --- a/specification/datacatalog/resource-manager/readme.md +++ b/specification/datacatalog/resource-manager/readme.md @@ -54,6 +54,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datacatalog/resource-manager ``` ## C# @@ -134,6 +137,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json index 1419e260fad9..43909b01832d 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json @@ -255,6 +255,57 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryFeaturesValue": { + "post": { + "tags": [ + "exposureControl" + ], + "operationId": "ExposureControl_QueryFeatureValuesByFactory", + "x-ms-examples": { + "ExposureControl_QueryFeatureValuesByFactory": { + "$ref": "./examples/ExposureControl_QueryFeatureValuesByFactory.json" + } + }, + "description": "Get list of exposure control features for specific factory.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "exposureControlBatchRequest", + "description": "The exposure control request for list of features.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExposureControlBatchRequest" + } + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ExposureControlBatchResponse" + } + }, + "default": { + "description": "An error response received from the Azure Data Factory service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories": { "get": { "tags": [ @@ -3098,6 +3149,51 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/cancel": { + "post": { + "tags": [ + "triggerruns" + ], + "operationId": "TriggerRuns_Cancel", + "x-ms-examples": { + "Triggers_Cancel": { + "$ref": "./examples/TriggerRuns_Cancel.json" + } + }, + "description": "Cancel a single trigger instance by runId.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/triggerName" + }, + { + "$ref": "#/parameters/runId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "TriggerRun has been cancelled." + }, + "default": { + "description": "An error response received from the Azure Data Factory service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryTriggerRuns": { "post": { "tags": [ @@ -3616,6 +3712,373 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks": { + "get": { + "tags": [ + "managedVirtualNetworks" + ], + "operationId": "ManagedVirtualNetworks_ListByFactory", + "x-ms-examples": { + "ManagedVirtualNetworks_ListByFactory": { + "$ref": "./examples/ManagedVirtualNetworks_ListByFactory.json" + } + }, + "description": "Lists managed Virtual Networks.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ManagedVirtualNetworkListResponse" + } + }, + "default": { + "description": "An error response received from the Azure Data Factory service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}": { + "put": { + "tags": [ + "managedVirtualNetworks" + ], + "operationId": "ManagedVirtualNetworks_CreateOrUpdate", + "x-ms-examples": { + "ManagedVirtualNetworks_Create": { + "$ref": "./examples/ManagedVirtualNetworks_Create.json" + } + }, + "description": "Creates or updates a managed Virtual Network.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/managedVirtualNetworkName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the managed Virtual Network entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update." + }, + { + "name": "managedVirtualNetwork", + "description": "Managed Virtual Network resource definition.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedVirtualNetworkResource" + } + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ManagedVirtualNetworkResource" + } + }, + "default": { + "description": "An error response received from PUT managed Virtual Network operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "managedVirtualNetworks" + ], + "operationId": "ManagedVirtualNetworks_Get", + "x-ms-examples": { + "ManagedVirtualNetworks_Get": { + "$ref": "./examples/ManagedVirtualNetworks_Get.json" + } + }, + "description": "Gets a managed Virtual Network.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/managedVirtualNetworkName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the managed Virtual Network entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned." + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ManagedVirtualNetworkResource" + } + }, + "default": { + "description": "An error response received from GET managed Virtual Network operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints": { + "get": { + "tags": [ + "managedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_ListByFactory", + "x-ms-examples": { + "ManagedPrivateEndpoints_ListByFactory": { + "$ref": "./examples/ManagedPrivateEndpoints_ListByFactory.json" + } + }, + "description": "Lists managed private endpoints.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/managedVirtualNetworkName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/managedPrivateEndpointListResponse" + } + }, + "default": { + "description": "An error response received from the Azure Data Factory service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}": { + "put": { + "tags": [ + "managedPrivateEndpoints" + ], + "operationId": "managedPrivateEndpoints_CreateOrUpdate", + "x-ms-examples": { + "ManagedVirtualNetworks_Create": { + "$ref": "./examples/ManagedPrivateEndpoints_Create.json" + } + }, + "description": "Creates or updates a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/managedVirtualNetworkName" + }, + { + "$ref": "#/parameters/managedPrivateEndpointName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the managed private endpoint entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update." + }, + { + "name": "managedPrivateEndpoint", + "description": "Managed private endpoint resource definition.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointResource" + } + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointResource" + } + }, + "default": { + "description": "An error response received from PUT managed private endpoint operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "managedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Get", + "x-ms-examples": { + "ManagedPrivateEndpoints_Get": { + "$ref": "./examples/ManagedPrivateEndpoints_Get.json" + } + }, + "description": "Gets a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/managedVirtualNetworkName" + }, + { + "$ref": "#/parameters/managedPrivateEndpointName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the managed private endpoint entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned." + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointResource" + } + }, + "default": { + "description": "An error response received from GET managed private endpoint operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "managedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Delete", + "x-ms-examples": { + "ManagedVirtualNetworks_Delete": { + "$ref": "./examples/ManagedPrivateEndpoints_Delete.json" + } + }, + "description": "Deletes a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/factoryName" + }, + { + "$ref": "#/parameters/managedVirtualNetworkName" + }, + { + "$ref": "#/parameters/managedPrivateEndpointName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "An error response received from DELETE managed private endpoint operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } } }, "definitions": { @@ -5414,6 +5877,22 @@ } } }, + "ExposureControlBatchRequest": { + "description": "A list of exposure control features.", + "type": "object", + "required": [ + "exposureControlRequests" + ], + "properties": { + "exposureControlRequests": { + "type": "array", + "description": "List of exposure control features.", + "items": { + "$ref": "#/definitions/ExposureControlRequest" + } + } + } + }, "ExposureControlRequest": { "type": "object", "description": "The exposure control request.", @@ -5428,6 +5907,22 @@ } } }, + "ExposureControlBatchResponse": { + "description": "A list of exposure control feature values.", + "type": "object", + "required": [ + "exposureControlResponses" + ], + "properties": { + "exposureControlResponses": { + "type": "array", + "description": "List of exposure control feature values.", + "items": { + "$ref": "#/definitions/ExposureControlResponse" + } + } + } + }, "ExposureControlResponse": { "type": "object", "description": "The exposure control response.", @@ -5525,8 +6020,8 @@ "$ref": "#/definitions/LinkedServiceReference" }, "folderPath": { - "description": "Folder path for staging blob.", - "type": "string" + "description": "Folder path for staging blob. Type: string (or Expression with resultType string)", + "type": "object" } } }, @@ -5810,6 +6305,80 @@ "type", "referenceName" ] + }, + "managedPrivateEndpointListResponse": { + "description": "A list of managed private endpoint resources.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of managed private endpoints.", + "items": { + "$ref": "#/definitions/ManagedPrivateEndpointResource" + } + }, + "nextLink": { + "description": "The link to the next page of results, if any remaining results exist.", + "type": "string" + } + } + }, + "ManagedPrivateEndpointResource": { + "description": "Managed private endpoint resource type.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "./entityTypes/ManagedPrivateEndpoint.json#/definitions/ManagedPrivateEndpoint", + "description": "Managed private endpoint properties." + } + }, + "required": [ + "properties" + ] + }, + "ManagedVirtualNetworkListResponse": { + "description": "A list of managed Virtual Network resources.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of managed Virtual Networks.", + "items": { + "$ref": "#/definitions/ManagedVirtualNetworkResource" + } + }, + "nextLink": { + "description": "The link to the next page of results, if any remaining results exist.", + "type": "string" + } + } + }, + "ManagedVirtualNetworkResource": { + "description": "Managed Virtual Network resource type.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "./entityTypes/ManagedVirtualNetwork.json#/definitions/ManagedVirtualNetwork", + "description": "Managed Virtual Network properties." + } + }, + "required": [ + "properties" + ] } }, "parameters": { @@ -5935,6 +6504,28 @@ "maxLength": 260, "x-ms-parameter-location": "method" }, + "managedVirtualNetworkName": { + "name": "managedVirtualNetworkName", + "description": "Managed virtual network name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$", + "minLength": 1, + "maxLength": 127, + "x-ms-parameter-location": "method" + }, + "managedPrivateEndpointName": { + "name": "managedPrivateEndpointName", + "description": "Managed private endpoint name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$", + "minLength": 1, + "maxLength": 127, + "x-ms-parameter-location": "method" + }, "api-version": { "name": "api-version", "description": "The API version.", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json index 52f028ae93c9..61a6bfadf4a7 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json @@ -472,6 +472,33 @@ } } }, + "DatasetTarCompression": { + "x-ms-discriminator-value": "Tar", + "description": "The Tar archive method used on a dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DatasetCompression" + } + ], + "properties": {} + }, + "DatasetTarGZipCompression": { + "x-ms-discriminator-value": "TarGZip", + "description": "The TarGZip compression method used on a dataset.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DatasetCompression" + } + ], + "properties": { + "level": { + "description": "The TarGZip compression level.", + "$ref": "#/definitions/CompressionLevel" + } + } + }, "CompressionLevel": { "title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel", "description": "All available compression levels.", @@ -729,7 +756,9 @@ "deflate", "zipDeflate", "snappy", - "lz4" + "lz4", + "tar", + "tarGZip" ], "x-ms-enum": { "name": "compressionCodec", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json index 0804d441a8f4..fe1f683bd72c 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json @@ -444,6 +444,38 @@ "componentName" ] }, + "AzPowerShellSetup": { + "description": "The express custom setup of installing Azure PowerShell.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CustomSetupBase" + } + ], + "properties": { + "typeProperties": { + "description": "Install Azure PowerShell type properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AzPowerShellSetupTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "AzPowerShellSetupTypeProperties": { + "description": "Installation of Azure PowerShell type properties.", + "type": "object", + "properties": { + "version": { + "description": "The required version of Azure PowerShell to install.", + "type": "string" + } + }, + "required": [ + "version" + ] + }, "EntityReference": { "description": "The entity reference.", "type": "object", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json index 4b63d84add83..a25553b01b00 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json @@ -162,6 +162,10 @@ "type": "object", "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." }, + "azureCloudType": { + "type": "object", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "encryptedCredential": { "type": "string", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." @@ -211,6 +215,10 @@ "type": "object", "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." }, + "azureCloudType": { + "type": "object", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "encryptedCredential": { "type": "object", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." @@ -307,6 +315,10 @@ "type": "object", "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." }, + "azureCloudType": { + "type": "object", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "encryptedCredential": { "type": "object", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." @@ -359,6 +371,10 @@ "type": "object", "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." }, + "azureCloudType": { + "type": "object", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "encryptedCredential": { "type": "object", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." @@ -965,6 +981,10 @@ "description": "The azure file share name. It is required when auth with accountKey/sasToken. Type: string (or Expression with resultType string).", "type": "object" }, + "snapshot": { + "description": "The azure file share snapshot version. Type: string (or Expression with resultType string).", + "type": "object" + }, "encryptedCredential": { "type": "object", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." @@ -1739,6 +1759,10 @@ "type": "object", "description": "Specify the application id of your application registered in Azure Active Directory. Type: string (or Expression with resultType string)." }, + "azureCloudType": { + "type": "object", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "aadResourceId": { "type": "object", "description": "Specify the resource you are requesting authorization to use Directory. Type: string (or Expression with resultType string)." @@ -2120,6 +2144,10 @@ "type": "object", "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." }, + "azureCloudType": { + "type": "object", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "accountName": { "type": "object", "description": "Data Lake Store account name. Type: string (or Expression with resultType string)." @@ -2184,6 +2212,10 @@ "type": "object", "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)." }, + "azureCloudType": { + "type": "object", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "encryptedCredential": { "type": "object", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." @@ -2473,6 +2505,10 @@ "type": "object", "description": "Language of the BW system where the open hub destination is located. The default value is EN. Type: string (or Expression with resultType string)." }, + "systemId": { + "type": "object", + "description": "SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string)." + }, "userName": { "type": "object", "description": "Username to access the SAP BW server where the open hub destination is located. Type: string (or Expression with resultType string)." @@ -2481,16 +2517,23 @@ "description": "Password to access the SAP BW server where the open hub destination is located.", "$ref": "../datafactory.json#/definitions/SecretBase" }, + "messageServer": { + "type": "object", + "description": "The hostname of the SAP Message Server. Type: string (or Expression with resultType string)." + }, + "messageServerService": { + "type": "object", + "description": "The service name or port number of the Message Server. Type: string (or Expression with resultType string)." + }, + "logonGroup": { + "type": "object", + "description": "The Logon Group for the SAP System. Type: string (or Expression with resultType string)." + }, "encryptedCredential": { "type": "object", "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." } - }, - "required": [ - "server", - "systemNumber", - "clientId" - ] + } }, "RestServiceLinkedService": { "x-ms-discriminator-value": "RestService", @@ -2557,6 +2600,10 @@ "description": "The tenant information (domain name or tenant ID) used in AadServicePrincipal authentication type under which your application resides.", "type": "object" }, + "azureCloudType": { + "type": "object", + "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)." + }, "aadResourceId": { "description": "The resource you are requesting authorization to use.", "type": "object" @@ -4326,6 +4373,10 @@ "QuickBooksLinkedServiceTypeProperties": { "description": "QuickBooks server linked service properties.", "properties": { + "connectionProperties": { + "description": "Properties used to connect to QuickBooks. It is mutually exclusive with any other properties in the linked service. Type: object.", + "type": "object" + }, "endpoint": { "description": "The endpoint of the QuickBooks server. (i.e. quickbooks.api.intuit.com)", "type": "object" @@ -4358,15 +4409,7 @@ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).", "type": "object" } - }, - "required": [ - "endpoint", - "companyId", - "consumerKey", - "consumerSecret", - "accessToken", - "accessTokenSecret" - ] + } }, "ServiceNowLinkedService": { "x-ms-discriminator-value": "ServiceNow", @@ -4634,6 +4677,10 @@ "SquareLinkedServiceTypeProperties": { "description": "Square Service linked service properties.", "properties": { + "connectionProperties": { + "description": "Properties used to connect to Square. It is mutually exclusive with any other properties in the linked service. Type: object.", + "type": "object" + }, "host": { "description": "The URL of the Square instance. (i.e. mystore.mysquare.com)", "type": "object" @@ -4666,12 +4713,7 @@ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).", "type": "object" } - }, - "required": [ - "host", - "clientId", - "redirectUri" - ] + } }, "XeroLinkedService": { "x-ms-discriminator-value": "Xero", @@ -4696,6 +4738,10 @@ "XeroLinkedServiceTypeProperties": { "description": "Xero Service linked service properties.", "properties": { + "connectionProperties": { + "description": "Properties used to connect to Xero. It is mutually exclusive with any other properties in the linked service. Type: object.", + "type": "object" + }, "host": { "description": "The endpoint of the Xero server. (i.e. api.xero.com)", "type": "object" @@ -4724,10 +4770,7 @@ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).", "type": "object" } - }, - "required": [ - "host" - ] + } }, "ZohoLinkedService": { "x-ms-discriminator-value": "Zoho", @@ -4752,6 +4795,10 @@ "ZohoLinkedServiceTypeProperties": { "description": "Zoho server linked service properties.", "properties": { + "connectionProperties": { + "description": "Properties used to connect to Zoho. It is mutually exclusive with any other properties in the linked service. Type: object.", + "type": "object" + }, "endpoint": { "description": "The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private)", "type": "object" @@ -4776,10 +4823,7 @@ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).", "type": "object" } - }, - "required": [ - "endpoint" - ] + } }, "VerticaLinkedService": { "x-ms-discriminator-value": "Vertica", @@ -4878,6 +4922,10 @@ "SalesforceMarketingCloudLinkedServiceTypeProperties": { "description": "Salesforce Marketing Cloud linked service properties.", "properties": { + "connectionProperties": { + "description": "Properties used to connect to Salesforce Marketing Cloud. It is mutually exclusive with any other properties in the linked service. Type: object.", + "type": "object" + }, "clientId": { "description": "The client ID associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).", "type": "object" @@ -4902,10 +4950,7 @@ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).", "type": "object" } - }, - "required": [ - "clientId" - ] + } }, "HDInsightOnDemandLinkedService": { "x-ms-discriminator-value": "HDInsightOnDemand", @@ -5251,6 +5296,10 @@ "description": "Type: string (or Expression with resultType string)." } }, + "newClusterLogDestination": { + "type": "object", + "description": "Specify a location to deliver Spark driver, worker, and event logs. Type: string (or Expression with resultType string)." + }, "newClusterDriverNodeType": { "type": "object", "description": "The driver node type for the new job cluster. This property is ignored in instance pool configurations. Type: string (or Expression with resultType string)." diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json new file mode 100644 index 000000000000..2aa2ace47536 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json @@ -0,0 +1,70 @@ +{ + "swagger": "2.0", + "info": { + "title": "DataFactoryManagementClient", + "version": "2018-06-01" + }, + "paths": {}, + "definitions": { + "ManagedPrivateEndpoint": { + "description": "Properties of a managed private endpoint", + "type": "object", + "discriminator": "type", + "properties": { + "connectionState": { + "description": "The managed private endpoint connection state", + "$ref": "#/definitions/ConnectionStateProperties" + }, + "fqdns": { + "description": "Fully qualified domain names", + "type": "array", + "items": { + "type": "string" + } + }, + "groupId": { + "description": "The groupId to which the managed private endpoint is created", + "type": "string" + }, + "isReserved": { + "description": "Denotes whether the managed private endpoint is reserved", + "type": "boolean", + "readOnly": true + }, + "privateLinkResourceId": { + "description": "The ARM resource ID of the resource to which the managed private endpoint is created", + "type": "string" + }, + "provisioningState": { + "description": "The managed private endpoint provisioning state", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": { + "type": "object" + } + }, + "ConnectionStateProperties": { + "description": "The connection state of a managed private endpoint", + "type": "object", + "properties": { + "actionsRequired": { + "description": "The actions required on the managed private endpoint", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The managed private endpoint description", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The approval status", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json new file mode 100644 index 000000000000..e1a1e226c159 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json @@ -0,0 +1,30 @@ +{ + "swagger": "2.0", + "info": { + "title": "DataFactoryManagementClient", + "version": "2018-06-01" + }, + "paths": {}, + "definitions": { + "ManagedVirtualNetwork": { + "description": "A managed Virtual Network associated with the Azure Data Factory", + "type": "object", + "discriminator": "type", + "properties": { + "vNetId": { + "description": "Managed Virtual Network ID.", + "type": "string", + "readOnly": true + }, + "alias": { + "description": "Managed Virtual Network alias.", + "type": "string", + "readOnly": true + } + }, + "additionalProperties": { + "type": "object" + } + } + } +} 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 bc89fb5b7d7b..be8062d5491d 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 @@ -779,6 +779,10 @@ "distcpSettings": { "description": "Specifies Distcp-related settings.", "$ref": "#/definitions/DistcpSettings" + }, + "deleteFilesAfterCompletion": { + "type": "object", + "description": "Indicates whether the source files need to be deleted after copy completion. Default is false. Type: boolean (or Expression with resultType boolean)." } } }, @@ -861,6 +865,15 @@ } ] }, + "AzureFileStorageWriteSettings": { + "description": "Azure File Storage write settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/StoreWriteSettings" + } + ] + }, "FormatReadSettings": { "description": "Format read settings.", "discriminator": "type", @@ -910,6 +923,36 @@ } } }, + "TarReadSettings": { + "description": "The Tar compression read settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CompressionReadSettings" + } + ], + "properties": { + "preserveCompressionFileNameAsFolder": { + "description": "Preserve the compression file name as folder path. Type: boolean (or Expression with resultType boolean).", + "type": "object" + } + } + }, + "TarGZipReadSettings": { + "description": "The TarGZip compression read settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CompressionReadSettings" + } + ], + "properties": { + "preserveCompressionFileNameAsFolder": { + "description": "Preserve the compression file name as folder path. Type: boolean (or Expression with resultType boolean).", + "type": "object" + } + } + }, "DelimitedTextReadSettings": { "description": "Delimited text read settings.", "type": "object", @@ -961,6 +1004,14 @@ "type": "object", "description": "Indicates what validation method is used when reading the xml files. Allowed values: 'none', 'xsd', or 'dtd'. Type: string (or Expression with resultType string)." }, + "detectDataType": { + "type": "object", + "description": "Indicates whether type detection is enabled when reading the xml files. Type: boolean (or Expression with resultType boolean)." + }, + "namespaces": { + "type": "object", + "description": "Indicates whether namespace is enabled when reading the xml files. Type: boolean (or Expression with resultType boolean)." + }, "namespacePrefixes": { "type": "object", "description": "Namespace uri to prefix mappings to override the prefixes in column names when namespace is enabled, if no prefix is defined for a namespace uri, the prefix of xml element/attribute name in the xml data file will be used. Example: \"{\"http://www.example.com/xml\":\"prefix\"}\" Type: object (or Expression with resultType object)." @@ -1015,6 +1066,52 @@ "recordNamespace": { "type": "string", "description": "Record namespace in the write result." + }, + "maxRowsPerFile": { + "type": "object", + "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)." + }, + "fileNamePrefix": { + "type": "object", + "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)." + } + } + }, + "OrcWriteSettings": { + "description": "Orc write settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FormatWriteSettings" + } + ], + "properties": { + "maxRowsPerFile": { + "type": "object", + "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)." + }, + "fileNamePrefix": { + "type": "object", + "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)." + } + } + }, + "ParquetWriteSettings": { + "description": "Parquet write settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FormatWriteSettings" + } + ], + "properties": { + "maxRowsPerFile": { + "type": "object", + "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)." + }, + "fileNamePrefix": { + "type": "object", + "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)." } } }, @@ -1034,6 +1131,14 @@ "fileExtension": { "type": "object", "description": "The file extension used to create the files. Type: string (or Expression with resultType string)." + }, + "maxRowsPerFile": { + "type": "object", + "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)." + }, + "fileNamePrefix": { + "type": "object", + "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)." } }, "required": [ @@ -1279,6 +1384,10 @@ "storeSettings": { "$ref": "#/definitions/StoreWriteSettings", "description": "ORC store settings." + }, + "formatSettings": { + "$ref": "#/definitions/OrcWriteSettings", + "description": "ORC format settings." } } }, @@ -1551,6 +1660,10 @@ "type": "object", "description": "Preferred regions. Type: array of strings (or Expression with resultType array of strings)." }, + "detectDatetime": { + "type": "object", + "description": "Whether detect primitive values as datetime values. Type: boolean (or Expression with resultType boolean)." + }, "additionalColumns": { "type": "array", "description": "Specifies the additional columns to be added to source data. Type: array of objects (or Expression with resultType array of objects).", @@ -1962,6 +2075,14 @@ "baseRequestId": { "type": "object", "description": "The ID of request for delta loading. Once it is set, only data with requestId larger than the value of this property will be retrieved. The default value is 0. Type: integer (or Expression with resultType integer )." + }, + "customRfcReadTableFunctionModule": { + "type": "object", + "description": "Specifies the custom RFC function module that will be used to read data from SAP Table. Type: string (or Expression with resultType string)." + }, + "sapDataColumnDelimiter": { + "type": "object", + "description": "The single character that will be used as delimiter passed to SAP RFC as well as splitting the output data retrieved. Type: string (or Expression with resultType string)." } } }, @@ -1998,6 +2119,10 @@ "type": "object", "description": "Specifies the custom RFC function module that will be used to read data from SAP Table. Type: string (or Expression with resultType string)." }, + "sapDataColumnDelimiter": { + "type": "object", + "description": "The single character that will be used as delimiter passed to SAP RFC as well as splitting the output data retrieved. Type: string (or Expression with resultType string)." + }, "partitionOption": { "description": "The partition mechanism that will be used for SAP table read in parallel.", "type": "string", @@ -2042,6 +2167,41 @@ } } }, + "RestSink": { + "description": "A copy activity Rest service Sink.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopySink" + } + ], + "properties": { + "requestMethod": { + "type": "object", + "description": "The HTTP method used to call the RESTful API. The default is POST. Type: string (or Expression with resultType string)." + }, + "additionalHeaders": { + "type": "object", + "description": "The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string)." + }, + "httpRequestTimeout": { + "type": "object", + "description": "The timeout (TimeSpan) to get an HTTP response. It is the timeout to get a response, not the timeout to read response data. Default value: 00:01:40. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))." + }, + "requestInterval": { + "type": "object", + "description": "The time to await before sending next request, in milliseconds " + }, + "compressionType": { + "type": "object", + "description": "Compression Type to Send data in compressed format with Optimal Compression Level, Default is None. And The Only Supported option is Gzip. " + }, + "wrapRequestJsonInAnObject": { + "type": "object", + "description": "Wraps Request Array Json into an Object before calling the rest endpoint , Default is false. ex: if true request content sample format is { rows:[]} else the format is []" + } + } + }, "RestSource": { "description": "A copy activity Rest service source.", "type": "object", @@ -3637,6 +3797,10 @@ "storeSettings": { "$ref": "#/definitions/StoreWriteSettings", "description": "Parquet store settings." + }, + "formatSettings": { + "$ref": "#/definitions/ParquetWriteSettings", + "description": "Parquet format settings." } } }, @@ -4061,6 +4225,14 @@ "path": { "type": "object", "description": "The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string)." + }, + "logLevel": { + "type": "object", + "description": "Gets or sets the log level, support: Info, Warning. Type: string (or Expression with resultType string)." + }, + "enableReliableLogging": { + "type": "object", + "description": "Specifies whether to enable reliable logging. Type: boolean (or Expression with resultType boolean)." } }, "additionalProperties": { @@ -6539,7 +6711,7 @@ }, "reportStatusOnCallBack": { "type": "object", - "description": "When set to true, statusCode, output and error in callback request body will be consumed by activity. The activity can be marked as failed by setting statusCode >= 400 in callback request. Default is false. Type: boolean (or Expression with resultType boolean)." + "description": "When set to true, statusCode, output and error in callback request body will be consumed by activity. The activity can be marked as failed by setting statusCode >= 400 in callback request. Default is false. Type: boolean (or Expression with resultType boolean)." } }, "required": [ diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_QueryFeatureValuesByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_QueryFeatureValuesByFactory.json new file mode 100644 index 000000000000..a546ad232dc1 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_QueryFeatureValuesByFactory.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "exposureControlBatchRequest": { + "exposureControlRequests": [ + { + "featureName": "ADFIntegrationRuntimeSharingRbac", + "featureType": "Feature" + }, + { + "featureName": "ADFSampleFeature", + "featureType": "Feature" + } + ] + }, + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Sat, 22 Dec 2018 09:46:07 GMT", + "X-Content-Type-Options": "nosniff" + }, + "body": { + "exposureControlResponses": [ + { + "featureName": "ADFIntegrationRuntimeSharingRbac", + "value": "False" + }, + { + "featureName": "ADFSampleFeature", + "value": "True" + } + ] + } + } + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Create.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Create.json new file mode 100644 index 000000000000..6b2fe0e51eec --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Create.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "managedVirtualNetworkName": "exampleManagedVirtualNetworkName", + "managedPrivateEndpointName": "exampleManagedPrivateEndpointName", + "ifMatch": null, + "managedPrivateEndpoint": { + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleBlobStorage", + "groupId": "blob", + "fqdns": [] + } + }, + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Jun 2020 22:20:47 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-writes": "1197", + "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6", + "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName/managedPrivateEndpoints/exampleManagedPrivateEndpointName", + "name": "exampleManagedPrivateEndpointName", + "type": "Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleBlobStorage", + "groupId": "blob", + "fqdns": [], + "connectionState": { + "status": "Pending", + "description": "", + "actionsRequired": "None" + } + }, + "etag": "000046c4-0000-0000-0000-5b2198bf0000" + } + } + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Delete.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Delete.json new file mode 100644 index 000000000000..ad877baef007 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "managedVirtualNetworkName": "exampleManagedVirtualNetworkName", + "managedPrivateEndpointName": "exampleManagedPrivateEndpointName", + "api-version": "2018-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Get.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Get.json new file mode 100644 index 000000000000..dd2d661872bf --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "managedVirtualNetworkName": "exampleManagedVirtualNetworkName", + "managedPrivateEndpointName": "exampleManagedPrivateEndpointName", + "ifNoneMatch": "15003c4f-0000-0200-0000-5cbe090b0000", + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Mon, 22 Apr 2019 18:33:47 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "11997", + "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6", + "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName/managedPrivateEndpoints/exampleManagedPrivateEndpointName", + "name": "exampleManagedPrivateEndpointName", + "type": "Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleBlobStorage", + "groupId": "blob", + "fqdns": [], + "connectionState": { + "status": "Pending", + "description": "", + "actionsRequired": "None" + } + }, + "etag": "000046c4-0000-0000-0000-5b2198bf0000" + } + } + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_ListByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_ListByFactory.json new file mode 100644 index 000000000000..7cd244238e52 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_ListByFactory.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "managedVirtualNetworkName": "exampleManagedVirtualNetworkName", + "ifNoneMatch": null, + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Jun 2020 21:33:05 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14909", + "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6", + "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6" + }, + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName/managedPrivateEndpoints/exampleManagedPrivateEndpointName", + "name": "exampleManagedPrivateEndpointName", + "type": "Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleBlobStorage", + "groupId": "blob", + "fqdns": [], + "connectionState": { + "status": "Pending", + "description": "", + "actionsRequired": "None" + } + }, + "etag": "000046c4-0000-0000-0000-5b2198bf0000" + } + ] + } + } + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Create.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Create.json new file mode 100644 index 000000000000..b443262b85ed --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Create.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "managedVirtualNetworkName": "exampleManagedVirtualNetworkName", + "ifMatch": null, + "managedVirtualNetwork": { + "properties": {} + }, + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Jun 2020 22:20:47 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-writes": "1197", + "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6", + "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName", + "name": "exampleManagedVirtualNetworkName", + "type": "Microsoft.DataFactory/factories/managedVirtualNetworks", + "properties": { + "alias": "exampleFactoryName", + "vNetId": "12345678-1234-1234-1234-12345678123" + }, + "etag": "000046c4-0000-0000-0000-5b2198bf0000" + } + } + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Get.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Get.json new file mode 100644 index 000000000000..eb57ca1526a9 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "managedVirtualNetworkName": "exampleManagedVirtualNetworkName", + "ifNoneMatch": "15003c4f-0000-0200-0000-5cbe090b0000", + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Mon, 22 Apr 2019 18:33:47 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "11997", + "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6", + "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName", + "name": "exampleManagedVirtualNetworkName", + "type": "Microsoft.DataFactory/factories/managedVirtualNetworks", + "properties": { + "alias": "exampleFactoryName", + "vNetId": "5a7bd944-87e6-454a-8d4d-9fba446514fd" + }, + "etag": "15003c4f-0000-0200-0000-5cbe090b0000" + } + } + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_ListByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_ListByFactory.json new file mode 100644 index 000000000000..9a664e3739e0 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_ListByFactory.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "ifNoneMatch": null, + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Jun 2020 21:33:05 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14909", + "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6", + "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6" + }, + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName", + "name": "exampleManagedVirtualNetworkName", + "type": "Microsoft.DataFactory/factories/managedVirtualNetworks", + "properties": { + "alias": "exampleFactoryName", + "vNetId": "5a7bd944-87e6-454a-8d4d-9fba446514fd" + }, + "etag": "0400f1a1-0000-0000-0000-5b2188640000" + } + ] + } + } + } +} diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/TriggerRuns_Cancel.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/TriggerRuns_Cancel.json new file mode 100644 index 000000000000..b06046f294f8 --- /dev/null +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/TriggerRuns_Cancel.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-12345678abc", + "resourceGroupName": "exampleResourceGroup", + "factoryName": "exampleFactoryName", + "triggerName": "exampleTrigger", + "runId": "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b", + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "headers": { + "Date": "Sat, 16 Jun 2018 00:46:24 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-writes": "1198", + "x-ms-request-id": "5aa854a5-7ac0-4c7e-9356-79c657f4e231", + "x-ms-correlation-request-id": "5aa854a5-7ac0-4c7e-9356-79c657f4e231" + } + } + } +} diff --git a/specification/datafactory/resource-manager/readme.az.md b/specification/datafactory/resource-manager/readme.az.md new file mode 100644 index 000000000000..c66b104e4430 --- /dev/null +++ b/specification/datafactory/resource-manager/readme.az.md @@ -0,0 +1,86 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: datafactory + namespace: azure.mgmt.datafactory + package-name: azure-mgmt-datafactory + disable-checks: true + randomize-names: true +az-output-folder: $(azure-cli-extension-folder)/src/datafactory +python-sdk-output-folder: "$(az-output-folder)/azext_datafactory/vendored_sdks/datafactory" + +input-file: +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json +- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json + +directive: + - from: swagger-document + where: $.definitions.JsonFormatFilePattern + transform: > + $['type'] = 'string'; + - from: swagger-document + where: $.definitions.CompressionLevel + transform: > + $['type'] = 'string'; + - from: swagger-document + where: $.definitions.DynamicsLinkedServiceTypeProperties.properties.servicePrincipalCredentialType + transform: > + $['type'] = 'string'; + - from: swagger-document + where: $.definitions.ScriptAction.properties.roles + transform: > + $['type'] = 'string'; + - where: + command: datafactory integration-runtime create-linked-integration-runtime + set: + command: datafactory integration-runtime linked-integration-runtime create + +cli: + cli-directive: + # directive on operationGroup + - where: + group: Pipelines + op: CreateOrUpdate$|CreateOrUpdate#Create + parameter: pipeline + json: true + - where: + group: IntegrationRuntimes + op: CreateOrUpdate + param: properties + poly-resource: true + - where: + group: IntegrationRuntimes + op: CreateOrUpdate#* + param: properties + poly-resource: true + - where: + group: ExposureControl|IntegrationRuntimeObjectMetadata|DataFlows|DataFlowDebugSession|ManagedVirtualNetworks|ManagedPrivateEndpoints + hidden: true + - where: + group: Factories + op: ConfigureFactoryRepo + param: locationId + name: location + - where: + group: IntegrationRuntimes + op: CreateLinkedIntegrationRuntime + param: dataFactoryLocation + name: location + - where: + group: Triggers|LinkedServices|Datasets + op: CreateOrUpdate#Update + param: properties + cli-flatten: true + - where: + group: Pipelines + op: CreateOrUpdate#Update + param: pipeline + cli-flatten: true +``` diff --git a/specification/datafactory/resource-manager/readme.azureresourceschema.md b/specification/datafactory/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d73c49adc290 --- /dev/null +++ b/specification/datafactory/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datafactory-2018-06-01 + - tag: schema-datafactory-2017-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datafactory-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-datafactory-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataFactory/stable/2018-06-01/datafactory.json + +``` + +### Tag: schema-datafactory-2017-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datafactory-2017-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json + +``` diff --git a/specification/datafactory/resource-manager/readme.cli.md b/specification/datafactory/resource-manager/readme.cli.md index 67b563417786..d50517ab5ce0 100644 --- a/specification/datafactory/resource-manager/readme.cli.md +++ b/specification/datafactory/resource-manager/readme.cli.md @@ -5,87 +5,66 @@ These settings apply only when `--cli` is specified on the command line. ``` yaml $(cli) cli: namespace: azure.mgmt.datafactory - flatten-all: true test-scenario: - name: Factories_CreateOrUpdate - #- name: Datasets_Create - #- name: Datasets_Update - #- name: Triggers_Update - #- name: Triggers_Create - #- name: DataFlows_Update - #- name: Pipelines_Create - #- name: DataFlows_Create - #- name: Pipelines_Update - #- name: LinkedServices_Create - #- name: LinkedServices_Update - #- name: IntegrationRuntimes_Create - #- name: RerunTriggers_Create - #- name: IntegrationRuntimeNodes_Get - #- name: IntegrationRuntimes_Get - #- name: RerunTriggers_ListByTrigger - #- name: LinkedServices_Get - #- name: PipelineRuns_Get - #- name: Pipelines_Get - #- name: DataFlows_Get - #- name: Datasets_Get - #- name: Triggers_Get - #- name: IntegrationRuntimes_ListByFactory - #- name: LinkedServices_ListByFactory - #- name: DataFlows_ListByFactory - #- name: Pipelines_ListByFactory - #- name: Triggers_ListByFactory - #- name: Datasets_ListByFactory - #- name: Factories_Get - #- name: Factories_ListByResourceGroup - #- name: Factories_List - #- name: Operations_List - #- name: IntegrationRuntimeNodes_GetIpAddress - #- name: IntegrationRuntimes_CreateLinkedIntegrationRuntime - #- name: RerunTriggers_Cancel - #- name: RerunTriggers_Start - #- name: IntegrationRuntimeNodes_Update - #- name: IntegrationRuntimeObjectMetadata_Refresh - #- name: RerunTriggers_Stop - #- name: IntegrationRuntimes_RegenerateAuthKey - #- name: Triggers_Rerun - #- name: IntegrationRuntimeObjectMetadata_Get - #- name: IntegrationRuntimes_GetConnectionInfo - #- name: IntegrationRuntimes_SyncCredentials - #- name: IntegrationRuntimes_GetMonitoringData - #- name: IntegrationRuntimes_ListAuthKeys - #- name: IntegrationRuntimes_Upgrade - #- name: IntegrationRuntimes_GetStatus - #- name: IntegrationRuntimes_Upgrade - #- name: IntegrationRuntimes_Start - #- name: IntegrationRuntimes_Stop - #- name: Triggers_GetEventSubscriptionStatus - #- name: ActivityRuns_QueryByPipelineRun - #- name: IntegrationRuntimes_Update - #- name: Triggers_UnsubscribeFromEvents - #- name: Triggers_SubscribeToEvents - #- name: PipelineRuns_Cancel - #- name: Pipelines_CreateRun - #- name: Triggers_Start - #- name: Triggers_Stop - #- name: DataFlowDebugSession_ExecuteCommand - #- name: DataFlowDebugSession_Delete - #- name: DataFlowDebugSession_Create - #- name: DataFlowDebugSession_QueryByFactory - #- name: DataFlowDebugSession_AddDataFlow - #- name: Factories_GetGitHubAccessToken - #- name: Factories_GetDataPlaneAccess - #- name: PipelineRuns_QueryByFactory - #- name: TriggerRuns_QueryByFactory - #- name: ExposureControl_GetFeatureValueByFactory - #- name: Factories_Update - #- name: Factories_ConfigureFactoryRepo - #- name: ExposureControl_GetFeatureValue - #- name: IntegrationRuntimesNodes_Delete - #- name: IntegrationRuntimes_Delete - #- name: LinkedServices_Delete - #- name: Pipelines_Delete - #- name: DataFlows_Delete - #- name: Datasets_Delete - #- name: Triggers_Delete - #- name: Factories_Delete + - name: Factories_Update + - name: LinkedServices_Create + - name: LinkedServices_Update + - name: Datasets_Create + - name: Datasets_Update + - name: Pipelines_Create + - name: Pipelines_Update + - name: Triggers_Create + - name: Triggers_Update + - name: IntegrationRuntimes_Create + - name: IntegrationRuntimes_Update + - name: IntegrationRuntimes_CreateLinkedIntegrationRuntime + - name: Pipelines_CreateRun + - name: IntegrationRuntimes_Get + - name: RerunTriggers_ListByTrigger + - name: LinkedServices_Get + - name: PipelineRuns_Get + - name: Pipelines_Get + - name: Datasets_Get + - name: Triggers_Get + - name: IntegrationRuntimes_ListByFactory + - name: LinkedServices_ListByFactory + - name: Pipelines_ListByFactory + - name: Triggers_ListByFactory + - name: Datasets_ListByFactory + - name: Factories_Get + - name: Factories_ListByResourceGroup + - name: Factories_List + - name: Operations_List + - name: RerunTriggers_Cancel + - name: RerunTriggers_Start + - name: RerunTriggers_Stop + - name: IntegrationRuntimes_RegenerateAuthKey + - name: TriggerRuns_Rerun + - name: IntegrationRuntimes_GetConnectionInfo + - name: IntegrationRuntimes_SyncCredentials + - name: IntegrationRuntimes_GetMonitoringData + - name: IntegrationRuntimes_ListAuthKeys + - name: IntegrationRuntimes_Upgrade + - name: IntegrationRuntimes_GetStatus + - name: IntegrationRuntimes_Start + - name: IntegrationRuntimes_Stop + - name: Triggers_GetEventSubscriptionStatus + - name: ActivityRuns_QueryByPipelineRun + - name: Triggers_UnsubscribeFromEvents + - name: Triggers_SubscribeToEvents + - name: Triggers_Start + - name: Triggers_Stop + - name: Factories_GetGitHubAccessToken + - name: Factories_GetDataPlaneAccess + - name: PipelineRuns_QueryByFactory + - name: PipelineRuns_Cancel + - name: TriggerRuns_QueryByFactory + - name: Factories_ConfigureFactoryRepo + - name: IntegrationRuntimes_Delete + - name: Triggers_Delete + - name: Pipelines_Delete + - name: Datasets_Delete + - name: LinkedServices_Delete + - name: Factories_Delete ``` diff --git a/specification/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md index 6ab27eaa4547..73ba78baf313 100644 --- a/specification/datafactory/resource-manager/readme.md +++ b/specification/datafactory/resource-manager/readme.md @@ -65,6 +65,10 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datafactory/resource-manager ``` @@ -82,33 +86,6 @@ csharp: clear-output-folder: true ``` -## 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.datafactory - package-name: azure-mgmt-datafactory - package-version: 1.0.0 - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory -``` ## Go @@ -219,6 +196,10 @@ directive: - DataFlow add type required ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/datafactory/resource-manager/readme.python.md b/specification/datafactory/resource-manager/readme.python.md new file mode 100644 index 000000000000..56d82b37fb7a --- /dev/null +++ b/specification/datafactory/resource-manager/readme.python.md @@ -0,0 +1,26 @@ +## 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 + namespace: azure.mgmt.datafactory + package-name: azure-mgmt-datafactory + package-version: 1.0.0 + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory +``` diff --git a/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ee0f54438247 --- /dev/null +++ b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datalakeanalytics-2016-11-01 + - tag: schema-datalakeanalytics-2015-10-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datalakeanalytics-2016-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-datalakeanalytics-2016-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json + +``` + +### Tag: schema-datalakeanalytics-2015-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datalakeanalytics-2015-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json + +``` diff --git a/specification/datalake-analytics/resource-manager/readme.md b/specification/datalake-analytics/resource-manager/readme.md index a56f88ac31a4..13dc4c7c3e79 100644 --- a/specification/datalake-analytics/resource-manager/readme.md +++ b/specification/datalake-analytics/resource-manager/readme.md @@ -81,6 +81,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_datalake_analytics'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datalake-analytics/resource-manager ``` @@ -168,6 +171,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/datalake-store/resource-manager/readme.azureresourceschema.md b/specification/datalake-store/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6382fd8e0e7e --- /dev/null +++ b/specification/datalake-store/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datalakestore-2016-11-01 + - tag: schema-datalakestore-2015-10-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datalakestore-2016-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-datalakestore-2016-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataLakeStore/stable/2016-11-01/account.json + +``` + +### Tag: schema-datalakestore-2015-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datalakestore-2015-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataLakeStore/preview/2015-10-01-preview/account.json + +``` diff --git a/specification/datalake-store/resource-manager/readme.md b/specification/datalake-store/resource-manager/readme.md index 6a0432a35413..82889495064d 100644 --- a/specification/datalake-store/resource-manager/readme.md +++ b/specification/datalake-store/resource-manager/readme.md @@ -83,6 +83,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_datalake_store'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datalake-store/resource-manager ``` @@ -180,6 +183,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/datamigration/resource-manager/readme.azureresourceschema.md b/specification/datamigration/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..721f822565b6 --- /dev/null +++ b/specification/datamigration/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,170 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datamigration-2018-07-15-preview + - tag: schema-datamigration-2018-04-19 + - tag: schema-datamigration-2018-03-31-preview + - tag: schema-datamigration-2018-03-15-preview + - tag: schema-datamigration-2017-11-15-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datamigration-2018-07-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2018-07-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/preview/2018-07-15-preview/datamigration.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceMySqlTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSsisTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrationValidation.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetTdeCertificatesSqlTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceTasks.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json + - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json + +``` + +### Tag: schema-datamigration-2018-04-19 and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2018-04-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/stable/2018-04-19/datamigration.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Projects.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Services.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrationValidation.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json + - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json + +``` + +### Tag: schema-datamigration-2018-03-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2018-03-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/preview/2018-03-31-preview/datamigration.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrationValidation.json + - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json + +``` + +### Tag: schema-datamigration-2018-03-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2018-03-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/preview/2018-03-15-preview/datamigration.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrationValidation.json + - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json + +``` + +### Tag: schema-datamigration-2017-11-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datamigration-2017-11-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataMigration/preview/2017-11-15-preview/datamigration.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrationValidation.json + +``` diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md index 52e90b3fd384..8874cc7a8f43 100644 --- a/specification/datamigration/resource-manager/readme.md +++ b/specification/datamigration/resource-manager/readme.md @@ -192,6 +192,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-java + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datamigration/resource-manager ``` ## C# @@ -216,6 +219,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json index 16a12f490476..8a7e7d21fe20 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json @@ -16,6 +16,53 @@ "application/json" ], "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts": { + "get": { + "tags": [ + "Account" + ], + "summary": "List Accounts in a subscription", + "description": "List Accounts in Subscription", + "operationId": "Accounts_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Continuation token", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "An error response received from the Microsoft.DataShare resource provider.", + "schema": { + "$ref": "#/definitions/DataShareError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Accounts_ListBySubscription": { + "$ref": "./examples/Accounts_ListBySubscription.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}": { "get": { "tags": [ @@ -214,53 +261,6 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts": { - "get": { - "tags": [ - "Account" - ], - "summary": "List Accounts in a subscription", - "description": "List Accounts in Subscription", - "operationId": "Accounts_ListBySubscription", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "name": "$skipToken", - "in": "query", - "description": "Continuation token", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/AccountList" - } - }, - "default": { - "description": "An error response received from the Microsoft.DataShare resource provider.", - "schema": { - "$ref": "#/definitions/DataShareError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Accounts_ListBySubscription": { - "$ref": "./examples/Accounts_ListBySubscription.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts": { "get": { "tags": [ @@ -311,40 +311,31 @@ } } }, - "/providers/Microsoft.DataShare/locations/{location}/RejectInvitation": { - "post": { + "/providers/Microsoft.DataShare/ListInvitations": { + "get": { "tags": [ "ConsumerInvitation" ], - "summary": "Rejects the invitation identified by invitationId", - "description": "Reject an invitation", - "operationId": "ConsumerInvitations_RejectInvitation", + "summary": "List the invitations", + "description": "Lists invitations", + "operationId": "ConsumerInvitations_ListInvitations", "parameters": [ { - "name": "location", - "in": "path", - "description": "Location of the invitation", - "required": true, - "type": "string" - }, - { - "name": "invitation", - "in": "body", - "description": "An invitation payload", - "required": true, - "schema": { - "$ref": "#/definitions/ConsumerInvitation" - } + "$ref": "#/parameters/api-version" }, { - "$ref": "#/parameters/api-version" + "name": "$skipToken", + "in": "query", + "description": "The continuation token", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ConsumerInvitation" + "$ref": "#/definitions/ConsumerInvitationList" } }, "default": { @@ -354,9 +345,12 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "ConsumerInvitations_RejectInvitation": { - "$ref": "./examples/ConsumerInvitations_RejectInvitation.json" + "ConsumerInvitations_ListInvitations": { + "$ref": "./examples/ConsumerInvitations_ListInvitations.json" } } } @@ -409,31 +403,40 @@ } } }, - "/providers/Microsoft.DataShare/ListInvitations": { - "get": { + "/providers/Microsoft.DataShare/locations/{location}/RejectInvitation": { + "post": { "tags": [ "ConsumerInvitation" ], - "summary": "List the invitations", - "description": "Lists invitations", - "operationId": "ConsumerInvitations_ListInvitations", + "summary": "Rejects the invitation identified by invitationId", + "description": "Reject an invitation", + "operationId": "ConsumerInvitations_RejectInvitation", "parameters": [ { - "$ref": "#/parameters/api-version" + "name": "location", + "in": "path", + "description": "Location of the invitation", + "required": true, + "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "The continuation token", - "required": false, - "type": "string" + "name": "invitation", + "in": "body", + "description": "An invitation payload", + "required": true, + "schema": { + "$ref": "#/definitions/ConsumerInvitation" + } + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ConsumerInvitationList" + "$ref": "#/definitions/ConsumerInvitation" } }, "default": { @@ -443,12 +446,9 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "ConsumerInvitations_ListInvitations": { - "$ref": "./examples/ConsumerInvitations_ListInvitations.json" + "ConsumerInvitations_RejectInvitation": { + "$ref": "./examples/ConsumerInvitations_RejectInvitation.json" } } } @@ -685,6 +685,20 @@ "description": "continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { @@ -936,6 +950,20 @@ "description": "Continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { @@ -1178,6 +1206,20 @@ "description": "The continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { @@ -1241,14 +1283,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails": { + "post": { "tags": [ "Share" ], - "summary": "Get a specified share", - "description": "Get a share ", - "operationId": "Shares_Get", + "summary": "List data set level details for a share synchronization", + "description": "List synchronization details", + "operationId": "Shares_ListSynchronizationDetails", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1262,19 +1304,49 @@ { "name": "shareName", "in": "path", - "description": "The name of the share to retrieve.", + "description": "The name of the share.", "required": true, "type": "string" }, + { + "name": "shareSynchronization", + "in": "body", + "description": "Share Synchronization payload.", + "required": true, + "schema": { + "$ref": "#/definitions/ShareSynchronization" + } + }, { "$ref": "#/parameters/api-version" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Continuation token", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/Share" + "$ref": "#/definitions/SynchronizationDetailsList" } }, "default": { @@ -1284,82 +1356,24 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Shares_Get": { - "$ref": "./examples/Shares_Get.json" + "Shares_ListSynchronizationDetails": { + "$ref": "./examples/Shares_ListSynchronizationDetails.json" } } - }, - "put": { - "tags": [ - "Share" - ], - "summary": "Create a share in the given account.", - "description": "Create a share ", - "operationId": "Shares_Create", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/accountName" - }, - { - "name": "shareName", - "in": "path", - "description": "The name of the share.", - "required": true, - "type": "string" - }, - { - "name": "share", - "in": "body", - "description": "The share payload", - "required": true, - "schema": { - "$ref": "#/definitions/Share" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "201": { - "description": "Success", - "schema": { - "$ref": "#/definitions/Share" - } - }, - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/Share" - } - }, - "default": { - "description": "An error response received from the Microsoft.DataShare resource provider.", - "schema": { - "$ref": "#/definitions/DataShareError" - } - } - }, - "x-ms-examples": { - "Shares_Create": { - "$ref": "./examples/Shares_Create.json" - } - } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations": { + "post": { "tags": [ "Share" ], - "summary": "Deletes a share", - "description": "Delete a share ", - "operationId": "Shares_Delete", + "summary": "List Synchronizations in a share", + "description": "List synchronizations of a share", + "operationId": "Shares_ListSynchronizations", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1379,61 +1393,25 @@ }, { "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/OperationResponse" - } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "Success" - }, - "default": { - "description": "An error response received from the Microsoft.DataShare resource provider.", - "schema": { - "$ref": "#/definitions/DataShareError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Shares_Delete": { - "$ref": "./examples/Shares_Delete.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares": { - "get": { - "tags": [ - "Share" - ], - "summary": "List of available shares under an account.", - "description": "List shares in an account", - "operationId": "Shares_ListByAccount", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" }, { - "$ref": "#/parameters/accountName" + "name": "$skipToken", + "in": "query", + "description": "Continuation token", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" }, { - "name": "$skipToken", + "name": "$orderby", "in": "query", - "description": "Continuation Token", + "description": "Sorts the results using OData syntax.", "required": false, "type": "string" } @@ -1442,7 +1420,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareList" + "$ref": "#/definitions/ShareSynchronizationList" } }, "default": { @@ -1456,20 +1434,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Shares_ListByAccount": { - "$ref": "./examples/Shares_ListByAccount.json" + "Shares_ListSynchronizations": { + "$ref": "./examples/Shares_ListSynchronizations.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate": { "post": { "tags": [ "Share" ], - "summary": "List Synchronizations in a share", - "description": "List synchronizations of a share", - "operationId": "Shares_ListSynchronizations", + "summary": "Reinstate share subscription in a provider share.", + "description": "Reinstate share subscription in a provider share", + "operationId": "ProviderShareSubscriptions_Reinstate", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1488,21 +1466,21 @@ "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "providerShareSubscriptionId", + "in": "path", + "description": "To locate shareSubscription", + "required": true, + "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "Continuation token", - "required": false, - "type": "string" + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSynchronizationList" + "$ref": "#/definitions/ProviderShareSubscription" } }, "default": { @@ -1512,24 +1490,21 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Shares_ListSynchronizations": { - "$ref": "./examples/Shares_ListSynchronizations.json" + "ProviderShareSubscriptions_Reinstate": { + "$ref": "./examples/ProviderShareSubscriptions_Reinstate.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke": { "post": { "tags": [ "Share" ], - "summary": "List data set level details for a share synchronization", - "description": "List synchronization details", - "operationId": "Shares_ListSynchronizationDetails", + "summary": "Revoke share subscription in a provider share.", + "description": "Revoke share subscription in a provider share", + "operationId": "ProviderShareSubscriptions_Revoke", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1548,30 +1523,27 @@ "type": "string" }, { - "name": "shareSynchronization", - "in": "body", - "description": "Share Synchronization payload.", + "name": "providerShareSubscriptionId", + "in": "path", + "description": "To locate shareSubscription", "required": true, - "schema": { - "$ref": "#/definitions/ShareSynchronization" - } + "type": "string" }, { "$ref": "#/parameters/api-version" - }, - { - "name": "$skipToken", - "in": "query", - "description": "Continuation token", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/SynchronizationDetailsList" + "$ref": "#/definitions/ProviderShareSubscription" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/ProviderShareSubscription" } }, "default": { @@ -1581,12 +1553,13 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "Shares_ListSynchronizationDetails": { - "$ref": "./examples/Shares_ListSynchronizationDetails.json" + "ProviderShareSubscriptions_Revoke": { + "$ref": "./examples/ProviderShareSubscriptions_Revoke.json" } } } @@ -1708,14 +1681,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}": { + "get": { "tags": [ "Share" ], - "summary": "Revoke share subscription in a provider share.", - "description": "Revoke share subscription in a provider share", - "operationId": "ProviderShareSubscriptions_Revoke", + "summary": "Get a specified share", + "description": "Get a share ", + "operationId": "Shares_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1729,14 +1702,7 @@ { "name": "shareName", "in": "path", - "description": "The name of the share.", - "required": true, - "type": "string" - }, - { - "name": "providerShareSubscriptionId", - "in": "path", - "description": "To locate shareSubscription", + "description": "The name of the share to retrieve.", "required": true, "type": "string" }, @@ -1748,13 +1714,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ProviderShareSubscription" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/ProviderShareSubscription" + "$ref": "#/definitions/Share" } }, "default": { @@ -1764,25 +1724,19 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, "x-ms-examples": { - "ProviderShareSubscriptions_Revoke": { - "$ref": "./examples/ProviderShareSubscriptions_Revoke.json" + "Shares_Get": { + "$ref": "./examples/Shares_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate": { - "post": { + }, + "put": { "tags": [ "Share" ], - "summary": "Reinstate share subscription in a provider share.", - "description": "Reinstate share subscription in a provider share", - "operationId": "ProviderShareSubscriptions_Reinstate", + "summary": "Create a share in the given account.", + "description": "Create a share ", + "operationId": "Shares_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1801,21 +1755,29 @@ "type": "string" }, { - "name": "providerShareSubscriptionId", - "in": "path", - "description": "To locate shareSubscription", + "name": "share", + "in": "body", + "description": "The share payload", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/Share" + } }, { "$ref": "#/parameters/api-version" } ], "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Share" + } + }, "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ProviderShareSubscription" + "$ref": "#/definitions/Share" } }, "default": { @@ -1826,20 +1788,18 @@ } }, "x-ms-examples": { - "ProviderShareSubscriptions_Reinstate": { - "$ref": "./examples/ProviderShareSubscriptions_Reinstate.json" + "Shares_Create": { + "$ref": "./examples/Shares_Create.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}": { - "get": { + }, + "delete": { "tags": [ - "ShareSubscription" + "Share" ], - "summary": "Get shareSubscription in an account.", - "description": "Get a shareSubscription in an account", - "operationId": "ShareSubscriptions_Get", + "summary": "Deletes a share", + "description": "Delete a share ", + "operationId": "Shares_Delete", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1851,9 +1811,9 @@ "$ref": "#/parameters/accountName" }, { - "name": "shareSubscriptionName", + "name": "shareName", "in": "path", - "description": "The name of the shareSubscription.", + "description": "The name of the share.", "required": true, "type": "string" }, @@ -1865,9 +1825,15 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscription" + "$ref": "#/definitions/OperationResponse" } }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Success" + }, "default": { "description": "An error response received from the Microsoft.DataShare resource provider.", "schema": { @@ -1875,19 +1841,22 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "ShareSubscriptions_Get": { - "$ref": "./examples/ShareSubscriptions_Get.json" + "Shares_Delete": { + "$ref": "./examples/Shares_Delete.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares": { + "get": { "tags": [ - "ShareSubscription" + "Share" ], - "summary": "Create shareSubscription in an account.", - "description": "Create a shareSubscription in an account", - "operationId": "ShareSubscriptions_Create", + "summary": "List of available shares under an account.", + "description": "List shares in an account", + "operationId": "Shares_ListByAccount", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1899,36 +1868,35 @@ "$ref": "#/parameters/accountName" }, { - "name": "shareSubscriptionName", - "in": "path", - "description": "The name of the shareSubscription.", - "required": true, + "$ref": "#/parameters/api-version" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Continuation Token", + "required": false, "type": "string" }, { - "name": "shareSubscription", - "in": "body", - "description": "create parameters for shareSubscription", - "required": true, - "schema": { - "$ref": "#/definitions/ShareSubscription" - } + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscription" - } - }, - "201": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ShareSubscription" + "$ref": "#/definitions/ShareList" } }, "default": { @@ -1938,19 +1906,24 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "ShareSubscriptions_Create": { - "$ref": "./examples/ShareSubscriptions_Create.json" + "Shares_ListByAccount": { + "$ref": "./examples/Shares_ListByAccount.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization": { + "post": { "tags": [ "ShareSubscription" ], - "summary": "Delete shareSubscription in an account.", - "description": "Delete a shareSubscription in an account", - "operationId": "ShareSubscriptions_Delete", + "summary": "Request cancellation of a data share snapshot", + "description": "Request to cancel a synchronization.", + "operationId": "ShareSubscriptions_CancelSynchronization", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1968,6 +1941,15 @@ "required": true, "type": "string" }, + { + "name": "shareSubscriptionSynchronization", + "in": "body", + "description": "Share Subscription Synchronization payload.", + "required": true, + "schema": { + "$ref": "#/definitions/ShareSubscriptionSynchronization" + } + }, { "$ref": "#/parameters/api-version" } @@ -1976,14 +1958,14 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/OperationResponse" + "$ref": "#/definitions/ShareSubscriptionSynchronization" } }, "202": { - "description": "Accepted" - }, - "204": { - "description": "Success" + "description": "Accepted", + "schema": { + "$ref": "#/definitions/ShareSubscriptionSynchronization" + } }, "default": { "description": "An error response received from the Microsoft.DataShare resource provider.", @@ -1993,9 +1975,12 @@ } }, "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, "x-ms-examples": { - "ShareSubscriptions_Delete": { - "$ref": "./examples/ShareSubscriptions_Delete.json" + "ShareSubscriptions_CancelSynchronization": { + "$ref": "./examples/ShareSubscriptions_CancelSynchronization.json" } } } @@ -2120,14 +2105,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails": { "post": { "tags": [ "ShareSubscription" ], - "summary": "List Synchronizations in a share subscription.", - "description": "List synchronizations of a share subscription", - "operationId": "ShareSubscriptions_ListSynchronizations", + "summary": "List data set level details for a share subscription synchronization", + "description": "List synchronization details", + "operationId": "ShareSubscriptions_ListSynchronizationDetails", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2145,6 +2130,15 @@ "required": true, "type": "string" }, + { + "name": "shareSubscriptionSynchronization", + "in": "body", + "description": "Share Subscription Synchronization payload.", + "required": true, + "schema": { + "$ref": "#/definitions/ShareSubscriptionSynchronization" + } + }, { "$ref": "#/parameters/api-version" }, @@ -2154,13 +2148,27 @@ "description": "Continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronizationList" + "$ref": "#/definitions/SynchronizationDetailsList" } }, "default": { @@ -2174,20 +2182,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "ShareSubscriptions_ListSynchronizations": { - "$ref": "./examples/ShareSubscriptions_ListSynchronizations.json" + "ShareSubscriptions_ListSynchronizationDetails": { + "$ref": "./examples/ShareSubscriptions_ListSynchronizationDetails.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations": { "post": { "tags": [ "ShareSubscription" ], - "summary": "List data set level details for a share subscription synchronization", - "description": "List synchronization details", - "operationId": "ShareSubscriptions_ListSynchronizationDetails", + "summary": "List Synchronizations in a share subscription.", + "description": "List synchronizations of a share subscription", + "operationId": "ShareSubscriptions_ListSynchronizations", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2205,15 +2213,6 @@ "required": true, "type": "string" }, - { - "name": "shareSubscriptionSynchronization", - "in": "body", - "description": "Share Subscription Synchronization payload.", - "required": true, - "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" - } - }, { "$ref": "#/parameters/api-version" }, @@ -2223,13 +2222,27 @@ "description": "Continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/SynchronizationDetailsList" + "$ref": "#/definitions/ShareSubscriptionSynchronizationList" } }, "default": { @@ -2243,8 +2256,8 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "ShareSubscriptions_ListSynchronizationDetails": { - "$ref": "./examples/ShareSubscriptions_ListSynchronizationDetails.json" + "ShareSubscriptions_ListSynchronizations": { + "$ref": "./examples/ShareSubscriptions_ListSynchronizations.json" } } } @@ -2318,14 +2331,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}": { + "get": { "tags": [ "ShareSubscription" ], - "summary": "Request cancellation of a data share snapshot", - "description": "Request to cancel a synchronization.", - "operationId": "ShareSubscriptions_CancelSynchronization", + "summary": "Get shareSubscription in an account.", + "description": "Get a shareSubscription in an account", + "operationId": "ShareSubscriptions_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2343,15 +2356,6 @@ "required": true, "type": "string" }, - { - "name": "shareSubscriptionSynchronization", - "in": "body", - "description": "Share Subscription Synchronization payload.", - "required": true, - "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" - } - }, { "$ref": "#/parameters/api-version" } @@ -2360,13 +2364,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" + "$ref": "#/definitions/ShareSubscription" } }, "default": { @@ -2376,25 +2374,19 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, "x-ms-examples": { - "ShareSubscriptions_CancelSynchronization": { - "$ref": "./examples/ShareSubscriptions_CancelSynchronization.json" + "ShareSubscriptions_Get": { + "$ref": "./examples/ShareSubscriptions_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions": { - "get": { + }, + "put": { "tags": [ "ShareSubscription" ], - "summary": "List of available share subscriptions under an account.", - "description": "List share subscriptions in an account", - "operationId": "ShareSubscriptions_ListByAccount", + "summary": "Create shareSubscription in an account.", + "description": "Create a shareSubscription in an account", + "operationId": "ShareSubscriptions_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2406,14 +2398,148 @@ "$ref": "#/parameters/accountName" }, { - "$ref": "#/parameters/api-version" - }, - { - "name": "$skipToken", + "name": "shareSubscriptionName", + "in": "path", + "description": "The name of the shareSubscription.", + "required": true, + "type": "string" + }, + { + "name": "shareSubscription", + "in": "body", + "description": "create parameters for shareSubscription", + "required": true, + "schema": { + "$ref": "#/definitions/ShareSubscription" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ShareSubscription" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ShareSubscription" + } + }, + "default": { + "description": "An error response received from the Microsoft.DataShare resource provider.", + "schema": { + "$ref": "#/definitions/DataShareError" + } + } + }, + "x-ms-examples": { + "ShareSubscriptions_Create": { + "$ref": "./examples/ShareSubscriptions_Create.json" + } + } + }, + "delete": { + "tags": [ + "ShareSubscription" + ], + "summary": "Delete shareSubscription in an account.", + "description": "Delete a shareSubscription in an account", + "operationId": "ShareSubscriptions_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "name": "shareSubscriptionName", + "in": "path", + "description": "The name of the shareSubscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationResponse" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Success" + }, + "default": { + "description": "An error response received from the Microsoft.DataShare resource provider.", + "schema": { + "$ref": "#/definitions/DataShareError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ShareSubscriptions_Delete": { + "$ref": "./examples/ShareSubscriptions_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions": { + "get": { + "tags": [ + "ShareSubscription" + ], + "summary": "List of available share subscriptions under an account.", + "description": "List share subscriptions in an account", + "operationId": "ShareSubscriptions_ListByAccount", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$skipToken", "in": "query", "description": "Continuation Token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { @@ -2964,29 +3090,23 @@ } } }, - "Identity": { - "description": "Identity of resource", + "AccountList": { + "description": "List response for get Accounts.", + "required": [ + "value" + ], "type": "object", "properties": { - "principalId": { - "description": "service principal Id", - "type": "string", - "readOnly": true - }, - "tenantId": { - "description": "Tenant Id", - "type": "string", - "readOnly": true + "nextLink": { + "description": "The Url of next result page.", + "type": "string" }, - "type": { - "description": "Identity Type", - "enum": [ - "SystemAssigned" - ], - "type": "string", - "x-ms-enum": { - "name": "type", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Account" } } } @@ -3029,49 +3149,6 @@ } } }, - "DataShareError": { - "description": "The data share error model.", - "required": [ - "error" - ], - "type": "object", - "properties": { - "error": { - "$ref": "#/definitions/DataShareErrorInfo", - "description": "The data share error body" - } - } - }, - "DataShareErrorInfo": { - "description": "The data share error body model.", - "required": [ - "code", - "message" - ], - "type": "object", - "properties": { - "code": { - "description": "Code of the error", - "type": "string" - }, - "details": { - "description": "Nested details of the error model", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DataShareErrorInfo" - } - }, - "message": { - "description": "Message of the error", - "type": "string" - }, - "target": { - "description": "Target of the error", - "type": "string" - } - } - }, "AccountUpdateParameters": { "description": "Update parameters for accounts", "type": "object", @@ -3085,985 +3162,1026 @@ } } }, - "OperationResponse": { - "description": "Response for long running operation", + "ADLSGen1FileDataSet": { + "description": "An ADLS Gen 1 file data set.", "required": [ - "status" + "properties", + "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], "properties": { - "endTime": { - "format": "date-time", - "description": "start time", + "properties": { + "$ref": "#/definitions/ADLSGen1FileProperties", + "description": "ADLS Gen 1 file data set properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "AdlsGen1File" + }, + "ADLSGen1FileProperties": { + "description": "Properties of the ADLS Gen1 file data set.", + "required": [ + "subscriptionId", + "resourceGroup", + "accountName", + "folderPath", + "fileName" + ], + "type": "object", + "properties": { + "accountName": { + "description": "The ADLS account name.", "type": "string" }, - "error": { - "$ref": "#/definitions/DataShareErrorInfo", - "description": "The error property when status is failed." + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true }, - "startTime": { - "format": "date-time", - "description": "start time", + "fileName": { + "description": "The file name in the ADLS account.", "type": "string" }, - "status": { - "description": "Operation state of the long running operation.", - "enum": [ - "Accepted", - "InProgress", - "TransientFailure", - "Succeeded", - "Failed", - "Canceled" - ], - "type": "string", - "x-ms-enum": { - "name": "status", - "modelAsString": true - } - } - } - }, - "AccountList": { - "description": "List response for get Accounts.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "nextLink": { - "description": "The Url of next result page.", + "folderPath": { + "description": "The folder path within the ADLS account.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/Account" - } + "resourceGroup": { + "description": "Resource group of ADLS account.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of ADLS account.", + "type": "string" } } }, - "ConsumerInvitation": { - "description": "A consumer Invitation data transfer object.", + "ADLSGen1FolderDataSet": { + "description": "An ADLS Gen 1 folder data set.", "required": [ - "properties" + "properties", + "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyDto" + "$ref": "#/definitions/DataSet" } ], "properties": { "properties": { - "$ref": "#/definitions/ConsumerInvitationProperties", - "description": "Properties on the account", + "$ref": "#/definitions/ADLSGen1FolderProperties", + "description": "ADLS Gen 1 folder data set properties.", "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen1Folder" }, - "ConsumerInvitationProperties": { - "description": "Properties of consumer invitation", + "ADLSGen1FolderProperties": { + "description": "Properties of the ADLS Gen1 folder data set.", "required": [ - "invitationId" + "subscriptionId", + "resourceGroup", + "accountName", + "folderPath" ], "type": "object", "properties": { - "dataSetCount": { - "format": "int32", - "description": "Number of data sets in a share", - "type": "integer", - "readOnly": true - }, - "description": { - "description": "Description shared when the invitation was created", - "type": "string", - "readOnly": true - }, - "invitationId": { - "description": "Unique id of the invitation.", + "accountName": { + "description": "The ADLS account name.", "type": "string" }, - "invitationStatus": { - "description": "The status of the invitation.", - "enum": [ - "Pending", - "Accepted", - "Rejected", - "Withdrawn" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "invitationStatus", - "modelAsString": true - } - }, - "location": { - "description": "invitation location", - "type": "string", - "readOnly": true - }, - "providerEmail": { - "description": "Email of the provider who created the resource", - "type": "string", - "readOnly": true - }, - "providerName": { - "description": "Name of the provider who created the resource", - "type": "string", - "readOnly": true - }, - "providerTenantName": { - "description": "Tenant name of the provider who created the resource", - "type": "string", - "readOnly": true - }, - "respondedAt": { - "format": "date-time", - "description": "The time the recipient responded to the invitation.", - "type": "string", - "readOnly": true - }, - "sentAt": { - "format": "date-time", - "description": "Gets the time at which the invitation was sent.", - "type": "string", - "readOnly": true - }, - "shareName": { - "description": "Gets the source share Name.", + "dataSetId": { + "description": "Unique id for identifying a data set resource", "type": "string", "readOnly": true }, - "termsOfUse": { - "description": "Terms of use shared when the invitation was created", - "type": "string", - "readOnly": true + "folderPath": { + "description": "The folder path within the ADLS account.", + "type": "string" }, - "userEmail": { - "description": "Email of the user who created the resource", - "type": "string", - "readOnly": true + "resourceGroup": { + "description": "Resource group of ADLS account.", + "type": "string" }, - "userName": { - "description": "Name of the user who created the resource", - "type": "string", - "readOnly": true + "subscriptionId": { + "description": "Subscription id of ADLS account.", + "type": "string" } } }, - "ConsumerInvitationList": { - "description": "List response for get InvitationList", + "ADLSGen2FileDataSet": { + "description": "An ADLS Gen 2 file data set.", "required": [ - "value" + "properties", + "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ConsumerInvitation" - } + "properties": { + "$ref": "#/definitions/ADLSGen2FileProperties", + "description": "ADLS Gen 2 file data set properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen2File" }, - "DataSet": { - "description": "A DataSet data transfer object.", + "ADLSGen2FileDataSetMapping": { + "description": "An ADLS Gen2 file data set mapping.", "required": [ + "properties", "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyDto" + "$ref": "#/definitions/DataSetMapping" } ], "properties": { - "kind": { - "description": "Kind of data set.", - "enum": [ - "Blob", - "Container", - "BlobFolder", - "AdlsGen2FileSystem", - "AdlsGen2Folder", - "AdlsGen2File", - "AdlsGen1Folder", - "AdlsGen1File", - "KustoCluster", - "KustoDatabase", - "SqlDBTable", - "SqlDWTable" - ], - "type": "string", - "x-ms-enum": { - "name": "kind", - "modelAsString": true - } + "properties": { + "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties", + "description": "ADLS Gen2 file data set mapping properties.", + "x-ms-client-flatten": true } }, - "discriminator": "kind" + "x-ms-discriminator-value": "AdlsGen2File" }, - "DataSetList": { - "description": "List response for get DataSets", + "ADLSGen2FileDataSetMappingProperties": { + "description": "ADLS Gen 2 file data set mapping property bag.", "required": [ - "value" + "fileSystem", + "filePath", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DataSet" + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", + "enum": [ + "Ok", + "Broken" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "dataSetMappingStatus", + "modelAsString": true } - } - } - }, - "DataSetMapping": { - "description": "A data set mapping data transfer object.", - "required": [ - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyDto" - } - ], - "properties": { - "kind": { - "description": "Kind of data set mapping.", + }, + "filePath": { + "description": "File path within the file system.", + "type": "string" + }, + "fileSystem": { + "description": "File system to which the file belongs.", + "type": "string" + }, + "outputType": { + "description": "Type of output file", "enum": [ - "Blob", - "Container", - "BlobFolder", - "AdlsGen2FileSystem", - "AdlsGen2Folder", - "AdlsGen2File", - "KustoCluster", - "KustoDatabase", - "SqlDBTable", - "SqlDWTable" + "Csv", + "Parquet" ], "type": "string", "x-ms-enum": { - "name": "kind", + "name": "outputType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", "modelAsString": true } + }, + "resourceGroup": { + "description": "Resource group of storage account.", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" } - }, - "discriminator": "kind" + } }, - "DataSetMappingList": { - "description": "List response for get DataSetMappings", + "ADLSGen2FileProperties": { + "description": "Properties of the ADLS Gen2 file data set.", "required": [ - "value" + "fileSystem", + "filePath", + "subscriptionId", + "resourceGroup", + "storageAccountName" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "filePath": { + "description": "File path within the file system.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DataSetMapping" - } + "fileSystem": { + "description": "File system to which the file belongs.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group of storage account", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account", + "type": "string" } } }, - "Invitation": { - "description": "A Invitation data transfer object.", + "ADLSGen2FileSystemDataSet": { + "description": "An ADLS Gen 2 file system data set.", + "required": [ + "properties", + "kind" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyDto" + "$ref": "#/definitions/DataSet" } ], "properties": { "properties": { - "$ref": "#/definitions/InvitationProperties", - "description": "Properties on the Invitation", + "$ref": "#/definitions/ADLSGen2FileSystemProperties", + "description": "ADLS Gen 2 file system data set properties.", "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen2FileSystem" }, - "InvitationProperties": { - "description": "Invitation property bag.", + "ADLSGen2FileSystemDataSetMapping": { + "description": "An ADLS Gen2 file system data set mapping.", + "required": [ + "properties", + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], "properties": { - "invitationId": { - "description": "unique invitation id", - "type": "string", - "readOnly": true + "properties": { + "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties", + "description": "ADLS Gen2 file system data set mapping properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "AdlsGen2FileSystem" + }, + "ADLSGen2FileSystemDataSetMappingProperties": { + "description": "ADLS Gen 2 file system data set mapping property bag.", + "required": [ + "fileSystem", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" + ], + "type": "object", + "properties": { + "dataSetId": { + "description": "The id of the source data set.", + "type": "string" }, - "invitationStatus": { - "description": "The status of the invitation.", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Pending", - "Accepted", - "Rejected", - "Withdrawn" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "invitationStatus", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "respondedAt": { - "format": "date-time", - "description": "The time the recipient responded to the invitation.", - "type": "string", - "readOnly": true + "fileSystem": { + "description": "The file system name.", + "type": "string" }, - "sentAt": { - "format": "date-time", - "description": "Gets the time at which the invitation was sent.", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } }, - "targetActiveDirectoryId": { - "description": "The target Azure AD Id. Can't be combined with email.", + "resourceGroup": { + "description": "Resource group of storage account.", "type": "string" }, - "targetEmail": { - "description": "The email the invitation is directed to.", + "storageAccountName": { + "description": "Storage account name of the source data set.", "type": "string" }, - "targetObjectId": { - "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.", + "subscriptionId": { + "description": "Subscription id of storage account.", "type": "string" - }, - "userEmail": { - "description": "Email of the user who created the resource", - "type": "string", - "readOnly": true - }, - "userName": { - "description": "Name of the user who created the resource", - "type": "string", - "readOnly": true } } }, - "InvitationList": { - "description": "List response for get InvitationList", + "ADLSGen2FileSystemProperties": { + "description": "Properties of the ADLS Gen2 file system data set.", "required": [ - "value" + "fileSystem", + "subscriptionId", + "resourceGroup", + "storageAccountName" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "fileSystem": { + "description": "The file system name.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/Invitation" - } - } - } - }, - "OperationList": { - "description": "List response for get operations.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "nextLink": { - "description": "The Url of next result page.", + "resourceGroup": { + "description": "Resource group of storage account", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/OperationModel" - } - } - } - }, - "OperationModel": { - "description": "The response model for get operations", - "type": "object", - "properties": { - "display": { - "$ref": "#/definitions/OperationModelProperties", - "description": "Properties on the operation" - }, - "name": { - "description": "Operation name for display purposes", + "storageAccountName": { + "description": "Storage account name of the source data set", "type": "string" }, - "origin": { - "description": "origin of the operation", + "subscriptionId": { + "description": "Subscription id of storage account", "type": "string" - }, - "properties": { - "$ref": "#/definitions/OperationMetaPropertyInfo", - "description": "properties for the operation meta info", - "x-ms-client-flatten": true } } }, - "OperationModelProperties": { - "description": "Properties on operations", + "ADLSGen2FolderDataSet": { + "description": "An ADLS Gen 2 folder data set.", + "required": [ + "properties", + "kind" + ], "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" + "allOf": [ + { + "$ref": "#/definitions/DataSet" } - } - }, - "OperationMetaPropertyInfo": { - "description": "properties on meta info", - "type": "object", + ], "properties": { - "serviceSpecification": { - "$ref": "#/definitions/OperationMetaServiceSpecification", - "description": "meta service specification" + "properties": { + "$ref": "#/definitions/ADLSGen2FolderProperties", + "description": "ADLS Gen 2 folder data set properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen2Folder" }, - "OperationMetaServiceSpecification": { - "description": "The operation meta service specification", + "ADLSGen2FolderDataSetMapping": { + "description": "An ADLS Gen2 folder data set mapping.", + "required": [ + "properties", + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], "properties": { - "logSpecifications": { - "description": "log specifications for the operation", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/OperationMetaLogSpecification" - } - }, - "metricSpecifications": { - "description": "metric specifications for the operation", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/OperationMetaMetricSpecification" - } + "properties": { + "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties", + "description": "ADLS Gen2 folder data set mapping properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen2Folder" }, - "OperationMetaMetricSpecification": { - "description": "metric specifications for the operation", + "ADLSGen2FolderDataSetMappingProperties": { + "description": "ADLS Gen 2 folder data set mapping property bag.", + "required": [ + "fileSystem", + "folderPath", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" + ], "type": "object", "properties": { - "aggregationType": { - "description": "aggregation type of metric", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "dimensions": { - "description": "properties for dimension", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DimensionProperties" + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", + "enum": [ + "Ok", + "Broken" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "dataSetMappingStatus", + "modelAsString": true } }, - "displayDescription": { - "description": "description of the metric", - "type": "string" - }, - "displayName": { - "description": "localized name of the metric", + "fileSystem": { + "description": "File system to which the folder belongs.", "type": "string" }, - "enableRegionalMdmAccount": { - "description": "enable regional mdm account", + "folderPath": { + "description": "Folder path within the file system.", "type": "string" }, - "internalMetricName": { - "description": "internal metric name", - "type": "string" + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } }, - "name": { - "description": "name of the metric", + "resourceGroup": { + "description": "Resource group of storage account.", "type": "string" }, - "resourceIdDimensionNameOverride": { - "description": "dimension name use to replace resource id if specified", + "storageAccountName": { + "description": "Storage account name of the source data set.", "type": "string" }, - "supportedAggregationTypes": { - "description": "supported aggregation types", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "supportedTimeGrainTypes": { - "description": "supported time grain types", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "unit": { - "description": "units for the metric", + "subscriptionId": { + "description": "Subscription id of storage account.", "type": "string" } } }, - "OperationMetaLogSpecification": { - "description": "log specifications for operation api", + "ADLSGen2FolderProperties": { + "description": "Properties of the ADLS Gen2 folder data set.", + "required": [ + "fileSystem", + "folderPath", + "subscriptionId", + "resourceGroup", + "storageAccountName" + ], "type": "object", "properties": { - "blobDuration": { - "description": "blob duration of the log", + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "fileSystem": { + "description": "File system to which the folder belongs.", "type": "string" }, - "displayName": { - "description": "localized name of the log category", + "folderPath": { + "description": "Folder path within the file system.", "type": "string" }, - "name": { - "description": "name of the log category", + "resourceGroup": { + "description": "Resource group of storage account", "type": "string" - } - } - }, - "DimensionProperties": { - "description": "properties for dimension", - "type": "object", - "properties": { - "displayName": { - "description": "localized display name of the dimension to customer", + }, + "storageAccountName": { + "description": "Storage account name of the source data set", "type": "string" }, - "name": { - "description": "dimension name", + "subscriptionId": { + "description": "Subscription id of storage account", "type": "string" } } }, - "Share": { - "description": "A share data transfer object.", + "BlobContainerDataSet": { + "description": "An Azure storage blob container data set.", + "required": [ + "properties", + "kind" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyDto" + "$ref": "#/definitions/DataSet" } ], "properties": { "properties": { - "$ref": "#/definitions/ShareProperties", - "description": "Properties on the share", + "$ref": "#/definitions/BlobContainerProperties", + "description": "Blob container data set properties.", "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "Container" }, - "ShareProperties": { - "description": "Share property bag.", + "BlobContainerDataSetMapping": { + "description": "A Blob container data set mapping.", + "required": [ + "properties", + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], "properties": { - "createdAt": { - "format": "date-time", - "description": "Time at which the share was created.", - "type": "string", - "readOnly": true + "properties": { + "$ref": "#/definitions/BlobContainerMappingProperties", + "description": "Blob container data set mapping properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Container" + }, + "BlobContainerMappingProperties": { + "description": "Azure storage Blob container data set mapping property bag.", + "required": [ + "containerName", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" + ], + "type": "object", + "properties": { + "containerName": { + "description": "BLOB Container name.", + "type": "string" }, - "description": { - "description": "Share description.", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "provisioningState": { - "description": "Gets or sets the provisioning state", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "shareKind": { - "description": "Share kind.", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", "enum": [ - "CopyBased", - "InPlace" + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" ], "type": "string", + "readOnly": true, "x-ms-enum": { - "name": "shareKind", + "name": "provisioningState", "modelAsString": true } }, - "terms": { - "description": "Share terms.", + "resourceGroup": { + "description": "Resource group of storage account.", "type": "string" }, - "userEmail": { - "description": "Email of the user who created the resource", - "type": "string", - "readOnly": true - }, - "userName": { - "description": "Name of the user who created the resource", - "type": "string", - "readOnly": true - } - } - }, - "ShareList": { - "description": "List response for get Shares.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "nextLink": { - "description": "The Url of next result page.", + "storageAccountName": { + "description": "Storage account name of the source data set.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/Share" - } + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" } } }, - "ShareSynchronizationList": { - "description": "List response for get ShareSynchronization.", + "BlobContainerProperties": { + "description": "Properties of the BLOB container data set.", "required": [ - "value" + "containerName", + "subscriptionId", + "resourceGroup", + "storageAccountName" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ShareSynchronization" - } - } - } - }, - "ShareSynchronization": { - "description": "A ShareSynchronization data transfer object.", - "type": "object", - "properties": { - "consumerEmail": { - "description": "Email of the user who created the synchronization", - "type": "string" - }, - "consumerName": { - "description": "Name of the user who created the synchronization", - "type": "string" - }, - "consumerTenantName": { - "description": "Tenant name of the consumer who created the synchronization", - "type": "string" - }, - "durationMs": { - "format": "int32", - "description": "synchronization duration", - "type": "integer" - }, - "endTime": { - "format": "date-time", - "description": "End time of synchronization", + "containerName": { + "description": "BLOB Container name.", "type": "string" }, - "message": { - "description": "message of synchronization", - "type": "string" + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true }, - "startTime": { - "format": "date-time", - "description": "start time of synchronization", + "resourceGroup": { + "description": "Resource group of storage account", "type": "string" }, - "status": { - "description": "Raw Status", + "storageAccountName": { + "description": "Storage account name of the source data set", "type": "string" }, - "synchronizationId": { - "description": "Synchronization id", + "subscriptionId": { + "description": "Subscription id of storage account", "type": "string" - }, - "synchronizationMode": { - "description": "Synchronization mode", - "enum": [ - "Incremental", - "FullSync" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "synchronizationMode", - "modelAsString": true - } } } }, - "SynchronizationDetailsList": { - "description": "details of synchronization", + "BlobDataSet": { + "description": "An Azure storage blob data set.", "required": [ - "value" + "properties", + "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/SynchronizationDetails" - } + "properties": { + "$ref": "#/definitions/BlobProperties", + "description": "Blob data set properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "Blob" }, - "SynchronizationDetails": { - "description": "Synchronization details at data set level", + "BlobDataSetMapping": { + "description": "A Blob data set mapping.", + "required": [ + "properties", + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], "properties": { - "dataSetId": { - "description": "Id of data set", - "type": "string", - "readOnly": true - }, - "dataSetType": { - "description": "Type of the data set", + "properties": { + "$ref": "#/definitions/BlobMappingProperties", + "description": "Blob data set mapping properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Blob" + }, + "BlobFolderDataSet": { + "description": "An Azure storage blob folder data set.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobFolderProperties", + "description": "Blob folder data set properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "BlobFolder" + }, + "BlobFolderDataSetMapping": { + "description": "A Blob folder data set mapping.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobFolderMappingProperties", + "description": "Blob folder data set mapping properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "BlobFolder" + }, + "BlobFolderMappingProperties": { + "description": "Azure storage Blob folder data set mapping property bag.", + "required": [ + "containerName", + "prefix", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" + ], + "type": "object", + "properties": { + "containerName": { + "description": "Container that has the file path.", + "type": "string" + }, + "dataSetId": { + "description": "The id of the source data set.", + "type": "string" + }, + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Blob", - "Container", - "BlobFolder", - "AdlsGen2FileSystem", - "AdlsGen2Folder", - "AdlsGen2File", - "AdlsGen1Folder", - "AdlsGen1File", - "KustoCluster", - "KustoDatabase", - "SqlDBTable", - "SqlDWTable" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "dataSetType", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "durationMs": { - "format": "int32", - "description": "Duration of data set level copy", - "type": "integer", - "readOnly": true + "prefix": { + "description": "Prefix for blob folder", + "type": "string" }, - "endTime": { - "format": "date-time", - "description": "End time of data set level copy", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } }, - "filesRead": { - "format": "int64", - "description": "The number of files read from the source data set", - "type": "integer", - "readOnly": true + "resourceGroup": { + "description": "Resource group of storage account.", + "type": "string" }, - "filesWritten": { - "format": "int64", - "description": "The number of files written into the sink data set", - "type": "integer", - "readOnly": true + "storageAccountName": { + "description": "Storage account name of the source data set.", + "type": "string" }, - "message": { - "description": "Error message if any", - "type": "string", - "readOnly": true + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" + } + } + }, + "BlobFolderProperties": { + "description": "Properties of the blob folder data set.", + "required": [ + "containerName", + "prefix", + "subscriptionId", + "resourceGroup", + "storageAccountName" + ], + "type": "object", + "properties": { + "containerName": { + "description": "Container that has the file path.", + "type": "string" }, - "name": { - "description": "Name of the data set", + "dataSetId": { + "description": "Unique id for identifying a data set resource", "type": "string", "readOnly": true }, - "rowsCopied": { - "format": "int64", - "description": "The number of files copied into the sink data set", - "type": "integer", - "readOnly": true - }, - "rowsRead": { - "format": "int64", - "description": "The number of rows read from the source data set.", - "type": "integer", - "readOnly": true - }, - "sizeRead": { - "format": "int64", - "description": "The size of the data read from the source data set in bytes", - "type": "integer", - "readOnly": true - }, - "sizeWritten": { - "format": "int64", - "description": "The size of the data written into the sink data set in bytes", - "type": "integer", - "readOnly": true + "prefix": { + "description": "Prefix for blob folder", + "type": "string" }, - "startTime": { - "format": "date-time", - "description": "Start time of data set level copy", - "type": "string", - "readOnly": true + "resourceGroup": { + "description": "Resource group of storage account", + "type": "string" }, - "status": { - "description": "Raw Status", - "type": "string", - "readOnly": true + "storageAccountName": { + "description": "Storage account name of the source data set", + "type": "string" }, - "vCore": { - "format": "int64", - "description": "The vCore units consumed for the data set synchronization", - "type": "integer", - "readOnly": true + "subscriptionId": { + "description": "Subscription id of storage account", + "type": "string" } } }, - "ProviderShareSubscription": { - "description": "A provider side share subscription data transfer object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyDto" - } + "BlobMappingProperties": { + "description": "Azure storage Blob data set mapping property bag.", + "required": [ + "containerName", + "filePath", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" ], - "properties": { - "properties": { - "$ref": "#/definitions/ProviderShareSubscriptionProperties", - "description": "properties of providerShareSubscription", - "x-ms-client-flatten": true - } - } - }, - "ProviderShareSubscriptionProperties": { - "description": "Provider share subscription properties", "type": "object", "properties": { - "consumerEmail": { - "description": "Email of the consumer who created the share subscription", - "type": "string", - "readOnly": true - }, - "consumerName": { - "description": "Name of the consumer who created the share subscription", - "type": "string", - "readOnly": true - }, - "consumerTenantName": { - "description": "Tenant name of the consumer who created the share subscription", - "type": "string", - "readOnly": true - }, - "createdAt": { - "format": "date-time", - "description": "created at", - "type": "string", - "readOnly": true + "containerName": { + "description": "Container that has the file path.", + "type": "string" }, - "providerEmail": { - "description": "Email of the provider who created the share", - "type": "string", - "readOnly": true + "dataSetId": { + "description": "The id of the source data set.", + "type": "string" }, - "providerName": { - "description": "Name of the provider who created the share", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", + "enum": [ + "Ok", + "Broken" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "dataSetMappingStatus", + "modelAsString": true + } }, - "sharedAt": { - "format": "date-time", - "description": "Shared at", - "type": "string", - "readOnly": true + "filePath": { + "description": "File path within the source data set", + "type": "string" }, - "shareSubscriptionObjectId": { - "description": "share Subscription Object Id", + "outputType": { + "description": "File output type", + "enum": [ + "Csv", + "Parquet" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "outputType", + "modelAsString": true + } }, - "shareSubscriptionStatus": { - "description": "Gets the status of share subscription", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", "enum": [ - "Active", - "Revoked", - "SourceDeleted", - "Revoking" + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "shareSubscriptionStatus", + "name": "provisioningState", "modelAsString": true } + }, + "resourceGroup": { + "description": "Resource group of storage account.", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" + } + } + }, + "BlobProperties": { + "description": "Properties of the blob data set.", + "required": [ + "containerName", + "filePath", + "subscriptionId", + "resourceGroup", + "storageAccountName" + ], + "type": "object", + "properties": { + "containerName": { + "description": "Container that has the file path.", + "type": "string" + }, + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "filePath": { + "description": "File path within the source data set", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group of storage account", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account", + "type": "string" } } }, - "ProviderShareSubscriptionList": { - "description": "List response for get ShareSubscription.", + "ConsumerInvitation": { + "description": "A consumer Invitation data transfer object.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyDto" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConsumerInvitationProperties", + "description": "Properties on the account", + "x-ms-client-flatten": true + } + } + }, + "ConsumerInvitationList": { + "description": "List response for get InvitationList", "required": [ "value" ], @@ -4078,47 +4196,53 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/ProviderShareSubscription" + "$ref": "#/definitions/ConsumerInvitation" } } } }, - "ShareSubscription": { - "description": "A share subscription data transfer object.", - "required": [ - "properties" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyDto" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ShareSubscriptionProperties", - "description": "Properties on the share subscription", - "x-ms-client-flatten": true - } - } - }, - "ShareSubscriptionProperties": { - "description": "Share subscription property bag.", + "ConsumerInvitationProperties": { + "description": "Properties of consumer invitation", "required": [ "invitationId" ], "type": "object", "properties": { - "createdAt": { - "format": "date-time", - "description": "Time at which the share subscription was created.", + "dataSetCount": { + "format": "int32", + "description": "Number of data sets in a share", + "type": "integer", + "readOnly": true + }, + "description": { + "description": "Description shared when the invitation was created", "type": "string", "readOnly": true }, "invitationId": { - "description": "The invitation id.", + "description": "Unique id of the invitation.", "type": "string" }, + "invitationStatus": { + "description": "The status of the invitation.", + "enum": [ + "Pending", + "Accepted", + "Rejected", + "Withdrawn" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "invitationStatus", + "modelAsString": true + } + }, + "location": { + "description": "invitation location", + "type": "string", + "readOnly": true + }, "providerEmail": { "description": "Email of the provider who created the resource", "type": "string", @@ -4134,62 +4258,25 @@ "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Provisioning state of the share subscription", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true - } - }, - "shareDescription": { - "description": "Description of share", + "respondedAt": { + "format": "date-time", + "description": "The time the recipient responded to the invitation.", "type": "string", "readOnly": true }, - "shareKind": { - "description": "Kind of share", - "enum": [ - "CopyBased", - "InPlace" - ], + "sentAt": { + "format": "date-time", + "description": "Gets the time at which the invitation was sent.", "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "shareKind", - "modelAsString": true - } + "readOnly": true }, "shareName": { - "description": "Name of the share", + "description": "Gets the source share Name.", "type": "string", "readOnly": true }, - "shareSubscriptionStatus": { - "description": "Gets the current status of share subscription.", - "enum": [ - "Active", - "Revoked", - "SourceDeleted", - "Revoking" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "shareSubscriptionStatus", - "modelAsString": true - } - }, - "shareTerms": { - "description": "Terms of a share", + "termsOfUse": { + "description": "Terms of use shared when the invitation was created", "type": "string", "readOnly": true }, @@ -4205,27 +4292,6 @@ } } }, - "ConsumerSourceDataSetList": { - "description": "A consumer side list of source dataSets", - "required": [ - "value" - ], - "type": "object", - "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ConsumerSourceDataSet" - } - } - } - }, "ConsumerSourceDataSet": { "description": "A consumer side dataSet data transfer object.", "type": "object", @@ -4235,106 +4301,15 @@ } ], "properties": { - "properties": { - "$ref": "#/definitions/ConsumerSourceDataSetProperties", - "description": "source dataSet properties", - "x-ms-client-flatten": true - } - } - }, - "ConsumerSourceDataSetProperties": { - "description": "Properties of consumer source dataSet", - "type": "object", - "properties": { - "dataSetId": { - "description": "DataSet Id", - "type": "string", - "readOnly": true - }, - "dataSetLocation": { - "description": "Location of the data set.", - "type": "string", - "readOnly": true - }, - "dataSetName": { - "description": "DataSet name", - "type": "string", - "readOnly": true - }, - "dataSetPath": { - "description": "DataSet path", - "type": "string", - "readOnly": true - }, - "dataSetType": { - "description": "Type of data set", - "enum": [ - "Blob", - "Container", - "BlobFolder", - "AdlsGen2FileSystem", - "AdlsGen2Folder", - "AdlsGen2File", - "AdlsGen1Folder", - "AdlsGen1File", - "KustoCluster", - "KustoDatabase", - "SqlDBTable", - "SqlDWTable" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetType", - "modelAsString": true - } - } - } - }, - "SourceShareSynchronizationSettingList": { - "description": "List response for get source share Synchronization settings", - "required": [ - "value" - ], - "type": "object", - "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/SourceShareSynchronizationSetting" - } - } - } - }, - "SourceShareSynchronizationSetting": { - "description": "A view of synchronization setting added by the provider", - "required": [ - "kind" - ], - "type": "object", - "properties": { - "kind": { - "description": "Kind of synchronization", - "enum": [ - "ScheduleBased" - ], - "type": "string", - "x-ms-enum": { - "name": "kind", - "modelAsString": true - } + "properties": { + "$ref": "#/definitions/ConsumerSourceDataSetProperties", + "description": "source dataSet properties", + "x-ms-client-flatten": true } - }, - "discriminator": "kind" + } }, - "ShareSubscriptionSynchronizationList": { - "description": "A consumer side list of share subscription synchronizations", + "ConsumerSourceDataSetList": { + "description": "A consumer side list of source dataSets", "required": [ "value" ], @@ -4349,85 +4324,99 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" + "$ref": "#/definitions/ConsumerSourceDataSet" } } } }, - "ShareSubscriptionSynchronization": { - "description": "A ShareSubscriptionSynchronization data transfer object.", - "required": [ - "synchronizationId" - ], + "ConsumerSourceDataSetProperties": { + "description": "Properties of consumer source dataSet", "type": "object", "properties": { - "durationMs": { - "format": "int32", - "description": "Synchronization duration", - "type": "integer", - "readOnly": true - }, - "endTime": { - "format": "date-time", - "description": "End time of synchronization", + "dataSetId": { + "description": "DataSet Id", "type": "string", "readOnly": true }, - "message": { - "description": "message of Synchronization", + "dataSetLocation": { + "description": "Location of the data set.", "type": "string", "readOnly": true }, - "startTime": { - "format": "date-time", - "description": "start time of synchronization", + "dataSetName": { + "description": "DataSet name", "type": "string", "readOnly": true }, - "status": { - "description": "Raw Status", + "dataSetPath": { + "description": "DataSet path", "type": "string", "readOnly": true }, - "synchronizationId": { - "description": "Synchronization id", - "type": "string" - }, - "synchronizationMode": { - "description": "Synchronization Mode", + "dataSetType": { + "description": "Type of data set", "enum": [ - "Incremental", - "FullSync" + "Blob", + "Container", + "BlobFolder", + "AdlsGen2FileSystem", + "AdlsGen2Folder", + "AdlsGen2File", + "AdlsGen1Folder", + "AdlsGen1File", + "KustoCluster", + "KustoDatabase", + "SqlDBTable", + "SqlDWTable" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "synchronizationMode", + "name": "dataSetType", "modelAsString": true } } } }, - "Synchronize": { - "description": "Payload for the synchronizing the data.", + "DataSet": { + "description": "A DataSet data transfer object.", + "required": [ + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyDto" + } + ], "properties": { - "synchronizationMode": { - "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default", + "kind": { + "description": "Kind of data set.", "enum": [ - "Incremental", - "FullSync" + "Blob", + "Container", + "BlobFolder", + "AdlsGen2FileSystem", + "AdlsGen2Folder", + "AdlsGen2File", + "AdlsGen1Folder", + "AdlsGen1File", + "KustoCluster", + "KustoDatabase", + "SqlDBTable", + "SqlDWTable" ], "type": "string", "x-ms-enum": { - "name": "synchronizationMode", + "name": "kind", "modelAsString": true } } - } + }, + "discriminator": "kind" }, - "ShareSubscriptionList": { - "description": "List response for get ShareSubscription.", + "DataSetList": { + "description": "List response for get DataSets", "required": [ "value" ], @@ -4442,13 +4431,13 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/ShareSubscription" + "$ref": "#/definitions/DataSet" } } } }, - "SynchronizationSetting": { - "description": "A Synchronization Setting data transfer object.", + "DataSetMapping": { + "description": "A data set mapping data transfer object.", "required": [ "kind" ], @@ -4460,9 +4449,18 @@ ], "properties": { "kind": { - "description": "Kind of synchronization", + "description": "Kind of data set mapping.", "enum": [ - "ScheduleBased" + "Blob", + "Container", + "BlobFolder", + "AdlsGen2FileSystem", + "AdlsGen2Folder", + "AdlsGen2File", + "KustoCluster", + "KustoDatabase", + "SqlDBTable", + "SqlDWTable" ], "type": "string", "x-ms-enum": { @@ -4473,8 +4471,8 @@ }, "discriminator": "kind" }, - "SynchronizationSettingList": { - "description": "List response for get Synchronization settings", + "DataSetMappingList": { + "description": "List response for get DataSetMappings", "required": [ "value" ], @@ -4489,39 +4487,146 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/SynchronizationSetting" + "$ref": "#/definitions/DataSetMapping" } } } }, - "Trigger": { - "description": "A Trigger data transfer object.", + "DataShareError": { + "description": "The data share error model.", "required": [ - "kind" + "error" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyDto" + "properties": { + "error": { + "$ref": "#/definitions/DataShareErrorInfo", + "description": "The data share error body" } + } + }, + "DataShareErrorInfo": { + "description": "The data share error body model.", + "required": [ + "code", + "message" ], + "type": "object", "properties": { - "kind": { - "description": "Kind of synchronization", + "code": { + "description": "Code of the error", + "type": "string" + }, + "details": { + "description": "Nested details of the error model", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataShareErrorInfo" + } + }, + "message": { + "description": "Message of the error", + "type": "string" + }, + "target": { + "description": "Target of the error", + "type": "string" + } + } + }, + "DefaultDto": { + "description": "Base data transfer object implementation for default resources.", + "type": "object", + "properties": { + "id": { + "description": "The resource id of the azure resource", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Location of the azure resource.", + "type": "string" + }, + "name": { + "description": "Name of the azure resource", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Tags on the azure resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "type": { + "description": "Type of the azure resource", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "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" + } + } + }, + "Identity": { + "description": "Identity of resource", + "type": "object", + "properties": { + "principalId": { + "description": "service principal Id", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Tenant Id", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Identity Type", "enum": [ - "ScheduleBased" + "SystemAssigned" ], "type": "string", "x-ms-enum": { - "name": "kind", + "name": "type", "modelAsString": true } } - }, - "discriminator": "kind" + } + }, + "Invitation": { + "description": "A Invitation data transfer object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyDto" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/InvitationProperties", + "description": "Properties on the Invitation", + "x-ms-client-flatten": true + } + } }, - "TriggerList": { - "description": "List response for get triggers", + "InvitationList": { + "description": "List response for get InvitationList", "required": [ "value" ], @@ -4536,88 +4641,73 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/Trigger" + "$ref": "#/definitions/Invitation" } } } }, - "ScheduledSynchronizationSetting": { - "description": "A type of synchronization setting based on schedule", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SynchronizationSetting" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ScheduledSynchronizationSettingProperties", - "description": "Properties of scheduled synchronization", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "ScheduleBased" - }, - "ScheduledSynchronizationSettingProperties": { - "description": "A Scheduled synchronization setting data transfer object.", - "required": [ - "recurrenceInterval", - "synchronizationTime" - ], + "InvitationProperties": { + "description": "Invitation property bag.", "type": "object", "properties": { - "createdAt": { - "format": "date-time", - "description": "Time at which the synchronization setting was created.", + "invitationId": { + "description": "unique invitation id", "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Gets or sets the provisioning state", + "invitationStatus": { + "description": "The status of the invitation.", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Pending", + "Accepted", + "Rejected", + "Withdrawn" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "invitationStatus", "modelAsString": true } }, - "recurrenceInterval": { - "description": "Recurrence Interval", - "enum": [ - "Hour", - "Day" - ], + "respondedAt": { + "format": "date-time", + "description": "The time the recipient responded to the invitation.", "type": "string", - "x-ms-enum": { - "name": "recurrenceInterval", - "modelAsString": true - } + "readOnly": true }, - "synchronizationTime": { + "sentAt": { "format": "date-time", - "description": "Synchronization time", + "description": "Gets the time at which the invitation was sent.", + "type": "string", + "readOnly": true + }, + "targetActiveDirectoryId": { + "description": "The target Azure AD Id. Can't be combined with email.", + "type": "string" + }, + "targetEmail": { + "description": "The email the invitation is directed to.", + "type": "string" + }, + "targetObjectId": { + "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.", "type": "string" }, + "userEmail": { + "description": "Email of the user who created the resource", + "type": "string", + "readOnly": true + }, "userName": { - "description": "Name of the user who created the synchronization setting.", + "description": "Name of the user who created the resource", "type": "string", "readOnly": true } } }, - "ScheduledTrigger": { - "description": "A type of trigger based on schedule", + "KustoClusterDataSet": { + "description": "A kusto cluster data set.", "required": [ "properties", "kind" @@ -4625,159 +4715,132 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Trigger" + "$ref": "#/definitions/DataSet" } ], "properties": { "properties": { - "$ref": "#/definitions/ScheduledTriggerProperties", - "description": "Properties of scheduled synchronization", + "$ref": "#/definitions/KustoClusterDataSetProperties", + "description": "Kusto cluster data set properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "ScheduleBased" + "x-ms-discriminator-value": "KustoCluster" }, - "ScheduledTriggerProperties": { - "description": "A Scheduled trigger data transfer object.", + "KustoClusterDataSetMapping": { + "description": "A Kusto cluster data set mapping", "required": [ - "recurrenceInterval", - "synchronizationTime" + "properties", + "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], "properties": { - "createdAt": { - "format": "date-time", - "description": "Time at which the trigger was created.", - "type": "string", - "readOnly": true + "properties": { + "$ref": "#/definitions/KustoClusterDataSetMappingProperties", + "description": "Kusto cluster data set mapping properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "KustoCluster" + }, + "KustoClusterDataSetMappingProperties": { + "description": "Properties of the Kusto cluster data set mapping", + "required": [ + "kustoClusterResourceId", + "dataSetId" + ], + "type": "object", + "properties": { + "dataSetId": { + "description": "The id of the source data set.", + "type": "string" }, - "provisioningState": { - "description": "Gets the provisioning state", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "recurrenceInterval": { - "description": "Recurrence Interval", - "enum": [ - "Hour", - "Day" - ], - "type": "string", - "x-ms-enum": { - "name": "recurrenceInterval", - "modelAsString": true - } + "kustoClusterResourceId": { + "description": "Resource id of the sink kusto cluster.", + "type": "string" }, - "synchronizationMode": { - "description": "Synchronization mode", - "enum": [ - "Incremental", - "FullSync" - ], + "location": { + "description": "Location of the sink kusto cluster.", "type": "string", - "x-ms-enum": { - "name": "synchronizationMode", - "modelAsString": true - } - }, - "synchronizationTime": { - "format": "date-time", - "description": "Synchronization time", - "type": "string" + "readOnly": true }, - "triggerStatus": { - "description": "Gets the trigger state", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", "enum": [ - "Active", - "Inactive", - "SourceSynchronizationSettingDeleted" + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "triggerStatus", + "name": "provisioningState", "modelAsString": true } - }, - "userName": { - "description": "Name of the user who created the trigger.", - "type": "string", - "readOnly": true } } }, - "BlobDataSet": { - "description": "An Azure storage blob data set.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BlobProperties", - "description": "Blob data set properties.", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "Blob" - }, - "BlobProperties": { - "description": "Properties of the blob data set.", + "KustoClusterDataSetProperties": { + "description": "Properties of the kusto cluster data set.", "required": [ - "containerName", - "filePath", - "subscriptionId", - "resourceGroup", - "storageAccountName" + "kustoClusterResourceId" ], "type": "object", "properties": { - "containerName": { - "description": "Container that has the file path.", - "type": "string" - }, "dataSetId": { "description": "Unique id for identifying a data set resource", "type": "string", "readOnly": true }, - "filePath": { - "description": "File path within the source data set", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of storage account", + "kustoClusterResourceId": { + "description": "Resource id of the kusto cluster.", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" + "location": { + "description": "Location of the kusto cluster.", + "type": "string", + "readOnly": true }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" + "provisioningState": { + "description": "Provisioning state of the kusto cluster data set.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } } } }, - "BlobFolderDataSet": { - "description": "An Azure storage blob folder data set.", + "KustoDatabaseDataSet": { + "description": "A kusto database data set.", "required": [ "properties", "kind" @@ -4790,53 +4853,15 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BlobFolderProperties", - "description": "Blob folder data set properties.", + "$ref": "#/definitions/KustoDatabaseDataSetProperties", + "description": "Kusto database data set properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "BlobFolder" - }, - "BlobFolderProperties": { - "description": "Properties of the blob folder data set.", - "required": [ - "containerName", - "prefix", - "subscriptionId", - "resourceGroup", - "storageAccountName" - ], - "type": "object", - "properties": { - "containerName": { - "description": "Container that has the file path.", - "type": "string" - }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "prefix": { - "description": "Prefix for blob folder", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of storage account", - "type": "string" - }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" - }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" - } - } + "x-ms-discriminator-value": "KustoDatabase" }, - "BlobContainerDataSet": { - "description": "An Azure storage blob container data set.", + "KustoDatabaseDataSetMapping": { + "description": "A Kusto database data set mapping", "required": [ "properties", "kind" @@ -4844,80 +4869,74 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSet" + "$ref": "#/definitions/DataSetMapping" } ], "properties": { "properties": { - "$ref": "#/definitions/BlobContainerProperties", - "description": "Blob container data set properties.", + "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties", + "description": "Kusto database data set mapping properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "Container" + "x-ms-discriminator-value": "KustoDatabase" }, - "BlobContainerProperties": { - "description": "Properties of the BLOB container data set.", + "KustoDatabaseDataSetMappingProperties": { + "description": "Properties of the Kusto database data set mapping", "required": [ - "containerName", - "subscriptionId", - "resourceGroup", - "storageAccountName" + "kustoClusterResourceId", + "dataSetId" ], "type": "object", "properties": { - "containerName": { - "description": "BLOB Container name.", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", + "enum": [ + "Ok", + "Broken" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "dataSetMappingStatus", + "modelAsString": true + } }, - "resourceGroup": { - "description": "Resource group of storage account", + "kustoClusterResourceId": { + "description": "Resource id of the sink kusto cluster.", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" + "location": { + "description": "Location of the sink kusto cluster.", + "type": "string", + "readOnly": true }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } } } }, - "ADLSGen2FileDataSet": { - "description": "An ADLS Gen 2 file data set.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FileProperties", - "description": "ADLS Gen 2 file data set properties.", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "AdlsGen2File" - }, - "ADLSGen2FileProperties": { - "description": "Properties of the ADLS Gen2 file data set.", + "KustoDatabaseDataSetProperties": { + "description": "Properties of the kusto database data set.", "required": [ - "fileSystem", - "filePath", - "subscriptionId", - "resourceGroup", - "storageAccountName" + "kustoDatabaseResourceId" ], "type": "object", "properties": { @@ -4926,482 +4945,492 @@ "type": "string", "readOnly": true }, - "filePath": { - "description": "File path within the file system.", - "type": "string" - }, - "fileSystem": { - "description": "File system to which the file belongs.", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of storage account", + "kustoDatabaseResourceId": { + "description": "Resource id of the kusto database.", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" + "location": { + "description": "Location of the kusto cluster.", + "type": "string", + "readOnly": true }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" + "provisioningState": { + "description": "Provisioning state of the kusto database data set.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } } } }, - "ADLSGen2FolderDataSet": { - "description": "An ADLS Gen 2 folder data set.", + "OperationList": { + "description": "List response for get operations.", "required": [ - "properties", - "kind" + "value" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FolderProperties", - "description": "ADLS Gen 2 folder data set properties.", - "x-ms-client-flatten": true + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationModel" + } } - }, - "x-ms-discriminator-value": "AdlsGen2Folder" + } + }, + "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" + } + } }, - "ADLSGen2FolderProperties": { - "description": "Properties of the ADLS Gen2 folder data set.", - "required": [ - "fileSystem", - "folderPath", - "subscriptionId", - "resourceGroup", - "storageAccountName" - ], + "OperationMetaMetricSpecification": { + "description": "metric specifications for the operation", "type": "object", "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true + "aggregationType": { + "description": "aggregation type of metric", + "type": "string" }, - "fileSystem": { - "description": "File system to which the folder belongs.", + "dimensions": { + "description": "properties for dimension", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DimensionProperties" + } + }, + "displayDescription": { + "description": "description of the metric", "type": "string" }, - "folderPath": { - "description": "Folder path within the file system.", + "displayName": { + "description": "localized name of the metric", "type": "string" }, - "resourceGroup": { - "description": "Resource group of storage account", + "enableRegionalMdmAccount": { + "description": "enable regional mdm account", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set", + "internalMetricName": { + "description": "internal metric name", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of storage account", + "name": { + "description": "name of the metric", + "type": "string" + }, + "resourceIdDimensionNameOverride": { + "description": "dimension name use to replace resource id if specified", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "supported aggregation types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "description": "supported time grain types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "unit": { + "description": "units for the metric", "type": "string" } } }, - "ADLSGen2FileSystemDataSet": { - "description": "An ADLS Gen 2 file system data set.", - "required": [ - "properties", - "kind" - ], + "OperationMetaPropertyInfo": { + "description": "properties on meta info", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FileSystemProperties", - "description": "ADLS Gen 2 file system data set properties.", - "x-ms-client-flatten": true + "serviceSpecification": { + "$ref": "#/definitions/OperationMetaServiceSpecification", + "description": "meta service specification" } - }, - "x-ms-discriminator-value": "AdlsGen2FileSystem" + } }, - "ADLSGen2FileSystemProperties": { - "description": "Properties of the ADLS Gen2 file system data set.", - "required": [ - "fileSystem", - "subscriptionId", - "resourceGroup", - "storageAccountName" - ], + "OperationMetaServiceSpecification": { + "description": "The operation meta service specification", "type": "object", "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "fileSystem": { - "description": "The file system name.", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of storage account", - "type": "string" - }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" + "logSpecifications": { + "description": "log specifications for the operation", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetaLogSpecification" + } }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" + "metricSpecifications": { + "description": "metric specifications for the operation", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetaMetricSpecification" + } } } }, - "ADLSGen1FolderDataSet": { - "description": "An ADLS Gen 1 folder data set.", - "required": [ - "properties", - "kind" - ], + "OperationModel": { + "description": "The response model for get operations", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], "properties": { + "display": { + "$ref": "#/definitions/OperationModelProperties", + "description": "Properties on the operation" + }, + "name": { + "description": "Operation name for display purposes", + "type": "string" + }, + "origin": { + "description": "origin of the operation", + "type": "string" + }, "properties": { - "$ref": "#/definitions/ADLSGen1FolderProperties", - "description": "ADLS Gen 1 folder data set properties.", + "$ref": "#/definitions/OperationMetaPropertyInfo", + "description": "properties for the operation meta info", "x-ms-client-flatten": true } - }, - "x-ms-discriminator-value": "AdlsGen1Folder" + } }, - "ADLSGen1FolderProperties": { - "description": "Properties of the ADLS Gen1 folder data set.", - "required": [ - "subscriptionId", - "resourceGroup", - "accountName", - "folderPath" - ], + "OperationModelProperties": { + "description": "Properties on operations", "type": "object", "properties": { - "accountName": { - "description": "The ADLS account name.", + "description": { + "description": "Description of the operation for display purposes", "type": "string" }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "folderPath": { - "description": "The folder path within the ADLS account.", + "operation": { + "description": "Name of the operation for display purposes", "type": "string" }, - "resourceGroup": { - "description": "Resource group of ADLS account.", + "provider": { + "description": "Name of the provider for display purposes", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of ADLS account.", + "resource": { + "description": "Name of the resource type for display purposes", "type": "string" } } }, - "ADLSGen1FileDataSet": { - "description": "An ADLS Gen 1 file data set.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen1FileProperties", - "description": "ADLS Gen 1 file data set properties.", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "AdlsGen1File" - }, - "ADLSGen1FileProperties": { - "description": "Properties of the ADLS Gen1 file data set.", + "OperationResponse": { + "description": "Response for long running operation", "required": [ - "subscriptionId", - "resourceGroup", - "accountName", - "folderPath", - "fileName" + "status" ], "type": "object", "properties": { - "accountName": { - "description": "The ADLS account name.", - "type": "string" - }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "fileName": { - "description": "The file name in the ADLS account.", - "type": "string" - }, - "folderPath": { - "description": "The folder path within the ADLS account.", + "endTime": { + "format": "date-time", + "description": "start time", "type": "string" }, - "resourceGroup": { - "description": "Resource group of ADLS account.", - "type": "string" + "error": { + "$ref": "#/definitions/DataShareErrorInfo", + "description": "The error property when status is failed." }, - "subscriptionId": { - "description": "Subscription id of ADLS account.", + "startTime": { + "format": "date-time", + "description": "start time", "type": "string" + }, + "status": { + "description": "Operation state of the long running operation.", + "enum": [ + "Accepted", + "InProgress", + "TransientFailure", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "x-ms-enum": { + "name": "status", + "modelAsString": true + } } } }, - "KustoClusterDataSet": { - "description": "A kusto cluster data set.", - "required": [ - "properties", - "kind" - ], + "ProviderShareSubscription": { + "description": "A provider side share subscription data transfer object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSet" + "$ref": "#/definitions/ProxyDto" } ], "properties": { "properties": { - "$ref": "#/definitions/KustoClusterDataSetProperties", - "description": "Kusto cluster data set properties.", + "$ref": "#/definitions/ProviderShareSubscriptionProperties", + "description": "properties of providerShareSubscription", "x-ms-client-flatten": true } - }, - "x-ms-discriminator-value": "KustoCluster" + } }, - "KustoClusterDataSetProperties": { - "description": "Properties of the kusto cluster data set.", + "ProviderShareSubscriptionList": { + "description": "List response for get ShareSubscription.", "required": [ - "kustoClusterResourceId" + "value" ], "type": "object", "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProviderShareSubscription" + } + } + } + }, + "ProviderShareSubscriptionProperties": { + "description": "Provider share subscription properties", + "type": "object", + "properties": { + "consumerEmail": { + "description": "Email of the consumer who created the share subscription", "type": "string", "readOnly": true }, - "kustoClusterResourceId": { - "description": "Resource id of the kusto cluster.", - "type": "string" + "consumerName": { + "description": "Name of the consumer who created the share subscription", + "type": "string", + "readOnly": true }, - "location": { - "description": "Location of the kusto cluster.", + "consumerTenantName": { + "description": "Tenant name of the consumer who created the share subscription", "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Provisioning state of the kusto cluster data set.", + "createdAt": { + "format": "date-time", + "description": "created at", + "type": "string", + "readOnly": true + }, + "providerEmail": { + "description": "Email of the provider who created the share", + "type": "string", + "readOnly": true + }, + "providerName": { + "description": "Name of the provider who created the share", + "type": "string", + "readOnly": true + }, + "sharedAt": { + "format": "date-time", + "description": "Shared at", + "type": "string", + "readOnly": true + }, + "shareSubscriptionObjectId": { + "description": "share Subscription Object Id", + "type": "string", + "readOnly": true + }, + "shareSubscriptionStatus": { + "description": "Gets the status of share subscription", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Active", + "Revoked", + "SourceDeleted", + "Revoking" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "shareSubscriptionStatus", "modelAsString": true } } } }, - "KustoDatabaseDataSet": { - "description": "A kusto database data set.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/KustoDatabaseDataSetProperties", - "description": "Kusto database data set properties.", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "KustoDatabase" - }, - "KustoDatabaseDataSetProperties": { - "description": "Properties of the kusto database data set.", - "required": [ - "kustoDatabaseResourceId" - ], + "ProxyDto": { + "description": "Base data transfer object implementation for proxy resources.", "type": "object", "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", + "id": { + "description": "The resource id of the azure resource", "type": "string", "readOnly": true }, - "kustoDatabaseResourceId": { - "description": "Resource id of the kusto database.", - "type": "string" - }, - "location": { - "description": "Location of the kusto cluster.", + "name": { + "description": "Name of the azure resource", "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Provisioning state of the kusto database data set.", + "type": { + "description": "Type of the azure resource", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ScheduledSourceShareSynchronizationSettingProperties": { + "description": "A Scheduled source synchronization setting data transfer object.", + "type": "object", + "properties": { + "recurrenceInterval": { + "description": "Recurrence Interval", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Hour", + "Day" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "recurrenceInterval", "modelAsString": true } + }, + "synchronizationTime": { + "format": "date-time", + "description": "Synchronization time", + "type": "string" } } }, - "SqlDWTableDataSet": { - "description": "A SQL DW table data set.", + "ScheduledSourceSynchronizationSetting": { + "description": "A type of synchronization setting based on schedule", "required": [ "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSet" + "$ref": "#/definitions/SourceShareSynchronizationSetting" } ], "properties": { "properties": { - "$ref": "#/definitions/SqlDWTableProperties", - "description": "SQL DW table data set properties.", + "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties", + "description": "Properties of scheduled synchronization", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "SqlDWTable" - }, - "SqlDWTableProperties": { - "description": "Properties of the SQL DW table data set.", - "required": [ - "dataWarehouseName", - "tableName", - "schemaName", - "sqlServerResourceId" - ], - "type": "object", - "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "dataWarehouseName": { - "description": "DataWarehouse name of the source data set", - "type": "string" - }, - "schemaName": { - "description": "Schema of the table. Default value is dbo.", - "type": "string" - }, - "sqlServerResourceId": { - "description": "Resource id of SQL server", - "type": "string" - }, - "tableName": { - "description": "SQL DW table name.", - "type": "string" - } - } + "x-ms-discriminator-value": "ScheduleBased" }, - "SqlDBTableDataSet": { - "description": "A SQL DB table data set.", + "ScheduledSynchronizationSetting": { + "description": "A type of synchronization setting based on schedule", "required": [ + "properties", "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSet" + "$ref": "#/definitions/SynchronizationSetting" } ], "properties": { "properties": { - "$ref": "#/definitions/SqlDBTableProperties", - "description": "SQL DB table data set properties.", + "$ref": "#/definitions/ScheduledSynchronizationSettingProperties", + "description": "Properties of scheduled synchronization", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "SqlDBTable" + "x-ms-discriminator-value": "ScheduleBased" }, - "SqlDBTableProperties": { - "description": "Properties of the SQL DB table data set.", - "required": [ - "databaseName", - "tableName", - "schemaName", - "sqlServerResourceId" + "ScheduledSynchronizationSettingProperties": { + "description": "A Scheduled synchronization setting data transfer object.", + "required": [ + "recurrenceInterval", + "synchronizationTime" ], "type": "object", "properties": { - "databaseName": { - "description": "Database name of the source data set", - "type": "string" - }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", + "createdAt": { + "format": "date-time", + "description": "Time at which the synchronization setting was created.", "type": "string", "readOnly": true }, - "schemaName": { - "description": "Schema of the table. Default value is dbo.", - "type": "string" + "provisioningState": { + "description": "Gets or sets the provisioning state", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } }, - "sqlServerResourceId": { - "description": "Resource id of SQL server", - "type": "string" + "recurrenceInterval": { + "description": "Recurrence Interval", + "enum": [ + "Hour", + "Day" + ], + "type": "string", + "x-ms-enum": { + "name": "recurrenceInterval", + "modelAsString": true + } }, - "tableName": { - "description": "SQL DB table name.", + "synchronizationTime": { + "format": "date-time", + "description": "Synchronization time", "type": "string" + }, + "userName": { + "description": "Name of the user who created the synchronization setting.", + "type": "string", + "readOnly": true } } }, - "BlobDataSetMapping": { - "description": "A Blob data set mapping.", + "ScheduledTrigger": { + "description": "A type of trigger based on schedule", "required": [ "properties", "kind" @@ -5409,157 +5438,151 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSetMapping" + "$ref": "#/definitions/Trigger" } ], "properties": { "properties": { - "$ref": "#/definitions/BlobMappingProperties", - "description": "Blob data set mapping properties.", + "$ref": "#/definitions/ScheduledTriggerProperties", + "description": "Properties of scheduled synchronization", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "Blob" + "x-ms-discriminator-value": "ScheduleBased" }, - "BlobMappingProperties": { - "description": "Azure storage Blob data set mapping property bag.", + "ScheduledTriggerProperties": { + "description": "A Scheduled trigger data transfer object.", "required": [ - "containerName", - "filePath", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "recurrenceInterval", + "synchronizationTime" ], "type": "object", "properties": { - "containerName": { - "description": "Container that has the file path.", - "type": "string" - }, - "dataSetId": { - "description": "The id of the source data set.", - "type": "string" + "createdAt": { + "format": "date-time", + "description": "Time at which the trigger was created.", + "type": "string", + "readOnly": true }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", + "provisioningState": { + "description": "Gets the provisioning state", "enum": [ - "Ok", - "Broken" + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "dataSetMappingStatus", + "name": "provisioningState", "modelAsString": true } }, - "filePath": { - "description": "File path within the source data set", - "type": "string" - }, - "outputType": { - "description": "File output type", + "recurrenceInterval": { + "description": "Recurrence Interval", "enum": [ - "Csv", - "Parquet" + "Hour", + "Day" ], "type": "string", "x-ms-enum": { - "name": "outputType", + "name": "recurrenceInterval", "modelAsString": true } }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", + "synchronizationMode": { + "description": "Synchronization mode", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Incremental", + "FullSync" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "synchronizationMode", "modelAsString": true } }, - "resourceGroup": { - "description": "Resource group of storage account.", + "synchronizationTime": { + "format": "date-time", + "description": "Synchronization time", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set.", - "type": "string" + "triggerStatus": { + "description": "Gets the trigger state", + "enum": [ + "Active", + "Inactive", + "SourceSynchronizationSettingDeleted" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "triggerStatus", + "modelAsString": true + } }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" + "userName": { + "description": "Name of the user who created the trigger.", + "type": "string", + "readOnly": true } } }, - "BlobFolderDataSetMapping": { - "description": "A Blob folder data set mapping.", - "required": [ - "properties", - "kind" - ], + "Share": { + "description": "A share data transfer object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSetMapping" + "$ref": "#/definitions/ProxyDto" } ], "properties": { "properties": { - "$ref": "#/definitions/BlobFolderMappingProperties", - "description": "Blob folder data set mapping properties.", + "$ref": "#/definitions/ShareProperties", + "description": "Properties on the share", "x-ms-client-flatten": true } - }, - "x-ms-discriminator-value": "BlobFolder" + } }, - "BlobFolderMappingProperties": { - "description": "Azure storage Blob folder data set mapping property bag.", + "ShareList": { + "description": "List response for get Shares.", "required": [ - "containerName", - "prefix", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "value" ], "type": "object", "properties": { - "containerName": { - "description": "Container that has the file path.", - "type": "string" - }, - "dataSetId": { - "description": "The id of the source data set.", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Share" } + } + } + }, + "ShareProperties": { + "description": "Share property bag.", + "type": "object", + "properties": { + "createdAt": { + "format": "date-time", + "description": "Time at which the share was created.", + "type": "string", + "readOnly": true }, - "prefix": { - "description": "Prefix for blob folder", + "description": { + "description": "Share description.", "type": "string" }, "provisioningState": { - "description": "Provisioning state of the data set mapping.", + "description": "Gets or sets the provisioning state", "enum": [ "Succeeded", "Creating", @@ -5574,75 +5597,108 @@ "modelAsString": true } }, - "resourceGroup": { - "description": "Resource group of storage account.", - "type": "string" + "shareKind": { + "description": "Share kind.", + "enum": [ + "CopyBased", + "InPlace" + ], + "type": "string", + "x-ms-enum": { + "name": "shareKind", + "modelAsString": true + } }, - "storageAccountName": { - "description": "Storage account name of the source data set.", + "terms": { + "description": "Share terms.", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" + "userEmail": { + "description": "Email of the user who created the resource", + "type": "string", + "readOnly": true + }, + "userName": { + "description": "Name of the user who created the resource", + "type": "string", + "readOnly": true } } }, - "BlobContainerDataSetMapping": { - "description": "A Blob container data set mapping.", + "ShareSubscription": { + "description": "A share subscription data transfer object.", "required": [ - "properties", - "kind" + "properties" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSetMapping" + "$ref": "#/definitions/ProxyDto" } ], "properties": { "properties": { - "$ref": "#/definitions/BlobContainerMappingProperties", - "description": "Blob container data set mapping properties.", + "$ref": "#/definitions/ShareSubscriptionProperties", + "description": "Properties on the share subscription", "x-ms-client-flatten": true } - }, - "x-ms-discriminator-value": "Container" + } }, - "BlobContainerMappingProperties": { - "description": "Azure storage Blob container data set mapping property bag.", + "ShareSubscriptionList": { + "description": "List response for get ShareSubscription.", "required": [ - "containerName", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "value" ], "type": "object", "properties": { - "containerName": { - "description": "BLOB Container name.", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "dataSetId": { - "description": "The id of the source data set.", + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareSubscription" + } + } + } + }, + "ShareSubscriptionProperties": { + "description": "Share subscription property bag.", + "required": [ + "invitationId" + ], + "type": "object", + "properties": { + "createdAt": { + "format": "date-time", + "description": "Time at which the share subscription was created.", + "type": "string", + "readOnly": true + }, + "invitationId": { + "description": "The invitation id.", "type": "string" }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], + "providerEmail": { + "description": "Email of the provider who created the resource", "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true - } + "readOnly": true + }, + "providerName": { + "description": "Name of the provider who created the resource", + "type": "string", + "readOnly": true + }, + "providerTenantName": { + "description": "Tenant name of the provider who created the resource", + "type": "string", + "readOnly": true }, "provisioningState": { - "description": "Provisioning state of the data set mapping.", + "description": "Provisioning state of the share subscription", "enum": [ "Succeeded", "Creating", @@ -5657,210 +5713,279 @@ "modelAsString": true } }, - "resourceGroup": { - "description": "Resource group of storage account.", - "type": "string" + "shareDescription": { + "description": "Description of share", + "type": "string", + "readOnly": true }, - "storageAccountName": { - "description": "Storage account name of the source data set.", - "type": "string" + "shareKind": { + "description": "Kind of share", + "enum": [ + "CopyBased", + "InPlace" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "shareKind", + "modelAsString": true + } }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" + "shareName": { + "description": "Name of the share", + "type": "string", + "readOnly": true + }, + "shareSubscriptionStatus": { + "description": "Gets the current status of share subscription.", + "enum": [ + "Active", + "Revoked", + "SourceDeleted", + "Revoking" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "shareSubscriptionStatus", + "modelAsString": true + } + }, + "shareTerms": { + "description": "Terms of a share", + "type": "string", + "readOnly": true + }, + "userEmail": { + "description": "Email of the user who created the resource", + "type": "string", + "readOnly": true + }, + "userName": { + "description": "Name of the user who created the resource", + "type": "string", + "readOnly": true } } }, - "ADLSGen2FileDataSetMapping": { - "description": "An ADLS Gen2 file data set mapping.", + "ShareSubscriptionSynchronization": { + "description": "A ShareSubscriptionSynchronization data transfer object.", "required": [ - "properties", - "kind" + "synchronizationId" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSetMapping" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties", - "description": "ADLS Gen2 file data set mapping properties.", - "x-ms-client-flatten": true + "durationMs": { + "format": "int32", + "description": "Synchronization duration", + "type": "integer", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "End time of synchronization", + "type": "string", + "readOnly": true + }, + "message": { + "description": "message of Synchronization", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "start time of synchronization", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Raw Status", + "type": "string", + "readOnly": true + }, + "synchronizationId": { + "description": "Synchronization id", + "type": "string" + }, + "synchronizationMode": { + "description": "Synchronization Mode", + "enum": [ + "Incremental", + "FullSync" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "synchronizationMode", + "modelAsString": true + } } - }, - "x-ms-discriminator-value": "AdlsGen2File" + } }, - "ADLSGen2FileDataSetMappingProperties": { - "description": "ADLS Gen 2 file data set mapping property bag.", + "ShareSubscriptionSynchronizationList": { + "description": "A consumer side list of share subscription synchronizations", "required": [ - "fileSystem", - "filePath", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "value" ], "type": "object", "properties": { - "dataSetId": { - "description": "The id of the source data set.", + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareSubscriptionSynchronization" + } + } + } + }, + "ShareSynchronization": { + "description": "A ShareSynchronization data transfer object.", + "type": "object", + "properties": { + "consumerEmail": { + "description": "Email of the user who created the synchronization", + "type": "string" + }, + "consumerName": { + "description": "Name of the user who created the synchronization", + "type": "string" + }, + "consumerTenantName": { + "description": "Tenant name of the consumer who created the synchronization", + "type": "string" + }, + "durationMs": { + "format": "int32", + "description": "synchronization duration", + "type": "integer" + }, + "endTime": { + "format": "date-time", + "description": "End time of synchronization", "type": "string" }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true - } + "message": { + "description": "message of synchronization", + "type": "string" }, - "filePath": { - "description": "File path within the file system.", + "startTime": { + "format": "date-time", + "description": "start time of synchronization", "type": "string" }, - "fileSystem": { - "description": "File system to which the file belongs.", + "status": { + "description": "Raw Status", "type": "string" }, - "outputType": { - "description": "Type of output file", - "enum": [ - "Csv", - "Parquet" - ], - "type": "string", - "x-ms-enum": { - "name": "outputType", - "modelAsString": true - } + "synchronizationId": { + "description": "Synchronization id", + "type": "string" }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", + "synchronizationMode": { + "description": "Synchronization mode", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Incremental", + "FullSync" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "synchronizationMode", "modelAsString": true } - }, - "resourceGroup": { - "description": "Resource group of storage account.", - "type": "string" - }, - "storageAccountName": { - "description": "Storage account name of the source data set.", - "type": "string" - }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" } } }, - "ADLSGen2FolderDataSetMapping": { - "description": "An ADLS Gen2 folder data set mapping.", + "ShareSynchronizationList": { + "description": "List response for get ShareSynchronization.", "required": [ - "properties", - "kind" + "value" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSetMapping" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties", - "description": "ADLS Gen2 folder data set mapping properties.", - "x-ms-client-flatten": true + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareSynchronization" + } } - }, - "x-ms-discriminator-value": "AdlsGen2Folder" + } }, - "ADLSGen2FolderDataSetMappingProperties": { - "description": "ADLS Gen 2 folder data set mapping property bag.", + "SourceShareSynchronizationSetting": { + "description": "A view of synchronization setting added by the provider", "required": [ - "fileSystem", - "folderPath", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "kind" ], "type": "object", "properties": { - "dataSetId": { - "description": "The id of the source data set.", - "type": "string" - }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", + "kind": { + "description": "Kind of synchronization", "enum": [ - "Ok", - "Broken" + "ScheduleBased" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "dataSetMappingStatus", + "name": "kind", "modelAsString": true } - }, - "fileSystem": { - "description": "File system to which the folder belongs.", - "type": "string" - }, - "folderPath": { - "description": "Folder path within the file system.", + } + }, + "discriminator": "kind" + }, + "SourceShareSynchronizationSettingList": { + "description": "List response for get source share Synchronization settings", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SourceShareSynchronizationSetting" } - }, - "resourceGroup": { - "description": "Resource group of storage account.", - "type": "string" - }, - "storageAccountName": { - "description": "Storage account name of the source data set.", - "type": "string" - }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" } } }, - "ADLSGen2FileSystemDataSetMapping": { - "description": "An ADLS Gen2 file system data set mapping.", + "SqlDBTableDataSet": { + "description": "A SQL DB table data set.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlDBTableProperties", + "description": "SQL DB table data set properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "SqlDBTable" + }, + "SqlDBTableDataSetMapping": { + "description": "A SQL DB Table data set mapping.", "required": [ "properties", "kind" @@ -5873,24 +5998,28 @@ ], "properties": { "properties": { - "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties", - "description": "ADLS Gen2 file system data set mapping properties.", + "$ref": "#/definitions/SqlDBTableDataSetMappingProperties", + "description": "Sql DB data set mapping properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "AdlsGen2FileSystem" + "x-ms-discriminator-value": "SqlDBTable" }, - "ADLSGen2FileSystemDataSetMappingProperties": { - "description": "ADLS Gen 2 file system data set mapping property bag.", + "SqlDBTableDataSetMappingProperties": { + "description": "Properties of the SQL DB table data set mapping.", "required": [ - "fileSystem", - "subscriptionId", - "resourceGroup", - "storageAccountName", + "databaseName", + "tableName", + "schemaName", + "sqlServerResourceId", "dataSetId" ], "type": "object", "properties": { + "databaseName": { + "description": "DatabaseName name of the sink data set", + "type": "string" + }, "dataSetId": { "description": "The id of the source data set.", "type": "string" @@ -5908,10 +6037,6 @@ "modelAsString": true } }, - "fileSystem": { - "description": "The file system name.", - "type": "string" - }, "provisioningState": { "description": "Provisioning state of the data set mapping.", "enum": [ @@ -5928,22 +6053,75 @@ "modelAsString": true } }, - "resourceGroup": { - "description": "Resource group of storage account.", + "schemaName": { + "description": "Schema of the table. Default value is dbo.", + "type": "string" + }, + "sqlServerResourceId": { + "description": "Resource id of SQL server", + "type": "string" + }, + "tableName": { + "description": "SQL DB table name.", + "type": "string" + } + } + }, + "SqlDBTableProperties": { + "description": "Properties of the SQL DB table data set.", + "required": [ + "databaseName", + "tableName", + "schemaName", + "sqlServerResourceId" + ], + "type": "object", + "properties": { + "databaseName": { + "description": "Database name of the source data set", + "type": "string" + }, + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "schemaName": { + "description": "Schema of the table. Default value is dbo.", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set.", + "sqlServerResourceId": { + "description": "Resource id of SQL server", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of storage account.", + "tableName": { + "description": "SQL DB table name.", "type": "string" } } }, - "KustoClusterDataSetMapping": { - "description": "A Kusto cluster data set mapping", + "SqlDWTableDataSet": { + "description": "A SQL DW table data set.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlDWTableProperties", + "description": "SQL DW table data set properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "SqlDWTable" + }, + "SqlDWTableDataSetMapping": { + "description": "A SQL DW Table data set mapping.", "required": [ "properties", "kind" @@ -5956,17 +6134,20 @@ ], "properties": { "properties": { - "$ref": "#/definitions/KustoClusterDataSetMappingProperties", - "description": "Kusto cluster data set mapping properties.", + "$ref": "#/definitions/SqlDWTableDataSetMappingProperties", + "description": "Sql DW data set mapping properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "KustoCluster" + "x-ms-discriminator-value": "SqlDWTable" }, - "KustoClusterDataSetMappingProperties": { - "description": "Properties of the Kusto cluster data set mapping", + "SqlDWTableDataSetMappingProperties": { + "description": "Properties of the SQL DW table data set mapping.", "required": [ - "kustoClusterResourceId", + "dataWarehouseName", + "tableName", + "schemaName", + "sqlServerResourceId", "dataSetId" ], "type": "object", @@ -5988,15 +6169,10 @@ "modelAsString": true } }, - "kustoClusterResourceId": { - "description": "Resource id of the sink kusto cluster.", + "dataWarehouseName": { + "description": "DataWarehouse name of the source data set", "type": "string" }, - "location": { - "description": "Location of the sink kusto cluster.", - "type": "string", - "readOnly": true - }, "provisioningState": { "description": "Provisioning state of the data set mapping.", "enum": [ @@ -6012,345 +6188,295 @@ "name": "provisioningState", "modelAsString": true } + }, + "schemaName": { + "description": "Schema of the table. Default value is dbo.", + "type": "string" + }, + "sqlServerResourceId": { + "description": "Resource id of SQL server", + "type": "string" + }, + "tableName": { + "description": "SQL DW table name.", + "type": "string" } } }, - "KustoDatabaseDataSetMapping": { - "description": "A Kusto database data set mapping", + "SqlDWTableProperties": { + "description": "Properties of the SQL DW table data set.", "required": [ - "properties", - "kind" + "dataWarehouseName", + "tableName", + "schemaName", + "sqlServerResourceId" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSetMapping" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties", - "description": "Kusto database data set mapping properties.", - "x-ms-client-flatten": true + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "dataWarehouseName": { + "description": "DataWarehouse name of the source data set", + "type": "string" + }, + "schemaName": { + "description": "Schema of the table. Default value is dbo.", + "type": "string" + }, + "sqlServerResourceId": { + "description": "Resource id of SQL server", + "type": "string" + }, + "tableName": { + "description": "SQL DW table name.", + "type": "string" } - }, - "x-ms-discriminator-value": "KustoDatabase" + } }, - "KustoDatabaseDataSetMappingProperties": { - "description": "Properties of the Kusto database data set mapping", - "required": [ - "kustoClusterResourceId", - "dataSetId" - ], + "SynchronizationDetails": { + "description": "Synchronization details at data set level", "type": "object", "properties": { "dataSetId": { - "description": "The id of the source data set.", - "type": "string" + "description": "Id of data set", + "type": "string", + "readOnly": true }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", + "dataSetType": { + "description": "Type of the data set", "enum": [ - "Ok", - "Broken" + "Blob", + "Container", + "BlobFolder", + "AdlsGen2FileSystem", + "AdlsGen2Folder", + "AdlsGen2File", + "AdlsGen1Folder", + "AdlsGen1File", + "KustoCluster", + "KustoDatabase", + "SqlDBTable", + "SqlDWTable" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "dataSetMappingStatus", + "name": "dataSetType", "modelAsString": true } }, - "kustoClusterResourceId": { - "description": "Resource id of the sink kusto cluster.", - "type": "string" + "durationMs": { + "format": "int32", + "description": "Duration of data set level copy", + "type": "integer", + "readOnly": true }, - "location": { - "description": "Location of the sink kusto cluster.", + "endTime": { + "format": "date-time", + "description": "End time of data set level copy", "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" - ], + "filesRead": { + "format": "int64", + "description": "The number of files read from the source data set", + "type": "integer", + "readOnly": true + }, + "filesWritten": { + "format": "int64", + "description": "The number of files written into the sink data set", + "type": "integer", + "readOnly": true + }, + "message": { + "description": "Error message if any", "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true - } - } - } - }, - "SqlDWTableDataSetMapping": { - "description": "A SQL DW Table data set mapping.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSetMapping" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SqlDWTableDataSetMappingProperties", - "description": "Sql DW data set mapping properties.", - "x-ms-client-flatten": true + "readOnly": true + }, + "name": { + "description": "Name of the data set", + "type": "string", + "readOnly": true + }, + "rowsCopied": { + "format": "int64", + "description": "The number of files copied into the sink data set", + "type": "integer", + "readOnly": true + }, + "rowsRead": { + "format": "int64", + "description": "The number of rows read from the source data set.", + "type": "integer", + "readOnly": true + }, + "sizeRead": { + "format": "int64", + "description": "The size of the data read from the source data set in bytes", + "type": "integer", + "readOnly": true + }, + "sizeWritten": { + "format": "int64", + "description": "The size of the data written into the sink data set in bytes", + "type": "integer", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "Start time of data set level copy", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Raw Status", + "type": "string", + "readOnly": true + }, + "vCore": { + "format": "int64", + "description": "The vCore units consumed for the data set synchronization", + "type": "integer", + "readOnly": true } - }, - "x-ms-discriminator-value": "SqlDWTable" + } }, - "SqlDWTableDataSetMappingProperties": { - "description": "Properties of the SQL DW table data set mapping.", + "SynchronizationDetailsList": { + "description": "details of synchronization", "required": [ - "dataWarehouseName", - "tableName", - "schemaName", - "sqlServerResourceId", - "dataSetId" + "value" ], "type": "object", "properties": { - "dataSetId": { - "description": "The id of the source data set.", - "type": "string" - }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true - } - }, - "dataWarehouseName": { - "description": "DataWarehouse name of the source data set", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SynchronizationDetails" } - }, - "schemaName": { - "description": "Schema of the table. Default value is dbo.", - "type": "string" - }, - "sqlServerResourceId": { - "description": "Resource id of SQL server", - "type": "string" - }, - "tableName": { - "description": "SQL DW table name.", - "type": "string" } } }, - "SqlDBTableDataSetMapping": { - "description": "A SQL DB Table data set mapping.", + "SynchronizationSetting": { + "description": "A Synchronization Setting data transfer object.", "required": [ - "properties", "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSetMapping" + "$ref": "#/definitions/ProxyDto" } ], "properties": { - "properties": { - "$ref": "#/definitions/SqlDBTableDataSetMappingProperties", - "description": "Sql DB data set mapping properties.", - "x-ms-client-flatten": true + "kind": { + "description": "Kind of synchronization", + "enum": [ + "ScheduleBased" + ], + "type": "string", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } } }, - "x-ms-discriminator-value": "SqlDBTable" + "discriminator": "kind" }, - "SqlDBTableDataSetMappingProperties": { - "description": "Properties of the SQL DB table data set mapping.", + "SynchronizationSettingList": { + "description": "List response for get Synchronization settings", "required": [ - "databaseName", - "tableName", - "schemaName", - "sqlServerResourceId", - "dataSetId" + "value" ], "type": "object", "properties": { - "databaseName": { - "description": "DatabaseName name of the sink data set", - "type": "string" - }, - "dataSetId": { - "description": "The id of the source data set.", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SynchronizationSetting" } - }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", + } + } + }, + "Synchronize": { + "description": "Payload for the synchronizing the data.", + "type": "object", + "properties": { + "synchronizationMode": { + "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Incremental", + "FullSync" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "synchronizationMode", "modelAsString": true } - }, - "schemaName": { - "description": "Schema of the table. Default value is dbo.", - "type": "string" - }, - "sqlServerResourceId": { - "description": "Resource id of SQL server", - "type": "string" - }, - "tableName": { - "description": "SQL DB table name.", - "type": "string" } } }, - "ScheduledSourceSynchronizationSetting": { - "description": "A type of synchronization setting based on schedule", + "Trigger": { + "description": "A Trigger data transfer object.", "required": [ "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/SourceShareSynchronizationSetting" + "$ref": "#/definitions/ProxyDto" } ], "properties": { - "properties": { - "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties", - "description": "Properties of scheduled synchronization", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "ScheduleBased" - }, - "ScheduledSourceShareSynchronizationSettingProperties": { - "description": "A Scheduled source synchronization setting data transfer object.", - "type": "object", - "properties": { - "recurrenceInterval": { - "description": "Recurrence Interval", + "kind": { + "description": "Kind of synchronization", "enum": [ - "Hour", - "Day" + "ScheduleBased" ], "type": "string", "x-ms-enum": { - "name": "recurrenceInterval", + "name": "kind", "modelAsString": true } - }, - "synchronizationTime": { - "format": "date-time", - "description": "Synchronization time", - "type": "string" } - } + }, + "discriminator": "kind" }, - "DefaultDto": { - "description": "Base data transfer object implementation for default resources.", + "TriggerList": { + "description": "List response for get triggers", + "required": [ + "value" + ], "type": "object", "properties": { - "id": { - "description": "The resource id of the azure resource", - "type": "string", - "readOnly": true - }, - "location": { - "description": "Location of the azure resource.", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "name": { - "description": "Name of the azure resource", - "type": "string", - "readOnly": true - }, - "tags": { - "description": "Tags on the azure resource.", - "type": "object", - "additionalProperties": { - "type": "string" + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Trigger" } - }, - "type": { - "description": "Type of the azure resource", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ProxyDto": { - "description": "Base data transfer object implementation for proxy resources.", - "type": "object", - "properties": { - "id": { - "description": "The resource id of the azure resource", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Name of the azure resource", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Type of the azure resource", - "type": "string", - "readOnly": true } - }, - "x-ms-azure-resource": true + } } }, "parameters": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_ListByShareSubscription.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_ListByShareSubscription.json index 4fbda6edc6b8..b2a77abe9a78 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_ListByShareSubscription.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_ListByShareSubscription.json @@ -4,7 +4,9 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareSubscriptionName": "ShareSubscription1", - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "filter": "name eq 'DatasetMapping1'", + "orderBy": "name" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_ListByShare.json index 377709df3724..ed1395bb7e3f 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_ListByShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_ListByShare.json @@ -4,7 +4,9 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "filter": "name eq 'Dataset1'", + "orderBy": "name" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Invitations_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Invitations_ListByShare.json index ddcc24d8ef51..3ce0678f1b03 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Invitations_ListByShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Invitations_ListByShare.json @@ -4,7 +4,9 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "filter": "properties/targetEmail eq 'johnsmith@microsoft.com'", + "orderBy": "properties/sentAt" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListByAccount.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListByAccount.json index dc9c84579419..dcbd9ee25a36 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListByAccount.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListByAccount.json @@ -3,7 +3,9 @@ "subscriptionId": "12345678-1234-1234-12345678abc", "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "filter": "name eq 'ShareSubscription1'", + "orderBy": "properties/createdAt" }, "responses": { "200": { @@ -39,7 +41,7 @@ "properties": { "userName": "John Smith", "userEmail": "john.smith@microsoft.com", - "createdAt": "2019-01-17T22:32:36.8185016Z", + "createdAt": "2020-12-17T22:32:36.8185016Z", "shareSubscriptionStatus": "Active", "invitationId": "4256e2cf-0f82-4865-961b-12f83333f487", "shareName": "share1", diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizationDetails.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizationDetails.json index 78858bc649c3..0a0e50bce98d 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizationDetails.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizationDetails.json @@ -7,7 +7,9 @@ "shareSubscriptionSynchronization": { "synchronizationId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" }, - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "filter": "name eq 'datasetmapping1'", + "orderBy": "durationMs" }, "responses": { "200": { @@ -25,7 +27,7 @@ "startTime": "2018-11-14T04:47:52.9614956Z", "durationMs": 2000, "status": "Completed", - "name": "dataset1", + "name": "datasetmapping1", "dataSetId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb", "dataSetType": "Blob" } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizations.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizations.json index 4977df1c9813..dde0a4b39c1e 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizations.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizations.json @@ -4,7 +4,8 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareSubscriptionName": "ShareSub1", - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "orderBy": "durationMs" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListByAccount.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListByAccount.json index 69eb8b0341ee..d5db9970ab1c 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListByAccount.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListByAccount.json @@ -3,7 +3,9 @@ "subscriptionId": "12345678-1234-1234-12345678abc", "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "filter": "name eq 'Share1'", + "orderBy": "properties/createdAt" }, "responses": { "200": { @@ -35,7 +37,7 @@ "terms": "Confidential", "shareKind": "CopyBased", "userName": "John Smith", - "createdAt": "2018-11-14T06:15:15.6818898Z", + "createdAt": "2019-10-14T06:15:15.6818898Z", "userEmail": "johnsmith@microsoft.com" }, "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1", diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizationDetails.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizationDetails.json index fc8da2ed1635..7c5601a1a429 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizationDetails.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizationDetails.json @@ -7,7 +7,9 @@ "shareSynchronization": { "synchronizationId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" }, - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "filter": "name eq 'dataset1'", + "orderBy": "durationMs" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizations.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizations.json index 2f7f0c095005..692ae24a2a43 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizations.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizations.json @@ -4,7 +4,8 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "api-version": "2018-11-01-preview" + "api-version": "2018-11-01-preview", + "filter": "consumerTenantName eq 'nda'" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json index 07c0de6b472b..52cb2b83c073 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json @@ -16,6 +16,53 @@ "application/json" ], "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts": { + "get": { + "tags": [ + "Account" + ], + "summary": "List Accounts in a subscription", + "description": "List Accounts in Subscription", + "operationId": "Accounts_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Continuation token", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "An error response received from the Microsoft.DataShare resource provider.", + "schema": { + "$ref": "#/definitions/DataShareError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Accounts_ListBySubscription": { + "$ref": "./examples/Accounts_ListBySubscription.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}": { "get": { "tags": [ @@ -214,53 +261,6 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts": { - "get": { - "tags": [ - "Account" - ], - "summary": "List Accounts in a subscription", - "description": "List Accounts in Subscription", - "operationId": "Accounts_ListBySubscription", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "name": "$skipToken", - "in": "query", - "description": "Continuation token", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/AccountList" - } - }, - "default": { - "description": "An error response received from the Microsoft.DataShare resource provider.", - "schema": { - "$ref": "#/definitions/DataShareError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Accounts_ListBySubscription": { - "$ref": "./examples/Accounts_ListBySubscription.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts": { "get": { "tags": [ @@ -311,40 +311,31 @@ } } }, - "/providers/Microsoft.DataShare/locations/{location}/RejectInvitation": { - "post": { + "/providers/Microsoft.DataShare/ListInvitations": { + "get": { "tags": [ "ConsumerInvitation" ], - "summary": "Rejects the invitation identified by invitationId", - "description": "Reject an invitation", - "operationId": "ConsumerInvitations_RejectInvitation", + "summary": "List the invitations", + "description": "Lists invitations", + "operationId": "ConsumerInvitations_ListInvitations", "parameters": [ { - "name": "location", - "in": "path", - "description": "Location of the invitation", - "required": true, - "type": "string" - }, - { - "name": "invitation", - "in": "body", - "description": "An invitation payload", - "required": true, - "schema": { - "$ref": "#/definitions/ConsumerInvitation" - } + "$ref": "#/parameters/api-version" }, { - "$ref": "#/parameters/api-version" + "name": "$skipToken", + "in": "query", + "description": "The continuation token", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ConsumerInvitation" + "$ref": "#/definitions/ConsumerInvitationList" } }, "default": { @@ -354,9 +345,12 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "ConsumerInvitations_RejectInvitation": { - "$ref": "./examples/ConsumerInvitations_RejectInvitation.json" + "ConsumerInvitations_ListInvitations": { + "$ref": "./examples/ConsumerInvitations_ListInvitations.json" } } } @@ -409,31 +403,40 @@ } } }, - "/providers/Microsoft.DataShare/ListInvitations": { - "get": { + "/providers/Microsoft.DataShare/locations/{location}/RejectInvitation": { + "post": { "tags": [ "ConsumerInvitation" ], - "summary": "List the invitations", - "description": "Lists invitations", - "operationId": "ConsumerInvitations_ListInvitations", + "summary": "Rejects the invitation identified by invitationId", + "description": "Reject an invitation", + "operationId": "ConsumerInvitations_RejectInvitation", "parameters": [ { - "$ref": "#/parameters/api-version" + "name": "location", + "in": "path", + "description": "Location of the invitation", + "required": true, + "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "The continuation token", - "required": false, - "type": "string" + "name": "invitation", + "in": "body", + "description": "An invitation payload", + "required": true, + "schema": { + "$ref": "#/definitions/ConsumerInvitation" + } + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ConsumerInvitationList" + "$ref": "#/definitions/ConsumerInvitation" } }, "default": { @@ -443,12 +446,9 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "ConsumerInvitations_ListInvitations": { - "$ref": "./examples/ConsumerInvitations_ListInvitations.json" + "ConsumerInvitations_RejectInvitation": { + "$ref": "./examples/ConsumerInvitations_RejectInvitation.json" } } } @@ -685,6 +685,20 @@ "description": "continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { @@ -936,6 +950,20 @@ "description": "Continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { @@ -1178,6 +1206,20 @@ "description": "The continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { @@ -1241,14 +1283,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails": { + "post": { "tags": [ "Share" ], - "summary": "Get a specified share", - "description": "Get a share ", - "operationId": "Shares_Get", + "summary": "List data set level details for a share synchronization", + "description": "List synchronization details", + "operationId": "Shares_ListSynchronizationDetails", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1262,19 +1304,49 @@ { "name": "shareName", "in": "path", - "description": "The name of the share to retrieve.", + "description": "The name of the share.", "required": true, "type": "string" }, + { + "name": "shareSynchronization", + "in": "body", + "description": "Share Synchronization payload.", + "required": true, + "schema": { + "$ref": "#/definitions/ShareSynchronization" + } + }, { "$ref": "#/parameters/api-version" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Continuation token", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/Share" + "$ref": "#/definitions/SynchronizationDetailsList" } }, "default": { @@ -1284,82 +1356,24 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Shares_Get": { - "$ref": "./examples/Shares_Get.json" + "Shares_ListSynchronizationDetails": { + "$ref": "./examples/Shares_ListSynchronizationDetails.json" } } - }, - "put": { - "tags": [ - "Share" - ], - "summary": "Create a share in the given account.", - "description": "Create a share ", - "operationId": "Shares_Create", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/accountName" - }, - { - "name": "shareName", - "in": "path", - "description": "The name of the share.", - "required": true, - "type": "string" - }, - { - "name": "share", - "in": "body", - "description": "The share payload", - "required": true, - "schema": { - "$ref": "#/definitions/Share" - } - }, - { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "201": { - "description": "Success", - "schema": { - "$ref": "#/definitions/Share" - } - }, - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/Share" - } - }, - "default": { - "description": "An error response received from the Microsoft.DataShare resource provider.", - "schema": { - "$ref": "#/definitions/DataShareError" - } - } - }, - "x-ms-examples": { - "Shares_Create": { - "$ref": "./examples/Shares_Create.json" - } - } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations": { + "post": { "tags": [ "Share" ], - "summary": "Deletes a share", - "description": "Delete a share ", - "operationId": "Shares_Delete", + "summary": "List Synchronizations in a share", + "description": "List synchronizations of a share", + "operationId": "Shares_ListSynchronizations", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1379,61 +1393,25 @@ }, { "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/OperationResponse" - } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "Success" - }, - "default": { - "description": "An error response received from the Microsoft.DataShare resource provider.", - "schema": { - "$ref": "#/definitions/DataShareError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Shares_Delete": { - "$ref": "./examples/Shares_Delete.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares": { - "get": { - "tags": [ - "Share" - ], - "summary": "List of available shares under an account.", - "description": "List shares in an account", - "operationId": "Shares_ListByAccount", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" }, { - "$ref": "#/parameters/accountName" + "name": "$skipToken", + "in": "query", + "description": "Continuation token", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" }, { - "name": "$skipToken", + "name": "$orderby", "in": "query", - "description": "Continuation Token", + "description": "Sorts the results using OData syntax.", "required": false, "type": "string" } @@ -1442,7 +1420,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareList" + "$ref": "#/definitions/ShareSynchronizationList" } }, "default": { @@ -1456,20 +1434,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Shares_ListByAccount": { - "$ref": "./examples/Shares_ListByAccount.json" + "Shares_ListSynchronizations": { + "$ref": "./examples/Shares_ListSynchronizations.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate": { "post": { "tags": [ "Share" ], - "summary": "List Synchronizations in a share", - "description": "List synchronizations of a share", - "operationId": "Shares_ListSynchronizations", + "summary": "Reinstate share subscription in a provider share.", + "description": "Reinstate share subscription in a provider share", + "operationId": "ProviderShareSubscriptions_Reinstate", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1488,21 +1466,21 @@ "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "providerShareSubscriptionId", + "in": "path", + "description": "To locate shareSubscription", + "required": true, + "type": "string" }, { - "name": "$skipToken", - "in": "query", - "description": "Continuation token", - "required": false, - "type": "string" + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSynchronizationList" + "$ref": "#/definitions/ProviderShareSubscription" } }, "default": { @@ -1512,24 +1490,21 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Shares_ListSynchronizations": { - "$ref": "./examples/Shares_ListSynchronizations.json" + "ProviderShareSubscriptions_Reinstate": { + "$ref": "./examples/ProviderShareSubscriptions_Reinstate.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke": { "post": { "tags": [ "Share" ], - "summary": "List data set level details for a share synchronization", - "description": "List synchronization details", - "operationId": "Shares_ListSynchronizationDetails", + "summary": "Revoke share subscription in a provider share.", + "description": "Revoke share subscription in a provider share", + "operationId": "ProviderShareSubscriptions_Revoke", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1548,30 +1523,27 @@ "type": "string" }, { - "name": "shareSynchronization", - "in": "body", - "description": "Share Synchronization payload.", + "name": "providerShareSubscriptionId", + "in": "path", + "description": "To locate shareSubscription", "required": true, - "schema": { - "$ref": "#/definitions/ShareSynchronization" - } + "type": "string" }, { "$ref": "#/parameters/api-version" - }, - { - "name": "$skipToken", - "in": "query", - "description": "Continuation token", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/SynchronizationDetailsList" + "$ref": "#/definitions/ProviderShareSubscription" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/ProviderShareSubscription" } }, "default": { @@ -1581,12 +1553,13 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "Shares_ListSynchronizationDetails": { - "$ref": "./examples/Shares_ListSynchronizationDetails.json" + "ProviderShareSubscriptions_Revoke": { + "$ref": "./examples/ProviderShareSubscriptions_Revoke.json" } } } @@ -1708,14 +1681,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}": { + "get": { "tags": [ "Share" ], - "summary": "Revoke share subscription in a provider share.", - "description": "Revoke share subscription in a provider share", - "operationId": "ProviderShareSubscriptions_Revoke", + "summary": "Get a specified share", + "description": "Get a share ", + "operationId": "Shares_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1729,14 +1702,7 @@ { "name": "shareName", "in": "path", - "description": "The name of the share.", - "required": true, - "type": "string" - }, - { - "name": "providerShareSubscriptionId", - "in": "path", - "description": "To locate shareSubscription", + "description": "The name of the share to retrieve.", "required": true, "type": "string" }, @@ -1748,13 +1714,7 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ProviderShareSubscription" - } - }, - "202": { - "description": "Accepted", - "schema": { - "$ref": "#/definitions/ProviderShareSubscription" + "$ref": "#/definitions/Share" } }, "default": { @@ -1764,25 +1724,19 @@ } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, "x-ms-examples": { - "ProviderShareSubscriptions_Revoke": { - "$ref": "./examples/ProviderShareSubscriptions_Revoke.json" + "Shares_Get": { + "$ref": "./examples/Shares_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate": { - "post": { + }, + "put": { "tags": [ "Share" ], - "summary": "Reinstate share subscription in a provider share.", - "description": "Reinstate share subscription in a provider share", - "operationId": "ProviderShareSubscriptions_Reinstate", + "summary": "Create a share in the given account.", + "description": "Create a share ", + "operationId": "Shares_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1801,21 +1755,29 @@ "type": "string" }, { - "name": "providerShareSubscriptionId", - "in": "path", - "description": "To locate shareSubscription", + "name": "share", + "in": "body", + "description": "The share payload", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/Share" + } }, { "$ref": "#/parameters/api-version" } ], "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Share" + } + }, "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ProviderShareSubscription" + "$ref": "#/definitions/Share" } }, "default": { @@ -1826,20 +1788,18 @@ } }, "x-ms-examples": { - "ProviderShareSubscriptions_Reinstate": { - "$ref": "./examples/ProviderShareSubscriptions_Reinstate.json" + "Shares_Create": { + "$ref": "./examples/Shares_Create.json" } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}": { - "get": { + }, + "delete": { "tags": [ - "ShareSubscription" + "Share" ], - "summary": "Get shareSubscription in an account.", - "description": "Get a shareSubscription in an account", - "operationId": "ShareSubscriptions_Get", + "summary": "Deletes a share", + "description": "Delete a share ", + "operationId": "Shares_Delete", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1851,9 +1811,9 @@ "$ref": "#/parameters/accountName" }, { - "name": "shareSubscriptionName", + "name": "shareName", "in": "path", - "description": "The name of the shareSubscription.", + "description": "The name of the share.", "required": true, "type": "string" }, @@ -1865,9 +1825,15 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscription" + "$ref": "#/definitions/OperationResponse" } }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Success" + }, "default": { "description": "An error response received from the Microsoft.DataShare resource provider.", "schema": { @@ -1875,19 +1841,22 @@ } } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "ShareSubscriptions_Get": { - "$ref": "./examples/ShareSubscriptions_Get.json" + "Shares_Delete": { + "$ref": "./examples/Shares_Delete.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares": { + "get": { "tags": [ - "ShareSubscription" + "Share" ], - "summary": "Create shareSubscription in an account.", - "description": "Create a shareSubscription in an account", - "operationId": "ShareSubscriptions_Create", + "summary": "List of available shares under an account.", + "description": "List shares in an account", + "operationId": "Shares_ListByAccount", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1899,36 +1868,35 @@ "$ref": "#/parameters/accountName" }, { - "name": "shareSubscriptionName", - "in": "path", - "description": "The name of the shareSubscription.", - "required": true, + "$ref": "#/parameters/api-version" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Continuation Token", + "required": false, "type": "string" }, { - "name": "shareSubscription", - "in": "body", - "description": "create parameters for shareSubscription", - "required": true, - "schema": { - "$ref": "#/definitions/ShareSubscription" - } + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscription" - } - }, - "201": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ShareSubscription" + "$ref": "#/definitions/ShareList" } }, "default": { @@ -1938,19 +1906,24 @@ } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "ShareSubscriptions_Create": { - "$ref": "./examples/ShareSubscriptions_Create.json" + "Shares_ListByAccount": { + "$ref": "./examples/Shares_ListByAccount.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization": { + "post": { "tags": [ "ShareSubscription" ], - "summary": "Delete shareSubscription in an account.", - "description": "Delete a shareSubscription in an account", - "operationId": "ShareSubscriptions_Delete", + "summary": "Request cancellation of a data share snapshot", + "description": "Request to cancel a synchronization.", + "operationId": "ShareSubscriptions_CancelSynchronization", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1969,71 +1942,29 @@ "type": "string" }, { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/OperationResponse" - } - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "Success" - }, - "default": { - "description": "An error response received from the Microsoft.DataShare resource provider.", + "name": "shareSubscriptionSynchronization", + "in": "body", + "description": "Share Subscription Synchronization payload.", + "required": true, "schema": { - "$ref": "#/definitions/DataShareError" + "$ref": "#/definitions/ShareSubscriptionSynchronization" } - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "ShareSubscriptions_Delete": { - "$ref": "./examples/ShareSubscriptions_Delete.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions": { - "get": { - "tags": [ - "ShareSubscription" - ], - "summary": "List of available share subscriptions under an account.", - "description": "List share subscriptions in an account", - "operationId": "ShareSubscriptions_ListByAccount", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/accountName" }, { "$ref": "#/parameters/api-version" - }, - { - "name": "$skipToken", - "in": "query", - "description": "Continuation Token", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscriptionList" + "$ref": "#/definitions/ShareSubscriptionSynchronization" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/ShareSubscriptionSynchronization" } }, "default": { @@ -2043,12 +1974,13 @@ } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "ShareSubscriptions_ListByAccount": { - "$ref": "./examples/ShareSubscriptions_ListByAccount.json" + "ShareSubscriptions_CancelSynchronization": { + "$ref": "./examples/ShareSubscriptions_CancelSynchronization.json" } } } @@ -2173,14 +2105,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails": { "post": { "tags": [ "ShareSubscription" ], - "summary": "List Synchronizations in a share subscription.", - "description": "List synchronizations of a share subscription", - "operationId": "ShareSubscriptions_ListSynchronizations", + "summary": "List data set level details for a share subscription synchronization", + "description": "List synchronization details", + "operationId": "ShareSubscriptions_ListSynchronizationDetails", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2198,6 +2130,15 @@ "required": true, "type": "string" }, + { + "name": "shareSubscriptionSynchronization", + "in": "body", + "description": "Share Subscription Synchronization payload.", + "required": true, + "schema": { + "$ref": "#/definitions/ShareSubscriptionSynchronization" + } + }, { "$ref": "#/parameters/api-version" }, @@ -2207,13 +2148,27 @@ "description": "Continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronizationList" + "$ref": "#/definitions/SynchronizationDetailsList" } }, "default": { @@ -2227,20 +2182,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "ShareSubscriptions_ListSynchronizations": { - "$ref": "./examples/ShareSubscriptions_ListSynchronizations.json" + "ShareSubscriptions_ListSynchronizationDetails": { + "$ref": "./examples/ShareSubscriptions_ListSynchronizationDetails.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations": { "post": { "tags": [ "ShareSubscription" ], - "summary": "List data set level details for a share subscription synchronization", - "description": "List synchronization details", - "operationId": "ShareSubscriptions_ListSynchronizationDetails", + "summary": "List Synchronizations in a share subscription.", + "description": "List synchronizations of a share subscription", + "operationId": "ShareSubscriptions_ListSynchronizations", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2258,15 +2213,6 @@ "required": true, "type": "string" }, - { - "name": "shareSubscriptionSynchronization", - "in": "body", - "description": "Share Subscription Synchronization payload.", - "required": true, - "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" - } - }, { "$ref": "#/parameters/api-version" }, @@ -2276,13 +2222,27 @@ "description": "Continuation token", "required": false, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/SynchronizationDetailsList" + "$ref": "#/definitions/ShareSubscriptionSynchronizationList" } }, "default": { @@ -2296,8 +2256,8 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "ShareSubscriptions_ListSynchronizationDetails": { - "$ref": "./examples/ShareSubscriptions_ListSynchronizationDetails.json" + "ShareSubscriptions_ListSynchronizations": { + "$ref": "./examples/ShareSubscriptions_ListSynchronizations.json" } } } @@ -2371,14 +2331,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}": { + "get": { "tags": [ "ShareSubscription" ], - "summary": "Request cancellation of a data share snapshot", - "description": "Request to cancel a synchronization.", - "operationId": "ShareSubscriptions_CancelSynchronization", + "summary": "Get shareSubscription in an account.", + "description": "Get a shareSubscription in an account", + "operationId": "ShareSubscriptions_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2397,12 +2357,60 @@ "type": "string" }, { - "name": "shareSubscriptionSynchronization", + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ShareSubscription" + } + }, + "default": { + "description": "An error response received from the Microsoft.DataShare resource provider.", + "schema": { + "$ref": "#/definitions/DataShareError" + } + } + }, + "x-ms-examples": { + "ShareSubscriptions_Get": { + "$ref": "./examples/ShareSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "ShareSubscription" + ], + "summary": "Create shareSubscription in an account.", + "description": "Create a shareSubscription in an account", + "operationId": "ShareSubscriptions_Create", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "name": "shareSubscriptionName", + "in": "path", + "description": "The name of the shareSubscription.", + "required": true, + "type": "string" + }, + { + "name": "shareSubscription", "in": "body", - "description": "Share Subscription Synchronization payload.", + "description": "create parameters for shareSubscription", "required": true, "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" + "$ref": "#/definitions/ShareSubscription" } }, { @@ -2413,15 +2421,69 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" + "$ref": "#/definitions/ShareSubscription" } }, - "202": { - "description": "Accepted", + "201": { + "description": "Success", "schema": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" + "$ref": "#/definitions/ShareSubscription" + } + }, + "default": { + "description": "An error response received from the Microsoft.DataShare resource provider.", + "schema": { + "$ref": "#/definitions/DataShareError" + } + } + }, + "x-ms-examples": { + "ShareSubscriptions_Create": { + "$ref": "./examples/ShareSubscriptions_Create.json" + } + } + }, + "delete": { + "tags": [ + "ShareSubscription" + ], + "summary": "Delete shareSubscription in an account.", + "description": "Delete a shareSubscription in an account", + "operationId": "ShareSubscriptions_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "name": "shareSubscriptionName", + "in": "path", + "description": "The name of the shareSubscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationResponse" } }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Success" + }, "default": { "description": "An error response received from the Microsoft.DataShare resource provider.", "schema": { @@ -2430,12 +2492,76 @@ } }, "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" + "x-ms-examples": { + "ShareSubscriptions_Delete": { + "$ref": "./examples/ShareSubscriptions_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions": { + "get": { + "tags": [ + "ShareSubscription" + ], + "summary": "List of available share subscriptions under an account.", + "description": "List share subscriptions in an account", + "operationId": "ShareSubscriptions_ListByAccount", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Continuation Token", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Filters the results using OData syntax.", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "in": "query", + "description": "Sorts the results using OData syntax.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ShareSubscriptionList" + } + }, + "default": { + "description": "An error response received from the Microsoft.DataShare resource provider.", + "schema": { + "$ref": "#/definitions/DataShareError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" }, "x-ms-examples": { - "ShareSubscriptions_CancelSynchronization": { - "$ref": "./examples/ShareSubscriptions_CancelSynchronization.json" + "ShareSubscriptions_ListByAccount": { + "$ref": "./examples/ShareSubscriptions_ListByAccount.json" } } } @@ -2964,29 +3090,23 @@ } } }, - "Identity": { - "description": "Identity of resource", + "AccountList": { + "description": "List response for get Accounts.", + "required": [ + "value" + ], "type": "object", "properties": { - "principalId": { - "description": "service principal Id", - "type": "string", - "readOnly": true - }, - "tenantId": { - "description": "Tenant Id", - "type": "string", - "readOnly": true + "nextLink": { + "description": "The Url of next result page.", + "type": "string" }, - "type": { - "description": "Identity Type", - "enum": [ - "SystemAssigned" - ], - "type": "string", - "x-ms-enum": { - "name": "type", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Account" } } } @@ -3029,1062 +3149,1020 @@ } } }, - "DataShareError": { - "description": "The data share error model.", - "required": [ - "error" - ], + "AccountUpdateParameters": { + "description": "Update parameters for accounts", "type": "object", "properties": { - "error": { - "$ref": "#/definitions/DataShareErrorInfo", - "description": "The data share error body" + "tags": { + "description": "Tags on the azure resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, - "DataShareErrorInfo": { - "description": "The data share error body model.", + "ADLSGen1FileDataSet": { + "description": "An ADLS Gen 1 file data set.", "required": [ - "code", - "message" + "properties", + "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], "properties": { - "code": { - "description": "Code of the error", + "properties": { + "$ref": "#/definitions/ADLSGen1FileProperties", + "description": "ADLS Gen 1 file data set properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "AdlsGen1File" + }, + "ADLSGen1FileProperties": { + "description": "Properties of the ADLS Gen1 file data set.", + "required": [ + "subscriptionId", + "resourceGroup", + "accountName", + "folderPath", + "fileName" + ], + "type": "object", + "properties": { + "accountName": { + "description": "The ADLS account name.", "type": "string" }, - "details": { - "description": "Nested details of the error model", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DataShareErrorInfo" - } + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true }, - "message": { - "description": "Message of the error", + "fileName": { + "description": "The file name in the ADLS account.", "type": "string" }, - "target": { - "description": "Target of the error", + "folderPath": { + "description": "The folder path within the ADLS account.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group of ADLS account.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of ADLS account.", "type": "string" } } }, - "AccountUpdateParameters": { - "description": "Update parameters for accounts", + "ADLSGen1FolderDataSet": { + "description": "An ADLS Gen 1 folder data set.", + "required": [ + "properties", + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], "properties": { - "tags": { - "description": "Tags on the azure resource.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "properties": { + "$ref": "#/definitions/ADLSGen1FolderProperties", + "description": "ADLS Gen 1 folder data set properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen1Folder" }, - "OperationResponse": { - "description": "Response for long running operation", + "ADLSGen1FolderProperties": { + "description": "Properties of the ADLS Gen1 folder data set.", "required": [ - "status" + "subscriptionId", + "resourceGroup", + "accountName", + "folderPath" ], "type": "object", "properties": { - "endTime": { - "format": "date-time", - "description": "start time", + "accountName": { + "description": "The ADLS account name.", "type": "string" }, - "error": { - "$ref": "#/definitions/DataShareErrorInfo", - "description": "The error property when status is failed." + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true }, - "startTime": { - "format": "date-time", - "description": "start time", + "folderPath": { + "description": "The folder path within the ADLS account.", "type": "string" }, - "status": { - "description": "Operation state of the long running operation.", - "enum": [ - "Accepted", - "InProgress", - "TransientFailure", - "Succeeded", - "Failed", - "Canceled" - ], - "type": "string", - "x-ms-enum": { - "name": "status", - "modelAsString": true - } + "resourceGroup": { + "description": "Resource group of ADLS account.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of ADLS account.", + "type": "string" } } }, - "AccountList": { - "description": "List response for get Accounts.", + "ADLSGen2FileDataSet": { + "description": "An ADLS Gen 2 file data set.", "required": [ - "value" + "properties", + "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/Account" - } + "properties": { + "$ref": "#/definitions/ADLSGen2FileProperties", + "description": "ADLS Gen 2 file data set properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen2File" }, - "ConsumerInvitation": { - "description": "A consumer Invitation data transfer object.", + "ADLSGen2FileDataSetMapping": { + "description": "An ADLS Gen2 file data set mapping.", "required": [ - "properties" + "properties", + "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyDto" + "$ref": "#/definitions/DataSetMapping" } ], "properties": { "properties": { - "$ref": "#/definitions/ConsumerInvitationProperties", - "description": "Properties on the account", + "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties", + "description": "ADLS Gen2 file data set mapping properties.", "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen2File" }, - "ConsumerInvitationProperties": { - "description": "Properties of consumer invitation", + "ADLSGen2FileDataSetMappingProperties": { + "description": "ADLS Gen 2 file data set mapping property bag.", "required": [ - "invitationId" + "fileSystem", + "filePath", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" ], "type": "object", "properties": { - "dataSetCount": { - "format": "int32", - "description": "Number of data sets in a share", - "type": "integer", - "readOnly": true - }, - "description": { - "description": "Description shared when the invitation was created", - "type": "string", - "readOnly": true - }, - "invitationId": { - "description": "Unique id of the invitation.", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "invitationStatus": { - "description": "The status of the invitation.", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Pending", - "Accepted", - "Rejected", - "Withdrawn" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "invitationStatus", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "location": { - "description": "invitation location", - "type": "string", - "readOnly": true + "filePath": { + "description": "File path within the file system.", + "type": "string" }, - "providerEmail": { - "description": "Email of the provider who created the resource", - "type": "string", - "readOnly": true + "fileSystem": { + "description": "File system to which the file belongs.", + "type": "string" }, - "providerName": { - "description": "Name of the provider who created the resource", + "outputType": { + "description": "Type of output file", + "enum": [ + "Csv", + "Parquet" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "outputType", + "modelAsString": true + } }, - "providerTenantName": { - "description": "Tenant name of the provider who created the resource", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } }, - "respondedAt": { - "format": "date-time", - "description": "The time the recipient responded to the invitation.", - "type": "string", - "readOnly": true - }, - "sentAt": { - "format": "date-time", - "description": "Gets the time at which the invitation was sent.", - "type": "string", - "readOnly": true - }, - "shareName": { - "description": "Gets the source share Name.", - "type": "string", - "readOnly": true - }, - "termsOfUse": { - "description": "Terms of use shared when the invitation was created", - "type": "string", - "readOnly": true + "resourceGroup": { + "description": "Resource group of storage account.", + "type": "string" }, - "userEmail": { - "description": "Email of the user who created the resource", - "type": "string", - "readOnly": true + "storageAccountName": { + "description": "Storage account name of the source data set.", + "type": "string" }, - "userName": { - "description": "Name of the user who created the resource", - "type": "string", - "readOnly": true + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" } } }, - "ConsumerInvitationList": { - "description": "List response for get InvitationList", + "ADLSGen2FileProperties": { + "description": "Properties of the ADLS Gen2 file data set.", "required": [ - "value" + "fileSystem", + "filePath", + "subscriptionId", + "resourceGroup", + "storageAccountName" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "filePath": { + "description": "File path within the file system.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ConsumerInvitation" - } + "fileSystem": { + "description": "File system to which the file belongs.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group of storage account", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account", + "type": "string" } } }, - "DataSet": { - "description": "A DataSet data transfer object.", + "ADLSGen2FileSystemDataSet": { + "description": "An ADLS Gen 2 file system data set.", "required": [ + "properties", "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyDto" + "$ref": "#/definitions/DataSet" } ], "properties": { - "kind": { - "description": "Kind of data set.", - "enum": [ - "Blob", - "Container", - "BlobFolder", - "AdlsGen2FileSystem", - "AdlsGen2Folder", - "AdlsGen2File", - "AdlsGen1Folder", - "AdlsGen1File", - "KustoCluster", - "KustoDatabase", - "SqlDBTable", - "SqlDWTable" - ], - "type": "string", - "x-ms-enum": { - "name": "kind", - "modelAsString": true - } + "properties": { + "$ref": "#/definitions/ADLSGen2FileSystemProperties", + "description": "ADLS Gen 2 file system data set properties.", + "x-ms-client-flatten": true } }, - "discriminator": "kind" - }, - "DataSetList": { - "description": "List response for get DataSets", - "required": [ - "value" - ], - "type": "object", - "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DataSet" - } - } - } + "x-ms-discriminator-value": "AdlsGen2FileSystem" }, - "DataSetMapping": { - "description": "A data set mapping data transfer object.", + "ADLSGen2FileSystemDataSetMapping": { + "description": "An ADLS Gen2 file system data set mapping.", "required": [ + "properties", "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyDto" + "$ref": "#/definitions/DataSetMapping" } ], "properties": { - "kind": { - "description": "Kind of data set mapping.", - "enum": [ - "Blob", - "Container", - "BlobFolder", - "AdlsGen2FileSystem", - "AdlsGen2Folder", - "AdlsGen2File", - "KustoCluster", - "KustoDatabase", - "SqlDBTable", - "SqlDWTable" - ], - "type": "string", - "x-ms-enum": { - "name": "kind", - "modelAsString": true - } + "properties": { + "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties", + "description": "ADLS Gen2 file system data set mapping properties.", + "x-ms-client-flatten": true } }, - "discriminator": "kind" + "x-ms-discriminator-value": "AdlsGen2FileSystem" }, - "DataSetMappingList": { - "description": "List response for get DataSetMappings", + "ADLSGen2FileSystemDataSetMappingProperties": { + "description": "ADLS Gen 2 file system data set mapping property bag.", "required": [ - "value" + "fileSystem", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DataSetMapping" - } - } - } - }, - "Invitation": { - "description": "A Invitation data transfer object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyDto" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/InvitationProperties", - "description": "Properties on the Invitation", - "x-ms-client-flatten": true - } - } - }, - "InvitationProperties": { - "description": "Invitation property bag.", - "type": "object", - "properties": { - "invitationId": { - "description": "unique invitation id", - "type": "string", - "readOnly": true - }, - "invitationStatus": { - "description": "The status of the invitation.", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Pending", - "Accepted", - "Rejected", - "Withdrawn" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "invitationStatus", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "respondedAt": { - "format": "date-time", - "description": "The time the recipient responded to the invitation.", - "type": "string", - "readOnly": true + "fileSystem": { + "description": "The file system name.", + "type": "string" }, - "sentAt": { - "format": "date-time", - "description": "Gets the time at which the invitation was sent.", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } }, - "targetActiveDirectoryId": { - "description": "The target Azure AD Id. Can't be combined with email.", + "resourceGroup": { + "description": "Resource group of storage account.", "type": "string" }, - "targetEmail": { - "description": "The email the invitation is directed to.", + "storageAccountName": { + "description": "Storage account name of the source data set.", "type": "string" }, - "targetObjectId": { - "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.", + "subscriptionId": { + "description": "Subscription id of storage account.", "type": "string" - }, - "userEmail": { - "description": "Email of the user who created the resource", - "type": "string", - "readOnly": true - }, - "userName": { - "description": "Name of the user who created the resource", - "type": "string", - "readOnly": true } } }, - "InvitationList": { - "description": "List response for get InvitationList", + "ADLSGen2FileSystemProperties": { + "description": "Properties of the ADLS Gen2 file system data set.", "required": [ - "value" + "fileSystem", + "subscriptionId", + "resourceGroup", + "storageAccountName" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "fileSystem": { + "description": "The file system name.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/Invitation" - } + "resourceGroup": { + "description": "Resource group of storage account", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account", + "type": "string" } } }, - "OperationList": { - "description": "List response for get operations.", + "ADLSGen2FolderDataSet": { + "description": "An ADLS Gen 2 folder data set.", "required": [ - "value" + "properties", + "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/OperationModel" - } + "properties": { + "$ref": "#/definitions/ADLSGen2FolderProperties", + "description": "ADLS Gen 2 folder data set properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen2Folder" }, - "OperationModel": { - "description": "The response model for get operations", + "ADLSGen2FolderDataSetMapping": { + "description": "An ADLS Gen2 folder data set mapping.", + "required": [ + "properties", + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], "properties": { - "display": { - "$ref": "#/definitions/OperationModelProperties", - "description": "Properties on the operation" - }, - "name": { - "description": "Operation name for display purposes", - "type": "string" - }, - "origin": { - "description": "origin of the operation", - "type": "string" - }, "properties": { - "$ref": "#/definitions/OperationMetaPropertyInfo", - "description": "properties for the operation meta info", + "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties", + "description": "ADLS Gen2 folder data set mapping properties.", "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "AdlsGen2Folder" }, - "OperationModelProperties": { - "description": "Properties on operations", + "ADLSGen2FolderDataSetMappingProperties": { + "description": "ADLS Gen 2 folder data set mapping property bag.", + "required": [ + "fileSystem", + "folderPath", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" + ], "type": "object", "properties": { - "description": { - "description": "Description of the operation for display purposes", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "operation": { - "description": "Name of the operation for display purposes", - "type": "string" + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", + "enum": [ + "Ok", + "Broken" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "dataSetMappingStatus", + "modelAsString": true + } }, - "provider": { - "description": "Name of the provider for display purposes", + "fileSystem": { + "description": "File system to which the folder belongs.", "type": "string" }, - "resource": { - "description": "Name of the resource type for display purposes", + "folderPath": { + "description": "Folder path within the file system.", "type": "string" - } - } - }, - "OperationMetaPropertyInfo": { - "description": "properties on meta info", - "type": "object", - "properties": { - "serviceSpecification": { - "$ref": "#/definitions/OperationMetaServiceSpecification", - "description": "meta service specification" - } - } - }, - "OperationMetaServiceSpecification": { - "description": "The operation meta service specification", - "type": "object", - "properties": { - "logSpecifications": { - "description": "log specifications for the operation", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/OperationMetaLogSpecification" - } }, - "metricSpecifications": { - "description": "metric specifications for the operation", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/OperationMetaMetricSpecification" + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true } + }, + "resourceGroup": { + "description": "Resource group of storage account.", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" } } }, - "OperationMetaMetricSpecification": { - "description": "metric specifications for the operation", + "ADLSGen2FolderProperties": { + "description": "Properties of the ADLS Gen2 folder data set.", + "required": [ + "fileSystem", + "folderPath", + "subscriptionId", + "resourceGroup", + "storageAccountName" + ], "type": "object", "properties": { - "aggregationType": { - "description": "aggregation type of metric", - "type": "string" - }, - "dimensions": { - "description": "properties for dimension", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DimensionProperties" - } + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true }, - "displayDescription": { - "description": "description of the metric", + "fileSystem": { + "description": "File system to which the folder belongs.", "type": "string" }, - "displayName": { - "description": "localized name of the metric", + "folderPath": { + "description": "Folder path within the file system.", "type": "string" }, - "enableRegionalMdmAccount": { - "description": "enable regional mdm account", + "resourceGroup": { + "description": "Resource group of storage account", "type": "string" }, - "internalMetricName": { - "description": "internal metric name", + "storageAccountName": { + "description": "Storage account name of the source data set", "type": "string" }, - "name": { - "description": "name of the metric", - "type": "string" - }, - "resourceIdDimensionNameOverride": { - "description": "dimension name use to replace resource id if specified", - "type": "string" - }, - "supportedAggregationTypes": { - "description": "supported aggregation types", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "supportedTimeGrainTypes": { - "description": "supported time grain types", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "unit": { - "description": "units for the metric", + "subscriptionId": { + "description": "Subscription id of storage account", "type": "string" } } }, - "OperationMetaLogSpecification": { - "description": "log specifications for operation api", + "BlobContainerDataSet": { + "description": "An Azure storage blob container data set.", + "required": [ + "properties", + "kind" + ], "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" + "allOf": [ + { + "$ref": "#/definitions/DataSet" } - } - }, - "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" + "properties": { + "$ref": "#/definitions/BlobContainerProperties", + "description": "Blob container data set properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "Container" }, - "Share": { - "description": "A share data transfer object.", + "BlobContainerDataSetMapping": { + "description": "A Blob container data set mapping.", + "required": [ + "properties", + "kind" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyDto" + "$ref": "#/definitions/DataSetMapping" } ], "properties": { "properties": { - "$ref": "#/definitions/ShareProperties", - "description": "Properties on the share", + "$ref": "#/definitions/BlobContainerMappingProperties", + "description": "Blob container data set mapping properties.", "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "Container" }, - "ShareProperties": { - "description": "Share property bag.", + "BlobContainerMappingProperties": { + "description": "Azure storage Blob container data set mapping property bag.", + "required": [ + "containerName", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" + ], "type": "object", "properties": { - "createdAt": { - "format": "date-time", - "description": "Time at which the share was created.", - "type": "string", - "readOnly": true + "containerName": { + "description": "BLOB Container name.", + "type": "string" }, - "description": { - "description": "Share description.", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "provisioningState": { - "description": "Gets or sets the provisioning state", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "shareKind": { - "description": "Share kind.", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", "enum": [ - "CopyBased", - "InPlace" + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" ], "type": "string", + "readOnly": true, "x-ms-enum": { - "name": "shareKind", + "name": "provisioningState", "modelAsString": true } }, - "terms": { - "description": "Share terms.", + "resourceGroup": { + "description": "Resource group of storage account.", "type": "string" }, - "userEmail": { - "description": "Email of the user who created the resource", - "type": "string", - "readOnly": true - }, - "userName": { - "description": "Name of the user who created the resource", - "type": "string", - "readOnly": true - } - } - }, - "ShareList": { - "description": "List response for get Shares.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "nextLink": { - "description": "The Url of next result page.", + "storageAccountName": { + "description": "Storage account name of the source data set.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/Share" - } + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" } } }, - "ShareSynchronizationList": { - "description": "List response for get ShareSynchronization.", + "BlobContainerProperties": { + "description": "Properties of the BLOB container data set.", "required": [ - "value" + "containerName", + "subscriptionId", + "resourceGroup", + "storageAccountName" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ShareSynchronization" - } - } - } - }, - "ShareSynchronization": { - "description": "A ShareSynchronization data transfer object.", - "type": "object", - "properties": { - "consumerEmail": { - "description": "Email of the user who created the synchronization", - "type": "string" - }, - "consumerName": { - "description": "Name of the user who created the synchronization", - "type": "string" - }, - "consumerTenantName": { - "description": "Tenant name of the consumer who created the synchronization", - "type": "string" - }, - "durationMs": { - "format": "int32", - "description": "synchronization duration", - "type": "integer" - }, - "endTime": { - "format": "date-time", - "description": "End time of synchronization", + "containerName": { + "description": "BLOB Container name.", "type": "string" }, - "message": { - "description": "message of synchronization", - "type": "string" + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true }, - "startTime": { - "format": "date-time", - "description": "start time of synchronization", + "resourceGroup": { + "description": "Resource group of storage account", "type": "string" }, - "status": { - "description": "Raw Status", + "storageAccountName": { + "description": "Storage account name of the source data set", "type": "string" }, - "synchronizationId": { - "description": "Synchronization id", + "subscriptionId": { + "description": "Subscription id of storage account", "type": "string" - }, - "synchronizationMode": { - "description": "Synchronization mode", - "enum": [ - "Incremental", - "FullSync" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "synchronizationMode", - "modelAsString": true - } } } }, - "SynchronizationDetailsList": { - "description": "details of synchronization", + "BlobDataSet": { + "description": "An Azure storage blob data set.", "required": [ - "value" - ], + "properties", + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/SynchronizationDetails" - } + "properties": { + "$ref": "#/definitions/BlobProperties", + "description": "Blob data set properties.", + "x-ms-client-flatten": true } - } + }, + "x-ms-discriminator-value": "Blob" }, - "SynchronizationDetails": { - "description": "Synchronization details at data set level", + "BlobDataSetMapping": { + "description": "A Blob data set mapping.", + "required": [ + "properties", + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], "properties": { + "properties": { + "$ref": "#/definitions/BlobMappingProperties", + "description": "Blob data set mapping properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Blob" + }, + "BlobFolderDataSet": { + "description": "An Azure storage blob folder data set.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobFolderProperties", + "description": "Blob folder data set properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "BlobFolder" + }, + "BlobFolderDataSetMapping": { + "description": "A Blob folder data set mapping.", + "required": [ + "properties", + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobFolderMappingProperties", + "description": "Blob folder data set mapping properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "BlobFolder" + }, + "BlobFolderMappingProperties": { + "description": "Azure storage Blob folder data set mapping property bag.", + "required": [ + "containerName", + "prefix", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" + ], + "type": "object", + "properties": { + "containerName": { + "description": "Container that has the file path.", + "type": "string" + }, "dataSetId": { - "description": "Id of data set", - "type": "string", - "readOnly": true + "description": "The id of the source data set.", + "type": "string" }, - "dataSetType": { - "description": "Type of the data set", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Blob", - "Container", - "BlobFolder", - "AdlsGen2FileSystem", - "AdlsGen2Folder", - "AdlsGen2File", - "AdlsGen1Folder", - "AdlsGen1File", - "KustoCluster", - "KustoDatabase", - "SqlDBTable", - "SqlDWTable" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "dataSetType", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "durationMs": { - "format": "int32", - "description": "Duration of data set level copy", - "type": "integer", - "readOnly": true + "prefix": { + "description": "Prefix for blob folder", + "type": "string" }, - "endTime": { - "format": "date-time", - "description": "End time of data set level copy", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } }, - "filesRead": { - "format": "int64", - "description": "The number of files read from the source data set", - "type": "integer", - "readOnly": true + "resourceGroup": { + "description": "Resource group of storage account.", + "type": "string" }, - "filesWritten": { - "format": "int64", - "description": "The number of files written into the sink data set", - "type": "integer", - "readOnly": true + "storageAccountName": { + "description": "Storage account name of the source data set.", + "type": "string" }, - "message": { - "description": "Error message if any", - "type": "string", - "readOnly": true + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" + } + } + }, + "BlobFolderProperties": { + "description": "Properties of the blob folder data set.", + "required": [ + "containerName", + "prefix", + "subscriptionId", + "resourceGroup", + "storageAccountName" + ], + "type": "object", + "properties": { + "containerName": { + "description": "Container that has the file path.", + "type": "string" }, - "name": { - "description": "Name of the data set", + "dataSetId": { + "description": "Unique id for identifying a data set resource", "type": "string", "readOnly": true }, - "rowsCopied": { - "format": "int64", - "description": "The number of files copied into the sink data set", - "type": "integer", - "readOnly": true - }, - "rowsRead": { - "format": "int64", - "description": "The number of rows read from the source data set.", - "type": "integer", - "readOnly": true - }, - "sizeRead": { - "format": "int64", - "description": "The size of the data read from the source data set in bytes", - "type": "integer", - "readOnly": true - }, - "sizeWritten": { - "format": "int64", - "description": "The size of the data written into the sink data set in bytes", - "type": "integer", - "readOnly": true + "prefix": { + "description": "Prefix for blob folder", + "type": "string" }, - "startTime": { - "format": "date-time", - "description": "Start time of data set level copy", - "type": "string", - "readOnly": true + "resourceGroup": { + "description": "Resource group of storage account", + "type": "string" }, - "status": { - "description": "Raw Status", - "type": "string", - "readOnly": true + "storageAccountName": { + "description": "Storage account name of the source data set", + "type": "string" }, - "vCore": { - "format": "int64", - "description": "The vCore units consumed for the data set synchronization", - "type": "integer", - "readOnly": true + "subscriptionId": { + "description": "Subscription id of storage account", + "type": "string" } } }, - "ProviderShareSubscription": { - "description": "A provider side share subscription data transfer object.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyDto" - } + "BlobMappingProperties": { + "description": "Azure storage Blob data set mapping property bag.", + "required": [ + "containerName", + "filePath", + "subscriptionId", + "resourceGroup", + "storageAccountName", + "dataSetId" ], - "properties": { - "properties": { - "$ref": "#/definitions/ProviderShareSubscriptionProperties", - "description": "properties of providerShareSubscription", - "x-ms-client-flatten": true - } - } - }, - "ProviderShareSubscriptionProperties": { - "description": "Provider share subscription properties", "type": "object", "properties": { - "consumerEmail": { - "description": "Email of the consumer who created the share subscription", - "type": "string", - "readOnly": true - }, - "consumerName": { - "description": "Name of the consumer who created the share subscription", - "type": "string", - "readOnly": true - }, - "consumerTenantName": { - "description": "Tenant name of the consumer who created the share subscription", - "type": "string", - "readOnly": true - }, - "createdAt": { - "format": "date-time", - "description": "created at", - "type": "string", - "readOnly": true + "containerName": { + "description": "Container that has the file path.", + "type": "string" }, - "providerEmail": { - "description": "Email of the provider who created the share", - "type": "string", - "readOnly": true + "dataSetId": { + "description": "The id of the source data set.", + "type": "string" }, - "providerName": { - "description": "Name of the provider who created the share", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", + "enum": [ + "Ok", + "Broken" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "dataSetMappingStatus", + "modelAsString": true + } }, - "sharedAt": { - "format": "date-time", - "description": "Shared at", - "type": "string", - "readOnly": true + "filePath": { + "description": "File path within the source data set", + "type": "string" }, - "shareSubscriptionObjectId": { - "description": "share Subscription Object Id", + "outputType": { + "description": "File output type", + "enum": [ + "Csv", + "Parquet" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "outputType", + "modelAsString": true + } }, - "shareSubscriptionStatus": { - "description": "Gets the status of share subscription", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", "enum": [ - "Active", - "Revoked", - "SourceDeleted", - "Revoking" + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "shareSubscriptionStatus", + "name": "provisioningState", "modelAsString": true } + }, + "resourceGroup": { + "description": "Resource group of storage account.", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account.", + "type": "string" } } }, - "ProviderShareSubscriptionList": { - "description": "List response for get ShareSubscription.", + "BlobProperties": { + "description": "Properties of the blob data set.", "required": [ - "value" + "containerName", + "filePath", + "subscriptionId", + "resourceGroup", + "storageAccountName" ], "type": "object", "properties": { - "nextLink": { - "description": "The Url of next result page.", + "containerName": { + "description": "Container that has the file path.", "type": "string" }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ProviderShareSubscription" - } + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "filePath": { + "description": "File path within the source data set", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group of storage account", + "type": "string" + }, + "storageAccountName": { + "description": "Storage account name of the source data set", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id of storage account", + "type": "string" } } }, - "ShareSubscription": { - "description": "A share subscription data transfer object.", + "ConsumerInvitation": { + "description": "A consumer Invitation data transfer object.", "required": [ "properties" ], @@ -4096,30 +4174,75 @@ ], "properties": { "properties": { - "$ref": "#/definitions/ShareSubscriptionProperties", - "description": "Properties on the share subscription", + "$ref": "#/definitions/ConsumerInvitationProperties", + "description": "Properties on the account", "x-ms-client-flatten": true } } }, - "ShareSubscriptionProperties": { - "description": "Share subscription property bag.", + "ConsumerInvitationList": { + "description": "List response for get InvitationList", "required": [ - "invitationId", - "sourceShareLocation" + "value" ], "type": "object", "properties": { - "createdAt": { - "format": "date-time", - "description": "Time at which the share subscription was created.", + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ConsumerInvitation" + } + } + } + }, + "ConsumerInvitationProperties": { + "description": "Properties of consumer invitation", + "required": [ + "invitationId" + ], + "type": "object", + "properties": { + "dataSetCount": { + "format": "int32", + "description": "Number of data sets in a share", + "type": "integer", + "readOnly": true + }, + "description": { + "description": "Description shared when the invitation was created", "type": "string", "readOnly": true }, "invitationId": { - "description": "The invitation id.", + "description": "Unique id of the invitation.", "type": "string" }, + "invitationStatus": { + "description": "The status of the invitation.", + "enum": [ + "Pending", + "Accepted", + "Rejected", + "Withdrawn" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "invitationStatus", + "modelAsString": true + } + }, + "location": { + "description": "invitation location", + "type": "string", + "readOnly": true + }, "providerEmail": { "description": "Email of the provider who created the resource", "type": "string", @@ -4135,69 +4258,28 @@ "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Provisioning state of the share subscription", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true - } - }, - "shareDescription": { - "description": "Description of share", + "respondedAt": { + "format": "date-time", + "description": "The time the recipient responded to the invitation.", "type": "string", "readOnly": true }, - "shareKind": { - "description": "Kind of share", - "enum": [ - "CopyBased", - "InPlace" - ], + "sentAt": { + "format": "date-time", + "description": "Gets the time at which the invitation was sent.", "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "shareKind", - "modelAsString": true - } + "readOnly": true }, "shareName": { - "description": "Name of the share", + "description": "Gets the source share Name.", "type": "string", "readOnly": true }, - "shareSubscriptionStatus": { - "description": "Gets the current status of share subscription.", - "enum": [ - "Active", - "Revoked", - "SourceDeleted", - "Revoking" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "shareSubscriptionStatus", - "modelAsString": true - } - }, - "shareTerms": { - "description": "Terms of a share", + "termsOfUse": { + "description": "Terms of use shared when the invitation was created", "type": "string", "readOnly": true }, - "sourceShareLocation": { - "description": "Source share location.", - "type": "string" - }, "userEmail": { "description": "Email of the user who created the resource", "type": "string", @@ -4210,24 +4292,19 @@ } } }, - "ShareSubscriptionList": { - "description": "List response for get ShareSubscription.", - "required": [ - "value" - ], + "ConsumerSourceDataSet": { + "description": "A consumer side dataSet data transfer object.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyDto" + } + ], "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ShareSubscription" - } + "properties": { + "$ref": "#/definitions/ConsumerSourceDataSetProperties", + "description": "source dataSet properties", + "x-ms-client-flatten": true } } }, @@ -4252,48 +4329,69 @@ } } }, - "ConsumerSourceDataSet": { - "description": "A consumer side dataSet data transfer object.", + "ConsumerSourceDataSetProperties": { + "description": "Properties of consumer source dataSet", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyDto" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ConsumerSourceDataSetProperties", - "description": "source dataSet properties", - "x-ms-client-flatten": true + "dataSetId": { + "description": "DataSet Id", + "type": "string", + "readOnly": true + }, + "dataSetLocation": { + "description": "Location of the data set.", + "type": "string", + "readOnly": true + }, + "dataSetName": { + "description": "DataSet name", + "type": "string", + "readOnly": true + }, + "dataSetPath": { + "description": "DataSet path", + "type": "string", + "readOnly": true + }, + "dataSetType": { + "description": "Type of data set", + "enum": [ + "Blob", + "Container", + "BlobFolder", + "AdlsGen2FileSystem", + "AdlsGen2Folder", + "AdlsGen2File", + "AdlsGen1Folder", + "AdlsGen1File", + "KustoCluster", + "KustoDatabase", + "SqlDBTable", + "SqlDWTable" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "dataSetType", + "modelAsString": true + } } } }, - "ConsumerSourceDataSetProperties": { - "description": "Properties of consumer source dataSet", + "DataSet": { + "description": "A DataSet data transfer object.", + "required": [ + "kind" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyDto" + } + ], "properties": { - "dataSetId": { - "description": "DataSet Id", - "type": "string", - "readOnly": true - }, - "dataSetLocation": { - "description": "Location of the data set.", - "type": "string", - "readOnly": true - }, - "dataSetName": { - "description": "DataSet name", - "type": "string", - "readOnly": true - }, - "dataSetPath": { - "description": "DataSet path", - "type": "string", - "readOnly": true - }, - "dataSetType": { - "description": "Type of data set", + "kind": { + "description": "Kind of data set.", "enum": [ "Blob", "Container", @@ -4309,16 +4407,16 @@ "SqlDWTable" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "dataSetType", + "name": "kind", "modelAsString": true } } - } + }, + "discriminator": "kind" }, - "SourceShareSynchronizationSettingList": { - "description": "List response for get source share Synchronization settings", + "DataSetList": { + "description": "List response for get DataSets", "required": [ "value" ], @@ -4333,22 +4431,36 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/SourceShareSynchronizationSetting" + "$ref": "#/definitions/DataSet" } } } }, - "SourceShareSynchronizationSetting": { - "description": "A view of synchronization setting added by the provider", + "DataSetMapping": { + "description": "A data set mapping data transfer object.", "required": [ "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyDto" + } + ], "properties": { "kind": { - "description": "Kind of synchronization", + "description": "Kind of data set mapping.", "enum": [ - "ScheduleBased" + "Blob", + "Container", + "BlobFolder", + "AdlsGen2FileSystem", + "AdlsGen2Folder", + "AdlsGen2File", + "KustoCluster", + "KustoDatabase", + "SqlDBTable", + "SqlDWTable" ], "type": "string", "x-ms-enum": { @@ -4359,8 +4471,8 @@ }, "discriminator": "kind" }, - "ShareSubscriptionSynchronizationList": { - "description": "A consumer side list of share subscription synchronizations", + "DataSetMappingList": { + "description": "List response for get DataSetMappings", "required": [ "value" ], @@ -4375,135 +4487,130 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/ShareSubscriptionSynchronization" + "$ref": "#/definitions/DataSetMapping" } } } }, - "ShareSubscriptionSynchronization": { - "description": "A ShareSubscriptionSynchronization data transfer object.", + "DataShareError": { + "description": "The data share error model.", "required": [ - "synchronizationId" + "error" ], "type": "object", "properties": { - "durationMs": { - "format": "int32", - "description": "Synchronization duration", - "type": "integer", - "readOnly": true + "error": { + "$ref": "#/definitions/DataShareErrorInfo", + "description": "The data share error body" + } + } + }, + "DataShareErrorInfo": { + "description": "The data share error body model.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "Code of the error", + "type": "string" }, - "endTime": { - "format": "date-time", - "description": "End time of synchronization", - "type": "string", - "readOnly": true + "details": { + "description": "Nested details of the error model", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DataShareErrorInfo" + } }, "message": { - "description": "message of Synchronization", - "type": "string", - "readOnly": true + "description": "Message of the error", + "type": "string" }, - "startTime": { - "format": "date-time", - "description": "start time of synchronization", + "target": { + "description": "Target of the error", + "type": "string" + } + } + }, + "DefaultDto": { + "description": "Base data transfer object implementation for default resources.", + "type": "object", + "properties": { + "id": { + "description": "The resource id of the azure resource", "type": "string", "readOnly": true }, - "status": { - "description": "Raw Status", + "location": { + "description": "Location of the azure resource.", + "type": "string" + }, + "name": { + "description": "Name of the azure resource", "type": "string", "readOnly": true }, - "synchronizationId": { - "description": "Synchronization id", - "type": "string" + "tags": { + "description": "Tags on the azure resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "synchronizationMode": { - "description": "Synchronization Mode", - "enum": [ - "Incremental", - "FullSync" - ], + "type": { + "description": "Type of the azure resource", "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "synchronizationMode", - "modelAsString": true - } + "readOnly": true } - } + }, + "x-ms-azure-resource": true }, - "Synchronize": { - "description": "Payload for the synchronizing the data.", + "DimensionProperties": { + "description": "properties for dimension", "type": "object", "properties": { - "synchronizationMode": { - "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default", - "enum": [ - "Incremental", - "FullSync" - ], - "type": "string", - "x-ms-enum": { - "name": "synchronizationMode", - "modelAsString": true - } + "displayName": { + "description": "localized display name of the dimension to customer", + "type": "string" + }, + "name": { + "description": "dimension name", + "type": "string" } } }, - "SynchronizationSetting": { - "description": "A Synchronization Setting data transfer object.", - "required": [ - "kind" - ], + "Identity": { + "description": "Identity of resource", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyDto" - } - ], "properties": { - "kind": { - "description": "Kind of synchronization", + "principalId": { + "description": "service principal Id", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Tenant Id", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Identity Type", "enum": [ - "ScheduleBased" + "SystemAssigned" ], "type": "string", "x-ms-enum": { - "name": "kind", + "name": "type", "modelAsString": true } } - }, - "discriminator": "kind" - }, - "SynchronizationSettingList": { - "description": "List response for get Synchronization settings", - "required": [ - "value" - ], - "type": "object", - "properties": { - "nextLink": { - "description": "The Url of next result page.", - "type": "string" - }, - "value": { - "description": "Collection of items of type DataTransferObjects.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/SynchronizationSetting" - } - } } }, - "Trigger": { - "description": "A Trigger data transfer object.", - "required": [ - "kind" - ], + "Invitation": { + "description": "A Invitation data transfer object.", "type": "object", "allOf": [ { @@ -4511,22 +4618,15 @@ } ], "properties": { - "kind": { - "description": "Kind of synchronization", - "enum": [ - "ScheduleBased" - ], - "type": "string", - "x-ms-enum": { - "name": "kind", - "modelAsString": true - } + "properties": { + "$ref": "#/definitions/InvitationProperties", + "description": "Properties on the Invitation", + "x-ms-client-flatten": true } - }, - "discriminator": "kind" + } }, - "TriggerList": { - "description": "List response for get triggers", + "InvitationList": { + "description": "List response for get InvitationList", "required": [ "value" ], @@ -4541,88 +4641,73 @@ "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/Trigger" + "$ref": "#/definitions/Invitation" } } } }, - "ScheduledSynchronizationSetting": { - "description": "A type of synchronization setting based on schedule", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/SynchronizationSetting" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ScheduledSynchronizationSettingProperties", - "description": "Properties of scheduled synchronization", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "ScheduleBased" - }, - "ScheduledSynchronizationSettingProperties": { - "description": "A Scheduled synchronization setting data transfer object.", - "required": [ - "recurrenceInterval", - "synchronizationTime" - ], + "InvitationProperties": { + "description": "Invitation property bag.", "type": "object", "properties": { - "createdAt": { - "format": "date-time", - "description": "Time at which the synchronization setting was created.", + "invitationId": { + "description": "unique invitation id", "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Gets or sets the provisioning state", + "invitationStatus": { + "description": "The status of the invitation.", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Pending", + "Accepted", + "Rejected", + "Withdrawn" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "invitationStatus", "modelAsString": true } }, - "recurrenceInterval": { - "description": "Recurrence Interval", - "enum": [ - "Hour", - "Day" - ], + "respondedAt": { + "format": "date-time", + "description": "The time the recipient responded to the invitation.", "type": "string", - "x-ms-enum": { - "name": "recurrenceInterval", - "modelAsString": true - } + "readOnly": true }, - "synchronizationTime": { + "sentAt": { "format": "date-time", - "description": "Synchronization time", + "description": "Gets the time at which the invitation was sent.", + "type": "string", + "readOnly": true + }, + "targetActiveDirectoryId": { + "description": "The target Azure AD Id. Can't be combined with email.", + "type": "string" + }, + "targetEmail": { + "description": "The email the invitation is directed to.", "type": "string" }, + "targetObjectId": { + "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.", + "type": "string" + }, + "userEmail": { + "description": "Email of the user who created the resource", + "type": "string", + "readOnly": true + }, "userName": { - "description": "Name of the user who created the synchronization setting.", + "description": "Name of the user who created the resource", "type": "string", "readOnly": true } } }, - "ScheduledTrigger": { - "description": "A type of trigger based on schedule", + "KustoClusterDataSet": { + "description": "A kusto cluster data set.", "required": [ "properties", "kind" @@ -4630,159 +4715,132 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Trigger" + "$ref": "#/definitions/DataSet" } ], "properties": { "properties": { - "$ref": "#/definitions/ScheduledTriggerProperties", - "description": "Properties of scheduled synchronization", + "$ref": "#/definitions/KustoClusterDataSetProperties", + "description": "Kusto cluster data set properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "ScheduleBased" + "x-ms-discriminator-value": "KustoCluster" }, - "ScheduledTriggerProperties": { - "description": "A Scheduled trigger data transfer object.", + "KustoClusterDataSetMapping": { + "description": "A Kusto cluster data set mapping", "required": [ - "recurrenceInterval", - "synchronizationTime" + "properties", + "kind" ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSetMapping" + } + ], "properties": { - "createdAt": { - "format": "date-time", - "description": "Time at which the trigger was created.", - "type": "string", - "readOnly": true + "properties": { + "$ref": "#/definitions/KustoClusterDataSetMappingProperties", + "description": "Kusto cluster data set mapping properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "KustoCluster" + }, + "KustoClusterDataSetMappingProperties": { + "description": "Properties of the Kusto cluster data set mapping", + "required": [ + "kustoClusterResourceId", + "dataSetId" + ], + "type": "object", + "properties": { + "dataSetId": { + "description": "The id of the source data set.", + "type": "string" }, - "provisioningState": { - "description": "Gets the provisioning state", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Ok", + "Broken" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "dataSetMappingStatus", "modelAsString": true } }, - "recurrenceInterval": { - "description": "Recurrence Interval", - "enum": [ - "Hour", - "Day" - ], - "type": "string", - "x-ms-enum": { - "name": "recurrenceInterval", - "modelAsString": true - } + "kustoClusterResourceId": { + "description": "Resource id of the sink kusto cluster.", + "type": "string" }, - "synchronizationMode": { - "description": "Synchronization mode", - "enum": [ - "Incremental", - "FullSync" - ], + "location": { + "description": "Location of the sink kusto cluster.", "type": "string", - "x-ms-enum": { - "name": "synchronizationMode", - "modelAsString": true - } - }, - "synchronizationTime": { - "format": "date-time", - "description": "Synchronization time", - "type": "string" + "readOnly": true }, - "triggerStatus": { - "description": "Gets the trigger state", + "provisioningState": { + "description": "Provisioning state of the data set mapping.", "enum": [ - "Active", - "Inactive", - "SourceSynchronizationSettingDeleted" + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "triggerStatus", + "name": "provisioningState", "modelAsString": true } - }, - "userName": { - "description": "Name of the user who created the trigger.", - "type": "string", - "readOnly": true } } }, - "BlobDataSet": { - "description": "An Azure storage blob data set.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BlobProperties", - "description": "Blob data set properties.", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "Blob" - }, - "BlobProperties": { - "description": "Properties of the blob data set.", + "KustoClusterDataSetProperties": { + "description": "Properties of the kusto cluster data set.", "required": [ - "containerName", - "filePath", - "subscriptionId", - "resourceGroup", - "storageAccountName" + "kustoClusterResourceId" ], "type": "object", "properties": { - "containerName": { - "description": "Container that has the file path.", - "type": "string" - }, "dataSetId": { "description": "Unique id for identifying a data set resource", "type": "string", - "readOnly": true - }, - "filePath": { - "description": "File path within the source data set", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of storage account", - "type": "string" + "readOnly": true }, - "storageAccountName": { - "description": "Storage account name of the source data set", + "kustoClusterResourceId": { + "description": "Resource id of the kusto cluster.", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" + "location": { + "description": "Location of the kusto cluster.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the kusto cluster data set.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } } } }, - "BlobFolderDataSet": { - "description": "An Azure storage blob folder data set.", + "KustoDatabaseDataSet": { + "description": "A kusto database data set.", "required": [ "properties", "kind" @@ -4795,53 +4853,15 @@ ], "properties": { "properties": { - "$ref": "#/definitions/BlobFolderProperties", - "description": "Blob folder data set properties.", + "$ref": "#/definitions/KustoDatabaseDataSetProperties", + "description": "Kusto database data set properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "BlobFolder" - }, - "BlobFolderProperties": { - "description": "Properties of the blob folder data set.", - "required": [ - "containerName", - "prefix", - "subscriptionId", - "resourceGroup", - "storageAccountName" - ], - "type": "object", - "properties": { - "containerName": { - "description": "Container that has the file path.", - "type": "string" - }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "prefix": { - "description": "Prefix for blob folder", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of storage account", - "type": "string" - }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" - }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" - } - } + "x-ms-discriminator-value": "KustoDatabase" }, - "BlobContainerDataSet": { - "description": "An Azure storage blob container data set.", + "KustoDatabaseDataSetMapping": { + "description": "A Kusto database data set mapping", "required": [ "properties", "kind" @@ -4849,80 +4869,74 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSet" + "$ref": "#/definitions/DataSetMapping" } ], "properties": { "properties": { - "$ref": "#/definitions/BlobContainerProperties", - "description": "Blob container data set properties.", + "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties", + "description": "Kusto database data set mapping properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "Container" + "x-ms-discriminator-value": "KustoDatabase" }, - "BlobContainerProperties": { - "description": "Properties of the BLOB container data set.", + "KustoDatabaseDataSetMappingProperties": { + "description": "Properties of the Kusto database data set mapping", "required": [ - "containerName", - "subscriptionId", - "resourceGroup", - "storageAccountName" + "kustoClusterResourceId", + "dataSetId" ], "type": "object", "properties": { - "containerName": { - "description": "BLOB Container name.", + "dataSetId": { + "description": "The id of the source data set.", "type": "string" }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", + "dataSetMappingStatus": { + "description": "Gets the status of the data set mapping.", + "enum": [ + "Ok", + "Broken" + ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "dataSetMappingStatus", + "modelAsString": true + } }, - "resourceGroup": { - "description": "Resource group of storage account", + "kustoClusterResourceId": { + "description": "Resource id of the sink kusto cluster.", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" + "location": { + "description": "Location of the sink kusto cluster.", + "type": "string", + "readOnly": true }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" + "provisioningState": { + "description": "Provisioning state of the data set mapping.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } } } }, - "ADLSGen2FileDataSet": { - "description": "An ADLS Gen 2 file data set.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FileProperties", - "description": "ADLS Gen 2 file data set properties.", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "AdlsGen2File" - }, - "ADLSGen2FileProperties": { - "description": "Properties of the ADLS Gen2 file data set.", + "KustoDatabaseDataSetProperties": { + "description": "Properties of the kusto database data set.", "required": [ - "fileSystem", - "filePath", - "subscriptionId", - "resourceGroup", - "storageAccountName" + "kustoDatabaseResourceId" ], "type": "object", "properties": { @@ -4931,482 +4945,492 @@ "type": "string", "readOnly": true }, - "filePath": { - "description": "File path within the file system.", - "type": "string" - }, - "fileSystem": { - "description": "File system to which the file belongs.", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of storage account", + "kustoDatabaseResourceId": { + "description": "Resource id of the kusto database.", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" + "location": { + "description": "Location of the kusto cluster.", + "type": "string", + "readOnly": true }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" + "provisioningState": { + "description": "Provisioning state of the kusto database data set.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } } } }, - "ADLSGen2FolderDataSet": { - "description": "An ADLS Gen 2 folder data set.", + "OperationList": { + "description": "List response for get operations.", "required": [ - "properties", - "kind" + "value" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationModel" + } } - ], + } + }, + "OperationMetaLogSpecification": { + "description": "log specifications for operation api", + "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FolderProperties", - "description": "ADLS Gen 2 folder data set properties.", - "x-ms-client-flatten": true + "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" } - }, - "x-ms-discriminator-value": "AdlsGen2Folder" + } }, - "ADLSGen2FolderProperties": { - "description": "Properties of the ADLS Gen2 folder data set.", - "required": [ - "fileSystem", - "folderPath", - "subscriptionId", - "resourceGroup", - "storageAccountName" - ], + "OperationMetaMetricSpecification": { + "description": "metric specifications for the operation", "type": "object", "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true + "aggregationType": { + "description": "aggregation type of metric", + "type": "string" }, - "fileSystem": { - "description": "File system to which the folder belongs.", + "dimensions": { + "description": "properties for dimension", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DimensionProperties" + } + }, + "displayDescription": { + "description": "description of the metric", "type": "string" }, - "folderPath": { - "description": "Folder path within the file system.", + "displayName": { + "description": "localized name of the metric", "type": "string" }, - "resourceGroup": { - "description": "Resource group of storage account", + "enableRegionalMdmAccount": { + "description": "enable regional mdm account", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set", + "internalMetricName": { + "description": "internal metric name", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of storage account", + "name": { + "description": "name of the metric", + "type": "string" + }, + "resourceIdDimensionNameOverride": { + "description": "dimension name use to replace resource id if specified", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "supported aggregation types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "description": "supported time grain types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "unit": { + "description": "units for the metric", "type": "string" } } }, - "ADLSGen2FileSystemDataSet": { - "description": "An ADLS Gen 2 file system data set.", - "required": [ - "properties", - "kind" - ], + "OperationMetaPropertyInfo": { + "description": "properties on meta info", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FileSystemProperties", - "description": "ADLS Gen 2 file system data set properties.", - "x-ms-client-flatten": true + "serviceSpecification": { + "$ref": "#/definitions/OperationMetaServiceSpecification", + "description": "meta service specification" } - }, - "x-ms-discriminator-value": "AdlsGen2FileSystem" + } }, - "ADLSGen2FileSystemProperties": { - "description": "Properties of the ADLS Gen2 file system data set.", - "required": [ - "fileSystem", - "subscriptionId", - "resourceGroup", - "storageAccountName" - ], + "OperationMetaServiceSpecification": { + "description": "The operation meta service specification", "type": "object", "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "fileSystem": { - "description": "The file system name.", - "type": "string" - }, - "resourceGroup": { - "description": "Resource group of storage account", - "type": "string" - }, - "storageAccountName": { - "description": "Storage account name of the source data set", - "type": "string" + "logSpecifications": { + "description": "log specifications for the operation", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetaLogSpecification" + } }, - "subscriptionId": { - "description": "Subscription id of storage account", - "type": "string" + "metricSpecifications": { + "description": "metric specifications for the operation", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetaMetricSpecification" + } } } }, - "ADLSGen1FolderDataSet": { - "description": "An ADLS Gen 1 folder data set.", - "required": [ - "properties", - "kind" - ], + "OperationModel": { + "description": "The response model for get operations", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], "properties": { + "display": { + "$ref": "#/definitions/OperationModelProperties", + "description": "Properties on the operation" + }, + "name": { + "description": "Operation name for display purposes", + "type": "string" + }, + "origin": { + "description": "origin of the operation", + "type": "string" + }, "properties": { - "$ref": "#/definitions/ADLSGen1FolderProperties", - "description": "ADLS Gen 1 folder data set properties.", + "$ref": "#/definitions/OperationMetaPropertyInfo", + "description": "properties for the operation meta info", "x-ms-client-flatten": true } - }, - "x-ms-discriminator-value": "AdlsGen1Folder" + } }, - "ADLSGen1FolderProperties": { - "description": "Properties of the ADLS Gen1 folder data set.", - "required": [ - "subscriptionId", - "resourceGroup", - "accountName", - "folderPath" - ], + "OperationModelProperties": { + "description": "Properties on operations", "type": "object", "properties": { - "accountName": { - "description": "The ADLS account name.", + "description": { + "description": "Description of the operation for display purposes", "type": "string" }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "folderPath": { - "description": "The folder path within the ADLS account.", + "operation": { + "description": "Name of the operation for display purposes", "type": "string" }, - "resourceGroup": { - "description": "Resource group of ADLS account.", + "provider": { + "description": "Name of the provider for display purposes", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of ADLS account.", + "resource": { + "description": "Name of the resource type for display purposes", "type": "string" } } }, - "ADLSGen1FileDataSet": { - "description": "An ADLS Gen 1 file data set.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen1FileProperties", - "description": "ADLS Gen 1 file data set properties.", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "AdlsGen1File" - }, - "ADLSGen1FileProperties": { - "description": "Properties of the ADLS Gen1 file data set.", + "OperationResponse": { + "description": "Response for long running operation", "required": [ - "subscriptionId", - "resourceGroup", - "accountName", - "folderPath", - "fileName" + "status" ], "type": "object", "properties": { - "accountName": { - "description": "The ADLS account name.", - "type": "string" - }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "fileName": { - "description": "The file name in the ADLS account.", + "endTime": { + "format": "date-time", + "description": "start time", "type": "string" }, - "folderPath": { - "description": "The folder path within the ADLS account.", - "type": "string" + "error": { + "$ref": "#/definitions/DataShareErrorInfo", + "description": "The error property when status is failed." }, - "resourceGroup": { - "description": "Resource group of ADLS account.", + "startTime": { + "format": "date-time", + "description": "start time", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of ADLS account.", - "type": "string" + "status": { + "description": "Operation state of the long running operation.", + "enum": [ + "Accepted", + "InProgress", + "TransientFailure", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "x-ms-enum": { + "name": "status", + "modelAsString": true + } } } }, - "KustoClusterDataSet": { - "description": "A kusto cluster data set.", - "required": [ - "properties", - "kind" - ], + "ProviderShareSubscription": { + "description": "A provider side share subscription data transfer object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSet" + "$ref": "#/definitions/ProxyDto" } ], "properties": { "properties": { - "$ref": "#/definitions/KustoClusterDataSetProperties", - "description": "Kusto cluster data set properties.", + "$ref": "#/definitions/ProviderShareSubscriptionProperties", + "description": "properties of providerShareSubscription", "x-ms-client-flatten": true } - }, - "x-ms-discriminator-value": "KustoCluster" + } }, - "KustoClusterDataSetProperties": { - "description": "Properties of the kusto cluster data set.", + "ProviderShareSubscriptionList": { + "description": "List response for get ShareSubscription.", "required": [ - "kustoClusterResourceId" + "value" ], "type": "object", "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProviderShareSubscription" + } + } + } + }, + "ProviderShareSubscriptionProperties": { + "description": "Provider share subscription properties", + "type": "object", + "properties": { + "consumerEmail": { + "description": "Email of the consumer who created the share subscription", "type": "string", "readOnly": true }, - "kustoClusterResourceId": { - "description": "Resource id of the kusto cluster.", - "type": "string" + "consumerName": { + "description": "Name of the consumer who created the share subscription", + "type": "string", + "readOnly": true }, - "location": { - "description": "Location of the kusto cluster.", + "consumerTenantName": { + "description": "Tenant name of the consumer who created the share subscription", "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Provisioning state of the kusto cluster data set.", + "createdAt": { + "format": "date-time", + "description": "created at", + "type": "string", + "readOnly": true + }, + "providerEmail": { + "description": "Email of the provider who created the share", + "type": "string", + "readOnly": true + }, + "providerName": { + "description": "Name of the provider who created the share", + "type": "string", + "readOnly": true + }, + "sharedAt": { + "format": "date-time", + "description": "Shared at", + "type": "string", + "readOnly": true + }, + "shareSubscriptionObjectId": { + "description": "share Subscription Object Id", + "type": "string", + "readOnly": true + }, + "shareSubscriptionStatus": { + "description": "Gets the status of share subscription", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Active", + "Revoked", + "SourceDeleted", + "Revoking" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "shareSubscriptionStatus", "modelAsString": true } } } }, - "KustoDatabaseDataSet": { - "description": "A kusto database data set.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSet" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/KustoDatabaseDataSetProperties", - "description": "Kusto database data set properties.", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "KustoDatabase" - }, - "KustoDatabaseDataSetProperties": { - "description": "Properties of the kusto database data set.", - "required": [ - "kustoDatabaseResourceId" - ], + "ProxyDto": { + "description": "Base data transfer object implementation for proxy resources.", "type": "object", "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", + "id": { + "description": "The resource id of the azure resource", "type": "string", "readOnly": true }, - "kustoDatabaseResourceId": { - "description": "Resource id of the kusto database.", - "type": "string" - }, - "location": { - "description": "Location of the kusto cluster.", + "name": { + "description": "Name of the azure resource", "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Provisioning state of the kusto database data set.", + "type": { + "description": "Type of the azure resource", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ScheduledSourceShareSynchronizationSettingProperties": { + "description": "A Scheduled source synchronization setting data transfer object.", + "type": "object", + "properties": { + "recurrenceInterval": { + "description": "Recurrence Interval", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Hour", + "Day" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "recurrenceInterval", "modelAsString": true } + }, + "synchronizationTime": { + "format": "date-time", + "description": "Synchronization time", + "type": "string" } } }, - "SqlDWTableDataSet": { - "description": "A SQL DW table data set.", + "ScheduledSourceSynchronizationSetting": { + "description": "A type of synchronization setting based on schedule", "required": [ "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSet" + "$ref": "#/definitions/SourceShareSynchronizationSetting" } ], "properties": { "properties": { - "$ref": "#/definitions/SqlDWTableProperties", - "description": "SQL DW table data set properties.", + "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties", + "description": "Properties of scheduled synchronization", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "SqlDWTable" - }, - "SqlDWTableProperties": { - "description": "Properties of the SQL DW table data set.", - "required": [ - "dataWarehouseName", - "tableName", - "schemaName", - "sqlServerResourceId" - ], - "type": "object", - "properties": { - "dataSetId": { - "description": "Unique id for identifying a data set resource", - "type": "string", - "readOnly": true - }, - "dataWarehouseName": { - "description": "DataWarehouse name of the source data set", - "type": "string" - }, - "schemaName": { - "description": "Schema of the table. Default value is dbo.", - "type": "string" - }, - "sqlServerResourceId": { - "description": "Resource id of SQL server", - "type": "string" - }, - "tableName": { - "description": "SQL DW table name.", - "type": "string" - } - } + "x-ms-discriminator-value": "ScheduleBased" }, - "SqlDBTableDataSet": { - "description": "A SQL DB table data set.", + "ScheduledSynchronizationSetting": { + "description": "A type of synchronization setting based on schedule", "required": [ + "properties", "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSet" + "$ref": "#/definitions/SynchronizationSetting" } ], "properties": { "properties": { - "$ref": "#/definitions/SqlDBTableProperties", - "description": "SQL DB table data set properties.", + "$ref": "#/definitions/ScheduledSynchronizationSettingProperties", + "description": "Properties of scheduled synchronization", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "SqlDBTable" + "x-ms-discriminator-value": "ScheduleBased" }, - "SqlDBTableProperties": { - "description": "Properties of the SQL DB table data set.", + "ScheduledSynchronizationSettingProperties": { + "description": "A Scheduled synchronization setting data transfer object.", "required": [ - "databaseName", - "tableName", - "schemaName", - "sqlServerResourceId" + "recurrenceInterval", + "synchronizationTime" ], "type": "object", "properties": { - "databaseName": { - "description": "Database name of the source data set", - "type": "string" - }, - "dataSetId": { - "description": "Unique id for identifying a data set resource", + "createdAt": { + "format": "date-time", + "description": "Time at which the synchronization setting was created.", "type": "string", "readOnly": true }, - "schemaName": { - "description": "Schema of the table. Default value is dbo.", - "type": "string" + "provisioningState": { + "description": "Gets or sets the provisioning state", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } }, - "sqlServerResourceId": { - "description": "Resource id of SQL server", - "type": "string" + "recurrenceInterval": { + "description": "Recurrence Interval", + "enum": [ + "Hour", + "Day" + ], + "type": "string", + "x-ms-enum": { + "name": "recurrenceInterval", + "modelAsString": true + } }, - "tableName": { - "description": "SQL DB table name.", + "synchronizationTime": { + "format": "date-time", + "description": "Synchronization time", "type": "string" + }, + "userName": { + "description": "Name of the user who created the synchronization setting.", + "type": "string", + "readOnly": true } } }, - "BlobDataSetMapping": { - "description": "A Blob data set mapping.", + "ScheduledTrigger": { + "description": "A type of trigger based on schedule", "required": [ "properties", "kind" @@ -5414,157 +5438,151 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSetMapping" + "$ref": "#/definitions/Trigger" } ], "properties": { "properties": { - "$ref": "#/definitions/BlobMappingProperties", - "description": "Blob data set mapping properties.", + "$ref": "#/definitions/ScheduledTriggerProperties", + "description": "Properties of scheduled synchronization", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "Blob" + "x-ms-discriminator-value": "ScheduleBased" }, - "BlobMappingProperties": { - "description": "Azure storage Blob data set mapping property bag.", + "ScheduledTriggerProperties": { + "description": "A Scheduled trigger data transfer object.", "required": [ - "containerName", - "filePath", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "recurrenceInterval", + "synchronizationTime" ], "type": "object", "properties": { - "containerName": { - "description": "Container that has the file path.", - "type": "string" - }, - "dataSetId": { - "description": "The id of the source data set.", - "type": "string" + "createdAt": { + "format": "date-time", + "description": "Time at which the trigger was created.", + "type": "string", + "readOnly": true }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", + "provisioningState": { + "description": "Gets the provisioning state", "enum": [ - "Ok", - "Broken" + "Succeeded", + "Creating", + "Deleting", + "Moving", + "Failed" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "dataSetMappingStatus", + "name": "provisioningState", "modelAsString": true } }, - "filePath": { - "description": "File path within the source data set", - "type": "string" - }, - "outputType": { - "description": "File output type", + "recurrenceInterval": { + "description": "Recurrence Interval", "enum": [ - "Csv", - "Parquet" + "Hour", + "Day" ], "type": "string", "x-ms-enum": { - "name": "outputType", + "name": "recurrenceInterval", "modelAsString": true } }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", + "synchronizationMode": { + "description": "Synchronization mode", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Incremental", + "FullSync" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "synchronizationMode", "modelAsString": true } }, - "resourceGroup": { - "description": "Resource group of storage account.", + "synchronizationTime": { + "format": "date-time", + "description": "Synchronization time", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set.", - "type": "string" + "triggerStatus": { + "description": "Gets the trigger state", + "enum": [ + "Active", + "Inactive", + "SourceSynchronizationSettingDeleted" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "triggerStatus", + "modelAsString": true + } }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" + "userName": { + "description": "Name of the user who created the trigger.", + "type": "string", + "readOnly": true } } }, - "BlobFolderDataSetMapping": { - "description": "A Blob folder data set mapping.", - "required": [ - "properties", - "kind" - ], + "Share": { + "description": "A share data transfer object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSetMapping" + "$ref": "#/definitions/ProxyDto" } ], "properties": { "properties": { - "$ref": "#/definitions/BlobFolderMappingProperties", - "description": "Blob folder data set mapping properties.", + "$ref": "#/definitions/ShareProperties", + "description": "Properties on the share", "x-ms-client-flatten": true } - }, - "x-ms-discriminator-value": "BlobFolder" + } }, - "BlobFolderMappingProperties": { - "description": "Azure storage Blob folder data set mapping property bag.", + "ShareList": { + "description": "List response for get Shares.", "required": [ - "containerName", - "prefix", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "value" ], "type": "object", "properties": { - "containerName": { - "description": "Container that has the file path.", - "type": "string" - }, - "dataSetId": { - "description": "The id of the source data set.", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Share" } + } + } + }, + "ShareProperties": { + "description": "Share property bag.", + "type": "object", + "properties": { + "createdAt": { + "format": "date-time", + "description": "Time at which the share was created.", + "type": "string", + "readOnly": true }, - "prefix": { - "description": "Prefix for blob folder", + "description": { + "description": "Share description.", "type": "string" }, "provisioningState": { - "description": "Provisioning state of the data set mapping.", + "description": "Gets or sets the provisioning state", "enum": [ "Succeeded", "Creating", @@ -5579,75 +5597,109 @@ "modelAsString": true } }, - "resourceGroup": { - "description": "Resource group of storage account.", - "type": "string" + "shareKind": { + "description": "Share kind.", + "enum": [ + "CopyBased", + "InPlace" + ], + "type": "string", + "x-ms-enum": { + "name": "shareKind", + "modelAsString": true + } }, - "storageAccountName": { - "description": "Storage account name of the source data set.", + "terms": { + "description": "Share terms.", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" + "userEmail": { + "description": "Email of the user who created the resource", + "type": "string", + "readOnly": true + }, + "userName": { + "description": "Name of the user who created the resource", + "type": "string", + "readOnly": true } } }, - "BlobContainerDataSetMapping": { - "description": "A Blob container data set mapping.", + "ShareSubscription": { + "description": "A share subscription data transfer object.", "required": [ - "properties", - "kind" + "properties" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSetMapping" + "$ref": "#/definitions/ProxyDto" } ], "properties": { "properties": { - "$ref": "#/definitions/BlobContainerMappingProperties", - "description": "Blob container data set mapping properties.", + "$ref": "#/definitions/ShareSubscriptionProperties", + "description": "Properties on the share subscription", "x-ms-client-flatten": true } - }, - "x-ms-discriminator-value": "Container" + } }, - "BlobContainerMappingProperties": { - "description": "Azure storage Blob container data set mapping property bag.", + "ShareSubscriptionList": { + "description": "List response for get ShareSubscription.", "required": [ - "containerName", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "value" ], "type": "object", "properties": { - "containerName": { - "description": "BLOB Container name.", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "dataSetId": { - "description": "The id of the source data set.", + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareSubscription" + } + } + } + }, + "ShareSubscriptionProperties": { + "description": "Share subscription property bag.", + "required": [ + "invitationId", + "sourceShareLocation" + ], + "type": "object", + "properties": { + "createdAt": { + "format": "date-time", + "description": "Time at which the share subscription was created.", + "type": "string", + "readOnly": true + }, + "invitationId": { + "description": "The invitation id.", "type": "string" }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], + "providerEmail": { + "description": "Email of the provider who created the resource", "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true - } + "readOnly": true + }, + "providerName": { + "description": "Name of the provider who created the resource", + "type": "string", + "readOnly": true + }, + "providerTenantName": { + "description": "Tenant name of the provider who created the resource", + "type": "string", + "readOnly": true }, "provisioningState": { - "description": "Provisioning state of the data set mapping.", + "description": "Provisioning state of the share subscription", "enum": [ "Succeeded", "Creating", @@ -5662,210 +5714,283 @@ "modelAsString": true } }, - "resourceGroup": { - "description": "Resource group of storage account.", - "type": "string" + "shareDescription": { + "description": "Description of share", + "type": "string", + "readOnly": true }, - "storageAccountName": { - "description": "Storage account name of the source data set.", - "type": "string" + "shareKind": { + "description": "Kind of share", + "enum": [ + "CopyBased", + "InPlace" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "shareKind", + "modelAsString": true + } }, - "subscriptionId": { - "description": "Subscription id of storage account.", + "shareName": { + "description": "Name of the share", + "type": "string", + "readOnly": true + }, + "shareSubscriptionStatus": { + "description": "Gets the current status of share subscription.", + "enum": [ + "Active", + "Revoked", + "SourceDeleted", + "Revoking" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "shareSubscriptionStatus", + "modelAsString": true + } + }, + "shareTerms": { + "description": "Terms of a share", + "type": "string", + "readOnly": true + }, + "sourceShareLocation": { + "description": "Source share location.", "type": "string" + }, + "userEmail": { + "description": "Email of the user who created the resource", + "type": "string", + "readOnly": true + }, + "userName": { + "description": "Name of the user who created the resource", + "type": "string", + "readOnly": true } } }, - "ADLSGen2FileDataSetMapping": { - "description": "An ADLS Gen2 file data set mapping.", + "ShareSubscriptionSynchronization": { + "description": "A ShareSubscriptionSynchronization data transfer object.", "required": [ - "properties", - "kind" + "synchronizationId" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSetMapping" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties", - "description": "ADLS Gen2 file data set mapping properties.", - "x-ms-client-flatten": true + "durationMs": { + "format": "int32", + "description": "Synchronization duration", + "type": "integer", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "End time of synchronization", + "type": "string", + "readOnly": true + }, + "message": { + "description": "message of Synchronization", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "start time of synchronization", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Raw Status", + "type": "string", + "readOnly": true + }, + "synchronizationId": { + "description": "Synchronization id", + "type": "string" + }, + "synchronizationMode": { + "description": "Synchronization Mode", + "enum": [ + "Incremental", + "FullSync" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "synchronizationMode", + "modelAsString": true + } } - }, - "x-ms-discriminator-value": "AdlsGen2File" + } }, - "ADLSGen2FileDataSetMappingProperties": { - "description": "ADLS Gen 2 file data set mapping property bag.", + "ShareSubscriptionSynchronizationList": { + "description": "A consumer side list of share subscription synchronizations", "required": [ - "fileSystem", - "filePath", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "value" ], "type": "object", "properties": { - "dataSetId": { - "description": "The id of the source data set.", + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareSubscriptionSynchronization" + } + } + } + }, + "ShareSynchronization": { + "description": "A ShareSynchronization data transfer object.", + "type": "object", + "properties": { + "consumerEmail": { + "description": "Email of the user who created the synchronization", + "type": "string" + }, + "consumerName": { + "description": "Name of the user who created the synchronization", + "type": "string" + }, + "consumerTenantName": { + "description": "Tenant name of the consumer who created the synchronization", + "type": "string" + }, + "durationMs": { + "format": "int32", + "description": "synchronization duration", + "type": "integer" + }, + "endTime": { + "format": "date-time", + "description": "End time of synchronization", "type": "string" }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true - } + "message": { + "description": "message of synchronization", + "type": "string" }, - "filePath": { - "description": "File path within the file system.", + "startTime": { + "format": "date-time", + "description": "start time of synchronization", "type": "string" }, - "fileSystem": { - "description": "File system to which the file belongs.", + "status": { + "description": "Raw Status", "type": "string" }, - "outputType": { - "description": "Type of output file", - "enum": [ - "Csv", - "Parquet" - ], - "type": "string", - "x-ms-enum": { - "name": "outputType", - "modelAsString": true - } + "synchronizationId": { + "description": "Synchronization id", + "type": "string" }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", + "synchronizationMode": { + "description": "Synchronization mode", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Incremental", + "FullSync" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "synchronizationMode", "modelAsString": true } - }, - "resourceGroup": { - "description": "Resource group of storage account.", - "type": "string" - }, - "storageAccountName": { - "description": "Storage account name of the source data set.", - "type": "string" - }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" } } }, - "ADLSGen2FolderDataSetMapping": { - "description": "An ADLS Gen2 folder data set mapping.", + "ShareSynchronizationList": { + "description": "List response for get ShareSynchronization.", "required": [ - "properties", - "kind" + "value" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSetMapping" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties", - "description": "ADLS Gen2 folder data set mapping properties.", - "x-ms-client-flatten": true + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ShareSynchronization" + } } - }, - "x-ms-discriminator-value": "AdlsGen2Folder" + } }, - "ADLSGen2FolderDataSetMappingProperties": { - "description": "ADLS Gen 2 folder data set mapping property bag.", + "SourceShareSynchronizationSetting": { + "description": "A view of synchronization setting added by the provider", "required": [ - "fileSystem", - "folderPath", - "subscriptionId", - "resourceGroup", - "storageAccountName", - "dataSetId" + "kind" ], "type": "object", "properties": { - "dataSetId": { - "description": "The id of the source data set.", - "type": "string" - }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", + "kind": { + "description": "Kind of synchronization", "enum": [ - "Ok", - "Broken" + "ScheduleBased" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "dataSetMappingStatus", + "name": "kind", "modelAsString": true } - }, - "fileSystem": { - "description": "File system to which the folder belongs.", - "type": "string" - }, - "folderPath": { - "description": "Folder path within the file system.", + } + }, + "discriminator": "kind" + }, + "SourceShareSynchronizationSettingList": { + "description": "List response for get source share Synchronization settings", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SourceShareSynchronizationSetting" } - }, - "resourceGroup": { - "description": "Resource group of storage account.", - "type": "string" - }, - "storageAccountName": { - "description": "Storage account name of the source data set.", - "type": "string" - }, - "subscriptionId": { - "description": "Subscription id of storage account.", - "type": "string" } } }, - "ADLSGen2FileSystemDataSetMapping": { - "description": "An ADLS Gen2 file system data set mapping.", + "SqlDBTableDataSet": { + "description": "A SQL DB table data set.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlDBTableProperties", + "description": "SQL DB table data set properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "SqlDBTable" + }, + "SqlDBTableDataSetMapping": { + "description": "A SQL DB Table data set mapping.", "required": [ "properties", "kind" @@ -5878,24 +6003,28 @@ ], "properties": { "properties": { - "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties", - "description": "ADLS Gen2 file system data set mapping properties.", + "$ref": "#/definitions/SqlDBTableDataSetMappingProperties", + "description": "Sql DB data set mapping properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "AdlsGen2FileSystem" + "x-ms-discriminator-value": "SqlDBTable" }, - "ADLSGen2FileSystemDataSetMappingProperties": { - "description": "ADLS Gen 2 file system data set mapping property bag.", + "SqlDBTableDataSetMappingProperties": { + "description": "Properties of the SQL DB table data set mapping.", "required": [ - "fileSystem", - "subscriptionId", - "resourceGroup", - "storageAccountName", + "databaseName", + "tableName", + "schemaName", + "sqlServerResourceId", "dataSetId" ], "type": "object", "properties": { + "databaseName": { + "description": "DatabaseName name of the sink data set", + "type": "string" + }, "dataSetId": { "description": "The id of the source data set.", "type": "string" @@ -5913,10 +6042,6 @@ "modelAsString": true } }, - "fileSystem": { - "description": "The file system name.", - "type": "string" - }, "provisioningState": { "description": "Provisioning state of the data set mapping.", "enum": [ @@ -5933,22 +6058,75 @@ "modelAsString": true } }, - "resourceGroup": { - "description": "Resource group of storage account.", + "schemaName": { + "description": "Schema of the table. Default value is dbo.", + "type": "string" + }, + "sqlServerResourceId": { + "description": "Resource id of SQL server", + "type": "string" + }, + "tableName": { + "description": "SQL DB table name.", + "type": "string" + } + } + }, + "SqlDBTableProperties": { + "description": "Properties of the SQL DB table data set.", + "required": [ + "databaseName", + "tableName", + "schemaName", + "sqlServerResourceId" + ], + "type": "object", + "properties": { + "databaseName": { + "description": "Database name of the source data set", + "type": "string" + }, + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "schemaName": { + "description": "Schema of the table. Default value is dbo.", "type": "string" }, - "storageAccountName": { - "description": "Storage account name of the source data set.", + "sqlServerResourceId": { + "description": "Resource id of SQL server", "type": "string" }, - "subscriptionId": { - "description": "Subscription id of storage account.", + "tableName": { + "description": "SQL DB table name.", "type": "string" } } }, - "KustoClusterDataSetMapping": { - "description": "A Kusto cluster data set mapping", + "SqlDWTableDataSet": { + "description": "A SQL DW table data set.", + "required": [ + "kind" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataSet" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlDWTableProperties", + "description": "SQL DW table data set properties.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "SqlDWTable" + }, + "SqlDWTableDataSetMapping": { + "description": "A SQL DW Table data set mapping.", "required": [ "properties", "kind" @@ -5961,17 +6139,20 @@ ], "properties": { "properties": { - "$ref": "#/definitions/KustoClusterDataSetMappingProperties", - "description": "Kusto cluster data set mapping properties.", + "$ref": "#/definitions/SqlDWTableDataSetMappingProperties", + "description": "Sql DW data set mapping properties.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "KustoCluster" + "x-ms-discriminator-value": "SqlDWTable" }, - "KustoClusterDataSetMappingProperties": { - "description": "Properties of the Kusto cluster data set mapping", + "SqlDWTableDataSetMappingProperties": { + "description": "Properties of the SQL DW table data set mapping.", "required": [ - "kustoClusterResourceId", + "dataWarehouseName", + "tableName", + "schemaName", + "sqlServerResourceId", "dataSetId" ], "type": "object", @@ -5993,15 +6174,10 @@ "modelAsString": true } }, - "kustoClusterResourceId": { - "description": "Resource id of the sink kusto cluster.", + "dataWarehouseName": { + "description": "DataWarehouse name of the source data set", "type": "string" }, - "location": { - "description": "Location of the sink kusto cluster.", - "type": "string", - "readOnly": true - }, "provisioningState": { "description": "Provisioning state of the data set mapping.", "enum": [ @@ -6017,345 +6193,295 @@ "name": "provisioningState", "modelAsString": true } + }, + "schemaName": { + "description": "Schema of the table. Default value is dbo.", + "type": "string" + }, + "sqlServerResourceId": { + "description": "Resource id of SQL server", + "type": "string" + }, + "tableName": { + "description": "SQL DW table name.", + "type": "string" } } }, - "KustoDatabaseDataSetMapping": { - "description": "A Kusto database data set mapping", + "SqlDWTableProperties": { + "description": "Properties of the SQL DW table data set.", "required": [ - "properties", - "kind" + "dataWarehouseName", + "tableName", + "schemaName", + "sqlServerResourceId" ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSetMapping" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties", - "description": "Kusto database data set mapping properties.", - "x-ms-client-flatten": true + "dataSetId": { + "description": "Unique id for identifying a data set resource", + "type": "string", + "readOnly": true + }, + "dataWarehouseName": { + "description": "DataWarehouse name of the source data set", + "type": "string" + }, + "schemaName": { + "description": "Schema of the table. Default value is dbo.", + "type": "string" + }, + "sqlServerResourceId": { + "description": "Resource id of SQL server", + "type": "string" + }, + "tableName": { + "description": "SQL DW table name.", + "type": "string" } - }, - "x-ms-discriminator-value": "KustoDatabase" + } }, - "KustoDatabaseDataSetMappingProperties": { - "description": "Properties of the Kusto database data set mapping", - "required": [ - "kustoClusterResourceId", - "dataSetId" - ], + "SynchronizationDetails": { + "description": "Synchronization details at data set level", "type": "object", "properties": { "dataSetId": { - "description": "The id of the source data set.", - "type": "string" + "description": "Id of data set", + "type": "string", + "readOnly": true }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", + "dataSetType": { + "description": "Type of the data set", "enum": [ - "Ok", - "Broken" + "Blob", + "Container", + "BlobFolder", + "AdlsGen2FileSystem", + "AdlsGen2Folder", + "AdlsGen2File", + "AdlsGen1Folder", + "AdlsGen1File", + "KustoCluster", + "KustoDatabase", + "SqlDBTable", + "SqlDWTable" ], "type": "string", "readOnly": true, "x-ms-enum": { - "name": "dataSetMappingStatus", + "name": "dataSetType", "modelAsString": true } }, - "kustoClusterResourceId": { - "description": "Resource id of the sink kusto cluster.", - "type": "string" + "durationMs": { + "format": "int32", + "description": "Duration of data set level copy", + "type": "integer", + "readOnly": true }, - "location": { - "description": "Location of the sink kusto cluster.", + "endTime": { + "format": "date-time", + "description": "End time of data set level copy", "type": "string", "readOnly": true }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" - ], + "filesRead": { + "format": "int64", + "description": "The number of files read from the source data set", + "type": "integer", + "readOnly": true + }, + "filesWritten": { + "format": "int64", + "description": "The number of files written into the sink data set", + "type": "integer", + "readOnly": true + }, + "message": { + "description": "Error message if any", "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true - } - } - } - }, - "SqlDWTableDataSetMapping": { - "description": "A SQL DW Table data set mapping.", - "required": [ - "properties", - "kind" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DataSetMapping" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SqlDWTableDataSetMappingProperties", - "description": "Sql DW data set mapping properties.", - "x-ms-client-flatten": true + "readOnly": true + }, + "name": { + "description": "Name of the data set", + "type": "string", + "readOnly": true + }, + "rowsCopied": { + "format": "int64", + "description": "The number of files copied into the sink data set", + "type": "integer", + "readOnly": true + }, + "rowsRead": { + "format": "int64", + "description": "The number of rows read from the source data set.", + "type": "integer", + "readOnly": true + }, + "sizeRead": { + "format": "int64", + "description": "The size of the data read from the source data set in bytes", + "type": "integer", + "readOnly": true + }, + "sizeWritten": { + "format": "int64", + "description": "The size of the data written into the sink data set in bytes", + "type": "integer", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "Start time of data set level copy", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Raw Status", + "type": "string", + "readOnly": true + }, + "vCore": { + "format": "int64", + "description": "The vCore units consumed for the data set synchronization", + "type": "integer", + "readOnly": true } - }, - "x-ms-discriminator-value": "SqlDWTable" + } }, - "SqlDWTableDataSetMappingProperties": { - "description": "Properties of the SQL DW table data set mapping.", + "SynchronizationDetailsList": { + "description": "details of synchronization", "required": [ - "dataWarehouseName", - "tableName", - "schemaName", - "sqlServerResourceId", - "dataSetId" + "value" ], "type": "object", "properties": { - "dataSetId": { - "description": "The id of the source data set.", - "type": "string" - }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true - } - }, - "dataWarehouseName": { - "description": "DataWarehouse name of the source data set", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", - "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SynchronizationDetails" } - }, - "schemaName": { - "description": "Schema of the table. Default value is dbo.", - "type": "string" - }, - "sqlServerResourceId": { - "description": "Resource id of SQL server", - "type": "string" - }, - "tableName": { - "description": "SQL DW table name.", - "type": "string" } } }, - "SqlDBTableDataSetMapping": { - "description": "A SQL DB Table data set mapping.", + "SynchronizationSetting": { + "description": "A Synchronization Setting data transfer object.", "required": [ - "properties", "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/DataSetMapping" + "$ref": "#/definitions/ProxyDto" } ], "properties": { - "properties": { - "$ref": "#/definitions/SqlDBTableDataSetMappingProperties", - "description": "Sql DB data set mapping properties.", - "x-ms-client-flatten": true + "kind": { + "description": "Kind of synchronization", + "enum": [ + "ScheduleBased" + ], + "type": "string", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } } }, - "x-ms-discriminator-value": "SqlDBTable" + "discriminator": "kind" }, - "SqlDBTableDataSetMappingProperties": { - "description": "Properties of the SQL DB table data set mapping.", + "SynchronizationSettingList": { + "description": "List response for get Synchronization settings", "required": [ - "databaseName", - "tableName", - "schemaName", - "sqlServerResourceId", - "dataSetId" + "value" ], "type": "object", "properties": { - "databaseName": { - "description": "DatabaseName name of the sink data set", - "type": "string" - }, - "dataSetId": { - "description": "The id of the source data set.", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "dataSetMappingStatus": { - "description": "Gets the status of the data set mapping.", - "enum": [ - "Ok", - "Broken" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "dataSetMappingStatus", - "modelAsString": true + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SynchronizationSetting" } - }, - "provisioningState": { - "description": "Provisioning state of the data set mapping.", + } + } + }, + "Synchronize": { + "description": "Payload for the synchronizing the data.", + "type": "object", + "properties": { + "synchronizationMode": { + "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default", "enum": [ - "Succeeded", - "Creating", - "Deleting", - "Moving", - "Failed" + "Incremental", + "FullSync" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "provisioningState", + "name": "synchronizationMode", "modelAsString": true } - }, - "schemaName": { - "description": "Schema of the table. Default value is dbo.", - "type": "string" - }, - "sqlServerResourceId": { - "description": "Resource id of SQL server", - "type": "string" - }, - "tableName": { - "description": "SQL DB table name.", - "type": "string" } } }, - "ScheduledSourceSynchronizationSetting": { - "description": "A type of synchronization setting based on schedule", + "Trigger": { + "description": "A Trigger data transfer object.", "required": [ "kind" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/SourceShareSynchronizationSetting" + "$ref": "#/definitions/ProxyDto" } ], "properties": { - "properties": { - "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties", - "description": "Properties of scheduled synchronization", - "x-ms-client-flatten": true - } - }, - "x-ms-discriminator-value": "ScheduleBased" - }, - "ScheduledSourceShareSynchronizationSettingProperties": { - "description": "A Scheduled source synchronization setting data transfer object.", - "type": "object", - "properties": { - "recurrenceInterval": { - "description": "Recurrence Interval", + "kind": { + "description": "Kind of synchronization", "enum": [ - "Hour", - "Day" + "ScheduleBased" ], "type": "string", "x-ms-enum": { - "name": "recurrenceInterval", + "name": "kind", "modelAsString": true } - }, - "synchronizationTime": { - "format": "date-time", - "description": "Synchronization time", - "type": "string" } - } + }, + "discriminator": "kind" }, - "DefaultDto": { - "description": "Base data transfer object implementation for default resources.", + "TriggerList": { + "description": "List response for get triggers", + "required": [ + "value" + ], "type": "object", "properties": { - "id": { - "description": "The resource id of the azure resource", - "type": "string", - "readOnly": true - }, - "location": { - "description": "Location of the azure resource.", + "nextLink": { + "description": "The Url of next result page.", "type": "string" }, - "name": { - "description": "Name of the azure resource", - "type": "string", - "readOnly": true - }, - "tags": { - "description": "Tags on the azure resource.", - "type": "object", - "additionalProperties": { - "type": "string" + "value": { + "description": "Collection of items of type DataTransferObjects.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Trigger" } - }, - "type": { - "description": "Type of the azure resource", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ProxyDto": { - "description": "Base data transfer object implementation for proxy resources.", - "type": "object", - "properties": { - "id": { - "description": "The resource id of the azure resource", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Name of the azure resource", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Type of the azure resource", - "type": "string", - "readOnly": true } - }, - "x-ms-azure-resource": true + } } }, "parameters": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSetMappings_ListByShareSubscription.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSetMappings_ListByShareSubscription.json index 766f8839e019..28aca6471ed5 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSetMappings_ListByShareSubscription.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSetMappings_ListByShareSubscription.json @@ -4,7 +4,9 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareSubscriptionName": "ShareSubscription1", - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "filter": "name eq 'DatasetMapping1'", + "orderBy": "name" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_Delete.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_Delete.json index 641ad9cf412d..eb9de395544c 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_Delete.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_Delete.json @@ -5,7 +5,7 @@ "accountName": "Account1", "shareName": "Share1", "dataSetName": "Dataset1", - "api-version": "2018-11-01-preview" + "api-version": "2019-11-01" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_ListByShare.json index 36c4e851679d..a0052319a8cf 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_ListByShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_ListByShare.json @@ -4,7 +4,9 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "filter": "name eq 'Dataset1'", + "orderBy": "name" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Invitations_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Invitations_ListByShare.json index 70614c24e56c..95763c961d21 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Invitations_ListByShare.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Invitations_ListByShare.json @@ -4,7 +4,9 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "filter": "properties/targetEmail eq 'johnsmith@microsoft.com'", + "orderBy": "properties/sentAt" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListByAccount.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListByAccount.json index 07bb2915ddbb..7da7cb2609d4 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListByAccount.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListByAccount.json @@ -3,7 +3,9 @@ "subscriptionId": "12345678-1234-1234-12345678abc", "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "filter": "name eq 'ShareSubscription1'", + "orderBy": "properties/createdAt" }, "responses": { "200": { @@ -40,7 +42,7 @@ "properties": { "userName": "John Smith", "userEmail": "john.smith@microsoft.com", - "createdAt": "2019-01-17T22:32:36.8185016Z", + "createdAt": "2020-12-17T22:32:36.8185016Z", "shareSubscriptionStatus": "Active", "invitationId": "4256e2cf-0f82-4865-961b-12f83333f487", "sourceShareLocation": "eastus2", diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizationDetails.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizationDetails.json index efc6af9f2b8f..f36e62ee1d83 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizationDetails.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizationDetails.json @@ -7,7 +7,9 @@ "shareSubscriptionSynchronization": { "synchronizationId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" }, - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "filter": "name eq 'datasetmapping1'", + "orderBy": "durationMs" }, "responses": { "200": { @@ -25,7 +27,7 @@ "startTime": "2018-11-14T04:47:52.9614956Z", "durationMs": 2000, "status": "Completed", - "name": "dataset1", + "name": "datasetmapping1", "dataSetId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb", "dataSetType": "Blob" } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizations.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizations.json index 362b27eacc89..616d3a6bea85 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizations.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizations.json @@ -4,7 +4,8 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareSubscriptionName": "ShareSub1", - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "orderBy": "durationMs" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListByAccount.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListByAccount.json index 531af3d38a42..4aef3c8dc324 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListByAccount.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListByAccount.json @@ -3,7 +3,9 @@ "subscriptionId": "12345678-1234-1234-12345678abc", "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "filter": "name eq 'Share1'", + "orderBy": "properties/createdAt" }, "responses": { "200": { @@ -35,7 +37,7 @@ "terms": "Confidential", "shareKind": "CopyBased", "userName": "John Smith", - "createdAt": "2018-11-14T06:15:15.6818898Z", + "createdAt": "2019-10-14T06:15:15.6818898Z", "userEmail": "johnsmith@microsoft.com" }, "id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1", diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizationDetails.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizationDetails.json index 0d5883c6bea3..b320c7278776 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizationDetails.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizationDetails.json @@ -7,7 +7,9 @@ "shareSynchronization": { "synchronizationId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" }, - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "filter": "name eq 'dataset1'", + "orderBy": "durationMs" }, "responses": { "200": { @@ -28,6 +30,15 @@ "name": "dataset1", "dataSetId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb", "dataSetType": "Blob" + }, + { + "endTime": "2019-10-14T04:47:52.9614956Z", + "startTime": "2019-10-14T04:47:52.9614956Z", + "durationMs": 2000, + "status": "Completed", + "name": "dataset2", + "dataSetId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb", + "dataSetType": "Blob" } ] } diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizations.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizations.json index 633e2acd8f3d..88b0b7efaaa2 100644 --- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizations.json +++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizations.json @@ -4,7 +4,8 @@ "resourceGroupName": "SampleResourceGroup", "accountName": "Account1", "shareName": "Share1", - "api-version": "2019-11-01" + "api-version": "2019-11-01", + "filter": "consumerTenantName eq 'nda'" }, "responses": { "200": { diff --git a/specification/datashare/resource-manager/readme.azureresourceschema.md b/specification/datashare/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a0664f3ea80e --- /dev/null +++ b/specification/datashare/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-datashare-2019-11-01 + - tag: schema-datashare-2018-11-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-datashare-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-datashare-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataShare/stable/2019-11-01/DataShare.json + +``` + +### Tag: schema-datashare-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-datashare-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json + +``` diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md index 5d1040195bd8..89da194dadc3 100644 --- a/specification/datashare/resource-manager/readme.md +++ b/specification/datashare/resource-manager/readme.md @@ -63,6 +63,10 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-go - repo: azure-cli-extensions + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js datashare/resource-manager ``` @@ -112,6 +116,10 @@ python: See configuration in [readme.go.md](./readme.go.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/datashare/resource-manager/readme.trenton.md b/specification/datashare/resource-manager/readme.trenton.md new file mode 100644 index 000000000000..a4e0699566a8 --- /dev/null +++ b/specification/datashare/resource-manager/readme.trenton.md @@ -0,0 +1,25 @@ +## overrides + +These settings apply only when `--trenton` is specified on the command line. +``` yaml $(trenton) +overrides: + - where: + resource: "*" + set: + - NeedSeparated: false + - where: + resource: "Accounts" + set: + - CombineCreateUpdate: false +``` +## trenton + +These settings apply only when `--trenton` is specified on the command line. + +``` yaml $(trenton) +trenton: + cli-name: dataShare + package-name: datashare +clear-output-folder: true +output-folder: $(trenton-output-folder)/datashare +``` diff --git a/specification/deploymentmanager/resource-manager/readme.azureresourceschema.md b/specification/deploymentmanager/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2502de8815f2 --- /dev/null +++ b/specification/deploymentmanager/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-deploymentmanager-2019-11-01-preview + - tag: schema-deploymentmanager-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-deploymentmanager-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-deploymentmanager-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json + +``` + +### Tag: schema-deploymentmanager-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-deploymentmanager-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DeploymentManager/preview/2018-09-01-preview/deploymentmanager.json + +``` diff --git a/specification/deploymentmanager/resource-manager/readme.md b/specification/deploymentmanager/resource-manager/readme.md index fd8b13f1e887..4e01b0264c83 100644 --- a/specification/deploymentmanager/resource-manager/readme.md +++ b/specification/deploymentmanager/resource-manager/readme.md @@ -115,6 +115,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_deploymentmanager'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js deploymentmanager/resource-manager ``` ## C# @@ -199,6 +202,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json index 461026a2fdfa..ee6cfedd9ccb 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json @@ -320,58 +320,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments": { - "get": { - "tags": [ - "ApplicationGroup" - ], - "operationId": "ApplicationGroupAssignments_WorkspaceLevelList", - "description": "List application group that user can use.", - "x-ms-examples": { - "ApplicationGroupAssignment_WorkspaceLevelList": { - "$ref": "./examples/ApplicationGroupAssignment_WorkspaceLevelList.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/WorkspaceNameParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression. Valid properties for filtering are applicationGroupType." - } - ], - "responses": { - "200": { - "description": "Successfully retrieved user application group assignments in workspace.", - "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}": { "get": { "tags": [ @@ -1598,61 +1546,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications": { - "get": { - "tags": [ - "Application" - ], - "operationId": "ActiveApplications_ListBySessionHost", - "description": "List applications for the given session host.", - "x-ms-examples": { - "ActiveApplications_List": { - "$ref": "./examples/ActiveApplication_ListBySessionHost.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/HostPoolNameParameter" - }, - { - "$ref": "#/parameters/SessionHostNameParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate." - } - ], - "responses": { - "200": { - "description": "Successfully retrieved active applications in session host.", - "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/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": { "get": { "tags": [ @@ -2190,8 +2083,8 @@ "type": "object", "required": [ "hostPoolType", - "personalDesktopAssignmentType", - "loadBalancerType" + "loadBalancerType", + "preferredAppGroupType" ], "properties": { "friendlyName": { @@ -2277,6 +2170,20 @@ "ssoContext": { "type": "string", "description": "Path to keyvault containing ssoContext secret." + }, + "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 } } }, @@ -2360,6 +2267,19 @@ "ssoContext": { "type": "string", "description": "Path to keyvault containing ssoContext secret." + }, + "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" } } }, @@ -2778,6 +2698,16 @@ "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." diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ActiveApplication_ListBySessionHost.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ActiveApplication_ListBySessionHost.json deleted file mode 100644 index 5df22a508d50..000000000000 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ActiveApplication_ListBySessionHost.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "parameters": { - "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", - "resourceGroupName": "resourceGroup1", - "hostPoolName": "hostPool1", - "sessionHostName": "sessionHost1.microsoft.com", - "api-version": "2019-01-23-preview", - "$filter": "userPrincipalName eq 'user1@microsoft.com'" - }, - "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", - "properties": { - "description": "des1", - "friendlyName": "friendly", - "filePath": "path", - "commandLineSetting": "Allow", - "commandLineArguments": "arguments", - "showInPortal": true, - "iconPath": "icon", - "iconIndex": 1, - "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", - "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." - } - }, - { - "name": "applicationGroup1/application2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2", - "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", - "properties": { - "description": "des2", - "friendlyName": "friendly", - "filePath": "path", - "commandLineSetting": "Allow", - "commandLineArguments": "arguments", - "showInPortal": true, - "iconPath": "icon", - "iconIndex": 1, - "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", - "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." - } - } - ] - } - } - } -} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json deleted file mode 100644 index 9846c97f6936..000000000000 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parameters": { - "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", - "resourceGroupName": "resourceGroup1", - "workspaceName": "workspace1", - "api-version": "2019-01-23-preview", - "$filter": "userPrincipalName eq 'user1@microsoft.com'" - }, - "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" - }, - "properties": { - "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" - } - }, - { - "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" - }, - "properties": { - "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" - } - } - ] - } - } - } -} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Create.json index 1aa50229fc28..3c08b9ce934b 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Create.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Create.json @@ -22,7 +22,8 @@ "expirationTime": "2008-09-22T14:01:54.9571247Z", "resetToken": true }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } }, @@ -52,7 +53,8 @@ "token": "token", "resetToken": true }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } }, @@ -81,7 +83,8 @@ "token": "token", "resetToken": true }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Get.json index 83915696ba13..d286a94ffd5c 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Get.json @@ -31,7 +31,8 @@ "token": "token", "resetToken": false }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_List.json index 3b8929f94dd4..ae01bb585437 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_List.json @@ -31,7 +31,8 @@ "token": "token", "resetToken": false }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } }, { @@ -58,7 +59,8 @@ "token": "token", "resetToken": false }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_ListByResourceGroup.json index e8ad41224d96..9b804e395c6a 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_ListByResourceGroup.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_ListByResourceGroup.json @@ -32,7 +32,8 @@ "token": "token", "resetToken": false }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } }, { @@ -59,7 +60,8 @@ "token": "token", "resetToken": false }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Update.json index f82f0feaea5b..6593f5e1cb0a 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Update.json @@ -49,7 +49,8 @@ "token": "token", "resetToken": false }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Delete.json index 6d95001e8311..a0fb8de17874 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Delete.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Delete.json @@ -24,7 +24,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } }, "204": {} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Get.json index 07246deb3a64..cdf7f8c1d3a2 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Get.json @@ -24,7 +24,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_List.json index 2618ca58698c..4dffe5b95b7f 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_List.json @@ -25,7 +25,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } }, { @@ -44,7 +46,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Update.json index 794cb51fc0c5..fa38d983465f 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Update.json @@ -30,7 +30,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json index d75ddf4291a2..bfa107e11949 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json @@ -320,58 +320,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments": { - "get": { - "tags": [ - "ApplicationGroup" - ], - "operationId": "ApplicationGroupAssignments_WorkspaceLevelList", - "description": "List application group that user can use.", - "x-ms-examples": { - "ApplicationGroupAssignment_WorkspaceLevelList": { - "$ref": "./examples/ApplicationGroupAssignment_WorkspaceLevelList.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/WorkspaceNameParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression. Valid properties for filtering are applicationGroupType." - } - ], - "responses": { - "200": { - "description": "Successfully retrieved user application group assignments in workspace.", - "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}": { "get": { "tags": [ @@ -1598,61 +1546,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications": { - "get": { - "tags": [ - "Application" - ], - "operationId": "ActiveApplications_ListBySessionHost", - "description": "List applications for the given session host.", - "x-ms-examples": { - "ActiveApplications_List": { - "$ref": "./examples/ActiveApplication_ListBySessionHost.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/HostPoolNameParameter" - }, - { - "$ref": "#/parameters/SessionHostNameParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate." - } - ], - "responses": { - "200": { - "description": "Successfully retrieved active applications in session host.", - "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/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": { "get": { "tags": [ @@ -2190,8 +2083,8 @@ "type": "object", "required": [ "hostPoolType", - "personalDesktopAssignmentType", - "loadBalancerType" + "loadBalancerType", + "preferredAppGroupType" ], "properties": { "friendlyName": { @@ -2277,6 +2170,20 @@ "ssoContext": { "type": "string", "description": "Path to keyvault containing ssoContext secret." + }, + "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 } } }, @@ -2360,6 +2267,19 @@ "ssoContext": { "type": "string", "description": "Path to keyvault containing ssoContext secret." + }, + "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" } } }, @@ -2797,6 +2717,16 @@ "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." diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ActiveApplication_ListBySessionHost.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ActiveApplication_ListBySessionHost.json deleted file mode 100644 index 9f1476eecd78..000000000000 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ActiveApplication_ListBySessionHost.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "parameters": { - "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", - "resourceGroupName": "resourceGroup1", - "hostPoolName": "hostPool1", - "sessionHostName": "sessionHost1.microsoft.com", - "api-version": "2019-09-24-preview", - "$filter": "userPrincipalName eq 'user1@microsoft.com'" - }, - "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", - "properties": { - "description": "des1", - "friendlyName": "friendly", - "filePath": "path", - "commandLineSetting": "Allow", - "commandLineArguments": "arguments", - "showInPortal": true, - "iconPath": "icon", - "iconIndex": 1, - "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", - "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." - } - }, - { - "name": "applicationGroup1/application2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2", - "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", - "properties": { - "description": "des2", - "friendlyName": "friendly", - "filePath": "path", - "commandLineSetting": "Allow", - "commandLineArguments": "arguments", - "showInPortal": true, - "iconPath": "icon", - "iconIndex": 1, - "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", - "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." - } - } - ] - } - } - } -} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json deleted file mode 100644 index 0ff08ef95927..000000000000 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parameters": { - "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", - "resourceGroupName": "resourceGroup1", - "workspaceName": "workspace1", - "api-version": "2019-09-24-preview", - "$filter": "userPrincipalName eq 'user1@microsoft.com'" - }, - "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" - }, - "properties": { - "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" - } - }, - { - "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" - }, - "properties": { - "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" - } - } - ] - } - } - } -} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Create.json index daf9dee27580..269f61ac668d 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Create.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Create.json @@ -22,7 +22,8 @@ "expirationTime": "2008-09-22T14:01:54.9571247Z", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } }, @@ -52,7 +53,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } }, @@ -81,7 +83,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Get.json index 10e6a4a383ac..6e71147a4055 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Get.json @@ -31,7 +31,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_List.json index f29f8537eb5a..d19d95f0785c 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_List.json @@ -31,7 +31,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } }, { @@ -58,7 +59,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_ListByResourceGroup.json index 1dec6d177630..3aa6110aa76f 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_ListByResourceGroup.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_ListByResourceGroup.json @@ -32,7 +32,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } }, { @@ -59,7 +60,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Update.json index 18d1ca279723..d13bcaee2943 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Update.json @@ -49,7 +49,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Delete.json index 1b0c26c20792..9a8b84e064d4 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Delete.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Delete.json @@ -24,7 +24,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } }, "204": {} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Get.json index 9b1c5f90bf63..4ebf983e1b15 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Get.json @@ -24,7 +24,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_List.json index 164fcaccad86..45f5784ec15c 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_List.json @@ -25,7 +25,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } }, { @@ -44,7 +46,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Update.json index 379d98bbebcd..42a06c3969a6 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Update.json @@ -30,7 +30,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json index 0948a6244957..8bee1f0e764a 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json @@ -320,58 +320,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments": { - "get": { - "tags": [ - "ApplicationGroup" - ], - "operationId": "ApplicationGroupAssignments_WorkspaceLevelList", - "description": "List application group that user can use.", - "x-ms-examples": { - "ApplicationGroupAssignment_WorkspaceLevelList": { - "$ref": "./examples/ApplicationGroupAssignment_WorkspaceLevelList.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/WorkspaceNameParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression. Valid properties for filtering are applicationGroupType." - } - ], - "responses": { - "200": { - "description": "Successfully retrieved user application group assignments in workspace.", - "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}": { "get": { "tags": [ @@ -1598,61 +1546,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications": { - "get": { - "tags": [ - "Application" - ], - "operationId": "ActiveApplications_ListBySessionHost", - "description": "List applications for the given session host.", - "x-ms-examples": { - "ActiveApplications_List": { - "$ref": "./examples/ActiveApplication_ListBySessionHost.json" - } - }, - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/HostPoolNameParameter" - }, - { - "$ref": "#/parameters/SessionHostNameParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate." - } - ], - "responses": { - "200": { - "description": "Successfully retrieved active applications in session host.", - "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/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": { "get": { "tags": [ @@ -2198,8 +2091,8 @@ "type": "object", "required": [ "hostPoolType", - "personalDesktopAssignmentType", - "loadBalancerType" + "loadBalancerType", + "preferredAppGroupType" ], "properties": { "friendlyName": { @@ -2285,6 +2178,20 @@ "ssoContext": { "type": "string", "description": "Path to keyvault containing ssoContext secret." + }, + "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 } } }, @@ -2371,6 +2278,19 @@ "ssoContext": { "type": "string", "description": "Path to keyvault containing ssoContext secret." + }, + "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" } } }, @@ -2820,6 +2740,16 @@ "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." diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ActiveApplication_ListBySessionHost.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ActiveApplication_ListBySessionHost.json deleted file mode 100644 index 973e60d06849..000000000000 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ActiveApplication_ListBySessionHost.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "parameters": { - "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", - "resourceGroupName": "resourceGroup1", - "hostPoolName": "hostPool1", - "sessionHostName": "sessionHost1.microsoft.com", - "api-version": "2019-12-10-preview", - "$filter": "userPrincipalName eq 'user1@microsoft.com'" - }, - "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", - "properties": { - "description": "des1", - "friendlyName": "friendly", - "filePath": "path", - "commandLineSetting": "Allow", - "commandLineArguments": "arguments", - "showInPortal": true, - "iconPath": "icon", - "iconIndex": 1, - "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", - "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." - } - }, - { - "name": "applicationGroup1/application2", - "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2", - "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", - "properties": { - "description": "des2", - "friendlyName": "friendly", - "filePath": "path", - "commandLineSetting": "Allow", - "commandLineArguments": "arguments", - "showInPortal": true, - "iconPath": "icon", - "iconIndex": 1, - "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", - "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." - } - } - ] - } - } - } -} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json deleted file mode 100644 index c2ee315a000d..000000000000 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "parameters": { - "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", - "resourceGroupName": "resourceGroup1", - "workspaceName": "workspace1", - "api-version": "2019-12-10-preview", - "$filter": "userPrincipalName eq 'user1@microsoft.com'" - }, - "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" - }, - "properties": { - "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" - } - }, - { - "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" - }, - "properties": { - "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" - } - } - ] - } - } - } -} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json index 66b79818e853..12ea67762e9d 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json @@ -22,7 +22,8 @@ "expirationTime": "2020-10-01T14:01:54.9571247Z", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } }, @@ -52,7 +53,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } }, @@ -81,7 +83,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json index 73d515fb1992..fb86c3da15ee 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json @@ -31,7 +31,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json index e20d8baf3afb..69ef8301a370 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json @@ -31,7 +31,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } }, { @@ -58,7 +59,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json index 02e45253849c..933bf9839591 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json @@ -32,7 +32,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } }, { @@ -59,7 +60,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json index 0993e2d985a4..833bf8716bbf 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json @@ -50,7 +50,8 @@ "token": "token", "registrationTokenOperation": "Update" }, - "ssoContext": "KeyVaultPath" + "ssoContext": "KeyVaultPath", + "preferredAppGroupType": "Desktop" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json index 3755a7e1ce7f..12cae16ead92 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json @@ -24,7 +24,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } }, "204": {} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json index d0372897c33e..7c4fc2180b4b 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json @@ -24,7 +24,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } } } diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json index e00397e9da1f..12ba5cafb4f2 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json @@ -25,7 +25,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } }, { @@ -44,7 +46,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2" } } ] diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json index 6b4d3500d06d..9353b6accd08 100644 --- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json @@ -30,7 +30,9 @@ "sxSStackVersion": "rdp-sxs190816002", "updateState": "Succeeded", "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", - "updateErrorMessage": "" + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1" } } } diff --git a/specification/desktopvirtualization/resource-manager/readme.az.md b/specification/desktopvirtualization/resource-manager/readme.az.md index c4e10f818618..c9e500a520d6 100644 --- a/specification/desktopvirtualization/resource-manager/readme.az.md +++ b/specification/desktopvirtualization/resource-manager/readme.az.md @@ -7,6 +7,7 @@ az: extensions: desktopvirtualization package-name: azure-mgmt-desktopvirtualization namespace: azure.mgmt.desktopvirtualization + replace-datetime: true az-output-folder: $(azure-cli-extension-folder)/src/desktopvirtualization python-sdk-output-folder: "$(az-output-folder)/azext_desktopvirtualization/vendored_sdks/desktopvirtualization" diff --git a/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md b/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..9a0a2b34dc89 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-desktopvirtualization-2019-12-10-preview + - tag: schema-desktopvirtualization-2019-09-24-preview + - tag: schema-desktopvirtualization-2019-01-23-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-desktopvirtualization-2019-12-10-preview and azureresourceschema + +``` yaml $(tag) == 'schema-desktopvirtualization-2019-12-10-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json + +``` + +### Tag: schema-desktopvirtualization-2019-09-24-preview and azureresourceschema + +``` yaml $(tag) == 'schema-desktopvirtualization-2019-09-24-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json + +``` + +### Tag: schema-desktopvirtualization-2019-01-23-preview and azureresourceschema + +``` yaml $(tag) == 'schema-desktopvirtualization-2019-01-23-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json + +``` diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md index 3864f213f6b1..5d79f0a477dc 100644 --- a/specification/desktopvirtualization/resource-manager/readme.md +++ b/specification/desktopvirtualization/resource-manager/readme.md @@ -75,6 +75,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_desktop_virtualization'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js desktopvirtualization/resource-manager ``` ## C# @@ -105,6 +108,10 @@ See configuration in [readme.node.md](./readme.node.md) See configuration in [readme.ruby.md](./readme.ruby.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json new file mode 100644 index 000000000000..0d44e7116ea7 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "certificate": "############################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json new file mode 100644 index 000000000000..74cce29667f1 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "arguments": { + "name": "test213123" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Invalid", + "message": "name is valid" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreate.json new file mode 100644 index 000000000000..01f3b3a90544 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotDpsDescription": { + "location": "East US", + "properties": {}, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [] + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "201": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [] + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..94a8d73c220e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDelete.json new file mode 100644 index 000000000000..ddfb3bd52182 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": {}, + "204": {}, + "202": {}, + "404": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json new file mode 100644 index 000000000000..21358dfecdf2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..e2a7eeb7cb1b --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "204": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json new file mode 100644 index 000000000000..1dde48f61e65 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "verificationCode": "##################################", + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "##############################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json new file mode 100644 index 000000000000..d7879f8bff2e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [] + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificate.json new file mode 100644 index 000000000000..eee88e44a0cf --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert" + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificates.json new file mode 100644 index 000000000000..0087f4a66764 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificates.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetKey.json new file mode 100644 index 000000000000..e75a9b585328 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "testKey" + }, + "responses": { + "200": { + "body": { + "keyName": "testKey", + "primaryKey": "##################################", + "secondaryKey": "################################", + "rights": "RegistrationStatusWrite" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetOperationResult.json new file mode 100644 index 000000000000..e92100cd61db --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetOperationResult.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl", + "asyncinfo": "1508265712453" + }, + "responses": { + "200": { + "body": { + "status": "Succeeded" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..465769974a22 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json new file mode 100644 index 000000000000..7761f6f3a8ef --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "groupId": "iotDps" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetValidSku.json new file mode 100644 index 000000000000..5b6532edb650 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetValidSku.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "S1" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json new file mode 100644 index 000000000000..3f5c3862e31e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + }, + { + "etag": "AAAAAAAADGk=", + "name": "mySecondProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListBySubscription.json new file mode 100644 index 000000000000..efb4770967b8 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + }, + { + "etag": "AAAAAAAADGk=", + "name": "mySecondProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListKeys.json new file mode 100644 index 000000000000..835328ed57c2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListKeys.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "key1", + "primaryKey": "#####################################", + "secondaryKey": "###################################", + "rights": "ServiceConfig" + }, + { + "keyName": "key2", + "primaryKey": "#######################################", + "secondaryKey": "####################################=", + "rights": "ServiceConfig" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json new file mode 100644 index 000000000000..31f5993fcaa3 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json new file mode 100644 index 000000000000..d8518c8255c0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSOperations.json new file mode 100644 index 000000000000..ca69bfa1de2f --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSOperations.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Register Resource Provider" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service metric definitions" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service log definitions" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get All ResourceProvider Operations" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Check If IotHub name is available" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Subscription Usages" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create or update IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Statistics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get valid IotHub Skus" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get all IotHub Keys" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Key for the given name" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get EventHub Consumer Group(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Export Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Import Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get the Job(s) on IotHub" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Quota Metrics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test All" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test Route" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Endpoint Health" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service metric definitions" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service log definitions" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServives", + "operation": "Check If Provisioning Service name is available" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Get Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Create Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "get security related metadata" + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSPatch.json new file mode 100644 index 000000000000..676573e711f2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSPatch.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "location": "East US", + "type": "Microsoft.Devices/ProvisioningServices", + "ProvisioningServiceTags": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": { + "foo": "bar" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json new file mode 100644 index 000000000000..8593f15b03a6 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-09-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=", + "request": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": true, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpTQ=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json new file mode 100644 index 000000000000..20b815e53811 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json @@ -0,0 +1,2546 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-01-preview", + "x-ms-code-generation-settings": { + "host": "management.azure.com" + }, + "title": "iotDpsClient", + "description": "API for using the Azure IoT Hub Device Provisioning Service features." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Devices/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "DPSOperations": { + "$ref": "./examples/DPSOperations.json" + } + }, + "description": "Lists all of the available Microsoft.Devices REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "GET" + ], + "operationId": "DpsCertificate_Get", + "description": "Get the certificate from the provisioning service.", + "x-ms-examples": { + "DPSGetCertificate": { + "$ref": "./examples/DPSGetCertificate.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the certificate to retrieve." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service the certificate is associated with." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the certificate." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Metadata for the specified certificate.", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Upload the certificate to the provisioning service.", + "description": "Add new certificate or update an existing certificate.", + "operationId": "DpsCertificate_CreateOrUpdate", + "x-ms-examples": { + "DPSCreateOrUpdateCertificate": { + "$ref": "./examples/DPSCertificateCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group identifier.", + "required": true, + "type": "string" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "The name of the provisioning service.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate create or update.", + "required": true, + "type": "string", + "maxLength": 256 + }, + { + "name": "certificateDescription", + "in": "body", + "description": "The certificate body.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateBodyDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate." + } + ], + "responses": { + "200": { + "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "operationId": "DpsCertificate_Delete", + "summary": "Delete the Provisioning Service Certificate.", + "description": "Deletes the specified certificate associated with the Provisioning Service", + "x-ms-examples": { + "DPSDeleteCertificate": { + "$ref": "./examples/DPSDeleteCertificate.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate" + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the provisioning service." + }, + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "This is a mandatory field, and is the logical name of the certificate that the provisioning service will access by." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "This is optional, and it is the Common Name of the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data within the certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "type": "string", + "description": "A description that mentions the purpose of the certificate.", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "description": "Time the certificate is created.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "description": "Time the certificate is last updated.", + "format": "date-time" + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains a private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the non-security related metadata of the provisioning service.", + "description": "Get the metadata of the provisioning service without SAS keys.", + "operationId": "IotDpsResource_Get", + "x-ms-examples": { + "DPSGet": { + "$ref": "./examples/DPSGet.json" + } + }, + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service to retrieve." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group name." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Provisioning service description with no keys is included in the response.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Create or update the metadata of the provisioning service.", + "description": "Create or update the metadata of the provisioning service. The usual pattern to modify a property is to retrieve the provisioning service metadata and security metadata, and then combine them with the modified values in a new body to update the provisioning service.", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_CreateOrUpdate", + "x-ms-examples": { + "DPSCreate": { + "$ref": "./examples/DPSCreate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to create or update." + }, + { + "name": "iotDpsDescription", + "in": "body", + "required": true, + "description": "Description of the provisioning service to create or update.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the provisioning service. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "PATCH" + ], + "summary": "Update an existing provisioning service's tags.", + "description": "Update an existing provisioning service's tags. to update other fields use the CreateOrUpdate method", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_Update", + "x-ms-examples": { + "DPSPatch": { + "$ref": "./examples/DPSPatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to create or update." + }, + { + "name": "ProvisioningServiceTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the provisioning service instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Provisioning Service was successfully updated", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete the Provisioning Service", + "description": "Deletes the Provisioning Service.", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_Delete", + "x-ms-examples": { + "DPSDelete": { + "$ref": "./examples/DPSDelete.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to delete." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "The provisioning service resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the provisioning service status directly, or query the operation resource." + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state." + }, + "204": { + "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the provisioning service metadata in the service and the status of the delete operation is set to a completed state." + }, + "404": { + "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the provisioning service metadata in the service." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates": { + "get": { + "tags": [ + "GET" + ], + "operationId": "DpsCertificate_List", + "description": "Get all the certificates tied to the provisioning service.", + "x-ms-examples": { + "DPSGetCertificates": { + "$ref": "./examples/DPSGetCertificates.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of resource group." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to retrieve certificates for." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "List of certificate descriptions in a JSON-serialized array.", + "schema": { + "$ref": "#/definitions/CertificateListDescription" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the provisioning services in a subscription.", + "description": "List all the provisioning services for a given subscription id.", + "operationId": "IotDpsResource_ListBySubscription", + "x-ms-examples": { + "DPSListBySubscription": { + "$ref": "./examples/DPSListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the provisioning services in the subscription.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescriptionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotDpsResource_ListByResourceGroup", + "description": "Get a list of all provisioning services in the given resource group.", + "x-ms-examples": { + "DPSListByResourceGroup": { + "$ref": "./examples/DPSListByResourceGroup.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "List of provisioning services in the resource group.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescriptionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotDpsResource_GetOperationResult", + "description": "Gets the status of a long running operation, such as create, update or delete a provisioning service.", + "x-ms-examples": { + "DPSGetOperationResult": { + "$ref": "./examples/DPSGetOperationResult.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation id corresponding to long running operation. Use this to poll for the status." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service that the operation is running on." + }, + { + "name": "asyncinfo", + "in": "query", + "description": "Async header used to poll on the status of the operation, obtained while creating the long running operation.", + "required": true, + "type": "string", + "default": "true" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "The status of the long running operation.", + "schema": { + "$ref": "#/definitions/AsyncOperationResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the list of valid SKUs for a provisioning service.", + "description": "Gets the list of valid SKUs and tiers for a provisioning service.", + "operationId": "IotDpsResource_listValidSkus", + "x-ms-examples": { + "DPSGetValidSku": { + "$ref": "./examples/DPSGetValidSku.json" + } + }, + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of resource group." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this provisioning service.", + "schema": { + "$ref": "#/definitions/IotDpsSkuDefinitionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode": { + "post": { + "tags": [ + "POST" + ], + "operationId": "DpsCertificate_GenerateVerificationCode", + "description": "Generate verification code for Proof of Possession.", + "x-ms-examples": { + "DPSGenerateVerificationCode": { + "$ref": "./examples/DPSGenerateVerificationCode.json" + } + }, + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "The mandatory logical name of the certificate, that the provisioning service uses to access." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "name of resource group." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "Common Name for the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data of certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "type": "string", + "description": "Description mentioning the purpose of the certificate.", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate creation time." + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate last updated time." + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Generated verification code for that certificate is returned.", + "schema": { + "$ref": "#/definitions/VerificationCodeResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify": { + "post": { + "tags": [ + "POST" + ], + "operationId": "DpsCertificate_VerifyCertificate", + "summary": "Verify certificate's private key possession.", + "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.", + "x-ms-examples": { + "DPSVerifyCertificate": { + "$ref": "./examples/DPSVerifyCertificate.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "The mandatory logical name of the certificate, that the provisioning service uses to access." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate." + }, + { + "name": "request", + "in": "body", + "required": true, + "description": "The name of the certificate", + "schema": { + "$ref": "#/definitions/VerificationCodeRequest" + } + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group name." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Provisioning service name." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "Common Name for the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data of certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "description": "Describe the purpose of the certificate.", + "type": "string", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate creation time." + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate last updated time." + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability", + "x-ms-examples": { + "DPSCheckName": { + "$ref": "./examples/DPSCheckNameAvailability.json" + } + }, + "summary": "Check if a provisioning service name is available.", + "description": "Check if a provisioning service name is available. This will validate if the name is syntactically valid and if the name is usable", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "arguments", + "in": "body", + "required": true, + "description": "Set the name parameter in the OperationInputs structure to the name of the provisioning service to check.", + "schema": { + "$ref": "#/definitions/OperationInputs" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the provisioning service name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/NameAvailabilityInfo" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_ListKeys", + "x-ms-examples": { + "DPSListKeys": { + "$ref": "./examples/DPSListKeys.json" + } + }, + "summary": "Get the security metadata for a provisioning service.", + "description": "List the primary and secondary keys for a provisioning service.", + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The provisioning service name to get the shared access keys for." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "resource group name" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the provisioning service endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_ListKeysForKeyName", + "x-ms-examples": { + "DPSGetKey": { + "$ref": "./examples/DPSGetKey.json" + } + }, + "summary": "Get a shared access policy by name from a provisioning service.", + "description": "List primary and secondary keys for a specific key name", + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service." + }, + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "description": "Logical key name to get key-values for." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the provisioning service.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more provisioning service endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private link resources", + "description": "List private link resources for the given provisioning service", + "operationId": "IotDpsResource_ListPrivateLinkResources", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/DPSListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private link resources", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the specified private link resource", + "description": "Get the specified private link resource for the given provisioning service", + "operationId": "IotDpsResource_GetPrivateLinkResources", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/DPSGetPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/groupId" + } + ], + "responses": { + "200": { + "description": "The body contains the specified of private link resource", + "schema": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private endpoint connections", + "description": "List private endpoint connection properties", + "operationId": "IotDpsResource_ListPrivateEndpointConnections", + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/DPSListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionsList" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get private endpoint connection", + "description": "Get private endpoint connection properties", + "operationId": "IotDpsResource_GetPrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_Get": { + "$ref": "./examples/DPSGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The body contains the private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Create or update private endpoint connection", + "description": "Create or update the status of a private endpoint connection with the specified name", + "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/DPSCreateOrUpdatePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection with updated properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the update operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete private endpoint connection", + "description": "Delete private endpoint connection with the specified name", + "operationId": "IotDpsResource_DeletePrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_Delete": { + "$ref": "./examples/DPSDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "PrivateEndpoint does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "AsyncOperationResult": { + "type": "object", + "description": "Result of a long running operation.", + "properties": { + "status": { + "description": "current status of a long running operation.", + "type": "string" + }, + "error": { + "description": "Error message containing code, description and details", + "$ref": "#/definitions/ErrorMesssage" + } + } + }, + "ErrorMesssage": { + "description": "Error response containing message and code.", + "type": "object", + "properties": { + "code": { + "description": "standard error code", + "type": "string" + }, + "message": { + "description": "standard error description", + "type": "string" + }, + "details": { + "description": "detailed summary of error", + "type": "string" + } + } + }, + "CertificateListDescription": { + "description": "The JSON-serialized array of Certificate objects.", + "type": "object", + "properties": { + "value": { + "description": "The array of Certificate objects.", + "type": "array", + "items": { + "$ref": "#/definitions/CertificateResponse" + } + } + } + }, + "CertificateBodyDescription": { + "description": "The JSON-serialized X509 Certificate.", + "type": "object", + "properties": { + "certificate": { + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateResponse": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "description": "properties of a certificate", + "$ref": "#/definitions/CertificateProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "CertificateProperties": { + "description": "The description of an X509 CA Certificate.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's creation date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + } + } + }, + "IotDpsSkuInfo": { + "type": "object", + "description": "List of possible provisioning service SKUs.", + "properties": { + "name": { + "description": "Sku name.", + "enum": [ + "S1" + ], + "type": "string", + "x-ms-enum": { + "name": "IotDpsSku", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "Pricing tier name of the provisioning service." + }, + "capacity": { + "format": "int64", + "type": "integer", + "description": "The number of units to provision" + } + } + }, + "ProvisioningServiceDescription": { + "description": "The description of the provisioning service.", + "type": "object", + "properties": { + "etag": { + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.", + "type": "string" + }, + "properties": { + "description": "Service specific properties for a provisioning service", + "$ref": "#/definitions/IotDpsPropertiesDescription" + }, + "sku": { + "description": "Sku info for a provisioning Service.", + "$ref": "#/definitions/IotDpsSkuInfo" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku", + "properties" + ] + }, + "IotDpsPropertiesDescription": { + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope", + "type": "object", + "properties": { + "state": { + "description": "Current state of the provisioning service.", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "state", + "modelAsString": true + } + }, + "encryption": { + "description": "The encryption properties for the IoT DPS instance.", + "$ref": "#/definitions/EncryptionPropertiesDescription" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ipFilterRules": { + "description": "The IP filter rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "privateEndpointConnections": { + "description": "Private endpoint connections created on this IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "The ARM provisioning state of the provisioning service.", + "type": "string" + }, + "iotHubs": { + "type": "array", + "description": "List of IoT hubs associated with this provisioning service.", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + "allocationPolicy": { + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ], + "type": "string", + "description": "Allocation policy to be used by this provisioning service.", + "x-ms-enum": { + "name": "AllocationPolicy", + "modelAsString": true + } + }, + "serviceOperationsHostName": { + "description": "Service endpoint for provisioning service.", + "type": "string", + "readOnly": true + }, + "deviceProvisioningHostName": { + "type": "string", + "description": "Device endpoint for this provisioning service.", + "readOnly": true + }, + "idScope": { + "type": "string", + "description": "Unique identifier of this provisioning service.", + "readOnly": true + }, + "authorizationPolicies": { + "description": "List of authorization keys for a provisioning service.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + } + } + }, + "IotHubDefinitionDescription": { + "type": "object", + "description": "Description of the IoT hub.", + "properties": { + "applyAllocationPolicy": { + "description": "flag for applying allocationPolicy or not for a given iot hub.", + "type": "boolean" + }, + "allocationWeight": { + "description": "weight to apply for a given iot h.", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Host name of the IoT hub." + }, + "connectionString": { + "type": "string", + "description": "Connection string of the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ] + }, + "EncryptionPropertiesDescription": { + "description": "The encryption properties for the IoT DPS instance.", + "type": "object", + "properties": { + "keySource": { + "description": "The source of the key.", + "type": "string" + }, + "keyVaultProperties": { + "description": "The properties of the KeyVault key.", + "type": "array", + "items": { + "$ref": "#/definitions/KeyVaultKeyProperties" + } + } + } + }, + "KeyVaultKeyProperties": { + "description": "The properties of the KeyVault key.", + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The identifier of the key." + } + } + }, + "IpFilterRule": { + "description": "The IP filter rules for a provisioning Service.", + "type": "object", + "properties": { + "filterName": { + "description": "The name of the IP filter rule.", + "type": "string" + }, + "action": { + "description": "The desired action for requests captured by this rule.", + "enum": [ + "Accept", + "Reject" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterActionType", + "modelAsString": false + } + }, + "ipMask": { + "description": "A string that contains the IP address range in CIDR notation for the rule.", + "type": "string" + }, + "target": { + "description": "Target for requests captured by this rule.", + "enum": [ + "all", + "serviceApi", + "deviceApi" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterTargetType", + "modelAsString": false + } + } + }, + "required": [ + "filterName", + "action", + "ipMask" + ] + }, + "PrivateLinkResources": { + "description": "The available private link resources for a provisioning service", + "type": "object", + "properties": { + "value": { + "description": "The list of available private link resources for a provisioning service", + "type": "array", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + } + } + }, + "GroupIdInformation": { + "description": "The group information for creating a private endpoint on a provisioning service", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "description": "The properties for a group information object", + "$ref": "#/definitions/GroupIdInformationProperties" + } + }, + "required": [ + "properties" + ] + }, + "GroupIdInformationProperties": { + "description": "The properties for a group information object", + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id" + }, + "requiredMembers": { + "description": "The required members for a specific group id", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The required DNS zones for a specific group id", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateEndpointConnectionsList": { + "description": "The list of private endpoint connections for a provisioning service", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "PrivateEndpointConnection": { + "description": "The private endpoint connection of a provisioning service", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "description": "The properties of a private endpoint connection", + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + }, + "required": [ + "properties" + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection", + "type": "object", + "properties": { + "privateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "type": "object", + "properties": { + "status": { + "description": "The status of a private endpoint connection", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + } + }, + "required": [ + "status", + "description" + ] + }, + "SharedAccessSignatureAuthorizationRule[AccessRightsDescription]": { + "type": "object", + "description": "Description of the shared access key.", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + }, + "rights": { + "description": "Rights that this key has.", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessRightsDescription", + "modelAsString": true + } + } + }, + "required": [ + "keyName", + "rights" + ] + }, + "Resource": { + "description": "The common properties of an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "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." + } + }, + "x-ms-azure-resource": true, + "required": [ + "location" + ] + }, + "OperationListResult": { + "description": "Result of the request to list provisioning service operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "Provisioning service operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "Provisioning Service REST API operation.", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft Devices." + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: ProvisioningServices." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation." + } + } + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true + } + } + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "type": "object", + "description": "List of shared access keys.", + "properties": { + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotDpsSkuDefinitionListResult": { + "type": "object", + "description": "List of available SKUs.", + "properties": { + "value": { + "description": "The list of SKUs", + "type": "array", + "items": { + "$ref": "#/definitions/IotDpsSkuDefinition" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotDpsSkuDefinition": { + "type": "object", + "description": "Available SKUs of tier and units.", + "properties": { + "name": { + "description": "Sku name.", + "enum": [ + "S1" + ], + "type": "string", + "x-ms-enum": { + "name": "IotDpsSku", + "modelAsString": true + } + } + } + }, + "OperationInputs": { + "description": "Input values for operation results call.", + "type": "object", + "properties": { + "name": { + "description": "The name of the Provisioning Service to check.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "NameAvailabilityInfo": { + "type": "object", + "description": "Description of name availability.", + "properties": { + "nameAvailable": { + "description": "specifies if a name is available or not", + "type": "boolean" + }, + "reason": { + "description": "specifies the reason a name is unavailable", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "NameUnavailabilityReason", + "modelAsString": true + } + }, + "message": { + "description": "message containing a detailed reason name is unavailable", + "type": "string" + } + } + }, + "TagsResource": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a Provisioning Service instance." + }, + "ProvisioningServiceDescriptionListResult": { + "type": "object", + "description": "List of provisioning service descriptions.", + "properties": { + "value": { + "description": "List of provisioning service descriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "nextLink": { + "description": "the next link", + "type": "string", + "readOnly": true + } + } + }, + "VerificationCodeResponse": { + "type": "object", + "description": "Description of the response of the verification code.", + "properties": { + "name": { + "type": "string", + "description": "Name of certificate.", + "readOnly": true + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "Request etag." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "type": "object", + "properties": { + "verificationCode": { + "type": "string", + "description": "Verification code." + }, + "subject": { + "type": "string", + "description": "Certificate subject." + }, + "expiry": { + "type": "string", + "description": "Code expiry." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + }, + "isVerified": { + "type": "boolean", + "description": "Indicate if the certificate is verified by owner of private key." + }, + "created": { + "type": "string", + "description": "Certificate created time." + }, + "updated": { + "type": "string", + "description": "Certificate updated time." + } + } + } + }, + "x-ms-azure-resource": true + }, + "VerificationCodeRequest": { + "type": "object", + "description": "The JSON-serialized leaf certificate", + "properties": { + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string" + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the API.", + "required": true, + "type": "string" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the provisioning service.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the provisioning service.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "groupId": { + "name": "groupId", + "in": "path", + "description": "The name of the private link resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json new file mode 100644 index 000000000000..558f5c35e5b2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "certificate": "############################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCheckNameAvailability.json new file mode 100644 index 000000000000..0e4aa5da3076 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "arguments": { + "name": "test213123" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Invalid", + "message": "name is valid" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreate.json new file mode 100644 index 000000000000..4b51ca38665a --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotDpsDescription": { + "location": "East US", + "properties": {}, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [] + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "201": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [] + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreateOrUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..0f7bd6619300 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreateOrUpdatePrivateEndpointConnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDelete.json new file mode 100644 index 000000000000..df3ec6c19ac0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": {}, + "204": {}, + "202": {}, + "404": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeleteCertificate.json new file mode 100644 index 000000000000..05c0226c64d8 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeleteCertificate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..a6e6b9903e7e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeletePrivateEndpointConnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "204": {} + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGenerateVerificationCode.json new file mode 100644 index 000000000000..46046c8661fa --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGenerateVerificationCode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "verificationCode": "##################################", + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "##############################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGet.json new file mode 100644 index 000000000000..990419b2ff0d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "authorizationPolicies": [] + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificate.json new file mode 100644 index 000000000000..4eefdca87ec7 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert" + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificates.json new file mode 100644 index 000000000000..0749e8b47528 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificates.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetKey.json new file mode 100644 index 000000000000..59cfd1dedda1 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "testKey" + }, + "responses": { + "200": { + "body": { + "keyName": "testKey", + "primaryKey": "##################################", + "secondaryKey": "################################", + "rights": "RegistrationStatusWrite" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetOperationResult.json new file mode 100644 index 000000000000..7b42073c8891 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetOperationResult.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl", + "asyncinfo": "1508265712453" + }, + "responses": { + "200": { + "body": { + "status": "Succeeded" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..f225fdfb3ed0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateLinkResources.json new file mode 100644 index 000000000000..7e5dd092b9fe --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateLinkResources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "groupId": "iotDps" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetValidSku.json new file mode 100644 index 000000000000..bd7172404ce3 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetValidSku.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "S1" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListByResourceGroup.json new file mode 100644 index 000000000000..edcfab5f6c2d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + }, + { + "etag": "AAAAAAAADGk=", + "name": "mySecondProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListBySubscription.json new file mode 100644 index 000000000000..10809ab99f65 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + }, + { + "etag": "AAAAAAAADGk=", + "name": "mySecondProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "tags": {}, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListKeys.json new file mode 100644 index 000000000000..244001271379 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListKeys.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "key1", + "primaryKey": "#####################################", + "secondaryKey": "###################################", + "rights": "ServiceConfig" + }, + { + "keyName": "key2", + "primaryKey": "#######################################", + "secondaryKey": "####################################=", + "rights": "ServiceConfig" + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateEndpointConnections.json new file mode 100644 index 000000000000..44aedc7b3ca4 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateEndpointConnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateLinkResources.json new file mode 100644 index 000000000000..a734845280ad --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSOperations.json new file mode 100644 index 000000000000..8803ccd6798c --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSOperations.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Register Resource Provider" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service metric definitions" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service log definitions" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get All ResourceProvider Operations" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Check If IotHub name is available" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Subscription Usages" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create or update IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Statistics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get valid IotHub Skus" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get all IotHub Keys" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Key for the given name" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get EventHub Consumer Group(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Export Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Import Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get the Job(s) on IotHub" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Quota Metrics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test All" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test Route" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Endpoint Health" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service metric definitions" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service log definitions" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServives", + "operation": "Check If Provisioning Service name is available" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Get Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Create Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "get security related metadata" + } + } + ] + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSPatch.json new file mode 100644 index 000000000000..ac5169c58f33 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSPatch.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "location": "East US", + "type": "Microsoft.Devices/ProvisioningServices", + "ProvisioningServiceTags": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "etag": "AAAAAAAADGk=", + "name": "myFirstProvisioningService", + "location": "eastus", + "properties": { + "state": "Active", + "allocationPolicy": "Hashed", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012" + }, + "type": "Microsoft.Devices/ProvisioningServices", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "tags": { + "foo": "bar" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSVerifyCertificate.json new file mode 100644 index 000000000000..9fc26b15c818 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSVerifyCertificate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-03-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=", + "request": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": true, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpTQ=" + } + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json new file mode 100644 index 000000000000..410067ac2fe2 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json @@ -0,0 +1,2515 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-03-01", + "x-ms-code-generation-settings": { + "host": "management.azure.com" + }, + "title": "iotDpsClient", + "description": "API for using the Azure IoT Hub Device Provisioning Service features." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Devices/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "DPSOperations": { + "$ref": "./examples/DPSOperations.json" + } + }, + "description": "Lists all of the available Microsoft.Devices REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "GET" + ], + "operationId": "DpsCertificate_Get", + "description": "Get the certificate from the provisioning service.", + "x-ms-examples": { + "DPSGetCertificate": { + "$ref": "./examples/DPSGetCertificate.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the certificate to retrieve." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service the certificate is associated with." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the certificate." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Metadata for the specified certificate.", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Upload the certificate to the provisioning service.", + "description": "Add new certificate or update an existing certificate.", + "operationId": "DpsCertificate_CreateOrUpdate", + "x-ms-examples": { + "DPSCreateOrUpdateCertificate": { + "$ref": "./examples/DPSCertificateCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group identifier.", + "required": true, + "type": "string" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "The name of the provisioning service.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate create or update.", + "required": true, + "type": "string", + "maxLength": 256 + }, + { + "name": "certificateDescription", + "in": "body", + "description": "The certificate body.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateBodyDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate." + } + ], + "responses": { + "200": { + "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "operationId": "DpsCertificate_Delete", + "summary": "Delete the Provisioning Service Certificate.", + "description": "Deletes the specified certificate associated with the Provisioning Service", + "x-ms-examples": { + "DPSDeleteCertificate": { + "$ref": "./examples/DPSDeleteCertificate.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate" + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the provisioning service." + }, + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "This is a mandatory field, and is the logical name of the certificate that the provisioning service will access by." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "This is optional, and it is the Common Name of the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data within the certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "type": "string", + "description": "A description that mentions the purpose of the certificate.", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "description": "Time the certificate is created.", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "description": "Time the certificate is last updated.", + "format": "date-time" + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains a private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the non-security related metadata of the provisioning service.", + "description": "Get the metadata of the provisioning service without SAS keys.", + "operationId": "IotDpsResource_Get", + "x-ms-examples": { + "DPSGet": { + "$ref": "./examples/DPSGet.json" + } + }, + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service to retrieve." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group name." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Provisioning service description with no keys is included in the response.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Create or update the metadata of the provisioning service.", + "description": "Create or update the metadata of the provisioning service. The usual pattern to modify a property is to retrieve the provisioning service metadata and security metadata, and then combine them with the modified values in a new body to update the provisioning service.", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_CreateOrUpdate", + "x-ms-examples": { + "DPSCreate": { + "$ref": "./examples/DPSCreate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to create or update." + }, + { + "name": "iotDpsDescription", + "in": "body", + "required": true, + "description": "Description of the provisioning service to create or update.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the provisioning service. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "PATCH" + ], + "summary": "Update an existing provisioning service's tags.", + "description": "Update an existing provisioning service's tags. to update other fields use the CreateOrUpdate method", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_Update", + "x-ms-examples": { + "DPSPatch": { + "$ref": "./examples/DPSPatch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to create or update." + }, + { + "name": "ProvisioningServiceTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the provisioning service instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Provisioning Service was successfully updated", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete the Provisioning Service", + "description": "Deletes the Provisioning Service.", + "x-ms-long-running-operation": true, + "operationId": "IotDpsResource_Delete", + "x-ms-examples": { + "DPSDelete": { + "$ref": "./examples/DPSDelete.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to delete." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "The provisioning service resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the provisioning service status directly, or query the operation resource." + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state." + }, + "204": { + "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the provisioning service metadata in the service and the status of the delete operation is set to a completed state." + }, + "404": { + "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the provisioning service metadata in the service." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates": { + "get": { + "tags": [ + "GET" + ], + "operationId": "DpsCertificate_List", + "description": "Get all the certificates tied to the provisioning service.", + "x-ms-examples": { + "DPSGetCertificates": { + "$ref": "./examples/DPSGetCertificates.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of resource group." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service to retrieve certificates for." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "List of certificate descriptions in a JSON-serialized array.", + "schema": { + "$ref": "#/definitions/CertificateListDescription" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the provisioning services in a subscription.", + "description": "List all the provisioning services for a given subscription id.", + "operationId": "IotDpsResource_ListBySubscription", + "x-ms-examples": { + "DPSListBySubscription": { + "$ref": "./examples/DPSListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the provisioning services in the subscription.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescriptionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotDpsResource_ListByResourceGroup", + "description": "Get a list of all provisioning services in the given resource group.", + "x-ms-examples": { + "DPSListByResourceGroup": { + "$ref": "./examples/DPSListByResourceGroup.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "List of provisioning services in the resource group.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescriptionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotDpsResource_GetOperationResult", + "description": "Gets the status of a long running operation, such as create, update or delete a provisioning service.", + "x-ms-examples": { + "DPSGetOperationResult": { + "$ref": "./examples/DPSGetOperationResult.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation id corresponding to long running operation. Use this to poll for the status." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service that the operation is running on." + }, + { + "name": "asyncinfo", + "in": "query", + "description": "Async header used to poll on the status of the operation, obtained while creating the long running operation.", + "required": true, + "type": "string", + "default": "true" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "The status of the long running operation.", + "schema": { + "$ref": "#/definitions/AsyncOperationResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the list of valid SKUs for a provisioning service.", + "description": "Gets the list of valid SKUs and tiers for a provisioning service.", + "operationId": "IotDpsResource_listValidSkus", + "x-ms-examples": { + "DPSGetValidSku": { + "$ref": "./examples/DPSGetValidSku.json" + } + }, + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of resource group." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this provisioning service.", + "schema": { + "$ref": "#/definitions/IotDpsSkuDefinitionListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode": { + "post": { + "tags": [ + "POST" + ], + "operationId": "DpsCertificate_GenerateVerificationCode", + "description": "Generate verification code for Proof of Possession.", + "x-ms-examples": { + "DPSGenerateVerificationCode": { + "$ref": "./examples/DPSGenerateVerificationCode.json" + } + }, + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "The mandatory logical name of the certificate, that the provisioning service uses to access." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "name of resource group." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of provisioning service." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "Common Name for the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data of certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "type": "string", + "description": "Description mentioning the purpose of the certificate.", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate creation time." + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate last updated time." + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Generated verification code for that certificate is returned.", + "schema": { + "$ref": "#/definitions/VerificationCodeResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify": { + "post": { + "tags": [ + "POST" + ], + "operationId": "DpsCertificate_VerifyCertificate", + "summary": "Verify certificate's private key possession.", + "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.", + "x-ms-examples": { + "DPSVerifyCertificate": { + "$ref": "./examples/DPSVerifyCertificate.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "description": "The mandatory logical name of the certificate, that the provisioning service uses to access." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the certificate." + }, + { + "name": "request", + "in": "body", + "required": true, + "description": "The name of the certificate", + "schema": { + "$ref": "#/definitions/VerificationCodeRequest" + } + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group name." + }, + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Provisioning service name." + }, + { + "name": "certificate.name", + "in": "query", + "required": false, + "type": "string", + "description": "Common Name for the certificate." + }, + { + "name": "certificate.rawBytes", + "in": "query", + "required": false, + "type": "string", + "format": "byte", + "description": "Raw data of certificate." + }, + { + "name": "certificate.isVerified", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate has been verified by owner of the private key." + }, + { + "name": "certificate.purpose", + "in": "query", + "required": false, + "description": "Describe the purpose of the certificate.", + "type": "string", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true + } + }, + { + "name": "certificate.created", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate creation time." + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "required": false, + "type": "string", + "format": "date-time", + "description": "Certificate last updated time." + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates if the certificate contains private key." + }, + { + "name": "certificate.nonce", + "in": "query", + "required": false, + "type": "string", + "description": "Random number generated to indicate Proof of Possession." + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability", + "x-ms-examples": { + "DPSCheckName": { + "$ref": "./examples/DPSCheckNameAvailability.json" + } + }, + "summary": "Check if a provisioning service name is available.", + "description": "Check if a provisioning service name is available. This will validate if the name is syntactically valid and if the name is usable", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "arguments", + "in": "body", + "required": true, + "description": "Set the name parameter in the OperationInputs structure to the name of the provisioning service to check.", + "schema": { + "$ref": "#/definitions/OperationInputs" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the provisioning service name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/NameAvailabilityInfo" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_ListKeys", + "x-ms-examples": { + "DPSListKeys": { + "$ref": "./examples/DPSListKeys.json" + } + }, + "summary": "Get the security metadata for a provisioning service.", + "description": "List the primary and secondary keys for a provisioning service.", + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The provisioning service name to get the shared access keys for." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "resource group name" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the provisioning service endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotDpsResource_ListKeysForKeyName", + "x-ms-examples": { + "DPSGetKey": { + "$ref": "./examples/DPSGetKey.json" + } + }, + "summary": "Get a shared access policy by name from a provisioning service.", + "description": "List primary and secondary keys for a specific key name", + "parameters": [ + { + "name": "provisioningServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the provisioning service." + }, + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "description": "Logical key name to get key-values for." + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the provisioning service.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more provisioning service endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private link resources", + "description": "List private link resources for the given provisioning service", + "operationId": "IotDpsResource_ListPrivateLinkResources", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/DPSListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private link resources", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the specified private link resource", + "description": "Get the specified private link resource for the given provisioning service", + "operationId": "IotDpsResource_GetPrivateLinkResources", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/DPSGetPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/groupId" + } + ], + "responses": { + "200": { + "description": "The body contains the specified of private link resource", + "schema": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private endpoint connections", + "description": "List private endpoint connection properties", + "operationId": "IotDpsResource_ListPrivateEndpointConnections", + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/DPSListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionsList" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get private endpoint connection", + "description": "Get private endpoint connection properties", + "operationId": "IotDpsResource_GetPrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_Get": { + "$ref": "./examples/DPSGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The body contains the private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Create or update private endpoint connection", + "description": "Create or update the status of a private endpoint connection with the specified name", + "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/DPSCreateOrUpdatePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection with updated properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the update operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete private endpoint connection", + "description": "Delete private endpoint connection with the specified name", + "operationId": "IotDpsResource_DeletePrivateEndpointConnection", + "x-ms-examples": { + "PrivateEndpointConnection_Delete": { + "$ref": "./examples/DPSDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "PrivateEndpoint does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "AsyncOperationResult": { + "type": "object", + "description": "Result of a long running operation.", + "properties": { + "status": { + "description": "current status of a long running operation.", + "type": "string" + }, + "error": { + "description": "Error message containing code, description and details", + "$ref": "#/definitions/ErrorMesssage" + } + } + }, + "ErrorMesssage": { + "description": "Error response containing message and code.", + "type": "object", + "properties": { + "code": { + "description": "standard error code", + "type": "string" + }, + "message": { + "description": "standard error description", + "type": "string" + }, + "details": { + "description": "detailed summary of error", + "type": "string" + } + } + }, + "CertificateListDescription": { + "description": "The JSON-serialized array of Certificate objects.", + "type": "object", + "properties": { + "value": { + "description": "The array of Certificate objects.", + "type": "array", + "items": { + "$ref": "#/definitions/CertificateResponse" + } + } + } + }, + "CertificateBodyDescription": { + "description": "The JSON-serialized X509 Certificate.", + "type": "object", + "properties": { + "certificate": { + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateResponse": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "description": "properties of a certificate", + "$ref": "#/definitions/CertificateProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "CertificateProperties": { + "description": "The description of an X509 CA Certificate.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's creation date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + } + } + }, + "IotDpsSkuInfo": { + "type": "object", + "description": "List of possible provisioning service SKUs.", + "properties": { + "name": { + "description": "Sku name.", + "enum": [ + "S1" + ], + "type": "string", + "x-ms-enum": { + "name": "IotDpsSku", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "Pricing tier name of the provisioning service." + }, + "capacity": { + "format": "int64", + "type": "integer", + "description": "The number of units to provision" + } + } + }, + "ProvisioningServiceDescription": { + "description": "The description of the provisioning service.", + "type": "object", + "properties": { + "etag": { + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.", + "type": "string" + }, + "properties": { + "description": "Service specific properties for a provisioning service", + "$ref": "#/definitions/IotDpsPropertiesDescription" + }, + "sku": { + "description": "Sku info for a provisioning Service.", + "$ref": "#/definitions/IotDpsSkuInfo" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku", + "properties" + ] + }, + "IotDpsPropertiesDescription": { + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope", + "type": "object", + "properties": { + "state": { + "description": "Current state of the provisioning service.", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "state", + "modelAsString": true + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ipFilterRules": { + "description": "The IP filter rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "privateEndpointConnections": { + "description": "Private endpoint connections created on this IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "The ARM provisioning state of the provisioning service.", + "type": "string" + }, + "iotHubs": { + "type": "array", + "description": "List of IoT hubs associated with this provisioning service.", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + "allocationPolicy": { + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ], + "type": "string", + "description": "Allocation policy to be used by this provisioning service.", + "x-ms-enum": { + "name": "AllocationPolicy", + "modelAsString": true + } + }, + "serviceOperationsHostName": { + "description": "Service endpoint for provisioning service.", + "type": "string", + "readOnly": true + }, + "deviceProvisioningHostName": { + "type": "string", + "description": "Device endpoint for this provisioning service.", + "readOnly": true + }, + "idScope": { + "type": "string", + "description": "Unique identifier of this provisioning service.", + "readOnly": true + }, + "authorizationPolicies": { + "description": "List of authorization keys for a provisioning service.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + } + } + }, + "IotHubDefinitionDescription": { + "type": "object", + "description": "Description of the IoT hub.", + "properties": { + "applyAllocationPolicy": { + "description": "flag for applying allocationPolicy or not for a given iot hub.", + "type": "boolean" + }, + "allocationWeight": { + "description": "weight to apply for a given iot h.", + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Host name of the IoT hub." + }, + "connectionString": { + "type": "string", + "description": "Connection string of the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ] + }, + "IpFilterRule": { + "description": "The IP filter rules for a provisioning Service.", + "type": "object", + "properties": { + "filterName": { + "description": "The name of the IP filter rule.", + "type": "string" + }, + "action": { + "description": "The desired action for requests captured by this rule.", + "enum": [ + "Accept", + "Reject" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterActionType", + "modelAsString": false + } + }, + "ipMask": { + "description": "A string that contains the IP address range in CIDR notation for the rule.", + "type": "string" + }, + "target": { + "description": "Target for requests captured by this rule.", + "enum": [ + "all", + "serviceApi", + "deviceApi" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterTargetType", + "modelAsString": false + } + } + }, + "required": [ + "filterName", + "action", + "ipMask" + ] + }, + "PrivateLinkResources": { + "description": "The available private link resources for a provisioning service", + "type": "object", + "properties": { + "value": { + "description": "The list of available private link resources for a provisioning service", + "type": "array", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + } + } + }, + "GroupIdInformation": { + "description": "The group information for creating a private endpoint on a provisioning service", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "description": "The properties for a group information object", + "$ref": "#/definitions/GroupIdInformationProperties" + } + }, + "required": [ + "properties" + ] + }, + "GroupIdInformationProperties": { + "description": "The properties for a group information object", + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id" + }, + "requiredMembers": { + "description": "The required members for a specific group id", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The required DNS zones for a specific group id", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateEndpointConnectionsList": { + "description": "The list of private endpoint connections for a provisioning service", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "PrivateEndpointConnection": { + "description": "The private endpoint connection of a provisioning service", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "description": "The properties of a private endpoint connection", + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + }, + "required": [ + "properties" + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection", + "type": "object", + "properties": { + "privateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "type": "object", + "properties": { + "status": { + "description": "The status of a private endpoint connection", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + } + }, + "required": [ + "status", + "description" + ] + }, + "SharedAccessSignatureAuthorizationRule[AccessRightsDescription]": { + "type": "object", + "description": "Description of the shared access key.", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + }, + "rights": { + "description": "Rights that this key has.", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessRightsDescription", + "modelAsString": true + } + } + }, + "required": [ + "keyName", + "rights" + ] + }, + "Resource": { + "description": "The common properties of an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "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." + } + }, + "x-ms-azure-resource": true, + "required": [ + "location" + ] + }, + "OperationListResult": { + "description": "Result of the request to list provisioning service operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "Provisioning service operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "Provisioning Service REST API operation.", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft Devices." + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: ProvisioningServices." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation." + } + } + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true + } + } + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "type": "object", + "description": "List of shared access keys.", + "properties": { + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotDpsSkuDefinitionListResult": { + "type": "object", + "description": "List of available SKUs.", + "properties": { + "value": { + "description": "The list of SKUs", + "type": "array", + "items": { + "$ref": "#/definitions/IotDpsSkuDefinition" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotDpsSkuDefinition": { + "type": "object", + "description": "Available SKUs of tier and units.", + "properties": { + "name": { + "description": "Sku name.", + "enum": [ + "S1" + ], + "type": "string", + "x-ms-enum": { + "name": "IotDpsSku", + "modelAsString": true + } + } + } + }, + "OperationInputs": { + "description": "Input values for operation results call.", + "type": "object", + "properties": { + "name": { + "description": "The name of the Provisioning Service to check.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "NameAvailabilityInfo": { + "type": "object", + "description": "Description of name availability.", + "properties": { + "nameAvailable": { + "description": "specifies if a name is available or not", + "type": "boolean" + }, + "reason": { + "description": "specifies the reason a name is unavailable", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "NameUnavailabilityReason", + "modelAsString": true + } + }, + "message": { + "description": "message containing a detailed reason name is unavailable", + "type": "string" + } + } + }, + "TagsResource": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a Provisioning Service instance." + }, + "ProvisioningServiceDescriptionListResult": { + "type": "object", + "description": "List of provisioning service descriptions.", + "properties": { + "value": { + "description": "List of provisioning service descriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "nextLink": { + "description": "the next link", + "type": "string", + "readOnly": true + } + } + }, + "VerificationCodeResponse": { + "type": "object", + "description": "Description of the response of the verification code.", + "properties": { + "name": { + "type": "string", + "description": "Name of certificate.", + "readOnly": true + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "Request etag." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "type": "object", + "properties": { + "verificationCode": { + "type": "string", + "description": "Verification code." + }, + "subject": { + "type": "string", + "description": "Certificate subject." + }, + "expiry": { + "type": "string", + "description": "Code expiry." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + }, + "isVerified": { + "type": "boolean", + "description": "Indicate if the certificate is verified by owner of private key." + }, + "created": { + "type": "string", + "description": "Certificate created time." + }, + "updated": { + "type": "string", + "description": "Certificate updated time." + } + } + } + }, + "x-ms-azure-resource": true + }, + "VerificationCodeRequest": { + "type": "object", + "description": "The JSON-serialized leaf certificate", + "properties": { + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string" + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the API.", + "required": true, + "type": "string" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the provisioning service.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the provisioning service.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "groupId": { + "name": "groupId", + "in": "path", + "description": "The name of the private link resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/deviceprovisioningservices/resource-manager/readme.azureresourceschema.md b/specification/deviceprovisioningservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6e5d5657731e --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-devices-2020-01-01 + - tag: schema-devices-2018-01-22 + - tag: schema-devices-2017-11-15 + - tag: schema-devices-2017-08-21-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devices-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-01-01/iotdps.json + +``` + +### Tag: schema-devices-2018-01-22 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2018-01-22' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2018-01-22/iotdps.json + +``` + +### Tag: schema-devices-2017-11-15 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2017-11-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2017-11-15/iotdps.json + +``` + +### Tag: schema-devices-2017-08-21-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2017-08-21-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2017-08-21-preview/iotdps.json + +``` diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md index 9d6a860f4177..02fbc7964bbe 100644 --- a/specification/deviceprovisioningservices/resource-manager/readme.md +++ b/specification/deviceprovisioningservices/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Device Provisioning Services. - - --- + ## Getting Started + To build the SDK for DeviceProvisioningServices, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,16 +15,36 @@ To build the SDK for DeviceProvisioningServices, simply [Install AutoRest](https To see additional help and options, run: > `autorest --help` + --- ## Configuration ### Basic Information + These are the global settings for the API. ``` yaml openapi-type: arm -tag: package-2018-01 +tag: package-preview-2020-09 +``` + + +### Tag: package-preview-2020-09 + +These settings apply only when `--tag=package-preview-2020-09` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-09' +input-file: + - Microsoft.Devices/preview/2020-09-01-preview/iotdps.json +``` +### Tag: package-2020-03 + +These settings apply only when `--tag=package-2020-03` is specified on the command line. + +``` yaml $(tag) == 'package-2020-03' +input-file: + - Microsoft.Devices/stable/2020-03-01/iotdps.json ``` ### Tag: package-2017-08 @@ -64,8 +84,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -80,9 +100,11 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js deviceprovisioningservices/resource-manager ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -113,11 +135,13 @@ python: package-name: azure-mgmt-iothubprovisioningservices clear-output-folder: true ``` + ``` yaml $(python) && $(python-mode) == 'update' python: no-namespace-folders: true output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothubprovisioningservices/azure/mgmt/iothubprovisioningservices ``` + ``` yaml $(python) && $(python-mode) == 'create' python: basic-setup-py: true @@ -190,9 +214,11 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -## Multi-API/Profile support for AutoRest v3 generators +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -211,11 +237,10 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/devops/resource-manager/readme.azureresourceschema.md b/specification/devops/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..f9ba7f8d1279 --- /dev/null +++ b/specification/devops/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-devops-2019-07-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devops-2019-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devops-2019-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevOps/preview/2019-07-01-preview/devops.json + +``` diff --git a/specification/devops/resource-manager/readme.md b/specification/devops/resource-manager/readme.md index bf7b56068c9c..619f05952d10 100644 --- a/specification/devops/resource-manager/readme.md +++ b/specification/devops/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_devops'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js devops/resource-manager ``` ## Go @@ -81,6 +84,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/devspaces/resource-manager/readme.azureresourceschema.md b/specification/devspaces/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..30adf4995497 --- /dev/null +++ b/specification/devspaces/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-devspaces-2019-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devspaces-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devspaces-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevSpaces/stable/2019-04-01/devspaces.json + +``` diff --git a/specification/devspaces/resource-manager/readme.md b/specification/devspaces/resource-manager/readme.md index 9bd342062655..35a8bf01c518 100644 --- a/specification/devspaces/resource-manager/readme.md +++ b/specification/devspaces/resource-manager/readme.md @@ -55,6 +55,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js devspaces/resource-manager ``` ## C# @@ -111,6 +114,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/devtestlabs/resource-manager/readme.azureresourceschema.md b/specification/devtestlabs/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..aac574024db7 --- /dev/null +++ b/specification/devtestlabs/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-devtestlab-2018-09-15 + - tag: schema-devtestlab-2016-05-15 + - tag: schema-devtestlab-2015-05-21-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devtestlab-2018-09-15 and azureresourceschema + +``` yaml $(tag) == 'schema-devtestlab-2018-09-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevTestLab/stable/2018-09-15/DTL.json + +``` + +### Tag: schema-devtestlab-2016-05-15 and azureresourceschema + +``` yaml $(tag) == 'schema-devtestlab-2016-05-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevTestLab/stable/2016-05-15/DTL.json + +``` + +### Tag: schema-devtestlab-2015-05-21-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devtestlab-2015-05-21-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DevTestLab/preview/2015-05-21-preview/DTL.json + +``` diff --git a/specification/devtestlabs/resource-manager/readme.md b/specification/devtestlabs/resource-manager/readme.md index 1e4ac41bae02..c125824d8e57 100644 --- a/specification/devtestlabs/resource-manager/readme.md +++ b/specification/devtestlabs/resource-manager/readme.md @@ -78,6 +78,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_devtestlabs'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js devtestlabs/resource-manager ``` @@ -130,6 +133,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json index b17bda728464..fe035fde82aa 100644 --- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json @@ -48,7 +48,7 @@ } ], "responses": { - "200": { + "201": { "description": "Success", "schema": { "$ref": "#/definitions/NonPagedModelDataCollection" diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json index b376ddb14860..b8b2b44eace4 100644 --- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json +++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json @@ -31,7 +31,7 @@ "api-version": "2020-05-31-preview" }, "responses": { - "200": { + "201": { "body": [ { "id": "dtmi:com:example:Sample;1", diff --git a/specification/digitaltwins/data-plane/readme.md b/specification/digitaltwins/data-plane/readme.md index f39f368708dd..c5a96a455705 100644 --- a/specification/digitaltwins/data-plane/readme.md +++ b/specification/digitaltwins/data-plane/readme.md @@ -77,3 +77,28 @@ See configuration in [readme.typescript.md](./readme.typescript.md) ## CSharp See configuration in [readme.csharp.md](./readme.csharp.md) + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json + +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + diff --git a/specification/digitaltwins/resource-manager/readme.azureresourceschema.md b/specification/digitaltwins/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..32aca0b9a388 --- /dev/null +++ b/specification/digitaltwins/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-digitaltwins-2020-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-digitaltwins-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-digitaltwins-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.json + +``` diff --git a/specification/digitaltwins/resource-manager/readme.java.md b/specification/digitaltwins/resource-manager/readme.java.md new file mode 100644 index 000000000000..14298c23e4ee --- /dev/null +++ b/specification/digitaltwins/resource-manager/readme.java.md @@ -0,0 +1,33 @@ +## Java + +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.digitaltwins +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-digitaltwins +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-03-01-preview +``` + +### Tag: package-2020-03-01-preview and java + +These settings apply only when `--tag=package-2020-03-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-03-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.digitaltwins.v2020_03_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/digitaltwins/mgmt-v2020_03_01_preview +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/digitaltwins/resource-manager/readme.md b/specification/digitaltwins/resource-manager/readme.md index 7e6c12494037..16f8921d5221 100644 --- a/specification/digitaltwins/resource-manager/readme.md +++ b/specification/digitaltwins/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_digitaltwins'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js digitaltwins/resource-manager ``` ## Go @@ -78,6 +81,14 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## Java + +See configuration in [readme.java.md](./readme.java.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/digitaltwins/resource-manager/readme.typescript.md b/specification/digitaltwins/resource-manager/readme.typescript.md index 3154decaf68e..f47cbf0161ed 100644 --- a/specification/digitaltwins/resource-manager/readme.typescript.md +++ b/specification/digitaltwins/resource-manager/readme.typescript.md @@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder=`. + +### Tag: schema-delegatednetwork-2020-08-08-preview and azureresourceschema + +``` yaml $(tag) == 'schema-delegatednetwork-2020-08-08-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DelegatedNetwork/preview/2020-08-08-preview/DelegatedNetwork.json + +``` diff --git a/specification/dnc/resource-manager/readme.go.md b/specification/dnc/resource-manager/readme.go.md new file mode 100644 index 000000000000..971e71d00cb0 --- /dev/null +++ b/specification/dnc/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true + namespace: delegatednetwork +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-08-08-preview +``` + +### Tag: package-2020-08-08-preview and go + +These settings apply only when `--tag=package-2020-08-08-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-08-08-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-08-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/dnc/resource-manager/readme.md b/specification/dnc/resource-manager/readme.md new file mode 100644 index 000000000000..15b1f9550c12 --- /dev/null +++ b/specification/dnc/resource-manager/readme.md @@ -0,0 +1,141 @@ +# DelegatedNetwork + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for DelegatedNetwork. + + + +--- +## Getting Started +To build the SDK for DelegatedNetwork, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + + +### Basic Information +These are the global settings for the DelegatedNetwork API. + +``` yaml +openapi-type: arm +tag: package-2020-08-08-preview +``` + + +### Tag: package-2020-08-08-preview + +These settings apply only when `--tag=package-2020-08-08-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-08-preview' +input-file: +- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/DelegatedNetwork.json +``` + +--- +# Code Generation + + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js +``` + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.DelegatedNetwork + output-folder: $(csharp-sdks-folder)/DelegatedNetwork/Microsoft.Azure.Management.DelegatedNetwork/src/Generated + clear-output-folder: true +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +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.DelegatedNetwork +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-DelegatedNetwork +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-08-08-preview +``` + +### Tag: package-2020-08-08-preview and java + +These settings apply only when `--tag=package-2020-08-08-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08-08-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.DelegatedNetwork.2020-08-08-preview + output-folder: $(azure-libraries-for-java-folder)/sdk/DelegatedNetwork/mgmt-2020-08-08-preview +regenerate-manager: true +generate-interface: true +``` + +## Python + +See configuration in [readme.python.md](./readme.python.md) + + + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/DelegatedNetwork.json + +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + diff --git a/specification/dns/resource-manager/readme.azureresourceschema.md b/specification/dns/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..743edd736482 --- /dev/null +++ b/specification/dns/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,84 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2018-05-01 + - tag: schema-network-2018-03-01-preview + - tag: schema-network-2017-10-01 + - tag: schema-network-2017-09-01 + - tag: schema-network-2016-04-01 + - tag: schema-network-2015-05-04-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-05-01/dns.json + +``` + +### Tag: schema-network-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2018-03-01-preview/dns.json + +``` + +### Tag: schema-network-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-10-01/dns.json + +``` + +### Tag: schema-network-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-09-01/dns.json + +``` + +### Tag: schema-network-2016-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-04-01/dns.json + +``` + +### Tag: schema-network-2015-05-04-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2015-05-04-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2015-05-04-preview/dns.json + +``` diff --git a/specification/dns/resource-manager/readme.md b/specification/dns/resource-manager/readme.md index 60903e790fef..ff5240e3224f 100644 --- a/specification/dns/resource-manager/readme.md +++ b/specification/dns/resource-manager/readme.md @@ -160,6 +160,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_dns'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js dns/resource-manager ``` ## Go @@ -224,6 +227,10 @@ input-file: - Microsoft.Network/stable/2016-04-01/dns.json ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json new file mode 100644 index 000000000000..6e5aec2db2c5 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1", + "containerAccount": { + "accountName": "AccountName1", + "spn": "Spn1", + "password": "Password1" + } + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json new file mode 100644 index 000000000000..11b98fc2c715 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful." + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed." + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json new file mode 100644 index 000000000000..c6f150bbe889 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json new file mode 100644 index 000000000000..2842071473a8 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "value": [ + { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer2", + "name": "OuContainer.com/OuContainer2", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer2", + "accounts": [ + { + "accountName": "AccountName3", + "spn": "Spn3" + }, + { + "accountName": "AccountName4", + "spn": "Spn4" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json new file mode 100644 index 000000000000..bc23efd4cf82 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2017-06-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1", + "containerAccount": { + "accountName": "AccountName1", + "spn": "Spn1", + "password": "Password1" + } + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json new file mode 100644 index 000000000000..6a2aed422bab --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json @@ -0,0 +1,603 @@ +{ + "swagger": "2.0", + "info": { + "title": "Domain Services Resource Provider", + "description": "The AAD Domain Services API.", + "version": "2017-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Aad/operations": { + "get": { + "tags": [ + "OuContainer" + ], + "description": "Lists all the available OuContainer operations.", + "operationId": "OuContainerOperations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + } + } + }, + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer": { + "get": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_List", + "summary": "List of OuContainers in DomainService instance", + "description": "The List of OuContainers in DomainService instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainerListResult" + } + } + }, + "x-ms-examples": { + "List of OuContainers": { + "$ref": "./examples/ListOuContainers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer/{ouContainerName}": { + "get": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Get", + "summary": "Get particular OuContainer in DomainService instance", + "description": "Get OuContainer in DomainService instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-examples": { + "List of OuContainers": { + "$ref": "./examples/GetOuContainer.json" + } + } + }, + "put": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Create", + "summary": "Create OuContainer", + "description": "The Create OuContainer operation creates a new OuContainer under the specified Domain Service instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + }, + { + "name": "containerAccount", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerAccount" + }, + "description": "Container Account Description." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation completed successfully.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Domain Service": { + "$ref": "./examples/CreateOuContainer.json" + } + } + }, + "delete": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Delete", + "summary": "Delete OuContainer", + "description": "The Delete OuContainer operation deletes specified OuContainer.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful." + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete OuContainer": { + "$ref": "./examples/DeleteOuContainer.json" + } + } + }, + "patch": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Update", + "summary": "Update OuContainer (PATCH Resource)", + "description": "The Update OuContainer operation can be used to update the existing OuContainers.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + }, + { + "name": "containerAccount", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerAccount" + }, + "description": "Container Account Description." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Domain Service": { + "$ref": "./examples/UpdateOuContainer.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "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", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "etag": { + "type": "string", + "description": "Resource etag" + } + }, + "x-ms-azure-resource": true + }, + "OuContainerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OuContainer" + }, + "description": "The list of OuContainer." + }, + "nextLink": { + "type": "string", + "description": "The continuation token for the next page of results.", + "readOnly": true + } + }, + "description": "The response from the List OuContainer operation." + }, + "OuContainer": { + "description": "Resource for OuContainer.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OuContainerProperties", + "description": "OuContainer properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "OuContainerProperties": { + "description": "Properties of the OuContainer.", + "properties": { + "tenantId": { + "readOnly": true, + "type": "string", + "description": "Azure Active Directory tenant id" + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "The domain name of Domain Services." + }, + "deploymentId": { + "readOnly": true, + "type": "string", + "description": "The Deployment id" + }, + "containerId": { + "readOnly": true, + "type": "string", + "description": "The OuContainer name" + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAccount", + "description": "Container Account" + }, + "description": "The list of container accounts" + }, + "serviceStatus": { + "readOnly": true, + "type": "string", + "description": "Status of OuContainer instance" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + } + } + }, + "ContainerAccount": { + "description": "Container Account Description", + "properties": { + "accountName": { + "type": "string", + "description": "The account name" + }, + "spn": { + "type": "string", + "description": "The account spn" + }, + "password": { + "type": "string", + "description": "The account password" + } + } + }, + "OperationEntityListResult": { + "description": "The list of domain service operation response.", + "type": "object", + "properties": { + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + }, + "nextLink": { + "type": "string", + "description": "The continuation token for the next page of results.", + "readOnly": true + } + } + }, + "OperationEntity": { + "description": "The operation supported by Domain Services.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Domain Services." + }, + "origin": { + "description": "The origin of the operation.", + "type": "string" + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by Domain Services.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Domain Services.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "description": "An error response from the Domain Services.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Domain Services." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Domain Services." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "DomainServiceNameParameter": { + "name": "domainServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the domain service.", + "x-ms-parameter-location": "method" + }, + "OuContainerNameParameter": { + "name": "ouContainerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the OuContainer.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json new file mode 100644 index 000000000000..0f5651845b81 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1", + "containerAccount": { + "accountName": "AccountName1", + "spn": "Spn1", + "password": "Password1" + } + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json new file mode 100644 index 000000000000..ab7dec2f11de --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful." + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed." + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json new file mode 100644 index 000000000000..90b57878c52d --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json new file mode 100644 index 000000000000..0153c95e3fed --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com" + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "value": [ + { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer2", + "name": "OuContainer.com/OuContainer2", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer2", + "accounts": [ + { + "accountName": "AccountName3", + "spn": "Spn3" + }, + { + "accountName": "AccountName4", + "spn": "Spn4" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json new file mode 100644 index 000000000000..5849aa98e585 --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d", + "resourceGroupName": "OuContainerResourceGroup", + "domainServiceName": "OuContainer.com", + "ouContainerName": "OuContainer1", + "containerAccount": { + "accountName": "AccountName1", + "spn": "Spn1", + "password": "Password1" + } + }, + "responses": { + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "body": { + "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1", + "name": "OuContainer.com/OuContainer1", + "type": "Microsoft.AAD/DomainServices/OuContainer", + "location": "westus", + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def", + "domainName": "OuContainer.com", + "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B", + "containerId": "OuContainer1", + "accounts": [ + { + "accountName": "AccountName1", + "spn": "Spn1" + }, + { + "accountName": "AccountName2", + "spn": "Spn2" + } + ], + "serviceStatus": "Running", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json new file mode 100644 index 000000000000..84bf755c076f --- /dev/null +++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json @@ -0,0 +1,603 @@ +{ + "swagger": "2.0", + "info": { + "title": "Domain Services Resource Provider", + "description": "The AAD Domain Services API.", + "version": "2020-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Aad/operations": { + "get": { + "tags": [ + "OuContainer" + ], + "description": "Lists all the available OuContainer operations.", + "operationId": "OuContainerOperations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + } + } + }, + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer": { + "get": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_List", + "summary": "List of OuContainers in DomainService instance", + "description": "The List of OuContainers in DomainService instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainerListResult" + } + } + }, + "x-ms-examples": { + "List of OuContainers": { + "$ref": "./examples/ListOuContainers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer/{ouContainerName}": { + "get": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Get", + "summary": "Get particular OuContainer in DomainService instance", + "description": "Get OuContainer in DomainService instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-examples": { + "List of OuContainers": { + "$ref": "./examples/GetOuContainer.json" + } + } + }, + "put": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Create", + "summary": "Create OuContainer", + "description": "The Create OuContainer operation creates a new OuContainer under the specified Domain Service instance.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + }, + { + "name": "containerAccount", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerAccount" + }, + "description": "Container Account Description." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "201": { + "description": "HTTP 201 (Created) if the operation completed successfully.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Domain Service": { + "$ref": "./examples/CreateOuContainer.json" + } + } + }, + "delete": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Delete", + "summary": "Delete OuContainer", + "description": "The Delete OuContainer operation deletes specified OuContainer.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful." + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete OuContainer": { + "$ref": "./examples/DeleteOuContainer.json" + } + } + }, + "patch": { + "tags": [ + "OuContainer" + ], + "operationId": "OuContainer_Update", + "summary": "Update OuContainer (PATCH Resource)", + "description": "The Update OuContainer operation can be used to update the existing OuContainers.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DomainServiceNameParameter" + }, + { + "$ref": "#/parameters/OuContainerNameParameter" + }, + { + "name": "containerAccount", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerAccount" + }, + "description": "Container Account Description." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "HTTP 200 (OK) if the operation was successful.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/OuContainer" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update Domain Service": { + "$ref": "./examples/UpdateOuContainer.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "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", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "etag": { + "type": "string", + "description": "Resource etag" + } + }, + "x-ms-azure-resource": true + }, + "OuContainerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OuContainer" + }, + "description": "The list of OuContainer." + }, + "nextLink": { + "type": "string", + "description": "The continuation token for the next page of results.", + "readOnly": true + } + }, + "description": "The response from the List OuContainer operation." + }, + "OuContainer": { + "description": "Resource for OuContainer.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OuContainerProperties", + "description": "OuContainer properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "OuContainerProperties": { + "description": "Properties of the OuContainer.", + "properties": { + "tenantId": { + "readOnly": true, + "type": "string", + "description": "Azure Active Directory tenant id" + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "The domain name of Domain Services." + }, + "deploymentId": { + "readOnly": true, + "type": "string", + "description": "The Deployment id" + }, + "containerId": { + "readOnly": true, + "type": "string", + "description": "The OuContainer name" + }, + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAccount", + "description": "Container Account" + }, + "description": "The list of container accounts" + }, + "serviceStatus": { + "readOnly": true, + "type": "string", + "description": "Status of OuContainer instance" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + } + } + }, + "ContainerAccount": { + "description": "Container Account Description", + "properties": { + "accountName": { + "type": "string", + "description": "The account name" + }, + "spn": { + "type": "string", + "description": "The account spn" + }, + "password": { + "type": "string", + "description": "The account password" + } + } + }, + "OperationEntityListResult": { + "description": "The list of domain service operation response.", + "type": "object", + "properties": { + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + }, + "nextLink": { + "type": "string", + "description": "The continuation token for the next page of results.", + "readOnly": true + } + } + }, + "OperationEntity": { + "description": "The operation supported by Domain Services.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Domain Services." + }, + "origin": { + "description": "The origin of the operation.", + "type": "string" + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by Domain Services.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Domain Services.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "description": "An error response from the Domain Services.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Domain Services." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Domain Services." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "DomainServiceNameParameter": { + "name": "domainServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the domain service.", + "x-ms-parameter-location": "method" + }, + "OuContainerNameParameter": { + "name": "ouContainerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the OuContainer.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/domainservices/resource-manager/readme.azureresourceschema.md b/specification/domainservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..24b8ecacf69b --- /dev/null +++ b/specification/domainservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,50 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-aad-2020-01-01 + - tag: schema-aad-2017-06-01 + - tag: schema-aad-2017-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-aad-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-aad-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AAD/stable/2020-01-01/domainservices.json + - Microsoft.AAD/stable/2020-01-01/oucontainer.json + +``` + +### Tag: schema-aad-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-aad-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AAD/stable/2017-06-01/domainservices.json + - Microsoft.AAD/stable/2017-06-01/oucontainer.json + +``` + +### Tag: schema-aad-2017-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-aad-2017-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AAD/stable/2017-01-01/domainservices.json + +``` diff --git a/specification/domainservices/resource-manager/readme.md b/specification/domainservices/resource-manager/readme.md index a3c8ec8ccf18..02f34c0c5577 100644 --- a/specification/domainservices/resource-manager/readme.md +++ b/specification/domainservices/resource-manager/readme.md @@ -1,167 +1,169 @@ -# DomainServices - -> see https://aka.ms/autorest - -This is the AutoRest configuration file for DomainServices. - - - ---- -## Getting Started -To build the SDK for DomainServices, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: - -> `autorest` - -To see additional help and options, run: - -> `autorest --help` ---- - -## Configuration - - - -### Basic Information -These are the global settings for the DomainServices API. - -``` yaml -openapi-type: arm -tag: package-2017-06 -``` - -### Tag: package-2020-01 - -These settings apply only when `--tag=package-2020-01` is specified on the command line. - -``` yaml $(tag) == 'package-2020-01' -input-file: -- Microsoft.AAD/stable/2020-01-01/domainservices.json -``` - -### Tag: package-2017-06 - -These settings apply only when `--tag=package-2017-06` is specified on the command line. - -``` yaml $(tag) == 'package-2017-06' -input-file: -- Microsoft.AAD/stable/2017-06-01/domainservices.json -``` - -### Tag: package-2017-01 - -These settings apply only when `--tag=package-2017-01` is specified on the command line. - -``` yaml $(tag) == 'package-2017-01' -input-file: -- Microsoft.AAD/stable/2017-01-01/domainservices.json -``` - ---- -# Code Generation - - -## Swagger to SDK - -This section describes what SDK should be generated by the automatic system. -This is not used by Autorest itself. - -``` yaml $(swagger-to-sdk) -swagger-to-sdk: - - repo: azure-sdk-for-net - - repo: azure-sdk-for-go - - repo: azure-sdk-for-js - - repo: azure-sdk-for-node -``` - -## C# - -These settings apply only when `--csharp` is specified on the command line. -Please also specify `--csharp-sdks-folder=`. - -``` yaml $(csharp) -csharp: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - namespace: Microsoft.Azure.Management.DomainServices - payload-flattening-threshold: 2 - output-folder: $(csharp-sdks-folder)/domainservices/Microsoft.Azure.Management.DomainServices/src/Generated - clear-output-folder: true -``` - -## Go - -See configuration in [readme.go.md](./readme.go.md) - -## Java - -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.domainservices -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-domainservices -``` - -### Java multi-api - -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2020-01 - - tag: package-2017-06 - - tag: package-2017-01 -``` - -### Tag: package-2020-01 and java - -These settings apply only when `--tag=package-2020-01 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2020-01' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.domainservices.v2020_01_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2020_01_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2017-06 and java - -These settings apply only when `--tag=package-2017-06 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2017-06' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.domainservices.v2017_06_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_06_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2017-01 and java - -These settings apply only when `--tag=package-2017-01 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. - -``` yaml $(tag) == 'package-2017-01' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.domainservices.v2017_01_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_01_01 -regenerate-manager: true -generate-interface: true -``` - - - -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - +# DomainServices + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for DomainServices. + + + +--- +## Getting Started +To build the SDK for DomainServices, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + + +### Basic Information +These are the global settings for the DomainServices API. + +``` yaml +openapi-type: arm +tag: package-2017-06 +``` + +### Tag: package-2020-01 + +These settings apply only when `--tag=package-2020-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-01' +input-file: +- Microsoft.AAD/stable/2020-01-01/domainservices.json +- Microsoft.AAD/stable/2020-01-01/oucontainer.json +``` + +### Tag: package-2017-06 + +These settings apply only when `--tag=package-2017-06` is specified on the command line. + +``` yaml $(tag) == 'package-2017-06' +input-file: +- Microsoft.AAD/stable/2017-06-01/domainservices.json +- Microsoft.AAD/stable/2017-06-01/oucontainer.json +``` + +### Tag: package-2017-01 + +These settings apply only when `--tag=package-2017-01` is specified on the command line. + +``` yaml $(tag) == 'package-2017-01' +input-file: +- Microsoft.AAD/stable/2017-01-01/domainservices.json +``` + +--- +# Code Generation + + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-node +``` + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.DomainServices + payload-flattening-threshold: 2 + output-folder: $(csharp-sdks-folder)/domainservices/Microsoft.Azure.Management.DomainServices/src/Generated + clear-output-folder: true +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +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.domainservices +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-domainservices +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-01 + - tag: package-2017-06 + - tag: package-2017-01 +``` + +### Tag: package-2020-01 and java + +These settings apply only when `--tag=package-2020-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.domainservices.v2020_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2020_01_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2017-06 and java + +These settings apply only when `--tag=package-2017-06 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2017-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.domainservices.v2017_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_06_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2017-01 and java + +These settings apply only when `--tag=package-2017-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2017-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.domainservices.v2017_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_01_01 +regenerate-manager: true +generate-interface: true +``` + + + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + ``` yaml $(tag) == 'all-api-versions' /* autogenerated */ # include the azure profile definitions from the standard location require: $(this-folder)/../../../profiles/readme.md @@ -169,16 +171,18 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - $(this-folder)/Microsoft.AAD/stable/2020-01-01/domainservices.json + - $(this-folder)/Microsoft.AAD/stable/2020-01-01/oucontainer.json - $(this-folder)/Microsoft.AAD/stable/2017-06-01/domainservices.json + - $(this-folder)/Microsoft.AAD/stable/2017-06-01/oucontainer.json - $(this-folder)/Microsoft.AAD/stable/2017-01-01/domainservices.json -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` - +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + diff --git a/specification/engagementfabric/resource-manager/readme.azureresourceschema.md b/specification/engagementfabric/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..29aa52048494 --- /dev/null +++ b/specification/engagementfabric/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-engagementfabric-2018-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-engagementfabric-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-engagementfabric-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EngagementFabric/preview/2018-09-01/EngagementFabric.json + +``` diff --git a/specification/engagementfabric/resource-manager/readme.md b/specification/engagementfabric/resource-manager/readme.md index 728d6321e9fd..887f9e1a092f 100644 --- a/specification/engagementfabric/resource-manager/readme.md +++ b/specification/engagementfabric/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_engagement_fabric'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js engagementfabric/resource-manager ``` @@ -124,6 +127,10 @@ payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-engagementfabric ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json index b49ea347e927..acd30d40cc77 100644 --- a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json +++ b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json @@ -312,6 +312,40 @@ "type": "number" } } + }, + "KeyVaultVaultAccessPolicyChangedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an VaultAccessPolicyChanged event.", + "type": "object", + "properties": { + "id": { + "description": "The id of the object that triggered this event.", + "type": "string" + }, + "vaultName": { + "description": "Key vault name of the object that triggered this event.", + "type": "string" + }, + "objectType": { + "description": "The type of the object that triggered this event", + "type": "string" + }, + "objectName": { + "description": "The name of the object that triggered this event", + "type": "string" + }, + "version": { + "description": "The version of the object that triggered this event", + "type": "string" + }, + "nbf": { + "description": "Not before date of the object that triggered this event", + "type": "number" + }, + "exp": { + "description": "The expiration date of the object that triggered this event", + "type": "number" + } + } } } } diff --git a/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json b/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json index a7cde63a4d63..19501d67be85 100644 --- a/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json +++ b/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json @@ -256,6 +256,45 @@ "type": "object" } } + }, + "StorageLifecyclePolicyCompletedEventData": { + "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.LifecyclePolicyCompleted event.", + "type": "object", + "properties": { + "scheduleTime": { + "description": "The time the policy task was scheduled.", + "type": "string" + }, + "deleteSummary": { + "$ref": "#/definitions/StorageLifecyclePolicyActionSummaryDetail" + }, + "tierToCoolSummary": { + "$ref": "#/definitions/StorageLifecyclePolicyActionSummaryDetail" + }, + "tierToArchiveSummary": { + "$ref": "#/definitions/StorageLifecyclePolicyActionSummaryDetail" + } + } + }, + "StorageLifecyclePolicyActionSummaryDetail": { + "description": "Execution statistics of a specific policy action in a Blob Management cycle.", + "type": "object", + "properties": { + "totalObjectsCount": { + "description": "Total number of objects to be acted on by this action.", + "type": "integer", + "format": "int64" + }, + "successCount": { + "description": "Number of success operations of this action.", + "type": "integer", + "format": "int64" + }, + "errorList": { + "description": "Error messages of this action if any.", + "type": "string" + } + } } } } diff --git a/specification/eventgrid/resource-manager/readme.azureresourceschema.md b/specification/eventgrid/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..5afb66e43cbe --- /dev/null +++ b/specification/eventgrid/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,144 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-eventgrid-2020-06-01 + - tag: schema-eventgrid-2020-04-01-preview + - tag: schema-eventgrid-2020-01-01-preview + - tag: schema-eventgrid-2019-06-01 + - tag: schema-eventgrid-2019-02-01-preview + - tag: schema-eventgrid-2019-01-01 + - tag: schema-eventgrid-2018-09-15-preview + - tag: schema-eventgrid-2018-05-01-preview + - tag: schema-eventgrid-2018-01-01 + - tag: schema-eventgrid-2017-09-15-preview + - tag: schema-eventgrid-2017-06-15-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-eventgrid-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + +``` + +### Tag: schema-eventgrid-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2020-01-01-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/stable/2019-06-01/EventGrid.json + +``` + +### Tag: schema-eventgrid-2019-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2019-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2019-02-01-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/stable/2019-01-01/EventGrid.json + +``` + +### Tag: schema-eventgrid-2018-09-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2018-09-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2018-09-15-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2018-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2018-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2018-05-01-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/stable/2018-01-01/EventGrid.json + +``` + +### Tag: schema-eventgrid-2017-09-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2017-09-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2017-09-15-preview/EventGrid.json + +``` + +### Tag: schema-eventgrid-2017-06-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventgrid-2017-06-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventGrid/preview/2017-06-15-preview/EventGrid.json + +``` diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md index 85b509c238ed..e35224739683 100644 --- a/specification/eventgrid/resource-manager/readme.md +++ b/specification/eventgrid/resource-manager/readme.md @@ -173,6 +173,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_event_grid'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js eventgrid/resource-manager ``` ## C# @@ -198,6 +201,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json b/specification/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json deleted file mode 100644 index 195b5900769a..000000000000 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "swagger": "2.0", - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "info": { - "version": "2017-04-01", - "title": "Common types" - }, - "paths": {}, - "definitions": { - "TrackedResource": { - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "Resource location." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Definition of resource." - }, - "Resource": { - "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." - } - }, - "description": "The resource definition.", - "x-ms-azure-resource": true - }, - "ErrorResponse": { - "description": "Error response indicates Event Hub service is not able to process the incoming request. The reason is provided in the error message.", - "type": "object", - "properties": { - "code": { - "description": "Error code.", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Subscription credentials that uniquely identify a 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." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method", - "description": "Name of the resource group within the azure subscription." - }, - "NamespaceNameParameter": { - "name": "namespaceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 6, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The Namespace name" - }, - "EventHubNameParameter": { - "name": "eventHubName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The Event Hub name" - }, - "ConsumerGroupNameParameter": { - "name": "consumerGroupName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The consumer group name" - }, - "SkipParameter": { - "name": "$skip", - "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "TopParameter": { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N usageDetails.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "AuthorizationRuleNameParameter": { - "name": "authorizationRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The authorization rule name." - }, - "AliasNameParameter": { - "name": "alias", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The Disaster Recovery configuration name" - }, - "ClusterNameParameter": { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "minLength": 6, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The name of the Event Hubs Cluster." - }, - "IpFilterRuleNameParameter": { - "name": "ipFilterRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The IP Filter Rule name." - }, - "VirtualNetworkRuleNameParameter": { - "name": "virtualNetworkRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The Virtual Network Rule name." - }, - "SkuNameParameter": { - "name": "sku", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The sku type." - } - } -} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json index 4c22e44c12d0..74ec2f20ba61 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json @@ -48,10 +48,10 @@ "description": "List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -64,7 +64,7 @@ "default": { "description": "Error response describing why available clusters could not be successfully listed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json index 548a7852cd5f..9300b0e7a82a 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json @@ -48,13 +48,13 @@ "description": "Lists the available Event Hubs Clusters within an ARM resource group", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -67,7 +67,7 @@ "default": { "description": "Event Hub Cluster error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -90,16 +90,16 @@ "description": "Gets the resource description of the specified Event Hubs Cluster.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -112,7 +112,7 @@ "default": { "description": "Event Hubs Cluster error response describing why the cluster description get operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -130,13 +130,13 @@ "description": "Creates or updates an instance of an Event Hubs Cluster.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { "name": "parameters", @@ -151,7 +151,7 @@ "description": "Parameters for creating a eventhub cluster resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -173,7 +173,7 @@ "default": { "description": "Event Hubs error response detailing why the Event Hubs Cluster create or update operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -192,16 +192,16 @@ "description": "Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { "name": "parameters", @@ -232,7 +232,7 @@ "default": { "description": "Event Hubs error response detailing why the Event Hubs Cluster update operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -251,16 +251,16 @@ "description": "Deletes an existing Event Hubs Cluster. This operation is idempotent.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -276,7 +276,7 @@ "default": { "description": "Event Hubs error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -291,16 +291,16 @@ "operationId": "Clusters_ListNamespaces", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "description": "List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster.", @@ -319,7 +319,7 @@ "default": { "description": "Event Hubs Cluster error response detailing why this operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -362,7 +362,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Single Event Hubs Cluster resource in List or Get operations." diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json new file mode 100644 index 000000000000..c485ea28d9f8 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2018-01-01-preview", + "subscriptionId": "subID", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "parameters": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-8396/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-2847" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "testing" + }, + "provisioningState": "Succeeded" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json new file mode 100644 index 000000000000..68fd4f7ca8ae --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3285", + "resourceGroupName": "ArunMonocle", + "privateEndpointConnectionName": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "api-version": "2018-01-01-preview", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json new file mode 100644 index 000000000000..801342ade57b --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-EventHub-4794", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "api-version": "2018-01-01-preview", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json new file mode 100644 index 000000000000..4095c639f900 --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-EventHub-4794", + "api-version": "2018-01-01-preview", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-7182/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5705-new/privateEndpointConnections/5dc668b3-70e4-437f-b61c-a3c1e594be7a", + "name": "5dc668b3-70e4-437f-b61c-a3c1e594be7a", + "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-7182/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5705-new" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json new file mode 100644 index 000000000000..c71adb869dde --- /dev/null +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2018-01-01-preview", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/subID/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateLinkResources/namespace", + "name": "namespace", + "type": "Microsoft.EventHub/namespaces/privateLinkResources", + "properties": { + "groupId": "namespace", + "requiredMembers": [ + "namespace" + ], + "requiredZoneNames": [ + "privatelink.EventHub.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json index 7382364c2424..2ce68eb88f9f 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json @@ -48,16 +48,16 @@ "description": "Gets a list of IP Filter rules for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -70,7 +70,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -93,13 +93,13 @@ "description": "Creates or updates an IpFilterRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" }, { "name": "parameters", @@ -111,10 +111,10 @@ "description": "The Namespace IpFilterRule." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -127,7 +127,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -145,19 +145,19 @@ "description": "Deletes an IpFilterRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -170,7 +170,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -188,19 +188,19 @@ "description": "Gets an IpFilterRule for a Namespace by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -213,7 +213,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -252,7 +252,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in a List or Get IpFilterRules operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json index 0f2174cfb648..02608d7b5225 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json @@ -48,10 +48,10 @@ "description": "Lists all the available Namespaces within a subscription, irrespective of the resource groups.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -64,7 +64,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -87,13 +87,13 @@ "description": "Lists the available Namespaces within a resource group.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -106,7 +106,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -129,10 +129,10 @@ "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -147,10 +147,10 @@ "description": "Parameters for creating a namespace resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -172,7 +172,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -191,16 +191,16 @@ "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -216,7 +216,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -235,16 +235,16 @@ "description": "Gets the description of the specified namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -263,7 +263,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -281,10 +281,10 @@ "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -296,10 +296,10 @@ "description": "Parameters for updating a namespace resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -321,7 +321,259 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "NameSpaceCreate": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionList.json" + } + }, + "description": "Gets the available PrivateEndpointConnections within a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "PrivateEndpointConnections successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "EventHubEventHub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionCreate": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionCreate.json" + } + }, + "description": "Creates or updates PrivateEndpointConnections of service namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to update Status of PrivateEndPoint Connection to namespace resource." + } + ], + "responses": { + "200": { + "description": "Status of PrivateEndPoint Connection Created successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Request to update Status of PrivateEndPoint Connection accepted.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionDelete": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionDelete.json" + } + }, + "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Private Endpoint Connection successfully deleted." + }, + "202": { + "description": "Private Endpoint Connection delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionGet": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionGet.json" + } + }, + "description": "Gets a description for the specified Private Endpoint Connection name.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private Endpoint Connection successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateLinkResources": { + "get": { + "tags": [ + "Namespaces PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "NameSpacePrivateLinkResourcesGet": { + "$ref": "./examples/NameSpaces/PrivateLinkResourcesGet.json" + } + }, + "description": "Gets lists of resources that supports Privatelinks.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private Link resource List", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Eventhub error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -418,7 +670,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Single Namespace item in List or Get Operation" @@ -534,6 +786,159 @@ } }, "description": "Properties to configure keyVault Properties" + }, + "PrivateEndpointConnection": { + "description": "Properties of the PrivateEndpointConnection.", + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of the private endpoint connection resource.", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The Private Endpoint resource for this Connection." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/ConnectionState", + "description": "Details about the state of the connection." + }, + "provisioningState": { + "description": "Provisioning state of the Private Endpoint Connection.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "EndPointProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "PrivateEndpoint information.", + "properties": { + "id": { + "description": "The ARM identifier for Private Endpoint.", + "type": "string" + } + } + }, + "ConnectionState": { + "description": "ConnectionState information.", + "properties": { + "status": { + "description": "Status of the connection.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Description of the connection state.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "Result of the list of all private endpoint connections operation.", + "properties": { + "value": { + "description": "A collection of private endpoint connection resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "A link for the next page of private endpoint connection resources.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "Information of the private link resource.", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Properties of the private link resource.", + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string" + }, + "name": { + "description": "Name of the resource", + "type": "string" + }, + "type": { + "description": "Type of the resource", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "description": "Properties of PrivateLinkResource", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requiredMembers": { + "type": "array", + "description": "The private link resource required member names.", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "description": "The private link resource Private link DNS zone name.", + "items": { + "type": "string" + } + } + } + }, + "PrivateLinkResourcesListResult": { + "description": "Result of the List private link resources operation.", + "properties": { + "value": { + "description": "A collection of private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "A link for the next page of private link resources.", + "type": "string" + } + } } }, "parameters": {} diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json index ec6f1f0a20c5..8d3a1c5da7b5 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json @@ -48,16 +48,16 @@ "description": "Create or update NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -79,7 +79,7 @@ "default": { "description": "ServiceBus error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -97,16 +97,16 @@ "description": "Gets NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -119,7 +119,7 @@ "default": { "description": "ServiceBus error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -177,6 +177,10 @@ "description": "NetworkRuleSet properties", "x-ms-client-flatten": true, "properties": { + "trustedServiceAccessEnabled": { + "type": "boolean", + "description": "Value that indicates whether Trusted Service Access is Enabled or not." + }, "defaultAction": { "type": "string", "description": "Default Action for Network Rule Set", @@ -208,7 +212,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Description of topic resource." diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json index 38b1a7b797f1..62e20b653170 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json @@ -48,7 +48,7 @@ "description": "Lists all of the available Event Hub REST API operations.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -61,7 +61,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json index bbadf4caec7d..4ad879168429 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json @@ -42,16 +42,16 @@ "operationId": "Configuration_Patch", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { "name": "parameters", @@ -91,7 +91,7 @@ "default": { "description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -103,16 +103,16 @@ "operationId": "Configuration_Get", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "x-ms-examples": { @@ -131,7 +131,7 @@ "default": { "description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json index fc417f5a93f5..e4936125742c 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json @@ -48,16 +48,16 @@ "description": "Gets a list of VirtualNetwork rules for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -70,7 +70,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -93,19 +93,19 @@ "description": "Creates or updates an VirtualNetworkRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -127,7 +127,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -145,19 +145,19 @@ "description": "Deletes an VirtualNetworkRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -170,7 +170,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -188,19 +188,19 @@ "description": "Gets an VirtualNetworkRule for a Namespace by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -213,7 +213,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -236,7 +236,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in a List or Get VirtualNetworkRules operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json index 28d3422cedb3..b738f5d8b82e 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json @@ -48,16 +48,16 @@ "description": "Gets a list of authorization rules for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -70,7 +70,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -93,13 +93,13 @@ "description": "Creates or updates an AuthorizationRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { "name": "parameters", @@ -111,10 +111,10 @@ "description": "The shared access AuthorizationRule." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -127,7 +127,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -145,19 +145,19 @@ "description": "Deletes an AuthorizationRule for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -170,7 +170,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -188,19 +188,19 @@ "description": "Gets an AuthorizationRule for a Namespace by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -213,7 +213,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -233,19 +233,19 @@ "description": "Gets the primary and secondary connection strings for the Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -258,7 +258,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -278,13 +278,13 @@ "description": "Regenerates the primary or secondary connection strings for the specified Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { "name": "parameters", @@ -296,10 +296,10 @@ "description": "Parameters required to regenerate the connection string." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -312,7 +312,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -332,19 +332,19 @@ "description": "Gets a list of authorization rules for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -357,7 +357,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -380,22 +380,22 @@ "description": "Gets an AuthorizationRule for a Namespace by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -408,7 +408,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -428,22 +428,22 @@ "description": "Gets the primary and secondary connection strings for the Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -456,7 +456,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -476,19 +476,19 @@ "description": "Gets the authorization rules for an Event Hub.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -501,7 +501,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -524,16 +524,16 @@ "description": "Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule will take a few seconds to take effect.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { "name": "parameters", @@ -545,10 +545,10 @@ "description": "The shared access AuthorizationRule." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -561,7 +561,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -579,22 +579,22 @@ "description": "Gets an AuthorizationRule for an Event Hub by rule name.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -607,7 +607,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -625,22 +625,22 @@ "description": "Deletes an Event Hub AuthorizationRule.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -653,7 +653,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -673,22 +673,22 @@ "description": "Gets the ACS and SAS connection strings for the Event Hub.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -701,7 +701,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -721,16 +721,16 @@ "description": "Regenerates the ACS and SAS connection strings for the Event Hub.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" }, { "name": "parameters", @@ -742,10 +742,10 @@ "description": "Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey)." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -758,7 +758,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -812,7 +812,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in a List or Get AuthorizationRule operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json index d8b451acdd39..6ca247347f90 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json @@ -48,10 +48,10 @@ "description": "Check the give Namespace name availability.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -73,7 +73,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json index 3f9cf49a0dec..b74f5c4d0881 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json @@ -48,16 +48,16 @@ "description": "Creates or updates an Event Hubs consumer group as a nested resource within a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" }, { "name": "parameters", @@ -69,10 +69,10 @@ "description": "Parameters supplied to create or update a consumer group resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -85,7 +85,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -103,22 +103,22 @@ "description": "Deletes a consumer group from the specified Event Hub and resource group.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -131,7 +131,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -149,22 +149,22 @@ "description": "Gets a description for the specified consumer group.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -177,7 +177,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -197,25 +197,25 @@ "description": "Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in the Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SkipParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/TopParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" } ], "responses": { @@ -228,7 +228,7 @@ "default": { "description": "Eventhub error response describing why the operation failed", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -266,7 +266,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in List or Get Consumer group operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json index 68c26c6f4bba..9b32c93c837a 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json @@ -48,16 +48,16 @@ "description": "Check the give Namespace name availability.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -79,7 +79,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -99,16 +99,16 @@ "description": "Gets all Alias(Disaster Recovery configurations)", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -121,7 +121,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -144,13 +144,13 @@ "description": "Creates or updates a new Alias(Disaster Recovery configuration)", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { "name": "parameters", @@ -162,10 +162,10 @@ "description": "Parameters required to create an Alias(Disaster Recovery configuration)" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -181,7 +181,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -199,19 +199,19 @@ "description": "Deletes an Alias(Disaster Recovery configuration)", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -221,7 +221,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -239,19 +239,19 @@ "description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -264,7 +264,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -284,19 +284,19 @@ "description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -306,7 +306,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -326,19 +326,19 @@ "description": "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -348,7 +348,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -455,7 +455,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json index 7018d4b01cf6..6a0c933a21cf 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json @@ -48,22 +48,22 @@ "description": "Gets all the Event Hubs in a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SkipParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/TopParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" } ], "responses": { @@ -76,7 +76,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -99,13 +99,13 @@ "description": "Creates or updates a new Event Hub as a nested resource within a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { "name": "parameters", @@ -117,10 +117,10 @@ "description": "Parameters supplied to create an Event Hub resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -133,7 +133,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -151,19 +151,19 @@ "description": "Deletes an Event Hub from the specified Namespace and resource group.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -176,7 +176,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -194,19 +194,19 @@ "description": "Gets an Event Hubs description for the specified Event Hub.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -219,7 +219,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -336,7 +336,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Single item in List or Get Event Hub operation" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json index b58303be6651..455dbbeea42f 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json @@ -48,10 +48,10 @@ "description": "Lists all the available Namespaces within a subscription, irrespective of the resource groups.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -64,7 +64,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -87,13 +87,13 @@ "description": "Lists the available Namespaces within a resource group.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -106,7 +106,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -129,10 +129,10 @@ "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -147,10 +147,10 @@ "description": "Parameters for creating a namespace resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -172,7 +172,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -191,16 +191,16 @@ "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -216,7 +216,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -235,16 +235,16 @@ "description": "Gets the description of the specified namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -263,7 +263,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -281,10 +281,10 @@ "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { "name": "parameters", @@ -296,10 +296,10 @@ "description": "Parameters for updating a namespace resource." }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -321,7 +321,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -341,16 +341,16 @@ "description": "Gets messaging plan for specified namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -363,7 +363,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -484,7 +484,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Single Namespace item in List or Get Operation" @@ -523,7 +523,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Messaging Plan for the namespace" diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json index edb72a67288c..ce564ce00c3d 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json @@ -48,16 +48,16 @@ "description": "Create or update NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -79,7 +79,7 @@ "default": { "description": "EventHub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -97,16 +97,16 @@ "description": "Gets NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -119,7 +119,7 @@ "default": { "description": "EventHub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -139,16 +139,16 @@ "description": "Gets list of NetworkRuleSet for a Namespace.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -161,7 +161,7 @@ "default": { "description": "EventHub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -257,7 +257,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/Resource" + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" } ], "description": "Description of NetworkRuleSet resource." diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json index 967a75365837..3766fecc4d77 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json @@ -48,7 +48,7 @@ "description": "Lists all of the available Event Hub REST API operations.", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -61,7 +61,7 @@ "default": { "description": "Eventhub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json index 1d69a375178a..28e64afd14e3 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json @@ -51,13 +51,13 @@ "description": "Gets the available Regions for a given sku", "parameters": [ { - "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../common/v1/definitions.json#/parameters/SkuNameParameter" + "$ref": "../../../common/v1/definitions.json#/parameters/SkuNameParameter" } ], "responses": { @@ -70,7 +70,7 @@ "default": { "description": "EventHub error response describing why the operation failed.", "schema": { - "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -101,7 +101,7 @@ }, "allOf": [ { - "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" } ], "description": "Messaging Region" diff --git a/specification/eventhub/resource-manager/common/v1/definitions.json b/specification/eventhub/resource-manager/common/v1/definitions.json new file mode 100644 index 000000000000..780fed1348d1 --- /dev/null +++ b/specification/eventhub/resource-manager/common/v1/definitions.json @@ -0,0 +1,229 @@ +{ + "swagger": "2.0", + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "info": { + "version": "1.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "TrackedResource": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Definition of resource." + }, + "Resource": { + "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." + } + }, + "description": "The resource definition.", + "x-ms-azure-resource": true + }, + "ErrorResponse": { + "description": "Error response indicates Event Hub service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a 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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the resource group within the azure subscription." + }, + "NamespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Namespace name" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The PrivateEndpointConnection name" + }, + "EventHubNameParameter": { + "name": "eventHubName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method", + "description": "The Event Hub name" + }, + "ConsumerGroupNameParameter": { + "name": "consumerGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The consumer group name" + }, + "SkipParameter": { + "name": "$skip", + "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "AuthorizationRuleNameParameter": { + "name": "authorizationRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The authorization rule name." + }, + "AliasNameParameter": { + "name": "alias", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Disaster Recovery configuration name" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The name of the Event Hubs Cluster." + }, + "IpFilterRuleNameParameter": { + "name": "ipFilterRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The IP Filter Rule name." + }, + "VirtualNetworkRuleNameParameter": { + "name": "virtualNetworkRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The Virtual Network Rule name." + }, + "SkuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + } + } +} diff --git a/specification/eventhub/resource-manager/readme.azureresourceschema.md b/specification/eventhub/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3130b6b9875d --- /dev/null +++ b/specification/eventhub/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,74 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-eventhub-2018-01-01-preview + - tag: schema-eventhub-2017-04-01 + - tag: schema-eventhub-2015-08-01 + - tag: schema-eventhub-2014-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-eventhub-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-eventhub-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json + - Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json + +``` + +### Tag: schema-eventhub-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventhub-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json + - Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json + - Microsoft.EventHub/stable/2017-04-01/consumergroups.json + - Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json + - Microsoft.EventHub/stable/2017-04-01/eventhubs.json + - Microsoft.EventHub/stable/2017-04-01/namespaces.json + - Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json + - Microsoft.EventHub/stable/2017-04-01/operations.json + - Microsoft.EventHub/stable/2017-04-01/sku.json + +``` + +### Tag: schema-eventhub-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventhub-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventHub/stable/2015-08-01/EventHub.json + +``` + +### Tag: schema-eventhub-2014-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-eventhub-2014-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.EventHub/stable/2014-09-01/EventHub.json + +``` diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md index a8da92c7327c..b717c083c289 100644 --- a/specification/eventhub/resource-manager/readme.md +++ b/specification/eventhub/resource-manager/readme.md @@ -29,6 +29,13 @@ openapi-type: arm tag: package-2018-01-preview ``` +## Suppression + +``` yaml +directive: + - suppress: R4007 + reason: DefaultErrorResponseSchema - we will be Implementing in new API version +``` ### Tag: package-2017-04 @@ -114,6 +121,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_event_hub'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js eventhub/resource-manager ``` @@ -143,6 +153,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListManagedRuleSets.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListManagedRuleSets.json deleted file mode 100644 index b6ee1c3ee4db..000000000000 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListManagedRuleSets.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "parameters": { - "api-version": "2020-05-01", - "subscriptionId": "subid" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "DefaultRuleSet_1.0", - "id": "/subscriptions/subid/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets", - "type": "Microsoft.Network/frontdoorwebapplicationfirewallmanagedrulesets", - "properties": { - "provisioningState": "Succeeded", - "ruleSetId": "8125d145-ddc5-4d90-9bc3-24c5f2de69a2", - "ruleSetType": "DefaultRuleSet", - "ruleSetVersion": "1.0", - "ruleGroups": [ - { - "ruleGroupName": "SQLI", - "description": "SQL injection", - "rules": [ - { - "ruleId": "942100", - "description": "SQL Injection Attack Detected via libinjection", - "defaultState": "Enabled", - "defaultAction": "Block" - }, - { - "ruleId": "942110", - "description": "SQL Injection Attack: Common Injection Testing Detected", - "defaultState": "Enabled", - "defaultAction": "Block" - } - ] - }, - { - "ruleGroupName": "XSS", - "description": "Cross-site scripting", - "rules": [ - { - "ruleId": "941100", - "description": "XSS Attack Detected via libinjection", - "defaultState": "Enabled", - "defaultAction": "Block" - }, - { - "ruleId": "941101", - "description": "XSS Attack Detected via libinjection", - "defaultState": "Enabled", - "defaultAction": "Block" - }, - { - "ruleId": "941110", - "description": "XSS Filter - Category 1: Script Tag Vector", - "defaultState": "Enabled", - "defaultAction": "Block" - } - ] - } - ] - } - } - ] - } - } - } -} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json deleted file mode 100644 index 8617a12656df..000000000000 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "parameters": { - "api-version": "2020-05-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "Policy1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", - "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", - "tags": { - "key1": "value1", - "key2": "value2" - }, - "location": "WestUs", - "properties": { - "resourceState": "Enabled", - "provisioningState": "Succeeded", - "policySettings": { - "enabledState": "Enabled", - "mode": "Prevention", - "redirectUrl": "http://www.bing.com", - "customBlockResponseStatusCode": 499, - "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" - }, - "customRules": { - "rules": [ - { - "name": "Rule1", - "priority": 1, - "enabledState": "Enabled", - "ruleType": "RateLimitRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 1000, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "IPMatch", - "negateCondition": false, - "matchValue": [ - "192.168.1.0/24", - "10.0.0.0/24" - ], - "transforms": [] - } - ], - "action": "Block" - }, - { - "name": "Rule2", - "priority": 2, - "enabledState": "Enabled", - "ruleType": "MatchRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 0, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "GeoMatch", - "negateCondition": false, - "matchValue": [ - "CH" - ] - }, - { - "matchVariable": "RequestHeader", - "selector": "UserAgent", - "operator": "Contains", - "negateCondition": false, - "matchValue": [ - "windows" - ], - "transforms": [ - "Lowercase" - ] - } - ], - "action": "Block" - } - ] - }, - "managedRules": { - "managedRuleSets": [ - { - "ruleSetType": "DefaultRuleSet", - "ruleSetVersion": "1.0", - "exclusions": [ - { - "matchVariable": "RequestHeaderNames", - "selectorMatchOperator": "Equals", - "selector": "User-Agent" - } - ], - "ruleGroupOverrides": [ - { - "ruleGroupName": "SQLI", - "rules": [ - { - "ruleId": "942100", - "enabledState": "Enabled", - "action": "Redirect" - }, - { - "ruleId": "942110", - "enabledState": "Disabled" - } - ] - } - ] - } - ] - }, - "frontendEndpointLinks": [ - { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontdoors/fd1/frontendendpoints/fd1-azurefd-net" - } - ] - } - } - ] - } - } - } -} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json deleted file mode 100644 index f4c1a6c18373..000000000000 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json +++ /dev/null @@ -1,492 +0,0 @@ -{ - "parameters": { - "api-version": "2020-05-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1", - "policyName": "Policy1", - "parameters": { - "properties": { - "policySettings": { - "redirectUrl": "http://www.bing.com", - "customBlockResponseStatusCode": 499, - "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" - }, - "customRules": { - "rules": [ - { - "name": "Rule1", - "priority": 1, - "ruleType": "RateLimitRule", - "rateLimitThreshold": 1000, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "operator": "IPMatch", - "matchValue": [ - "192.168.1.0/24", - "10.0.0.0/24" - ] - } - ], - "action": "Block" - }, - { - "name": "Rule2", - "priority": 2, - "ruleType": "MatchRule", - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "operator": "GeoMatch", - "matchValue": [ - "CH" - ] - }, - { - "matchVariable": "RequestHeader", - "operator": "Contains", - "selector": "UserAgent", - "matchValue": [ - "windows" - ], - "transforms": [ - "Lowercase" - ] - } - ], - "action": "Block" - } - ] - }, - "managedRules": { - "managedRuleSets": [ - { - "ruleSetType": "DefaultRuleSet", - "ruleSetVersion": "1.0", - "exclusions": [ - { - "matchVariable": "RequestHeaderNames", - "selectorMatchOperator": "Equals", - "selector": "User-Agent" - } - ], - "ruleGroupOverrides": [ - { - "ruleGroupName": "SQLI", - "exclusions": [ - { - "matchVariable": "RequestCookieNames", - "selectorMatchOperator": "StartsWith", - "selector": "token" - } - ], - "rules": [ - { - "ruleId": "942100", - "enabledState": "Enabled", - "action": "Redirect", - "exclusions": [ - { - "matchVariable": "QueryStringArgNames", - "selectorMatchOperator": "Equals", - "selector": "query" - } - ] - }, - { - "ruleId": "942110", - "enabledState": "Disabled" - } - ] - } - ] - } - ] - } - } - } - }, - "responses": { - "200": { - "body": { - "name": "Policy1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", - "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", - "tags": { - "key1": "value1", - "key2": "value2" - }, - "location": "WestUs", - "properties": { - "resourceState": "Enabled", - "provisioningState": "Succeeded", - "policySettings": { - "enabledState": "Enabled", - "mode": "Prevention", - "redirectUrl": "http://www.bing.com", - "customBlockResponseStatusCode": 499, - "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" - }, - "customRules": { - "rules": [ - { - "name": "Rule1", - "priority": 1, - "enabledState": "Enabled", - "ruleType": "RateLimitRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 1000, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "IPMatch", - "negateCondition": false, - "matchValue": [ - "192.168.1.0/24", - "10.0.0.0/24" - ], - "transforms": [] - } - ], - "action": "Block" - }, - { - "name": "Rule2", - "priority": 2, - "enabledState": "Enabled", - "ruleType": "MatchRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 0, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "GeoMatch", - "negateCondition": false, - "matchValue": [ - "CH" - ] - }, - { - "matchVariable": "RequestHeader", - "selector": "UserAgent", - "operator": "Contains", - "negateCondition": false, - "matchValue": [ - "windows" - ], - "transforms": [ - "Lowercase" - ] - } - ], - "action": "Block" - } - ] - }, - "managedRules": { - "managedRuleSets": [ - { - "ruleSetType": "DefaultRuleSet", - "ruleSetVersion": "1.0", - "exclusions": [ - { - "matchVariable": "RequestHeaderNames", - "selectorMatchOperator": "Equals", - "selector": "User-Agent" - } - ], - "ruleGroupOverrides": [ - { - "ruleGroupName": "SQLI", - "exclusions": [ - { - "matchVariable": "RequestCookieNames", - "selectorMatchOperator": "StartsWith", - "selector": "token" - } - ], - "rules": [ - { - "ruleId": "942100", - "enabledState": "Enabled", - "action": "Redirect", - "exclusions": [ - { - "matchVariable": "QueryStringArgNames", - "selectorMatchOperator": "Equals", - "selector": "query" - } - ] - }, - { - "ruleId": "942110", - "enabledState": "Disabled" - } - ] - } - ] - } - ] - }, - "frontendEndpointLinks": [] - } - } - }, - "201": { - "body": { - "name": "Policy1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", - "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", - "tags": { - "key1": "value1", - "key2": "value2" - }, - "location": "WestUs", - "properties": { - "resourceState": "Enabled", - "provisioningState": "Succeeded", - "policySettings": { - "enabledState": "Enabled", - "mode": "Prevention", - "redirectUrl": "http://www.bing.com", - "customBlockResponseStatusCode": 499, - "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" - }, - "customRules": { - "rules": [ - { - "name": "Rule1", - "priority": 1, - "enabledState": "Enabled", - "ruleType": "RateLimitRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 1000, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "IPMatch", - "negateCondition": false, - "matchValue": [ - "192.168.1.0/24", - "10.0.0.0/24" - ], - "transforms": [] - } - ], - "action": "Block" - }, - { - "name": "Rule2", - "priority": 2, - "enabledState": "Enabled", - "ruleType": "MatchRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 0, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "GeoMatch", - "negateCondition": false, - "matchValue": [ - "CH" - ] - }, - { - "matchVariable": "RequestHeader", - "selector": "UserAgent", - "operator": "Contains", - "negateCondition": false, - "matchValue": [ - "windows" - ], - "transforms": [ - "Lowercase" - ] - } - ], - "action": "Block" - } - ] - }, - "managedRules": { - "managedRuleSets": [ - { - "ruleSetType": "DefaultRuleSet", - "ruleSetVersion": "1.0", - "exclusions": [ - { - "matchVariable": "RequestHeaderNames", - "selectorMatchOperator": "Equals", - "selector": "User-Agent" - } - ], - "ruleGroupOverrides": [ - { - "ruleGroupName": "SQLI", - "exclusions": [ - { - "matchVariable": "RequestCookieNames", - "selectorMatchOperator": "StartsWith", - "selector": "token" - } - ], - "rules": [ - { - "ruleId": "942100", - "enabledState": "Enabled", - "action": "Redirect", - "exclusions": [ - { - "matchVariable": "QueryStringArgNames", - "selectorMatchOperator": "Equals", - "selector": "query" - } - ] - }, - { - "ruleId": "942110", - "enabledState": "Disabled" - } - ] - } - ] - } - ] - }, - "frontendEndpointLinks": [] - } - } - }, - "202": { - "body": { - "name": "Policy1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", - "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", - "tags": { - "key1": "value1", - "key2": "value2" - }, - "location": "WestUs", - "properties": { - "resourceState": "Enabled", - "provisioningState": "Succeeded", - "policySettings": { - "enabledState": "Enabled", - "mode": "Prevention", - "redirectUrl": "http://www.bing.com", - "customBlockResponseStatusCode": 499, - "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" - }, - "customRules": { - "rules": [ - { - "name": "Rule1", - "priority": 1, - "enabledState": "Enabled", - "ruleType": "RateLimitRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 1000, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "IPMatch", - "negateCondition": false, - "matchValue": [ - "192.168.1.0/24", - "10.0.0.0/24" - ], - "transforms": [] - } - ], - "action": "Block" - }, - { - "name": "Rule2", - "priority": 2, - "enabledState": "Enabled", - "ruleType": "MatchRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 0, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "GeoMatch", - "negateCondition": false, - "matchValue": [ - "CH" - ] - }, - { - "matchVariable": "RequestHeader", - "selector": "UserAgent", - "operator": "Contains", - "negateCondition": false, - "matchValue": [ - "windows" - ], - "transforms": [ - "Lowercase" - ] - } - ], - "action": "Block" - } - ] - }, - "managedRules": { - "managedRuleSets": [ - { - "ruleSetType": "DefaultRuleSet", - "ruleSetVersion": "1.0", - "exclusions": [ - { - "matchVariable": "RequestHeaderNames", - "selectorMatchOperator": "Equals", - "selector": "User-Agent" - } - ], - "ruleGroupOverrides": [ - { - "ruleGroupName": "SQLI", - "exclusions": [ - { - "matchVariable": "RequestCookieNames", - "selectorMatchOperator": "StartsWith", - "selector": "token" - } - ], - "rules": [ - { - "ruleId": "942100", - "enabledState": "Enabled", - "action": "Redirect", - "exclusions": [ - { - "matchVariable": "QueryStringArgNames", - "selectorMatchOperator": "Equals", - "selector": "query" - } - ] - }, - { - "ruleId": "942110", - "enabledState": "Disabled" - } - ] - } - ] - } - ] - }, - "frontendEndpointLinks": [] - } - } - } - } -} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json deleted file mode 100644 index aef1b725a529..000000000000 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "parameters": { - "api-version": "2020-05-01", - "subscriptionId": "subid", - "resourceGroupName": "rg1", - "policyName": "Policy1" - }, - "responses": { - "200": { - "body": { - "name": "Policy1", - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1", - "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies", - "tags": { - "key1": "value1", - "key2": "value2" - }, - "location": "WestUs", - "properties": { - "resourceState": "Enabled", - "provisioningState": "Succeeded", - "policySettings": { - "enabledState": "Enabled", - "mode": "Prevention", - "redirectUrl": "http://www.bing.com", - "customBlockResponseStatusCode": 499, - "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" - }, - "customRules": { - "rules": [ - { - "name": "Rule1", - "priority": 1, - "enabledState": "Enabled", - "ruleType": "RateLimitRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 1000, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "IPMatch", - "negateCondition": false, - "matchValue": [ - "192.168.1.0/24", - "10.0.0.0/24" - ], - "transforms": [] - } - ], - "action": "Block" - }, - { - "name": "Rule2", - "priority": 2, - "enabledState": "Enabled", - "ruleType": "MatchRule", - "rateLimitDurationInMinutes": 0, - "rateLimitThreshold": 0, - "matchConditions": [ - { - "matchVariable": "RemoteAddr", - "selector": null, - "operator": "GeoMatch", - "negateCondition": false, - "matchValue": [ - "CH" - ] - }, - { - "matchVariable": "RequestHeader", - "selector": "UserAgent", - "operator": "Contains", - "negateCondition": false, - "matchValue": [ - "windows" - ], - "transforms": [ - "Lowercase" - ] - } - ], - "action": "Block" - } - ] - }, - "managedRules": { - "managedRuleSets": [ - { - "ruleSetType": "DefaultRuleSet", - "ruleSetVersion": "1.0", - "exclusions": [ - { - "matchVariable": "RequestHeaderNames", - "selectorMatchOperator": "Equals", - "selector": "User-Agent" - } - ], - "ruleGroupOverrides": [ - { - "ruleGroupName": "SQLI", - "rules": [ - { - "ruleId": "942100", - "enabledState": "Enabled", - "action": "Redirect" - }, - { - "ruleId": "942110", - "enabledState": "Disabled" - } - ] - } - ] - } - ] - }, - "frontendEndpointLinks": [ - { - "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontdoors/fd1/frontendendpoints/fd1-azurefd-net" - } - ] - } - } - } - } -} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json deleted file mode 100644 index e1deda8ac3cd..000000000000 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json +++ /dev/null @@ -1,902 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2020-05-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/frontDoorWebApplicationFirewallPolicies": { - "get": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Lists all of the protection policies within a resource group.", - "operationId": "Policies_List", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicyList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/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.Network/FrontDoorWebApplicationFirewallPolicies/{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": "./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": "#/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": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - }, - { - "description": "Policy to be created.", - "in": "body", - "name": "parameters", - "required": true, - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - } - } - ], - "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" - } - }, - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", - "schema": { - "$ref": "#/definitions/WebApplicationFirewallPolicy" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-examples": { - "Creates specific policy": { - "$ref": "./examples/WafPolicyCreateOrUpdate.json" - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "WebApplicationFirewallPolicies" - ], - "description": "Deletes Policy", - "operationId": "Policies_Delete", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/PolicyNameParameter" - }, - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./network.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Delete successful." - }, - "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." - } - }, - "x-ms-examples": { - "Delete protection policy": { - "$ref": "./examples/WafPolicyDelete.json" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets": { - "get": { - "tags": [ - "WebApplicationFirewallManagedRuleSets" - ], - "description": "Lists all available managed rule sets.", - "operationId": "ManagedRuleSets_List", - "parameters": [ - { - "$ref": "./network.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./network.json#/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": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List Policies in a Resource Group": { - "$ref": "./examples/WafListManagedRuleSets.json" - } - } - } - } - }, - "definitions": { - "WebApplicationFirewallPolicy": { - "description": "Defines web application firewall policy.", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Properties of the web application firewall policy.", - "$ref": "#/definitions/WebApplicationFirewallPolicyProperties" - }, - "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." - } - }, - "allOf": [ - { - "$ref": "./network.json#/definitions/Resource" - } - ] - }, - "WebApplicationFirewallPolicyProperties": { - "description": "Defines web application firewall policy properties.", - "properties": { - "policySettings": { - "description": "Describes settings for the policy.", - "$ref": "#/definitions/PolicySettings" - }, - "customRules": { - "description": "Describes custom rules inside the policy.", - "$ref": "#/definitions/CustomRuleList" - }, - "managedRules": { - "description": "Describes managed rules inside the policy.", - "$ref": "#/definitions/ManagedRuleSetList" - }, - "frontendEndpointLinks": { - "description": "Describes Frontend Endpoints associated with this Web Application Firewall policy.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/FrontendEndpointLink" - } - }, - "routingRuleLinks": { - "description": "Describes Routing Rules associated with this Web Application Firewall policy.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/RoutingRuleLink" - } - }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state of the policy." - }, - "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 - } - } - } - }, - "WebApplicationFirewallPolicyList": { - "description": "Defines a list of 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": { - "type": "string", - "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." - } - } - }, - "PolicySettings": { - "description": "Defines top-level WebApplicationFirewallPolicy configuration settings.", - "properties": { - "enabledState": { - "description": "Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified.", - "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 - } - }, - "redirectUrl": { - "description": "If action type is redirect, this field represents redirect URL for the client.", - "type": "string" - }, - "customBlockResponseStatusCode": { - "description": "If the action type is block, customer can override the response status code.", - "type": "integer" - }, - "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})$" - } - } - }, - "CustomRuleList": { - "description": "Defines contents of custom rules", - "properties": { - "rules": { - "description": "List of rules", - "type": "array", - "items": { - "$ref": "#/definitions/CustomRule" - } - } - } - }, - "CustomRule": { - "description": "Defines contents of a web application rule", - "required": [ - "priority", - "ruleType", - "matchConditions", - "action" - ], - "properties": { - "name": { - "type": "string", - "description": "Describes the name of the rule.", - "maxLength": 128 - }, - "priority": { - "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", - "type": "integer" - }, - "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 - } - }, - "ruleType": { - "description": "Describes type of rule.", - "type": "string", - "enum": [ - "MatchRule", - "RateLimitRule" - ], - "x-ms-enum": { - "name": "RuleType", - "modelAsString": true - } - }, - "rateLimitDurationInMinutes": { - "description": "Time window for resetting the rate limit count. Default is 1 minute.", - "type": "integer", - "minimum": 0, - "maximum": 5 - }, - "rateLimitThreshold": { - "description": "Number of allowed requests per client within the time window.", - "type": "integer", - "minimum": 0 - }, - "matchConditions": { - "description": "List of match conditions.", - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - "action": { - "description": "Describes what action to be applied when rule matches.", - "$ref": "#/definitions/ActionType" - } - } - }, - "TransformType": { - "description": "Describes what transforms applied before matching.", - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ], - "x-ms-enum": { - "name": "TransformType", - "modelAsString": true - } - }, - "MatchCondition": { - "description": "Define a match condition.", - "required": [ - "matchVariable", - "operator", - "matchValue" - ], - "properties": { - "matchVariable": { - "description": "Request variable to compare with.", - "type": "string", - "enum": [ - "RemoteAddr", - "RequestMethod", - "QueryString", - "PostArgs", - "RequestUri", - "RequestHeader", - "RequestBody", - "Cookies", - "SocketAddr" - ], - "x-ms-enum": { - "name": "MatchVariable", - "modelAsString": true - } - }, - "selector": { - "description": "Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null.", - "type": "string" - }, - "operator": { - "description": "Comparison type to use for matching with the variable value.", - "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" - } - } - } - }, - "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" - } - } - } - }, - "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" - }, - "exclusions": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleExclusion" - }, - "description": "Describes the exclusions that are applied to all rules in the set." - }, - "ruleGroupOverrides": { - "description": "Defines the rule group overrides to apply to the rule set.", - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleGroupOverride" - } - } - } - }, - "ManagedRuleGroupOverride": { - "description": "Defines a managed rule group override setting.", - "required": [ - "ruleGroupName" - ], - "properties": { - "ruleGroupName": { - "description": "Describes the managed rule group to override.", - "type": "string" - }, - "exclusions": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleExclusion" - }, - "description": "Describes the exclusions that are applied to all rules in the group." - }, - "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": { - "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.", - "$ref": "#/definitions/ManagedRuleEnabledState" - }, - "action": { - "description": "Describes the override action to be applied when rule matches.", - "$ref": "#/definitions/ActionType" - }, - "exclusions": { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleExclusion" - }, - "description": "Describes the exclusions that are applied to this specific rule." - } - } - }, - "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 the a managed rule set definition.", - "properties": { - "properties": { - "description": "Properties for a managed rule set definition.", - "x-ms-client-flatten": true, - "$ref": "#/definitions/ManagedRuleSetDefinitionProperties" - } - }, - "allOf": [ - { - "$ref": "./network.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." - }, - "ruleSetId": { - "type": "string", - "readOnly": true, - "description": "Id 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" - }, - "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" - }, - "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" - }, - "defaultState": { - "description": "Describes the default state for the managed rule.", - "readOnly": true, - "$ref": "#/definitions/ManagedRuleEnabledState" - }, - "defaultAction": { - "description": "Describes the default action to be applied when the managed rule matches.", - "readOnly": true, - "$ref": "#/definitions/ActionType" - }, - "description": { - "description": "Describes the functionality of the managed rule.", - "readOnly": true, - "type": "string" - } - } - }, - "ManagedRuleExclusion": { - "required": [ - "matchVariable", - "selectorMatchOperator", - "selector" - ], - "description": "Exclude variables from managed rule evaluation.", - "properties": { - "matchVariable": { - "type": "string", - "enum": [ - "RequestHeaderNames", - "RequestCookieNames", - "QueryStringArgNames", - "RequestBodyPostArgNames" - ], - "description": "The variable type to be excluded.", - "x-ms-enum": { - "name": "ManagedRuleExclusionMatchVariable", - "modelAsString": true - } - }, - "selectorMatchOperator": { - "type": "string", - "enum": [ - "Equals", - "Contains", - "StartsWith", - "EndsWith", - "EqualsAny" - ], - "description": "Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to.", - "x-ms-enum": { - "name": "ManagedRuleExclusionSelectorMatchOperator", - "modelAsString": true - } - }, - "selector": { - "type": "string", - "description": "Selector value for which elements in the collection this exclusion applies to." - } - } - }, - "ActionType": { - "description": "Defines the action to take on rule match.", - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ], - "x-ms-enum": { - "name": "ActionType", - "modelAsString": true - } - }, - "ManagedRuleEnabledState": { - "description": "Describes if the managed rule is in enabled or disabled state.", - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ], - "x-ms-enum": { - "name": "ManagedRuleEnabledState", - "modelAsString": true - } - }, - "ErrorResponse": { - "description": "Error response indicates Front Door 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" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "readOnly": true, - "type": "string" - } - } - }, - "FrontendEndpointLink": { - "description": "Defines the Resource ID for a Frontend Endpoint.", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - } - }, - "RoutingRuleLink": { - "description": "Defines the Resource ID for a Routing Rule.", - "type": "object", - "readOnly": true, - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - } - } - }, - "parameters": { - "PolicyNameParameter": { - "name": "policyName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 128, - "x-ms-parameter-location": "method", - "description": "The name of the Web Application Firewall Policy." - }, - "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/frontdoor/resource-manager/readme.azureresourceschema.md b/specification/frontdoor/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ced50d8c16cb --- /dev/null +++ b/specification/frontdoor/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,141 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2020-05-01 + - tag: schema-network-2020-04-01 + - tag: schema-network-2020-01-01 + - tag: schema-network-2019-11-01 + - tag: schema-network-2019-10-01 + - tag: schema-network-2019-05-01 + - tag: schema-network-2019-04-01 + - tag: schema-network-2019-03-01-preview + - tag: schema-network-2019-03-01 + - tag: schema-network-2018-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-05-01/network.json + - Microsoft.Network/stable/2020-05-01/frontdoor.json + +``` + +### Tag: schema-network-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json + - Microsoft.Network/stable/2020-04-01/network.json + - Microsoft.Network/stable/2020-04-01/frontdoor.json + +``` + +### Tag: schema-network-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-01-01/network.json + - Microsoft.Network/stable/2020-01-01/frontdoor.json + +``` + +### Tag: schema-network-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-11-01/networkexperiment.json + - Microsoft.Network/stable/2019-11-01/network.json + +``` + +### Tag: schema-network-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-05-01/frontdoor.json + - Microsoft.Network/stable/2019-05-01/network.json + +``` + +### Tag: schema-network-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-04-01/frontdoor.json + - Microsoft.Network/stable/2019-04-01/network.json + +``` + +### Tag: schema-network-2019-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2019-03-01-preview/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2018-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2018-08-01-preview/frontdoor.json + - Microsoft.Network/preview/2018-08-01-preview/network.json + - Microsoft.Network/preview/2018-08-01-preview/webapplicationfirewall.json + +``` diff --git a/specification/frontdoor/resource-manager/readme.md b/specification/frontdoor/resource-manager/readme.md index 4caa6148067b..ce0e0051fb2b 100644 --- a/specification/frontdoor/resource-manager/readme.md +++ b/specification/frontdoor/resource-manager/readme.md @@ -40,7 +40,7 @@ input-file: - Microsoft.Network/stable/2020-05-01/network.json - Microsoft.Network/stable/2019-11-01/networkexperiment.json - Microsoft.Network/stable/2020-05-01/frontdoor.json -- Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json +- Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json directive: - where: - $.paths @@ -199,6 +199,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js frontdoor/resource-manager ``` @@ -257,6 +260,10 @@ directive: reason: Direct copy of ValidateCustomDomain API in CDN Resource Provider. ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -272,10 +279,9 @@ input-file: - $(this-folder)/Microsoft.Network/stable/2020-05-01/network.json - $(this-folder)/Microsoft.Network/stable/2019-11-01/networkexperiment.json - $(this-folder)/Microsoft.Network/stable/2020-05-01/frontdoor.json - - $(this-folder)/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json + - $(this-folder)/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json - $(this-folder)/Microsoft.Network/stable/2020-04-01/network.json - $(this-folder)/Microsoft.Network/stable/2020-04-01/frontdoor.json - - $(this-folder)/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json - $(this-folder)/Microsoft.Network/stable/2020-01-01/network.json - $(this-folder)/Microsoft.Network/stable/2020-01-01/frontdoor.json - $(this-folder)/Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json new file mode 100644 index 000000000000..a76baeaef767 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "guestConfigurationAssignmentName": "WhitelistedApplication", + "api-version": "2020-06-25", + "parameters": { + "location": "westcentralus", + "name": "WhitelistedApplication", + "properties": { + "context": "Azure policy", + "guestConfiguration": { + "name": "WhitelistedApplication", + "version": "1.*", + "configurationParameter": [ + { + "name": "[InstalledApplication]bwhitelistedapp;Name", + "value": "NotePad,sql" + } + ], + "configurationSetting": { + "rebootIfNeeded": "False", + "actionAfterReboot": "ContinueConfiguration", + "configurationModeFrequencyMins": 15, + "configurationMode": "MonitorOnly" + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "location": "westcentralus", + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication", + "name": "WhitelistedApplication", + "properties": { + "complianceStatus": "Pending", + "assignmentHash": null, + "latestReportId": null, + "lastComplianceStatusChecked": null, + "context": "Azure policy", + "guestConfiguration": { + "kind": null, + "name": "WhitelistedApplication", + "version": "1.0.0.3", + "contentUri": null, + "contentHash": null, + "configurationParameter": [ + { + "name": "[InstalledApplication]bwhitelistedapp;Name", + "value": "NotePad,sql" + } + ], + "configurationSetting": { + "rebootIfNeeded": "False", + "actionAfterReboot": "ContinueConfiguration", + "configurationModeFrequencyMins": 15, + "configurationMode": "MonitorOnly" + } + }, + "provisioningState": "Succeeded" + } + } + }, + "200": { + "headers": {}, + "body": { + "location": "westcentralus", + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication", + "name": "WhitelistedApplication", + "properties": { + "complianceStatus": "Pending", + "assignmentHash": null, + "latestReportId": null, + "lastComplianceStatusChecked": null, + "context": "Azure policy", + "guestConfiguration": { + "kind": null, + "name": "WhitelistedApplication", + "version": "1.0.0.3", + "contentUri": null, + "contentHash": null, + "configurationParameter": [ + { + "name": "[InstalledApplication]bwhitelistedapp;Name", + "value": "NotePad,sql" + } + ], + "configurationSetting": { + "rebootIfNeeded": "False", + "actionAfterReboot": "ContinueConfiguration", + "configurationModeFrequencyMins": 15, + "configurationMode": "MonitorOnly" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json new file mode 100644 index 000000000000..bf76cff48d05 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "WhitelistedApplication", + "api-version": "2020-06-25", + "parameters": { + "location": "westcentralus", + "name": "WhitelistedApplication", + "properties": { + "context": "Azure policy", + "guestConfiguration": { + "name": "WhitelistedApplication", + "version": "1.*", + "configurationParameter": [ + { + "name": "[InstalledApplication]bwhitelistedapp;Name", + "value": "NotePad,sql" + } + ], + "configurationSetting": { + "rebootIfNeeded": "False", + "actionAfterReboot": "ContinueConfiguration", + "configurationModeFrequencyMins": 15, + "configurationMode": "MonitorOnly" + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "location": "westcentralus", + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/HybridRP.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication", + "name": "WhitelistedApplication", + "properties": { + "complianceStatus": "Pending", + "assignmentHash": "abcdr453g", + "latestReportId": "a2a64e5d-a1a9-4344-a866-fb9e1541f723", + "lastComplianceStatusChecked": null, + "context": "Azure policy", + "guestConfiguration": { + "kind": null, + "name": "WhitelistedApplication", + "version": "1.0.0.3", + "contentUri": null, + "contentHash": null, + "configurationParameter": [ + { + "name": "[InstalledApplication]bwhitelistedapp;Name", + "value": "NotePad,sql" + } + ], + "configurationSetting": { + "rebootIfNeeded": "False", + "actionAfterReboot": "ContinueConfiguration", + "configurationModeFrequencyMins": 15, + "configurationMode": "MonitorOnly" + } + }, + "provisioningState": "Succeeded" + } + } + }, + "200": { + "headers": {}, + "body": { + "location": "westcentralus", + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/HybridRP.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication", + "name": "WhitelistedApplication", + "properties": { + "complianceStatus": "Pending", + "assignmentHash": "abcdr453g", + "latestReportId": "a2a64e5d-a1a9-4344-a866-fb9e1541f723", + "lastComplianceStatusChecked": null, + "context": "Azure policy", + "guestConfiguration": { + "kind": null, + "name": "WhitelistedApplication", + "version": "1.0.0.3", + "contentUri": null, + "contentHash": null, + "configurationParameter": [ + { + "name": "[InstalledApplication]bwhitelistedapp;Name", + "value": "NotePad,sql" + } + ], + "configurationSetting": { + "rebootIfNeeded": "False", + "actionAfterReboot": "ContinueConfiguration", + "configurationModeFrequencyMins": 15, + "configurationMode": "MonitorOnly" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationAssignment.json new file mode 100644 index 000000000000..c1b7a57adf30 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationAssignment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "guestConfigurationAssignmentName": "SecureProtocol", + "api-version": "2020-06-25" + }, + "responses": { + "200": {} + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationHCRPAssignment.json new file mode 100644 index 000000000000..28efd05339c9 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationHCRPAssignment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "SecureProtocol", + "api-version": "2020-06-25" + }, + "responses": { + "200": {} + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignment.json new file mode 100644 index 000000000000..697d834134c5 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignment.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "guestConfigurationAssignmentName": "SecureProtocol", + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "location": "centraluseuap", + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol", + "name": "AuditSecureProtocol", + "properties": { + "complianceStatus": "Compliant", + "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855", + "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "lastComplianceStatusChecked": "2018-08-29T22:14:13Z", + "context": null, + "guestConfiguration": { + "kind": null, + "name": "AuditSecureProtocol", + "version": "1.0.0.3", + "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip", + "contentHash": "content hash", + "configurationParameter": [], + "configurationSetting": null + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignmentReportById.json new file mode 100644 index 000000000000..73ad3b873bb8 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignmentReportById.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionid", + "resourceGroupName": "myResourceGroupName", + "vmName": "myvm", + "guestConfigurationAssignmentName": "AuditSecureProtocol", + "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "properties": { + "complianceStatus": "Compliant", + "assignment": { + "name": "AuditSecureProtocol", + "configuration": { + "name": "AuditSecureProtocol", + "version": "1.0.0.0" + } + }, + "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "vm": { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm", + "uuid": "vmuuid" + }, + "details": { + "complianceStatus": "Compliant", + "startTime": "2018-08-29T22:13:53Z", + "endTime": "2018-08-29T22:14:13Z", + "jobId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "resources": [ + { + "complianceStatus": "Compliant", + "reasons": [ + { + "phrase": "Operation successful.", + "code": "DSC::RESOURCE::SUCCESS" + } + ], + "properties": { + "ConfigurationName": "IsWebServerSecure", + "DependsOn": null, + "IsSingleInstance": "Yes", + "ModuleName": "SecureProtocolWebServer", + "ModuleVersion": "1.0.0.3", + "Protocols": [ + { + "Ensure": "Absent", + "Protocol": "SSL 2.0" + }, + { + "Ensure": "Absent", + "Protocol": "SSL 3.0" + }, + { + "Ensure": "Absent", + "Protocol": "TLS 1.0" + }, + { + "Ensure": "Absent", + "Protocol": "PCT 1.0" + }, + { + "Ensure": "Absent", + "Protocol": "Multi-Protocol Unified Hello" + }, + { + "Ensure": "Absent", + "Protocol": "TLS 1.1" + }, + { + "Ensure": "Absent", + "Protocol": "TLS 1.2" + } + ], + "PsDscRunAsCredential": null, + "Reasons": null, + "ResourceId": "[SecureWebServer]s1", + "SourceInfo": null + } + } + ], + "operationType": "Consistency" + }, + "startTime": "2018-08-29T22:13:53Z", + "endTime": "2018-08-29T22:14:13Z" + } + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignment.json new file mode 100644 index 000000000000..39d2e06d8ff4 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignment.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "SecureProtocol", + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "location": "centraluseuap", + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol", + "name": "AuditSecureProtocol", + "properties": { + "complianceStatus": "Compliant", + "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855", + "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "lastComplianceStatusChecked": "2018-08-29T22:14:13Z", + "context": null, + "guestConfiguration": { + "kind": null, + "name": "AuditSecureProtocol", + "version": "1.0.0.3", + "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip", + "contentHash": "content hash", + "configurationParameter": [], + "configurationSetting": null + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignmentReportById.json new file mode 100644 index 000000000000..6a3a9bfe81ae --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignmentReportById.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionid", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "AuditSecureProtocol", + "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "properties": { + "complianceStatus": "Compliant", + "assignment": { + "name": "AuditSecureProtocol", + "configuration": { + "name": "AuditSecureProtocol", + "version": "1.0.0.0" + } + }, + "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "vm": { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName", + "uuid": "vmuuid" + }, + "details": { + "complianceStatus": "Compliant", + "startTime": "2018-08-29T22:13:53Z", + "endTime": "2018-08-29T22:14:13Z", + "jobId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "resources": [ + { + "complianceStatus": "Compliant", + "reasons": [ + { + "phrase": "Operation successful.", + "code": "DSC::RESOURCE::SUCCESS" + } + ], + "properties": { + "ConfigurationName": "IsWebServerSecure", + "DependsOn": null, + "IsSingleInstance": "Yes", + "ModuleName": "SecureProtocolWebServer", + "ModuleVersion": "1.0.0.3", + "Protocols": [ + { + "Ensure": "Absent", + "Protocol": "SSL 2.0" + }, + { + "Ensure": "Absent", + "Protocol": "SSL 3.0" + }, + { + "Ensure": "Absent", + "Protocol": "TLS 1.0" + }, + { + "Ensure": "Absent", + "Protocol": "PCT 1.0" + }, + { + "Ensure": "Absent", + "Protocol": "Multi-Protocol Unified Hello" + }, + { + "Ensure": "Absent", + "Protocol": "TLS 1.1" + }, + { + "Ensure": "Absent", + "Protocol": "TLS 1.2" + } + ], + "PsDscRunAsCredential": null, + "Reasons": null, + "ResourceId": "[SecureWebServer]s1", + "SourceInfo": null + } + } + ], + "operationType": "Consistency" + }, + "startTime": "2018-08-29T22:13:53Z", + "endTime": "2018-08-29T22:14:13Z" + } + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationAssignmentReports.json new file mode 100644 index 000000000000..807e7142f0e2 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationAssignmentReports.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionid", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "guestConfigurationAssignmentName": "AuditSecureProtocol", + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "properties": { + "complianceStatus": "Compliant", + "assignment": { + "name": "AuditSecureProtocol", + "configuration": { + "name": "AuditSecureProtocol" + } + }, + "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "vm": { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm", + "uuid": "vmuuid" + }, + "details": null, + "startTime": "2018-08-29T22:13:53Z", + "endTime": "2018-08-29T22:14:13Z" + } + }, + { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c", + "name": "41ee2caf-48f9-4999-a793-82ec7c6beb2c", + "properties": { + "complianceStatus": "Compliant", + "assignment": { + "name": "AuditSecureProtocol", + "configuration": { + "name": "AuditSecureProtocol" + } + }, + "reportId": "41ee2caf-48f9-4999-a793-82ec7c6beb2c", + "vm": { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm", + "uuid": "vmuuid" + }, + "details": null, + "startTime": "2018-08-29T20:13:53Z", + "endTime": "2018-08-29T20:14:13Z" + } + } + ] + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json new file mode 100644 index 000000000000..4a372181cfcb --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionid", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "guestConfigurationAssignmentName": "AuditSecureProtocol", + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "properties": { + "complianceStatus": "Compliant", + "assignment": { + "name": "AuditSecureProtocol", + "configuration": { + "name": "AuditSecureProtocol" + } + }, + "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "vm": { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName", + "uuid": "vmuuid" + }, + "details": null, + "startTime": "2018-08-29T22:13:53Z", + "endTime": "2018-08-29T22:14:13Z" + } + }, + { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c", + "name": "41ee2caf-48f9-4999-a793-82ec7c6beb2c", + "properties": { + "complianceStatus": "Compliant", + "assignment": { + "name": "AuditSecureProtocol", + "configuration": { + "name": "AuditSecureProtocol" + } + }, + "reportId": "41ee2caf-48f9-4999-a793-82ec7c6beb2c", + "vm": { + "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName", + "uuid": "vmuuid" + }, + "details": null, + "startTime": "2018-08-29T20:13:53Z", + "endTime": "2018-08-29T20:14:13Z" + } + } + ] + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationAssignments.json new file mode 100644 index 000000000000..132a9d3e2fe4 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationAssignments.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "vmName": "myVMName", + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "location": "centraluseuap", + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2", + "name": "AuditSecureProtocol2", + "properties": { + "complianceStatus": "Compliant", + "assignmentHash": "content hash", + "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "lastComplianceStatusChecked": "2018-08-29T22:14:13Z", + "context": null, + "guestConfiguration": { + "kind": null, + "name": "AuditSecureProtocol2", + "version": "1.0.0.3", + "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip", + "contentHash": "content hash", + "configurationParameter": [], + "configurationSetting": null + }, + "provisioningState": null + } + }, + { + "location": "centraluseuap", + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment", + "name": "myAssignment", + "properties": { + "complianceStatus": "Compliant", + "assignmentHash": "content hash", + "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "lastComplianceStatusChecked": "2018-08-29T22:14:13Z", + "context": null, + "guestConfiguration": { + "kind": null, + "name": "myAssignment", + "version": "1.0.0.3", + "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip", + "contentHash": "content hash", + "configurationParameter": [], + "configurationSetting": null + }, + "provisioningState": null + } + } + ] + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationHCRPAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationHCRPAssignments.json new file mode 100644 index 000000000000..233b51c01494 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationHCRPAssignments.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "machineName": "myMachineName", + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "location": "centraluseuap", + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2", + "name": "AuditSecureProtocol2", + "properties": { + "complianceStatus": "Compliant", + "assignmentHash": "content hash", + "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "lastComplianceStatusChecked": "2018-08-29T22:14:13Z", + "context": null, + "guestConfiguration": { + "kind": null, + "name": "AuditSecureProtocol2", + "version": "1.0.0.3", + "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip", + "contentHash": "content hash", + "configurationParameter": [], + "configurationSetting": null + }, + "provisioningState": null + } + }, + { + "location": "centraluseuap", + "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment", + "name": "myAssignment", + "properties": { + "complianceStatus": "Compliant", + "assignmentHash": "content hash", + "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1", + "lastComplianceStatusChecked": "2018-08-29T22:14:13Z", + "context": null, + "guestConfiguration": { + "kind": null, + "name": "myAssignment", + "version": "1.0.0.3", + "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip", + "contentHash": "content hash", + "configurationParameter": [], + "configurationSetting": null + }, + "provisioningState": null + } + } + ] + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listOperations.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listOperations.json new file mode 100644 index 000000000000..eb4268a88642 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listOperations.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-06-25" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write", + "display": { + "provider": "Microsoft Guest Configuration", + "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments", + "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write", + "description": "Create new guest configuration assignment." + }, + "properties": null + }, + { + "name": "Microsoft.GuestConfiguration/register/action", + "display": { + "provider": "Microsoft Guest Configuration", + "resource": "Register", + "operation": "Registers the feature for Microsoft.GuestConfiguration.", + "description": "Registers the subscription for the Microsoft.GuestConfiguration resource provider." + }, + "properties": null + }, + { + "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read", + "display": { + "provider": "Microsoft Guest Configuration", + "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments", + "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read", + "description": "Get guest configuration assignment." + }, + "properties": null + }, + { + "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read", + "display": { + "provider": "Microsoft Guest Configuration", + "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments", + "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read", + "description": "Get guest configuration assignment report." + }, + "properties": null + } + ] + } + } + } +} diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json new file mode 100644 index 000000000000..a2a372685861 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json @@ -0,0 +1,1290 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-25", + "title": "GuestConfiguration" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": { + "put": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_CreateOrUpdate", + "description": "Creates an association between a VM and guest configuration", + "x-ms-examples": { + "Create or update guest configuration assignment": { + "$ref": "./examples/createOrUpdateGuestConfigurationAssignment.json" + } + }, + "parameters": [ + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the guest configuration assignment." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + }, + "description": "Parameters supplied to the create or update guest configuration assignment." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created. The guest configuration assignment for the VM was created successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } + }, + "200": { + "description": "OK. The guest configuration assignment for the VM was updated successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_Get", + "description": "Get information about a guest configuration assignment", + "x-ms-examples": { + "Get a guest configuration assignment": { + "$ref": "./examples/getGuestConfigurationAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The guest configuration assignment name." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The guest configuration assignment was returned successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_Delete", + "description": "Delete a guest configuration assignment", + "x-ms-examples": { + "Delete an guest configuration assignment": { + "$ref": "./examples/deleteGuestConfigurationAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the guest configuration assignment" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { + "get": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_List", + "description": "List all guest configuration assignments for a virtual machine.", + "x-ms-examples": { + "List all guest configuration assignments for a virtual machine": { + "$ref": "./examples/listGuestConfigurationAssignments.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": { + "get": { + "tags": [ + "GuestConfigurationAssignmentReports" + ], + "operationId": "GuestConfigurationAssignmentReports_List", + "description": "List all reports for the guest configuration assignment, latest report first.", + "x-ms-examples": { + "List all guest configuration assignments for a virtual machine": { + "$ref": "./examples/listAllGuestConfigurationAssignmentReports.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The guest configuration assignment name." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReportList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": { + "get": { + "tags": [ + "GuestConfigurationAssignmentReports" + ], + "operationId": "GuestConfigurationAssignmentReports_Get", + "description": "Get a report for the guest configuration assignment, by reportId.", + "x-ms-examples": { + "Get a guest configuration assignment report by Id for a virtual machine": { + "$ref": "./examples/getGuestConfigurationAssignmentReportById.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The guest configuration assignment name." + }, + { + "name": "reportId", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the guest configuration assignment report." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": { + "put": { + "tags": [ + "GuestConfigurationHCRPAssignments" + ], + "operationId": "GuestConfigurationHCRPAssignments_CreateOrUpdate", + "description": "Creates an association between a ARC machine and guest configuration", + "x-ms-examples": { + "Create or update guest configuration assignment": { + "$ref": "./examples/createOrUpdateGuestConfigurationHCRPAssignment.json" + } + }, + "parameters": [ + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the guest configuration assignment." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + }, + "description": "Parameters supplied to the create or update guest configuration assignment." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created. The guest configuration assignment for the ARC machine was created successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } + }, + "200": { + "description": "OK. The guest configuration assignment for the ARC machine was updated successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "GuestConfigurationHCRPAssignments" + ], + "operationId": "GuestConfigurationHCRPAssignments_Get", + "description": "Get information about a guest configuration assignment", + "x-ms-examples": { + "Get a guest configuration assignment": { + "$ref": "./examples/getGuestConfigurationHCRPAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The guest configuration assignment name." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The guest configuration assignment was returned successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "GuestConfigurationHCRPAssignments" + ], + "operationId": "GuestConfigurationHCRPAssignments_Delete", + "description": "Delete a guest configuration assignment", + "x-ms-examples": { + "Delete an guest configuration assignment": { + "$ref": "./examples/deleteGuestConfigurationHCRPAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the guest configuration assignment" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { + "get": { + "tags": [ + "GuestConfigurationHCRPAssignments" + ], + "operationId": "GuestConfigurationHCRPAssignments_List", + "description": "List all guest configuration assignments for an ARC machine.", + "x-ms-examples": { + "List all guest configuration assignments for a virtual machine": { + "$ref": "./examples/listGuestConfigurationHCRPAssignments.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": { + "get": { + "tags": [ + "GuestConfigurationAssignmentHCRPReports" + ], + "operationId": "GuestConfigurationHCRPAssignmentReports_List", + "description": "List all reports for the guest configuration assignment, latest report first.", + "x-ms-examples": { + "List all guest configuration assignments for a virtual machine": { + "$ref": "./examples/listAllGuestConfigurationHCRPAssignmentReports.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The guest configuration assignment name." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no reports returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReportList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": { + "get": { + "tags": [ + "GuestConfigurationAssignmentHCRPReports" + ], + "operationId": "GuestConfigurationHCRPAssignmentReports_Get", + "description": "Get a report for the guest configuration assignment, by reportId.", + "x-ms-examples": { + "Get a guest configuration assignment report by Id for a virtual machine": { + "$ref": "./examples/getGuestConfigurationHCRPAssignmentReportById.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The guest configuration assignment name." + }, + { + "name": "reportId", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the guest configuration assignment report." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no report was returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.GuestConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available GuestConfiguration REST API operations.", + "x-ms-examples": { + "Lists all of the available GuestConfiguration REST API operations": { + "$ref": "./examples/listOperations.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "GuestConfigurationAssignmentList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GuestConfigurationAssignment" + }, + "description": "Result of the list guest configuration assignment operation." + } + }, + "description": "The response of the list guest configuration assignment operation." + }, + "GuestConfigurationAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/GuestConfigurationAssignmentProperties", + "description": "Properties of the Guest configuration assignment." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Guest configuration assignment is an association between a machine and guest configuration." + }, + "GuestConfigurationNavigation": { + "description": "Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules.", + "properties": { + "kind": { + "type": "string", + "description": "Kind of the guest configuration. For example:DSC", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + }, + "enum": [ + "DSC" + ] + }, + "name": { + "type": "string", + "description": "Name of the guest configuration." + }, + "version": { + "type": "string", + "description": "Version of the guest configuration." + }, + "contentUri": { + "readOnly": true, + "type": "string", + "description": "Uri of the storage where guest configuration package is uploaded." + }, + "contentHash": { + "readOnly": true, + "type": "string", + "description": "Combined hash of the guest configuration package and configuration parameters." + }, + "configurationParameter": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationParameter" + }, + "description": "The configuration parameters for the guest configuration." + }, + "configurationSetting": { + "$ref": "#/definitions/ConfigurationSetting", + "description": "The configuration setting for the guest configuration." + } + } + }, + "ConfigurationParameter": { + "properties": { + "name": { + "type": "string", + "readOnly": false, + "description": "Name of the configuration parameter." + }, + "value": { + "type": "string", + "readOnly": false, + "description": "Value of the configuration parameter." + } + }, + "description": "Represents a configuration parameter." + }, + "ConfigurationSetting": { + "properties": { + "configurationMode": { + "type": "string", + "readOnly": false, + "description": "Specifies how the LCM(Local Configuration Manager) actually applies the configuration to the target nodes. Possible values are ApplyOnly, ApplyAndMonitor, and ApplyAndAutoCorrect.", + "x-ms-enum": { + "name": "configurationMode", + "modelAsString": true + }, + "enum": [ + "ApplyOnly", + "ApplyAndMonitor", + "ApplyAndAutoCorrect" + ] + }, + "allowModuleOverwrite": { + "type": "string", + "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false", + "x-ms-enum": { + "name": "allowModuleOverwrite", + "modelAsString": true + }, + "enum": [ + "True", + "False" + ] + }, + "actionAfterReboot": { + "type": "string", + "readOnly": false, + "description": "Specifies what happens after a reboot during the application of a configuration. The possible values are ContinueConfiguration and StopConfiguration", + "x-ms-enum": { + "name": "actionAfterReboot", + "modelAsString": true + }, + "enum": [ + "ContinueConfiguration", + "StopConfiguration" + ] + }, + "refreshFrequencyMins": { + "type": "number", + "readOnly": false, + "default": 30, + "description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30." + }, + "rebootIfNeeded": { + "type": "string", + "readOnly": false, + "default": "False", + "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module.", + "x-ms-enum": { + "name": "rebootIfNeeded", + "modelAsString": true + }, + "enum": [ + "True", + "False" + ] + }, + "configurationModeFrequencyMins": { + "type": "number", + "readOnly": false, + "default": 15, + "description": "How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15." + } + }, + "description": "Configuration setting of LCM (Local Configuration Manager)." + }, + "AssignmentReport": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "ARM resource id of the report for the guest configuration assignment." + }, + "reportId": { + "type": "string", + "readOnly": true, + "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + }, + "assignment": { + "$ref": "#/definitions/AssignmentInfo", + "description": "Configuration details of the guest configuration assignment." + }, + "vm": { + "$ref": "#/definitions/VMInfo", + "description": "Information about the VM." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Start date and time of the guest configuration assignment compliance status check." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "End date and time of the guest configuration assignment compliance status check." + }, + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "Type of report, Consistency or Initial", + "x-ms-enum": { + "name": "type", + "modelAsString": true + }, + "enum": [ + "Consistency", + "Initial" + ] + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/AssignmentReportResource" + }, + "description": "The list of resources for which guest configuration assignment compliance is checked." + } + } + }, + "GuestConfigurationAssignmentProperties": { + "properties": { + "targetResourceId": { + "type": "string", + "readOnly": true, + "description": "VM resource Id.", + "x-nullable": true + }, + "guestConfiguration": { + "$ref": "#/definitions/GuestConfigurationNavigation", + "description": "The guest configuration to assign." + }, + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "lastComplianceStatusChecked": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Date and time when last compliance status was checked.", + "x-nullable": true + }, + "latestReportId": { + "type": "string", + "readOnly": true, + "description": "Id of the latest report for the guest configuration assignment. ", + "x-nullable": true + }, + "latestAssignmentReport": { + "$ref": "#/definitions/AssignmentReport", + "description": "Last reported guest configuration assignment report." + }, + "context": { + "type": "string", + "description": "The source which initiated the guest configuration assignment. Ex: Azure Policy" + }, + "assignmentHash": { + "type": "string", + "readOnly": true, + "description": "Combined hash of the configuration package and parameters.", + "x-nullable": true + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response.", + "x-nullable": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + }, + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Created" + ] + } + }, + "description": "Guest configuration assignment properties." + }, + "GuestConfigurationAssignmentReportList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GuestConfigurationAssignmentReport" + }, + "description": "List of reports for the guest configuration. Report contains information such as compliance status, reason and more." + } + }, + "description": "List of guest configuration assignment reports." + }, + "GuestConfigurationAssignmentReport": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "ARM resource id of the report for the guest configuration assignment." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + }, + "properties": { + "$ref": "#/definitions/GuestConfigurationAssignmentReportProperties", + "description": "Properties of the guest configuration report." + } + }, + "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more." + }, + "GuestConfigurationAssignmentReportProperties": { + "properties": { + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "reportId": { + "type": "string", + "readOnly": true, + "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + }, + "assignment": { + "$ref": "#/definitions/AssignmentInfo", + "description": "Configuration details of the guest configuration assignment." + }, + "vm": { + "$ref": "#/definitions/VMInfo", + "description": "Information about the VM." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Start date and time of the guest configuration assignment compliance status check." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "End date and time of the guest configuration assignment compliance status check." + }, + "details": { + "$ref": "#/definitions/AssignmentReportDetails", + "description": "Details of the assignment report.", + "x-nullable": true + } + }, + "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more." + }, + "AssignmentInfo": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the guest configuration assignment." + }, + "configuration": { + "$ref": "#/definitions/ConfigurationInfo", + "description": "Information about the configuration." + } + }, + "description": "Information about the guest configuration assignment." + }, + "VMInfo": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id of the VM." + }, + "uuid": { + "type": "string", + "readOnly": true, + "description": "UUID(Universally Unique Identifier) of the VM." + } + }, + "description": "Information about the VM." + }, + "ConfigurationInfo": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the configuration." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "Version of the configuration." + } + }, + "description": "Information about the configuration." + }, + "AssignmentReportDetails": { + "properties": { + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Start date and time of the guest configuration assignment compliance status check." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "End date and time of the guest configuration assignment compliance status check." + }, + "jobId": { + "type": "string", + "readOnly": true, + "description": "GUID of the report." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "Type of report, Consistency or Initial", + "x-ms-enum": { + "name": "type", + "modelAsString": true + }, + "enum": [ + "Consistency", + "Initial" + ] + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/AssignmentReportResource" + }, + "description": "The list of resources for which guest configuration assignment compliance is checked." + } + }, + "description": "Details of the guest configuration assignment report." + }, + "AssignmentReportResource": { + "properties": { + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "resourceId": { + "type": "string", + "readOnly": true, + "description": "Name of the guest configuration assignment resource setting." + }, + "reasons": { + "type": "array", + "items": { + "$ref": "#/definitions/AssignmentReportResourceComplianceReason" + }, + "description": "Compliance reason and reason code for a resource." + }, + "properties": { + "type": "object", + "readOnly": true, + "description": "Properties of a guest configuration assignment resource." + } + }, + "description": "The guest configuration assignment resource." + }, + "AssignmentReportResourceComplianceReason": { + "properties": { + "phrase": { + "type": "string", + "readOnly": true, + "description": "Reason for the compliance of the guest configuration assignment resource." + }, + "code": { + "type": "string", + "readOnly": true, + "description": "Code for the compliance of the guest configuration assignment resource." + } + }, + "description": "Reason and code for the compliance of the guest configuration assignment resource." + } + }, + "parameters": {} +} diff --git a/specification/guestconfiguration/resource-manager/readme.az.md b/specification/guestconfiguration/resource-manager/readme.az.md index 319a17cc5022..3041965528d8 100644 --- a/specification/guestconfiguration/resource-manager/readme.az.md +++ b/specification/guestconfiguration/resource-manager/readme.az.md @@ -17,5 +17,7 @@ cli: prop: 'properties' flatten: true - + - where: + op: 'CreateOrUpdate#Create|Delete|CreateOrUpdate#Update' + hidden: true ``` diff --git a/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md b/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..22f8040208d4 --- /dev/null +++ b/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-guestconfiguration-2020-06-25 + - tag: schema-guestconfiguration-2018-11-20 + - tag: schema-guestconfiguration-2018-06-30-preview + - tag: schema-guestconfiguration-2018-01-20-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-guestconfiguration-2020-06-25 and azureresourceschema + +``` yaml $(tag) == 'schema-guestconfiguration-2020-06-25' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json + +``` + +### Tag: schema-guestconfiguration-2018-11-20 and azureresourceschema + +``` yaml $(tag) == 'schema-guestconfiguration-2018-11-20' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json + +``` + +### Tag: schema-guestconfiguration-2018-06-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-guestconfiguration-2018-06-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json + +``` + +### Tag: schema-guestconfiguration-2018-01-20-preview and azureresourceschema + +``` yaml $(tag) == 'schema-guestconfiguration-2018-01-20-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json + +``` diff --git a/specification/guestconfiguration/resource-manager/readme.md b/specification/guestconfiguration/resource-manager/readme.md index 8c7d94f58edd..8fba3db7e828 100644 --- a/specification/guestconfiguration/resource-manager/readme.md +++ b/specification/guestconfiguration/resource-manager/readme.md @@ -28,7 +28,16 @@ These are the global settings for the Guest Configuration API. title: GuestConfigurationClient description: Guest Configuration Client openapi-type: arm -tag: package-2018-11-20 +tag: package-2020-06-25 +``` + +### Tag: package-2020-06-25 + +These settings apply only when `--tag=package-2020-06-25` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-25' +input-file: + - Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json ``` ### Tag: package-2018-11-20 @@ -104,6 +113,9 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js guestconfiguration/resource-manager ``` @@ -121,6 +133,10 @@ csharp: clear-output-folder: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -133,6 +149,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json - $(this-folder)/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json - $(this-folder)/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json - $(this-folder)/Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json index a1567dab1709..d83d757ce054 100644 --- a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json +++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json @@ -497,65 +497,6 @@ } }, "definitions": { - "Resource": { - "description": "The core properties of ARM resources", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "The resource model definition for a ARM tracked top level resource", - "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Resource tags." - }, - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The Azure Region where the resource lives" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "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" - } - ] - }, "OperationList": { "type": "object", "properties": { @@ -668,7 +609,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "SAP monitor info on Azure (ARM properties and SAP monitor properties)" @@ -752,7 +693,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "A provider instance associated with a SAP monitor." diff --git a/specification/hanaonazure/resource-manager/readme.azureresourceschema.md b/specification/hanaonazure/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..22ee3b84d3de --- /dev/null +++ b/specification/hanaonazure/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hanaonazure-2020-02-07-preview + - tag: schema-hanaonazure-2017-11-03-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hanaonazure-2020-02-07-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hanaonazure-2020-02-07-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json + +``` + +### Tag: schema-hanaonazure-2017-11-03-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hanaonazure-2017-11-03-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json + +``` diff --git a/specification/hanaonazure/resource-manager/readme.md b/specification/hanaonazure/resource-manager/readme.md index 301fed2c8de8..60358b1842ef 100644 --- a/specification/hanaonazure/resource-manager/readme.md +++ b/specification/hanaonazure/resource-manager/readme.md @@ -67,6 +67,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hanaonazure/resource-manager ``` ## Go @@ -109,6 +112,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.azureresourceschema.md b/specification/hardwaresecuritymodules/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..1bb0e7808dae --- /dev/null +++ b/specification/hardwaresecuritymodules/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hardwaresecuritymodules-2018-10-31-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hardwaresecuritymodules-2018-10-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hardwaresecuritymodules-2018-10-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json + +``` diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.go.md b/specification/hardwaresecuritymodules/resource-manager/readme.go.md new file mode 100644 index 000000000000..d346e30613a2 --- /dev/null +++ b/specification/hardwaresecuritymodules/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: hardwaresecuritymodules + clear-output-folder: true +``` + +### Go multi-api + +```yaml $(go) && $(multiapi) +batch: + - tag: package-2018-10 +``` + +### Tag: package-2018-10 and go + +These settings apply only when `--tag=package-2018-10 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag)=='package-2018-10' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-10-31-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.md b/specification/hardwaresecuritymodules/resource-manager/readme.md index 33848571baec..bb675df38663 100644 --- a/specification/hardwaresecuritymodules/resource-manager/readme.md +++ b/specification/hardwaresecuritymodules/resource-manager/readme.md @@ -30,7 +30,7 @@ tag: package-2018-10 ``` -### Tag: package-2018-02 +### Tag: package-2018-10 These settings apply only when `--tag=package-2018-10` is specified on the command line. @@ -41,6 +41,10 @@ input-file: +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -76,5 +80,8 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hardwaresecuritymodules/resource-manager ``` diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json index d5cbc84df867..98c9f0e22eb5 100644 --- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json +++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json @@ -705,14 +705,17 @@ "type": "object", "properties": { "from": { + "description": "The start index to fetch Spark Batch jobs.", "format": "int32", "type": "integer" }, "total": { + "description": "Number of Spark Batch jobs to fetch.", "format": "int32", "type": "integer" }, "sessions": { + "description": "List of spark batch jobs.", "uniqueItems": false, "type": "array", "items": { @@ -725,22 +728,27 @@ "type": "object", "properties": { "id": { + "description": "The livy id of the spark batch job.", "format": "int32", "type": "integer" }, "appId": { + "description": "The application id of this job.", "type": "string" }, "appInfo": { + "description": "The detailed application info.", "type": "object", "additionalProperties": { "type": "string" } }, "state": { - "type": "string" + "description": "The current state of the spark batch job", + "$ref": "#/definitions/JobState" }, "log": { + "description": "The log lines.", "x-ms-client-name": "logLines", "uniqueItems": false, "type": "array", @@ -754,15 +762,19 @@ "type": "object", "properties": { "file": { + "description": "File containing the application to execute.", "type": "string" }, "proxyUser": { + "description": "User to impersonate when running the job.", "type": "string" }, "className": { + "description": "Application Java/Spark main class.", "type": "string" }, "args": { + "description": "Command line arguments for the application.", "x-ms-client-name": "arguments", "uniqueItems": false, "type": "array", @@ -771,6 +783,7 @@ } }, "jars": { + "description": "Jars to be used in this batch job.", "uniqueItems": false, "type": "array", "items": { @@ -778,6 +791,7 @@ } }, "pyFiles": { + "description": "Python files to be used in this batch job.", "x-ms-client-name": "pythonFiles", "uniqueItems": false, "type": "array", @@ -786,6 +800,7 @@ } }, "files": { + "description": "Files to be used in this batch job.", "uniqueItems": false, "type": "array", "items": { @@ -793,25 +808,31 @@ } }, "driverMemory": { + "description": "Amount of memory to use for the driver process.", "type": "string" }, "driverCores": { + "description": "Number of cores to use for the driver process.", "format": "int32", "type": "integer" }, "executorMemory": { + "description": "Amount of memory to use per executor process.", "type": "string" }, "executorCores": { + "description": "Number of cores to use for each executor.", "format": "int32", "type": "integer" }, "numExecutors": { + "description": "Number of executors to launch for this batch job.", "x-ms-client-name": "executorCount", "format": "int32", "type": "integer" }, "archives": { + "description": "Archives to be used in this batch job.", "uniqueItems": false, "type": "array", "items": { @@ -819,12 +840,15 @@ } }, "queue": { + "description": "The name of the YARN queue to which submitted.", "type": "string" }, "name": { + "description": "The name of this batch job.", "type": "string" }, "conf": { + "description": "Spark configuration properties.", "x-ms-client-name": "configuration", "type": "object", "additionalProperties": { @@ -837,14 +861,17 @@ "type": "object", "properties": { "from": { + "description": "The start index to fetch spark sessions.", "format": "int32", "type": "integer" }, "total": { + "description": "Number of spark sessions to fetch.", "format": "int32", "type": "integer" }, "sessions": { + "description": "List of spark sessions.", "uniqueItems": false, "type": "array", "items": { @@ -857,22 +884,28 @@ "type": "object", "properties": { "id": { + "description": "The livy id of the spark session job.", "format": "int32", "type": "integer" }, "appId": { + "description": "The application id of this job.", "type": "string" }, "owner": { + "description": "Remote user who submitted this job.", "type": "string" }, "proxyUser": { + "description": "User to impersonate when running.", "type": "string" }, "kind": { - "type": "string" + "description": "Spark session job kind.", + "$ref": "#/definitions/SessionJobKind" }, "log": { + "description": "The log lines.", "x-ms-client-name": "logLines", "uniqueItems": false, "type": "array", @@ -881,9 +914,11 @@ } }, "state": { - "type": "string" + "description": "The current state of the spark session job", + "$ref": "#/definitions/JobState" }, "appInfo": { + "description": "The detailed application info.", "type": "object", "additionalProperties": { "type": "string" @@ -895,22 +930,15 @@ "type": "object", "properties": { "kind": { - "type": "string", - "x-ms-enum": { - "name": "SessionJobKind", - "modelAsString": true - }, - "enum": [ - "spark", - "pyspark", - "sparkr", - "sql" - ] + "description": "Spark session job kind.", + "$ref": "#/definitions/SessionJobKind" }, "proxyUser": { + "description": "User to impersonate when starting the session.", "type": "string" }, "jars": { + "description": "Jars to be used in this session.", "uniqueItems": false, "type": "array", "items": { @@ -918,6 +946,7 @@ } }, "pyFiles": { + "description": "Python files to be used in this session.", "x-ms-client-name": "pythonFiles", "uniqueItems": false, "type": "array", @@ -926,6 +955,7 @@ } }, "files": { + "description": "Files to be used in this session.", "uniqueItems": false, "type": "array", "items": { @@ -933,25 +963,31 @@ } }, "driverMemory": { + "description": "Amount of memory to use for the driver process.", "type": "string" }, "driverCores": { + "description": "Number of cores to use for the driver process.", "format": "int32", "type": "integer" }, "executorMemory": { + "description": "Amount of memory to use per executor process.", "type": "string" }, "executorCores": { + "description": "Number of cores to use for each executor.", "format": "int32", "type": "integer" }, "numExecutors": { + "description": "Number of executors to launch for this session.", "x-ms-client-name": "executorCount", "format": "int32", "type": "integer" }, "archives": { + "description": "Archives to be used in this session.", "uniqueItems": false, "type": "array", "items": { @@ -959,12 +995,15 @@ } }, "queue": { + "description": "The name of the YARN queue to which submitted.", "type": "string" }, "name": { + "description": "The name of this session.", "type": "string" }, "conf": { + "description": "Spark configuration properties.", "x-ms-client-name": "configuration", "type": "object", "additionalProperties": { @@ -972,6 +1011,7 @@ } }, "heartbeatTimeoutInSecond": { + "description": "Timeout in second to which session be orphaned.", "format": "int32", "type": "integer" } @@ -981,22 +1021,27 @@ "type": "object", "properties": { "id": { + "description": "The livy id of the spark job.", "format": "int32", "type": "integer" }, "from": { + "description": "Offset from start of log.", "format": "int32", "type": "integer" }, "size": { + "description": "Max number of log lines.", "format": "int32", "type": "integer" }, "total": { + "description": "Total number of log lines.", "format": "int64", "type": "integer" }, "log": { + "description": "The log lines.", "x-ms-client-name": "logLines", "uniqueItems": false, "type": "array", @@ -1010,11 +1055,13 @@ "type": "object", "properties": { "id": { + "description": "The livy id of the spark job.", "format": "int32", "type": "integer" }, "state": { - "type": "string" + "description": "The current state of the spark job", + "$ref": "#/definitions/JobState" } } }, @@ -1022,6 +1069,7 @@ "type": "object", "properties": { "statements": { + "description": "List of spark statements.", "uniqueItems": false, "type": "array", "items": { @@ -1034,19 +1082,24 @@ "type": "object", "properties": { "id": { + "description": "The livy id of the spark statement job.", "format": "int32", "type": "integer" }, "code": { + "description": "The execution code.", "type": "string" }, "state": { - "type": "string" + "description": "The current state of the spark statement.", + "$ref": "#/definitions/StatementState" }, "output": { + "description": "The execution output.", "$ref": "#/definitions/SparkStatementOutput" }, "progress": { + "description": "The execution progress.", "type": "number", "format": "double" } @@ -1056,17 +1109,80 @@ "type": "object", "properties": { "status": { - "type": "string" + "description": "Execution status.", + "$ref": "#/definitions/StatementExecutionStatus" }, "execution_count": { + "description": "A monotonically increasing number.", "format": "int32", "type": "integer" }, "data": { + "description": "Statement output.", "type": "object" } } }, + "SessionJobKind": { + "type": "string", + "x-ms-enum": { + "name": "SessionJobKind", + "modelAsString": true + }, + "enum": [ + "spark", + "pyspark", + "sparkr", + "sql" + ] + }, + "StatementState": { + "type": "string", + "x-ms-enum": { + "name": "StatementState", + "modelAsString": true + }, + "enum": [ + "waiting", + "running", + "available", + "error", + "cancelling", + "cancelled" + ] + }, + "JobState": { + "type": "string", + "x-ms-enum": { + "name": "JobState", + "modelAsString": true + }, + "enum": [ + "not_started", + "starting", + "idle", + "running", + "busy", + "shutting_down", + "error", + "dead", + "killed", + "success", + "recovering" + ] + }, + "StatementExecutionStatus": { + "type": "string", + "x-ms-enum": { + "name": "StatementExecutionStatus", + "modelAsString": true + }, + "enum": [ + "ok", + "error", + "abort" + ] + }, "SparkStatementRequest": { "type": "object", "properties": { @@ -1074,7 +1190,7 @@ "type": "string" }, "kind": { - "type": "string" + "$ref": "#/definitions/SessionJobKind" } } }, diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json index 382dea9eab19..d54d458c76dd 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json @@ -65,6 +65,15 @@ }, "Create cluster with TLS 1.2": { "$ref": "./examples/CreateHDInsightClusterWithTLS12.json" + }, + "Create cluster with custom network settings": { + "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkSettings.json" + }, + "Create cluster with encryption in transit": { + "$ref": "./examples/CreateHDInsightClusterWithEncryptionInTransit.json" + }, + "Create cluster with encryption at host": { + "$ref": "./examples/CreateHDInsightClusterWithEncryptionAtHost.json" } }, "parameters": [ @@ -348,6 +357,78 @@ "x-ms-long-running-operation": true } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/autoscale": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_UpdateAutoScaleConfiguration", + "description": "Updates the Autoscale Configuration for HDInsight cluster.", + "x-ms-examples": { + "Enable or Update Autoscale with the load based configuration for HDInsight cluster": { + "$ref": "./examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json" + }, + "Enable or Update Autoscale with the schedule based configuration for HDInsight cluster": { + "$ref": "./examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json" + }, + "Disable Autoscale for the HDInsight cluster": { + "$ref": "./examples/DisableClusterAutoScale.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The constant value for the roleName", + "enum": [ + "workernode" + ], + "x-ms-enum": { + "name": "RoleName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AutoscaleConfigurationUpdateParameter" + }, + "description": "The parameters for the update autoscale configuration operation." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition." + }, + "202": { + "description": "Accepted response definition." + } + }, + "x-ms-long-running-operation": true + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters": { "get": { "tags": [ @@ -728,6 +809,15 @@ }, "description": "The autoscale request parameters" }, + "AutoscaleConfigurationUpdateParameter": { + "properties": { + "autoscale": { + "$ref": "#/definitions/Autoscale", + "description": "The autoscale configuration." + } + }, + "description": "The autoscale configuration update parameter." + }, "HardwareProfile": { "properties": { "vmSize": { @@ -924,6 +1014,35 @@ }, "description": "The storage profile." }, + "NetworkSettings": { + "properties": { + "publicNetworkAccess": { + "type": "string", + "description": "Specifies whether public network access is enabled for inbound and outbound, or outbound only.", + "enum": [ + "InboundAndOutbound", + "OutboundOnly" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "outboundOnlyPublicNetworkAccessType": { + "type": "string", + "description": "The mechanism through which the cluster will have outbound access to the public network.", + "enum": [ + "PublicLoadBalancer", + "UDR" + ], + "x-ms-enum": { + "name": "OutboundOnlyPublicNetworkAccessType", + "modelAsString": true + } + } + }, + "description": "The network settings." + }, "ClusterCreateProperties": { "description": "The cluster create parameters.", "properties": { @@ -979,9 +1098,17 @@ "$ref": "#/definitions/DiskEncryptionProperties", "description": "The disk encryption properties." }, + "encryptionInTransitProperties": { + "$ref": "#/definitions/EncryptionInTransitProperties", + "description": "The encryption-in-transit properties." + }, "minSupportedTlsVersion": { "type": "string", "description": "The minimal supported tls version." + }, + "networkSettings": { + "$ref": "#/definitions/NetworkSettings", + "description": "The network settings." } } }, @@ -1159,9 +1286,17 @@ "$ref": "#/definitions/DiskEncryptionProperties", "description": "The disk encryption properties." }, + "encryptionInTransitProperties": { + "$ref": "#/definitions/EncryptionInTransitProperties", + "description": "The encryption-in-transit properties." + }, "minSupportedTlsVersion": { "type": "string", "description": "The minimal supported tls version." + }, + "networkSettings": { + "$ref": "#/definitions/NetworkSettings", + "description": "The network settings." } }, "required": [ @@ -1467,6 +1602,21 @@ "msiResourceId": { "type": "string", "description": "Resource ID of Managed Identity that is used to access the key vault." + }, + "encryptionAtHost": { + "type": "boolean", + "default": false, + "description": "Indicates whether or not resource disk encryption is enabled." + } + } + }, + "EncryptionInTransitProperties": { + "description": "The encryption-in-transit properties.", + "properties": { + "isEncryptionInTransitEnabled": { + "type": "boolean", + "default": false, + "description": "Indicates whether or not inter cluster node communication is encrypted in transit." } } }, diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json new file mode 100644 index 000000000000..5214925f2139 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subId", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "clusterDefinition": { + "kind": "hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage", + "isDefault": true, + "container": "containername", + "key": "storage account key" + } + ] + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********", + "sshProfile": { + "publicKeys": [ + { + "certificateData": "**********" + } + ] + } + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + }, + { + "name": "workernode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********", + "sshProfile": { + "publicKeys": [ + { + "certificateData": "**********" + } + ] + } + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + } + ] + }, + "networkSettings": { + "publicNetworkAccess": "OutboundOnly", + "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer" + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "East US", + "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json", + "kind": "hadoop" + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + }, + { + "name": "workernode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + } + ] + }, + "networkSettings": { + "publicNetworkAccess": "OutboundOnly", + "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer" + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-06-09T12:25:43.48", + "quotaInfo": { + "coresUsed": 16 + }, + "tier": "Standard" + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json new file mode 100644 index 000000000000..ccab7cf8a894 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "tier": "Standard", + "clusterDefinition": { + "kind": "Hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + } + ] + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage.blob.core.windows.net", + "isDefault": true, + "container": "default8525", + "key": "storagekey" + } + ] + }, + "diskEncryptionProperties": { + "encryptionAtHost": true + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "South Central US", + "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json", + "kind": "Hadoop", + "componentVersion": { + "Hadoop": "2.7" + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + } + ] + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-01-10T08:36:39.153", + "quotaInfo": { + "coresUsed": 20 + }, + "connectivityEndpoints": [ + { + "name": "SSH", + "protocol": "TCP", + "location": "cluster1-ssh.azurehdinsight.net", + "port": 22 + }, + { + "name": "HTTPS", + "protocol": "TCP", + "location": "cluster1.azurehdinsight.net", + "port": 443 + } + ], + "tier": "Standard", + "diskEncryptionProperties": { + "vaultUri": null, + "keyName": null, + "keyVersion": null, + "encryptionAlgorithm": null, + "msiResourceId": null, + "encryptionAtHost": true + } + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json new file mode 100644 index 000000000000..857e5c39f419 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "tier": "Standard", + "clusterDefinition": { + "kind": "Hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "Large" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Large" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Small" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + } + ] + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage.blob.core.windows.net", + "isDefault": true, + "container": "default8525", + "key": "storagekey" + } + ] + }, + "encryptionInTransitProperties": { + "isEncryptionInTransitEnabled": true + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "South Central US", + "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json", + "kind": "Hadoop", + "componentVersion": { + "Hadoop": "2.7" + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_a4_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_a4_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_a2_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + } + ] + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-01-10T08:36:39.153", + "quotaInfo": { + "coresUsed": 20 + }, + "connectivityEndpoints": [ + { + "name": "SSH", + "protocol": "TCP", + "location": "cluster1-ssh.azurehdinsight.net", + "port": 22 + }, + { + "name": "HTTPS", + "protocol": "TCP", + "location": "cluster1.azurehdinsight.net", + "port": 443 + } + ], + "tier": "Standard", + "encryptionInTransitProperties": { + "isEncryptionInTransitEnabled": true + } + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/DisableClusterAutoScale.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/DisableClusterAutoScale.json new file mode 100644 index 000000000000..4117a86362a9 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/DisableClusterAutoScale.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subid", + "roleName": "workernode", + "parameters": {} + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json new file mode 100644 index 000000000000..7eb4fd0a57c9 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subid", + "roleName": "workernode", + "parameters": { + "autoscale": { + "capacity": { + "minInstanceCount": 3, + "maxInstanceCount": 5 + } + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json new file mode 100644 index 000000000000..3c46a392a289 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2015-03-01-preview", + "subscriptionId": "subid", + "roleName": "workernode", + "parameters": { + "autoscale": { + "recurrence": { + "timeZone": "China Standard Time", + "schedule": [ + { + "days": [ + "Thursday" + ], + "timeAndCapacity": { + "time": "16:00", + "minInstanceCount": 4, + "maxInstanceCount": 4 + } + } + ] + } + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json index dbf01ce3ff32..0f31a7a726cb 100644 --- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json @@ -65,6 +65,15 @@ }, "Create cluster with TLS 1.2": { "$ref": "./examples/CreateHDInsightClusterWithTLS12.json" + }, + "Create cluster with custom network settings": { + "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkSettings.json" + }, + "Create cluster with encryption in transit": { + "$ref": "./examples/CreateHDInsightClusterWithEncryptionInTransit.json" + }, + "Create cluster with encryption at host": { + "$ref": "./examples/CreateHDInsightClusterWithEncryptionAtHost.json" } }, "parameters": [ @@ -348,6 +357,78 @@ "x-ms-long-running-operation": true } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/autoscale": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_UpdateAutoScaleConfiguration", + "description": "Updates the Autoscale Configuration for HDInsight cluster.", + "x-ms-examples": { + "Enable or Update Autoscale with the load based configuration for HDInsight cluster": { + "$ref": "./examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json" + }, + "Enable or Update Autoscale with the schedule based configuration for HDInsight cluster": { + "$ref": "./examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json" + }, + "Disable Autoscale for the HDInsight cluster": { + "$ref": "./examples/DisableClusterAutoScale.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The constant value for the roleName", + "enum": [ + "workernode" + ], + "x-ms-enum": { + "name": "RoleName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AutoscaleConfigurationUpdateParameter" + }, + "description": "The parameters for the update autoscale configuration operation." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition." + }, + "202": { + "description": "Accepted response definition." + } + }, + "x-ms-long-running-operation": true + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters": { "get": { "tags": [ @@ -728,6 +809,15 @@ }, "description": "The autoscale request parameters" }, + "AutoscaleConfigurationUpdateParameter": { + "properties": { + "autoscale": { + "$ref": "#/definitions/Autoscale", + "description": "The autoscale configuration." + } + }, + "description": "The autoscale configuration update parameter." + }, "HardwareProfile": { "properties": { "vmSize": { @@ -924,6 +1014,35 @@ }, "description": "The storage profile." }, + "NetworkSettings": { + "properties": { + "publicNetworkAccess": { + "type": "string", + "description": "Specifies whether public network access is enabled for inbound and outbound, or outbound only.", + "enum": [ + "InboundAndOutbound", + "OutboundOnly" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "outboundOnlyPublicNetworkAccessType": { + "type": "string", + "description": "The mechanism through which the cluster will have outbound access to the public network.", + "enum": [ + "PublicLoadBalancer", + "UDR" + ], + "x-ms-enum": { + "name": "OutboundOnlyPublicNetworkAccessType", + "modelAsString": true + } + } + }, + "description": "The network settings." + }, "ClusterCreateProperties": { "description": "The cluster create parameters.", "properties": { @@ -979,9 +1098,17 @@ "$ref": "#/definitions/DiskEncryptionProperties", "description": "The disk encryption properties." }, + "encryptionInTransitProperties": { + "$ref": "#/definitions/EncryptionInTransitProperties", + "description": "The encryption-in-transit properties." + }, "minSupportedTlsVersion": { "type": "string", "description": "The minimal supported tls version." + }, + "networkSettings": { + "$ref": "#/definitions/NetworkSettings", + "description": "The network settings." } } }, @@ -1159,9 +1286,17 @@ "$ref": "#/definitions/DiskEncryptionProperties", "description": "The disk encryption properties." }, + "encryptionInTransitProperties": { + "$ref": "#/definitions/EncryptionInTransitProperties", + "description": "The encryption-in-transit properties." + }, "minSupportedTlsVersion": { "type": "string", "description": "The minimal supported tls version." + }, + "networkSettings": { + "$ref": "#/definitions/NetworkSettings", + "description": "The network settings." } }, "required": [ @@ -1467,6 +1602,21 @@ "msiResourceId": { "type": "string", "description": "Resource ID of Managed Identity that is used to access the key vault." + }, + "encryptionAtHost": { + "type": "boolean", + "default": false, + "description": "Indicates whether or not resource disk encryption is enabled." + } + } + }, + "EncryptionInTransitProperties": { + "description": "The encryption-in-transit properties.", + "properties": { + "isEncryptionInTransitEnabled": { + "type": "boolean", + "default": false, + "description": "Indicates whether or not inter cluster node communication is encrypted in transit." } } }, diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json new file mode 100644 index 000000000000..cfd07c8507e9 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subId", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "clusterDefinition": { + "kind": "hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage", + "isDefault": true, + "container": "containername", + "key": "storage account key" + } + ] + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********", + "sshProfile": { + "publicKeys": [ + { + "certificateData": "**********" + } + ] + } + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + }, + { + "name": "workernode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********", + "sshProfile": { + "publicKeys": [ + { + "certificateData": "**********" + } + ] + } + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + } + ] + }, + "networkSettings": { + "publicNetworkAccess": "OutboundOnly", + "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer" + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "East US", + "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json", + "kind": "hadoop" + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + }, + { + "name": "workernode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_d3" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + }, + "virtualNetworkProfile": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname", + "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet" + } + } + ] + }, + "networkSettings": { + "publicNetworkAccess": "OutboundOnly", + "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer" + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-06-09T12:25:43.48", + "quotaInfo": { + "coresUsed": 16 + }, + "tier": "Standard" + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json new file mode 100644 index 000000000000..9251c4bfc1d0 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "tier": "Standard", + "clusterDefinition": { + "kind": "Hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Standard_DS14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + } + ] + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage.blob.core.windows.net", + "isDefault": true, + "container": "default8525", + "key": "storagekey" + } + ] + }, + "diskEncryptionProperties": { + "encryptionAtHost": true + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "South Central US", + "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json", + "kind": "Hadoop", + "componentVersion": { + "Hadoop": "2.7" + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_ds14_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + } + ] + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-01-10T08:36:39.153", + "quotaInfo": { + "coresUsed": 20 + }, + "connectivityEndpoints": [ + { + "name": "SSH", + "protocol": "TCP", + "location": "cluster1-ssh.azurehdinsight.net", + "port": 22 + }, + { + "name": "HTTPS", + "protocol": "TCP", + "location": "cluster1.azurehdinsight.net", + "port": 443 + } + ], + "tier": "Standard", + "diskEncryptionProperties": { + "vaultUri": null, + "keyName": null, + "keyVersion": null, + "encryptionAlgorithm": null, + "msiResourceId": null, + "encryptionAtHost": true + } + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json new file mode 100644 index 000000000000..e791e99a9a26 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subid", + "parameters": { + "properties": { + "clusterVersion": "3.6", + "osType": "Linux", + "tier": "Standard", + "clusterDefinition": { + "kind": "Hadoop", + "configurations": { + "gateway": { + "restAuthCredential.isEnabled": true, + "restAuthCredential.username": "admin", + "restAuthCredential.password": "**********" + } + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "Large" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Large" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "Small" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser", + "password": "**********" + } + } + } + ] + }, + "storageProfile": { + "storageaccounts": [ + { + "name": "mystorage.blob.core.windows.net", + "isDefault": true, + "container": "default8525", + "key": "storagekey" + } + ] + }, + "encryptionInTransitProperties": { + "isEncryptionInTransitEnabled": true + } + } + } + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1", + "name": "cluster1", + "type": "Microsoft.HDInsight/clusters", + "location": "South Central US", + "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b", + "tags": null, + "properties": { + "clusterVersion": "3.6.1000.67", + "osType": "Linux", + "clusterDefinition": { + "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json", + "kind": "Hadoop", + "componentVersion": { + "Hadoop": "2.7" + } + }, + "computeProfile": { + "roles": [ + { + "name": "headnode", + "targetInstanceCount": 2, + "hardwareProfile": { + "vmSize": "standard_a4_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "workernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_a4_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + }, + { + "name": "zookeepernode", + "targetInstanceCount": 3, + "hardwareProfile": { + "vmSize": "standard_a2_v2" + }, + "osProfile": { + "linuxOperatingSystemProfile": { + "username": "sshuser" + } + } + } + ] + }, + "provisioningState": "Succeeded", + "clusterState": "Running", + "createdDate": "2020-01-10T08:36:39.153", + "quotaInfo": { + "coresUsed": 20 + }, + "connectivityEndpoints": [ + { + "name": "SSH", + "protocol": "TCP", + "location": "cluster1-ssh.azurehdinsight.net", + "port": 22 + }, + { + "name": "HTTPS", + "protocol": "TCP", + "location": "cluster1.azurehdinsight.net", + "port": 443 + } + ], + "tier": "Standard", + "encryptionInTransitProperties": { + "isEncryptionInTransitEnabled": true + } + } + } + } + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/DisableClusterAutoScale.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/DisableClusterAutoScale.json new file mode 100644 index 000000000000..11e45c68a585 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/DisableClusterAutoScale.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subid", + "roleName": "workernode", + "parameters": {} + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json new file mode 100644 index 000000000000..04ffc9a6bfe3 --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subid", + "roleName": "workernode", + "parameters": { + "autoscale": { + "capacity": { + "minInstanceCount": 3, + "maxInstanceCount": 5 + } + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json new file mode 100644 index 000000000000..79906e0f408c --- /dev/null +++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "clusterName": "cluster1", + "resourceGroupName": "rg1", + "api-version": "2018-06-01-preview", + "subscriptionId": "subid", + "roleName": "workernode", + "parameters": { + "autoscale": { + "recurrence": { + "timeZone": "China Standard Time", + "schedule": [ + { + "days": [ + "Thursday" + ], + "timeAndCapacity": { + "time": "16:00", + "minInstanceCount": 4, + "maxInstanceCount": 4 + } + } + ] + } + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hdinsight/resource-manager/readme.azureresourceschema.md b/specification/hdinsight/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..99c384687156 --- /dev/null +++ b/specification/hdinsight/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,49 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hdinsight-2018-06-01-preview + - tag: schema-hdinsight-2015-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hdinsight-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hdinsight-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json + - Microsoft.HDInsight/stable/2018-06-01-preview/applications.json + - Microsoft.HDInsight/stable/2018-06-01-preview/locations.json + - Microsoft.HDInsight/stable/2018-06-01-preview/configurations.json + - Microsoft.HDInsight/stable/2018-06-01-preview/extensions.json + - Microsoft.HDInsight/stable/2018-06-01-preview/scriptActions.json + - Microsoft.HDInsight/stable/2018-06-01-preview/operations.json + - Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json + +``` + +### Tag: schema-hdinsight-2015-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hdinsight-2015-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json + - Microsoft.HDInsight/preview/2015-03-01-preview/applications.json + - Microsoft.HDInsight/preview/2015-03-01-preview/locations.json + - Microsoft.HDInsight/preview/2015-03-01-preview/configurations.json + - Microsoft.HDInsight/preview/2015-03-01-preview/extensions.json + - Microsoft.HDInsight/preview/2015-03-01-preview/scriptActions.json + - Microsoft.HDInsight/preview/2015-03-01-preview/operations.json + +``` diff --git a/specification/hdinsight/resource-manager/readme.md b/specification/hdinsight/resource-manager/readme.md index 97f592973d92..e1b948548a41 100644 --- a/specification/hdinsight/resource-manager/readme.md +++ b/specification/hdinsight/resource-manager/readme.md @@ -132,6 +132,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hdinsight/resource-manager ``` ## Python @@ -208,6 +211,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/healthcareapis/resource-manager/readme.azureresourceschema.md b/specification/healthcareapis/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..79acdb91e0c6 --- /dev/null +++ b/specification/healthcareapis/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-healthcareapis-2019-09-16 + - tag: schema-healthcareapis-2018-08-20-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-healthcareapis-2019-09-16 and azureresourceschema + +``` yaml $(tag) == 'schema-healthcareapis-2019-09-16' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HealthcareApis/stable/2019-09-16/healthcare-apis.json + +``` + +### Tag: schema-healthcareapis-2018-08-20-preview and azureresourceschema + +``` yaml $(tag) == 'schema-healthcareapis-2018-08-20-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json + +``` diff --git a/specification/healthcareapis/resource-manager/readme.md b/specification/healthcareapis/resource-manager/readme.md index b9add5d92b09..f236f6dfd961 100644 --- a/specification/healthcareapis/resource-manager/readme.md +++ b/specification/healthcareapis/resource-manager/readme.md @@ -65,6 +65,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js healthcareapis/resource-manager ``` ## C# @@ -142,6 +145,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json new file mode 100644 index 000000000000..1503a5844cc0 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json @@ -0,0 +1,1212 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridComputeManagementClient", + "description": "The Hybrid Compute Management Client.", + "version": "2020-07-30-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.HybridCompute/machines/{name}": { + "put": { + "tags": [ + "machines" + ], + "operationId": "Machines_CreateOrUpdate", + "description": "The operation to create or update a hybrid machine resource identity in Azure.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Machine" + }, + "description": "Parameters supplied to the Create hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine": { + "$ref": "./examples/Machines_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "machines" + ], + "operationId": "Machines_Update", + "description": "The operation to update a hybrid machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineUpdate" + }, + "description": "Parameters supplied to the Update hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Machine": { + "$ref": "./examples/Machines_Update.json" + } + } + }, + "delete": { + "tags": [ + "machines" + ], + "operationId": "Machines_Delete", + "description": "The operation to remove a hybrid machine identity in Azure.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Machine": { + "$ref": "./examples/Machines_Delete.json" + } + } + }, + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_Get", + "description": "Retrieves information about the model view or the instance view of a hybrid machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Machine": { + "$ref": "./examples/Machines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListByResourceGroup", + "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListBySubscription", + "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": { + "put": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/PUTExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Update", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtensionUpdate" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/UpdateExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be deleted." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Machine Extension": { + "$ref": "./examples/DELETEExtension.json" + } + } + }, + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + } + }, + "x-ms-examples": { + "GET Machine Extension": { + "$ref": "./examples/GETExtension.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": { + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_List", + "description": "The operation to get all extensions of a non-Azure machine", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtensionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GET all Machine Extensions": { + "$ref": "./examples/LISTExtension.json" + } + } + } + }, + "/providers/Microsoft.HybridCompute/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of hybrid compute operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/OperationValueDisplay" + } + ], + "description": "Display properties" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Hybrid Compute Operation Value Display." + }, + "OSProfile": { + "readOnly": true, + "properties": { + "computerName": { + "type": "string", + "readOnly": true, + "description": "Specifies the host OS name of the hybrid machine." + } + }, + "description": "Specifies the operating system settings for the hybrid machine." + }, + "MachineProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + }, + "osProfile": { + "allOf": [ + { + "$ref": "#/definitions/OSProfile" + } + ], + "description": "Specifies the operating system settings for the hybrid machine." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the hybrid machine agent.", + "enum": [ + "Connected", + "Disconnected", + "Error" + ], + "x-ms-enum": { + "name": "StatusTypes", + "modelAsString": true + } + }, + "lastStatusChange": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time of the last status change." + }, + "errorDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "Details about the error state." + }, + "agentVersion": { + "readOnly": true, + "type": "string", + "description": "The hybrid machine agent full version." + }, + "vmId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Specifies the hybrid machine unique ID." + }, + "displayName": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine display name." + }, + "machineFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine FQDN." + }, + "clientPublicKey": { + "type": "string", + "description": "Public Key that the client provides to be used during initial resource onboarding" + }, + "osName": { + "readOnly": true, + "type": "string", + "description": "The Operating System running on the hybrid machine." + }, + "osVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Operating System running on the hybrid machine." + }, + "vmUuid": { + "readOnly": true, + "type": "string", + "description": "Specifies the Arc Machine's unique SMBIOS ID" + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtensionInstanceView" + }, + "description": "Machine Extensions information" + }, + "osSku": { + "readOnly": true, + "type": "string", + "description": "Specifies the Operating System product SKU." + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "Specifies the Windows domain name." + }, + "adFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the AD fully qualified display name." + }, + "dnsFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the DNS fully qualified display name." + } + }, + "description": "Describes the properties of a hybrid machine." + }, + "MachineUpdateProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + } + }, + "description": "Describes the ARM updatable properties of a hybrid machine." + }, + "Machine": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineProperties" + } + ], + "description": "Hybrid Compute Machine properties" + }, + "identity": { + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a hybrid machine." + }, + "MachineUpdate": { + "properties": { + "identity": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ], + "description": "Hybrid Compute Machine Managed Identity" + }, + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineUpdateProperties" + } + ], + "description": "Hybrid Compute Machine properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a hybrid machine Update." + }, + "MachineListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Machine" + }, + "description": "The list of hybrid machines." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines." + } + }, + "required": [ + "value" + ], + "description": "The List hybrid machine operation response." + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error's code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + }, + "details": { + "description": "Additional error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorDetail" + } + }, + "required": [ + "error" + ] + }, + "Identity": { + "title": "Managed Identity.", + "type": "object", + "properties": { + "type": { + "description": "The identity type.", + "type": "string" + }, + "principalId": { + "readOnly": true, + "description": "The identity's principal id.", + "type": "string" + }, + "tenantId": { + "readOnly": true, + "description": "The identity's tenant id.", + "type": "string" + } + } + }, + "MachineExtension": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionProperties" + } + ], + "description": "Describes Machine Extension Properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a Machine Extension." + }, + "MachineExtensionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionUpdateProperties" + } + ], + "description": "Describes Machine Extension Update Properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Machine Extension Update." + }, + "MachineExtensionProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionInstanceView" + } + ], + "description": "The machine extension instance view." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionUpdateProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionInstanceView": { + "properties": { + "name": { + "type": "string", + "description": "The machine extension name." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "status": { + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "type": "string", + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": true + } + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + } + }, + "description": "Describes the Machine Extension Instance View." + }, + "MachineExtensionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "The list of extensions" + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions." + } + }, + "description": "Describes the Machine Extensions List Result." + } + }, + "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." + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json new file mode 100644 index 000000000000..662076fb9114 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "MMA", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json new file mode 100644 index 000000000000..860ebd816aef --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "displayStatus": "Provisioning succeeded", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2019-08-08T20:42:10.999Z" + } + } + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json new file mode 100644 index 000000000000..26f7a5c44e57 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/extensions", + "properties": { + "publisher": "Microsoft.Compute", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"" + }, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "displayStatus": "Provisioning succeeded", + "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ", + "time": "2020-08-13T17:18:57.405Z" + } + } + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension", + "name": "winosupdateextension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/extensions", + "properties": { + "publisher": "microsoft.softwareupdatemanagement.test", + "type": "windowsosupdateextension", + "typeHandlerVersion": "1.0.0.0", + "autoUpgradeMinorVersion": false, + "settings": {}, + "provisioningState": "Creating", + "instanceView": { + "name": "winosupdateextension", + "type": "windowsosupdateextension", + "typeHandlerVersion": "1.0.0.0", + "status": {} + } + } + } + ] + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json new file mode 100644 index 000000000000..689cbb023e87 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview", + "parameters": { + "location": "eastus2euap", + "properties": { + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json new file mode 100644 index 000000000000..8f0a211d6c34 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json new file mode 100644 index 000000000000..b7bc22092de3 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json new file mode 100644 index 000000000000..f9359557c3fb --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json new file mode 100644 index 000000000000..a51eff845c69 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-07-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json new file mode 100644 index 000000000000..4944e20150b5 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-07-30-preview", + "location": "eastus2euap", + "parameters": { + "properties": { + "locationData": { + "name": "Redmond" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json new file mode 100644 index 000000000000..afe1f55d5faa --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-07-30-preview", + "extensionParameters": { + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "typeHandlerVersion": "1.10", + "type": "CustomScriptExtension", + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2020-08-08T20:42:10.999Z" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json new file mode 100644 index 000000000000..713470d5b138 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-07-30-preview", + "extensionParameters": { + "properties": { + "publisher": "Microsoft.Compute", + "typeHandlerVersion": "1.10", + "type": "CustomScriptExtension", + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2020-01-08T20:42:10.999Z" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json new file mode 100644 index 000000000000..8ba25706434d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json @@ -0,0 +1,1205 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridComputeManagementClient", + "description": "The Hybrid Compute Management Client.", + "version": "2020-08-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}": { + "put": { + "tags": [ + "machines" + ], + "operationId": "Machines_CreateOrUpdate", + "description": "The operation to create or update a hybrid machine resource identity in Azure.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Machine" + }, + "description": "Parameters supplied to the Create hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine": { + "$ref": "./examples/Machines_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "machines" + ], + "operationId": "Machines_Update", + "description": "The operation to update a hybrid machine.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineUpdate" + }, + "description": "Parameters supplied to the Update hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Machine": { + "$ref": "./examples/Machines_Update.json" + } + } + }, + "delete": { + "tags": [ + "machines" + ], + "operationId": "Machines_Delete", + "description": "The operation to remove a hybrid machine identity in Azure.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Machine": { + "$ref": "./examples/Machines_Delete.json" + } + } + }, + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_Get", + "description": "Retrieves information about the model view or the instance view of a hybrid machine.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Machine": { + "$ref": "./examples/Machines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListByResourceGroup", + "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListBySubscription", + "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": { + "put": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/PUTExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Update", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtensionUpdate" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/UpdateExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be deleted." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Machine Extension": { + "$ref": "./examples/DELETEExtension.json" + } + } + }, + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + } + }, + "x-ms-examples": { + "GET Machine Extension": { + "$ref": "./examples/GETExtension.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": { + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_List", + "description": "The operation to get all extensions of a non-Azure machine", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtensionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GET all Machine Extensions": { + "$ref": "./examples/LISTExtension.json" + } + } + } + }, + "/providers/Microsoft.HybridCompute/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of hybrid compute operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/OperationValueDisplay" + } + ], + "description": "Display properties" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Hybrid Compute Operation Value Display." + }, + "OSProfile": { + "readOnly": true, + "properties": { + "computerName": { + "type": "string", + "readOnly": true, + "description": "Specifies the host OS name of the hybrid machine." + } + }, + "description": "Specifies the operating system settings for the hybrid machine." + }, + "MachineProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + }, + "osProfile": { + "allOf": [ + { + "$ref": "#/definitions/OSProfile" + } + ], + "description": "Specifies the operating system settings for the hybrid machine." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the hybrid machine agent.", + "enum": [ + "Connected", + "Disconnected", + "Error" + ], + "x-ms-enum": { + "name": "StatusTypes", + "modelAsString": true + } + }, + "lastStatusChange": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time of the last status change." + }, + "errorDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "Details about the error state." + }, + "agentVersion": { + "readOnly": true, + "type": "string", + "description": "The hybrid machine agent full version." + }, + "vmId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Specifies the hybrid machine unique ID." + }, + "displayName": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine display name." + }, + "machineFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine FQDN." + }, + "clientPublicKey": { + "type": "string", + "description": "Public Key that the client provides to be used during initial resource onboarding" + }, + "osName": { + "readOnly": true, + "type": "string", + "description": "The Operating System running on the hybrid machine." + }, + "osVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Operating System running on the hybrid machine." + }, + "vmUuid": { + "readOnly": true, + "type": "string", + "description": "Specifies the Arc Machine's unique SMBIOS ID" + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtensionInstanceView" + }, + "description": "Machine Extensions information" + }, + "osSku": { + "readOnly": true, + "type": "string", + "description": "Specifies the Operating System product SKU." + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "Specifies the Windows domain name." + }, + "adFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the AD fully qualified display name." + }, + "dnsFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the DNS fully qualified display name." + }, + "privateLinkScopedResources": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of private link scoped resources associated with this machine." + } + }, + "description": "Describes the properties of a hybrid machine." + }, + "MachineUpdateProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + } + }, + "description": "Describes the ARM updatable properties of a hybrid machine." + }, + "Machine": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineProperties" + } + ], + "description": "Hybrid Compute Machine properties" + }, + "identity": { + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a hybrid machine." + }, + "MachineUpdate": { + "properties": { + "identity": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ], + "description": "Hybrid Compute Machine Managed Identity" + }, + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineUpdateProperties" + } + ], + "description": "Hybrid Compute Machine properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a hybrid machine Update." + }, + "MachineListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Machine" + }, + "description": "The list of hybrid machines." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines." + } + }, + "required": [ + "value" + ], + "description": "The List hybrid machine operation response." + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error's code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + }, + "details": { + "description": "Additional error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorDetail" + } + }, + "required": [ + "error" + ] + }, + "Identity": { + "title": "Managed Identity.", + "type": "object", + "properties": { + "type": { + "description": "The identity type.", + "type": "string" + }, + "principalId": { + "readOnly": true, + "description": "The identity's principal id.", + "type": "string" + }, + "tenantId": { + "readOnly": true, + "description": "The identity's tenant id.", + "type": "string" + } + } + }, + "MachineExtension": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionProperties" + } + ], + "description": "Describes Machine Extension Properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a Machine Extension." + }, + "MachineExtensionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionUpdateProperties" + } + ], + "description": "Describes Machine Extension Update Properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Machine Extension Update." + }, + "MachineExtensionProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionInstanceView" + } + ], + "description": "The machine extension instance view." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionUpdateProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionInstanceView": { + "properties": { + "name": { + "type": "string", + "description": "The machine extension name." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "status": { + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "type": "string", + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": true + } + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + } + }, + "description": "Describes the Machine Extension Instance View." + }, + "MachineExtensionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "The list of extensions" + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions." + } + }, + "description": "Describes the Machine Extensions List Result." + } + }, + "parameters": {} +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json new file mode 100644 index 000000000000..11665bd285e8 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "MMA", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json new file mode 100644 index 000000000000..81ef4f179bc9 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "displayStatus": "Provisioning succeeded", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2019-08-08T20:42:10.999Z" + } + } + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json new file mode 100644 index 000000000000..21e731a8cee1 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/extensions", + "properties": { + "publisher": "Microsoft.Compute", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"" + }, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "displayStatus": "Provisioning succeeded", + "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ", + "time": "2020-08-13T17:18:57.405Z" + } + } + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension", + "name": "winosupdateextension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/extensions", + "properties": { + "publisher": "microsoft.softwareupdatemanagement.test", + "type": "windowsosupdateextension", + "typeHandlerVersion": "1.0.0.0", + "autoUpgradeMinorVersion": false, + "settings": {}, + "provisioningState": "Creating", + "instanceView": { + "name": "winosupdateextension", + "type": "windowsosupdateextension", + "typeHandlerVersion": "1.0.0.0", + "status": {} + } + } + } + ] + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json new file mode 100644 index 000000000000..b4ed6ca14786 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview", + "parameters": { + "location": "eastus2euap", + "properties": { + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json new file mode 100644 index 000000000000..871d9aeee1cb --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json new file mode 100644 index 000000000000..008718dd4d85 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json new file mode 100644 index 000000000000..1f451d855140 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json new file mode 100644 index 000000000000..578067cfe6db --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json new file mode 100644 index 000000000000..69ba54c6543a --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-15-preview", + "location": "eastus2euap", + "parameters": { + "properties": { + "locationData": { + "name": "Redmond" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "privateLinkScopedResources": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name" + ], + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json new file mode 100644 index 000000000000..ef06564af353 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-15-preview", + "extensionParameters": { + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "typeHandlerVersion": "1.10", + "type": "CustomScriptExtension", + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2020-08-08T20:42:10.999Z" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..35015feb8d2d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..ce4874f2ad7d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json new file mode 100644 index 000000000000..56a8b7d4e74f --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2", + "name": "private-endpoint-connection-name-2", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection.", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..e5537ca5b39a --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "privateEndpointConnectionName": "private-endpoint-connection-name", + "api-version": "2020-08-15-preview", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name", + "name": "private-endpoint-connection-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json new file mode 100644 index 000000000000..99edb39f0070 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2020-08-15-preview", + "groupName": "hybridcompute" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateLinkResources/hybridcompute", + "name": "hybridcompute", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateLinkResources", + "properties": { + "groupId": "hybridcompute", + "requiredMembers": [ + "HybridCompute.Server", + "HybridCompute.K8sConfiguration", + "GuestConfig.DP" + ], + "requiredZoneNames": [ + "privatelink.his.arc.azure.com", + "privatelink.kubernetesconfiguration.azure.com", + "privatelink.Guestconfiguration.azure.com" + ] + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json new file mode 100644 index 000000000000..203972d0f2ca --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateLinkResources/hybridcompute", + "name": "hybridcompute", + "type": "Microsoft.HybridCompute/privateLinkScopes/privateLinkResources", + "properties": { + "groupId": "hybridcompute", + "requiredMembers": [ + "HybridCompute.ServerDP", + "HybridCompute.K8sConfigurationDP", + "HybridCompute.GuestConfigDP" + ], + "requiredZoneNames": [ + "privatelink.his.arc.azure.com", + "privatelink.kubernetesconfiguration.azure.com", + "privatelink.Guestconfiguration.azure.com" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json new file mode 100644 index 000000000000..2b177d893207 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "name": "scoped-resource-name", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json new file mode 100644 index 000000000000..aa2d586359e1 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "name": "scoped-resource-name", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name", + "name": "scoped-resource-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Kubernetes/ConnectedCluster/ConnectedClusterName1", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json new file mode 100644 index 000000000000..4363b54a9074 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "api-version": "2020-08-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name1", + "name": "scoped-resource-name1", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2", + "name": "scoped-resource-name2", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Kubernetes/ConnectedCluster/ConnectedClusterName2", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json new file mode 100644 index 000000000000..7e0e32acbb76 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myResourceGroup", + "scopeName": "myPrivateLinkScope", + "name": "scoped-resource-name", + "api-version": "2020-08-15-preview", + "parameters": { + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name", + "name": "scoped-resource-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name", + "name": "scoped-resource-name", + "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources", + "properties": { + "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json new file mode 100644 index 000000000000..2975811bfdcc --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "parameters": { + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json new file mode 100644 index 000000000000..56a13d7cbf2f --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json new file mode 100644 index 000000000000..c54013c0de07 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json new file mode 100644 index 000000000000..63e1a8e83692 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2019-10-17-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-other-privatelinkscope", + "name": "my-other-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json new file mode 100644 index 000000000000..ca999f43b5cf --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-other-privatelinkscope", + "name": "my-other-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json new file mode 100644 index 000000000000..396ef792e969 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "parameters": { + "location": "westus", + "tags": { + "Tag1": "Value1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridCompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridCompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json new file mode 100644 index 000000000000..7b18b40dfedb --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-08-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "scopeName": "my-privatelinkscope", + "PrivateLinkScopeTags": { + "tags": { + "Tag1": "Value1", + "Tag2": "Value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope", + "name": "my-privatelinkscope", + "type": "Microsoft.HybridCompute/privateLinkScopes", + "location": "westus", + "tags": { + "Tag1": "Value1", + "Tag2": "Value2" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json new file mode 100644 index 000000000000..f3dabfd2747b --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-15-preview", + "extensionParameters": { + "properties": { + "publisher": "Microsoft.Compute", + "typeHandlerVersion": "1.10", + "type": "CustomScriptExtension", + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2020-01-08T20:42:10.999Z" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json new file mode 100644 index 000000000000..e128ff52eb6f --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json @@ -0,0 +1,1239 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridComputeManagementClient", + "x-ms-code-generation-settings": { + "name": "HybridComputeManagementClient" + }, + "description": "Azure Arc( Servers and K8s Clusters) API reference for Private Link's Scopes management.", + "version": "2020-08-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/privateLinkScopes": { + "get": { + "description": "Gets a list of all Azure Arc PrivateLinkScopes within a subscription.", + "operationId": "PrivateLinkScopes_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScopeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopesList.json": { + "$ref": "./examples/PrivateLinkScopesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes": { + "get": { + "description": "Gets a list of Azure Arc PrivateLinkScopes within a resource group.", + "operationId": "PrivateLinkScopes_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScopeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeListByResourceGroup": { + "$ref": "./examples/PrivateLinkScopesListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}": { + "delete": { + "description": "Deletes a Azure Arc PrivateLinkScope.", + "operationId": "PrivateLinkScopes_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successful request when deleting an Azure Arc PrivateLinkScope." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified PrivateLinkScope does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PrivateLinkScopesDelete": { + "$ref": "./examples/PrivateLinkScopesDelete.json" + } + } + }, + "get": { + "description": "Returns a Azure Arc PrivateLinkScope.", + "operationId": "PrivateLinkScopes_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Azure Arc PrivateLinkScope definition.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeGet": { + "$ref": "./examples/PrivateLinkScopesGet.json" + } + } + }, + "put": { + "description": "Creates (or updates) a Azure Arc PrivateLinkScope. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.", + "operationId": "PrivateLinkScopes_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "parameters", + "description": "Properties that need to be specified to create or update a Azure Arc for Servers and Clusters PrivateLinkScope.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + } + ], + "responses": { + "200": { + "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope is returned.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "201": { + "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope was created and is returned.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeCreate": { + "$ref": "./examples/PrivateLinkScopesCreate.json" + }, + "PrivateLinkScopeUpdate": { + "$ref": "./examples/PrivateLinkScopesUpdate.json" + } + } + }, + "patch": { + "description": "Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate method.", + "operationId": "PrivateLinkScopes_UpdateTags", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "PrivateLinkScopeTags", + "description": "Updated tag information to set into the PrivateLinkScope instance.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "200": { + "description": "Updating the Azure Arc PrivateLinkScope's tags was successful. PrivateLinkScope tags are updated and returned with the rest of the PrivateLinkScope's object properties.", + "schema": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "PrivateLinkScopeUpdateTagsOnly": { + "$ref": "./examples/PrivateLinkScopesUpdateTagsOnly.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.", + "operationId": "PrivateLinkResources_ListByPrivateLinkScope", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateLinkScopePrivateLinkResourceListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.", + "operationId": "PrivateLinkResources_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "$ref": "#/parameters/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateLinkScopePrivateLinkResourceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully deleted private endpoint connection." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/PrivateEndpointConnectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets all private endpoint connections on a private link scope.", + "operationId": "PrivateEndpointConnections_ListByPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets list of private endpoint connections on a private link scope.": { + "$ref": "./examples/PrivateEndpointConnectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/scopedResources/{name}": { + "get": { + "tags": [ + "PrivateLinkScopedResources" + ], + "description": "Gets a scoped resource in a private link scope.", + "operationId": "PrivateLinkScopedResources_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the scoped resource object.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a scoped resource in a private link scope.", + "schema": { + "$ref": "#/definitions/ScopedResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-examples": { + "Gets private link scoped resource.": { + "$ref": "./examples/PrivateLinkScopedResourceGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateLinkScopedResources" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateLinkScopedResources_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the scoped resource object.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedResource" + } + } + ], + "responses": { + "200": { + "description": "Successfully create or updated a new Azure Arc scoped resource in a private link scope.", + "schema": { + "$ref": "#/definitions/ScopedResource" + } + }, + "201": { + "description": "Successfully created a new Azure Arc scoped resource in a private link scope.", + "schema": { + "$ref": "#/definitions/ScopedResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a scoped resource in a private link scope.": { + "$ref": "./examples/PrivateLinkScopedResourceUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateLinkScopedResources" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateLinkScopedResources_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the scoped resource object.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully deleted scoped resource." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "Scoped resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a scoped resource with a given name.": { + "$ref": "./examples/PrivateLinkScopedResourceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/scopedResources": { + "get": { + "tags": [ + "PrivateLinkScopedResources" + ], + "description": "Gets all private endpoint connections on a private link scope.", + "operationId": "PrivateLinkScopedResources_ListByPrivateLinkScope", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PrivateLinkScopeName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scoped resources in a private link scope.", + "schema": { + "$ref": "#/definitions/ScopedResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets list of scoped resources in a private link scope.": { + "$ref": "./examples/PrivateLinkScopedResourceList.json" + } + } + } + } + }, + "definitions": { + "PrivateLinkScopesResource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "description": "Azure resource name", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "TagsResource": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a PrivateLinkScope instance." + }, + "HybridComputePrivateLinkScope": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties that define a Azure Arc PrivateLinkScope resource.", + "$ref": "#/definitions/HybridComputePrivateLinkScopeProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/PrivateLinkScopesResource" + } + ], + "description": "An Azure Arc PrivateLinkScope definition." + }, + "HybridComputePrivateLinkScopeProperties": { + "description": "Properties that define a Azure Arc PrivateLinkScope resource.", + "properties": { + "publicNetworkAccess": { + "description": "Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "provisioningState": { + "type": "string", + "description": "Current state of this PrivateLinkScope: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Provisioning ,Succeeded, Canceled and Failed.", + "readOnly": true + }, + "privateEndpointConnections": { + "readOnly": true, + "description": "List of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "HybridComputePrivateLinkScopeListResult": { + "description": "Describes the list of Azure Arc PrivateLinkScope resources.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of Azure Arc PrivateLinkScope definitions.", + "items": { + "$ref": "#/definitions/HybridComputePrivateLinkScope" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to get the next set of Azure Arc PrivateLinkScope definitions if too many PrivateLinkScopes where returned in the result set." + } + } + }, + "PrivateLinkResourceListResult": { + "description": "A list of private link resources", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateLinkResourceProperties": { + "description": "Properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "description": "Required DNS zone names of the the private link resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection state of the private endpoint connection." + }, + "provisioningState": { + "description": "State of the private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointProperty": { + "description": "Private endpoint which the connection belongs to.", + "type": "object", + "properties": { + "id": { + "description": "Resource id of the private endpoint.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionStateProperty": { + "description": "State of the private endpoint connection.", + "type": "object", + "required": [ + "status", + "description" + ], + "properties": { + "status": { + "description": "The private link service connection status.", + "type": "string" + }, + "description": { + "description": "The private link service connection description.", + "type": "string" + }, + "actionsRequired": { + "description": "The actions required for private link service connection.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "A list of private endpoint connections.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ScopedResourceListResult": { + "description": "A list of scoped resources in a private link scope.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ScopedResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ScopedResource": { + "description": "A private link scoped resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ScopedResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ScopedResourceProperties": { + "description": "Properties of a private link scoped resource.", + "type": "object", + "properties": { + "linkedResourceId": { + "description": "The resource id of the scoped Azure monitor resource.", + "type": "string" + }, + "provisioningState": { + "description": "State of the private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponseCommon": { + "allOf": [ + { + "$ref": "#/definitions/ErrorResponseV2" + } + ], + "properties": { + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponseCommon" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + }, + "description": "The resource management error response." + }, + "ErrorAdditionalInfo": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + }, + "ErrorResponseV2": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponseV2" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access policy to determine if Azure Arc agents can use public Azure Arc service endpoints. Defaults to disabled (access to Azure Arc services only via private link).", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints." + }, + { + "value": "Disabled", + "description": "Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link." + } + ] + } + } + }, + "parameters": { + "PrivateLinkScopeName": { + "name": "scopeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Arc PrivateLinkScope resource.", + "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" + }, + "GroupNameParameter": { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json new file mode 100644 index 000000000000..f316157c55eb --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json @@ -0,0 +1,1221 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridComputeManagementClient", + "description": "The Hybrid Compute Management Client.", + "version": "2020-08-02" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.HybridCompute/machines/{name}": { + "put": { + "tags": [ + "machines" + ], + "operationId": "Machines_CreateOrUpdate", + "description": "The operation to create or update a hybrid machine resource identity in Azure.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Machine" + }, + "description": "Parameters supplied to the Create hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update a Machine": { + "$ref": "./examples/Machines_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "machines" + ], + "operationId": "Machines_Update", + "description": "The operation to update a hybrid machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineUpdate" + }, + "description": "Parameters supplied to the Update hybrid machine operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Machine": { + "$ref": "./examples/Machines_Update.json" + } + } + }, + "delete": { + "tags": [ + "machines" + ], + "operationId": "Machines_Delete", + "description": "The operation to remove a hybrid machine identity in Azure.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Machine": { + "$ref": "./examples/Machines_Delete.json" + } + } + }, + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_Get", + "description": "Retrieves information about the model view or the instance view of a hybrid machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Machine": { + "$ref": "./examples/Machines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListByResourceGroup", + "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": { + "get": { + "tags": [ + "machines" + ], + "operationId": "Machines_ListBySubscription", + "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Machines by resource group": { + "$ref": "./examples/Machines_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": { + "put": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/PUTExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Update", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be created or updated." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MachineExtensionUpdate" + }, + "description": "Parameters supplied to the Create Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Create or Update a Machine Extension": { + "$ref": "./examples/UpdateExtension.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine where the extension should be deleted." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Machine Extension": { + "$ref": "./examples/DELETEExtension.json" + } + } + }, + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtension" + } + } + }, + "x-ms-examples": { + "GET Machine Extension": { + "$ref": "./examples/GETExtension.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": { + "get": { + "tags": [ + "MachineExtensions" + ], + "operationId": "MachineExtensions_List", + "description": "The operation to get all extensions of a non-Azure machine", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MachineExtensionsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GET all Machine Extensions": { + "$ref": "./examples/LISTExtension.json" + } + } + } + }, + "/providers/Microsoft.HybridCompute/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of hybrid compute operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/OperationValueDisplay" + } + ], + "description": "Display properties" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Hybrid Compute Operation Value Display." + }, + "OSProfile": { + "readOnly": true, + "properties": { + "computerName": { + "type": "string", + "readOnly": true, + "description": "Specifies the host OS name of the hybrid machine." + } + }, + "description": "Specifies the operating system settings for the hybrid machine." + }, + "MachineProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + }, + "osProfile": { + "allOf": [ + { + "$ref": "#/definitions/OSProfile" + } + ], + "description": "Specifies the operating system settings for the hybrid machine." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the hybrid machine agent.", + "enum": [ + "Connected", + "Disconnected", + "Error" + ], + "x-ms-enum": { + "name": "StatusTypes", + "modelAsString": true + } + }, + "lastStatusChange": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time of the last status change." + }, + "errorDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "Details about the error state." + }, + "agentVersion": { + "readOnly": true, + "type": "string", + "description": "The hybrid machine agent full version." + }, + "vmId": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Specifies the hybrid machine unique ID." + }, + "displayName": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine display name." + }, + "machineFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the hybrid machine FQDN." + }, + "clientPublicKey": { + "type": "string", + "description": "Public Key that the client provides to be used during initial resource onboarding" + }, + "osName": { + "readOnly": true, + "type": "string", + "description": "The Operating System running on the hybrid machine." + }, + "osVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Operating System running on the hybrid machine." + }, + "vmUuid": { + "readOnly": true, + "type": "string", + "description": "Specifies the Arc Machine's unique SMBIOS ID" + }, + "extensions": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtensionInstanceView" + }, + "description": "Machine Extensions information" + }, + "osSku": { + "readOnly": true, + "type": "string", + "description": "Specifies the Operating System product SKU." + }, + "domainName": { + "readOnly": true, + "type": "string", + "description": "Specifies the Windows domain name." + }, + "adFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the AD fully qualified display name." + }, + "dnsFqdn": { + "readOnly": true, + "type": "string", + "description": "Specifies the DNS fully qualified display name." + } + }, + "description": "Describes the properties of a hybrid machine." + }, + "MachineUpdateProperties": { + "properties": { + "locationData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData" + } + }, + "description": "Describes the ARM updatable properties of a hybrid machine." + }, + "Machine": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineProperties" + } + ], + "description": "Hybrid Compute Machine properties" + }, + "identity": { + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ] + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a hybrid machine." + }, + "MachineUpdate": { + "properties": { + "identity": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/Identity" + } + ], + "description": "Hybrid Compute Machine Managed Identity" + }, + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineUpdateProperties" + } + ], + "description": "Hybrid Compute Machine properties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a hybrid machine Update." + }, + "MachineListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Machine" + }, + "description": "The list of hybrid machines." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines." + } + }, + "required": [ + "value" + ], + "description": "The List hybrid machine operation response." + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "ErrorDetail": { + "title": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error's code.", + "type": "string" + }, + "message": { + "description": "A human readable error message.", + "type": "string" + }, + "target": { + "description": "Indicates which property in the request is responsible for the error.", + "type": "string" + }, + "details": { + "description": "Additional error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorResponse": { + "title": "Error response.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "#/definitions/ErrorDetail" + } + }, + "required": [ + "error" + ] + }, + "Identity": { + "title": "Managed Identity.", + "type": "object", + "properties": { + "type": { + "description": "The identity type.", + "type": "string" + }, + "principalId": { + "readOnly": true, + "description": "The identity's principal id.", + "type": "string" + }, + "tenantId": { + "readOnly": true, + "description": "The identity's tenant id.", + "type": "string" + } + } + }, + "MachineExtension": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionProperties" + } + ], + "description": "Describes Machine Extension Properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes a Machine Extension." + }, + "MachineExtensionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionUpdateProperties" + } + ], + "description": "Describes Machine Extension Update Properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Machine Extension Update." + }, + "MachineExtensionProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "allOf": [ + { + "$ref": "#/definitions/MachineExtensionInstanceView" + } + ], + "description": "The machine extension instance view." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionUpdateProperties": { + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + } + }, + "description": "Describes the properties of a Machine Extension." + }, + "MachineExtensionInstanceView": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The machine extension name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "readOnly": true, + "description": "Specifies the version of the script handler." + }, + "status": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "The status code." + }, + "level": { + "type": "string", + "readOnly": true, + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": true + } + }, + "displayStatus": { + "type": "string", + "readOnly": true, + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + } + }, + "description": "Describes the Machine Extension Instance View." + }, + "MachineExtensionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MachineExtension" + }, + "description": "The list of extensions" + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions." + } + }, + "description": "Describes the Machine Extensions List Result." + } + }, + "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." + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json new file mode 100644 index 000000000000..9fd984c65ae1 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "MMA", + "api-version": "2020-08-02" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json new file mode 100644 index 000000000000..3b19eabcec0d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "displayStatus": "Provisioning succeeded", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2019-08-08T20:42:10.999Z" + } + } + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json new file mode 100644 index 000000000000..7c582e273f3f --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/extensions", + "properties": { + "publisher": "Microsoft.Compute", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"" + }, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "displayStatus": "Provisioning succeeded", + "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ", + "time": "2020-08-13T17:18:57.405Z" + } + } + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension", + "name": "winosupdateextension", + "location": "eastus2euap", + "type": "Microsoft.HybridCompute/machines/extensions", + "properties": { + "publisher": "microsoft.softwareupdatemanagement.test", + "type": "windowsosupdateextension", + "typeHandlerVersion": "1.0.0.0", + "autoUpgradeMinorVersion": false, + "settings": {}, + "provisioningState": "Creating", + "instanceView": { + "name": "winosupdateextension", + "type": "windowsosupdateextension", + "typeHandlerVersion": "1.0.0.0", + "status": {} + } + } + } + ] + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json new file mode 100644 index 000000000000..1d1ddf766e4d --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02", + "parameters": { + "location": "eastus2euap", + "properties": { + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json new file mode 100644 index 000000000000..2376cf3566ae --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json new file mode 100644 index 000000000000..27caaa9aa0f1 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond", + "city": "redmond", + "district": null, + "countryOrRegion": "usa" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json new file mode 100644 index 000000000000..ea2e1d488be7 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json new file mode 100644 index 000000000000..04511ecac2b0 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + }, + { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2", + "name": "myMachine2", + "location": "westus2", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f", + "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json new file mode 100644 index 000000000000..a86eabdc0f42 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "api-version": "2020-08-02", + "location": "eastus2euap", + "parameters": { + "properties": { + "locationData": { + "name": "Redmond" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine", + "name": "myMachine", + "location": "eastus2euap", + "tags": null, + "identity": { + "type": "SystemAssigned", + "principalId": "string", + "tenantId": "string" + }, + "type": "Microsoft.HybridCompute/machines", + "properties": { + "provisioningState": "Succeeded", + "agentVersion": null, + "status": null, + "lastStatusChange": null, + "errorDetails": null, + "displayName": null, + "machineFqdn": null, + "vmUuid": null, + "osSku": null, + "domainName": null, + "adFqdn": null, + "dnsFqdn": null, + "osName": null, + "osVersion": null, + "osProfile": { + "computerName": null + }, + "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f", + "locationData": { + "name": "Redmond" + }, + "clientPublicKey": "string" + } + } + } + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json new file mode 100644 index 000000000000..b62c649e2bae --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-02", + "extensionParameters": { + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "typeHandlerVersion": "1.10", + "type": "CustomScriptExtension", + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2020-08-08T20:42:10.999Z" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json new file mode 100644 index 000000000000..8cf64191e1c7 --- /dev/null +++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "name": "myMachine", + "extensionName": "CustomScriptExtension", + "api-version": "2020-08-02", + "extensionParameters": { + "properties": { + "publisher": "Microsoft.Compute", + "typeHandlerVersion": "1.10", + "type": "CustomScriptExtension", + "settings": { + "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension", + "name": "CustomScriptExtension", + "type": "Microsoft.HybridCompute/machines/extensions", + "location": "eastus2euap", + "properties": { + "publisher": "Microsoft.Compute", + "type": "string", + "typeHandlerVersion": "1.10.3", + "autoUpgradeMinorVersion": false, + "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}", + "protectedSettings": {}, + "provisioningState": "Succeeded", + "instanceView": { + "name": "CustomScriptExtension", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.10.3", + "status": { + "code": "success", + "level": "Information", + "message": "Finished executing command, StdOut: , StdErr:", + "time": "2020-01-08T20:42:10.999Z" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/hybridcompute/resource-manager/readme.azureresourceschema.md b/specification/hybridcompute/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ecf289d5125f --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,85 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hybridcompute-2020-08-15-preview + - tag: schema-hybridcompute-2020-08-02 + - tag: schema-hybridcompute-2020-07-30-preview + - tag: schema-hybridcompute-2019-12-12 + - tag: schema-hybridcompute-2019-08-02 + - tag: schema-hybridcompute-2019-03-18 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hybridcompute-2020-08-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2020-08-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json + - Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json + +``` + +### Tag: schema-hybridcompute-2020-08-02 and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2020-08-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json + +``` + +### Tag: schema-hybridcompute-2020-07-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2020-07-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json + +``` + +### Tag: schema-hybridcompute-2019-12-12 and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2019-12-12' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json + +``` + +### Tag: schema-hybridcompute-2019-08-02 and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2019-08-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/preview/2019-08-02/HybridCompute.json + +``` + +### Tag: schema-hybridcompute-2019-03-18 and azureresourceschema + +``` yaml $(tag) == 'schema-hybridcompute-2019-03-18' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridCompute/preview/2019-03-18/HybridCompute.json + +``` diff --git a/specification/hybridcompute/resource-manager/readme.csharp.md b/specification/hybridcompute/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..463af704cda6 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.csharp.md @@ -0,0 +1,22 @@ +# C# HybridCompute + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for HybridCompute. + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Management.HybridCompute + output-folder: $(csharp-sdks-folder)/HybridCompute/Microsoft.Azure.Management.HybridCompute/src/Generated + clear-output-folder: true +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` diff --git a/specification/hybridcompute/resource-manager/readme.go.md b/specification/hybridcompute/resource-manager/readme.go.md new file mode 100644 index 000000000000..85441e52dba6 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.go.md @@ -0,0 +1,42 @@ +# Go HybridCompute + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true + namespace: hybridcompute + + directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` + +## Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2019-12 + - tag: package-2020-08-02 +``` + +### Tag: package-2020-08-02 and go + +These settings apply only when `--tag=package-2020-08-02 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-08-02' && $(go) +output-folder: $(go-sdk-folder)/services/hybridcompute/mgmt/2020-08-02/hybridcompute +``` + +### Tag: package-2019-12 and go + +These settings apply only when `--tag=package-2019-12 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2019-12' && $(go) +output-folder: $(go-sdk-folder)/services/hybridcompute/mgmt/2019-12-12/hybridcompute +``` diff --git a/specification/hybridcompute/resource-manager/readme.java.md b/specification/hybridcompute/resource-manager/readme.java.md new file mode 100644 index 000000000000..f33fbaa677cb --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.java.md @@ -0,0 +1,55 @@ +# Java HybridCompute + +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.hybridcompute +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hybridcompute + +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` + +## Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2019-12 + - tag: package-2020-08-02 +``` + +## Tag: package-2019-12 and java + +These settings apply only when `--tag=package-2019-12 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.hybridcompute.v2019_12_12 + output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2019_12_12 + +regenerate-manager: true +generate-interface: true +``` + +## Tag: package-2020-08-02 and java + +These settings apply only when `--tag=package-2020-08-02 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08-02' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.hybridcompute.v2020_08_02 + output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2020_08_02 + +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/hybridcompute/resource-manager/readme.md b/specification/hybridcompute/resource-manager/readme.md index e5c4d2515794..8a979ba5fe64 100644 --- a/specification/hybridcompute/resource-manager/readme.md +++ b/specification/hybridcompute/resource-manager/readme.md @@ -1,13 +1,13 @@ # HybridCompute - + > see https://aka.ms/autorest This is the AutoRest configuration file for HybridCompute RP. +--- +## Getting Started ---- -## Getting Started To build the SDK for HybridCompute, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,18 +15,30 @@ To build the SDK for HybridCompute, simply [Install AutoRest](https://aka.ms/aut To see additional help and options, run: > `autorest --help` + --- ## Configuration -### Basic Information +### Basic Information + These are the global settings for the HybridCompute API. ``` yaml openapi-type: arm -tag: package-2019-12 +tag: package-2020-08-02 ``` + +### Tag: package-preview-2020-08 + +These settings apply only when `--tag=package-preview-2020-08` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-08' +input-file: + - Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json + - Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json +``` ### Tag: package-2019-03 These settings apply only when `--tag=package-2019-03` is specified on the command line. @@ -54,7 +66,26 @@ input-file: - Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json ``` +### Tag: package-2020-07-30-preview + +These settings apply only when `--tag=package-2020-07-30-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-30-preview' +input-file: +- Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json +``` + +### Tag: package-2020-08-02 + +These settings apply only when `--tag=package-2020-08-02` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-02' +input-file: +- Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json +``` + --- + # Code Generation ## Swagger to SDK @@ -69,164 +100,46 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hybridcompute/resource-manager ``` --- -## C# - -These settings apply only when `--csharp` is specified on the command line. -Please also specify `--csharp-sdks-folder=`. - -``` yaml $(csharp) -csharp: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - namespace: Microsoft.Azure.Management.HybridCompute - output-folder: $(csharp-sdks-folder)/HybridCompute/Microsoft.Azure.Management.HybridCompute/src/Generated - clear-output-folder: true -directive: - - remove-operation: - - Machines_Reconnect - - Machines_CreateOrUpdate - - Machines_Update - - MachineExtensions_CreateOrUpdate - - MachineExtensions_Update - - MachineExtensions_Delete - - MachineExtensions_Get - - MachineExtensions_List -``` - -## PowerShell -``` yaml $(powershell) -powershell: - namespace: Microsoft.Azure.Management.HybridCompute - output-folder: generated - clear-output-folder: true -directive: - - remove-operation: - - Machines_Reconnect - - Machines_CreateOrUpdate - - Machines_Update - - MachineExtensions_CreateOrUpdate - - MachineExtensions_Update - - MachineExtensions_Delete - - MachineExtensions_Get - - MachineExtensions_List -``` +## AzureResourceSchema +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) -## Python +## C# -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.hybridcompute - package-name: azure-mgmt-hybridcompute - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute -directive: - - remove-operation: - - Machines_Reconnect - - Machines_CreateOrUpdate - - Machines_Update - - MachineExtensions_CreateOrUpdate - - MachineExtensions_Update - - MachineExtensions_Delete - - MachineExtensions_Get - - MachineExtensions_List -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute -directive: - - remove-operation: - - Machines_Reconnect - - Machines_CreateOrUpdate - - Machines_Update - - MachineExtensions_CreateOrUpdate - - MachineExtensions_Update - - MachineExtensions_Delete - - MachineExtensions_Get - - MachineExtensions_List -``` +See configuration in [readme.csharp.md](./readme.csharp.md) ## Go -These settings apply only when `--go` is specified on the command line. - -``` yaml $(go) -go: - license-header: MICROSOFT_APACHE_NO_VERSION - clear-output-folder: true - namespace: hybridcompute -``` - - -### Go multi-api - -``` yaml $(go) && $(multiapi) -batch: - - tag: package-2019-12 -``` - -### Tag: package-2019-12 and go - -These settings apply only when `--tag=package-2019-12 --go` is specified on the command line. -Please also specify `--go-sdk-folder=`. - -``` yaml $(tag)=='package-2019-12' && $(go) -output-folder: $(go-sdk-folder)/services/preview/hybridcompute/mgmt/2019-12-12/hybridcompute -``` +See configuration in [readme.go.md](./readme.go.md) ## Java -These settings apply only when `--java` is specified on the command line. -Please also specify `--azure-libraries-for-java-folder=`. +See configuration in [readme.java.md](./readme.java.md) -``` yaml $(java) -azure-arm: true -fluent: true -namespace: com.microsoft.azure.management.hybridcompute -license-header: MICROSOFT_MIT_NO_CODEGEN -payload-flattening-threshold: 1 -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hybridcompute -``` +## PowerShell -### Java multi-api +See configuration in the [Azure PowerShell repo](https://github.com/Azure/azure-powershell/tree/generation/src/ConnectedMachine) -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2019-12 -``` +## Python -### Tag: package-2019-12 and java +See configuration in [readme.python.md](./readme.python.md) -These settings apply only when `--tag=package-2019-12 --java` is specified on the command line. -Please also specify `--azure-libraries-for-java=`. +## Ruby -``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.hybridcompute.v2019_12_12 - output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2019_12_12 +See configuration in [readme.ruby.md](./readme.ruby.md) -regenerate-manager: true -generate-interface: true -``` +## TypeScript -## Multi-API/Profile support for AutoRest v3 generators +See configuration in [readme.typescript](./readme.typescript.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -238,17 +151,20 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json + - $(this-folder)/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json - $(this-folder)/Microsoft.HybridCompute/preview/2019-03-18/HybridCompute.json - $(this-folder)/Microsoft.HybridCompute/preview/2019-08-02/HybridCompute.json - $(this-folder)/Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json + - $(this-folder)/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json + - $(this-folder)/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/hybridcompute/resource-manager/readme.python.md b/specification/hybridcompute/resource-manager/readme.python.md new file mode 100644 index 000000000000..8a2abe1db917 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.python.md @@ -0,0 +1,36 @@ +# Python HybridCompute + +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.hybridcompute + package-name: azure-mgmt-hybridcompute + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` diff --git a/specification/hybridcompute/resource-manager/readme.ruby.md b/specification/hybridcompute/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..f92be0b96725 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.ruby.md @@ -0,0 +1,14 @@ +## Ruby HybridCompute + +These settings apply only when `--ruby` is specified on the command line. + +``` yaml +package-name: azure_mgmt_hybridcompute +azure-arm: true + +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` diff --git a/specification/hybridcompute/resource-manager/readme.typescript.md b/specification/hybridcompute/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..f069d08bc706 --- /dev/null +++ b/specification/hybridcompute/resource-manager/readme.typescript.md @@ -0,0 +1,24 @@ +## TypeScript HybridCompute + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +## Common TypeScript settings + +``` yaml $(typescript) +typescript: + azure-arm: true + generate-metadata: true + +directive: + - remove-operation: + - Machines_Reconnect + - Machines_CreateOrUpdate + - Machines_Update +``` + +``` yaml $(typescript) && !$(profile) + package-name: "@azure/arm-hybridcompute" + output-folder: "$(typescript-sdks-folder)/sdk/hybridcompute/arm-hybridcompute" + clear-output-folder: true +``` diff --git a/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md b/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3bbb7db8e693 --- /dev/null +++ b/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hybriddata-2019-06-01 + - tag: schema-hybriddata-2016-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hybriddata-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-hybriddata-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridData/stable/2019-06-01/hybriddata.json + +``` + +### Tag: schema-hybriddata-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-hybriddata-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridData/stable/2016-06-01/hybriddata.json + +``` diff --git a/specification/hybriddatamanager/resource-manager/readme.md b/specification/hybriddatamanager/resource-manager/readme.md index d05458e528e2..0184fef60e98 100644 --- a/specification/hybriddatamanager/resource-manager/readme.md +++ b/specification/hybriddatamanager/resource-manager/readme.md @@ -82,6 +82,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_hybriddatamanager'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hybriddatamanager/resource-manager ``` @@ -150,6 +153,10 @@ python: output-folder: $(python-sdks-folder)/azure-mgmt-hybriddatamanager ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/hybridkubernetes/resource-manager/readme.azureresourceschema.md b/specification/hybridkubernetes/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..963de1cc8c8b --- /dev/null +++ b/specification/hybridkubernetes/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-kubernetes-2020-01-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-kubernetes-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-kubernetes-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json + +``` diff --git a/specification/hybridkubernetes/resource-manager/readme.md b/specification/hybridkubernetes/resource-manager/readme.md index e60faf4e7f2d..096f12a29479 100644 --- a/specification/hybridkubernetes/resource-manager/readme.md +++ b/specification/hybridkubernetes/resource-manager/readme.md @@ -57,6 +57,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_hybridkubernetes'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hybridkubernetes/resource-manager ``` ## Go @@ -79,6 +82,10 @@ See configuration in [readme.csharp.md](./readme.csharp.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json new file mode 100644 index 000000000000..be4e038ae09f --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json @@ -0,0 +1,278 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The definitions in this swagger specification will be used to manage the hybrid network resources.", + "version": "2020-01-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": {}, + "definitions": { + "ErrorDetails": { + "description": "The error response that indicates why an operation has failed.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "ErrorResponse": { + "description": "The error response details containing error code and error message", + "type": "object", + "additionalProperties": true, + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "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." + } + }, + "description": "Common resource representation.", + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another sub resource.", + "x-ms-azure-resource": true + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Unknown", + "Succeeded", + "Accepted", + "Deleting", + "Failed", + "Canceled", + "Deleted" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "VendorProvisioningState": { + "type": "string", + "description": "The current vendor provisioning state.", + "enum": [ + "Unknown", + "NotProvisioned", + "Provisioning", + "Provisioned", + "Deprovisioned", + "UserDataValidationFailed" + ], + "x-ms-enum": { + "name": "VendorProvisioningState", + "modelAsString": true + } + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "NetworkInterface": { + "description": "Network interface properties.", + "properties": { + "networkInterfaceName": { + "type": "string", + "description": "The name of the network interface." + }, + "macAddress": { + "type": "string", + "description": "The MAC address of the network interface." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "A list of IP configurations of the network interface." + }, + "vmSwitchType": { + "type": "string", + "description": "The type of VM switch", + "enum": [ + "Unknown", + "Management", + "Wan", + "Lan", + "Internal" + ], + "x-ms-enum": { + "name": "VMSwitchType", + "modelAsString": true + } + } + } + }, + "NetworkInterfaceIPConfiguration": { + "description": "Network interface IP configuration properties.", + "properties": { + "ipAllocationMethod": { + "type": "string", + "description": "IP address allocation method.", + "enum": [ + "Unknown", + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "ipAddress": { + "type": "string", + "description": "The value of the IP address." + }, + "subnet": { + "type": "string", + "description": "The value of the subnet." + }, + "gateway": { + "type": "string", + "description": "The value of the gateway." + }, + "ipVersion": { + "type": "string", + "description": "IP address version.", + "enum": [ + "Unknown", + "IPv4" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "dnsServers": { + "type": "array", + "description": "The list of DNS servers IP addresses.", + "items": { + "type": "string" + } + } + } + }, + "UserDataTemplate": { + "type": "object", + "description": "The user data template." + }, + "UserDataParameters": { + "type": "object", + "description": "The user data parameters." + }, + "ManagedApplicationParameters": { + "type": "object", + "description": "The parameters for the managed application." + }, + "SkuType": { + "type": "string", + "description": "Sku type", + "enum": [ + "Unknown", + "EvolvedPacketCore", + "SDWAN" + ], + "x-ms-enum": { + "name": "SkuType", + "modelAsString": true + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json new file mode 100644 index 000000000000..2e2b87d45439 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json @@ -0,0 +1,499 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the hybrid network device", + "version": "2020-01-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.HybridNetwork/devices/{deviceName}": { + "delete": { + "tags": [ + "Devices" + ], + "operationId": "Devices_Delete", + "description": "Deletes the specified hybrid network device.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid network device." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "Accepted. Sets the provisioningState to 'Deleting' until the operation is completed. Returns an operation Uri that can be queried to find the current state of the operation." + }, + "204": { + "description": "Request successful. Resource with specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Delete hybrid network device resource": { + "$ref": "./examples/DeviceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Devices" + ], + "operationId": "Devices_Get", + "description": "Gets information about the specified hybrid network device.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of hybrid network device." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting hybrid network device resource.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get hybrid network device": { + "$ref": "./examples/DeviceGet.json" + } + } + }, + "put": { + "tags": [ + "Devices" + ], + "operationId": "Devices_CreateOrUpdate", + "description": "Creates or updates a hybrid network device.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource name for the device resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Device" + }, + "description": "Parameters supplied to the create or update hybrid network device operation." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Create or update successful.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "201": { + "description": "Create or update successful. The header contains ‘Azure-AsyncOperation’ header pointing to an operations resource. The operation URI can be queried to find the current state of the operation.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Create or update hybrid network device": { + "$ref": "./examples/DeviceCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Devices" + ], + "operationId": "Devices_UpdateTags", + "description": "Updates a hybrid network device tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid network device." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update hybrid network device tags." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting hybrid network device resource.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Update hybrid network device tags": { + "$ref": "./examples/DeviceUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/devices": { + "get": { + "tags": [ + "Devices" + ], + "operationId": "Devices_ListBySubscription", + "description": "Lists all the hybrid network devices in a subscription.", + "parameters": [ + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of hybrid network device resources.", + "schema": { + "$ref": "#/definitions/DeviceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "List all hybrid network devices in a subscription.": { + "$ref": "./examples/DeviceListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/devices": { + "get": { + "tags": [ + "Devices" + ], + "operationId": "Devices_ListByResourceGroup", + "description": "Lists all the hybrid network devices in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of hybrid network device resources.", + "schema": { + "$ref": "#/definitions/DeviceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "List all hybrid network devices in resource group": { + "$ref": "./examples/DeviceListAllByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/devices/{deviceName}/listRegistrationKey": { + "post": { + "tags": [ + "Devices" + ], + "operationId": "Devices_ListRegistrationKey", + "description": "List the registration key for the hybrid network device.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the hybrid network device." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The registration key information for the hybrid network device.", + "schema": { + "$ref": "#/definitions/DeviceRegistrationKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get hybrid network device registration key": { + "$ref": "./examples/DeviceListRegistrationKey.json" + } + } + } + } + }, + "definitions": { + "Device": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevicePropertiesFormat", + "description": "Hybrid network device properties." + } + }, + "allOf": [ + { + "$ref": "./common.json#/definitions/Resource" + } + ], + "description": "Hybrid network device resource." + }, + "DevicePropertiesFormat": { + "description": "Hybrid network device properties.", + "required": [ + "deviceType" + ], + "discriminator": "deviceType", + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The current device status.", + "enum": [ + "Unknown", + "NotRegistered", + "Registered" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the hybrid network device resource." + }, + "deviceType": { + "type": "string", + "description": "The type of the hybrid network device.", + "enum": [ + "Unknown", + "AzureStackEdge" + ], + "x-ms-enum": { + "name": "DeviceType", + "modelAsString": true + } + }, + "azureStackEdge": { + "x-ms-discriminator-value": "AzureStackEdge", + "$ref": "./common.json#/definitions/SubResource", + "description": "The reference to the azure stack edge device." + }, + "virtualNetworkFunctions": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./common.json#/definitions/SubResource" + }, + "description": "The list of virtual network functions deployed on the hybrid network device." + } + } + }, + "DeviceRegistrationKey": { + "description": "The hybrid network device registration key", + "properties": { + "registrationKey": { + "readOnly": true, + "type": "string", + "description": "The registration key for hybrid network device." + } + } + }, + "DeviceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Device" + }, + "description": "A list of hybrid network devices." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for hybrid network devices API service call." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/CreateVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/CreateVendorSkuPreview.json new file mode 100644 index 000000000000..de7af1768144 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/CreateVendorSkuPreview.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku", + "previewSubscription": "previewSub", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub", + "name": "previewSub", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub", + "name": "previewSub", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeleteVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeleteVendorSkuPreview.json new file mode 100644 index 000000000000..618a390d74e2 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeleteVendorSkuPreview.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku", + "previewSubscription": "previewSub" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json new file mode 100644 index 000000000000..3b4cabc40640 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice", + "parameters": { + "location": "eastus", + "properties": { + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "virtualNetworkFunctions": null + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Accepted", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "virtualNetworkFunctions": null + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceDelete.json new file mode 100644 index 000000000000..dae46cbb80b4 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json new file mode 100644 index 000000000000..47df323a3673 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "virtualNetworkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction" + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json new file mode 100644 index 000000000000..673abf63ec08 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "virtualNetworkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction" + } + ] + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json new file mode 100644 index 000000000000..758b069ac135 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "virtualNetworkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction" + } + ] + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListRegistrationKey.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListRegistrationKey.json new file mode 100644 index 000000000000..bc8ab344a835 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListRegistrationKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice" + }, + "responses": { + "200": { + "body": { + "registrationKey": "TestRegistartionKey" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json new file mode 100644 index 000000000000..ae7e1e586e9b --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "virtualNetworkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction" + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..96a50bbecce7 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2020-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HybridNetwork/vnfs/read", + "display": { + "provider": "Microsoft Hybrid Network", + "resource": "Vnf", + "operation": "Get Vnf", + "description": "Gets Vnf" + } + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreview.json new file mode 100644 index 000000000000..27799fcaf1aa --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreview.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku", + "previewSubscription": "previewSub" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub", + "name": "previewSub", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreviews.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreviews.json new file mode 100644 index 000000000000..1509775280a1 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreviews.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub1", + "name": "previewSub1", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + }, + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub2", + "name": "previewSub2", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorCreate.json new file mode 100644 index 000000000000..4e4e33340954 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorCreate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "name": "TestVendor", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "TestVendor", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorDelete.json new file mode 100644 index 000000000000..9d6104c74403 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorGet.json new file mode 100644 index 000000000000..ac2a0a656c7e --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor" + }, + "responses": { + "200": { + "body": { + "name": "TestVendor", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Succeeded", + "skus": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/skus/TestVendorSku" + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListAll.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListAll.json new file mode 100644 index 000000000000..7d1446d83b9e --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListAll.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestVendor", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Succeeded", + "skus": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestVendorSku1" + } + ] + } + }, + { + "name": "TestVendor2", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor2", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Succeeded", + "skus": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestVendorSku2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json new file mode 100644 index 000000000000..1402c9d87fe5 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku", + "parameters": { + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "managedApplicationTemplate": {}, + "virtualNetworkFunctionTemplate": { + "virutalNetworkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "imageReference": { + "osType": "Linux", + "vhdName": "vhdName", + "vhdType": "VHD", + "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + }, + "osProfile": { + "adminUsername": "dummyuser", + "adminPassword": "dummypassword", + "sshPublicKey": null + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestSku", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "virtualNetworkFunctionTemplate": { + "virutalNetworkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "imageReference": { + "osType": "Linux", + "vhdName": "vhdName", + "vhdType": "VHD", + "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + }, + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + }, + "201": { + "body": { + "name": "TestSku", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Accepted", + "managedApplicationTemplate": {}, + "virtualNetworkFunctionTemplate": { + "virutalNetworkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "imageReference": { + "osType": "Linux", + "vhdName": "vhdName", + "vhdType": "VHD", + "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + }, + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuDelete.json new file mode 100644 index 000000000000..c1d9ffdc904a --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuGet.json new file mode 100644 index 000000000000..605cc22e53dd --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku" + }, + "responses": { + "200": { + "body": { + "name": "TestSku", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "virtualNetworkFunctionTemplate": { + "virutalNetworkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "imageReference": { + "osType": "Linux", + "vhdName": "vhdName", + "vhdType": "VHD", + "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + }, + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListAll.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListAll.json new file mode 100644 index 000000000000..9d6161f86364 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuListAll.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestSku1", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku1", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "virtualNetworkFunctionTemplate": { + "virutalNetworkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "imageReference": { + "osType": "Linux", + "vhdName": "vhdName", + "vhdType": "VHD", + "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + }, + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + { + "name": "TestSku2", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku2", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "virtualNetworkFunctionTemplate": { + "virutalNetworkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "imageReference": { + "osType": "Linux", + "vhdName": "vhdName", + "vhdType": "VHD", + "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig=" + }, + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfCreate.json new file mode 100644 index 000000000000..bb8d1ddd0c12 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfCreate.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "parameters": { + "location": "eastus", + "properties": { + "skuType": "SDWAN", + "vendorProvisioningState": "Provisioning", + "virtualNetworkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "customData": "base-64 encoded string of custom data", + "osProfile": { + "adminUsername": "dummyuser", + "adminPassword": "dummypassword", + "sshPublicKey": null + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/virtualNetworkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "virtualNetworkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "customData": "base-64 encoded string of custom data", + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/virtualNetworkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Accepted", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "virtualNetworkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "customData": "base-64 encoded string of custom data", + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfGet.json new file mode 100644 index 000000000000..942593ddc290 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/virtualNetworkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "virtualNetworkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "customData": "base-64 encoded string of custom data", + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfList.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfList.json new file mode 100644 index 000000000000..e28b4364bfd6 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorVnfList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/virtualNetworkFunctions/testServiceKey", + "name": "TestServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "virtualNetworkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "customData": "base-64 encoded string of custom data", + "osProfile": { + "adminUsername": "dummyuser", + "sshPublicKey": null + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionCreate.json new file mode 100644 index 000000000000..ff285e2c7263 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionCreate.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "virtualNetworkFunctionName": "testVnf", + "parameters": { + "location": "eastus", + "properties": { + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "managedApplicationParameters": {}, + "virtualNetworkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", + "name": "testVnf", + "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "virtualNetworkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", + "name": "testVnf", + "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Accepted", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "virtualNetworkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionDelete.json new file mode 100644 index 000000000000..a34ac019cda4 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "virtualNetworkFunctionName": "testVnf" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGet.json new file mode 100644 index 000000000000..65dd38218b47 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "virtualNetworkFunctionName": "testVnf" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", + "name": "testVnf", + "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "virtualNetworkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGetSkuDetails.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGetSkuDetails.json new file mode 100644 index 000000000000..db2ed70e5049 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionGetSkuDetails.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "testVendor", + "vendorSkuName": "testSku" + }, + "responses": { + "200": { + "body": { + "skuType": "SDWAN", + "value": [ + { + "roleName": "testRole", + "userDataTemplate": {}, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListByResourceGroup.json new file mode 100644 index 000000000000..ec8b416242e0 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", + "name": "testVnf", + "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "virtualNetworkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListBySubscription.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListBySubscription.json new file mode 100644 index 000000000000..7d644952cf00 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionListBySubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", + "name": "testVnf", + "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "virtualNetworkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionSkuList.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionSkuList.json new file mode 100644 index 000000000000..ba9be520bd4e --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionSkuList.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "vendorName": "testVendor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "skuName": "testSku", + "skuType": "SDWAN" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionUpdateTags.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionUpdateTags.json new file mode 100644 index 000000000000..ce573d51b592 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionUpdateTags.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "virtualNetworkFunctionName": "testVnf", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/testVnf", + "name": "testVnf", + "type": "Microsoft.HybridNetwork/virtualNetworkFunctions", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "virtualNetworkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionVendorAndSkuList.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionVendorAndSkuList.json new file mode 100644 index 000000000000..bd23c83c6d3c --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VirtualNetworkFunctionVendorAndSkuList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "vendorName": "testVendor", + "skuList": [ + { + "skuName": "testSku", + "skuType": "SDWAN" + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json new file mode 100644 index 000000000000..eb38d176e17d --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json @@ -0,0 +1,128 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the operations.", + "version": "2020-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.HybridNetwork/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of the operations.", + "parameters": [ + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK Returns a list of operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get Registration Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Operation": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "display": { + "readOnly": true, + "description": "The object that represents the operation.", + "properties": { + "provider": { + "type": "string", + "description": "Service provider: Microsoft.HybridNetwork" + }, + "resource": { + "type": "string", + "description": "Resource on which the operation is performed: Registration definition, registration assignment etc." + }, + "operation": { + "type": "string", + "description": "Operation type: Read, write, delete, etc." + }, + "description": { + "type": "string", + "description": "Description of the operation." + } + } + } + }, + "type": "object", + "description": "Object that describes a single Microsoft.HybridNetwork operation." + }, + "OperationList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.HybridNetwork operations." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "type": "object", + "description": "List of the operations." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json new file mode 100644 index 000000000000..cee87dde532a --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json @@ -0,0 +1,1283 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used by vendors to on-board offerings and manage virtual network functions.", + "version": "2020-01-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}/providers/Microsoft.HybridNetwork/vendors/{vendorName}": { + "delete": { + "tags": [ + "Vendors" + ], + "operationId": "Vendors_Delete", + "description": "Deletes the specified vendor.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Request is successful." + }, + "202": { + "description": "Accepted. Sets provisioningState to 'Deleting' until the operation is completed. 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": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Delete vendor resource": { + "$ref": "./examples/VendorDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Vendors" + ], + "operationId": "Vendors_Get", + "description": "Gets information about the specified vendor.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of vendor." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting vendor resource.", + "schema": { + "$ref": "#/definitions/Vendor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get Vendor resource": { + "$ref": "./examples/VendorGet.json" + } + } + }, + "put": { + "tags": [ + "Vendors" + ], + "operationId": "Vendors_CreateOrUpdate", + "description": "Creates or updates a vendor.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/Vendor" + }, + "description": "Parameters supplied to the create vendor." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Request is successful.", + "schema": { + "$ref": "#/definitions/Vendor" + } + }, + "201": { + "description": "Created. The header contains ‘Azure-AsyncOperation’ header pointing to an operations resource. The operation URI can be queried to find the current state of the operation.", + "schema": { + "$ref": "#/definitions/Vendor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Create or update Vendor resource": { + "$ref": "./examples/VendorCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors": { + "get": { + "tags": [ + "Vendors" + ], + "operationId": "Vendors_ListBySubscription", + "description": "Lists all the vendors in a subscription.", + "parameters": [ + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of vendor resources.", + "schema": { + "$ref": "#/definitions/VendorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Lists all vendor resources in subscription": { + "$ref": "./examples/VendorListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus/{skuName}": { + "delete": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_Delete", + "description": "Deletes the specified sku.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Request is successful." + }, + "202": { + "description": "Accepted. Sets provisioningState to 'Deleting' until the operation is completed.. 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": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Delete the sku of vendor resource": { + "$ref": "./examples/VendorSkuDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_Get", + "description": "Gets information about the specified sku.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting vendor resource.", + "schema": { + "$ref": "#/definitions/VendorSku" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get the sku of Vendor resource": { + "$ref": "./examples/VendorSkuGet.json" + } + } + }, + "put": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_CreateOrUpdate", + "description": "Creates or updates a sku", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VendorSku" + }, + "description": "Parameters supplied to the create or update sku." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update or creation successful. The operation returns the resulting vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/VendorSku" + } + }, + "201": { + "description": "Created. The operation returns the resulting vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/VendorSku" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Create or update the sku of Vendor resource": { + "$ref": "./examples/VendorSkuCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus": { + "get": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_List", + "description": "Lists all the skus of a vendor.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of vendor sku resources.", + "schema": { + "$ref": "#/definitions/VendorSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Lists all the vendor skus of vendor resource": { + "$ref": "./examples/VendorSkuListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/virtualNetworkFunctions/{serviceKey}": { + "get": { + "tags": [ + "VendorVirtualNetworkFunctions" + ], + "operationId": "VendorVirtualNetworkFunctions_Get", + "description": "Gets information about the specified virtual network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The azure region where the virtual network function sub resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The unique GUID for the virtual network function." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting vendor virtual network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorVirtualNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get vendor virtual network function sub resource by service key of virtual network function.": { + "$ref": "./examples/VendorVnfGet.json" + } + } + }, + "put": { + "tags": [ + "VendorVirtualNetworkFunctions" + ], + "operationId": "VendorVirtualNetworkFunctions_CreateOrUpdate", + "description": "Create or update a virtual network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The azure region where the virtual network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The unique GUID for the virtual network function." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VendorVirtualNetworkFunction" + }, + "description": "Parameters supplied to the update vendor virtual network function." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Create or update is successful. The operation returns the resulting vendor virtual network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorVirtualNetworkFunction" + } + }, + "201": { + "description": "Created. The operation returns the resulting vendor virtual network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorVirtualNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Update vendor virtual network function sub resource": { + "$ref": "./examples/VendorVnfCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/virtualNetworkFunctions": { + "get": { + "tags": [ + "VendorVirtualNetworkFunctions" + ], + "operationId": "VendorVirtualNetworkFunctions_List", + "description": "List all the vendor virtual network function sub resources in an azure region. Filter by skuType, skuName, vendorProvisioningState", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The azure region where the virtual network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. The properties you can use for eq (equals) are: skuType, skuName and vendorProvisioningState." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting hybrid network vendor virtual network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorVirtualNetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get all vnf of Vendor resource": { + "$ref": "./examples/VendorVnfList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus/{skuName}/previewSubscriptions": { + "get": { + "tags": [ + "VendorSkuPreview" + ], + "operationId": "VendorSkuPreview_List", + "description": "Gets preview information of a vendor sku", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the preview information of the vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/PreviewSubscriptionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get all preview subscriptions of vendor sku sub resource": { + "$ref": "./examples/GetVendorSkuPreviews.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus/{skuName}/previewSubscriptions/{previewSubscription}": { + "put": { + "tags": [ + "VendorSkuPreview" + ], + "operationId": "VendorSkuPreview_CreateOrUpdate", + "description": "Creates or updates preview information of a vendor sku", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor sku." + }, + { + "name": "previewSubscription", + "in": "path", + "required": true, + "type": "string", + "description": "Preview subscription id." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PreviewSubscription" + }, + "description": "Parameters supplied to the update vendor virtual network function." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request accepted. The operation is updating or creating the preview information of the vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/PreviewSubscription" + } + }, + "200": { + "description": "Request successful. The operation updated the preview information of the vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/PreviewSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Creates or updates preview subscription of vendor sku sub resource": { + "$ref": "./examples/CreateVendorSkuPreview.json" + } + } + }, + "get": { + "tags": [ + "VendorSkuPreview" + ], + "operationId": "VendorSkuPreview_Get", + "description": "Gets preview information of a vendor sku", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor sku." + }, + { + "name": "previewSubscription", + "in": "path", + "required": true, + "type": "string", + "description": "Preview subscription id." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation updated the preview information of the vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/PreviewSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Gets preview subscription of vendor sku sub resource": { + "$ref": "./examples/GetVendorSkuPreview.json" + } + } + }, + "delete": { + "tags": [ + "VendorSkuPreview" + ], + "operationId": "VendorSkuPreview_Delete", + "description": "Deletes preview information of a vendor sku", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor sku." + }, + { + "name": "previewSubscription", + "in": "path", + "required": true, + "type": "string", + "description": "Preview subscription id." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation deleted the vendor sku preview resource." + }, + "202": { + "description": "Request is accepted. The operation is deleting the vendor sku preview resource." + }, + "204": { + "description": "Request successful. The vendor sku preview resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Deletes preview subscription of vendor sku sub resource": { + "$ref": "./examples/DeleteVendorSkuPreview.json" + } + } + } + } + }, + "definitions": { + "Vendor": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorPropertiesFormat", + "description": "Vendor properties." + } + }, + "allOf": [ + { + "$ref": "./common.json#/definitions/Resource" + } + ], + "description": "Vendor resource." + }, + "VendorPropertiesFormat": { + "description": "Vendor properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the vendor resource." + }, + "skus": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/SubResource" + }, + "readOnly": true, + "description": "A list of ids of the vendor skus offered by the vendor." + } + } + }, + "VendorSku": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorSkuPropertiesFormat", + "description": "Vendor sku details." + } + }, + "allOf": [ + { + "$ref": "./common.json#/definitions/Resource" + } + ], + "description": "Sku sub resource." + }, + "VendorSkuPropertiesFormat": { + "description": "Sku properties", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the vendor sku sub resource." + }, + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "Sku type." + }, + "deploymentMode": { + "type": "string", + "description": "Sku deployment mode.", + "enum": [ + "Unknown", + "Azure", + "PrivateEdgeZone" + ], + "x-ms-enum": { + "name": "SkuDeploymentMode", + "modelAsString": true + } + }, + "preview": { + "type": "boolean", + "description": "Indicates if the vendor sku is in preview mode." + }, + "managedApplicationParameters": { + "$ref": "./common.json#/definitions/ManagedApplicationParameters", + "description": "The parameters for the managed application to be supplied by vendor." + }, + "managedApplicationTemplate": { + "type": "object", + "description": "The template for the managed application deployment." + }, + "virtualNetworkFunctionTemplate": { + "$ref": "#/definitions/VirtualNetworkFunctionTemplate", + "description": "The template definition of the virtual network function." + } + } + }, + "VendorSkuListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VendorSku" + }, + "description": "A list of vendor skus offered by the vendor." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to get the next set of results." + } + }, + "description": "Response for list vendor sku API service call." + }, + "VendorListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Vendor" + }, + "description": "A list of vendors." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for Vendors API service call." + }, + "VendorVirtualNetworkFunctionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VendorVirtualNetworkFunction" + }, + "description": "A list of vendor virtual network function." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for vendors API service call." + }, + "VendorVirtualNetworkFunction": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorVirtualNetworkFunctionPropertiesFormat", + "description": "Virtual network function details." + } + }, + "allOf": [ + { + "$ref": "./common.json#/definitions/Resource" + } + ], + "description": "Vendor virtual network function sub resource." + }, + "VendorVirtualNetworkFunctionPropertiesFormat": { + "description": "Vendor virtual network function properties", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the vendor virtual network function sub resource." + }, + "vendorProvisioningState": { + "$ref": "./common.json#/definitions/VendorProvisioningState", + "description": "Vendor controlled provisioning state of the vendor virtual network function." + }, + "skuName": { + "readOnly": true, + "type": "string", + "description": "Name of the sku" + }, + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "Sku type.", + "readOnly": true + }, + "virtualNetworkFunctionVendorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkFunctionVendorConfiguration" + }, + "description": "An array of virtual network function vendor configurations." + } + } + }, + "VirtualNetworkFunctionTemplate": { + "properties": { + "virutalNetworkFunctionRoleConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkFunctionRoleConfiguration" + }, + "description": "An array of virtual network function role definitions." + } + }, + "description": "The virtual network function template." + }, + "VirtualNetworkFunctionRoleConfiguration": { + "description": "Virtual network function role configuration.", + "properties": { + "roleName": { + "type": "string", + "description": "The name of the virtual network function role." + }, + "roleType": { + "type": "string", + "description": "Role type.", + "enum": [ + "Unknown", + "VirtualMachine" + ], + "x-ms-enum": { + "name": "VirtualNetworkFunctionRoleConfigurationType", + "modelAsString": true + } + }, + "virtualMachineSize": { + "type": "string", + "description": "The size of the virtual machine.", + "enum": [ + "Unknown", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2" + ], + "x-ms-enum": { + "name": "VirtualMachineSizeTypes", + "modelAsString": true + } + }, + "imageReference": { + "description": "The definition of image reference.", + "$ref": "#/definitions/ImageReference" + }, + "osProfile": { + "description": "Specifies the operating system settings for the role instance. This value can be updated during the deployment of virtual network function.", + "$ref": "#/definitions/OsProfile" + }, + "userDataTemplate": { + "$ref": "./common.json#/definitions/UserDataTemplate", + "description": "The user data template for customers. This is json scheme template describing the format and data type of user data parameters." + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "description": "The user parameters for customers. The format of user data parameters has to be matched with the provided user data template." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configurations." + } + } + }, + "VirtualNetworkFunctionVendorConfiguration": { + "properties": { + "roleName": { + "type": "string", + "description": "The name of the virtual network function role." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.

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

    This property cannot be updated after the VM is created.

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

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "osProfile": { + "description": "Specifies the operating system settings for the role instance.", + "$ref": "#/definitions/OsProfile" + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "readOnly": true, + "description": "The user parameters from the customer." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configurations." + } + }, + "description": "Virtual network function vendor configuration." + }, + "ImageReference": { + "properties": { + "osType": { + "type": "string", + "description": "The OS type.", + "enum": [ + "Unknown", + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": true + } + }, + "vhdName": { + "type": "string", + "description": "The VHD name." + }, + "vhdType": { + "type": "string", + "description": "The VHD type.", + "enum": [ + "Unknown", + "VHD", + "VHDX" + ], + "x-ms-enum": { + "name": "VHDType", + "modelAsString": true + } + }, + "sasUri": { + "type": "string", + "description": "The VHD SAS URI." + } + }, + "description": "The image reference properties." + }, + "OsProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

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

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

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

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

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

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "adminPassword": { + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ], + "description": "Specifies the password of the administrator account.

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

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

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

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

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

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)." + }, + "sshPublicKey": { + "type": "string", + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + } + }, + "description": "Specifies the operating system settings for the role instance." + }, + "PreviewSubscription": { + "x-ms-azure-resource": true, + "description": "Customer subscription which can use a sku.", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Preview subscription id" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "ARM id of the resource" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of the resource" + } + } + }, + "PreviewSubscriptionsList": { + "description": "List of customer subscriptions which can use a sku.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PreviewSubscription" + }, + "description": "A list of preview subscriptions." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json new file mode 100644 index 000000000000..41d501d7b662 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json @@ -0,0 +1,463 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the virtual network function deployment in a hybrid network resource provider.", + "version": "2020-01-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.HybridNetwork/virtualNetworkFunctions/{virtualNetworkFunctionName}": { + "delete": { + "tags": [ + "VirtualNetworkFunctions" + ], + "operationId": "VirtualNetworkFunctions_Delete", + "description": "Deletes the specified hybrid network virtual network function resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkFunctionName", + "description": "The name of the hybrid network virtual network function.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation is completed successfully." + }, + "202": { + "description": "Accepted. The header contains ‘Azure-AsyncOperation’ header pointing to an operations resource. The operation URI can be queried to find the current state of the operation." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Delete hybrid network virtual network function resource": { + "$ref": "./examples/VirtualNetworkFunctionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualNetworkFunctions" + ], + "operationId": "VirtualNetworkFunctions_Get", + "description": "Gets information about the specified hybrid network virtual network function resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of hybrid network virtual network function resource." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation successful. The operation returns the resulting hybrid network virtual network function resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get hybrid network virtual network function resource": { + "$ref": "./examples/VirtualNetworkFunctionGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworkFunctions" + ], + "operationId": "VirtualNetworkFunctions_CreateOrUpdate", + "description": "Creates or updates a hybrid network virtual network function resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource name for the hybrid network virtual network function resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkFunction" + }, + "description": "Parameters supplied in the body to create or update hybrid network virtual network function operation." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation is completed successfully.", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunction" + } + }, + "201": { + "description": "Created or Updated. The header contains ‘Azure-AsyncOperation’ header pointing to an operation resource. The operation URI can be queried to find the current state of the operation.", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Create hybrid network virtual network function resource": { + "$ref": "./examples/VirtualNetworkFunctionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "VirtualNetworkFunctions" + ], + "operationId": "VirtualNetworkFunctions_UpdateTags", + "description": "Updates the tags for hybrid network virtual network function resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource name for the virtual network function resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update hybrid network virtual network function tags." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update is completed successfully. The operation returns the resulting hybrid network virtual network function resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Update tags for hybrid network virtual network function resource": { + "$ref": "./examples/VirtualNetworkFunctionUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/virtualNetworkFunctions": { + "get": { + "description": "List all the hybrid network virtual network functions in a subscription.", + "operationId": "VirtualNetworkFunctions_ListBySubscription", + "parameters": [ + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of hybrid network virtual network function resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "tags": [ + "VirtualNetworkFunctions" + ], + "x-ms-examples": { + "List all hybrid network virtual network function resources in subscription.": { + "$ref": "./examples/VirtualNetworkFunctionListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/virtualNetworkFunctions": { + "get": { + "tags": [ + "VirtualNetworkFunctions" + ], + "operationId": "VirtualNetworkFunctions_ListByResourceGroup", + "description": "List all the hybrid network virtual network function resources in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of hybrid network virtual network function resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "List hybrid network virtual network function in resource group": { + "$ref": "./examples/VirtualNetworkFunctionListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualNetworkFunction": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkFunctionPropertiesFormat", + "description": "Hybrid network virtual network function properties." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./common.json#/definitions/Resource" + } + ], + "description": "Hybrid network virtual network function resource response." + }, + "VirtualNetworkFunctionPropertiesFormat": { + "description": "Hybrid network virtual network function properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the hybrid network virtual network function resource." + }, + "device": { + "$ref": "./common.json#/definitions/SubResource", + "description": "The reference to the hybrid network device." + }, + "skuName": { + "type": "string", + "description": "The sku name for the hybrid network virtual network function." + }, + "skuType": { + "readOnly": true, + "$ref": "./common.json#/definitions/SkuType", + "description": "The sku type for the hybrid network virtual network function." + }, + "vendorName": { + "type": "string", + "description": "The vendor name for the hybrid network virtual network function." + }, + "serviceKey": { + "type": "string", + "readOnly": true, + "description": "The service key for the virtual network function resource." + }, + "vendorProvisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/VendorProvisioningState", + "description": "The vendor provisioning state for the virtual network function resource." + }, + "managedApplication": { + "readOnly": true, + "$ref": "./common.json#/definitions/SubResource", + "description": "The resource URI of the managed application." + }, + "managedApplicationParameters": { + "$ref": "./common.json#/definitions/ManagedApplicationParameters", + "description": "The parameters for the managed application." + }, + "virtualNetworkFunctionUserConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkFunctionUserConfiguration" + }, + "description": "The virtual network function configurations from the user." + } + } + }, + "VirtualNetworkFunctionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkFunction" + }, + "description": "A list of hybrid network virtual network function resources in a subscription or resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for hybrid network virtual network function API service call." + }, + "VirtualNetworkFunctionUserConfiguration": { + "properties": { + "roleName": { + "type": "string", + "description": "The name of the virtual network function role." + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "description": "The user data parameters from the customer." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configuration." + } + }, + "description": "The virtual network function user configuration." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json new file mode 100644 index 000000000000..83e78c9b7b4c --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json @@ -0,0 +1,296 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the virtual network function vendor in a hybrid network resource provider.", + "version": "2020-01-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}/providers/Microsoft.HybridNetwork/virtualNetworkFunctionVendors": { + "get": { + "tags": [ + "virtualNetworkFunctionVendors" + ], + "operationId": "virtualNetworkFunctionVendors_List", + "description": "List all the available vendor and sku information in hybrid network.", + "parameters": [ + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of hybrid network vendors with available sku information.", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunctionVendorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "List hybrid network vendors and skus.": { + "$ref": "./examples/VirtualNetworkFunctionVendorAndSkuList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/virtualNetworkFunctionVendors/{vendorName}/vendorSkus": { + "get": { + "tags": [ + "virtualNetworkFunctionVendors" + ], + "operationId": "VirtualNetworkFunctionVendorSkus_ListByVendor", + "description": "List all virtual network function vendor sku details in a vendor", + "parameters": [ + { + "name": "vendorName", + "description": "The name of the hybrid network virtual network function vendor.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of virtual network function vendor skus", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunctionSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "List hybrid network vendors and skus.": { + "$ref": "./examples/VirtualNetworkFunctionSkuList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/virtualNetworkFunctionVendors/{vendorName}/vendorSkus/{vendorSkuName}": { + "get": { + "tags": [ + "virtualNetworkFunctionVendors" + ], + "operationId": "virtualNetworkFunctionVendorSkus_List", + "description": "Gets information about hybrid network virtual network function vendor sku details", + "parameters": [ + { + "name": "vendorName", + "description": "The name of the hybrid network virtual network function vendor.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "vendorSkuName", + "description": "The name of the hybrid network virtual network function sku.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "./common.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting hybrid network virtual network function vendor sku details.", + "schema": { + "$ref": "#/definitions/VirtualNetworkFunctionSkuDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "Get virtual network function sku details": { + "$ref": "./examples/VirtualNetworkFunctionGetSkuDetails.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SkuOverview": { + "properties": { + "skuName": { + "type": "string", + "description": "The vendor sku name." + }, + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The vendor sku type." + } + }, + "description": "The virtual network function sku overview." + }, + "VirtualNetworkFunctionSkuDetails": { + "properties": { + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The virtual network function sku type." + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkFunctionSkuRoleDetails" + }, + "description": "The virtual network function sku role details." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "The virtual network function sku details." + }, + "VendorDetails": { + "properties": { + "vendorName": { + "type": "string", + "description": "The virtual network function vendor name." + }, + "skuList": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuOverview" + }, + "description": "The virtual network function sku list." + } + }, + "description": "The virtual network function vendor details." + }, + "VirtualNetworkFunctionVendor": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorDetails", + "description": "Vendors of the hybrid network service provider." + } + }, + "description": "The virtual network function vendor." + }, + "VirtualNetworkFunctionVendorListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkFunctionVendor" + }, + "description": "A list of available hybrid network virtual network function vendors and skus." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "The virtual network function vendor list result." + }, + "VirtualNetworkFunctionSkuRoleDetails": { + "properties": { + "roleName": { + "type": "string", + "description": "The name of the virtual network function role." + }, + "userDataTemplate": { + "$ref": "./common.json#/definitions/UserDataTemplate", + "description": "The user data template for customers." + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "description": "The user parameters for customers." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configuration." + } + }, + "description": "The virtual network function user configuration." + }, + "VirtualNetworkFunctionSkuListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuOverview" + }, + "description": "The virtual network function vendor sku overview properties." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "A list of available hybrid network virtual network function skus." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/readme.azureresourceschema.md b/specification/hybridnetwork/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..e01e8f7e4357 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,29 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-hybridnetwork-2020-01-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-hybridnetwork-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-hybridnetwork-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json + +``` diff --git a/specification/hybridnetwork/resource-manager/readme.csharp.md b/specification/hybridnetwork/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..c76013801543 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.HybridNetwork + output-folder: $(csharp-sdks-folder)/hybridnetwork/management/Microsoft.HybridNetwork/GeneratedProtocol +``` diff --git a/specification/hybridnetwork/resource-manager/readme.go.md b/specification/hybridnetwork/resource-manager/readme.go.md new file mode 100644 index 000000000000..31aa99b2c827 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-01-01-preview +``` + +### Tag: package-2020-01-01-preview and go + +These settings apply only when `--tag=package-2020-01-01-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2020-01-01-preview' && $(go) +namespace: hybridnetwork +output-folder: $(go-sdk-folder)/services/preview/management/2020-01-01-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/hybridnetwork/resource-manager/readme.md b/specification/hybridnetwork/resource-manager/readme.md new file mode 100644 index 000000000000..f8bbe17ef2e9 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/readme.md @@ -0,0 +1,119 @@ +# hybridnetwork + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for hybridnetwork. + +## 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 hybridnetwork. + +```yaml +openapi-type: arm +tag: package-2020-01-01-preview +``` + +### Tag: package-2020-01-01-preview + +These settings apply only when `--tag=package-2020-01-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-01-01-preview' +input-file: + - Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json + - Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json +``` + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_hybridnetwork'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js hybridnetwork/resource-manager +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json + - $(this-folder)/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunction.json + - $(this-folder)/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json + - $(this-folder)/Microsoft.HybridNetwork/preview/2020-01-01-preview/operations.json + - $(this-folder)/Microsoft.HybridNetwork/preview/2020-01-01-preview/vendor.json + - $(this-folder)/Microsoft.HybridNetwork/preview/2020-01-01-preview/virtualNetworkFunctionVendors.json + +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + diff --git a/specification/hybridnetwork/resource-manager/readme.python.md b/specification/hybridnetwork/resource-manager/readme.python.md new file mode 100644 index 000000000000..312e0b025d5e --- /dev/null +++ b/specification/hybridnetwork/resource-manager/readme.python.md @@ -0,0 +1,21 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: Microsoft.HybridNetwork + package-name: hybridnetwork + package-version: 2020-01-01-preview + clear-output-folder: true +``` + +```yaml $(python) +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/hybridnetwork +``` diff --git a/specification/hybridnetwork/resource-manager/readme.ruby.md b/specification/hybridnetwork/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..2b1cb0282236 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_hybridnetwork +package-version: 2020-01-01-preview +azure-arm: true +``` + +### Tag: package-2020-01-01-preview and ruby + +These settings apply only when `--tag=package-2020-01-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2020-01-01-preview' && $(ruby) +namespace: Microsoft.HybridNetwork +output-folder: $(ruby-sdks-folder)/hybridnetwork +``` diff --git a/specification/hybridnetwork/resource-manager/readme.typescript.md b/specification/hybridnetwork/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..b0e6725bf8fb --- /dev/null +++ b/specification/hybridnetwork/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "hybridnetwork" + output-folder: "$(typescript-sdks-folder)/packages/hybridnetwork" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/imagebuilder/resource-manager/readme.azureresourceschema.md b/specification/imagebuilder/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2f006d12de43 --- /dev/null +++ b/specification/imagebuilder/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-virtualmachineimages-2020-02-14 + - tag: schema-virtualmachineimages-2019-05-01-preview + - tag: schema-virtualmachineimages-2019-02-01-preview + - tag: schema-virtualmachineimages-2018-02-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-virtualmachineimages-2020-02-14 and azureresourceschema + +``` yaml $(tag) == 'schema-virtualmachineimages-2020-02-14' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json + +``` + +### Tag: schema-virtualmachineimages-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-virtualmachineimages-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VirtualMachineImages/preview/2019-05-01-preview/imagebuilder.json + +``` + +### Tag: schema-virtualmachineimages-2019-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-virtualmachineimages-2019-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VirtualMachineImages/preview/2019-02-01-preview/imagebuilder.json + +``` + +### Tag: schema-virtualmachineimages-2018-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-virtualmachineimages-2018-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VirtualMachineImages/preview/2018-02-01-preview/imagebuilder.json + +``` diff --git a/specification/imagebuilder/resource-manager/readme.md b/specification/imagebuilder/resource-manager/readme.md index 9d1af6e035c1..641e8d1fe520 100644 --- a/specification/imagebuilder/resource-manager/readme.md +++ b/specification/imagebuilder/resource-manager/readme.md @@ -82,6 +82,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js imagebuilder/resource-manager ``` ## Python @@ -165,6 +168,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/imagebuilder/resource-manager/readme.typescript.md b/specification/imagebuilder/resource-manager/readme.typescript.md index 8e1c3fa62e96..2745da3778ab 100644 --- a/specification/imagebuilder/resource-manager/readme.typescript.md +++ b/specification/imagebuilder/resource-manager/readme.typescript.md @@ -7,7 +7,7 @@ Please also specify `--typescript-sdks-folder=`. + +### Tag: schema-intune-2015-01-14-preview and azureresourceschema + +``` yaml $(tag) == 'schema-intune-2015-01-14-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Intune/preview/2015-01-14-preview/intune.json + +``` diff --git a/specification/intune/resource-manager/readme.md b/specification/intune/resource-manager/readme.md index c15b27b1cb39..c6f9f0bfadba 100644 --- a/specification/intune/resource-manager/readme.md +++ b/specification/intune/resource-manager/readme.md @@ -51,6 +51,17 @@ input-file: --- # Code Generation +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js intune/resource-manager +``` ## C# These settings apply only when `--csharp` is specified on the command line. @@ -79,6 +90,10 @@ payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-intune ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_create.json index 5d6311ea78f5..a55322ee1034 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_create.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_create.json @@ -7,7 +7,9 @@ "token_id": "testtoken", "body": { "roles": [ - "c7be2c6b-797e-4551-bb24-33709f6b2e20" + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } ] } }, @@ -16,7 +18,9 @@ "body": { "id": "testtoken", "roles": [ - "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } ], "expiry": "2020-10-18T18:30:40.227Z", "token": "SharedAccessSignature sr=..." diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_get.json index 007cec68ff29..5fe99dd8058e 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_get.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_get.json @@ -1,6 +1,6 @@ { - "title": "Get API tokens in your application", - "description": "Get a list of API tokens in your application.", + "title": "Get an API token in your application", + "description": "Get an API token by Id in your application.", "parameters": { "centralDnsSuffixInPath": "azureiotcentral.com", "subdomain": "appsubdomain", @@ -11,7 +11,9 @@ "body": { "id": "testtoken", "roles": [ - "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } ], "expiry": "2020-10-18T18:30:40.227Z" } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_list.json index f7a1c35aeeda..5dde63f15be0 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_list.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/apitoken_list.json @@ -12,7 +12,9 @@ { "id": "testtoken", "roles": [ - "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } ], "expiry": "2020-10-18T18:30:40.227Z" } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_get.json index 92cead192a9b..380ce4ca0668 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_get.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_get.json @@ -2,8 +2,6 @@ "title": "Get an application by Id", "description": "Get an application by Id.", "parameters": { - "centralDnsSuffixInPath": "azureiotcentral.com", - "subdomain": "appsubdomain", "application_id": "194e282c-290a-4858-b68f-4274690697fc" }, "responses": { diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_list.json index f32e2b04e93d..e90e0ecd4bac 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_list.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/application_list.json @@ -1,10 +1,7 @@ { "title": "List applications", "description": "List applications that are accessible to the signed-in user.", - "parameters": { - "centralDnsSuffixInPath": "azureiotcentral.com", - "subdomain": "appsubdomain" - }, + "parameters": {}, "responses": { "200": { "body": { diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicecredentials_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicecredentials_get.json index fca7fc82f2c1..54b2c4c8aabf 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicecredentials_get.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicecredentials_get.json @@ -9,10 +9,10 @@ "responses": { "200": { "body": { - "idScope": "", + "idScope": "", "symmetricKey": { - "primaryKey": "XaMfV3vryCQw963L2IALf1SdApQRzSIBQd13/fassqM=", - "secondaryKey": "s+4uT31TRZJcTSGxZUPZb1yznjTicu4jr9tXNrg+xIQ=" + "primaryKey": "", + "secondaryKey": "" } } } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_attestations_set_symmetricKey.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_attestations_set_symmetricKey.json index 42fdabd7c518..6bdfbb5b6efc 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_attestations_set_symmetricKey.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_attestations_set_symmetricKey.json @@ -8,8 +8,8 @@ "body": { "type": "SymmetricKeyAttestation", "symmetricKey": { - "primaryKey": "XaMfV3vryCQw963L2IALf1SdApQRzSIBQd13/fassqM=", - "secondaryKey": "s+4uT31TRZJcTSGxZUPZb1yznjTicu4jr9tXNrg+xIQ=" + "primaryKey": "", + "secondaryKey": "" } } }, @@ -18,8 +18,8 @@ "body": { "type": "SymmetricKeyAttestation", "symmetricKey": { - "primaryKey": "XaMfV3vryCQw963L2IALf1SdApQRzSIBQd13/fassqM=", - "secondaryKey": "s+4uT31TRZJcTSGxZUPZb1yznjTicu4jr9tXNrg+xIQ=" + "primaryKey": "", + "secondaryKey": "" } } } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_attestations_set_tpm.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_attestations_set_tpm.json index 35fb1496150d..94c03cc26f7c 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_attestations_set_tpm.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_attestations_set_tpm.json @@ -8,7 +8,7 @@ "body": { "type": "TpmAttestation", "tpm": { - "endorsementKey": "AToAAQALAAMAsgAgg3GXZ0SEs/gakMyNRqXXJP1S124GUgtk8qHaGzMUaaoABgCAAEMAEAgAAAAAAAEAxsj2gUScTk1UjuioeTlfGYZrrimExB+bScH75adUMRIi2UOMxG1kw4y+9RW/IVoMl4e620VxZad0ARX2gUqVjYO7KPVt3dyKhZS3dkcvfBisBhP1XH9B33VqHG9SHnbnQXdBUaCgKAfxome8UmBKfe+naTsE5fkvjb/do3/dD6l4sGBwFCnKRdln4XpM03zLpoHFao8zOwt8l/uP3qUIxmCYv9A7m69Ms+5/pCkTu/rK4mRDsfhZ0QLfbzVI6zQFOKF/rwsfBtFeWlWtcuJMKlXdD8TXWElTzgh7JS4qhFzreL0c1mI0GCj+Aws0usZh7dLIVPnlgZcBhgy1SSDQMQ==" + "endorsementKey": "" } } }, @@ -17,7 +17,7 @@ "body": { "type": "TpmAttestation", "tpm": { - "endorsementKey": "AToAAQALAAMAsgAgg3GXZ0SEs/gakMyNRqXXJP1S124GUgtk8qHaGzMUaaoABgCAAEMAEAgAAAAAAAEAxsj2gUScTk1UjuioeTlfGYZrrimExB+bScH75adUMRIi2UOMxG1kw4y+9RW/IVoMl4e620VxZad0ARX2gUqVjYO7KPVt3dyKhZS3dkcvfBisBhP1XH9B33VqHG9SHnbnQXdBUaCgKAfxome8UmBKfe+naTsE5fkvjb/do3/dD6l4sGBwFCnKRdln4XpM03zLpoHFao8zOwt8l/uP3qUIxmCYv9A7m69Ms+5/pCkTu/rK4mRDsfhZ0QLfbzVI6zQFOKF/rwsfBtFeWlWtcuJMKlXdD8TXWElTzgh7JS4qhFzreL0c1mI0GCj+Aws0usZh7dLIVPnlgZcBhgy1SSDQMQ==" + "endorsementKey": "" } } } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_components_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_components_get.json new file mode 100644 index 000000000000..8c1d95e58b49 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_components_get.json @@ -0,0 +1,31 @@ +{ + "title": "Get components from a device", + "description": "Get the list of components in a device.", + "parameters": { + "centralDnsSuffixInPath": "azureiotcentral.com", + "subdomain": "appsubdomain", + "device_id": "device1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "@id": "", + "@type": [ + "InterfaceInstance" + ], + "name": "LocationTracking" + }, + { + "@id": "", + "@type": [ + "InterfaceInstance" + ], + "name": "EnvironmentSensing" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_modules_components_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_modules_components_get.json new file mode 100644 index 000000000000..c43347e5aab8 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_modules_components_get.json @@ -0,0 +1,26 @@ +{ + "title": "Get components from a module in an Edge device", + "description": "Get a list of components from a module in an IoT Edge device.", + "parameters": { + "centralDnsSuffixInPath": "azureiotcentral.com", + "subdomain": "appsubdomain", + "device_id": "edgedevice1", + "module_name": "edgemodule" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "@id": "", + "@type": [ + "InterfaceInstance" + ], + "name": "interfaceA", + "displayName": "InterfaceA" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_modules_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_modules_get.json new file mode 100644 index 000000000000..06bfb2a01738 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_modules_get.json @@ -0,0 +1,33 @@ +{ + "title": "Get modules from an Edge device", + "description": "Get the list of modules in an IoT Edge device.", + "parameters": { + "centralDnsSuffixInPath": "azureiotcentral.com", + "subdomain": "appsubdomain", + "device_id": "edgedevice1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "@id": "", + "@type": [ + "Relationship", + "SemanticType/EdgeModule" + ], + "name": "Environment" + }, + { + "@id": "", + "@type": [ + "Relationship", + "SemanticType/EdgeModule" + ], + "name": "Camera" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_get.json index 45baf0130156..74ec4cc31c13 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_get.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_get.json @@ -1,6 +1,6 @@ { "title": "Get device properties", - "description": "Get the current values of all device properties.", + "description": "Get the current values of all device properties. Properties that have never been set by the device or by a user or API request will not be returned.", "parameters": { "centralDnsSuffixInPath": "azureiotcentral.com", "subdomain": "appsubdomain", @@ -11,13 +11,29 @@ "body": { "deviceinfo": { "manufacturer": "manufacturer", + "$metadata": { + "manufacturer": { + "lastUpdateTime": "2020-07-21T19:06:50.9718608Z" + }, + "model": { + "lastUpdateTime": "2020-07-21T19:06:50.9718608Z" + }, + "swVersion": { + "lastUpdateTime": "2020-07-21T19:06:50.9718608Z" + } + }, "model": "model", - "swVersion": "swVersion", - "osName": "osName", - "processorArchitecture": "processorArchitecture", - "processorManufacturer": "processorManufacturer", - "totalStorage": 41, - "totalMemory": 49 + "swVersion": "swVersion" + }, + "settings": { + "fanSpeed": 12.5, + "$metadata": { + "fanSpeed": { + "desiredValue": 30, + "desiredVersion": 2, + "lastUpdateTime": "2020-07-21T19:06:50.9718608Z" + } + } } } } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_update.json index d8c1316a830f..f88d9a5dd4a3 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_update.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devices_properties_update.json @@ -6,30 +6,24 @@ "subdomain": "appsubdomain", "device_id": "mx1", "body": { - "device_info": { - "manufacturer": "manufacturer", - "model": "model", - "swVersion": "swVersion", - "osName": "osName", - "processorArchitecture": "processorArchitecture", - "processorManufacturer": "processorManufacturer", - "totalStorage": 24, - "totalMemory": 18 + "settings": { + "voltage": 25, + "current": 7 } } }, "responses": { "202": { "body": { - "deviceinfo": { - "manufacturer": "TODO", - "model": "model", - "swVersion": "swVersion", - "osName": "osName", - "processorArchitecture": "processorArchitecture", - "processorManufacturer": "processorManufacturer", - "totalStorage": 41, - "totalMemory": 49 + "settings": { + "$metadata": { + "voltage": { + "desiredValue": 25 + }, + "current": { + "desiredValue": 7 + } + } } } } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_create.json index 5013639058c3..d9210837f4a1 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_create.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/devicetemplates_create.json @@ -1,6 +1,6 @@ { "title": "Create a device template", - "description": "Creates and publishes a device template. In the body, specify the full device template object.", + "description": "Creates and publishes a device template. In the body, specify the full device template object. Default views will be automatically generated.", "parameters": { "centralDnsSuffixInPath": "azureiotcentral.com", "subdomain": "appsubdomain", @@ -39,7 +39,7 @@ "displayName": "Temperature", "name": "Temperature", "schema": "double", - "unit": "Units/Temperature/celsius" + "unit": "celsius" }, { "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Humidity:1", @@ -50,7 +50,7 @@ "displayName": "Humidity", "name": "Humidity", "schema": "double", - "unit": "Units/Humidity/percent" + "unit": "percent" }, { "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Occupancy:1", @@ -110,7 +110,7 @@ "displayName": "Temperature", "name": "Temperature", "schema": "double", - "unit": "Units/Temperature/celsius" + "unit": "celsius" }, { "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Humidity:1", @@ -121,7 +121,7 @@ "displayName": "Humidity", "name": "Humidity", "schema": "double", - "unit": "Units/Humidity/percent" + "unit": "percent" }, { "@id": "urn:storeAnalyticsCheckoutPnp:Interface:Occupancy:1", diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_delete.json new file mode 100644 index 000000000000..c0219a703918 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_delete.json @@ -0,0 +1,12 @@ +{ + "title": "Remove a user", + "description": "Remove a user from the application by Id.", + "parameters": { + "centralDnsSuffixInPath": "azureiotcentral.com", + "subdomain": "appsubdomain", + "user_id": "abc" + }, + "responses": { + "204": {} + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_get.json new file mode 100644 index 000000000000..be97832401c6 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_get.json @@ -0,0 +1,23 @@ +{ + "title": "Get a user in your application", + "description": "Get a user by Id in your application.", + "parameters": { + "centralDnsSuffixInPath": "azureiotcentral.com", + "subdomain": "appsubdomain", + "user_id": "abc" + }, + "responses": { + "200": { + "body": { + "id": "abc", + "type": "EmailUser", + "roles": [ + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } + ], + "email": "alice@contoso.com" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_list.json new file mode 100644 index 000000000000..d9f0290c760a --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_list.json @@ -0,0 +1,37 @@ +{ + "title": "List users in your application", + "description": "Get a list of users in your application.", + "parameters": { + "centralDnsSuffixInPath": "azureiotcentral.com", + "subdomain": "appsubdomain" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "af0d5b8f-7a69-4521-868e-19745fae353f", + "type": "EmailUser", + "roles": [ + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } + ], + "email": "alice@contoso.com" + }, + { + "id": "123", + "type": "ServicePrincipalUser", + "roles": [ + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } + ], + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "objectId": "9071c899-bce0-4862-b208-75dabae226a9" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_set.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_set.json new file mode 100644 index 000000000000..98466284fe66 --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_set.json @@ -0,0 +1,31 @@ +{ + "title": "Add or update an email user in your application", + "description": "Add or update an email user in your application.", + "parameters": { + "centralDnsSuffixInPath": "azureiotcentral.com", + "subdomain": "appsubdomain", + "user_id": "123", + "body": { + "type": "EmailUser", + "roles": [ + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } + ], + "email": "bob@contoso.com" + } + }, + "responses": { + "200": { + "body": { + "type": "EmailUser", + "roles": [ + { + "role": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4" + } + ], + "email": "bob@contoso.com" + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_set_serviceprincipal.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_set_serviceprincipal.json new file mode 100644 index 000000000000..0f7a29c171fc --- /dev/null +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/examples/users_set_serviceprincipal.json @@ -0,0 +1,34 @@ +{ + "title": "Add or update a service principal in your application", + "description": "Add or update an AAD service principal in your application.", + "parameters": { + "centralDnsSuffixInPath": "azureiotcentral.com", + "subdomain": "appsubdomain", + "user_id": "123", + "body": { + "type": "ServicePrincipalUser", + "tenantId": "027fdad7-cf0f-470a-a26a-272197813322", + "objectId": "65e13aac-1443-4c49-9d49-57b87197cfff", + "roles": [ + { + "role": "c7be2c6b-797e-4551-bb24-33709f6b2e20" + } + ] + } + }, + "responses": { + "200": { + "body": { + "id": "123", + "type": "ServicePrincipalUser", + "tenantId": "027fdad7-cf0f-470a-a26a-272197813322", + "objectId": "65e13aac-1443-4c49-9d49-57b87197cfff", + "roles": [ + { + "role": "c7be2c6b-797e-4551-bb24-33709f6b2e20" + } + ] + } + } + } +} diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json index b6f625803b3a..cf4e8bbfa90e 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json @@ -5,6 +5,18 @@ "title": "Azure IoT Central", "description": "Azure IoT Central is a service that makes it easy to connect, monitor, and manage your IoT devices at scale." }, + "host": "apps.azureiotcentral.com", + "x-ms-parameterized-host": { + "hostTemplate": "{subdomain}.{centralDnsSuffixInPath}", + "parameters": [ + { + "$ref": "#/parameters/CentralDnsSuffixInPath" + }, + { + "$ref": "#/parameters/Subdomain" + } + ] + }, "basePath": "/api/preview", "schemes": [ "https" @@ -62,167 +74,6 @@ "value" ] }, - "Attestation": { - "type": "object", - "properties": { - "type": { - "description": "Type of the attestation.", - "type": "string" - } - }, - "required": [ - "type" - ], - "discriminator": "type" - }, - "SymmetricKeyAttestation": { - "x-ms-discriminator-value": "SymmetricKeyAttestation", - "allOf": [ - { - "$ref": "#/definitions/Attestation" - }, - { - "type": "object", - "properties": { - "symmetricKey": { - "description": "The symmetric key credentials for this attestation.", - "$ref": "#/definitions/SymmetricKey" - } - }, - "required": [ - "symmetricKey" - ] - } - ] - }, - "X509Attestation": { - "x-ms-discriminator-value": "X509Attestation", - "allOf": [ - { - "$ref": "#/definitions/Attestation" - }, - { - "type": "object", - "properties": { - "x509": { - "description": "The X.509 credentials for this attestation.", - "$ref": "#/definitions/X509" - } - }, - "required": [ - "x509" - ] - } - ] - }, - "TpmAttestation": { - "x-ms-discriminator-value": "TpmAttestation", - "allOf": [ - { - "$ref": "#/definitions/Attestation" - }, - { - "type": "object", - "properties": { - "tpm": { - "description": "The TPM credentials for this attestation.", - "$ref": "#/definitions/Tpm" - } - }, - "required": [ - "tpm" - ] - } - ] - }, - "ObjectSchema": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - }, - { - "type": "object", - "properties": { - "fields": { - "description": "The property fields of this object type.", - "type": "array", - "items": { - "$ref": "#/definitions/SchemaField" - } - } - }, - "required": [ - "fields" - ] - } - ] - }, - "EnumSchema": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - }, - { - "type": "object", - "properties": { - "valueSchema": { - "description": "The schema for values of this enum type." - }, - "enumValues": { - "description": "The discreet named values of this enum type.", - "type": "array", - "items": { - "$ref": "#/definitions/EnumValue" - } - } - }, - "required": [ - "valueSchema", - "enumValues" - ] - } - ] - }, - "EnumValue": { - "allOf": [ - { - "$ref": "#/definitions/NamedEntity" - }, - { - "type": "object", - "properties": { - "enumValue": { - "description": "The resolved value of this enum entry." - } - }, - "required": [ - "enumValue" - ] - } - ] - }, - "MapSchema": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - }, - { - "type": "object", - "properties": { - "mapKey": { - "description": "The schema for keys of this map type." - }, - "mapValue": { - "description": "The schema for values of this map type." - } - }, - "required": [ - "mapKey", - "mapValue" - ] - } - ] - }, "ArraySchema": { "allOf": [ { @@ -241,31 +92,18 @@ } ] }, - "SchemaField": { - "allOf": [ - { - "$ref": "#/definitions/NamedEntity" - }, - { - "type": "object", - "properties": { - "schema": { - "description": "The schema of this field." - }, - "displayUnit": { - "description": "The display name of the unit of this field.", - "type": "string" - }, - "unit": { - "description": "The unit of this field.", - "type": "string" - } - }, - "required": [ - "schema" - ] + "Attestation": { + "type": "object", + "properties": { + "type": { + "description": "Type of the attestation.", + "type": "string" } - ] + }, + "required": [ + "type" + ], + "discriminator": "type" }, "Capability": { "allOf": [ @@ -285,18 +123,9 @@ "unit": { "description": "The unit of this field.", "type": "string" - } - } - }, - { - "type": "object", - "properties": { + }, "commandType": { "description": "The call pattern of this command.", - "x-ms-enum": { - "name": "CommandTypes", - "modelAsString": true - }, "type": "string", "enum": [ "synchronous", @@ -310,21 +139,11 @@ "response": { "description": "The response definition for this command.", "$ref": "#/definitions/SchemaField" - } - } - }, - { - "type": "object", - "properties": { + }, "writable": { "description": "Whether this property is writable.", "type": "boolean" - } - } - }, - { - "type": "object", - "properties": { + }, "target": { "description": "The target capability models for this relationship.", "type": "array", @@ -339,111 +158,65 @@ } ] }, - "Interface": { + "CapabilityModel": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/Interface" }, { "type": "object", "properties": { - "contents": { - "description": "The data definitions contained by the interface.", + "implements": { + "description": "The component implemented by the capability model.", "type": "array", "items": { - "$ref": "#/definitions/Capability" + "$ref": "#/definitions/Component" } } } } ] }, - "Component": { + "CapabilityReference": { "allOf": [ { - "$ref": "#/definitions/NamedEntity" + "$ref": "#/definitions/Entity" }, { "type": "object", "properties": { - "schema": { - "description": "The interface used by this component.", - "$ref": "#/definitions/Interface" + "component": { + "description": "The name of the component being referenced.", + "type": "string" + }, + "reference": { + "description": "The name of the capability being referenced.", + "type": "string" } }, "required": [ - "schema" + "component", + "reference" ] } ] }, - "CapabilityModel": { + "Component": { "allOf": [ { - "$ref": "#/definitions/Interface" + "$ref": "#/definitions/NamedEntity" }, { "type": "object", "properties": { - "implements": { - "description": "The component implemented by the capability model.", - "type": "array", - "items": { - "$ref": "#/definitions/Component" - } + "schema": { + "description": "The interface used by this component.", + "$ref": "#/definitions/Interface" } - } - } - ] - }, - "Endpoint": { - "type": "object", - "properties": { - "type": { - "description": "Type of the endpoint.", - "type": "string" - }, - "connectionString": { - "description": "Information for connecting to the endpoint.", - "type": "string" - }, - "name": { - "description": "Name of the entity to send data to.", - "type": "string" - } - }, - "required": [ - "type", - "connectionString", - "name" - ], - "discriminator": "type" - }, - "StorageEndpoint": { - "allOf": [ - { - "$ref": "#/definitions/Endpoint" - } - ] - }, - "EventHubsEndpoint": { - "allOf": [ - { - "$ref": "#/definitions/Endpoint" - } - ] - }, - "ServiceBusQueueEndpoint": { - "allOf": [ - { - "$ref": "#/definitions/Endpoint" - } - ] - }, - "ServiceBusTopicEndpoint": { - "allOf": [ - { - "$ref": "#/definitions/Endpoint" + }, + "required": [ + "schema" + ] } ] }, @@ -531,10 +304,6 @@ "description": "Display name of the device.", "type": "string" }, - "description": { - "description": "Detailed description of the device.", - "type": "string" - }, "instanceOf": { "description": "The device template definition for the device.", "type": "string" @@ -554,6 +323,11 @@ } } }, + "DeviceCloudProperties": { + "description": "Cloud property values associated with the device.", + "type": "object", + "additionalProperties": true + }, "DeviceCollection": { "type": "object", "properties": { @@ -573,11 +347,6 @@ "value" ] }, - "DeviceCloudProperties": { - "description": "Cloud property values associated with the device.", - "additionalProperties": true, - "type": "object" - }, "DeviceCommand": { "type": "object", "properties": { @@ -645,7 +414,8 @@ }, "DeviceProperties": { "description": "Property values associated with the device.", - "type": "object" + "type": "object", + "additionalProperties": true }, "DeviceTelemetry": { "type": "object", @@ -720,88 +490,48 @@ "value" ] }, - "SymmetricKey": { - "type": "object", - "properties": { - "primaryKey": { - "description": "The primary key for this credential.", - "type": "string" + "EmailUser": { + "allOf": [ + { + "$ref": "#/definitions/User" }, - "secondaryKey": { - "description": "The secondary key for this credential.", - "type": "string" + { + "type": "object", + "properties": { + "email": { + "description": "Email address of the user.", + "type": "string", + "format": "email" + } + }, + "required": [ + "email" + ] } - }, - "required": [ - "primaryKey", - "secondaryKey" ] }, - "Tpm": { + "Endpoint": { "type": "object", "properties": { - "endorsementKey": { - "description": "The TPM endorsement key for this credential.", + "type": { + "description": "Type of the endpoint.", "type": "string" - } - }, - "required": [ - "endorsementKey" - ] - }, - "X509": { - "type": "object", - "properties": { - "clientCertificates": { - "description": "The X.509 client certificates for this credential.", - "$ref": "#/definitions/X509Certificates" - } - }, - "required": [ - "clientCertificates" - ] - }, - "X509Certificates": { - "type": "object", - "properties": { - "primary": { - "description": "The primary X.509 certificate for this credential.", - "$ref": "#/definitions/X509Certificate" }, - "secondary": { - "description": "The secondary X.509 certificate for this credential.", - "$ref": "#/definitions/X509Certificate" - } - }, - "required": [ - "primary" - ] - }, - "X509Certificate": { - "type": "object", - "properties": { - "certificate": { - "description": "The string representation of this certificate.", + "connectionString": { + "description": "Information for connecting to the endpoint.", "type": "string" }, - "info": { - "description": "Information about this certificate.", - "readOnly": true, - "$ref": "#/definitions/X509CertificateInfo" - } - } - }, - "X509CertificateInfo": { - "type": "object", - "properties": { - "sha1Thumbprint": { - "description": "The SHA-1 hash value of the certificate.", + "name": { + "description": "Name of the entity to send data to.", "type": "string" } }, "required": [ - "sha1Thumbprint" - ] + "type", + "connectionString", + "name" + ], + "discriminator": "type" }, "Entity": { "type": "object", @@ -838,7 +568,7 @@ "@type" ] }, - "NamedEntity": { + "EnumSchema": { "allOf": [ { "$ref": "#/definitions/Entity" @@ -846,68 +576,50 @@ { "type": "object", "properties": { - "name": { - "description": "The programmatic name of the named entity.", - "type": "string" + "valueSchema": { + "description": "The schema for values of this enum type." + }, + "enumValues": { + "description": "The discreet named values of this enum type.", + "type": "array", + "items": { + "$ref": "#/definitions/EnumValue" + } } }, "required": [ - "name" + "valueSchema", + "enumValues" ] } ] }, - "Permission": { - "type": "object", - "properties": { - "roles": { - "description": "List of role IDs that specify the permissions to access the application.", - "type": "array", - "items": { - "type": "string" + "EnumValue": { + "allOf": [ + { + "$ref": "#/definitions/NamedEntity" + }, + { + "type": "object", + "properties": { + "enumValue": { + "description": "The resolved value of this enum entry." + } }, - "minItems": 1, - "maxItems": 1 + "required": [ + "enumValue" + ] } - }, - "required": [ - "roles" ] }, - "Role": { - "type": "object", - "properties": { - "id": { - "description": "Unique ID of the role.", - "type": "string", - "readOnly": true - }, - "displayName": { - "description": "Display name of the role.", - "type": "string" - } - } - }, - "RoleCollection": { - "type": "object", - "properties": { - "value": { - "description": "The collection of roles.", - "type": "array", - "items": { - "$ref": "#/definitions/Role" - } - }, - "nextLink": { - "description": "URL to get the next page of roles.", - "type": "string" + "EventHubsEndpoint": { + "allOf": [ + { + "$ref": "#/definitions/Endpoint" } - }, - "required": [ - "value" ] }, - "SolutionModel": { + "InitialValue": { "allOf": [ { "$ref": "#/definitions/Entity" @@ -915,32 +627,41 @@ { "type": "object", "properties": { - "cloudProperties": { - "description": "The cloud properties defined by the solution model.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } + "capability": { + "description": "The reference to the capability for which an initial value is being provided.", + "$ref": "#/definitions/CapabilityReference" }, - "initialValues": { - "description": "The initial values defined by the solution model.", - "type": "array", - "items": { - "$ref": "#/definitions/InitialValue" - } - }, - "overrides": { - "description": "The overrides defined by the solution model.", + "value": { + "description": "The initial value of the capability." + } + }, + "required": [ + "capability", + "value" + ] + } + ] + }, + "Interface": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + }, + { + "type": "object", + "properties": { + "contents": { + "description": "The data definitions contained by the interface.", "type": "array", "items": { - "$ref": "#/definitions/Override" + "$ref": "#/definitions/Capability" } } } } ] }, - "InitialValue": { + "MapSchema": { "allOf": [ { "$ref": "#/definitions/Entity" @@ -948,17 +669,76 @@ { "type": "object", "properties": { - "capability": { - "description": "The reference to the capability for which an initial value is being provided.", - "$ref": "#/definitions/CapabilityReference" + "mapKey": { + "description": "The schema for keys of this map type." }, - "value": { - "description": "The initial value of the capability." + "mapValue": { + "description": "The schema for values of this map type." } }, "required": [ - "capability", - "value" + "mapKey", + "mapValue" + ] + } + ] + }, + "NamedEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + }, + { + "type": "object", + "properties": { + "name": { + "description": "The programmatic name of the named entity.", + "type": "string" + } + }, + "required": [ + "name" + ] + } + ] + }, + "NamedEntityCollection": { + "type": "object", + "properties": { + "value": { + "description": "The collection of named entities.", + "type": "array", + "items": { + "$ref": "#/definitions/NamedEntity" + } + }, + "nextLink": { + "description": "URL to get the next page of named entities.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "ObjectSchema": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + }, + { + "type": "object", + "properties": { + "fields": { + "description": "The property fields of this object type.", + "type": "array", + "items": { + "$ref": "#/definitions/SchemaField" + } + } + }, + "required": [ + "fields" ] } ] @@ -998,54 +778,308 @@ } ] }, - "ValueDetail": { + "Permission": { + "type": "object", + "properties": { + "roles": { + "description": "List of roles that specify the permissions to access the application.", + "type": "array", + "items": { + "type": "object", + "properties": { + "role": { + "description": "ID that specifies the role assignment for this role.", + "type": "string" + } + }, + "required": [ + "role" + ] + }, + "minItems": 1 + } + }, + "required": [ + "roles" + ] + }, + "Role": { + "type": "object", + "properties": { + "id": { + "description": "Unique ID of the role.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Display name of the role.", + "type": "string" + } + } + }, + "RoleCollection": { + "type": "object", + "properties": { + "value": { + "description": "The collection of roles.", + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + "nextLink": { + "description": "URL to get the next page of roles.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "SchemaField": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/NamedEntity" }, { "type": "object", "properties": { - "falseName": { - "description": "The string representation of a false value.", + "schema": { + "description": "The schema of this field." + }, + "displayUnit": { + "description": "The display name of the unit of this field.", "type": "string" }, - "trueName": { - "description": "The string representation of a true value.", + "unit": { + "description": "The unit of this field.", + "type": "string" + } + }, + "required": [ + "schema" + ] + } + ] + }, + "ServiceBusQueueEndpoint": { + "allOf": [ + { + "$ref": "#/definitions/Endpoint" + } + ] + }, + "ServiceBusTopicEndpoint": { + "allOf": [ + { + "$ref": "#/definitions/Endpoint" + } + ] + }, + "ServicePrincipalUser": { + "allOf": [ + { + "$ref": "#/definitions/User" + }, + { + "type": "object", + "properties": { + "tenantId": { + "description": "The AAD tenant ID of the service principal.", "type": "string" + }, + "objectId": { + "description": "The AAD object ID of the service principal.", + "type": "string" + } + }, + "required": [ + "tenantId", + "objectId" + ] + } + ] + }, + "SolutionModel": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + }, + { + "type": "object", + "properties": { + "cloudProperties": { + "description": "The cloud properties defined by the solution model.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + "initialValues": { + "description": "The initial values defined by the solution model.", + "type": "array", + "items": { + "$ref": "#/definitions/InitialValue" + } + }, + "overrides": { + "description": "The overrides defined by the solution model.", + "type": "array", + "items": { + "$ref": "#/definitions/Override" + } } } + } + ] + }, + "StorageEndpoint": { + "allOf": [ + { + "$ref": "#/definitions/Endpoint" + } + ] + }, + "SymmetricKey": { + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary key for this credential.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key for this credential.", + "type": "string" + } + }, + "required": [ + "primaryKey", + "secondaryKey" + ] + }, + "SymmetricKeyAttestation": { + "allOf": [ + { + "$ref": "#/definitions/Attestation" }, { "type": "object", "properties": { - "hideTime": { - "description": "Specifies that the time portion of the date-time value should be hidden.", - "type": "boolean" + "symmetricKey": { + "description": "The symmetric key credentials for this attestation.", + "$ref": "#/definitions/SymmetricKey" + } + }, + "required": [ + "symmetricKey" + ] + } + ] + }, + "Tpm": { + "type": "object", + "properties": { + "endorsementKey": { + "description": "The TPM endorsement key for this credential.", + "type": "string" + } + }, + "required": [ + "endorsementKey" + ] + }, + "TpmAttestation": { + "allOf": [ + { + "$ref": "#/definitions/Attestation" + }, + { + "type": "object", + "properties": { + "tpm": { + "description": "The TPM credentials for this attestation.", + "$ref": "#/definitions/Tpm" + } + }, + "required": [ + "tpm" + ] + } + ] + }, + "User": { + "allOf": [ + { + "$ref": "#/definitions/Permission" + }, + { + "type": "object", + "properties": { + "id": { + "description": "Unique ID of the user.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the user.", + "type": "string" } + }, + "required": [ + "type" + ], + "discriminator": "type" + } + ] + }, + "UserCollection": { + "type": "object", + "properties": { + "value": { + "description": "The collection of users.", + "type": "array", + "items": { + "$ref": "#/definitions/User" } }, + "nextLink": { + "description": "URL to get the next page of users.", + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "ValueDetail": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + }, { "type": "object", "properties": { + "falseName": { + "description": "The string representation of a false value.", + "type": "string" + }, + "trueName": { + "description": "The string representation of a true value.", + "type": "string" + }, + "hideTime": { + "description": "Specifies that the time portion of the date-time value should be hidden.", + "type": "boolean" + }, "severity": { "description": "Specifies the severity of the event.", - "x-ms-enum": { - "name": "EventSeverity", - "modelAsString": true - }, "type": "string", "enum": [ "error", "warning", "information" ] - } - } - }, - { - "type": "object", - "properties": { + }, "decimalPlaces": { "description": "The number of decimal places that should be displayed for the number.", "type": "integer" @@ -1057,12 +1091,7 @@ "minValue": { "description": "The minimum expected value of the number.", "type": "number" - } - } - }, - { - "type": "object", - "properties": { + }, "maxLength": { "description": "The maximum expected length of the string.", "type": "integer" @@ -1072,35 +1101,81 @@ "type": "integer" }, "trimWhitespace": { - "description": "Specifies the visual and storage treatment of white spaces in the string.", + "description": "Specifies the visual and storage treatment of whitespaces in the string.", "type": "boolean" } } } ] }, - "CapabilityReference": { - "allOf": [ - { - "$ref": "#/definitions/Entity" + "X509": { + "type": "object", + "properties": { + "clientCertificates": { + "description": "The X.509 client certificates for this credential.", + "$ref": "#/definitions/X509Certificates" + } + } + }, + "X509Attestation": { + "allOf": [ + { + "$ref": "#/definitions/Attestation" + }, + { + "type": "object", + "properties": { + "x509": { + "description": "The X.509 credentials for this attestation.", + "$ref": "#/definitions/X509" + } + }, + "required": [ + "x509" + ] + } + ] + }, + "X509Certificate": { + "type": "object", + "properties": { + "certificate": { + "description": "The string representation of this certificate.", + "type": "string" + }, + "info": { + "description": "Information about this certificate.", + "readOnly": true, + "$ref": "#/definitions/X509CertificateInfo" + } + } + }, + "X509CertificateInfo": { + "type": "object", + "properties": { + "sha1Thumbprint": { + "description": "The SHA-1 hash value of the certificate.", + "type": "string" + } + }, + "required": [ + "sha1Thumbprint" + ] + }, + "X509Certificates": { + "type": "object", + "properties": { + "primary": { + "description": "The primary X.509 certificate for this credential.", + "$ref": "#/definitions/X509Certificate" }, - { - "type": "object", - "properties": { - "component": { - "description": "The name of the component being referenced.", - "type": "string" - }, - "reference": { - "description": "The name of the capability being referenced.", - "type": "string" - } - }, - "required": [ - "component", - "reference" - ] + "secondary": { + "description": "The secondary X.509 certificate for this credential.", + "$ref": "#/definitions/X509Certificate" } + }, + "required": [ + "primary" ] } }, @@ -1108,7 +1183,7 @@ "/apiTokens": { "get": { "operationId": "ApiTokens_List", - "summary": "Get the list of API tokens in an application.", + "summary": "Get the list of API tokens in an application. The token value will never be returned for security reasons.", "x-ms-examples": { "List API tokens": { "$ref": "./examples/apitoken_list.json" @@ -1128,15 +1203,6 @@ } }, "/apiTokens/{token_id}": { - "parameters": [ - { - "in": "path", - "name": "token_id", - "description": "Unique ID for the API token.", - "type": "string", - "required": true - } - ], "get": { "operationId": "ApiTokens_Get", "summary": "Get an API token by ID.", @@ -1145,6 +1211,15 @@ "$ref": "./examples/apitoken_get.json" } }, + "parameters": [ + { + "in": "path", + "name": "token_id", + "description": "Unique ID for the API token.", + "type": "string", + "required": true + } + ], "responses": { "200": { "description": "Success", @@ -1156,7 +1231,7 @@ }, "put": { "operationId": "ApiTokens_Set", - "summary": "Create a new API token in the application.", + "summary": "Create a new API token in the application to use in the IoT Central public API. The token value will be returned in the response, and won't be returned again in subsequent requests.", "x-ms-examples": { "Create API token": { "$ref": "./examples/apitoken_create.json" @@ -1171,13 +1246,13 @@ "required": true }, { - "name": "body", "in": "body", + "name": "body", "description": "API token body.", - "required": true, "schema": { "$ref": "#/definitions/ApiToken" - } + }, + "required": true } ], "responses": { @@ -1192,6 +1267,11 @@ "delete": { "operationId": "ApiTokens_Remove", "summary": "Delete an API token.", + "x-ms-examples": { + "Delete API token": { + "$ref": "./examples/apitoken_delete.json" + } + }, "parameters": [ { "in": "path", @@ -1201,11 +1281,6 @@ "required": true } ], - "x-ms-examples": { - "Delete API token": { - "$ref": "./examples/apitoken_delete.json" - } - }, "responses": { "204": { "description": "Success" @@ -1236,15 +1311,6 @@ } }, "/continuousDataExports/{export_id}": { - "parameters": [ - { - "in": "path", - "name": "export_id", - "description": "Unique ID for the continuous data export.", - "type": "string", - "required": true - } - ], "get": { "operationId": "ContinuousDataExports_Get", "summary": "Get a continuous data export by ID.", @@ -1253,6 +1319,15 @@ "$ref": "./examples/continuousdataexports_get.json" } }, + "parameters": [ + { + "in": "path", + "name": "export_id", + "description": "Unique ID for the continuous data export.", + "type": "string", + "required": true + } + ], "responses": { "200": { "description": "Success", @@ -1279,13 +1354,13 @@ "required": true }, { - "name": "body", "in": "body", + "name": "body", "description": "Data export body.", - "required": true, "schema": { "$ref": "#/definitions/ContinuousDataExport" - } + }, + "required": true } ], "responses": { @@ -1300,6 +1375,11 @@ "delete": { "operationId": "ContinuousDataExports_Remove", "summary": "Delete a continuous data export.", + "x-ms-examples": { + "Delete export": { + "$ref": "./examples/continuousdataexports_delete.json" + } + }, "parameters": [ { "in": "path", @@ -1309,11 +1389,6 @@ "required": true } ], - "x-ms-examples": { - "Delete export": { - "$ref": "./examples/continuousdataexports_delete.json" - } - }, "responses": { "204": { "description": "Success" @@ -1347,16 +1422,47 @@ "get": { "operationId": "DeviceTemplates_Get", "summary": "Get a device template by ID", + "x-ms-examples": { + "Get a device template by Id": { + "$ref": "./examples/devicetemplates_get.json" + } + }, "parameters": [ { "$ref": "#/parameters/DeviceTemplateId" } ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeviceTemplate" + } + } + } + }, + "put": { + "operationId": "DeviceTemplates_Set", + "summary": "Publish a new device template or update the cloud properties and overrides of an existing device template. Default views will be automatically generated for new device templates created this way.", "x-ms-examples": { - "Get a device template by Id": { - "$ref": "./examples/devicetemplates_get.json" + "Create a device template": { + "$ref": "./examples/devicetemplates_create.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceTemplateId" + }, + { + "in": "body", + "name": "body", + "description": "Device template body.", + "schema": { + "$ref": "#/definitions/DeviceTemplate" + }, + "required": true + } + ], "responses": { "200": { "description": "Success", @@ -1370,49 +1476,45 @@ "operationId": "DeviceTemplates_Remove", "summary": "Delete a device template", "description": "Delete an existing device template by device ID.", - "parameters": [ - { - "$ref": "#/parameters/DeviceTemplateId" - } - ], "x-ms-examples": { "Delete a device template by Id": { "$ref": "./examples/devicetemplates_delete.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceTemplateId" + } + ], "responses": { "204": { "description": "Success" } } - }, - "put": { - "operationId": "DeviceTemplates_Set", - "summary": "Create or update a device template", + } + }, + "/deviceTemplates/{device_template_id}/devices": { + "get": { + "operationId": "DeviceTemplates_ListDevices", + "summary": "Get devices for a template", "x-ms-examples": { - "Create a device template": { - "$ref": "./examples/devicetemplates_create.json" + "List devices associated to a device template": { + "$ref": "./examples/devices_list_by_template.json" } }, "parameters": [ { "$ref": "#/parameters/DeviceTemplateId" - }, - { - "name": "body", - "in": "body", - "description": "Device template body.", - "required": true, - "schema": { - "$ref": "#/definitions/DeviceTemplate" - } } ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceTemplate" + "$ref": "#/definitions/DeviceCollection" } } } @@ -1422,16 +1524,16 @@ "get": { "operationId": "DeviceTemplates_GetMerged", "summary": "Get a merged device template by ID", - "parameters": [ - { - "$ref": "#/parameters/DeviceTemplateId" - } - ], "x-ms-examples": { "Get a merged device template by Id": { "$ref": "./examples/devicetemplates_get_merged.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceTemplateId" + } + ], "responses": { "200": { "description": "Success", @@ -1442,18 +1544,13 @@ } } }, - "/deviceTemplates/{device_template_id}/devices": { + "/devices": { "get": { - "operationId": "DeviceTemplates_ListDevices", - "summary": "Get devices for a template", - "parameters": [ - { - "$ref": "#/parameters/DeviceTemplateId" - } - ], + "operationId": "Devices_List", + "summary": "Get the list of devices in an application", "x-ms-examples": { - "List devices associated to a device template": { - "$ref": "./examples/devices_list_by_template.json" + "List devices": { + "$ref": "./examples/devices_list.json" } }, "x-ms-pageable": { @@ -1469,59 +1566,118 @@ } } }, - "/devices": { + "/devices/{device_id}": { "get": { - "operationId": "Devices_List", - "summary": "Get the list of devices in an application", + "operationId": "Devices_Get", + "summary": "Get a device by ID", + "description": "Get details about an existing device by device ID.", "x-ms-examples": { - "List devices": { - "$ref": "./examples/devices_list.json" + "Get device by Id": { + "$ref": "./examples/devices_get.json" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Device" + } + } + } + }, + "put": { + "operationId": "Devices_Set", + "summary": "Create or update a device", + "description": "Create a new device or update an existing one by device ID.", + "x-ms-examples": { + "Create device": { + "$ref": "./examples/devices_create.json" + } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + }, + { + "in": "body", + "name": "body", + "description": "Device body.", + "schema": { + "$ref": "#/definitions/Device" + }, + "required": true + } + ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceCollection" + "$ref": "#/definitions/Device" } } } + }, + "delete": { + "operationId": "Devices_Remove", + "summary": "Delete a device", + "description": "Delete an existing device by device ID.", + "x-ms-examples": { + "Delete device": { + "$ref": "./examples/devices_delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + } + ], + "responses": { + "204": { + "description": "Success" + } + } } }, - "/devices/{device_id}": { + "/devices/{device_id}/attestation": { "get": { - "operationId": "Devices_Get", - "summary": "Get a device by ID", - "description": "Get details about an existing device by device ID.", + "operationId": "Devices_GetAttestation", + "summary": "Get device attestation", + "x-ms-examples": { + "Get device attestation": { + "$ref": "./examples/devices_attestations_get.json" + } + }, "parameters": [ { "$ref": "#/parameters/DeviceId" } ], - "x-ms-examples": { - "Get device by Id": { - "$ref": "./examples/devices_get.json" - } - }, "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/Device" + "$ref": "#/definitions/Attestation" } } } }, "put": { - "operationId": "Devices_Set", - "summary": "Create or update a device", - "description": "Create a new device or update an existing one by device ID.", + "operationId": "Devices_SetAttestation", + "summary": "Create or update an individual device attestation", "x-ms-examples": { - "Create device": { - "$ref": "./examples/devices_create.json" + "Create or update device attestation - Symmetric Key": { + "$ref": "./examples/devices_attestations_set_symmetricKey.json" + }, + "Create or update device attestation - TPM": { + "$ref": "./examples/devices_attestations_set_tpm.json" + }, + "Create or update device attestation - X509": { + "$ref": "./examples/devices_attestations_set_x509.json" } }, "parameters": [ @@ -1529,38 +1685,37 @@ "$ref": "#/parameters/DeviceId" }, { - "name": "body", "in": "body", - "description": "Device body.", - "required": true, + "name": "body", + "description": "Individual device attestation body.", "schema": { - "$ref": "#/definitions/Device" - } + "$ref": "#/definitions/Attestation" + }, + "required": true } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/Device" + "$ref": "#/definitions/Attestation" } } } }, "delete": { - "operationId": "Devices_Remove", - "summary": "Delete a device", - "description": "Delete an existing device by device ID.", + "operationId": "Devices_RemoveAttestation", + "summary": "Remove an individual device attestation", + "x-ms-examples": { + "Delete device attestation": { + "$ref": "./examples/devices_attestations_delete.json" + } + }, "parameters": [ { "$ref": "#/parameters/DeviceId" } ], - "x-ms-examples": { - "Delete device": { - "$ref": "./examples/devices_delete.json" - } - }, "responses": { "204": { "description": "Success" @@ -1568,267 +1723,326 @@ } } }, - "/roles": { + "/devices/{device_id}/cloudProperties": { "get": { - "operationId": "Roles_List", - "summary": "Get the list of roles in an application.", + "operationId": "Devices_GetCloudProperties", + "summary": "Get device cloud properties", + "description": "Get all cloud property values of a device by device ID.", "x-ms-examples": { - "List roles": { - "$ref": "./examples/roles_list.json" + "Get cloud properties": { + "$ref": "./examples/devices_cloudproperties_get.json" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + } + ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/RoleCollection" + "$ref": "#/definitions/DeviceCloudProperties" } } } - } - }, - "/roles/{role_id}": { - "get": { - "operationId": "Roles_Get", - "summary": "Get a role by ID.", + }, + "put": { + "operationId": "Devices_UpdateCloudProperties", + "summary": "Update device cloud properties", + "description": "Update all cloud property values of a device by device ID.", + "x-ms-examples": { + "Update cloud properties": { + "$ref": "./examples/devices_cloudproperties_update.json" + } + }, "parameters": [ { - "in": "path", - "name": "role_id", - "description": "Unique ID for the role.", - "type": "string", + "$ref": "#/parameters/DeviceId" + }, + { + "in": "body", + "name": "body", + "description": "Device properties.", + "schema": { + "$ref": "#/definitions/DeviceCloudProperties" + }, "required": true } ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeviceCloudProperties" + } + } + } + } + }, + "/devices/{device_id}/components": { + "get": { + "operationId": "Devices_ListComponents", + "summary": "List the components present in a device", "x-ms-examples": { - "Get role by Id": { - "$ref": "./examples/roles_get.json" + "List components": { + "$ref": "./examples/devices_components_get.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + } + ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/Role" + "$ref": "#/definitions/NamedEntityCollection" } } } } }, - "/devices/{device_id}/attestation": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - } - ], + "/devices/{device_id}/components/{component_name}/commands/{command_name}": { "get": { - "operationId": "Devices_GetAttestation", - "summary": "Get device attestation", + "operationId": "Devices_GetComponentCommandHistory", + "summary": "Get device command history", "x-ms-examples": { - "Get device attestation": { - "$ref": "./examples/devices_attestations_get.json" + "Get command history": { + "$ref": "./examples/devices_commandshistory_get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ComponentName" + }, + { + "$ref": "#/parameters/CommandName" } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" }, "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/Attestation" + "$ref": "#/definitions/DeviceCommandCollection" } } } }, - "put": { - "operationId": "Devices_SetAttestation", - "summary": "Create or update an individual device attestation", + "post": { + "operationId": "Devices_ExecuteComponentCommand", + "summary": "Execute a device command", + "description": "Execute a command on a device.", + "x-ms-examples": { + "Send command": { + "$ref": "./examples/devices_commands_send.json" + } + }, "parameters": [ { "$ref": "#/parameters/DeviceId" }, { - "name": "body", + "$ref": "#/parameters/ComponentName" + }, + { + "$ref": "#/parameters/CommandName" + }, + { "in": "body", - "description": "Individual device attestation body.", - "required": true, + "name": "body", + "description": "Device command body.", "schema": { - "$ref": "#/definitions/Attestation" - } + "$ref": "#/definitions/DeviceCommand" + }, + "required": true } ], + "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeviceCommand" + } + } + } + } + }, + "/devices/{device_id}/components/{component_name}/properties": { + "get": { + "operationId": "Devices_GetComponentProperties", + "summary": "Get device properties for a specific component", "x-ms-examples": { - "Create or update device attestation - Symmetric Key": { - "$ref": "./examples/devices_attestations_set_symmetricKey.json" - }, - "Create or update device attestation - X509": { - "$ref": "./examples/devices_attestations_set_x509.json" - }, - "Create or update device attestation - TPM": { - "$ref": "./examples/devices_attestations_set_tpm.json" + "Get properties on components": { + "$ref": "./examples/devices_properties_components_get.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ComponentName" + } + ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/Attestation" + "$ref": "#/definitions/DeviceProperties" } } } }, - "delete": { - "operationId": "Devices_RemoveAttestation", - "summary": "Remove an individual device attestation", + "put": { + "operationId": "Devices_UpdateComponentProperties", + "summary": "Update device properties for a specific component", + "x-ms-examples": { + "Update properties on components": { + "$ref": "./examples/devices_properties_components_set.json" + } + }, "parameters": [ { "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ComponentName" + }, + { + "in": "body", + "name": "body", + "description": "Device properties.", + "schema": { + "$ref": "#/definitions/DeviceProperties" + }, + "required": true } ], - "x-ms-examples": { - "Delete device attestation": { - "$ref": "./examples/devices_attestations_delete.json" - } - }, "responses": { - "204": { - "description": "Success" + "202": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeviceProperties" + } } } } }, - "/devices/{device_id}/cloudProperties": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - } - ], + "/devices/{device_id}/components/{component_name}/telemetry/{telemetry_name}": { "get": { - "operationId": "Devices_GetCloudProperties", - "summary": "Get device cloud properties", - "description": "Get all cloud property values of a device by device ID.", + "operationId": "Devices_GetComponentTelemetryValue", + "summary": "Get device telemetry value", + "description": "Get the last telemetry value from a device.", "x-ms-examples": { - "Get cloud properties": { - "$ref": "./examples/devices_cloudproperties_get.json" + "Get telemetry": { + "$ref": "./examples/devices_telemetry_get.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ComponentName" + }, + { + "$ref": "#/parameters/TelemetryName" + } + ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceCloudProperties" + "$ref": "#/definitions/DeviceTelemetry" } } } - }, - "put": { - "operationId": "Devices_UpdateCloudProperties", - "summary": "Update device cloud properties", - "description": "Update all cloud property values of a device by device ID.", + } + }, + "/devices/{device_id}/credentials": { + "get": { + "operationId": "Devices_GetCredentials", + "summary": "Get device credentials", "x-ms-examples": { - "Update cloud properties": { - "$ref": "./examples/devices_cloudproperties_update.json" + "Get device credentials": { + "$ref": "./examples/devicecredentials_get.json" } }, "parameters": [ { - "name": "body", - "in": "body", - "description": "Device properties.", - "required": true, - "schema": { - "$ref": "#/definitions/DeviceCloudProperties" - } + "$ref": "#/parameters/DeviceId" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceCloudProperties" + "$ref": "#/definitions/DeviceCredentials" } } } } }, - "/devices/{device_id}/components/{component_name}/commands/{command_name}": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - }, - { - "$ref": "#/parameters/ComponentName" - }, - { - "$ref": "#/parameters/CommandName" - } - ], + "/devices/{device_id}/modules": { "get": { - "operationId": "Devices_GetComponentCommandHistory", - "summary": "Get command history for a component of the device", + "operationId": "Devices_ListModules", + "summary": "List the modules present in a device", "x-ms-examples": { - "Get command history": { - "$ref": "./examples/devices_commandshistory_get.json" + "List modules": { + "$ref": "./examples/devices_modules_get.json" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + } + ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceCommandCollection" + "$ref": "#/definitions/NamedEntityCollection" } } } - }, - "post": { - "operationId": "Devices_ExecuteComponentCommand", - "summary": "Execute a command on a component of a device", - "description": "Execute a command on a device.", + } + }, + "/devices/{device_id}/modules/{module_name}/components": { + "get": { + "operationId": "Devices_ListModuleComponents", + "summary": "List the components present in a module", + "x-ms-examples": { + "List module components": { + "$ref": "./examples/devices_modules_components_get.json" + } + }, "parameters": [ { - "name": "body", - "in": "body", - "description": "Device command body.", - "required": true, - "schema": { - "$ref": "#/definitions/DeviceCommand" - } + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ModuleName" } ], - "x-ms-examples": { - "Send command": { - "$ref": "./examples/devices_commands_send.json" - } - }, "responses": { - "201": { + "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceCommand" + "$ref": "#/definitions/NamedEntityCollection" } } } } }, "/devices/{device_id}/modules/{module_name}/components/{component_name}/commands/{command_name}": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - }, - { - "$ref": "#/parameters/ModuleName" - }, - { - "$ref": "#/parameters/ComponentName" - }, - { - "$ref": "#/parameters/CommandName" - } - ], "get": { "operationId": "Devices_GetModuleComponentCommandHistory", "summary": "Get module command history", @@ -1837,6 +2051,23 @@ "$ref": "./examples/modules_commandshistory_get.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ModuleName" + }, + { + "$ref": "#/parameters/ComponentName" + }, + { + "$ref": "#/parameters/CommandName" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "responses": { "200": { "description": "Success", @@ -1850,22 +2081,34 @@ "operationId": "Devices_ExecuteModuleComponentCommand", "summary": "Execute a module command", "description": "Execute a command on a module.", + "x-ms-examples": { + "Send command to module": { + "$ref": "./examples/modules_commands_send.json" + } + }, "parameters": [ { - "name": "body", + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ModuleName" + }, + { + "$ref": "#/parameters/ComponentName" + }, + { + "$ref": "#/parameters/CommandName" + }, + { "in": "body", + "name": "body", "description": "Device command body.", - "required": true, "schema": { "$ref": "#/definitions/DeviceCommand" - } + }, + "required": true } ], - "x-ms-examples": { - "Send command to module": { - "$ref": "./examples/modules_commands_send.json" - } - }, "responses": { "201": { "description": "Success", @@ -1876,45 +2119,26 @@ } } }, - "/devices/{device_id}/credentials": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - } - ], + "/devices/{device_id}/modules/{module_name}/components/{component_name}/properties": { "get": { - "operationId": "Devices_GetCredentials", - "summary": "Get device credentials", + "operationId": "Devices_GetModuleComponentProperties", + "summary": "Get module properties for a specific component", "x-ms-examples": { - "Get device credentials": { - "$ref": "./examples/devicecredentials_get.json" + "Get properties of a module": { + "$ref": "./examples/modules_properties_components_get.json" } }, - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/DeviceCredentials" - } - } - } - } - }, - "/devices/{device_id}/properties": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - } - ], - "get": { - "operationId": "Devices_GetProperties", - "summary": "Get device properties", - "description": "Get all property values of a device by device ID.", - "x-ms-examples": { - "Get properties": { - "$ref": "./examples/devices_properties_get.json" + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ModuleName" + }, + { + "$ref": "#/parameters/ComponentName" } - }, + ], "responses": { "200": { "description": "Success", @@ -1925,23 +2149,31 @@ } }, "put": { - "operationId": "Devices_UpdateProperties", - "summary": "Update device properties", - "description": "Update all property values of a device by device ID.", + "operationId": "Devices_UpdateModuleComponentProperties", + "summary": "Update module properties for a specific component", "x-ms-examples": { - "Update properties": { - "$ref": "./examples/devices_properties_update.json" + "Update properties of a module within a component": { + "$ref": "./examples/modules_properties_components_set.json" } }, "parameters": [ { - "name": "body", + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ModuleName" + }, + { + "$ref": "#/parameters/ComponentName" + }, + { "in": "body", - "description": "Device properties.", - "required": true, + "name": "body", + "description": "Module properties.", "schema": { "$ref": "#/definitions/DeviceProperties" - } + }, + "required": true } ], "responses": { @@ -1954,70 +2186,41 @@ } } }, - "/devices/{device_id}/components/{component_name}/properties": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - }, - { - "$ref": "#/parameters/ComponentName" - } - ], + "/devices/{device_id}/modules/{module_name}/components/{component_name}/telemetry/{telemetry_name}": { "get": { - "operationId": "Devices_GetComponentProperties", - "summary": "Get device properties for a specific component", - "x-ms-examples": { - "Get properties on components": { - "$ref": "./examples/devices_properties_components_get.json" - } - }, - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/DeviceProperties" - } - } - } - }, - "put": { - "operationId": "Devices_UpdateComponentProperties", - "summary": "Update device properties for a specific component", + "operationId": "Devices_GetModuleComponentTelemetryValue", + "summary": "Get module telemetry value", + "description": "Get the last telemetry value from a module.", "x-ms-examples": { - "Update properties on components": { - "$ref": "./examples/devices_properties_components_set.json" + "Get telemetry from module": { + "$ref": "./examples/modules_telemetry_get.json" } }, "parameters": [ { - "name": "body", - "in": "body", - "description": "Device properties.", - "required": true, - "schema": { - "$ref": "#/definitions/DeviceProperties" - } + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ModuleName" + }, + { + "$ref": "#/parameters/ComponentName" + }, + { + "$ref": "#/parameters/TelemetryName" } ], "responses": { - "202": { + "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceProperties" + "$ref": "#/definitions/DeviceTelemetry" } } } } }, - "/devices/{device_id}/modules/{module_name}/properties": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - }, - { - "$ref": "#/parameters/ModuleName" - } - ], + "/devices/{device_id}/modules/{module_name}/properties": { "get": { "operationId": "Devices_GetModuleProperties", "summary": "Get module properties", @@ -2027,6 +2230,14 @@ "$ref": "./examples/modules_properties_get.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ModuleName" + } + ], "responses": { "200": { "description": "Success", @@ -2040,22 +2251,28 @@ "operationId": "Devices_UpdateModuleProperties", "summary": "Update module properties", "description": "Update all property values of a module.", + "x-ms-examples": { + "Update properties of a module": { + "$ref": "./examples/modules_properties_update.json" + } + }, "parameters": [ { - "name": "body", + "$ref": "#/parameters/DeviceId" + }, + { + "$ref": "#/parameters/ModuleName" + }, + { "in": "body", + "name": "body", "description": "Module properties.", - "required": true, "schema": { "$ref": "#/definitions/DeviceProperties" - } + }, + "required": true } ], - "x-ms-examples": { - "Update properties of a module": { - "$ref": "./examples/modules_properties_update.json" - } - }, "responses": { "202": { "description": "Success", @@ -2066,26 +2283,21 @@ } } }, - "/devices/{device_id}/modules/{module_name}/components/{component_name}/properties": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - }, - { - "$ref": "#/parameters/ModuleName" - }, - { - "$ref": "#/parameters/ComponentName" - } - ], + "/devices/{device_id}/properties": { "get": { - "operationId": "Devices_GetModuleComponentProperties", - "summary": "Get module properties for a specific component", + "operationId": "Devices_GetProperties", + "summary": "Get device properties", + "description": "Get all property values of a device by device ID.", "x-ms-examples": { - "Get properties of a module": { - "$ref": "./examples/modules_properties_components_get.json" + "Get properties": { + "$ref": "./examples/devices_properties_get.json" } }, + "parameters": [ + { + "$ref": "#/parameters/DeviceId" + } + ], "responses": { "200": { "description": "Success", @@ -2096,24 +2308,28 @@ } }, "put": { - "operationId": "Devices_UpdateModuleComponentProperties", - "summary": "Update module properties for a specific component", + "operationId": "Devices_UpdateProperties", + "summary": "Update device properties", + "description": "Update all property values of a device by device ID.", + "x-ms-examples": { + "Update properties": { + "$ref": "./examples/devices_properties_update.json" + } + }, "parameters": [ { - "name": "body", + "$ref": "#/parameters/DeviceId" + }, + { "in": "body", - "description": "Module properties.", - "required": true, + "name": "body", + "description": "Device properties.", "schema": { "$ref": "#/definitions/DeviceProperties" - } + }, + "required": true } ], - "x-ms-examples": { - "Update properties of a module within a component": { - "$ref": "./examples/modules_properties_components_set.json" - } - }, "responses": { "202": { "description": "Success", @@ -2124,115 +2340,215 @@ } } }, - "/devices/{device_id}/components/{component_name}/telemetry/{telemetry_name}": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" + "/roles": { + "get": { + "operationId": "Roles_List", + "summary": "Get the list of roles in an application.", + "x-ms-examples": { + "List roles": { + "$ref": "./examples/roles_list.json" + } }, - { - "$ref": "#/parameters/ComponentName" + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - { - "$ref": "#/parameters/TelemetryName" + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/RoleCollection" + } + } } - ], + } + }, + "/roles/{role_id}": { "get": { - "operationId": "Devices_GetComponentTelemetryValue", - "summary": "Get device telemetry value", + "operationId": "Roles_Get", + "summary": "Get a role by ID.", "x-ms-examples": { - "Get telemetry": { - "$ref": "./examples/devices_telemetry_get.json" + "Get role by Id": { + "$ref": "./examples/roles_get.json" } }, + "parameters": [ + { + "in": "path", + "name": "role_id", + "description": "Unique ID for the role.", + "type": "string", + "required": true + } + ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceTelemetry" + "$ref": "#/definitions/Role" } } } } }, - "/devices/{device_id}/modules/{module_name}/components/{component_name}/telemetry/{telemetry_name}": { - "parameters": [ - { - "$ref": "#/parameters/DeviceId" - }, - { - "$ref": "#/parameters/ModuleName" + "/users": { + "get": { + "operationId": "Users_List", + "summary": "Get the list of users in an application", + "x-ms-examples": { + "List users": { + "$ref": "./examples/users_list.json" + } }, - { - "$ref": "#/parameters/ComponentName" + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - { - "$ref": "#/parameters/TelemetryName" + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UserCollection" + } + } } - ], + } + }, + "/users/{user_id}": { "get": { - "operationId": "Devices_GetModuleComponentTelemetryValue", - "summary": "Get module telemetry value", + "operationId": "Users_Get", + "summary": "Get a user by ID", "x-ms-examples": { - "Get telemetry from module": { - "$ref": "./examples/modules_telemetry_get.json" + "Get a user by ID": { + "$ref": "./examples/users_get.json" } }, + "parameters": [ + { + "in": "path", + "name": "user_id", + "description": "Unique ID of the user.", + "type": "string", + "required": true + } + ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/DeviceTelemetry" + "$ref": "#/definitions/User" + } + } + } + }, + "put": { + "operationId": "Users_Set", + "summary": "Create or update a user in the application", + "x-ms-examples": { + "Add or update a service principal user": { + "$ref": "./examples/users_set_serviceprincipal.json" + }, + "Add or update an email user": { + "$ref": "./examples/users_set.json" + } + }, + "parameters": [ + { + "in": "path", + "name": "user_id", + "description": "Unique ID of the user.", + "type": "string", + "required": true + }, + { + "in": "body", + "name": "body", + "description": "User body.", + "schema": { + "$ref": "#/definitions/User" + }, + "required": true + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/User" } } } + }, + "delete": { + "operationId": "Users_Remove", + "summary": "Delete a user", + "x-ms-examples": { + "Delete a user": { + "$ref": "./examples/users_delete.json" + } + }, + "parameters": [ + { + "in": "path", + "name": "user_id", + "description": "Unique ID of the user.", + "type": "string", + "required": true + } + ], + "responses": { + "204": { + "description": "Success" + } + } } } }, "parameters": { - "DeviceTemplateId": { + "CentralDnsSuffixInPath": { "in": "path", - "name": "device_template_id", - "description": "Unique ID of the device template.", - "x-ms-parameter-location": "method", + "name": "centralDnsSuffixInPath", + "description": "The DNS suffix used as the base for all Azure IoT Central service requests.", + "x-ms-parameter-location": "client", "type": "string", + "x-ms-skip-url-encoding": true, + "default": "azureiotcentral.com", "required": true }, - "DeviceId": { + "CommandName": { "in": "path", - "name": "device_id", - "description": "Unique ID of the device.", + "name": "command_name", + "description": "Name of this device command.", "x-ms-parameter-location": "method", "type": "string", "required": true }, - "ModuleName": { + "ComponentName": { "in": "path", - "name": "module_name", - "description": "Name of the device module.", + "name": "component_name", + "description": "Name of the component. In the device template editor in your app, this is the interface instance name.", "x-ms-parameter-location": "method", "type": "string", "required": true }, - "ComponentName": { + "DeviceId": { "in": "path", - "name": "component_name", - "description": "Name of the component. In the device template editor in your app, this is the interface instance name.", + "name": "device_id", + "description": "Unique ID of the device.", "x-ms-parameter-location": "method", "type": "string", "required": true }, - "CommandName": { + "DeviceTemplateId": { "in": "path", - "name": "command_name", - "description": "Name of this device command.", + "name": "device_template_id", + "description": "Unique ID of the device template.", "x-ms-parameter-location": "method", "type": "string", "required": true }, - "TelemetryName": { + "ModuleName": { "in": "path", - "name": "telemetry_name", - "description": "Name of this device telemetry.", + "name": "module_name", + "description": "Name of the device module.", "x-ms-parameter-location": "method", "type": "string", "required": true @@ -2240,20 +2556,18 @@ "Subdomain": { "in": "path", "name": "subdomain", - "description": "Application subdomain.", + "description": "The application subdomain.", "x-ms-parameter-location": "client", "type": "string", "required": true }, - "CentralDnsSuffixInPath": { - "name": "centralDnsSuffixInPath", + "TelemetryName": { "in": "path", - "required": true, + "name": "telemetry_name", + "description": "Name of this device telemetry.", + "x-ms-parameter-location": "method", "type": "string", - "default": "azureiotcentral.com", - "x-ms-skip-url-encoding": true, - "description": "The DNS suffix used as the base for all Azure IoT Central service requests.", - "x-ms-parameter-location": "client" + "required": true } }, "securityDefinitions": { @@ -2267,15 +2581,5 @@ } } }, - "x-ms-parameterized-host": { - "hostTemplate": "{subdomain}.{centralDnsSuffixInPath}", - "parameters": [ - { - "$ref": "#/parameters/Subdomain" - }, - { - "$ref": "#/parameters/CentralDnsSuffixInPath" - } - ] - } + "security": [] } diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json index 51e8c8ea2184..6745556b6fee 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "version": "preview", - "title": "Azure IoT Central", + "title": "Azure IoT Central Applications", "description": "Azure IoT Central is a service that makes it easy to connect, monitor, and manage your IoT devices at scale." }, "host": "apps.azureiotcentral.com", @@ -52,6 +52,10 @@ "items": { "$ref": "#/definitions/Application" } + }, + "nextLink": { + "description": "URL to get the next page of applications.", + "type": "string" } }, "required": [ @@ -64,6 +68,14 @@ "get": { "operationId": "Applications_List", "summary": "Get the list of applications accessible to the signed-in user", + "x-ms-examples": { + "List applications": { + "$ref": "./examples/application_list.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "responses": { "200": { "description": "Success", @@ -71,14 +83,6 @@ "$ref": "#/definitions/ApplicationCollection" } } - }, - "x-ms-pageable": { - "nextLinkName": null - }, - "x-ms-examples": { - "List applications": { - "$ref": "./examples/application_list.json" - } } } }, @@ -86,6 +90,11 @@ "get": { "operationId": "Applications_Get", "summary": "Get an application by ID", + "x-ms-examples": { + "Get application": { + "$ref": "./examples/application_get.json" + } + }, "parameters": [ { "in": "path", @@ -102,22 +111,19 @@ "$ref": "#/definitions/Application" } } - }, - "x-ms-examples": { - "Get application": { - "$ref": "./examples/application_get.json" - } } } } }, "parameters": { - "Subdomain": { + "CentralDnsSuffixInPath": { "in": "path", - "name": "subdomain", - "description": "Application subdomain.", + "name": "centralDnsSuffixInPath", + "description": "The DNS suffix used as the base for all Azure IoT Central service requests.", "x-ms-parameter-location": "client", "type": "string", + "x-ms-skip-url-encoding": true, + "default": "azureiotcentral.com", "required": true } }, @@ -131,5 +137,6 @@ "user_impersonation": "impersonate your user account" } } - } + }, + "security": [] } diff --git a/specification/iotcentral/data-plane/readme.md b/specification/iotcentral/data-plane/readme.md index 3927cea53f3b..ad32b23a5c39 100644 --- a/specification/iotcentral/data-plane/readme.md +++ b/specification/iotcentral/data-plane/readme.md @@ -1,83 +1,68 @@ # IoT Central - API client generation - > see https://aka.ms/autorest - This is the AutoRest configuration file for MonitorClient. - - - --- ## Getting Started To build the SDK for MonitorClient, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: - > `autorest` - To see additional help and options, run: - > `autorest --help` --- - ## Configuration These are the global settings for the IoT Central API. - ``` yaml openapi-type: data-plane tag: package-2019-10-28-preview ``` - ### Tag: package-2019-10-28-preview - These settings apply only when `--tag=package-2019-10-28-preview` is specified on the command line. -``` yaml $(tag) == 'package-2019-10-28-preview' -input-file: -- Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json -- Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json +```yaml $(package-2019-10-28-preview-global) +input-file: Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json +``` +```yaml $(package-2019-10-28-preview-app) +input-file: Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json +``` + +```yaml +batch: + - package-2019-10-28-preview-global : true + - package-2019-10-28-preview-app: true ``` ```yaml version: latest clear-output-folder: true - # azure-validator: true semantic-validator: true - azure-arm: true add-credentials: true generate-metadata: true license-header: MICROSOFT_MIT_NO_VERSION - csharp: namespace: Microsoft.Azure.IotCentral output-folder: client/csharp/Microsoft.Azure.IotCentral - nodejs: package-name: azure-iotcentral package-version: 1.0.0 output-folder: client/nodejs ``` ## Multi-API/Profile support for AutoRest v3 generators - AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - This block is updated by an automatic script. Edits may be lost! - ``` yaml $(tag) == 'all-api-versions' /* autogenerated */ # include the azure profile definitions from the standard location require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json - $(this-folder)/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentralapps.json + - $(this-folder)/Microsoft.IoTCentral/preview/2019-10-28-preview/iotcentral.json ``` - If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. - ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` - +``` \ No newline at end of file diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json index 8958ac279f14..f7887e217709 100644 --- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json +++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json @@ -574,6 +574,10 @@ "type": "string" } }, + "sku": { + "description": "A valid instance SKU.", + "$ref": "#/definitions/AppSkuInfo" + }, "properties": { "description": "The common properties of an IoT Central application.", "x-ms-client-flatten": true, diff --git a/specification/iotcentral/resource-manager/readme.azureresourceschema.md b/specification/iotcentral/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3db7de0ae97a --- /dev/null +++ b/specification/iotcentral/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-iotcentral-2018-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-iotcentral-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-iotcentral-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.IoTCentral/stable/2018-09-01/iotcentral.json + +``` diff --git a/specification/iotcentral/resource-manager/readme.md b/specification/iotcentral/resource-manager/readme.md index f1677b8b592c..87d8636674e5 100644 --- a/specification/iotcentral/resource-manager/readme.md +++ b/specification/iotcentral/resource-manager/readme.md @@ -62,6 +62,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_iot_central'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js iotcentral/resource-manager ``` ## C# @@ -131,34 +134,9 @@ regenerate-manager: true generate-interface: true ``` -## 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.iotcentral - package-name: azure-mgmt-iotcentral - clear-output-folder: true -``` - -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iotcentral/azure/mgmt/iotcentral -``` +## AzureResourceSchema -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iotcentral -``` +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## Multi-API/Profile support for AutoRest v3 generators diff --git a/specification/iotcentral/resource-manager/readme.python.md b/specification/iotcentral/resource-manager/readme.python.md new file mode 100644 index 000000000000..af2c1668bc45 --- /dev/null +++ b/specification/iotcentral/resource-manager/readme.python.md @@ -0,0 +1,28 @@ +## 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.iotcentral + package-name: azure-mgmt-iotcentral + clear-output-folder: true +``` + +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iotcentral/azure/mgmt/iotcentral +``` + +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iotcentral +``` diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/IotHub_ManualFailover.json new file mode 100644 index 000000000000..bc038c585283 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/IotHub_ManualFailover.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "failoverInput": { + "failoverRegion": "testHub" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/checkNameAvailability.json new file mode 100644 index 000000000000..10fb2925ab05 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/checkNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationInputs": { + "name": "test-request" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Invalid", + "message": "" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certificatescreateorupdate.json new file mode 100644 index 000000000000..07a6465001f4 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certificatescreateorupdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceName": "iothub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "properties": { + "certificate": "############################################" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + }, + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certificatesdelete.json new file mode 100644 index 000000000000..ed6ea55c330d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certificatesdelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceName": "myhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certverify.json new file mode 100644 index 000000000000..944142d3355b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_certverify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=", + "certificateVerificationBody": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": true, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpTQ=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_createOrUpdate.json new file mode 100644 index 000000000000..1848c9282cc7 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_createOrUpdate.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotHubDescription": { + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "ipFilterRules": [], + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2 + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_createconsumergroup.json new file mode 100644 index 000000000000..7679da12cba1 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_createconsumergroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test", + "consumerGroupBody": { + "properties": { + "name": "test" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_delete.json new file mode 100644 index 000000000000..eaa2051a3a16 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_delete.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "204": {}, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "404": { + "body": {} + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_deleteconsumergroup.json new file mode 100644 index 000000000000..02c23d8e40f8 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_deleteconsumergroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_deleteprivateendpointconnection.json new file mode 100644 index 000000000000..de7c80bad446 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_deleteprivateendpointconnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_exportdevices.json new file mode 100644 index 000000000000..cbd29980bdf6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_exportdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "exportDevicesParameters": { + "exportBlobContainerUri": "testBlob", + "excludeKeys": true + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_generateverificationcode.json new file mode 100644 index 000000000000..d4b11ae631c4 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_generateverificationcode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "verificationCode": "##################################", + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "##############################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_get.json new file mode 100644 index 000000000000..08cfa02618c5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_get.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "deviceStreams": { + "streamingEndpoints": [ + "https://streams.azure-devices-int.net:9443" + ] + }, + "locations": [ + { + "location": "West US", + "role": "primary" + }, + { + "location": "East US", + "role": "secondary" + } + ], + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getcertificate.json new file mode 100644 index 000000000000..451c4913e6a1 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getcertificate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert" + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getconsumergroup.json new file mode 100644 index 000000000000..6f1c4dece7cf --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getconsumergroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getjob.json new file mode 100644 index 000000000000..ef73a53819c0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getjob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "jobId": "test" + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getkey.json new file mode 100644 index 000000000000..4388e2556d5f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getkey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "iothubowner" + }, + "responses": { + "200": { + "body": { + "keyName": "iothubowner", + "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=", + "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getprivateendpointconnection.json new file mode 100644 index 000000000000..a6e8b0e8a8a6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getprivateendpointconnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getprivatelinkresources.json new file mode 100644 index 000000000000..266a12e98c89 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getprivatelinkresources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "groupId": "iotHub" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getskus.json new file mode 100644 index 000000000000..e692da42d215 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_getskus.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S1", + "tier": "Standard" + }, + "capacity": { + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S2", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 200, + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S3", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 10, + "default": 1, + "scaleType": "Manual" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_importdevices.json new file mode 100644 index 000000000000..e3813b4e176a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_importdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "importDevicesParameters": { + "inputBlobContainerUri": "testBlob", + "outputBlobContainerUri": "testBlob" + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listbyrg.json new file mode 100644 index 000000000000..4306869ba6a9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listbyrg.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listbysubscription.json new file mode 100644 index 000000000000..acaea3bfcad0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listbysubscription.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "resourceName": "testHub", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listcertificates.json new file mode 100644 index 000000000000..cc10ff706a25 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listcertificates.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listehgroups.json new file mode 100644 index 000000000000..a8c76f4d36ed --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listehgroups.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "$Default", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listjobs.json new file mode 100644 index 000000000000..27bbd0ccc4ea --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listjobs.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listkeys.json new file mode 100644 index 000000000000..66b61871eb3a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listkeys.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "iothubowner", + "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=", + "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + }, + { + "keyName": "service", + "primaryKey": "DinqxWW+s814W2Pc3dLxleelksqSYGy8Jfymt8J7a4c=", + "secondaryKey": "5G8KgJ9Wx2T0f6HRIn25TgYcFmJnBSivawNaHssiP9Y=", + "rights": "ServiceConnect" + }, + { + "keyName": "device", + "primaryKey": "o/9gPc0oD8LY/r2lRurgl9U/sKFcL2c/tmFLKAiz+e0=", + "secondaryKey": "YOeBMHnYP95vH+ykR8OeapnhS6W8raMsXOdNFwqg4lg=", + "rights": "DeviceConnect" + }, + { + "keyName": "registryRead", + "primaryKey": "h2d4mPxy6jPCWX6mO+katV9QPNJivzt4aFq0iGVc1A8=", + "secondaryKey": "3TdcalZNTB7BZHl88LGsG1Z5T6+ElEODunrs1vylwGg=", + "rights": "RegistryRead" + }, + { + "keyName": "registryReadWrite", + "primaryKey": "tyNRcaI38fXL+gQTjCmrVZGTP4YFF7uACk7pppWLWzY=", + "secondaryKey": "6P6DXOp0W3HO5/IotzcPS1kx7PHiOdesaND07Im5cYI=", + "rights": "RegistryWrite" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listprivateendpointconnections.json new file mode 100644 index 000000000000..6d7526590e23 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listprivateendpointconnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listprivatelinkresources.json new file mode 100644 index 000000000000..1fd8553c9b7b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_listprivatelinkresources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_operations.json new file mode 100644 index 000000000000..b17992a75f27 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_operations.json @@ -0,0 +1,328 @@ +{ + "parameters": { + "api-version": "2020-07-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Register Resource Provider", + "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service metric definitions", + "description": "Gets the available metrics for the IotHub service" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service log definitions", + "description": "Gets the available log definitions for the IotHub Service" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get All ResourceProvider Operations", + "description": "Get All ResourceProvider Operations" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Check If IotHub name is available", + "description": "Check If IotHub name is available" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Subscription Usages", + "description": "Get subscription usage details for this provider." + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub(s)", + "description": "Gets the IotHub resource(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create or update IotHub Resource", + "description": "Create or update IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete IotHub Resource", + "description": "Delete IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Statistics", + "description": "Get IotHub Statistics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get valid IotHub Skus", + "description": "Get valid IotHub Skus" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get all IotHub Keys", + "description": "Get all IotHub Keys" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Key for the given name", + "description": "Get IotHub Key for the given name" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create EventHub Consumer Group", + "description": "Create EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get EventHub Consumer Group(s)", + "description": "Get EventHub Consumer Group(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete EventHub Consumer Group", + "description": "Delete EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Export Devices", + "description": "Export Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Import Devices", + "description": "Import Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get the Job(s) on IotHub", + "description": "Get Job(s) details submitted on given IotHub" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Quota Metrics", + "description": "Get Quota Metrics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test All", + "description": "Test a message against all existing Routes" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test Route", + "description": "Test a message against a provided test Route" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Endpoint Health", + "description": "Gets the health of all routing Endpoints for an IotHub" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service metric definitions", + "description": "Gets the available metrics for the DPS service" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service log definitions", + "description": "Gets the available log definitions for the DPS Service" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServives", + "operation": "Check If Provisioning Service name is available", + "description": "Check If Provisioning Service name is available" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Get Provisioning Service resource", + "description": "Get Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Create Provisioning Service resource", + "description": "Create Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "get security related metadata", + "description": "get security related metadata" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_patch.json new file mode 100644 index 000000000000..cf1ff9b65ea6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_patch.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "resourceName": "myHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "location": "East US", + "type": "Microsoft.Devices/IotHubs", + "IotHubTags": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": { + "foo": "bar" + }, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_quotametrics.json new file mode 100644 index 000000000000..8207476f25ad --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_quotametrics.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TotalMessages", + "currentValue": 0, + "maxValue": 400000 + }, + { + "name": "TotalDeviceCount", + "currentValue": 0, + "maxValue": 500000 + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_routingendpointhealth.json new file mode 100644 index 000000000000..180df1e492f9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_routingendpointhealth.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "endpointId": "id1", + "healthStatus": "healthy", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + }, + { + "endpointId": "id2", + "healthStatus": "unknown" + }, + { + "endpointId": "id3", + "healthStatus": "unhealthy", + "lastKnownError": "NotFound", + "lastKnownErrorTime": "2020-03-26T21:24:57Z", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_stats.json new file mode 100644 index 000000000000..1a7bcb918e7e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_stats.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-04-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "totalDeviceCount": 0, + "enabledDeviceCount": 0, + "disabledDeviceCount": 0 + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_testallroutes.json new file mode 100644 index 000000000000..fe8440d3a060 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_testallroutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "routingSource": "DeviceMessages", + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + } + } + }, + "responses": { + "200": { + "body": { + "routes": [ + { + "properties": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_testnewroute.json new file mode 100644 index 000000000000..01fac084bbf6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_testnewroute.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + }, + "route": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "result": "false", + "details": { + "compilationErrors": [ + { + "message": "string response", + "severity": "error", + "location": { + "start": { + "line": 12, + "column": 12 + }, + "end": { + "line": 12, + "column": 24 + } + } + } + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_updateprivateendpointconnection.json new file mode 100644 index 000000000000..e7fb2f61c62a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_updateprivateendpointconnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_usages.json new file mode 100644 index 000000000000..31393b31ca30 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/examples/iothub_usages.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-07-10-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount", + "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages", + "unit": "count", + "currentValue": 1, + "limit": 1, + "name": { + "value": "FreeHubCount", + "localizedValue": "Free Hub Count" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/iothub.json new file mode 100644 index 000000000000..eafa77369c6f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2020-07-10-preview/iothub.json @@ -0,0 +1,4242 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-10-preview", + "title": "iotHubClient", + "description": "Use this API to manage the IoT hubs in your Azure subscription.", + "x-ms-code-generation-settings": { + "header": "MICROSOFT_MIT_NO_VERSION" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Devices/operations": { + "get": { + "tags": [ + "Operations" + ], + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/iothub_operations.json" + } + }, + "operationId": "Operations_List", + "description": "Lists all of the available IoT Hub REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the non-security related metadata of an IoT hub", + "description": "Get the non-security related metadata of an IoT hub.", + "operationId": "IotHubResource_Get", + "x-ms-examples": { + "IotHubResource_Get": { + "$ref": "./examples/iothub_get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Create or update the metadata of an IoT hub.", + "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.", + "operationId": "IotHubResource_CreateOrUpdate", + "x-ms-examples": { + "IotHubResource_CreateOrUpdate": { + "$ref": "./examples/iothub_createOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "iotHubDescription", + "in": "body", + "description": "The IoT hub metadata and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub." + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "PATCH" + ], + "summary": "Update an existing IoT Hubs tags.", + "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method", + "x-ms-long-running-operation": true, + "operationId": "IotHubResource_Update", + "x-ms-examples": { + "IotHubResource_Update": { + "$ref": "./examples/iothub_patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of iot hub to update." + }, + { + "name": "IotHubTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the iot hub instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Iot Hub was successfully updated", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete an IoT hub", + "description": "Delete an IoT hub.", + "operationId": "IotHubResource_Delete", + "x-ms-examples": { + "IotHubResource_Delete": { + "$ref": "./examples/iothub_delete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "202": { + "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "204": { + "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state." + }, + "404": { + "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the IoT hubs in a subscription", + "description": "Get all the IoT hubs in a subscription.", + "operationId": "IotHubResource_ListBySubscription", + "x-ms-examples": { + "IotHubResource_ListBySubscription": { + "$ref": "./examples/iothub_listbysubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the IoT hubs in a resource group", + "description": "Get all the IoT hubs in a resource group.", + "operationId": "IotHubResource_ListByResourceGroup", + "x-ms-examples": { + "IotHubResource_ListByResourceGroup": { + "$ref": "./examples/iothub_listbyrg.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the statistics from an IoT hub", + "description": "Get the statistics from an IoT hub.", + "operationId": "IotHubResource_GetStats", + "x-ms-examples": { + "IotHubResource_GetStats": { + "$ref": "./examples/iothub_stats.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.", + "schema": { + "$ref": "#/definitions/RegistryStatistics" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the list of valid SKUs for an IoT hub", + "description": "Get the list of valid SKUs for an IoT hub.", + "operationId": "IotHubResource_GetValidSkus", + "x-ms-examples": { + "IotHubResource_GetValidSkus": { + "$ref": "./examples/iothub_getskus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubSkuDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub", + "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.", + "operationId": "IotHubResource_ListEventHubConsumerGroups", + "x-ms-examples": { + "IotHubResource_ListEventHubConsumerGroups": { + "$ref": "./examples/iothub_listehgroups.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupsListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub", + "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.", + "operationId": "IotHubResource_GetEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_ListEventHubConsumerGroups": { + "$ref": "./examples/iothub_getconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub", + "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.", + "operationId": "IotHubResource_CreateEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_CreateEventHubConsumerGroup": { + "$ref": "./examples/iothub_createconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to add.", + "required": true, + "type": "string" + }, + { + "name": "consumerGroupBody", + "in": "body", + "description": "The consumer group to add.", + "required": true, + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupBodyDescription" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub", + "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.", + "operationId": "IotHubResource_DeleteEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_DeleteEventHubConsumerGroup": { + "$ref": "./examples/iothub_deleteconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to delete.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry", + "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", + "operationId": "IotHubResource_ListJobs", + "x-ms-examples": { + "IotHubResource_ListJobs": { + "$ref": "./examples/iothub_listjobs.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponseListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry", + "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", + "operationId": "IotHubResource_GetJob", + "x-ms-examples": { + "IotHubResource_GetJob": { + "$ref": "./examples/iothub_getjob.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "jobId", + "in": "path", + "description": "The job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the quota metrics for an IoT hub", + "description": "Get the quota metrics for an IoT hub.", + "operationId": "IotHubResource_GetQuotaMetrics", + "x-ms-examples": { + "IotHubResource_GetQuotaMetrics": { + "$ref": "./examples/iothub_quotametrics.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubQuotaMetricInfoListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotHubResource_GetEndpointHealth", + "summary": "Get the health for routing endpoints", + "description": "Get the health for routing endpoints.", + "x-ms-examples": { + "IotHubResource_GetEndpointHealth": { + "$ref": "./examples/iothub_routingendpointhealth.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "iotHubName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EndpointHealthDataListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": { + "post": { + "tags": [ + "POST" + ], + "summary": "Check if an IoT hub name is available", + "description": "Check if an IoT hub name is available.", + "operationId": "IotHubResource_CheckNameAvailability", + "x-ms-examples": { + "IotHubResource_CheckNameAvailability": { + "$ref": "./examples/checkNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "operationInputs", + "in": "body", + "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.", + "required": true, + "schema": { + "$ref": "#/definitions/OperationInputs" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/IotHubNameAvailabilityInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the number of iot hubs in the subscription", + "description": "Get the number of free and paid iot hubs in the subscription", + "operationId": "ResourceProviderCommon_GetSubscriptionQuota", + "x-ms-examples": { + "ResourceProviderCommon_GetSubscriptionQuota": { + "$ref": "./examples/iothub_usages.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSubscriptionQuotaListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHubResource_TestAllRoutes", + "summary": "Test all routes", + "description": "Test all routes configured in this Iot Hub", + "x-ms-examples": { + "IotHubResource_TestAllRoutes": { + "$ref": "./examples/iothub_testallroutes.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "input", + "description": "Input for testing all routes", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestAllRoutesInput" + } + }, + { + "name": "iotHubName", + "description": "IotHub to be tested", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "resource group which Iot Hub belongs to", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TestAllRoutesResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHubResource_TestRoute", + "summary": "Test the new route", + "description": "Test the new route for this Iot Hub", + "x-ms-examples": { + "IotHubResource_TestRoute": { + "$ref": "./examples/iothub_testnewroute.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "input", + "description": "Route that needs to be tested", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestRouteInput" + } + }, + { + "name": "iotHubName", + "description": "IotHub to be tested", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "resource group which Iot Hub belongs to", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TestRouteResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security", + "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", + "operationId": "IotHubResource_ListKeys", + "x-ms-examples": { + "IotHubResource_ListKeys": { + "$ref": "./examples/iothub_listkeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security", + "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", + "operationId": "IotHubResource_GetKeysForKeyName", + "x-ms-examples": { + "IotHubResource_GetKeysForKeyName": { + "$ref": "./examples/iothub_getkey.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the shared access policy.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": { + "post": { + "tags": [ + "POST" + ], + "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities", + "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", + "operationId": "IotHubResource_ExportDevices", + "x-ms-examples": { + "IotHubResource_ExportDevices": { + "$ref": "./examples/iothub_exportdevices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "exportDevicesParameters", + "in": "body", + "description": "The parameters that specify the export devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": { + "post": { + "tags": [ + "POST" + ], + "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities", + "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", + "operationId": "IotHubResource_ImportDevices", + "x-ms-examples": { + "IotHubResource_ImportDevices": { + "$ref": "./examples/iothub_importdevices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "importDevicesParameters", + "in": "body", + "description": "The parameters that specify the import devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get the certificate list.", + "description": "Returns the list of certificates.", + "operationId": "Certificates_ListByIotHub", + "x-ms-examples": { + "Certificates_ListByIotHub": { + "$ref": "./examples/iothub_listcertificates.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the certificate list.", + "schema": { + "$ref": "#/definitions/CertificateListDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get the certificate.", + "description": "Returns the certificate.", + "operationId": "Certificates_Get", + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/iothub_getcertificate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Certificates" + ], + "summary": "Upload the certificate to the IoT hub.", + "description": "Adds new or replaces existing certificate.", + "operationId": "Certificates_CreateOrUpdate", + "x-ms-examples": { + "Certificates_CreateOrUpdate": { + "$ref": "./examples/iothub_certificatescreateorupdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "certificateDescription", + "in": "body", + "description": "The certificate body.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate." + } + ], + "responses": { + "201": { + "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "200": { + "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "Certificates" + ], + "summary": "Delete an X509 certificate.", + "description": "Deletes an existing X509 certificate or does nothing if it does not exist.", + "operationId": "Certificates_Delete", + "x-ms-examples": { + "Certificates_Delete": { + "$ref": "./examples/iothub_certificatesdelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "Certificate has been deleted." + }, + "204": { + "description": "Certificate does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": { + "post": { + "tags": [ + "Certificates" + ], + "summary": "Generate verification code for proof of possession flow.", + "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.", + "operationId": "Certificates_GenerateVerificationCode", + "x-ms-examples": { + "Certificates_GenerateVerificationCode": { + "$ref": "./examples/iothub_generateverificationcode.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateWithNonceDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": { + "post": { + "tags": [ + "Certificates" + ], + "summary": "Verify certificate's private key possession.", + "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.", + "operationId": "Certificates_Verify", + "x-ms-examples": { + "Certificates_Verify": { + "$ref": "./examples/iothub_certverify.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "certificateVerificationBody", + "in": "body", + "description": "The name of the certificate", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateVerificationDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHub_ManualFailover", + "summary": "Manually initiate a failover for the IoT Hub to its secondary region", + "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover", + "x-ms-examples": { + "IotHub_ManualFailover": { + "$ref": "./examples/IotHub_ManualFailover.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-long-running-operation": true, + "parameters": [ + { + "name": "iotHubName", + "description": "Name of the IoT hub to failover", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverInput" + } + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "Name of the resource group containing the IoT hub resource", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Long running manual failover operation for the IoT hub completed" + }, + "202": { + "description": "Manual failover initiated" + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private link resources", + "description": "List private link resources for the given IotHub", + "operationId": "PrivateLinkResources_List", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/iothub_listprivatelinkresources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private link resources", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the specified private link resource", + "description": "Get the specified private link resource for the given IotHub", + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/iothub_getprivatelinkresources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/groupId" + } + ], + "responses": { + "200": { + "description": "The body contains the specified of private link resource", + "schema": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private endpoint connections", + "description": "List private endpoint connection properties", + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/iothub_listprivateendpointconnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionsList" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get private endpoint connection", + "description": "Get private endpoint connection properties", + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnection_Get": { + "$ref": "./examples/iothub_getprivateendpointconnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The body contains the private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Update private endpoint connection", + "description": "Update the status of a private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnection_Update": { + "$ref": "./examples/iothub_updateprivateendpointconnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection with updated properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the update operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete private endpoint connection", + "description": "Delete private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnection_Delete": { + "$ref": "./examples/iothub_deleteprivateendpointconnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "PrivateEndpoint does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "CertificateVerificationDescription": { + "description": "The JSON-serialized leaf certificate", + "type": "object", + "properties": { + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateListDescription": { + "description": "The JSON-serialized array of Certificate objects.", + "type": "object", + "properties": { + "value": { + "description": "The array of Certificate objects.", + "type": "array", + "items": { + "$ref": "#/definitions/CertificateDescription" + } + } + } + }, + "CertificateBodyDescription": { + "description": "The JSON-serialized X509 Certificate.", + "type": "object", + "properties": { + "certificate": { + "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateDescription": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "CertificateWithNonceDescription": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificatePropertiesWithNonce" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "SharedAccessSignatureAuthorizationRule": { + "description": "The properties of an IoT hub shared access policy.", + "type": "object", + "properties": { + "keyName": { + "description": "The name of the shared access policy.", + "type": "string" + }, + "primaryKey": { + "description": "The primary key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key.", + "type": "string" + }, + "rights": { + "description": "The permissions assigned to the shared access policy.", + "enum": [ + "RegistryRead", + "RegistryWrite", + "ServiceConnect", + "DeviceConnect", + "RegistryRead, RegistryWrite", + "RegistryRead, ServiceConnect", + "RegistryRead, DeviceConnect", + "RegistryWrite, ServiceConnect", + "RegistryWrite, DeviceConnect", + "ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect", + "RegistryRead, RegistryWrite, DeviceConnect", + "RegistryRead, ServiceConnect, DeviceConnect", + "RegistryWrite, ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": false + } + } + }, + "required": [ + "keyName", + "rights" + ] + }, + "CertificateProperties": { + "description": "The description of an X509 CA Certificate.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's create date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "certificate": { + "description": "The certificate content", + "type": "string" + } + } + }, + "CertificatePropertiesWithNonce": { + "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's create date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "verificationCode": { + "description": "The certificate's verification code that will be used for proof of possession.", + "type": "string", + "readOnly": true + }, + "certificate": { + "description": "The certificate content", + "type": "string", + "readOnly": true + } + } + }, + "IotHubProperties": { + "description": "The properties of an IoT hub.", + "type": "object", + "properties": { + "authorizationPolicies": { + "description": "The shared access policies you can use to secure a connection to the IoT hub.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ipFilterRules": { + "description": "The IP filter rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "minTlsVersion": { + "type": "string", + "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected." + }, + "privateEndpointConnections": { + "description": "Private endpoint connections created on this IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "The provisioning state.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The hub state.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "The name of the host.", + "type": "string", + "readOnly": true + }, + "eventHubEndpoints": { + "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/EventHubProperties" + } + }, + "routing": { + "$ref": "#/definitions/RoutingProperties" + }, + "storageEndpoints": { + "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/StorageEndpointProperties" + } + }, + "messagingEndpoints": { + "description": "The messaging endpoint properties for the file upload notification queue.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MessagingEndpointProperties" + } + }, + "enableFileUploadNotifications": { + "description": "If True, file upload notifications are enabled.", + "type": "boolean" + }, + "cloudToDevice": { + "$ref": "#/definitions/CloudToDeviceProperties" + }, + "comments": { + "description": "IoT hub comments.", + "type": "string" + }, + "deviceStreams": { + "description": "The device streams properties of iothub.", + "type": "object", + "properties": { + "streamingEndpoints": { + "description": "List of Device Streams Endpoints.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "features": { + "description": "The capabilities and features enabled for the IoT hub.", + "enum": [ + "None", + "DeviceManagement" + ], + "type": "string", + "x-ms-enum": { + "name": "Capabilities", + "modelAsString": true + } + }, + "encryption": { + "description": "The encryption properties for the IoT hub.", + "$ref": "#/definitions/EncryptionPropertiesDescription" + }, + "locations": { + "description": "Primary and secondary location for iot hub", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotHubLocationDescription" + } + } + } + }, + "IotHubSkuInfo": { + "description": "Information about the SKU of the IoT hub.", + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU.", + "enum": [ + "F1", + "S1", + "S2", + "S3", + "B1", + "B2", + "B3" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubSku", + "modelAsString": true + } + }, + "tier": { + "description": "The billing tier for the IoT hub.", + "enum": [ + "Free", + "Standard", + "Basic" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubSkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int64", + "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.", + "type": "integer" + } + }, + "required": [ + "name" + ] + }, + "EventHubProperties": { + "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.", + "type": "object", + "properties": { + "retentionTimeInDays": { + "format": "int64", + "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages", + "type": "integer" + }, + "partitionCount": { + "format": "int32", + "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.", + "type": "integer" + }, + "partitionIds": { + "description": "The partition ids in the Event Hub-compatible endpoint.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "description": "The Event Hub-compatible name.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The Event Hub-compatible endpoint.", + "type": "string", + "readOnly": true + } + } + }, + "StorageEndpointProperties": { + "description": "The properties of the Azure Storage endpoint for file upload.", + "type": "object", + "properties": { + "sasTtlAsIso8601": { + "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.", + "type": "string", + "format": "duration" + }, + "connectionString": { + "description": "The connection string for the Azure Storage account to which files are uploaded.", + "type": "string" + }, + "containerName": { + "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + } + }, + "required": [ + "connectionString", + "containerName" + ] + }, + "MessagingEndpointProperties": { + "description": "The properties of the messaging endpoints used by this IoT hub.", + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "type": "string", + "format": "duration" + }, + "ttlAsIso8601": { + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "type": "string", + "format": "duration" + }, + "maxDeliveryCount": { + "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + } + }, + "CloudToDeviceProperties": { + "description": "The IoT hub cloud-to-device messaging properties.", + "type": "object", + "properties": { + "maxDeliveryCount": { + "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "defaultTtlAsIso8601": { + "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "feedback": { + "$ref": "#/definitions/FeedbackProperties" + } + } + }, + "IpFilterRule": { + "description": "The IP filter rules for the IoT hub.", + "type": "object", + "properties": { + "filterName": { + "description": "The name of the IP filter rule.", + "type": "string" + }, + "action": { + "description": "The desired action for requests captured by this rule.", + "enum": [ + "Accept", + "Reject" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterActionType", + "modelAsString": false + } + }, + "ipMask": { + "description": "A string that contains the IP address range in CIDR notation for the rule.", + "type": "string" + } + }, + "required": [ + "filterName", + "action", + "ipMask" + ] + }, + "PrivateLinkResources": { + "description": "The available private link resources for an IotHub", + "type": "object", + "properties": { + "value": { + "description": "The list of available private link resources for an IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + } + } + }, + "GroupIdInformation": { + "description": "The group information for creating a private endpoint on an IotHub", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/GroupIdInformationProperties" + } + }, + "required": [ + "properties" + ] + }, + "GroupIdInformationProperties": { + "description": "The properties for a group information object", + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id" + }, + "requiredMembers": { + "description": "The required members for a specific group id", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The required DNS zones for a specific group id", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateEndpointConnectionsList": { + "description": "The list of private endpoint connections for an IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "PrivateEndpointConnection": { + "description": "The private endpoint connection of an IotHub", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + }, + "required": [ + "properties" + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "type": "object", + "properties": { + "status": { + "description": "The status of a private endpoint connection", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + } + }, + "required": [ + "status", + "description" + ] + }, + "FeedbackProperties": { + "description": "The properties of the feedback queue for cloud-to-device messages.", + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "ttlAsIso8601": { + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "maxDeliveryCount": { + "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + } + }, + "RoutingProperties": { + "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging", + "type": "object", + "properties": { + "endpoints": { + "$ref": "#/definitions/RoutingEndpoints" + }, + "routes": { + "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.", + "type": "array", + "items": { + "$ref": "#/definitions/RouteProperties" + } + }, + "fallbackRoute": { + "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.", + "$ref": "#/definitions/FallbackRouteProperties" + }, + "enrichments": { + "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid", + "type": "array", + "items": { + "$ref": "#/definitions/EnrichmentProperties" + } + } + } + }, + "RoutingEndpoints": { + "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.", + "type": "object", + "properties": { + "serviceBusQueues": { + "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties" + } + }, + "serviceBusTopics": { + "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties" + } + }, + "eventHubs": { + "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingEventHubProperties" + } + }, + "storageContainers": { + "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingStorageContainerProperties" + } + } + } + }, + "RoutingServiceBusQueueEndpointProperties": { + "description": "The properties related to service bus queue endpoint types.", + "type": "object", + "properties": { + "id": { + "description": "Id of the service bus queue endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the service bus queue endpoint.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the service bus queue endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Queue name on the service bus namespace", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the service bus queue endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the service bus queue endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the service bus queue endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingServiceBusTopicEndpointProperties": { + "description": "The properties related to service bus topic endpoint types.", + "type": "object", + "properties": { + "id": { + "description": "Id of the service bus topic endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the service bus topic endpoint.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the service bus topic endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Queue name on the service bus topic", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the service bus topic endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the service bus topic endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the service bus topic endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingEventHubProperties": { + "description": "The properties related to an event hub endpoint.", + "type": "object", + "properties": { + "id": { + "description": "Id of the event hub endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the event hub endpoint. ", + "type": "string" + }, + "endpointUri": { + "description": "The url of the event hub endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Event hub name on the event hub namespace", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the event hub endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the event hub endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the event hub endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingStorageContainerProperties": { + "description": "The properties related to a storage container endpoint.", + "type": "object", + "properties": { + "id": { + "description": "Id of the storage container endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the storage account.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the storage endpoint. It must include the protocol https://", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the storage endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the storage account.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the storage account.", + "type": "string" + }, + "containerName": { + "description": "The name of storage container in the storage account.", + "type": "string" + }, + "fileNameFormat": { + "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.", + "type": "string" + }, + "batchFrequencyInSeconds": { + "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.", + "format": "int32", + "type": "integer", + "maximum": 720, + "minimum": 60 + }, + "maxChunkSizeInBytes": { + "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).", + "format": "int32", + "type": "integer", + "maximum": 524288000, + "minimum": 10485760 + }, + "encoding": { + "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.", + "type": "string", + "enum": [ + "Avro", + "AvroDeflate", + "JSON" + ] + } + }, + "required": [ + "name", + "containerName" + ] + }, + "RouteProperties": { + "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.", + "type": "object", + "properties": { + "name": { + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "source": { + "description": "The source that the routing rule is to be applied to, such as DeviceMessages.", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents", + "DigitalTwinChangeEvents" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "condition": { + "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.", + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "isEnabled": { + "description": "Used to specify whether a route is enabled.", + "type": "boolean" + } + }, + "required": [ + "name", + "endpointNames", + "source", + "isEnabled" + ] + }, + "FallbackRouteProperties": { + "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.", + "type": "object", + "properties": { + "name": { + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", + "type": "string" + }, + "source": { + "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages", + "enum": [ + "DeviceMessages" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "condition": { + "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.", + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "isEnabled": { + "description": "Used to specify whether the fallback route is enabled.", + "type": "boolean" + } + }, + "required": [ + "endpointNames", + "source", + "isEnabled" + ] + }, + "EnrichmentProperties": { + "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.", + "type": "object", + "properties": { + "key": { + "description": "The key or name for the enrichment property.", + "type": "string" + }, + "value": { + "description": "The value for the enrichment property.", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints for which the enrichment is applied to the message.", + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "key", + "value", + "endpointNames" + ] + }, + "IotHubDescription": { + "description": "The description of the IoT hub.", + "type": "object", + "properties": { + "etag": { + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.", + "type": "string" + }, + "properties": { + "description": "IotHub properties", + "$ref": "#/definitions/IotHubProperties" + }, + "sku": { + "description": "IotHub SKU info", + "$ref": "#/definitions/IotHubSkuInfo" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku" + ] + }, + "Resource": { + "description": "The common properties of an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "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." + } + }, + "x-ms-azure-resource": true, + "required": [ + "location" + ] + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "description": "The list of shared access policies with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "IoT Hub REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft Devices" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: IotHubs" + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the operation" + } + } + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfoListResult": { + "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of quota metrics objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubQuotaMetricInfo" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthDataListResult": { + "description": "The JSON-serialized array of EndpointHealthData objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "JSON-serialized array of Endpoint health data", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointHealthData" + } + }, + "nextLink": { + "description": "Link to more results", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthData": { + "description": "The health data for an endpoint", + "type": "object", + "properties": { + "endpointId": { + "description": "Id of the endpoint", + "type": "string" + }, + "healthStatus": { + "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint", + "enum": [ + "unknown", + "healthy", + "degraded", + "unhealthy", + "dead" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointHealthStatus", + "modelAsString": true + } + }, + "lastKnownError": { + "description": "Last error obtained when a message failed to be delivered to iot hub", + "type": "string" + }, + "lastKnownErrorTime": { + "description": "Time at which the last known error occurred", + "type": "string", + "format": "date-time-rfc1123" + }, + "lastSuccessfulSendAttemptTime": { + "description": "Last time iot hub successfully sent a message to the endpoint", + "type": "string", + "format": "date-time-rfc1123" + }, + "lastSendAttemptTime": { + "description": "Last time iot hub tried to send a message to the endpoint", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "RegistryStatistics": { + "description": "Identity registry statistics.", + "type": "object", + "properties": { + "totalDeviceCount": { + "format": "int64", + "description": "The total count of devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "enabledDeviceCount": { + "format": "int64", + "description": "The count of enabled devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "disabledDeviceCount": { + "format": "int64", + "description": "The count of disabled devices in the identity registry.", + "type": "integer", + "readOnly": true + } + } + }, + "JobResponseListResult": { + "description": "The JSON-serialized array of JobResponse objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of JobResponse objects.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResponse" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescription": { + "description": "SKU properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The type of the resource.", + "$ref": "#/definitions/IotHubSkuInfo" + }, + "capacity": { + "description": "IotHub capacity", + "$ref": "#/definitions/IotHubCapacity" + } + }, + "required": [ + "sku", + "capacity" + ] + }, + "TagsResource": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance." + }, + "IotHubCapacity": { + "description": "IoT Hub capacity information.", + "type": "object", + "properties": { + "minimum": { + "format": "int64", + "description": "The minimum number of units.", + "type": "integer", + "minimum": 1, + "maximum": 1, + "readOnly": true + }, + "maximum": { + "format": "int64", + "description": "The maximum number of units.", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int64", + "description": "The default number of units.", + "type": "integer", + "readOnly": true + }, + "scaleType": { + "description": "The type of the scaling enabled.", + "enum": [ + "Automatic", + "Manual", + "None" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "IotHubScaleType", + "modelAsString": false + } + } + } + }, + "EventHubConsumerGroupsListResult": { + "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.", + "type": "object", + "properties": { + "value": { + "description": "List of consumer groups objects", + "type": "array", + "items": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EventHubConsumerGroupBodyDescription": { + "description": "The EventHub consumer group.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EventHubConsumerGroupName" + } + } + }, + "EventHubConsumerGroupName": { + "description": "The EventHub consumer group name.", + "type": "object", + "properties": { + "name": { + "description": "EventHub consumer group name", + "type": "string" + } + } + }, + "EventHubConsumerGroupInfo": { + "description": "The properties of the EventHubConsumerGroupInfo object.", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "properties": { + "description": "The tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "id": { + "description": "The Event Hub-compatible consumer group identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Event Hub-compatible consumer group name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "the resource type.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The etag.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescriptionListResult": { + "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubSkuDescription.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubSkuDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "JobResponse": { + "description": "The properties of the Job Response object.", + "type": "object", + "properties": { + "jobId": { + "description": "The job identifier.", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "format": "date-time-rfc1123", + "description": "The start time of the job.", + "type": "string", + "readOnly": true + }, + "endTimeUtc": { + "format": "date-time-rfc1123", + "description": "The time the job stopped processing.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the job.", + "enum": [ + "unknown", + "export", + "import", + "backup", + "readDeviceProperties", + "writeDeviceProperties", + "updateDeviceConfiguration", + "rebootDevice", + "factoryResetDevice", + "firmwareUpdate" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "status": { + "description": "The status of the job.", + "enum": [ + "unknown", + "enqueued", + "running", + "completed", + "failed", + "cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": false + } + }, + "failureReason": { + "description": "If status == failed, this string containing the reason for the failure.", + "type": "string", + "readOnly": true + }, + "statusMessage": { + "description": "The status message for the job.", + "type": "string", + "readOnly": true + }, + "parentJobId": { + "description": "The job identifier of the parent job, if any.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubDescriptionListResult": { + "description": "The JSON-serialized array of IotHubDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubDescription objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfo": { + "description": "Quota metrics properties.", + "type": "object", + "properties": { + "name": { + "description": "The name of the quota metric.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "int64", + "description": "The current value for the quota metric.", + "type": "integer", + "readOnly": true + }, + "maxValue": { + "format": "int64", + "description": "The maximum value of the quota metric.", + "type": "integer", + "readOnly": true + } + } + }, + "OperationInputs": { + "description": "Input values.", + "type": "object", + "properties": { + "name": { + "description": "The name of the IoT hub to check.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "IotHubNameAvailabilityInfo": { + "description": "The properties indicating whether a given IoT hub name is available.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value which indicates whether the provided name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason for unavailability.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubNameUnavailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "The detailed reason message.", + "type": "string" + } + } + }, + "UserSubscriptionQuotaListResult": { + "type": "object", + "description": "Json-serialized array of User subscription quota response", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UserSubscriptionQuota" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "UserSubscriptionQuota": { + "description": "User subscription quota response", + "type": "object", + "properties": { + "id": { + "description": "IotHub type id", + "type": "string" + }, + "type": { + "description": "Response type", + "type": "string" + }, + "unit": { + "description": "Unit of IotHub type", + "type": "string" + }, + "currentValue": { + "description": "Current number of IotHub type", + "format": "int32", + "type": "integer" + }, + "limit": { + "description": "Numerical limit on IotHub type", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "IotHub type", + "$ref": "#/definitions/Name" + } + } + }, + "Name": { + "description": "Name of Iot Hub type", + "type": "object", + "properties": { + "value": { + "description": "IotHub type", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of name", + "type": "string" + } + } + }, + "TestAllRoutesInput": { + "description": "Input for testing all routes", + "type": "object", + "properties": { + "routingSource": { + "description": "Routing source", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents", + "DigitalTwinChangeEvents" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "RoutingTwin": { + "description": "Twin reference input parameter. This is an optional parameter", + "type": "object", + "properties": { + "tags": { + "description": "Twin Tags", + "type": "object" + }, + "properties": { + "properties": { + "desired": { + "description": "Twin desired properties", + "type": "object" + }, + "reported": { + "description": "Twin desired properties", + "type": "object" + } + } + } + } + }, + "RoutingMessage": { + "description": "Routing message", + "type": "object", + "properties": { + "body": { + "description": "Body of routing message", + "type": "string" + }, + "appProperties": { + "description": "App properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemProperties": { + "description": "System properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TestAllRoutesResult": { + "description": "Result of testing all routes", + "type": "object", + "properties": { + "routes": { + "description": "JSON-serialized array of matched routes", + "type": "array", + "items": { + "$ref": "#/definitions/MatchedRoute" + } + } + } + }, + "MatchedRoute": { + "description": "Routes that matched", + "type": "object", + "properties": { + "properties": { + "description": "Properties of routes that matched", + "$ref": "#/definitions/RouteProperties" + } + } + }, + "TestRouteInput": { + "required": [ + "route" + ], + "description": "Input for testing route", + "type": "object", + "properties": { + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "route": { + "description": "Route properties", + "$ref": "#/definitions/RouteProperties" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "TestRouteResult": { + "description": "Result of testing one route", + "type": "object", + "properties": { + "result": { + "description": "Result of testing route", + "enum": [ + "undefined", + "false", + "true" + ], + "type": "string", + "x-ms-enum": { + "name": "TestResultStatus", + "modelAsString": true + } + }, + "details": { + "description": "Detailed result of testing route", + "$ref": "#/definitions/TestRouteResultDetails" + } + } + }, + "TestRouteResultDetails": { + "description": "Detailed result of testing a route", + "type": "object", + "properties": { + "compilationErrors": { + "description": "JSON-serialized list of route compilation errors", + "type": "array", + "items": { + "$ref": "#/definitions/RouteCompilationError" + } + } + } + }, + "RouteCompilationError": { + "description": "Compilation error when evaluating route", + "type": "object", + "properties": { + "message": { + "description": "Route error message", + "type": "string" + }, + "severity": { + "description": "Severity of the route error", + "enum": [ + "error", + "warning" + ], + "type": "string", + "x-ms-enum": { + "name": "RouteErrorSeverity", + "modelAsString": true + } + }, + "location": { + "description": "Location where the route error happened", + "$ref": "#/definitions/RouteErrorRange" + } + } + }, + "RouteErrorRange": { + "description": "Range of route errors", + "type": "object", + "properties": { + "start": { + "description": "Start where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + }, + "end": { + "description": "End where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + } + } + }, + "RouteErrorPosition": { + "description": "Position where the route error happened", + "type": "object", + "properties": { + "line": { + "description": "Line where the route error happened", + "format": "int32", + "type": "integer" + }, + "column": { + "description": "Column where the route error happened", + "format": "int32", + "type": "integer" + } + } + }, + "ExportDevicesRequest": { + "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.", + "type": "object", + "properties": { + "exportBlobContainerUri": { + "description": "The export blob container URI.", + "type": "string" + }, + "excludeKeys": { + "description": "The value indicating whether keys should be excluded during export.", + "type": "boolean" + }, + "exportBlobName": { + "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported device registry information for the IoT Hub.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + } + }, + "required": [ + "exportBlobContainerUri", + "excludeKeys" + ] + }, + "ImportDevicesRequest": { + "description": "Use to provide parameters when requesting an import of all devices in the hub.", + "type": "object", + "properties": { + "inputBlobContainerUri": { + "description": "The input blob container URI.", + "type": "string" + }, + "outputBlobContainerUri": { + "description": "The output blob container URI.", + "type": "string" + }, + "inputBlobName": { + "description": "The blob name to be used when importing from the provided input blob container.", + "type": "string" + }, + "outputBlobName": { + "description": "The blob name to use for storing the status of the import job.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + } + }, + "required": [ + "inputBlobContainerUri", + "outputBlobContainerUri" + ] + }, + "FailoverInput": { + "description": "Use to provide failover region when requesting manual Failover for a hub.", + "type": "object", + "properties": { + "failoverRegion": { + "description": "Region the hub will be failed over to", + "type": "string" + } + }, + "required": [ + "failoverRegion" + ] + }, + "IotHubLocationDescription": { + "description": "Public representation of one of the locations where a resource is provisioned.", + "type": "object", + "properties": { + "location": { + "description": "The name of the Azure region", + "type": "string" + }, + "role": { + "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.", + "enum": [ + "primary", + "secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubReplicaRoleType", + "modelAsString": true + } + } + } + }, + "EncryptionPropertiesDescription": { + "description": "The encryption properties for the IoT hub.", + "type": "object", + "properties": { + "keySource": { + "description": "The source of the key.", + "type": "string" + }, + "keyVaultProperties": { + "description": "The properties of the KeyVault key.", + "type": "array", + "items": { + "$ref": "#/definitions/KeyVaultKeyProperties" + } + } + } + }, + "KeyVaultKeyProperties": { + "description": "The properties of the KeyVault key.", + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The identifier of the key." + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the API.", + "required": true, + "type": "string" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the IoT hub.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the IoT hub.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "certificateName": { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$", + "x-ms-parameter-location": "method" + }, + "groupId": { + "name": "groupId", + "in": "path", + "description": "The name of the private link resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/IotHub_ManualFailover.json new file mode 100644 index 000000000000..e0e2f963ea15 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/IotHub_ManualFailover.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "failoverInput": { + "failoverRegion": "testHub" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/checkNameAvailability.json new file mode 100644 index 000000000000..11f189481131 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/checkNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationInputs": { + "name": "test-request" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Invalid", + "message": "" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatescreateorupdate.json new file mode 100644 index 000000000000..a529084ef640 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatescreateorupdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceName": "iothub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "properties": { + "certificate": "############################################" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + }, + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatesdelete.json new file mode 100644 index 000000000000..aa01695622a9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certificatesdelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceName": "myhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certverify.json new file mode 100644 index 000000000000..8495b68332d3 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_certverify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=", + "certificateVerificationBody": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": true, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpTQ=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createOrUpdate.json new file mode 100644 index 000000000000..605b91aa578d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createOrUpdate.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotHubDescription": { + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "ipFilterRules": [], + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2 + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createconsumergroup.json new file mode 100644 index 000000000000..0d977b3a70ba --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_createconsumergroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test", + "consumerGroupBody": { + "properties": { + "name": "test" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_delete.json new file mode 100644 index 000000000000..decd68cd83e4 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_delete.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "204": {}, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "404": { + "body": {} + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteconsumergroup.json new file mode 100644 index 000000000000..098401a3364e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteconsumergroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteprivateendpointconnection.json new file mode 100644 index 000000000000..2e17f1acbb7d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_deleteprivateendpointconnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_exportdevices.json new file mode 100644 index 000000000000..8a5f28ef97f9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_exportdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "exportDevicesParameters": { + "exportBlobContainerUri": "testBlob", + "excludeKeys": true + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_generateverificationcode.json new file mode 100644 index 000000000000..b369c7ebaf09 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_generateverificationcode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "verificationCode": "##################################", + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "##############################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_get.json new file mode 100644 index 000000000000..f6111e329334 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_get.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "locations": [ + { + "location": "West US", + "role": "primary" + }, + { + "location": "East US", + "role": "secondary" + } + ], + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getcertificate.json new file mode 100644 index 000000000000..6a231eaa8dc8 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getcertificate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert" + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getconsumergroup.json new file mode 100644 index 000000000000..92eeaa92eb31 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getconsumergroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getjob.json new file mode 100644 index 000000000000..92cd774970c8 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getjob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "jobId": "test" + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getkey.json new file mode 100644 index 000000000000..56513e2f88b9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getkey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "iothubowner" + }, + "responses": { + "200": { + "body": { + "keyName": "iothubowner", + "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=", + "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivateendpointconnection.json new file mode 100644 index 000000000000..3a0e1460d5f6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivateendpointconnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivatelinkresources.json new file mode 100644 index 000000000000..091b5b94570e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getprivatelinkresources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "groupId": "iotHub" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getskus.json new file mode 100644 index 000000000000..c1b93808e018 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_getskus.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S1", + "tier": "Standard" + }, + "capacity": { + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S2", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 200, + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S3", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 10, + "default": 1, + "scaleType": "Manual" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_importdevices.json new file mode 100644 index 000000000000..97687dc75077 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_importdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "importDevicesParameters": { + "inputBlobContainerUri": "testBlob", + "outputBlobContainerUri": "testBlob" + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbyrg.json new file mode 100644 index 000000000000..38afa1cc2d15 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbyrg.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbysubscription.json new file mode 100644 index 000000000000..27bca11bd35d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listbysubscription.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "resourceName": "testHub", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listcertificates.json new file mode 100644 index 000000000000..78edce3e7d0d --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listcertificates.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listehgroups.json new file mode 100644 index 000000000000..798a50cdd48b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listehgroups.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "$Default", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listjobs.json new file mode 100644 index 000000000000..b6a53041805b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listjobs.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listkeys.json new file mode 100644 index 000000000000..424300839237 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listkeys.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "iothubowner", + "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=", + "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + }, + { + "keyName": "service", + "primaryKey": "DinqxWW+s814W2Pc3dLxleelksqSYGy8Jfymt8J7a4c=", + "secondaryKey": "5G8KgJ9Wx2T0f6HRIn25TgYcFmJnBSivawNaHssiP9Y=", + "rights": "ServiceConnect" + }, + { + "keyName": "device", + "primaryKey": "o/9gPc0oD8LY/r2lRurgl9U/sKFcL2c/tmFLKAiz+e0=", + "secondaryKey": "YOeBMHnYP95vH+ykR8OeapnhS6W8raMsXOdNFwqg4lg=", + "rights": "DeviceConnect" + }, + { + "keyName": "registryRead", + "primaryKey": "h2d4mPxy6jPCWX6mO+katV9QPNJivzt4aFq0iGVc1A8=", + "secondaryKey": "3TdcalZNTB7BZHl88LGsG1Z5T6+ElEODunrs1vylwGg=", + "rights": "RegistryRead" + }, + { + "keyName": "registryReadWrite", + "primaryKey": "tyNRcaI38fXL+gQTjCmrVZGTP4YFF7uACk7pppWLWzY=", + "secondaryKey": "6P6DXOp0W3HO5/IotzcPS1kx7PHiOdesaND07Im5cYI=", + "rights": "RegistryWrite" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivateendpointconnections.json new file mode 100644 index 000000000000..c545d559e1b2 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivateendpointconnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivatelinkresources.json new file mode 100644 index 000000000000..2164528fde41 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_listprivatelinkresources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_operations.json new file mode 100644 index 000000000000..93d80c5d4647 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_operations.json @@ -0,0 +1,328 @@ +{ + "parameters": { + "api-version": "2020-06-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Register Resource Provider", + "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service metric definitions", + "description": "Gets the available metrics for the IotHub service" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service log definitions", + "description": "Gets the available log definitions for the IotHub Service" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get All ResourceProvider Operations", + "description": "Get All ResourceProvider Operations" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Check If IotHub name is available", + "description": "Check If IotHub name is available" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Subscription Usages", + "description": "Get subscription usage details for this provider." + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub(s)", + "description": "Gets the IotHub resource(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create or update IotHub Resource", + "description": "Create or update IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete IotHub Resource", + "description": "Delete IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Statistics", + "description": "Get IotHub Statistics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get valid IotHub Skus", + "description": "Get valid IotHub Skus" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get all IotHub Keys", + "description": "Get all IotHub Keys" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Key for the given name", + "description": "Get IotHub Key for the given name" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create EventHub Consumer Group", + "description": "Create EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get EventHub Consumer Group(s)", + "description": "Get EventHub Consumer Group(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete EventHub Consumer Group", + "description": "Delete EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Export Devices", + "description": "Export Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Import Devices", + "description": "Import Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get the Job(s) on IotHub", + "description": "Get Job(s) details submitted on given IotHub" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Quota Metrics", + "description": "Get Quota Metrics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test All", + "description": "Test a message against all existing Routes" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test Route", + "description": "Test a message against a provided test Route" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Endpoint Health", + "description": "Gets the health of all routing Endpoints for an IotHub" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service metric definitions", + "description": "Gets the available metrics for the DPS service" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service log definitions", + "description": "Gets the available log definitions for the DPS Service" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServives", + "operation": "Check If Provisioning Service name is available", + "description": "Check If Provisioning Service name is available" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Get Provisioning Service resource", + "description": "Get Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Create Provisioning Service resource", + "description": "Create Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "get security related metadata", + "description": "get security related metadata" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_patch.json new file mode 100644 index 000000000000..77db5e3f58a6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_patch.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "resourceName": "myHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "location": "East US", + "type": "Microsoft.Devices/IotHubs", + "IotHubTags": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": { + "foo": "bar" + }, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_quotametrics.json new file mode 100644 index 000000000000..0c8c1cb345a0 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_quotametrics.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TotalMessages", + "currentValue": 0, + "maxValue": 400000 + }, + { + "name": "TotalDeviceCount", + "currentValue": 0, + "maxValue": 500000 + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_routingendpointhealth.json new file mode 100644 index 000000000000..f584060c5460 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_routingendpointhealth.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "endpointId": "id1", + "healthStatus": "healthy", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + }, + { + "endpointId": "id2", + "healthStatus": "unknown" + }, + { + "endpointId": "id3", + "healthStatus": "unhealthy", + "lastKnownError": "NotFound", + "lastKnownErrorTime": "2020-03-26T21:24:57Z", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_stats.json new file mode 100644 index 000000000000..1a7bcb918e7e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_stats.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-04-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "totalDeviceCount": 0, + "enabledDeviceCount": 0, + "disabledDeviceCount": 0 + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testallroutes.json new file mode 100644 index 000000000000..554b092ceb38 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testallroutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "routingSource": "DeviceMessages", + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + } + } + }, + "responses": { + "200": { + "body": { + "routes": [ + { + "properties": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testnewroute.json new file mode 100644 index 000000000000..d8e5b17845b1 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_testnewroute.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + }, + "route": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "result": "false", + "details": { + "compilationErrors": [ + { + "message": "string response", + "severity": "error", + "location": { + "start": { + "line": 12, + "column": 12 + }, + "end": { + "line": 12, + "column": 24 + } + } + } + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_updateprivateendpointconnection.json new file mode 100644 index 000000000000..c47df820ec93 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_updateprivateendpointconnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_usages.json new file mode 100644 index 000000000000..496e1e89b41b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/examples/iothub_usages.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-06-15", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount", + "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages", + "unit": "count", + "currentValue": 1, + "limit": 1, + "name": { + "value": "FreeHubCount", + "localizedValue": "Free Hub Count" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/iothub.json new file mode 100644 index 000000000000..634aea7c600b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-06-15/iothub.json @@ -0,0 +1,4196 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-15", + "title": "iotHubClient", + "description": "Use this API to manage the IoT hubs in your Azure subscription.", + "x-ms-code-generation-settings": { + "header": "MICROSOFT_MIT_NO_VERSION" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Devices/operations": { + "get": { + "tags": [ + "Operations" + ], + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/iothub_operations.json" + } + }, + "operationId": "Operations_List", + "description": "Lists all of the available IoT Hub REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the non-security related metadata of an IoT hub", + "description": "Get the non-security related metadata of an IoT hub.", + "operationId": "IotHubResource_Get", + "x-ms-examples": { + "IotHubResource_Get": { + "$ref": "./examples/iothub_get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Create or update the metadata of an IoT hub.", + "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.", + "operationId": "IotHubResource_CreateOrUpdate", + "x-ms-examples": { + "IotHubResource_CreateOrUpdate": { + "$ref": "./examples/iothub_createOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "iotHubDescription", + "in": "body", + "description": "The IoT hub metadata and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub." + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "PATCH" + ], + "summary": "Update an existing IoT Hubs tags.", + "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method", + "x-ms-long-running-operation": true, + "operationId": "IotHubResource_Update", + "x-ms-examples": { + "IotHubResource_Update": { + "$ref": "./examples/iothub_patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of iot hub to update." + }, + { + "name": "IotHubTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the iot hub instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Iot Hub was successfully updated", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete an IoT hub", + "description": "Delete an IoT hub.", + "operationId": "IotHubResource_Delete", + "x-ms-examples": { + "IotHubResource_Delete": { + "$ref": "./examples/iothub_delete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "202": { + "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "204": { + "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state." + }, + "404": { + "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the IoT hubs in a subscription", + "description": "Get all the IoT hubs in a subscription.", + "operationId": "IotHubResource_ListBySubscription", + "x-ms-examples": { + "IotHubResource_ListBySubscription": { + "$ref": "./examples/iothub_listbysubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the IoT hubs in a resource group", + "description": "Get all the IoT hubs in a resource group.", + "operationId": "IotHubResource_ListByResourceGroup", + "x-ms-examples": { + "IotHubResource_ListByResourceGroup": { + "$ref": "./examples/iothub_listbyrg.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the statistics from an IoT hub", + "description": "Get the statistics from an IoT hub.", + "operationId": "IotHubResource_GetStats", + "x-ms-examples": { + "IotHubResource_GetStats": { + "$ref": "./examples/iothub_stats.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.", + "schema": { + "$ref": "#/definitions/RegistryStatistics" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the list of valid SKUs for an IoT hub", + "description": "Get the list of valid SKUs for an IoT hub.", + "operationId": "IotHubResource_GetValidSkus", + "x-ms-examples": { + "IotHubResource_GetValidSkus": { + "$ref": "./examples/iothub_getskus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubSkuDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub", + "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.", + "operationId": "IotHubResource_ListEventHubConsumerGroups", + "x-ms-examples": { + "IotHubResource_ListEventHubConsumerGroups": { + "$ref": "./examples/iothub_listehgroups.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupsListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub", + "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.", + "operationId": "IotHubResource_GetEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_ListEventHubConsumerGroups": { + "$ref": "./examples/iothub_getconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub", + "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.", + "operationId": "IotHubResource_CreateEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_CreateEventHubConsumerGroup": { + "$ref": "./examples/iothub_createconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to add.", + "required": true, + "type": "string" + }, + { + "name": "consumerGroupBody", + "in": "body", + "description": "The consumer group to add.", + "required": true, + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupBodyDescription" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub", + "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.", + "operationId": "IotHubResource_DeleteEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_DeleteEventHubConsumerGroup": { + "$ref": "./examples/iothub_deleteconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to delete.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry", + "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", + "operationId": "IotHubResource_ListJobs", + "x-ms-examples": { + "IotHubResource_ListJobs": { + "$ref": "./examples/iothub_listjobs.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponseListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry", + "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", + "operationId": "IotHubResource_GetJob", + "x-ms-examples": { + "IotHubResource_GetJob": { + "$ref": "./examples/iothub_getjob.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "jobId", + "in": "path", + "description": "The job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the quota metrics for an IoT hub", + "description": "Get the quota metrics for an IoT hub.", + "operationId": "IotHubResource_GetQuotaMetrics", + "x-ms-examples": { + "IotHubResource_GetQuotaMetrics": { + "$ref": "./examples/iothub_quotametrics.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubQuotaMetricInfoListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotHubResource_GetEndpointHealth", + "summary": "Get the health for routing endpoints", + "description": "Get the health for routing endpoints.", + "x-ms-examples": { + "IotHubResource_GetEndpointHealth": { + "$ref": "./examples/iothub_routingendpointhealth.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "iotHubName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EndpointHealthDataListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": { + "post": { + "tags": [ + "POST" + ], + "summary": "Check if an IoT hub name is available", + "description": "Check if an IoT hub name is available.", + "operationId": "IotHubResource_CheckNameAvailability", + "x-ms-examples": { + "IotHubResource_CheckNameAvailability": { + "$ref": "./examples/checkNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "operationInputs", + "in": "body", + "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.", + "required": true, + "schema": { + "$ref": "#/definitions/OperationInputs" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/IotHubNameAvailabilityInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the number of iot hubs in the subscription", + "description": "Get the number of free and paid iot hubs in the subscription", + "operationId": "ResourceProviderCommon_GetSubscriptionQuota", + "x-ms-examples": { + "ResourceProviderCommon_GetSubscriptionQuota": { + "$ref": "./examples/iothub_usages.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSubscriptionQuotaListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHubResource_TestAllRoutes", + "summary": "Test all routes", + "description": "Test all routes configured in this Iot Hub", + "x-ms-examples": { + "IotHubResource_TestAllRoutes": { + "$ref": "./examples/iothub_testallroutes.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "input", + "description": "Input for testing all routes", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestAllRoutesInput" + } + }, + { + "name": "iotHubName", + "description": "IotHub to be tested", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "resource group which Iot Hub belongs to", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TestAllRoutesResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHubResource_TestRoute", + "summary": "Test the new route", + "description": "Test the new route for this Iot Hub", + "x-ms-examples": { + "IotHubResource_TestRoute": { + "$ref": "./examples/iothub_testnewroute.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "input", + "description": "Route that needs to be tested", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestRouteInput" + } + }, + { + "name": "iotHubName", + "description": "IotHub to be tested", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "resource group which Iot Hub belongs to", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TestRouteResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security", + "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", + "operationId": "IotHubResource_ListKeys", + "x-ms-examples": { + "IotHubResource_ListKeys": { + "$ref": "./examples/iothub_listkeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security", + "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", + "operationId": "IotHubResource_GetKeysForKeyName", + "x-ms-examples": { + "IotHubResource_GetKeysForKeyName": { + "$ref": "./examples/iothub_getkey.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the shared access policy.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": { + "post": { + "tags": [ + "POST" + ], + "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities", + "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", + "operationId": "IotHubResource_ExportDevices", + "x-ms-examples": { + "IotHubResource_ExportDevices": { + "$ref": "./examples/iothub_exportdevices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "exportDevicesParameters", + "in": "body", + "description": "The parameters that specify the export devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": { + "post": { + "tags": [ + "POST" + ], + "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities", + "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", + "operationId": "IotHubResource_ImportDevices", + "x-ms-examples": { + "IotHubResource_ImportDevices": { + "$ref": "./examples/iothub_importdevices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "importDevicesParameters", + "in": "body", + "description": "The parameters that specify the import devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get the certificate list.", + "description": "Returns the list of certificates.", + "operationId": "Certificates_ListByIotHub", + "x-ms-examples": { + "Certificates_ListByIotHub": { + "$ref": "./examples/iothub_listcertificates.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the certificate list.", + "schema": { + "$ref": "#/definitions/CertificateListDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get the certificate.", + "description": "Returns the certificate.", + "operationId": "Certificates_Get", + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/iothub_getcertificate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Certificates" + ], + "summary": "Upload the certificate to the IoT hub.", + "description": "Adds new or replaces existing certificate.", + "operationId": "Certificates_CreateOrUpdate", + "x-ms-examples": { + "Certificates_CreateOrUpdate": { + "$ref": "./examples/iothub_certificatescreateorupdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "certificateDescription", + "in": "body", + "description": "The certificate body.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate." + } + ], + "responses": { + "201": { + "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "200": { + "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "Certificates" + ], + "summary": "Delete an X509 certificate.", + "description": "Deletes an existing X509 certificate or does nothing if it does not exist.", + "operationId": "Certificates_Delete", + "x-ms-examples": { + "Certificates_Delete": { + "$ref": "./examples/iothub_certificatesdelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "Certificate has been deleted." + }, + "204": { + "description": "Certificate does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": { + "post": { + "tags": [ + "Certificates" + ], + "summary": "Generate verification code for proof of possession flow.", + "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.", + "operationId": "Certificates_GenerateVerificationCode", + "x-ms-examples": { + "Certificates_GenerateVerificationCode": { + "$ref": "./examples/iothub_generateverificationcode.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateWithNonceDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": { + "post": { + "tags": [ + "Certificates" + ], + "summary": "Verify certificate's private key possession.", + "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.", + "operationId": "Certificates_Verify", + "x-ms-examples": { + "Certificates_Verify": { + "$ref": "./examples/iothub_certverify.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "certificateVerificationBody", + "in": "body", + "description": "The name of the certificate", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateVerificationDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHub_ManualFailover", + "summary": "Manually initiate a failover for the IoT Hub to its secondary region", + "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover", + "x-ms-examples": { + "IotHub_ManualFailover": { + "$ref": "./examples/IotHub_ManualFailover.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-long-running-operation": true, + "parameters": [ + { + "name": "iotHubName", + "description": "Name of the IoT hub to failover", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverInput" + } + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "Name of the resource group containing the IoT hub resource", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Long running manual failover operation for the IoT hub completed" + }, + "202": { + "description": "Manual failover initiated" + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private link resources", + "description": "List private link resources for the given IotHub", + "operationId": "PrivateLinkResources_List", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/iothub_listprivatelinkresources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private link resources", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the specified private link resource", + "description": "Get the specified private link resource for the given IotHub", + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/iothub_getprivatelinkresources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/groupId" + } + ], + "responses": { + "200": { + "description": "The body contains the specified of private link resource", + "schema": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private endpoint connections", + "description": "List private endpoint connection properties", + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/iothub_listprivateendpointconnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionsList" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get private endpoint connection", + "description": "Get private endpoint connection properties", + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnection_Get": { + "$ref": "./examples/iothub_getprivateendpointconnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The body contains the private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Update private endpoint connection", + "description": "Update the status of a private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnection_Update": { + "$ref": "./examples/iothub_updateprivateendpointconnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection with updated properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the update operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete private endpoint connection", + "description": "Delete private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnection_Delete": { + "$ref": "./examples/iothub_deleteprivateendpointconnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "PrivateEndpoint does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "CertificateVerificationDescription": { + "description": "The JSON-serialized leaf certificate", + "type": "object", + "properties": { + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateListDescription": { + "description": "The JSON-serialized array of Certificate objects.", + "type": "object", + "properties": { + "value": { + "description": "The array of Certificate objects.", + "type": "array", + "items": { + "$ref": "#/definitions/CertificateDescription" + } + } + } + }, + "CertificateBodyDescription": { + "description": "The JSON-serialized X509 Certificate.", + "type": "object", + "properties": { + "certificate": { + "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateDescription": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "CertificateWithNonceDescription": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificatePropertiesWithNonce" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "SharedAccessSignatureAuthorizationRule": { + "description": "The properties of an IoT hub shared access policy.", + "type": "object", + "properties": { + "keyName": { + "description": "The name of the shared access policy.", + "type": "string" + }, + "primaryKey": { + "description": "The primary key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key.", + "type": "string" + }, + "rights": { + "description": "The permissions assigned to the shared access policy.", + "enum": [ + "RegistryRead", + "RegistryWrite", + "ServiceConnect", + "DeviceConnect", + "RegistryRead, RegistryWrite", + "RegistryRead, ServiceConnect", + "RegistryRead, DeviceConnect", + "RegistryWrite, ServiceConnect", + "RegistryWrite, DeviceConnect", + "ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect", + "RegistryRead, RegistryWrite, DeviceConnect", + "RegistryRead, ServiceConnect, DeviceConnect", + "RegistryWrite, ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": false + } + } + }, + "required": [ + "keyName", + "rights" + ] + }, + "CertificateProperties": { + "description": "The description of an X509 CA Certificate.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's create date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "certificate": { + "description": "The certificate content", + "type": "string" + } + } + }, + "CertificatePropertiesWithNonce": { + "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's create date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "verificationCode": { + "description": "The certificate's verification code that will be used for proof of possession.", + "type": "string", + "readOnly": true + }, + "certificate": { + "description": "The certificate content", + "type": "string", + "readOnly": true + } + } + }, + "IotHubProperties": { + "description": "The properties of an IoT hub.", + "type": "object", + "properties": { + "authorizationPolicies": { + "description": "The shared access policies you can use to secure a connection to the IoT hub.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ipFilterRules": { + "description": "The IP filter rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "minTlsVersion": { + "type": "string", + "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected." + }, + "privateEndpointConnections": { + "description": "Private endpoint connections created on this IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "The provisioning state.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The hub state.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "The name of the host.", + "type": "string", + "readOnly": true + }, + "eventHubEndpoints": { + "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/EventHubProperties" + } + }, + "routing": { + "$ref": "#/definitions/RoutingProperties" + }, + "storageEndpoints": { + "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/StorageEndpointProperties" + } + }, + "messagingEndpoints": { + "description": "The messaging endpoint properties for the file upload notification queue.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MessagingEndpointProperties" + } + }, + "enableFileUploadNotifications": { + "description": "If True, file upload notifications are enabled.", + "type": "boolean" + }, + "cloudToDevice": { + "$ref": "#/definitions/CloudToDeviceProperties" + }, + "comments": { + "description": "IoT hub comments.", + "type": "string" + }, + "features": { + "description": "The capabilities and features enabled for the IoT hub.", + "enum": [ + "None", + "DeviceManagement" + ], + "type": "string", + "x-ms-enum": { + "name": "Capabilities", + "modelAsString": true + } + }, + "locations": { + "description": "Primary and secondary location for iot hub", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotHubLocationDescription" + } + } + } + }, + "IotHubSkuInfo": { + "description": "Information about the SKU of the IoT hub.", + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU.", + "enum": [ + "F1", + "S1", + "S2", + "S3", + "B1", + "B2", + "B3" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubSku", + "modelAsString": true + } + }, + "tier": { + "description": "The billing tier for the IoT hub.", + "enum": [ + "Free", + "Standard", + "Basic" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubSkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int64", + "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.", + "type": "integer" + } + }, + "required": [ + "name" + ] + }, + "EventHubProperties": { + "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.", + "type": "object", + "properties": { + "retentionTimeInDays": { + "format": "int64", + "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages", + "type": "integer" + }, + "partitionCount": { + "format": "int32", + "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.", + "type": "integer" + }, + "partitionIds": { + "description": "The partition ids in the Event Hub-compatible endpoint.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "description": "The Event Hub-compatible name.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The Event Hub-compatible endpoint.", + "type": "string", + "readOnly": true + } + } + }, + "StorageEndpointProperties": { + "description": "The properties of the Azure Storage endpoint for file upload.", + "type": "object", + "properties": { + "sasTtlAsIso8601": { + "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.", + "type": "string", + "format": "duration" + }, + "connectionString": { + "description": "The connection string for the Azure Storage account to which files are uploaded.", + "type": "string" + }, + "containerName": { + "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + } + }, + "required": [ + "connectionString", + "containerName" + ] + }, + "MessagingEndpointProperties": { + "description": "The properties of the messaging endpoints used by this IoT hub.", + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "type": "string", + "format": "duration" + }, + "ttlAsIso8601": { + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "type": "string", + "format": "duration" + }, + "maxDeliveryCount": { + "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + } + }, + "CloudToDeviceProperties": { + "description": "The IoT hub cloud-to-device messaging properties.", + "type": "object", + "properties": { + "maxDeliveryCount": { + "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "defaultTtlAsIso8601": { + "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "feedback": { + "$ref": "#/definitions/FeedbackProperties" + } + } + }, + "IpFilterRule": { + "description": "The IP filter rules for the IoT hub.", + "type": "object", + "properties": { + "filterName": { + "description": "The name of the IP filter rule.", + "type": "string" + }, + "action": { + "description": "The desired action for requests captured by this rule.", + "enum": [ + "Accept", + "Reject" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterActionType", + "modelAsString": false + } + }, + "ipMask": { + "description": "A string that contains the IP address range in CIDR notation for the rule.", + "type": "string" + } + }, + "required": [ + "filterName", + "action", + "ipMask" + ] + }, + "PrivateLinkResources": { + "description": "The available private link resources for an IotHub", + "type": "object", + "properties": { + "value": { + "description": "The list of available private link resources for an IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + } + } + }, + "GroupIdInformation": { + "description": "The group information for creating a private endpoint on an IotHub", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/GroupIdInformationProperties" + } + }, + "required": [ + "properties" + ] + }, + "GroupIdInformationProperties": { + "description": "The properties for a group information object", + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id" + }, + "requiredMembers": { + "description": "The required members for a specific group id", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The required DNS zones for a specific group id", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateEndpointConnectionsList": { + "description": "The list of private endpoint connections for an IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "PrivateEndpointConnection": { + "description": "The private endpoint connection of an IotHub", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + }, + "required": [ + "properties" + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "type": "object", + "properties": { + "status": { + "description": "The status of a private endpoint connection", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + } + }, + "required": [ + "status", + "description" + ] + }, + "FeedbackProperties": { + "description": "The properties of the feedback queue for cloud-to-device messages.", + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "ttlAsIso8601": { + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "maxDeliveryCount": { + "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + } + }, + "RoutingProperties": { + "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging", + "type": "object", + "properties": { + "endpoints": { + "$ref": "#/definitions/RoutingEndpoints" + }, + "routes": { + "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.", + "type": "array", + "items": { + "$ref": "#/definitions/RouteProperties" + } + }, + "fallbackRoute": { + "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.", + "$ref": "#/definitions/FallbackRouteProperties" + }, + "enrichments": { + "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid", + "type": "array", + "items": { + "$ref": "#/definitions/EnrichmentProperties" + } + } + } + }, + "RoutingEndpoints": { + "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.", + "type": "object", + "properties": { + "serviceBusQueues": { + "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties" + } + }, + "serviceBusTopics": { + "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties" + } + }, + "eventHubs": { + "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingEventHubProperties" + } + }, + "storageContainers": { + "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingStorageContainerProperties" + } + } + } + }, + "RoutingServiceBusQueueEndpointProperties": { + "description": "The properties related to service bus queue endpoint types.", + "type": "object", + "properties": { + "id": { + "description": "Id of the service bus queue endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the service bus queue endpoint.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the service bus queue endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Queue name on the service bus namespace", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the service bus queue endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the service bus queue endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the service bus queue endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingServiceBusTopicEndpointProperties": { + "description": "The properties related to service bus topic endpoint types.", + "type": "object", + "properties": { + "id": { + "description": "Id of the service bus topic endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the service bus topic endpoint.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the service bus topic endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Queue name on the service bus topic", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the service bus topic endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the service bus topic endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the service bus topic endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingEventHubProperties": { + "description": "The properties related to an event hub endpoint.", + "type": "object", + "properties": { + "id": { + "description": "Id of the event hub endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the event hub endpoint. ", + "type": "string" + }, + "endpointUri": { + "description": "The url of the event hub endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Event hub name on the event hub namespace", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the event hub endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the event hub endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the event hub endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingStorageContainerProperties": { + "description": "The properties related to a storage container endpoint.", + "type": "object", + "properties": { + "id": { + "description": "Id of the storage container endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the storage account.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the storage endpoint. It must include the protocol https://", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the storage endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the storage account.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the storage account.", + "type": "string" + }, + "containerName": { + "description": "The name of storage container in the storage account.", + "type": "string" + }, + "fileNameFormat": { + "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.", + "type": "string" + }, + "batchFrequencyInSeconds": { + "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.", + "format": "int32", + "type": "integer", + "maximum": 720, + "minimum": 60 + }, + "maxChunkSizeInBytes": { + "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).", + "format": "int32", + "type": "integer", + "maximum": 524288000, + "minimum": 10485760 + }, + "encoding": { + "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.", + "type": "string", + "enum": [ + "Avro", + "AvroDeflate", + "JSON" + ] + } + }, + "required": [ + "name", + "containerName" + ] + }, + "RouteProperties": { + "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.", + "type": "object", + "properties": { + "name": { + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "source": { + "description": "The source that the routing rule is to be applied to, such as DeviceMessages.", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "condition": { + "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.", + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "isEnabled": { + "description": "Used to specify whether a route is enabled.", + "type": "boolean" + } + }, + "required": [ + "name", + "endpointNames", + "source", + "isEnabled" + ] + }, + "FallbackRouteProperties": { + "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.", + "type": "object", + "properties": { + "name": { + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", + "type": "string" + }, + "source": { + "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages", + "enum": [ + "DeviceMessages" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "condition": { + "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.", + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "isEnabled": { + "description": "Used to specify whether the fallback route is enabled.", + "type": "boolean" + } + }, + "required": [ + "endpointNames", + "source", + "isEnabled" + ] + }, + "EnrichmentProperties": { + "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.", + "type": "object", + "properties": { + "key": { + "description": "The key or name for the enrichment property.", + "type": "string" + }, + "value": { + "description": "The value for the enrichment property.", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints for which the enrichment is applied to the message.", + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "key", + "value", + "endpointNames" + ] + }, + "IotHubDescription": { + "description": "The description of the IoT hub.", + "type": "object", + "properties": { + "etag": { + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.", + "type": "string" + }, + "properties": { + "description": "IotHub properties", + "$ref": "#/definitions/IotHubProperties" + }, + "sku": { + "description": "IotHub SKU info", + "$ref": "#/definitions/IotHubSkuInfo" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku" + ] + }, + "Resource": { + "description": "The common properties of an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "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." + } + }, + "x-ms-azure-resource": true, + "required": [ + "location" + ] + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "description": "The list of shared access policies with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "IoT Hub REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft Devices" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: IotHubs" + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the operation" + } + } + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfoListResult": { + "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of quota metrics objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubQuotaMetricInfo" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthDataListResult": { + "description": "The JSON-serialized array of EndpointHealthData objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "JSON-serialized array of Endpoint health data", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointHealthData" + } + }, + "nextLink": { + "description": "Link to more results", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthData": { + "description": "The health data for an endpoint", + "type": "object", + "properties": { + "endpointId": { + "description": "Id of the endpoint", + "type": "string" + }, + "healthStatus": { + "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint", + "enum": [ + "unknown", + "healthy", + "degraded", + "unhealthy", + "dead" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointHealthStatus", + "modelAsString": true + } + }, + "lastKnownError": { + "description": "Last error obtained when a message failed to be delivered to iot hub", + "type": "string" + }, + "lastKnownErrorTime": { + "description": "Time at which the last known error occurred", + "type": "string", + "format": "date-time-rfc1123" + }, + "lastSuccessfulSendAttemptTime": { + "description": "Last time iot hub successfully sent a message to the endpoint", + "type": "string", + "format": "date-time-rfc1123" + }, + "lastSendAttemptTime": { + "description": "Last time iot hub tried to send a message to the endpoint", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "RegistryStatistics": { + "description": "Identity registry statistics.", + "type": "object", + "properties": { + "totalDeviceCount": { + "format": "int64", + "description": "The total count of devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "enabledDeviceCount": { + "format": "int64", + "description": "The count of enabled devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "disabledDeviceCount": { + "format": "int64", + "description": "The count of disabled devices in the identity registry.", + "type": "integer", + "readOnly": true + } + } + }, + "JobResponseListResult": { + "description": "The JSON-serialized array of JobResponse objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of JobResponse objects.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResponse" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescription": { + "description": "SKU properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The type of the resource.", + "$ref": "#/definitions/IotHubSkuInfo" + }, + "capacity": { + "description": "IotHub capacity", + "$ref": "#/definitions/IotHubCapacity" + } + }, + "required": [ + "sku", + "capacity" + ] + }, + "TagsResource": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance." + }, + "IotHubCapacity": { + "description": "IoT Hub capacity information.", + "type": "object", + "properties": { + "minimum": { + "format": "int64", + "description": "The minimum number of units.", + "type": "integer", + "minimum": 1, + "maximum": 1, + "readOnly": true + }, + "maximum": { + "format": "int64", + "description": "The maximum number of units.", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int64", + "description": "The default number of units.", + "type": "integer", + "readOnly": true + }, + "scaleType": { + "description": "The type of the scaling enabled.", + "enum": [ + "Automatic", + "Manual", + "None" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "IotHubScaleType", + "modelAsString": false + } + } + } + }, + "EventHubConsumerGroupsListResult": { + "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.", + "type": "object", + "properties": { + "value": { + "description": "List of consumer groups objects", + "type": "array", + "items": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EventHubConsumerGroupBodyDescription": { + "description": "The EventHub consumer group.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EventHubConsumerGroupName" + } + } + }, + "EventHubConsumerGroupName": { + "description": "The EventHub consumer group name.", + "type": "object", + "properties": { + "name": { + "description": "EventHub consumer group name", + "type": "string" + } + } + }, + "EventHubConsumerGroupInfo": { + "description": "The properties of the EventHubConsumerGroupInfo object.", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "properties": { + "description": "The tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "id": { + "description": "The Event Hub-compatible consumer group identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Event Hub-compatible consumer group name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "the resource type.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The etag.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescriptionListResult": { + "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubSkuDescription.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubSkuDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "JobResponse": { + "description": "The properties of the Job Response object.", + "type": "object", + "properties": { + "jobId": { + "description": "The job identifier.", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "format": "date-time-rfc1123", + "description": "The start time of the job.", + "type": "string", + "readOnly": true + }, + "endTimeUtc": { + "format": "date-time-rfc1123", + "description": "The time the job stopped processing.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the job.", + "enum": [ + "unknown", + "export", + "import", + "backup", + "readDeviceProperties", + "writeDeviceProperties", + "updateDeviceConfiguration", + "rebootDevice", + "factoryResetDevice", + "firmwareUpdate" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "status": { + "description": "The status of the job.", + "enum": [ + "unknown", + "enqueued", + "running", + "completed", + "failed", + "cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": false + } + }, + "failureReason": { + "description": "If status == failed, this string containing the reason for the failure.", + "type": "string", + "readOnly": true + }, + "statusMessage": { + "description": "The status message for the job.", + "type": "string", + "readOnly": true + }, + "parentJobId": { + "description": "The job identifier of the parent job, if any.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubDescriptionListResult": { + "description": "The JSON-serialized array of IotHubDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubDescription objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfo": { + "description": "Quota metrics properties.", + "type": "object", + "properties": { + "name": { + "description": "The name of the quota metric.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "int64", + "description": "The current value for the quota metric.", + "type": "integer", + "readOnly": true + }, + "maxValue": { + "format": "int64", + "description": "The maximum value of the quota metric.", + "type": "integer", + "readOnly": true + } + } + }, + "OperationInputs": { + "description": "Input values.", + "type": "object", + "properties": { + "name": { + "description": "The name of the IoT hub to check.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "IotHubNameAvailabilityInfo": { + "description": "The properties indicating whether a given IoT hub name is available.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value which indicates whether the provided name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason for unavailability.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubNameUnavailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "The detailed reason message.", + "type": "string" + } + } + }, + "UserSubscriptionQuotaListResult": { + "type": "object", + "description": "Json-serialized array of User subscription quota response", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UserSubscriptionQuota" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "UserSubscriptionQuota": { + "description": "User subscription quota response", + "type": "object", + "properties": { + "id": { + "description": "IotHub type id", + "type": "string" + }, + "type": { + "description": "Response type", + "type": "string" + }, + "unit": { + "description": "Unit of IotHub type", + "type": "string" + }, + "currentValue": { + "description": "Current number of IotHub type", + "format": "int32", + "type": "integer" + }, + "limit": { + "description": "Numerical limit on IotHub type", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "IotHub type", + "$ref": "#/definitions/Name" + } + } + }, + "Name": { + "description": "Name of Iot Hub type", + "type": "object", + "properties": { + "value": { + "description": "IotHub type", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of name", + "type": "string" + } + } + }, + "TestAllRoutesInput": { + "description": "Input for testing all routes", + "type": "object", + "properties": { + "routingSource": { + "description": "Routing source", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "RoutingTwin": { + "description": "Twin reference input parameter. This is an optional parameter", + "type": "object", + "properties": { + "tags": { + "description": "Twin Tags", + "type": "object" + }, + "properties": { + "properties": { + "desired": { + "description": "Twin desired properties", + "type": "object" + }, + "reported": { + "description": "Twin desired properties", + "type": "object" + } + } + } + } + }, + "RoutingMessage": { + "description": "Routing message", + "type": "object", + "properties": { + "body": { + "description": "Body of routing message", + "type": "string" + }, + "appProperties": { + "description": "App properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemProperties": { + "description": "System properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TestAllRoutesResult": { + "description": "Result of testing all routes", + "type": "object", + "properties": { + "routes": { + "description": "JSON-serialized array of matched routes", + "type": "array", + "items": { + "$ref": "#/definitions/MatchedRoute" + } + } + } + }, + "MatchedRoute": { + "description": "Routes that matched", + "type": "object", + "properties": { + "properties": { + "description": "Properties of routes that matched", + "$ref": "#/definitions/RouteProperties" + } + } + }, + "TestRouteInput": { + "required": [ + "route" + ], + "description": "Input for testing route", + "type": "object", + "properties": { + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "route": { + "description": "Route properties", + "$ref": "#/definitions/RouteProperties" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "TestRouteResult": { + "description": "Result of testing one route", + "type": "object", + "properties": { + "result": { + "description": "Result of testing route", + "enum": [ + "undefined", + "false", + "true" + ], + "type": "string", + "x-ms-enum": { + "name": "TestResultStatus", + "modelAsString": true + } + }, + "details": { + "description": "Detailed result of testing route", + "$ref": "#/definitions/TestRouteResultDetails" + } + } + }, + "TestRouteResultDetails": { + "description": "Detailed result of testing a route", + "type": "object", + "properties": { + "compilationErrors": { + "description": "JSON-serialized list of route compilation errors", + "type": "array", + "items": { + "$ref": "#/definitions/RouteCompilationError" + } + } + } + }, + "RouteCompilationError": { + "description": "Compilation error when evaluating route", + "type": "object", + "properties": { + "message": { + "description": "Route error message", + "type": "string" + }, + "severity": { + "description": "Severity of the route error", + "enum": [ + "error", + "warning" + ], + "type": "string", + "x-ms-enum": { + "name": "RouteErrorSeverity", + "modelAsString": true + } + }, + "location": { + "description": "Location where the route error happened", + "$ref": "#/definitions/RouteErrorRange" + } + } + }, + "RouteErrorRange": { + "description": "Range of route errors", + "type": "object", + "properties": { + "start": { + "description": "Start where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + }, + "end": { + "description": "End where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + } + } + }, + "RouteErrorPosition": { + "description": "Position where the route error happened", + "type": "object", + "properties": { + "line": { + "description": "Line where the route error happened", + "format": "int32", + "type": "integer" + }, + "column": { + "description": "Column where the route error happened", + "format": "int32", + "type": "integer" + } + } + }, + "ExportDevicesRequest": { + "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.", + "type": "object", + "properties": { + "exportBlobContainerUri": { + "description": "The export blob container URI.", + "type": "string" + }, + "excludeKeys": { + "description": "The value indicating whether keys should be excluded during export.", + "type": "boolean" + }, + "exportBlobName": { + "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported device registry information for the IoT Hub.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + } + }, + "required": [ + "exportBlobContainerUri", + "excludeKeys" + ] + }, + "ImportDevicesRequest": { + "description": "Use to provide parameters when requesting an import of all devices in the hub.", + "type": "object", + "properties": { + "inputBlobContainerUri": { + "description": "The input blob container URI.", + "type": "string" + }, + "outputBlobContainerUri": { + "description": "The output blob container URI.", + "type": "string" + }, + "inputBlobName": { + "description": "The blob name to be used when importing from the provided input blob container.", + "type": "string" + }, + "outputBlobName": { + "description": "The blob name to use for storing the status of the import job.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + } + }, + "required": [ + "inputBlobContainerUri", + "outputBlobContainerUri" + ] + }, + "FailoverInput": { + "description": "Use to provide failover region when requesting manual Failover for a hub.", + "type": "object", + "properties": { + "failoverRegion": { + "description": "Region the hub will be failed over to", + "type": "string" + } + }, + "required": [ + "failoverRegion" + ] + }, + "IotHubLocationDescription": { + "description": "Public representation of one of the locations where a resource is provisioned.", + "type": "object", + "properties": { + "location": { + "description": "The name of the Azure region", + "type": "string" + }, + "role": { + "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.", + "enum": [ + "primary", + "secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubReplicaRoleType", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the API.", + "required": true, + "type": "string" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the IoT hub.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the IoT hub.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "certificateName": { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$", + "x-ms-parameter-location": "method" + }, + "groupId": { + "name": "groupId", + "in": "path", + "description": "The name of the private link resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/IotHub_ManualFailover.json new file mode 100644 index 000000000000..38ed67f15fe6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/IotHub_ManualFailover.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "failoverInput": { + "failoverRegion": "testHub" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/checkNameAvailability.json new file mode 100644 index 000000000000..4e50438eb60e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/checkNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "operationInputs": { + "name": "test-request" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "Invalid", + "message": "" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatescreateorupdate.json new file mode 100644 index 000000000000..0f3880d49dbd --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatescreateorupdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceName": "iothub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "certificateDescription": { + "properties": { + "certificate": "############################################" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + }, + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatesdelete.json new file mode 100644 index 000000000000..f7a99bc73484 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certificatesdelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceName": "myhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certverify.json new file mode 100644 index 000000000000..981193129a63 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_certverify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=", + "certificateVerificationBody": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": true, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpTQ=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createOrUpdate.json new file mode 100644 index 000000000000..587c6d5912cb --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createOrUpdate.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "iotHubDescription": { + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "ipFilterRules": [], + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2 + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createconsumergroup.json new file mode 100644 index 000000000000..f5d1bb14db46 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_createconsumergroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test", + "consumerGroupBody": { + "properties": { + "name": "test" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_delete.json new file mode 100644 index 000000000000..75dca824ab79 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_delete.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "204": {}, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + }, + "404": { + "body": {} + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteconsumergroup.json new file mode 100644 index 000000000000..5433c162b85b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteconsumergroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteprivateendpointconnection.json new file mode 100644 index 000000000000..0f482f86522a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_deleteprivateendpointconnection.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "Deleted", + "actionsRequired": "None" + } + } + } + }, + "204": {} + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_exportdevices.json new file mode 100644 index 000000000000..aa439d238045 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_exportdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "exportDevicesParameters": { + "exportBlobContainerUri": "testBlob", + "excludeKeys": true + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_generateverificationcode.json new file mode 100644 index 000000000000..ccd4a3866903 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_generateverificationcode.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert", + "If-Match": "AAAAAAAADGk=" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "verificationCode": "##################################", + "subject": "CN=andbucdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "##############################", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_get.json new file mode 100644 index 000000000000..88777e621eeb --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_get.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None", + "locations": [ + { + "location": "West US", + "role": "primary" + }, + { + "location": "East US", + "role": "secondary" + } + ], + "minTlsVersion": "1.2" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getcertificate.json new file mode 100644 index 000000000000..b4714ea5da31 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getcertificate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "certificateName": "cert" + }, + "responses": { + "200": { + "body": { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getconsumergroup.json new file mode 100644 index 000000000000..51370b4ee7c8 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getconsumergroup.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "name": "test" + }, + "responses": { + "200": { + "body": { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "test", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getjob.json new file mode 100644 index 000000000000..c36cbdcff46a --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getjob.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "jobId": "test" + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getkey.json new file mode 100644 index 000000000000..30fd8e1f4601 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getkey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "keyName": "iothubowner" + }, + "responses": { + "200": { + "body": { + "keyName": "iothubowner", + "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=", + "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivateendpointconnection.json new file mode 100644 index 000000000000..7ca147a39339 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivateendpointconnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivatelinkresources.json new file mode 100644 index 000000000000..f2a95e6350bf --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getprivatelinkresources.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "groupId": "iotHub" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getskus.json new file mode 100644 index 000000000000..3773790f909f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_getskus.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S1", + "tier": "Standard" + }, + "capacity": { + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S2", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 200, + "default": 1, + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.Devices/IotHubs", + "sku": { + "name": "S3", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 10, + "default": 1, + "scaleType": "Manual" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_importdevices.json new file mode 100644 index 000000000000..11ea4a0db031 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_importdevices.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "importDevicesParameters": { + "inputBlobContainerUri": "testBlob", + "outputBlobContainerUri": "testBlob" + } + }, + "responses": { + "200": { + "body": { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbyrg.json new file mode 100644 index 000000000000..72173cc6f9d1 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbyrg.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbysubscription.json new file mode 100644 index 000000000000..fca5c74a1951 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listbysubscription.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "resourceName": "testHub", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": {}, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listcertificates.json new file mode 100644 index 000000000000..43f0be9cf9d9 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listcertificates.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "resourceName": "testhub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "subject": "CN=testdevice1", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "isVerified": false, + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT", + "certificate": "############################################" + }, + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "name": "cert", + "type": "Microsoft.Devices/IotHubs/Certificates", + "etag": "AAAAAAExpNs=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listehgroups.json new file mode 100644 index 000000000000..47e0daf8fe4e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listehgroups.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "eventHubEndpointName": "events", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "created": "Thu, 15 Jun 2017 19:20:58 GMT" + }, + "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default", + "name": "$Default", + "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups", + "etag": "AAAAAAFD6M4=" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listjobs.json new file mode 100644 index 000000000000..e8b6d3464ff2 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listjobs.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobId": "test", + "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT", + "type": "unknown", + "status": "unknown" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listkeys.json new file mode 100644 index 000000000000..ccbb3f9f7a08 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listkeys.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "iothubowner", + "primaryKey": "2aWPrKloLLdcug12ZHNpA0e07yJmRRmYMXDLpEOTd/Y=", + "secondaryKey": "DLyFnDTGMDK0BU2QjT5TCkNBQ4h08mi20vOqWMC7TxU=", + "rights": "RegistryWrite, ServiceConnect, DeviceConnect" + }, + { + "keyName": "service", + "primaryKey": "DinqxWW+s814W2Pc3dLxleelksqSYGy8Jfymt8J7a4c=", + "secondaryKey": "5G8KgJ9Wx2T0f6HRIn25TgYcFmJnBSivawNaHssiP9Y=", + "rights": "ServiceConnect" + }, + { + "keyName": "device", + "primaryKey": "o/9gPc0oD8LY/r2lRurgl9U/sKFcL2c/tmFLKAiz+e0=", + "secondaryKey": "YOeBMHnYP95vH+ykR8OeapnhS6W8raMsXOdNFwqg4lg=", + "rights": "DeviceConnect" + }, + { + "keyName": "registryRead", + "primaryKey": "h2d4mPxy6jPCWX6mO+katV9QPNJivzt4aFq0iGVc1A8=", + "secondaryKey": "3TdcalZNTB7BZHl88LGsG1Z5T6+ElEODunrs1vylwGg=", + "rights": "RegistryRead" + }, + { + "keyName": "registryReadWrite", + "primaryKey": "tyNRcaI38fXL+gQTjCmrVZGTP4YFF7uACk7pppWLWzY=", + "secondaryKey": "6P6DXOp0W3HO5/IotzcPS1kx7PHiOdesaND07Im5cYI=", + "rights": "RegistryWrite" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivateendpointconnections.json new file mode 100644 index 000000000000..269b382a722b --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivateendpointconnections.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my request!", + "actionsRequired": "None" + } + } + } + ] + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivatelinkresources.json new file mode 100644 index 000000000000..8f64796d12ec --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_listprivatelinkresources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub", + "name": "iotHub", + "type": "Microsoft.Devices/IotHubs/PrivateLinkResources", + "properties": { + "groupId": "iotHub", + "requiredMembers": [ + "iotHub" + ], + "requiredZoneNames": [ + "privatelink.azure-devices.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_operations.json new file mode 100644 index 000000000000..db24030bfc88 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_operations.json @@ -0,0 +1,328 @@ +{ + "parameters": { + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Register Resource Provider", + "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service metric definitions", + "description": "Gets the available metrics for the IotHub service" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read IotHub service log definitions", + "description": "Gets the available log definitions for the IotHub Service" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get All ResourceProvider Operations", + "description": "Get All ResourceProvider Operations" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Check If IotHub name is available", + "description": "Check If IotHub name is available" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Subscription Usages", + "description": "Get subscription usage details for this provider." + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub(s)", + "description": "Gets the IotHub resource(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create or update IotHub Resource", + "description": "Create or update IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete IotHub Resource", + "description": "Delete IotHub Resource" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Statistics", + "description": "Get IotHub Statistics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get valid IotHub Skus", + "description": "Get valid IotHub Skus" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get all IotHub Keys", + "description": "Get all IotHub Keys" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get IotHub Key for the given name", + "description": "Get IotHub Key for the given name" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Create EventHub Consumer Group", + "description": "Create EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get EventHub Consumer Group(s)", + "description": "Get EventHub Consumer Group(s)" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Delete EventHub Consumer Group", + "description": "Delete EventHub Consumer Group" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Export Devices", + "description": "Export Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Import Devices", + "description": "Import Devices" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get the Job(s) on IotHub", + "description": "Get Job(s) details submitted on given IotHub" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Quota Metrics", + "description": "Get Quota Metrics" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test All", + "description": "Test a message against all existing Routes" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Routing Rule Test Route", + "description": "Test a message against a provided test Route" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Endpoint Health", + "description": "Gets the health of all routing Endpoints for an IotHub" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Get Diagnostic Setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service metric definitions", + "description": "Gets the available metrics for the DPS service" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "provider": "Microsoft Devices", + "resource": "IotHubs", + "operation": "Read DPS service log definitions", + "description": "Gets the available log definitions for the DPS Service" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServives", + "operation": "Check If Provisioning Service name is available", + "description": "Check If Provisioning Service name is available" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Get Provisioning Service resource", + "description": "Get Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Create Provisioning Service resource", + "description": "Create Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "Delete Provisioning Service resource", + "description": "Delete Provisioning Service resource" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "provider": "Microsoft Devices", + "resource": "ProvisioningServices", + "operation": "get security related metadata", + "description": "get security related metadata" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_patch.json new file mode 100644 index 000000000000..cfb7448b13ef --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_patch.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "resourceName": "myHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "location": "East US", + "type": "Microsoft.Devices/IotHubs", + "IotHubTags": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub", + "name": "testHub", + "type": "Microsoft.Devices/IotHubs", + "location": "centraluseuap", + "tags": { + "foo": "bar" + }, + "etag": "AAAAAAFD6M4=", + "properties": { + "state": "Active", + "provisioningState": "Succeeded", + "ipFilterRules": [], + "hostName": "iot-dps-cit-hub-1.azure-devices.net", + "eventHubEndpoints": { + "events": { + "retentionTimeInDays": 1, + "partitionCount": 2, + "partitionIds": [ + "0", + "1" + ], + "path": "iot-dps-cit-hub-1", + "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/" + } + }, + "routing": { + "endpoints": { + "serviceBusQueues": [], + "serviceBusTopics": [], + "eventHubs": [], + "storageContainers": [] + }, + "routes": [], + "fallbackRoute": { + "name": "$fallback", + "source": "DeviceMessages", + "condition": "true", + "endpointNames": [ + "events" + ], + "isEnabled": true + } + }, + "storageEndpoints": { + "$default": { + "sasTtlAsIso8601": "PT1H", + "connectionString": "", + "containerName": "" + } + }, + "messagingEndpoints": { + "fileNotifications": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "enableFileUploadNotifications": false, + "cloudToDevice": { + "maxDeliveryCount": 10, + "defaultTtlAsIso8601": "PT1H", + "feedback": { + "lockDurationAsIso8601": "PT1M", + "ttlAsIso8601": "PT1H", + "maxDeliveryCount": 10 + } + }, + "features": "None" + }, + "sku": { + "name": "S1", + "tier": "Standard", + "capacity": 1 + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_quotametrics.json new file mode 100644 index 000000000000..92d6d8c274c4 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_quotametrics.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TotalMessages", + "currentValue": 0, + "maxValue": 400000 + }, + { + "name": "TotalDeviceCount", + "currentValue": 0, + "maxValue": 500000 + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_routingendpointhealth.json new file mode 100644 index 000000000000..cde665e3139f --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_routingendpointhealth.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "endpointId": "id1", + "healthStatus": "healthy", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + }, + { + "endpointId": "id2", + "healthStatus": "unknown" + }, + { + "endpointId": "id3", + "healthStatus": "unhealthy", + "lastKnownError": "NotFound", + "lastKnownErrorTime": "2020-03-26T21:24:57Z", + "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z", + "lastSendAttemptTime": "2020-03-26T21:24:57Z" + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_stats.json new file mode 100644 index 000000000000..1a7bcb918e7e --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_stats.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-04-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "totalDeviceCount": 0, + "enabledDeviceCount": 0, + "disabledDeviceCount": 0 + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testallroutes.json new file mode 100644 index 000000000000..88aba4217c40 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testallroutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "routingSource": "DeviceMessages", + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + } + } + }, + "responses": { + "200": { + "body": { + "routes": [ + { + "properties": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testnewroute.json new file mode 100644 index 000000000000..8879057f8636 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_testnewroute.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "iotHubName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "input": { + "message": { + "body": "Body of message", + "appProperties": { + "key1": "value1" + }, + "systemProperties": { + "key1": "value1" + } + }, + "route": { + "name": "Routeid", + "source": "DeviceMessages", + "endpointNames": [ + "id1" + ], + "isEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "result": "false", + "details": { + "compilationErrors": [ + { + "message": "string response", + "severity": "error", + "location": { + "start": { + "line": 12, + "column": 12 + }, + "end": { + "line": 12, + "column": 24 + } + } + } + ] + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_updateprivateendpointconnection.json new file mode 100644 index 000000000000..900a463d5c99 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_updateprivateendpointconnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceName": "testHub", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection", + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_usages.json new file mode 100644 index 000000000000..f767c7e6aba5 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/examples/iothub_usages.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount", + "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages", + "unit": "count", + "currentValue": 1, + "limit": 1, + "name": { + "value": "FreeHubCount", + "localizedValue": "Free Hub Count" + } + } + ] + } + } + } +} diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/iothub.json new file mode 100644 index 000000000000..1a69c060f0f6 --- /dev/null +++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2020-08-01/iothub.json @@ -0,0 +1,4212 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-08-01", + "title": "iotHubClient", + "description": "Use this API to manage the IoT hubs in your Azure subscription.", + "x-ms-code-generation-settings": { + "header": "MICROSOFT_MIT_NO_VERSION" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Devices/operations": { + "get": { + "tags": [ + "Operations" + ], + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/iothub_operations.json" + } + }, + "operationId": "Operations_List", + "description": "Lists all of the available IoT Hub REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the non-security related metadata of an IoT hub", + "description": "Get the non-security related metadata of an IoT hub.", + "operationId": "IotHubResource_Get", + "x-ms-examples": { + "IotHubResource_Get": { + "$ref": "./examples/iothub_get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Create or update the metadata of an IoT hub.", + "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.", + "operationId": "IotHubResource_CreateOrUpdate", + "x-ms-examples": { + "IotHubResource_CreateOrUpdate": { + "$ref": "./examples/iothub_createOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "iotHubDescription", + "in": "body", + "description": "The IoT hub metadata and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub." + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "PATCH" + ], + "summary": "Update an existing IoT Hubs tags.", + "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method", + "x-ms-long-running-operation": true, + "operationId": "IotHubResource_Update", + "x-ms-examples": { + "IotHubResource_Update": { + "$ref": "./examples/iothub_patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource group identifier." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of iot hub to update." + }, + { + "name": "IotHubTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the iot hub instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Iot Hub was successfully updated", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete an IoT hub", + "description": "Delete an IoT hub.", + "operationId": "IotHubResource_Delete", + "x-ms-examples": { + "IotHubResource_Delete": { + "$ref": "./examples/iothub_delete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "202": { + "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "204": { + "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state." + }, + "404": { + "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the IoT hubs in a subscription", + "description": "Get all the IoT hubs in a subscription.", + "operationId": "IotHubResource_ListBySubscription", + "x-ms-examples": { + "IotHubResource_ListBySubscription": { + "$ref": "./examples/iothub_listbysubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get all the IoT hubs in a resource group", + "description": "Get all the IoT hubs in a resource group.", + "operationId": "IotHubResource_ListByResourceGroup", + "x-ms-examples": { + "IotHubResource_ListByResourceGroup": { + "$ref": "./examples/iothub_listbyrg.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.", + "schema": { + "$ref": "#/definitions/IotHubDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the statistics from an IoT hub", + "description": "Get the statistics from an IoT hub.", + "operationId": "IotHubResource_GetStats", + "x-ms-examples": { + "IotHubResource_GetStats": { + "$ref": "./examples/iothub_stats.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.", + "schema": { + "$ref": "#/definitions/RegistryStatistics" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the list of valid SKUs for an IoT hub", + "description": "Get the list of valid SKUs for an IoT hub.", + "operationId": "IotHubResource_GetValidSkus", + "x-ms-examples": { + "IotHubResource_GetValidSkus": { + "$ref": "./examples/iothub_getskus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubSkuDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub", + "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.", + "operationId": "IotHubResource_ListEventHubConsumerGroups", + "x-ms-examples": { + "IotHubResource_ListEventHubConsumerGroups": { + "$ref": "./examples/iothub_listehgroups.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupsListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub", + "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.", + "operationId": "IotHubResource_GetEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_ListEventHubConsumerGroups": { + "$ref": "./examples/iothub_getconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub", + "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.", + "operationId": "IotHubResource_CreateEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_CreateEventHubConsumerGroup": { + "$ref": "./examples/iothub_createconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to add.", + "required": true, + "type": "string" + }, + { + "name": "consumerGroupBody", + "in": "body", + "description": "The consumer group to add.", + "required": true, + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupBodyDescription" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation.", + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub", + "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.", + "operationId": "IotHubResource_DeleteEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_DeleteEventHubConsumerGroup": { + "$ref": "./examples/iothub_deleteconsumergroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "eventHubEndpointName", + "in": "path", + "description": "The name of the Event Hub-compatible endpoint in the IoT hub.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the consumer group to delete.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry", + "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", + "operationId": "IotHubResource_ListJobs", + "x-ms-examples": { + "IotHubResource_ListJobs": { + "$ref": "./examples/iothub_listjobs.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponseListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry", + "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", + "operationId": "IotHubResource_GetJob", + "x-ms-examples": { + "IotHubResource_GetJob": { + "$ref": "./examples/iothub_getjob.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "jobId", + "in": "path", + "description": "The job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the quota metrics for an IoT hub", + "description": "Get the quota metrics for an IoT hub.", + "operationId": "IotHubResource_GetQuotaMetrics", + "x-ms-examples": { + "IotHubResource_GetQuotaMetrics": { + "$ref": "./examples/iothub_quotametrics.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.", + "schema": { + "$ref": "#/definitions/IotHubQuotaMetricInfoListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotHubResource_GetEndpointHealth", + "summary": "Get the health for routing endpoints", + "description": "Get the health for routing endpoints.", + "x-ms-examples": { + "IotHubResource_GetEndpointHealth": { + "$ref": "./examples/iothub_routingendpointhealth.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "iotHubName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EndpointHealthDataListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": { + "post": { + "tags": [ + "POST" + ], + "summary": "Check if an IoT hub name is available", + "description": "Check if an IoT hub name is available.", + "operationId": "IotHubResource_CheckNameAvailability", + "x-ms-examples": { + "IotHubResource_CheckNameAvailability": { + "$ref": "./examples/checkNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "operationInputs", + "in": "body", + "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.", + "required": true, + "schema": { + "$ref": "#/definitions/OperationInputs" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/IotHubNameAvailabilityInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the number of iot hubs in the subscription", + "description": "Get the number of free and paid iot hubs in the subscription", + "operationId": "ResourceProviderCommon_GetSubscriptionQuota", + "x-ms-examples": { + "ResourceProviderCommon_GetSubscriptionQuota": { + "$ref": "./examples/iothub_usages.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSubscriptionQuotaListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHubResource_TestAllRoutes", + "summary": "Test all routes", + "description": "Test all routes configured in this Iot Hub", + "x-ms-examples": { + "IotHubResource_TestAllRoutes": { + "$ref": "./examples/iothub_testallroutes.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "input", + "description": "Input for testing all routes", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestAllRoutesInput" + } + }, + { + "name": "iotHubName", + "description": "IotHub to be tested", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "resource group which Iot Hub belongs to", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TestAllRoutesResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHubResource_TestRoute", + "summary": "Test the new route", + "description": "Test the new route for this Iot Hub", + "x-ms-examples": { + "IotHubResource_TestRoute": { + "$ref": "./examples/iothub_testnewroute.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "input", + "description": "Route that needs to be tested", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestRouteInput" + } + }, + { + "name": "iotHubName", + "description": "IotHub to be tested", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "resource group which Iot Hub belongs to", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TestRouteResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security", + "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", + "operationId": "IotHubResource_ListKeys", + "x-ms-examples": { + "IotHubResource_ListKeys": { + "$ref": "./examples/iothub_listkeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security", + "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", + "operationId": "IotHubResource_GetKeysForKeyName", + "x-ms-examples": { + "IotHubResource_GetKeysForKeyName": { + "$ref": "./examples/iothub_getkey.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the shared access policy.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": { + "post": { + "tags": [ + "POST" + ], + "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities", + "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", + "operationId": "IotHubResource_ExportDevices", + "x-ms-examples": { + "IotHubResource_ExportDevices": { + "$ref": "./examples/iothub_exportdevices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "exportDevicesParameters", + "in": "body", + "description": "The parameters that specify the export devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": { + "post": { + "tags": [ + "POST" + ], + "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities", + "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", + "operationId": "IotHubResource_ImportDevices", + "x-ms-examples": { + "IotHubResource_ImportDevices": { + "$ref": "./examples/iothub_importdevices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "importDevicesParameters", + "in": "body", + "description": "The parameters that specify the import devices operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportDevicesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get the certificate list.", + "description": "Returns the list of certificates.", + "operationId": "Certificates_ListByIotHub", + "x-ms-examples": { + "Certificates_ListByIotHub": { + "$ref": "./examples/iothub_listcertificates.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the certificate list.", + "schema": { + "$ref": "#/definitions/CertificateListDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get the certificate.", + "description": "Returns the certificate.", + "operationId": "Certificates_Get", + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/iothub_getcertificate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Certificates" + ], + "summary": "Upload the certificate to the IoT hub.", + "description": "Adds new or replaces existing certificate.", + "operationId": "Certificates_CreateOrUpdate", + "x-ms-examples": { + "Certificates_CreateOrUpdate": { + "$ref": "./examples/iothub_certificatescreateorupdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "certificateDescription", + "in": "body", + "description": "The certificate body.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate." + } + ], + "responses": { + "201": { + "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "200": { + "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "Certificates" + ], + "summary": "Delete an X509 certificate.", + "description": "Deletes an existing X509 certificate or does nothing if it does not exist.", + "operationId": "Certificates_Delete", + "x-ms-examples": { + "Certificates_Delete": { + "$ref": "./examples/iothub_certificatesdelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "Certificate has been deleted." + }, + "204": { + "description": "Certificate does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": { + "post": { + "tags": [ + "Certificates" + ], + "summary": "Generate verification code for proof of possession flow.", + "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.", + "operationId": "Certificates_GenerateVerificationCode", + "x-ms-examples": { + "Certificates_GenerateVerificationCode": { + "$ref": "./examples/iothub_generateverificationcode.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateWithNonceDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": { + "post": { + "tags": [ + "Certificates" + ], + "summary": "Verify certificate's private key possession.", + "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.", + "operationId": "Certificates_Verify", + "x-ms-examples": { + "Certificates_Verify": { + "$ref": "./examples/iothub_certverify.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "certificateVerificationBody", + "in": "body", + "description": "The name of the certificate", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateVerificationDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHub_ManualFailover", + "summary": "Manually initiate a failover for the IoT Hub to its secondary region", + "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover", + "x-ms-examples": { + "IotHub_ManualFailover": { + "$ref": "./examples/IotHub_ManualFailover.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-long-running-operation": true, + "parameters": [ + { + "name": "iotHubName", + "description": "Name of the IoT hub to failover", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverInput" + } + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "Name of the resource group containing the IoT hub resource", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Long running manual failover operation for the IoT hub completed" + }, + "202": { + "description": "Manual failover initiated" + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private link resources", + "description": "List private link resources for the given IotHub", + "operationId": "PrivateLinkResources_List", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/iothub_listprivatelinkresources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private link resources", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the specified private link resource", + "description": "Get the specified private link resource for the given IotHub", + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/iothub_getprivatelinkresources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/groupId" + } + ], + "responses": { + "200": { + "description": "The body contains the specified of private link resource", + "schema": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private endpoint connections", + "description": "List private endpoint connection properties", + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/iothub_listprivateendpointconnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionsList" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get private endpoint connection", + "description": "Get private endpoint connection properties", + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnection_Get": { + "$ref": "./examples/iothub_getprivateendpointconnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The body contains the private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Update private endpoint connection", + "description": "Update the status of a private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnection_Update": { + "$ref": "./examples/iothub_updateprivateendpointconnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection with updated properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the update operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete private endpoint connection", + "description": "Delete private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnection_Delete": { + "$ref": "./examples/iothub_deleteprivateendpointconnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "PrivateEndpoint does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "CertificateVerificationDescription": { + "description": "The JSON-serialized leaf certificate", + "type": "object", + "properties": { + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateListDescription": { + "description": "The JSON-serialized array of Certificate objects.", + "type": "object", + "properties": { + "value": { + "description": "The array of Certificate objects.", + "type": "array", + "items": { + "$ref": "#/definitions/CertificateDescription" + } + } + } + }, + "CertificateBodyDescription": { + "description": "The JSON-serialized X509 Certificate.", + "type": "object", + "properties": { + "certificate": { + "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateDescription": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "CertificateWithNonceDescription": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificatePropertiesWithNonce" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "SharedAccessSignatureAuthorizationRule": { + "description": "The properties of an IoT hub shared access policy.", + "type": "object", + "properties": { + "keyName": { + "description": "The name of the shared access policy.", + "type": "string" + }, + "primaryKey": { + "description": "The primary key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key.", + "type": "string" + }, + "rights": { + "description": "The permissions assigned to the shared access policy.", + "enum": [ + "RegistryRead", + "RegistryWrite", + "ServiceConnect", + "DeviceConnect", + "RegistryRead, RegistryWrite", + "RegistryRead, ServiceConnect", + "RegistryRead, DeviceConnect", + "RegistryWrite, ServiceConnect", + "RegistryWrite, DeviceConnect", + "ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect", + "RegistryRead, RegistryWrite, DeviceConnect", + "RegistryRead, ServiceConnect, DeviceConnect", + "RegistryWrite, ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": false + } + } + }, + "required": [ + "keyName", + "rights" + ] + }, + "CertificateProperties": { + "description": "The description of an X509 CA Certificate.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's create date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "certificate": { + "description": "The certificate content", + "type": "string" + } + } + }, + "CertificatePropertiesWithNonce": { + "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's create date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "verificationCode": { + "description": "The certificate's verification code that will be used for proof of possession.", + "type": "string", + "readOnly": true + }, + "certificate": { + "description": "The certificate content", + "type": "string", + "readOnly": true + } + } + }, + "IotHubProperties": { + "description": "The properties of an IoT hub.", + "type": "object", + "properties": { + "authorizationPolicies": { + "description": "The shared access policies you can use to secure a connection to the IoT hub.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ipFilterRules": { + "description": "The IP filter rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "minTlsVersion": { + "type": "string", + "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected." + }, + "privateEndpointConnections": { + "description": "Private endpoint connections created on this IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "The provisioning state.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The hub state.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "The name of the host.", + "type": "string", + "readOnly": true + }, + "eventHubEndpoints": { + "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/EventHubProperties" + } + }, + "routing": { + "$ref": "#/definitions/RoutingProperties" + }, + "storageEndpoints": { + "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/StorageEndpointProperties" + } + }, + "messagingEndpoints": { + "description": "The messaging endpoint properties for the file upload notification queue.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MessagingEndpointProperties" + } + }, + "enableFileUploadNotifications": { + "description": "If True, file upload notifications are enabled.", + "type": "boolean" + }, + "cloudToDevice": { + "$ref": "#/definitions/CloudToDeviceProperties" + }, + "comments": { + "description": "IoT hub comments.", + "type": "string" + }, + "features": { + "description": "The capabilities and features enabled for the IoT hub.", + "enum": [ + "None", + "DeviceManagement" + ], + "type": "string", + "x-ms-enum": { + "name": "Capabilities", + "modelAsString": true + } + }, + "locations": { + "description": "Primary and secondary location for iot hub", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotHubLocationDescription" + } + } + } + }, + "IotHubSkuInfo": { + "description": "Information about the SKU of the IoT hub.", + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU.", + "enum": [ + "F1", + "S1", + "S2", + "S3", + "B1", + "B2", + "B3" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubSku", + "modelAsString": true + } + }, + "tier": { + "description": "The billing tier for the IoT hub.", + "enum": [ + "Free", + "Standard", + "Basic" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubSkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int64", + "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.", + "type": "integer" + } + }, + "required": [ + "name" + ] + }, + "EventHubProperties": { + "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.", + "type": "object", + "properties": { + "retentionTimeInDays": { + "format": "int64", + "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages", + "type": "integer" + }, + "partitionCount": { + "format": "int32", + "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.", + "type": "integer" + }, + "partitionIds": { + "description": "The partition ids in the Event Hub-compatible endpoint.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "description": "The Event Hub-compatible name.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The Event Hub-compatible endpoint.", + "type": "string", + "readOnly": true + } + } + }, + "StorageEndpointProperties": { + "description": "The properties of the Azure Storage endpoint for file upload.", + "type": "object", + "properties": { + "sasTtlAsIso8601": { + "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.", + "type": "string", + "format": "duration" + }, + "connectionString": { + "description": "The connection string for the Azure Storage account to which files are uploaded.", + "type": "string" + }, + "containerName": { + "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + } + }, + "required": [ + "connectionString", + "containerName" + ] + }, + "MessagingEndpointProperties": { + "description": "The properties of the messaging endpoints used by this IoT hub.", + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "type": "string", + "format": "duration" + }, + "ttlAsIso8601": { + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "type": "string", + "format": "duration" + }, + "maxDeliveryCount": { + "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + } + }, + "CloudToDeviceProperties": { + "description": "The IoT hub cloud-to-device messaging properties.", + "type": "object", + "properties": { + "maxDeliveryCount": { + "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "defaultTtlAsIso8601": { + "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "feedback": { + "$ref": "#/definitions/FeedbackProperties" + } + } + }, + "IpFilterRule": { + "description": "The IP filter rules for the IoT hub.", + "type": "object", + "properties": { + "filterName": { + "description": "The name of the IP filter rule.", + "type": "string" + }, + "action": { + "description": "The desired action for requests captured by this rule.", + "enum": [ + "Accept", + "Reject" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterActionType", + "modelAsString": false + } + }, + "ipMask": { + "description": "A string that contains the IP address range in CIDR notation for the rule.", + "type": "string" + } + }, + "required": [ + "filterName", + "action", + "ipMask" + ] + }, + "PrivateLinkResources": { + "description": "The available private link resources for an IotHub", + "type": "object", + "properties": { + "value": { + "description": "The list of available private link resources for an IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + } + } + }, + "GroupIdInformation": { + "description": "The group information for creating a private endpoint on an IotHub", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/GroupIdInformationProperties" + } + }, + "required": [ + "properties" + ] + }, + "GroupIdInformationProperties": { + "description": "The properties for a group information object", + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id" + }, + "requiredMembers": { + "description": "The required members for a specific group id", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The required DNS zones for a specific group id", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateEndpointConnectionsList": { + "description": "The list of private endpoint connections for an IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "PrivateEndpointConnection": { + "description": "The private endpoint connection of an IotHub", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + }, + "required": [ + "properties" + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "type": "object", + "properties": { + "status": { + "description": "The status of a private endpoint connection", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + } + }, + "required": [ + "status", + "description" + ] + }, + "FeedbackProperties": { + "description": "The properties of the feedback queue for cloud-to-device messages.", + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "ttlAsIso8601": { + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "maxDeliveryCount": { + "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + } + }, + "RoutingProperties": { + "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging", + "type": "object", + "properties": { + "endpoints": { + "$ref": "#/definitions/RoutingEndpoints" + }, + "routes": { + "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.", + "type": "array", + "items": { + "$ref": "#/definitions/RouteProperties" + } + }, + "fallbackRoute": { + "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.", + "$ref": "#/definitions/FallbackRouteProperties" + }, + "enrichments": { + "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid", + "type": "array", + "items": { + "$ref": "#/definitions/EnrichmentProperties" + } + } + } + }, + "RoutingEndpoints": { + "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.", + "type": "object", + "properties": { + "serviceBusQueues": { + "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties" + } + }, + "serviceBusTopics": { + "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties" + } + }, + "eventHubs": { + "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingEventHubProperties" + } + }, + "storageContainers": { + "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingStorageContainerProperties" + } + } + } + }, + "RoutingServiceBusQueueEndpointProperties": { + "description": "The properties related to service bus queue endpoint types.", + "type": "object", + "properties": { + "id": { + "description": "Id of the service bus queue endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the service bus queue endpoint.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the service bus queue endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Queue name on the service bus namespace", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the service bus queue endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the service bus queue endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the service bus queue endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingServiceBusTopicEndpointProperties": { + "description": "The properties related to service bus topic endpoint types.", + "type": "object", + "properties": { + "id": { + "description": "Id of the service bus topic endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the service bus topic endpoint.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the service bus topic endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Queue name on the service bus topic", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the service bus topic endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the service bus topic endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the service bus topic endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingEventHubProperties": { + "description": "The properties related to an event hub endpoint.", + "type": "object", + "properties": { + "id": { + "description": "Id of the event hub endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the event hub endpoint. ", + "type": "string" + }, + "endpointUri": { + "description": "The url of the event hub endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Event hub name on the event hub namespace", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the event hub endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the event hub endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the event hub endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingStorageContainerProperties": { + "description": "The properties related to a storage container endpoint.", + "type": "object", + "properties": { + "id": { + "description": "Id of the storage container endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the storage account.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the storage endpoint. It must include the protocol https://", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the storage endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the storage account.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the storage account.", + "type": "string" + }, + "containerName": { + "description": "The name of storage container in the storage account.", + "type": "string" + }, + "fileNameFormat": { + "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.", + "type": "string" + }, + "batchFrequencyInSeconds": { + "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.", + "format": "int32", + "type": "integer", + "maximum": 720, + "minimum": 60 + }, + "maxChunkSizeInBytes": { + "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).", + "format": "int32", + "type": "integer", + "maximum": 524288000, + "minimum": 10485760 + }, + "encoding": { + "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.", + "type": "string", + "enum": [ + "Avro", + "AvroDeflate", + "JSON" + ] + } + }, + "required": [ + "name", + "containerName" + ] + }, + "RouteProperties": { + "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.", + "type": "object", + "properties": { + "name": { + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "source": { + "description": "The source that the routing rule is to be applied to, such as DeviceMessages.", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "condition": { + "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.", + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "isEnabled": { + "description": "Used to specify whether a route is enabled.", + "type": "boolean" + } + }, + "required": [ + "name", + "endpointNames", + "source", + "isEnabled" + ] + }, + "FallbackRouteProperties": { + "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.", + "type": "object", + "properties": { + "name": { + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", + "type": "string" + }, + "source": { + "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages", + "enum": [ + "DeviceMessages" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "condition": { + "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.", + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "isEnabled": { + "description": "Used to specify whether the fallback route is enabled.", + "type": "boolean" + } + }, + "required": [ + "endpointNames", + "source", + "isEnabled" + ] + }, + "EnrichmentProperties": { + "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.", + "type": "object", + "properties": { + "key": { + "description": "The key or name for the enrichment property.", + "type": "string" + }, + "value": { + "description": "The value for the enrichment property.", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints for which the enrichment is applied to the message.", + "minItems": 1, + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "key", + "value", + "endpointNames" + ] + }, + "IotHubDescription": { + "description": "The description of the IoT hub.", + "type": "object", + "properties": { + "etag": { + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.", + "type": "string" + }, + "properties": { + "description": "IotHub properties", + "$ref": "#/definitions/IotHubProperties" + }, + "sku": { + "description": "IotHub SKU info", + "$ref": "#/definitions/IotHubSkuInfo" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku" + ] + }, + "Resource": { + "description": "The common properties of an Azure resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + }, + "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." + } + }, + "x-ms-azure-resource": true, + "required": [ + "location" + ] + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "description": "The list of shared access policies with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "IoT Hub REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft Devices" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: IotHubs" + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the operation" + } + } + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfoListResult": { + "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of quota metrics objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubQuotaMetricInfo" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthDataListResult": { + "description": "The JSON-serialized array of EndpointHealthData objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "JSON-serialized array of Endpoint health data", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointHealthData" + } + }, + "nextLink": { + "description": "Link to more results", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthData": { + "description": "The health data for an endpoint", + "type": "object", + "properties": { + "endpointId": { + "description": "Id of the endpoint", + "type": "string" + }, + "healthStatus": { + "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint", + "enum": [ + "unknown", + "healthy", + "degraded", + "unhealthy", + "dead" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointHealthStatus", + "modelAsString": true + } + }, + "lastKnownError": { + "description": "Last error obtained when a message failed to be delivered to iot hub", + "type": "string" + }, + "lastKnownErrorTime": { + "description": "Time at which the last known error occurred", + "type": "string", + "format": "date-time-rfc1123" + }, + "lastSuccessfulSendAttemptTime": { + "description": "Last time iot hub successfully sent a message to the endpoint", + "type": "string", + "format": "date-time-rfc1123" + }, + "lastSendAttemptTime": { + "description": "Last time iot hub tried to send a message to the endpoint", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "RegistryStatistics": { + "description": "Identity registry statistics.", + "type": "object", + "properties": { + "totalDeviceCount": { + "format": "int64", + "description": "The total count of devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "enabledDeviceCount": { + "format": "int64", + "description": "The count of enabled devices in the identity registry.", + "type": "integer", + "readOnly": true + }, + "disabledDeviceCount": { + "format": "int64", + "description": "The count of disabled devices in the identity registry.", + "type": "integer", + "readOnly": true + } + } + }, + "JobResponseListResult": { + "description": "The JSON-serialized array of JobResponse objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of JobResponse objects.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResponse" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescription": { + "description": "SKU properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The type of the resource.", + "$ref": "#/definitions/IotHubSkuInfo" + }, + "capacity": { + "description": "IotHub capacity", + "$ref": "#/definitions/IotHubCapacity" + } + }, + "required": [ + "sku", + "capacity" + ] + }, + "TagsResource": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance." + }, + "IotHubCapacity": { + "description": "IoT Hub capacity information.", + "type": "object", + "properties": { + "minimum": { + "format": "int64", + "description": "The minimum number of units.", + "type": "integer", + "minimum": 1, + "maximum": 1, + "readOnly": true + }, + "maximum": { + "format": "int64", + "description": "The maximum number of units.", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int64", + "description": "The default number of units.", + "type": "integer", + "readOnly": true + }, + "scaleType": { + "description": "The type of the scaling enabled.", + "enum": [ + "Automatic", + "Manual", + "None" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "IotHubScaleType", + "modelAsString": false + } + } + } + }, + "EventHubConsumerGroupsListResult": { + "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.", + "type": "object", + "properties": { + "value": { + "description": "List of consumer groups objects", + "type": "array", + "items": { + "$ref": "#/definitions/EventHubConsumerGroupInfo" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EventHubConsumerGroupBodyDescription": { + "description": "The EventHub consumer group.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EventHubConsumerGroupName" + } + } + }, + "EventHubConsumerGroupName": { + "description": "The EventHub consumer group name.", + "type": "object", + "properties": { + "name": { + "description": "EventHub consumer group name", + "type": "string" + } + } + }, + "EventHubConsumerGroupInfo": { + "description": "The properties of the EventHubConsumerGroupInfo object.", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "properties": { + "description": "The tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "id": { + "description": "The Event Hub-compatible consumer group identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Event Hub-compatible consumer group name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "the resource type.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The etag.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubSkuDescriptionListResult": { + "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubSkuDescription.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubSkuDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "JobResponse": { + "description": "The properties of the Job Response object.", + "type": "object", + "properties": { + "jobId": { + "description": "The job identifier.", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "format": "date-time-rfc1123", + "description": "The start time of the job.", + "type": "string", + "readOnly": true + }, + "endTimeUtc": { + "format": "date-time-rfc1123", + "description": "The time the job stopped processing.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the job.", + "enum": [ + "unknown", + "export", + "import", + "backup", + "readDeviceProperties", + "writeDeviceProperties", + "updateDeviceConfiguration", + "rebootDevice", + "factoryResetDevice", + "firmwareUpdate" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "status": { + "description": "The status of the job.", + "enum": [ + "unknown", + "enqueued", + "running", + "completed", + "failed", + "cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": false + } + }, + "failureReason": { + "description": "If status == failed, this string containing the reason for the failure.", + "type": "string", + "readOnly": true + }, + "statusMessage": { + "description": "The status message for the job.", + "type": "string", + "readOnly": true + }, + "parentJobId": { + "description": "The job identifier of the parent job, if any.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubDescriptionListResult": { + "description": "The JSON-serialized array of IotHubDescription objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "The array of IotHubDescription objects.", + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDescription" + } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "IotHubQuotaMetricInfo": { + "description": "Quota metrics properties.", + "type": "object", + "properties": { + "name": { + "description": "The name of the quota metric.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "int64", + "description": "The current value for the quota metric.", + "type": "integer", + "readOnly": true + }, + "maxValue": { + "format": "int64", + "description": "The maximum value of the quota metric.", + "type": "integer", + "readOnly": true + } + } + }, + "OperationInputs": { + "description": "Input values.", + "type": "object", + "properties": { + "name": { + "description": "The name of the IoT hub to check.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "IotHubNameAvailabilityInfo": { + "description": "The properties indicating whether a given IoT hub name is available.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value which indicates whether the provided name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason for unavailability.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubNameUnavailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "The detailed reason message.", + "type": "string" + } + } + }, + "UserSubscriptionQuotaListResult": { + "type": "object", + "description": "Json-serialized array of User subscription quota response", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UserSubscriptionQuota" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "UserSubscriptionQuota": { + "description": "User subscription quota response", + "type": "object", + "properties": { + "id": { + "description": "IotHub type id", + "type": "string" + }, + "type": { + "description": "Response type", + "type": "string" + }, + "unit": { + "description": "Unit of IotHub type", + "type": "string" + }, + "currentValue": { + "description": "Current number of IotHub type", + "format": "int32", + "type": "integer" + }, + "limit": { + "description": "Numerical limit on IotHub type", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "IotHub type", + "$ref": "#/definitions/Name" + } + } + }, + "Name": { + "description": "Name of Iot Hub type", + "type": "object", + "properties": { + "value": { + "description": "IotHub type", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of name", + "type": "string" + } + } + }, + "TestAllRoutesInput": { + "description": "Input for testing all routes", + "type": "object", + "properties": { + "routingSource": { + "description": "Routing source", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents" + ], + "type": "string", + "x-ms-enum": { + "name": "RoutingSource", + "modelAsString": true + } + }, + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "RoutingTwin": { + "description": "Twin reference input parameter. This is an optional parameter", + "type": "object", + "properties": { + "tags": { + "description": "Twin Tags", + "type": "object" + }, + "properties": { + "properties": { + "desired": { + "description": "Twin desired properties", + "type": "object" + }, + "reported": { + "description": "Twin desired properties", + "type": "object" + } + } + } + } + }, + "RoutingMessage": { + "description": "Routing message", + "type": "object", + "properties": { + "body": { + "description": "Body of routing message", + "type": "string" + }, + "appProperties": { + "description": "App properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemProperties": { + "description": "System properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "TestAllRoutesResult": { + "description": "Result of testing all routes", + "type": "object", + "properties": { + "routes": { + "description": "JSON-serialized array of matched routes", + "type": "array", + "items": { + "$ref": "#/definitions/MatchedRoute" + } + } + } + }, + "MatchedRoute": { + "description": "Routes that matched", + "type": "object", + "properties": { + "properties": { + "description": "Properties of routes that matched", + "$ref": "#/definitions/RouteProperties" + } + } + }, + "TestRouteInput": { + "required": [ + "route" + ], + "description": "Input for testing route", + "type": "object", + "properties": { + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "route": { + "description": "Route properties", + "$ref": "#/definitions/RouteProperties" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "TestRouteResult": { + "description": "Result of testing one route", + "type": "object", + "properties": { + "result": { + "description": "Result of testing route", + "enum": [ + "undefined", + "false", + "true" + ], + "type": "string", + "x-ms-enum": { + "name": "TestResultStatus", + "modelAsString": true + } + }, + "details": { + "description": "Detailed result of testing route", + "$ref": "#/definitions/TestRouteResultDetails" + } + } + }, + "TestRouteResultDetails": { + "description": "Detailed result of testing a route", + "type": "object", + "properties": { + "compilationErrors": { + "description": "JSON-serialized list of route compilation errors", + "type": "array", + "items": { + "$ref": "#/definitions/RouteCompilationError" + } + } + } + }, + "RouteCompilationError": { + "description": "Compilation error when evaluating route", + "type": "object", + "properties": { + "message": { + "description": "Route error message", + "type": "string" + }, + "severity": { + "description": "Severity of the route error", + "enum": [ + "error", + "warning" + ], + "type": "string", + "x-ms-enum": { + "name": "RouteErrorSeverity", + "modelAsString": true + } + }, + "location": { + "description": "Location where the route error happened", + "$ref": "#/definitions/RouteErrorRange" + } + } + }, + "RouteErrorRange": { + "description": "Range of route errors", + "type": "object", + "properties": { + "start": { + "description": "Start where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + }, + "end": { + "description": "End where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + } + } + }, + "RouteErrorPosition": { + "description": "Position where the route error happened", + "type": "object", + "properties": { + "line": { + "description": "Line where the route error happened", + "format": "int32", + "type": "integer" + }, + "column": { + "description": "Column where the route error happened", + "format": "int32", + "type": "integer" + } + } + }, + "ExportDevicesRequest": { + "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.", + "type": "object", + "properties": { + "exportBlobContainerUri": { + "description": "The export blob container URI.", + "type": "string" + }, + "excludeKeys": { + "description": "The value indicating whether keys should be excluded during export.", + "type": "boolean" + }, + "exportBlobName": { + "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported device registry information for the IoT Hub.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "includeConfigurations": { + "description": "The value indicating whether configurations should be exported.", + "type": "boolean" + }, + "configurationsBlobName": { + "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported configurations for the Iot Hub.", + "type": "string" + } + }, + "required": [ + "exportBlobContainerUri", + "excludeKeys" + ] + }, + "ImportDevicesRequest": { + "description": "Use to provide parameters when requesting an import of all devices in the hub.", + "type": "object", + "properties": { + "inputBlobContainerUri": { + "description": "The input blob container URI.", + "type": "string" + }, + "outputBlobContainerUri": { + "description": "The output blob container URI.", + "type": "string" + }, + "inputBlobName": { + "description": "The blob name to be used when importing from the provided input blob container.", + "type": "string" + }, + "outputBlobName": { + "description": "The blob name to use for storing the status of the import job.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "includeConfigurations": { + "description": "The value indicating whether configurations should be imported.", + "type": "boolean" + }, + "configurationsBlobName": { + "description": "The blob name to be used when importing configurations from the provided input blob container.", + "type": "string" + } + }, + "required": [ + "inputBlobContainerUri", + "outputBlobContainerUri" + ] + }, + "FailoverInput": { + "description": "Use to provide failover region when requesting manual Failover for a hub.", + "type": "object", + "properties": { + "failoverRegion": { + "description": "Region the hub will be failed over to", + "type": "string" + } + }, + "required": [ + "failoverRegion" + ] + }, + "IotHubLocationDescription": { + "description": "Public representation of one of the locations where a resource is provisioned.", + "type": "object", + "properties": { + "location": { + "description": "The name of the Azure region", + "type": "string" + }, + "role": { + "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.", + "enum": [ + "primary", + "secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubReplicaRoleType", + "modelAsString": true + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the API.", + "required": true, + "type": "string" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the IoT hub.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the IoT hub.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "certificateName": { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$", + "x-ms-parameter-location": "method" + }, + "groupId": { + "name": "groupId", + "in": "path", + "description": "The name of the private link resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/iothub/resource-manager/readme.azureresourceschema.md b/specification/iothub/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..53f6e9287e78 --- /dev/null +++ b/specification/iothub/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,180 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-devices-2020-07-10-preview + - tag: schema-devices-2020-06-15 + - tag: schema-devices-2020-04-01 + - tag: schema-devices-2020-03-01 + - tag: schema-devices-2019-11-04 + - tag: schema-devices-2019-07-01-preview + - tag: schema-devices-2019-03-22-preview + - tag: schema-devices-2019-03-22 + - tag: schema-devices-2018-12-01-preview + - tag: schema-devices-2018-04-01 + - tag: schema-devices-2018-01-22 + - tag: schema-devices-2017-07-01 + - tag: schema-devices-2017-01-19 + - tag: schema-devices-2016-02-03 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-devices-2020-07-10-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-07-10-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2020-07-10-preview/iothub.json + +``` + +### Tag: schema-devices-2020-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-06-15/iothub.json + +``` + +### Tag: schema-devices-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-04-01/iothub.json + +``` + +### Tag: schema-devices-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2020-03-01/iothub.json + +``` + +### Tag: schema-devices-2019-11-04 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2019-11-04' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2019-11-04/iothub.json + +``` + +### Tag: schema-devices-2019-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2019-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2019-07-01-preview/iothub.json + +``` + +### Tag: schema-devices-2019-03-22-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2019-03-22-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2019-03-22-preview/iothub.json + +``` + +### Tag: schema-devices-2019-03-22 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2019-03-22' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2019-03-22/iothub.json + +``` + +### Tag: schema-devices-2018-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2018-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/preview/2018-12-01-preview/iothub.json + +``` + +### Tag: schema-devices-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2018-04-01/iothub.json + +``` + +### Tag: schema-devices-2018-01-22 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2018-01-22' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2018-01-22/iothub.json + +``` + +### Tag: schema-devices-2017-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2017-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2017-07-01/iothub.json + +``` + +### Tag: schema-devices-2017-01-19 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2017-01-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2017-01-19/iothub.json + +``` + +### Tag: schema-devices-2016-02-03 and azureresourceschema + +``` yaml $(tag) == 'schema-devices-2016-02-03' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Devices/stable/2016-02-03/iothub.json + +``` diff --git a/specification/iothub/resource-manager/readme.md b/specification/iothub/resource-manager/readme.md index cc0782d00196..8f6dcc1feef9 100644 --- a/specification/iothub/resource-manager/readme.md +++ b/specification/iothub/resource-manager/readme.md @@ -26,18 +26,45 @@ These are the global settings for the IotHub API. ``` yaml openapi-type: arm -tag: package-2020-04 +tag: package-2020-08 ``` +### Tag: package-2020-08 + +These settings apply only when `--tag=package-2020-08` is specified on the command line. + +```yaml $(tag) == 'package-2020-08' +input-file: + - Microsoft.Devices/stable/2020-08-01/iothub.json +``` +### Tag: package-preview-2020-07 + +These settings apply only when `--tag=package-preview-2020-07` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2020-07' +input-file: + - Microsoft.Devices/preview/2020-07-10-preview/iothub.json +``` + +### Tag: package-2020-06 + +These settings apply only when `--tag=package-2020-06` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06' +input-file: + - Microsoft.Devices/stable/2020-06-15/iothub.json +``` + ### Tag: package-2020-04 These settings apply only when `--tag=package-2020-04` is specified on the command line. -```yaml $(tag) == 'package-2020-04' +``` yaml $(tag) == 'package-2020-04' input-file: - Microsoft.Devices/stable/2020-04-01/iothub.json ``` + ### Tag: package-2020-03 These settings apply only when `--tag=package-2020-03` is specified on the command line. @@ -159,6 +186,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_iot_hub'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js iothub/resource-manager ``` ## C# @@ -183,6 +213,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.go.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -195,6 +229,9 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Devices/preview/2020-07-10-preview/iothub.json + - $(this-folder)/Microsoft.Devices/stable/2020-06-15/iothub.json + - $(this-folder)/Microsoft.Devices/stable/2020-04-01/iothub.json - $(this-folder)/Microsoft.Devices/stable/2020-03-01/iothub.json - $(this-folder)/Microsoft.Devices/stable/2019-11-04/iothub.json - $(this-folder)/Microsoft.Devices/preview/2019-07-01-preview/iothub.json diff --git a/specification/iotspaces/resource-manager/readme.azureresourceschema.md b/specification/iotspaces/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..280d1ea3abba --- /dev/null +++ b/specification/iotspaces/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-iotspaces-2017-10-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-iotspaces-2017-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-iotspaces-2017-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.IoTSpaces/preview/2017-10-01-preview/iotspaces.json + +``` diff --git a/specification/iotspaces/resource-manager/readme.md b/specification/iotspaces/resource-manager/readme.md index ffd5f3dc4dfe..11823aea46d4 100644 --- a/specification/iotspaces/resource-manager/readme.md +++ b/specification/iotspaces/resource-manager/readme.md @@ -73,6 +73,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js iotspaces/resource-manager ``` ## CSharp Settings @@ -94,6 +97,10 @@ csharp: See configuration in [readme.go.md](./readme.go.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/certificates.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/certificates.json index 072cfce9477d..a49f3e8f0b40 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/certificates.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/certificates.json @@ -778,7 +778,7 @@ "in": "path", "required": true, "type": "string", - "description": "The version of the certificate." + "description": "The version of the certificate. This URI fragment is optional. If not specified, the latest version of the certificate is returned." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1271,7 +1271,37 @@ ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/keys.json index f1177248f673..c17fb4bfb725 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/keys.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/keys.json @@ -247,7 +247,7 @@ "in": "path", "required": true, "type": "string", - "description": "Adding the version parameter retrieves a specific version of a key." + "description": "Adding the version parameter retrieves a specific version of a key. This URI fragment is optional. If not specified, the latest version of the key is returned." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1151,7 +1151,37 @@ ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/secrets.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/secrets.json index b0c5f3b3542e..6ab02295424c 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/secrets.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/secrets.json @@ -195,7 +195,7 @@ "in": "path", "required": true, "type": "string", - "description": "The version of the secret." + "description": "The version of the secret. This URI fragment is optional. If not specified, the latest version of the secret is returned." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -721,7 +721,37 @@ ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/storage.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/storage.json index 161b39a01a37..c112fb24af56 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/storage.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/storage.json @@ -1028,7 +1028,37 @@ ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/backuprestore.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json similarity index 92% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/backuprestore.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json index 9a6587443dd8..b7b9e122df92 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/backuprestore.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json @@ -33,6 +33,10 @@ "FullBackup" ], "operationId": "FullBackup", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container.", "parameters": [ { @@ -124,6 +128,10 @@ "FullRestore" ], "operationId": "FullRestoreOperation", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, "description": "Restores all key materials using the SAS token pointing to a previously stored Azure Blob storage backup folder", "parameters": [ { @@ -152,7 +160,7 @@ } }, "schema": { - "$ref": "#/definitions/FullRestoreOperation" + "$ref": "#/definitions/RestoreOperation" } }, "default": { @@ -174,15 +182,15 @@ "tags": [ "FullRestore" ], - "operationId": "FullRestoreStatus", - "description": "Returns the status of full restore operation", + "operationId": "RestoreStatus", + "description": "Returns the status of restore operation", "parameters": [ { "name": "jobId", "in": "path", "required": true, "type": "string", - "description": "The Job Id returned part of the full restore operation" + "description": "The Job Id returned part of the restore operation" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -192,7 +200,7 @@ "200": { "description": "OK - Returns the full restore status", "schema": { - "$ref": "#/definitions/FullRestoreOperation" + "$ref": "#/definitions/RestoreOperation" } }, "default": { @@ -203,8 +211,8 @@ } }, "x-ms-examples": { - "Full restore status": { - "$ref": "./examples/FullRestore-pending-example.json" + "Restore status": { + "$ref": "./examples/Restore-pending-example.json" } } } @@ -215,6 +223,10 @@ "Keys" ], "operationId": "SelectiveKeyRestoreOperation", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, "description": "Restores all key versions of a given key using user supplied SAS token pointing to a previously stored Azure Blob storage backup folder", "parameters": [ { @@ -325,7 +337,8 @@ "endTime": { "type": "integer", "format": "unixtime", - "description": "The end time of the restore operation" + "description": "The end time of the restore operation", + "x-nullable": true } }, "description": "Selective Key Restore operation" @@ -368,7 +381,8 @@ "endTime": { "type": "integer", "format": "unixtime", - "description": "The end time of the backup operation in UTC" + "description": "The end time of the backup operation in UTC", + "x-nullable": true }, "jobId": { "type": "string", @@ -381,7 +395,7 @@ }, "description": "Full backup operation" }, - "FullRestoreOperation": { + "RestoreOperation": { "properties": { "status": { "type": "string", @@ -393,11 +407,11 @@ }, "error": { "$ref": "common.json#/definitions/Error", - "description": "Error encountered, if any, during the full restore operation." + "description": "Error encountered, if any, during the restore operation." }, "jobId": { "type": "string", - "description": "Identifier for the full restore operation." + "description": "Identifier for the restore operation." }, "startTime": { "type": "integer", @@ -407,10 +421,11 @@ "endTime": { "type": "integer", "format": "unixtime", - "description": "The end time of the restore operation" + "description": "The end time of the restore operation", + "x-nullable": true } }, - "description": "Full restore operation" + "description": "Restore operation" } }, "parameters": { diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/certificates.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/certificates.json new file mode 100644 index 000000000000..8b4fcb949d3d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/certificates.json @@ -0,0 +1,2084 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.2-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificates", + "summary": "List certificates in a specified key vault", + "description": "The GetCertificates operation returns the set of certificates resources in the specified key vault. This operation requires the certificates/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "name": "includePending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Specifies whether to include certificates which are not completely provisioned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificates along with a link to the next page of certificates.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificates": { + "$ref": "./examples/GetCertificates-example.json" + } + } + } + }, + "/certificates/{certificate-name}": { + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificate", + "summary": "Deletes a certificate from a specified key vault.", + "description": "Deletes all versions of a certificate object along with its associated policy. Delete certificate cannot be used to remove individual versions of a certificate object. This operation requires the certificates/delete permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted certificate.", + "schema": { + "$ref": "#/definitions/DeletedCertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificate": { + "$ref": "./examples/DeleteCertificate-example.json" + } + } + } + }, + "/certificates/contacts": { + "put": { + "tags": [ + "Certificates" + ], + "operationId": "SetCertificateContacts", + "description": "Sets the certificate contacts for the specified key vault. This operation requires the certificates/managecontacts permission.", + "summary": "Sets the certificate contacts for the specified key vault.", + "parameters": [ + { + "name": "contacts", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Contacts" + }, + "description": "The contacts for the key vault certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetCertificateContacts": { + "$ref": "./examples/SetCertificateContacts-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateContacts", + "summary": "Lists the certificate contacts for a specified key vault.", + "description": "The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateContacts": { + "$ref": "./examples/GetCertificateContacts-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateContacts", + "description": "Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission.", + "summary": "Deletes the certificate contacts for a specified key vault.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateContacts": { + "$ref": "./examples/DeleteCertificateContacts-example.json" + } + } + } + }, + "/certificates/issuers": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateIssuers", + "summary": "List certificate issuers for a specified key vault.", + "description": "The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificate issuers in a key vault along with a link to the next page of certificate issuers.", + "schema": { + "$ref": "#/definitions/CertificateIssuerListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificateIssuers": { + "$ref": "./examples/GetCertificateIssuers-example.json" + } + } + } + }, + "/certificates/issuers/{issuer-name}": { + "put": { + "tags": [ + "Certificates" + ], + "operationId": "SetCertificateIssuer", + "summary": "Sets the specified certificate issuer.", + "description": "The SetCertificateIssuer operation adds or updates the specified certificate issuer. This operation requires the certificates/setissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "name": "parameter", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateIssuerSetParameters" + }, + "description": "Certificate issuer set parameter." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetCertificateIssuer": { + "$ref": "./examples/SetCertificateIssuer-example.json" + } + } + }, + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificateIssuer", + "summary": "Updates the specified certificate issuer.", + "description": "The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity. This operation requires the certificates/setissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "name": "parameter", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateIssuerUpdateParameters" + }, + "description": "Certificate issuer update parameter." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificateIssuer": { + "$ref": "./examples/UpdateCertificateIssuer-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateIssuer", + "summary": "Lists the specified certificate issuer.", + "description": "The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateIssuer": { + "$ref": "./examples/GetCertificateIssuer-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateIssuer", + "summary": "Deletes the specified certificate issuer.", + "description": "The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault. This operation requires the certificates/manageissuers/deleteissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateIssuer": { + "$ref": "./examples/DeleteCertificateIssuer-example.json" + } + } + } + }, + "/certificates/{certificate-name}/create": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "CreateCertificate", + "summary": "Creates a new certificate.", + "description": "If this is the first version, the certificate resource is created. This operation requires the certificates/create permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateCreateParameters" + }, + "description": "The parameters to create a certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Created certificate bundle.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "CreateCertificate": { + "$ref": "./examples/CreateCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/import": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "ImportCertificate", + "summary": "Imports a certificate into a specified key vault.", + "description": "Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. This operation requires the certificates/import permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateImportParameters" + }, + "description": "The parameters to import the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Imported certificate bundle to the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "ImportCertificate": { + "$ref": "./examples/ImportCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/versions": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateVersions", + "summary": "List the versions of a certificate.", + "description": "The GetCertificateVersions operation returns the versions of a certificate in the specified key vault. This operation requires the certificates/list permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificates in the key vault along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificateVersions": { + "$ref": "./examples/GetCertificateVersions-example.json" + } + } + } + }, + "/certificates/{certificate-name}/policy": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificatePolicy", + "summary": "Lists the policy for a certificate.", + "description": "The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in a given key vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate policy.", + "schema": { + "$ref": "#/definitions/CertificatePolicy" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificatePolicy": { + "$ref": "./examples/GetCertificatePolicy-example.json" + } + } + }, + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificatePolicy", + "summary": "Updates the policy for a certificate.", + "description": "Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given vault." + }, + { + "name": "certificatePolicy", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificatePolicy" + }, + "description": "The policy for the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate policy", + "schema": { + "$ref": "#/definitions/CertificatePolicy" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificatePolicy": { + "$ref": "./examples/UpdateCertificatePolicy-example.json" + } + } + } + }, + "/certificates/{certificate-name}/{certificate-version}": { + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificate", + "summary": "Updates the specified attributes associated with the given certificate.", + "description": "The UpdateCertificate operation applies the specified update on the given certificate; the only elements updated are the certificate's attributes. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given key vault." + }, + { + "name": "certificate-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateUpdateParameters" + }, + "description": "The parameters for certificate update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated certificate.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificate": { + "$ref": "./examples/UpdateCertificate-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificate", + "summary": "Gets information about a certificate.", + "description": "Gets information about a specific certificate. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given vault." + }, + { + "name": "certificate-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the certificate. This URI fragment is optional. If not specified, the latest version of the certificate is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved certificate.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificate": { + "$ref": "./examples/GetCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/pending": { + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificateOperation", + "summary": "Updates a certificate operation.", + "description": "Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "certificateOperation", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateOperationUpdateParameter" + }, + "description": "The certificate operation response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A message containing the certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificateOperation": { + "$ref": "./examples/UpdateCertificateOperation-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateOperation", + "summary": "Gets the creation operation of a certificate.", + "description": "Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateOperation": { + "$ref": "./examples/GetCertificateOperation-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateOperation", + "summary": "Deletes the creation operation for a specific certificate.", + "description": "Deletes the creation operation for a specified certificate that is in the process of being created. The certificate is no longer created. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A message containing the certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateOperation": { + "$ref": "./examples/DeleteCertificateOperation-example.json" + } + } + } + }, + "/certificates/{certificate-name}/pending/merge": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "MergeCertificate", + "summary": "Merges a certificate or a certificate chain with a key pair existing on the server.", + "description": "The MergeCertificate operation performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateMergeParameters" + }, + "description": "The parameters to merge certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Merged certificate bundle to the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "MergeCertificate": { + "$ref": "./examples/MergeCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/backup": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "BackupCertificate", + "summary": "Backs up the specified certificate.", + "description": "Requests that a backup of the specified certificate be downloaded to the client. All versions of the certificate will be downloaded. This operation requires the certificates/backup permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up certificate.", + "schema": { + "$ref": "#/definitions/BackupCertificateResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupCertificate": { + "$ref": "./examples/BackupCertificate-example.json" + } + } + } + }, + "/certificates/restore": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "RestoreCertificate", + "summary": "Restores a backed up certificate to a vault.", + "description": "Restores a backed up certificate, and all its versions, to a vault. This operation requires the certificates/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateRestoreParameters" + }, + "description": "The parameters to restore the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored certificate bundle in the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreCertificate": { + "$ref": "./examples/RestoreCertificate-example.json" + } + } + } + }, + "/deletedcertificates": { + "get": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "GetDeletedCertificates", + "summary": "Lists the deleted certificates in the specified vault currently available for recovery.", + "description": "The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "name": "includePending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Specifies whether to include certificates which are not completely provisioned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates", + "schema": { + "$ref": "#/definitions/DeletedCertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedCertificates": { + "$ref": "./examples/GetDeletedCertificates-example.json" + } + } + } + }, + "/deletedcertificates/{certificate-name}": { + "get": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "GetDeletedCertificate", + "summary": "Retrieves information about the specified deleted certificate.", + "description": "The GetDeletedCertificate operation retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Certificate bundle of the certificate and its attributes", + "schema": { + "$ref": "#/definitions/DeletedCertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedCertificate": { + "$ref": "./examples/GetDeletedCertificate-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "PurgeDeletedCertificate", + "summary": "Permanently deletes the specified deleted certificate.", + "description": "The PurgeDeletedCertificate operation performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the certificate was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedCertificate": { + "$ref": "./examples/PurgeDeletedCertificate-example.json" + } + } + } + }, + "/deletedcertificates/{certificate-name}/recover": { + "post": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "RecoverDeletedCertificate", + "summary": "Recovers the deleted certificate back to its current version under /certificates.", + "description": "The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval (available in the deleted certificate's attributes). This operation requires the certificates/recover permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Certificate bundle of the original certificate and its attributes", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedCertificate": { + "$ref": "./examples/RecoverDeletedCertificate-example.json" + } + } + } + } + }, + "definitions": { + "CertificateAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for certificates in the current vault. If it contains 'Purgeable', the certificate can be permanently deleted by a privileged user; otherwise, only the system can purge the certificate, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The certificate management attributes." + }, + "CertificateItem": { + "properties": { + "id": { + "type": "string", + "description": "Certificate identifier." + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "x5t": { + "x-ms-client-name": "X509Thumbprint", + "type": "string", + "format": "base64url", + "description": "Thumbprint of the certificate." + } + }, + "description": "The certificate item containing certificate metadata." + }, + "CertificateIssuerItem": { + "properties": { + "id": { + "type": "string", + "description": "Certificate Identifier." + }, + "provider": { + "type": "string", + "description": "The issuer provider." + } + }, + "description": "The certificate issuer item containing certificate issuer metadata." + }, + "CertificateBundle": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "kid": { + "type": "string", + "description": "The key id.", + "readOnly": true + }, + "sid": { + "type": "string", + "description": "The secret id.", + "readOnly": true + }, + "x5t": { + "x-ms-client-name": "X509Thumbprint", + "type": "string", + "format": "base64url", + "description": "Thumbprint of the certificate.", + "readOnly": true + }, + "policy": { + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy.", + "readOnly": true + }, + "cer": { + "type": "string", + "format": "byte", + "description": "CER contents of x509 certificate." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs" + } + }, + "description": "A certificate bundle consists of a certificate (X509) plus its attributes." + }, + "DeletedCertificateBundle": { + "allOf": [ + { + "$ref": "#/definitions/CertificateBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted certificate." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate was deleted, in UTC" + } + }, + "description": "A Deleted Certificate consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "DeletedCertificateItem": { + "allOf": [ + { + "$ref": "#/definitions/CertificateItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted certificate." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate was deleted, in UTC" + } + }, + "description": "The deleted certificate item containing metadata about the deleted certificate." + }, + "CertificateOperation": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "issuer": { + "x-ms-client-name": "IssuerParameters", + "$ref": "#/definitions/IssuerParameters", + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "csr": { + "type": "string", + "format": "byte", + "description": "The certificate signing request (CSR) that is being used in the certificate operation." + }, + "cancellation_requested": { + "type": "boolean", + "description": "Indicates if cancellation was requested on the certificate operation." + }, + "status": { + "type": "string", + "description": "Status of the certificate operation." + }, + "status_details": { + "type": "string", + "description": "The status details of the certificate operation." + }, + "error": { + "$ref": "common.json#/definitions/Error", + "description": "Error encountered, if any, during the certificate operation." + }, + "target": { + "type": "string", + "description": "Location which contains the result of the certificate operation." + }, + "request_id": { + "type": "string", + "description": "Identifier for the certificate operation." + } + }, + "description": "A certificate operation is returned in case of asynchronous requests." + }, + "CertificatePolicy": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "key_props": { + "x-ms-client-name": "KeyProperties", + "$ref": "keys.json#/definitions/KeyProperties", + "description": "Properties of the key backing a certificate." + }, + "secret_props": { + "x-ms-client-name": "SecretProperties", + "$ref": "secrets.json#/definitions/SecretProperties", + "description": "Properties of the secret backing a certificate." + }, + "x509_props": { + "x-ms-client-name": "X509CertificateProperties", + "$ref": "#/definitions/X509CertificateProperties", + "description": "Properties of the X509 component of a certificate." + }, + "lifetime_actions": { + "type": "array", + "items": { + "$ref": "#/definitions/LifetimeAction" + }, + "description": "Actions that will be performed by Key Vault over the lifetime of a certificate." + }, + "issuer": { + "x-ms-client-name": "IssuerParameters", + "$ref": "#/definitions/IssuerParameters", + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate attributes." + } + }, + "description": "Management policy for a certificate." + }, + "X509CertificateProperties": { + "properties": { + "subject": { + "type": "string", + "description": "The subject name. Should be a valid X509 distinguished Name." + }, + "ekus": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The enhanced key usage." + }, + "sans": { + "x-ms-client-name": "SubjectAlternativeNames", + "$ref": "#/definitions/SubjectAlternativeNames", + "description": "The subject alternative names." + }, + "key_usage": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "digitalSignature", + "nonRepudiation", + "keyEncipherment", + "dataEncipherment", + "keyAgreement", + "keyCertSign", + "cRLSign", + "encipherOnly", + "decipherOnly" + ], + "x-ms-enum": { + "name": "KeyUsageType", + "modelAsString": true + } + }, + "description": "List of key usages." + }, + "validity_months": { + "x-ms-client-name": "ValidityInMonths", + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The duration that the certificate is valid in months." + } + }, + "description": "Properties of the X509 component of a certificate." + }, + "IssuerParameters": { + "properties": { + "name": { + "type": "string", + "description": "Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'." + }, + "cty": { + "x-ms-client-name": "CertificateType", + "type": "string", + "description": "Certificate type as supported by the provider (optional); for example 'OV-SSL', 'EV-SSL'" + }, + "cert_transparency": { + "x-ms-client-name": "CertificateTransparency", + "type": "boolean", + "description": "Indicates if the certificates generated under this policy should be published to certificate transparency logs." + } + }, + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "LifetimeAction": { + "properties": { + "trigger": { + "$ref": "#/definitions/Trigger", + "description": "The condition that will execute the action." + }, + "action": { + "$ref": "#/definitions/Action", + "description": "The action that will be executed." + } + }, + "description": "Action and its trigger that will be performed by Key Vault over the lifetime of a certificate." + }, + "Action": { + "properties": { + "action_type": { + "type": "string", + "description": "The type of the action.", + "enum": [ + "EmailContacts", + "AutoRenew" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": false + } + } + }, + "description": "The action that will be executed." + }, + "Trigger": { + "properties": { + "lifetime_percentage": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 99, + "description": "Percentage of lifetime at which to trigger. Value should be between 1 and 99." + }, + "days_before_expiry": { + "type": "integer", + "format": "int32", + "description": "Days before expiry to attempt renewal. Value should be between 1 and validity_in_months multiplied by 27. If validity_in_months is 36, then value should be between 1 and 972 (36 * 27)." + } + }, + "description": "A condition to be satisfied for an action to be executed." + }, + "SubjectAlternativeNames": { + "properties": { + "emails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Email addresses." + }, + "dns_names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Domain names." + }, + "upns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "User principal names." + } + }, + "description": "The subject alternate names of a X509 object." + }, + "IssuerBundle": { + "properties": { + "id": { + "type": "string", + "description": "Identifier for the issuer object.", + "readOnly": true + }, + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The issuer for Key Vault certificate." + }, + "IssuerAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether the issuer is enabled." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + } + }, + "description": "The attributes of an issuer managed by the Key Vault service." + }, + "IssuerCredentials": { + "properties": { + "account_id": { + "type": "string", + "description": "The user name/account name/account id." + }, + "pwd": { + "x-ms-client-name": "Password", + "type": "string", + "description": "The password/secret/account key." + } + }, + "description": "The credentials to be used for the certificate issuer." + }, + "OrganizationDetails": { + "properties": { + "id": { + "type": "string", + "description": "Id of the organization." + }, + "admin_details": { + "type": "array", + "items": { + "$ref": "#/definitions/AdministratorDetails" + }, + "description": "Details of the organization administrator." + } + }, + "description": "Details of the organization of the certificate issuer." + }, + "AdministratorDetails": { + "properties": { + "first_name": { + "type": "string", + "description": "First name." + }, + "last_name": { + "type": "string", + "description": "Last name." + }, + "email": { + "x-ms-client-name": "EmailAddress", + "type": "string", + "description": "Email address." + }, + "phone": { + "type": "string", + "description": "Phone number." + } + }, + "description": "Details of the organization administrator of the certificate issuer." + }, + "Contacts": { + "properties": { + "id": { + "type": "string", + "description": "Identifier for the contacts collection.", + "readOnly": true + }, + "contacts": { + "x-ms-client-name": "ContactList", + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + }, + "description": "The contact list for the vault certificates." + } + }, + "description": "The contacts for the vault certificates." + }, + "Contact": { + "properties": { + "email": { + "x-ms-client-name": "EmailAddress", + "type": "string", + "description": "Email address." + }, + "name": { + "type": "string", + "description": "Name." + }, + "phone": { + "type": "string", + "description": "Phone number." + } + }, + "description": "The contact information for the vault certificates." + }, + "CertificateCreateParameters": { + "properties": { + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate create parameters." + }, + "CertificateImportParameters": { + "properties": { + "value": { + "x-ms-client-name": "base64EncodedCertificate", + "type": "string", + "description": "Base64 encoded representation of the certificate object to import. This certificate needs to contain the private key." + }, + "pwd": { + "x-ms-client-name": "password", + "type": "string", + "description": "If the private key in base64EncodedCertificate is encrypted, the password used for encryption." + }, + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate import parameters.", + "required": [ + "value" + ] + }, + "CertificateUpdateParameters": { + "properties": { + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate update parameters." + }, + "CertificateMergeParameters": { + "properties": { + "x5c": { + "x-ms-client-name": "x509Certificates", + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "The certificate or the certificate chain to merge." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate merge parameters", + "required": [ + "x5c" + ] + }, + "CertificateIssuerSetParameters": { + "properties": { + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The certificate issuer set parameters.", + "required": [ + "provider" + ] + }, + "CertificateIssuerUpdateParameters": { + "properties": { + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The certificate issuer update parameters." + }, + "CertificateOperationUpdateParameter": { + "properties": { + "cancellation_requested": { + "type": "boolean", + "description": "Indicates if cancellation was requested on the certificate operation." + } + }, + "description": "The certificate operation update parameters.", + "required": [ + "cancellation_requested" + ] + }, + "CertificateListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateItem" + }, + "readOnly": true, + "description": "A response message containing a list of certificates in the key vault along with a link to the next page of certificates." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of certificates." + } + }, + "description": "The certificate list result." + }, + "DeletedCertificateListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedCertificateItem" + }, + "readOnly": true, + "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted certificates." + } + }, + "description": "A list of certificates that have been deleted in this vault." + }, + "CertificateIssuerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateIssuerItem" + }, + "readOnly": true, + "description": "A response message containing a list of certificate issuers in the key vault along with a link to the next page of certificate issuers." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of certificate issuers." + } + }, + "description": "The certificate issuer list result." + }, + "PendingCertificateSigningRequestResult": { + "properties": { + "value": { + "type": "string", + "readOnly": true, + "description": "The pending certificate signing request as Base64 encoded string." + } + }, + "description": "The pending certificate signing request result." + }, + "CertificateRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "certificateBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a certificate bundle." + } + }, + "description": "The certificate restore parameters.", + "required": [ + "value" + ] + }, + "BackupCertificateResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up certificate." + } + }, + "description": "The backup certificate result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json new file mode 100644 index 000000000000..9e1f28b3430e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/common.json @@ -0,0 +1,74 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.2-preview" + }, + "paths": {}, + "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 UTC." + }, + "exp": { + "x-ms-client-name": "Expires", + "type": "integer", + "format": "unixtime", + "description": "Expiry date in UTC." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + } + }, + "description": "The object attributes managed by the KeyVault service." + }, + "KeyVaultError": { + "properties": { + "error": { + "readOnly": true, + "$ref": "#/definitions/Error" + } + }, + "description": "The key vault error exception." + }, + "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, + "$ref": "#/definitions/Error" + } + }, + "description": "The key vault server error.", + "x-nullable": true + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/BackupCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/BackupCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/BackupCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/BackupCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/BackupKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/BackupKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/BackupKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/BackupKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/BackupSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/BackupSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/BackupSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/BackupSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/CreateCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/CreateCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/CreateCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/CreateCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/CreateKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/CreateKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/CreateKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/CreateKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteCertificateContacts-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteCertificateContacts-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteCertificateContacts-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteCertificateIssuer-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteCertificateIssuer-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteCertificateIssuer-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteCertificateOperation-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteCertificateOperation-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteCertificateOperation-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteRoleAssignments-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteRoleAssignments-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteRoleAssignments-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteRoleAssignments-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/DeleteSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/DeleteSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ExportKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ExportKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ExportKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ExportKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/FullBackup-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/FullBackup-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/FullBackup-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/FullBackup-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/FullBackup-pending-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/FullBackup-pending-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/FullBackup-pending-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/FullBackup-pending-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/FullRestore-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/FullRestore-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/FullRestore-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/FullRestore-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateContacts-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateContacts-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateContacts-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateIssuer-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateIssuer-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateIssuer-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateIssuers-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateIssuers-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateIssuers-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateIssuers-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateOperation-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateOperation-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateOperation-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificatePolicy-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificatePolicy-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificatePolicy-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificatePolicy-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateVersions-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificateVersions-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificateVersions-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificates-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificates-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetCertificates-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetCertificates-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedCertificates-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedCertificates-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedCertificates-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedCertificates-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedKeys-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedKeys-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedKeys-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedKeys-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedSecrets-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedSecrets-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetDeletedSecrets-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetDeletedSecrets-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetKeyVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetKeyVersions-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetKeyVersions-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetKeyVersions-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetKeys-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetKeys-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetKeys-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetKeys-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetRoleAssignments-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetRoleAssignments-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetRoleAssignments-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetRoleAssignments-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetSecretVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetSecretVersions-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetSecretVersions-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetSecretVersions-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetSecrets-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetSecrets-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/GetSecrets-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/GetSecrets-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ImportCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ImportCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ImportCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ImportCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ImportKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ImportKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ImportKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ImportKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ListRoleAssignments-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ListRoleAssignments-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ListRoleAssignments-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ListRoleAssignments-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ListRoleDefinitions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ListRoleDefinitions-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/ListRoleDefinitions-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/ListRoleDefinitions-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/MergeCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/MergeCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/MergeCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/MergeCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/PurgeDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PurgeDeletedCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/PurgeDeletedCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PurgeDeletedCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/PurgeDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PurgeDeletedKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/PurgeDeletedKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PurgeDeletedKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/PurgeDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PurgeDeletedSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/PurgeDeletedSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PurgeDeletedSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/PutRoleAssignments-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PutRoleAssignments-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/PutRoleAssignments-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/PutRoleAssignments-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RecoverDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RecoverDeletedCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RecoverDeletedCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RecoverDeletedCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RecoverDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RecoverDeletedKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RecoverDeletedKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RecoverDeletedKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RecoverDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RecoverDeletedSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RecoverDeletedSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RecoverDeletedSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/FullRestore-pending-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/Restore-pending-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/FullRestore-pending-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/Restore-pending-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RestoreCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RestoreCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RestoreCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RestoreCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RestoreKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RestoreKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RestoreKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RestoreKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RestoreSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RestoreSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/RestoreSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/RestoreSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/SelectiveRestore-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SelectiveRestore-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/SelectiveRestore-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SelectiveRestore-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/SetCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SetCertificateContacts-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/SetCertificateContacts-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SetCertificateContacts-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/SetCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SetCertificateIssuer-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/SetCertificateIssuer-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SetCertificateIssuer-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/SetSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SetSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/SetSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/SetSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateCertificate-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateCertificate-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateCertificate-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateCertificateIssuer-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateCertificateIssuer-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateCertificateIssuer-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateCertificateOperation-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateCertificateOperation-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateCertificateOperation-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateCertificatePolicy-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateCertificatePolicy-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateCertificatePolicy-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateCertificatePolicy-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateSecret-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/UpdateSecret-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/UpdateSecret-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/backupStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/backupStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/backupStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/backupStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/decrypt-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/decrypt-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/decrypt-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/decrypt-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/deleteStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/deleteStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/deleteStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/deleteStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/deleteStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/deleteStorageSasDefinition.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/deleteStorageSasDefinition.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/deleteStorageSasDefinition.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/encrypt-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/encrypt-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/encrypt-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/encrypt-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/getDeletedStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/getDeletedStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/getDeletedStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/getDeletedStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/getDeletedStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/getDeletedStorageSasDefinition.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/getDeletedStorageSasDefinition.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/getDeletedStorageSasDefinition.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/getStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/getStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/getStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/getStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/getStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/getStorageSasDefinition.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/getStorageSasDefinition.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/getStorageSasDefinition.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/listDeletedStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/listDeletedStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/listDeletedStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/listDeletedStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/listDeletedStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/listDeletedStorageSasDefinition.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/listDeletedStorageSasDefinition.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/listDeletedStorageSasDefinition.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/listStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/listStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/listStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/listStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/listStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/listStorageSasDefinition.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/listStorageSasDefinition.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/listStorageSasDefinition.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/purgeStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/purgeStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/purgeStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/purgeStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/recoverStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/recoverStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/recoverStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/recoverStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/recoverStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/recoverStorageSasDefinition.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/recoverStorageSasDefinition.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/recoverStorageSasDefinition.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/regenerateStorageAccountKey.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/regenerateStorageAccountKey.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/regenerateStorageAccountKey.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/regenerateStorageAccountKey.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/restoreStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/restoreStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/restoreStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/restoreStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json new file mode 100644 index 000000000000..ddcabd6f7668 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaindownloadpost-example.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "CertificateInfoObject": { + "certificates": [ + { + "value": { + "kid": "id1", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" + } + }, + { + "value": { + "kid": "id2", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" + } + }, + { + "value": { + "kid": "id3", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" + } + } + ], + "required": 2 + }, + "api-version": "7.2-preview" + }, + "responses": { + "200": { + "body": { + "data": { + "EncData": { + "data": [ + { + "compact_jwe": "", + "tag": "hsm_backup" + }, + { + "compact_jwe": "", + "tag": "base_enclave_backup" + }, + { + "compact_jwe": "", + "tag": "partition_enclave_backup" + } + ], + "kdf": "sp108_kdf" + }, + "SharedKeys": { + "key_algorithm": "shamir_share", + "required": 2, + "enc_shares": [ + { + "enc_key": "compact JWE wrapped share1", + "x5t_256": "bWFuZ2VkaHNtDQo" + }, + { + "enc_key": "compact JWE wrapped share2", + "x5t_256": "bWFuZ2VkaHNta2V5dmF1bHQNCg" + } + ] + }, + "version": 2 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainoperationstatus-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainoperationstatus-example.json new file mode 100644 index 000000000000..36e66d0862b5 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainoperationstatus-example.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.2-preview" + }, + "responses": { + "200": { + "body": { + "status": "InProgress", + "status_details": "" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaintransferkey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaintransferkey-example.json new file mode 100644 index 000000000000..17ba565151ca --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomaintransferkey-example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.2-preview" + }, + "responses": { + "200": { + "body": { + "key_format": "jwk", + "transfer_key": { + "kid": "https://myvault.vault.azure.net/transfer_key", + "kty": "RSA", + "key_ops": [ + "encrypt" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB", + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwM/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "gIBQCTDDN" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainuploadoperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainuploadoperation-example.json new file mode 100644 index 000000000000..5e7318a81035 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/securitydomainuploadoperation-example.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "security_domain": { + "value": { + "EncData": { + "data": [ + { + "compact_jwe": "", + "tag": "hsm_backup" + }, + { + "compact_jwe": "", + "tag": "base_enclave_backup" + }, + { + "compact_jwe": "", + "tag": "partition_enclave_backup" + } + ], + "kdf": "sp108_kdf" + }, + "WrappedKey": { + "enc_key": "eyJhbGciOiJ", + "x5t_256": "h8ObF2NU85MhzEEE2JrSSGcF7aK2CiNrffef1r8mY" + } + } + }, + "api-version": "7.2-preview" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 5, + "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/upload/pending" + }, + "body": { + "status": "InProgress", + "status_details": "" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/setStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/setStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/setStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/setStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/setStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/setStorageSasDefinition.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/setStorageSasDefinition.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/setStorageSasDefinition.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/sign-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/sign-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/sign-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/sign-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/unwrapKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/unwrapKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/unwrapKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/unwrapKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/updateStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/updateStorageAccount.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/updateStorageAccount.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/updateStorageAccount.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/updateStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/updateStorageSasDefinition.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/updateStorageSasDefinition.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/updateStorageSasDefinition.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/verify-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/verify-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/verify-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/verify-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/wrapKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/wrapKey-example.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/wrapKey-example.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/examples/wrapKey-example.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/index.md b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/index.md similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/index.md rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/index.md diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json new file mode 100644 index 000000000000..ad468d0f250f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/keys.json @@ -0,0 +1,1944 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.2-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/keys/{key-name}/create": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "CreateKey", + "summary": "Creates a new key, stores it, then returns key parameters and attributes to the client.", + "description": "The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name for the new key. The system will generate the version name for the new key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyCreateParameters" + }, + "description": "The parameters to create a key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A key bundle containing the result of the create key request.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Create key": { + "$ref": "./examples/CreateKey-example.json" + } + } + } + }, + "/keys/{key-name}": { + "put": { + "tags": [ + "Keys" + ], + "operationId": "ImportKey", + "summary": "Imports an externally created key, stores it, and returns key parameters and attributes to the client.", + "description": "The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. This operation requires the keys/import permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "Name for the imported key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyImportParameters" + }, + "description": "The parameters to import a key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Imported key bundle to the vault.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Import key": { + "$ref": "./examples/ImportKey-example.json" + } + } + }, + "delete": { + "tags": [ + "Keys" + ], + "operationId": "DeleteKey", + "summary": "Deletes a key of any type from storage in Azure Key Vault.", + "description": "The delete key operation cannot be used to remove individual versions of a key. This operation removes the cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the keys/delete permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The public part of the deleted key and deletion information on when the key will be purged.", + "schema": { + "$ref": "#/definitions/DeletedKeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete key": { + "$ref": "./examples/DeleteKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}": { + "patch": { + "tags": [ + "Keys" + ], + "operationId": "UpdateKey", + "summary": "The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Azure Key Vault.", + "description": "In order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic material of a key itself cannot be changed. This operation requires the keys/update permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of key to update." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key to update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyUpdateParameters" + }, + "description": "The parameters of the key to update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated key.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update key": { + "$ref": "./examples/UpdateKey-example.json" + } + } + }, + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKey", + "summary": "Gets the public part of a stored key.", + "description": "The get key operation is applicable to all key types. If the requested key is symmetric, then no key material is released in the response. This operation requires the keys/get permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to get." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "Adding the version parameter retrieves a specific version of a key. This URI fragment is optional. If not specified, the latest version of the key is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A key bundle containing the key and its attributes.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get key": { + "$ref": "./examples/GetKey-example.json" + } + } + } + }, + "/keys/{key-name}/versions": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKeyVersions", + "summary": "Retrieves a list of individual key versions with the same key name.", + "description": "The full key identifier, attributes, and tags are provided in the response. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of keys along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetKeyVersions": { + "$ref": "./examples/GetKeyVersions-example.json" + } + } + } + }, + "/keys": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKeys", + "summary": "List keys in the specified vault.", + "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier, attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of keys in the vault along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetKeys": { + "$ref": "./examples/GetKeys-example.json" + } + } + } + }, + "/keys/{key-name}/backup": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "BackupKey", + "summary": "Requests that a backup of the specified key be downloaded to the client.", + "description": "The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This operation requires the key/backup permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up key.", + "schema": { + "$ref": "#/definitions/BackupKeyResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupKey": { + "$ref": "./examples/BackupKey-example.json" + } + } + } + }, + "/keys/restore": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "RestoreKey", + "summary": "Restores a backed up key to a vault.", + "description": "Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be rejected. While the key name is retained during restore, the final key identifier will change if the key is restored to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in the target Key Vault. This operation requires the keys/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyRestoreParameters" + }, + "description": "The parameters to restore the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored key bundle in the vault.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreKey": { + "$ref": "./examples/RestoreKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/encrypt": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "encrypt", + "summary": "Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.", + "description": "The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/encrypt permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the encryption operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The encryption result.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Encrypt example": { + "$ref": "./examples/encrypt-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/decrypt": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "decrypt", + "summary": "Decrypts a single block of encrypted data.", + "description": "The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/decrypt permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the decryption operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The decryption result.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Decrypt example": { + "$ref": "./examples/decrypt-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/sign": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "sign", + "summary": "Creates a signature from a digest using the specified key.", + "description": "The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this operation uses the private portion of the key. This operation requires the keys/sign permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeySignParameters" + }, + "description": "The parameters for the signing operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The signature value.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Sign": { + "$ref": "./examples/sign-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/verify": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "verify", + "summary": "Verifies a signature using a specified key.", + "description": "The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the public portion of the key but this operation is supported as a convenience for callers that only have a key-reference and not the public portion of the key. This operation requires the keys/verify permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyVerifyParameters" + }, + "description": "The parameters for verify operations." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The verification result.", + "schema": { + "$ref": "#/definitions/KeyVerifyResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Verify": { + "$ref": "./examples/verify-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/wrapkey": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "wrapKey", + "summary": "Wraps a symmetric key using a specified key.", + "description": "The WRAP operation supports encryption of a symmetric key using a key encryption key that has previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/wrapKey permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for wrap operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The wrapped symmetric key.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Wrapkey": { + "$ref": "./examples/wrapKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/unwrapkey": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "unwrapKey", + "summary": "Unwraps a symmetric key using the specified key that was initially used for wrapping that key.", + "description": "The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/unwrapKey permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the key operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The unwrapped symmetric key.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Unwrapkey": { + "$ref": "./examples/unwrapKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/export": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "exportKey", + "summary": "Exports a key.", + "description": "The export key operation is applicable to all key types. The target key must be marked exportable. This operation requires the keys/export permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to get." + }, + { + "name": "key-version", + "required": true, + "in": "path", + "type": "string", + "description": "Adding the version parameter retrieves a specific version of a key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyExportParameters" + }, + "description": "The parameters for the key export operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A key bundle containing the key and its attributes.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Export key": { + "$ref": "./examples/ExportKey-example.json" + } + } + } + }, + "/deletedkeys": { + "get": { + "tags": [ + "DeletedKeys" + ], + "operationId": "GetDeletedKeys", + "summary": "Lists the deleted keys in the specified vault.", + "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a deleted key. This operation includes deletion-specific information. The Get Deleted Keys operation is applicable for vaults enabled for soft-delete. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys.", + "schema": { + "$ref": "#/definitions/DeletedKeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedKeys": { + "$ref": "./examples/GetDeletedKeys-example.json" + } + } + } + }, + "/deletedkeys/{key-name}": { + "get": { + "tags": [ + "DeletedKeys" + ], + "operationId": "GetDeletedKey", + "summary": "Gets the public part of a deleted key.", + "description": "The Get Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/get permission. ", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion information.", + "schema": { + "$ref": "#/definitions/DeletedKeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedKey": { + "$ref": "./examples/GetDeletedKey-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedKeys" + ], + "operationId": "PurgeDeletedKey", + "summary": "Permanently deletes the specified key.", + "description": "The Purge Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/purge permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content, signaling that the key was permanently purged." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedKey": { + "$ref": "./examples/PurgeDeletedKey-example.json" + } + } + } + }, + "/deletedkeys/{key-name}/recover": { + "post": { + "tags": [ + "DeletedKeys" + ], + "operationId": "RecoverDeletedKey", + "summary": "Recovers the deleted key to its latest version.", + "description": "The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. It recovers the deleted key back to its latest version under /keys. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation requires the keys/recover permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Key bundle of the original key and its attributes", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedKey": { + "$ref": "./examples/RecoverDeletedKey-example.json" + } + } + } + } + }, + "definitions": { + "KeyReleaseCondition": { + "properties": { + "claim": { + "x-ms-client-name": "claimType", + "type": "string", + "minLength": 1, + "description": "claim type name" + }, + "condition": { + "x-ms-client-name": "claimCondition", + "type": "string", + "minLength": 1, + "description": "condition to test", + "enum": [ + "equals" + ], + "x-ms-enum": { + "name": "KeyReleaseConditionCondition", + "modelAsString": true, + "values": [ + { + "value": "equals", + "description": "equals comparison." + } + ] + } + }, + "value": { + "type": "string" + } + } + }, + "KeyReleaseAuthority": { + "properties": { + "authority": { + "x-ms-client-name": "authorityURL", + "type": "string", + "minLength": 1, + "description": "Base URL of the attestation service." + }, + "allOf": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyReleaseCondition", + "description": "The set of claim conditions that must be met." + } + } + } + }, + "KeyReleasePolicy": { + "properties": { + "version": { + "description": "key release policy version", + "type": "string", + "enum": [ + "0.2" + ], + "x-ms-enum": { + "name": "KeyReleasePolicyVersion", + "modelAsString": true, + "values": [ + { + "value": "0.2", + "description": "Schema version 0.2" + } + ] + } + }, + "anyOf": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyReleaseAuthority", + "description": "Authorities." + } + } + } + }, + "JsonWebKey": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier." + }, + "kty": { + "type": "string", + "description": "JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct", + "oct-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true, + "values": [ + { + "value": "EC", + "description": "Elliptic Curve." + }, + { + "value": "EC-HSM", + "description": "Elliptic Curve with a private key which is not exportable from the HSM." + }, + { + "value": "RSA", + "description": "RSA (https://tools.ietf.org/html/rfc3447)" + }, + { + "value": "RSA-HSM", + "description": "RSA with a private key which is not exportable from the HSM." + }, + { + "value": "oct", + "description": "Octet sequence (used to represent symmetric keys)" + }, + { + "value": "oct-HSM", + "description": "Octet sequence (used to represent symmetric keys) which is not exportable from the HSM." + } + ] + } + }, + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "Supported key operations." + } + }, + "n": { + "type": "string", + "format": "base64url", + "description": "RSA modulus." + }, + "e": { + "type": "string", + "format": "base64url", + "description": "RSA public exponent." + }, + "d": { + "type": "string", + "format": "base64url", + "description": "RSA private exponent, or the D component of an EC private key." + }, + "dp": { + "x-ms-client-name": "DP", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "dq": { + "x-ms-client-name": "DQ", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "qi": { + "x-ms-client-name": "QI", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "p": { + "type": "string", + "format": "base64url", + "description": "RSA secret prime." + }, + "q": { + "type": "string", + "format": "base64url", + "description": "RSA secret prime, with p < q." + }, + "k": { + "type": "string", + "format": "base64url", + "description": "Symmetric key." + }, + "key_hsm": { + "x-ms-client-name": "t", + "type": "string", + "format": "base64url", + "description": "Protected Key, used with 'Bring Your Own Key'." + }, + "crv": { + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true, + "values": [ + { + "value": "P-256", + "description": "The NIST P-256 elliptic curve, AKA SECG curve SECP256R1." + }, + { + "value": "P-384", + "description": "The NIST P-384 elliptic curve, AKA SECG curve SECP384R1." + }, + { + "value": "P-521", + "description": "The NIST P-521 elliptic curve, AKA SECG curve SECP521R1." + }, + { + "value": "P-256K", + "description": "The SECG SECP256K1 elliptic curve." + } + ] + } + }, + "x": { + "type": "string", + "format": "base64url", + "description": "X component of an EC public key." + }, + "y": { + "type": "string", + "format": "base64url", + "description": "Y component of an EC public key." + } + }, + "description": "As of http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18" + }, + "KeyAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for keys in the current vault. If it contains 'Purgeable' the key can be permanently deleted by a privileged user; otherwise, only the system can purge the key, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + }, + "exportable": { + "type": "boolean", + "description": "Indicates if the private key can be exported." + } + }, + "description": "The attributes of a key managed by the key vault service." + }, + "KeyBundle": { + "properties": { + "key": { + "$ref": "#/definitions/JsonWebKey", + "description": "The Json web key." + }, + "attributes": { + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "description": "The policy rules under which the key can be exported." + } + }, + "description": "A KeyBundle consisting of a WebKey plus its attributes." + }, + "KeyItem": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier." + }, + "attributes": { + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + } + }, + "description": "The key item containing key metadata." + }, + "DeletedKeyBundle": { + "allOf": [ + { + "$ref": "#/definitions/KeyBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted key." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key was deleted, in UTC" + } + }, + "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion info" + }, + "DeletedKeyItem": { + "allOf": [ + { + "$ref": "#/definitions/KeyItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted key." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key was deleted, in UTC" + } + }, + "description": "The deleted key item containing the deleted key metadata and information about deletion." + }, + "KeyProperties": { + "properties": { + "exportable": { + "type": "boolean", + "description": "Indicates if the private key can be exported." + }, + "kty": { + "x-ms-client-name": "keyType", + "type": "string", + "description": "The type of key pair to be used for the certificate.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct", + "oct-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "key_size": { + "type": "integer", + "format": "int32", + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "reuse_key": { + "type": "boolean", + "description": "Indicates if the same key pair will be used on certificate renewal." + }, + "crv": { + "x-ms-client-name": "curve", + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true + } + } + }, + "description": "Properties of the key pair backing a certificate." + }, + "KeyCreateParameters": { + "properties": { + "kty": { + "type": "string", + "minLength": 1, + "description": "The type of key to create. For valid values, see JsonWebKeyType.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct", + "oct-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "key_size": { + "type": "integer", + "format": "int32", + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "public_exponent": { + "type": "integer", + "format": "int32", + "description": "The public exponent for a RSA key." + }, + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "JSON web key operations. For more information, see JsonWebKeyOperation.", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import", + "export" + ], + "x-ms-enum": { + "name": "JsonWebKeyOperation", + "modelAsString": true + } + } + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "crv": { + "x-ms-client-name": "curve", + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true + } + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "description": "The policy rules under which the key can be exported." + } + }, + "description": "The key create parameters.", + "required": [ + "kty" + ] + }, + "KeyImportParameters": { + "properties": { + "Hsm": { + "type": "boolean", + "description": "Whether to import as a hardware key (HSM) or software key." + }, + "key": { + "$ref": "#/definitions/JsonWebKey", + "description": "The Json web key" + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "description": "The policy rules under which the key can be exported." + } + }, + "description": "The key import parameters.", + "required": [ + "key" + ] + }, + "KeyExportParameters": { + "properties": { + "env": { + "x-ms-client-name": "environment", + "type": "string", + "minLength": 1, + "description": "The target environment assertion." + } + }, + "description": "The export key parameters.", + "required": [ + "env" + ] + }, + "KeyOperationsParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "algorithm identifier", + "enum": [ + "RSA-OAEP", + "RSA-OAEP-256", + "RSA1_5", + "A128GCM", + "A192GCM", + "A256GCM", + "A128KW", + "A192KW", + "A256KW", + "A128CBC", + "A192CBC", + "A256CBC", + "A128CBCPAD", + "A192CBCPAD", + "A256CBCPAD" + ], + "x-ms-enum": { + "name": "JsonWebKeyEncryptionAlgorithm", + "modelAsString": true + } + }, + "value": { + "type": "string", + "format": "base64url" + }, + "iv": { + "type": "string", + "format": "base64url", + "description": "Initialization vector for symmetric algorithms." + }, + "aad": { + "type": "string", + "format": "base64url", + "description": "Additional data to authenticate but not encrypt/decrypt when using authenticated crypto algorithms." + }, + "tag": { + "type": "string", + "format": "base64url", + "description": "The tag to authenticate when performing decryption with an authenticated algorithm." + } + }, + "description": "The key operations parameters.", + "required": [ + "alg", + "value" + ] + }, + "KeySignParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "The signing/verification algorithm identifier. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.", + "enum": [ + "PS256", + "PS384", + "PS512", + "RS256", + "RS384", + "RS512", + "RSNULL", + "ES256", + "ES384", + "ES512", + "ES256K" + ], + "x-ms-enum": { + "name": "JsonWebKeySignatureAlgorithm", + "modelAsString": true, + "values": [ + { + "value": "PS256", + "description": "RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "PS384", + "description": "RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "PS512", + "description": "RSASSA-PSS using SHA-512 and MGF1 with SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS256", + "description": "RSASSA-PKCS1-v1_5 using SHA-256, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS384", + "description": "RSASSA-PKCS1-v1_5 using SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS512", + "description": "RSASSA-PKCS1-v1_5 using SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RSNULL", + "description": "Reserved" + }, + { + "value": "ES256", + "description": "ECDSA using P-256 and SHA-256, as described in https://tools.ietf.org/html/rfc7518." + }, + { + "value": "ES384", + "description": "ECDSA using P-384 and SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "ES512", + "description": "ECDSA using P-521 and SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "ES256K", + "description": "ECDSA using P-256K and SHA-256, as described in https://tools.ietf.org/html/rfc7518" + } + ] + } + }, + "value": { + "type": "string", + "format": "base64url" + } + }, + "description": "The key operations parameters.", + "required": [ + "alg", + "value" + ] + }, + "KeyVerifyParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.", + "enum": [ + "PS256", + "PS384", + "PS512", + "RS256", + "RS384", + "RS512", + "RSNULL", + "ES256", + "ES384", + "ES512", + "ES256K" + ], + "x-ms-enum": { + "name": "JsonWebKeySignatureAlgorithm", + "modelAsString": true + } + }, + "digest": { + "type": "string", + "format": "base64url", + "description": "The digest used for signing." + }, + "value": { + "x-ms-client-name": "signature", + "type": "string", + "format": "base64url", + "description": "The signature to be verified." + } + }, + "description": "The key verify parameters.", + "required": [ + "alg", + "digest", + "value" + ] + }, + "KeyUpdateParameters": { + "properties": { + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "JSON web key operations. For more information, see JsonWebKeyOperation.", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import", + "export" + ], + "x-ms-enum": { + "name": "JsonWebKeyOperation", + "modelAsString": true + } + }, + "description": "Json web key operations. For more information on possible key operations, see JsonWebKeyOperation." + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "description": "The policy rules under which the key can be exported." + } + }, + "description": "The key update parameters." + }, + "KeyRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "keyBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a key bundle." + } + }, + "description": "The key restore parameters.", + "required": [ + "value" + ] + }, + "KeyOperationResult": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier", + "readOnly": true + }, + "value": { + "x-ms-client-name": "result", + "type": "string", + "format": "base64url", + "readOnly": true + } + }, + "description": "The key operation result." + }, + "KeyVerifyResult": { + "properties": { + "value": { + "type": "boolean", + "readOnly": true, + "description": "True if the signature is verified, otherwise false." + } + }, + "description": "The key verify result." + }, + "KeyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyItem" + }, + "readOnly": true, + "description": "A response message containing a list of keys in the key vault along with a link to the next page of keys." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of keys." + } + }, + "description": "The key list result." + }, + "DeletedKeyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedKeyItem" + }, + "readOnly": true, + "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted keys." + } + }, + "description": "A list of keys that have been deleted in this vault." + }, + "BackupKeyResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up key." + } + }, + "description": "The backup key result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/rbac.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/rbac.json similarity index 100% rename from specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/rbac.json rename to specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/rbac.json diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/secrets.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/secrets.json new file mode 100644 index 000000000000..eca4bd96f3a3 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/secrets.json @@ -0,0 +1,891 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.2-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/secrets/{secret-name}": { + "put": { + "tags": [ + "Secrets" + ], + "operationId": "SetSecret", + "summary": "Sets a secret in a specified key vault.", + "description": " The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key Vault creates a new version of that secret. This operation requires the secrets/set permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the secret." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretSetParameters" + }, + "description": "The parameters for setting the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secret bundle containing the result of the set secret request.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetSecret": { + "$ref": "./examples/SetSecret-example.json" + } + } + }, + "delete": { + "tags": [ + "Secrets" + ], + "operationId": "DeleteSecret", + "summary": "Deletes a secret from a specified key vault.", + "description": "The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an individual version of a secret. This operation requires the secrets/delete permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted secret and information on when the secret will be deleted, and how to recover the deleted secret.", + "schema": { + "$ref": "#/definitions/DeletedSecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteSecret": { + "$ref": "./examples/DeleteSecret-example.json" + } + } + } + }, + "/secrets/{secret-name}/{secret-version}": { + "patch": { + "tags": [ + "Secrets" + ], + "operationId": "UpdateSecret", + "summary": "Updates the attributes associated with a specified secret in a given key vault.", + "description": "The UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not specified in the request are left unchanged. The value of a secret itself cannot be changed. This operation requires the secrets/set permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "secret-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the secret." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretUpdateParameters" + }, + "description": "The parameters for update secret operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated secret.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateSecret": { + "$ref": "./examples/UpdateSecret-example.json" + } + } + }, + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecret", + "summary": "Get a specified secret from a given key vault.", + "description": "The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires the secrets/get permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "secret-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the secret. This URI fragment is optional. If not specified, the latest version of the secret is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved secret.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetSecret": { + "$ref": "./examples/GetSecret-example.json" + } + } + } + }, + "/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecrets", + "summary": "List secrets in a specified key vault.", + "description": "The Get Secrets operation is applicable to the entire vault. However, only the base secret identifier and its attributes are provided in the response. Individual secret versions are not listed in the response. This operation requires the secrets/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of secrets in the vault along with a link to the next page of secrets.", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetSecrets": { + "$ref": "./examples/GetSecrets-example.json" + } + } + } + }, + "/secrets/{secret-name}/versions": { + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecretVersions", + "summary": "List all versions of the specified secret.", + "description": "The full secret identifier and attributes are provided in the response. No values are returned for the secrets. This operations requires the secrets/list permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of secrets along with a link to the next page of secrets.", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetSecretVersions": { + "$ref": "./examples/GetSecretVersions-example.json" + } + } + } + }, + "/deletedsecrets": { + "get": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "GetDeletedSecrets", + "summary": "Lists deleted secrets for the specified vault.", + "description": "The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted secrets in the vault, along with a link to the next page of deleted secrets.", + "schema": { + "$ref": "#/definitions/DeletedSecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedSecrets": { + "$ref": "./examples/GetDeletedSecrets-example.json" + } + } + } + }, + "/deletedsecrets/{secret-name}": { + "get": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "GetDeletedSecret", + "summary": "Gets the specified deleted secret.", + "description": "The Get Deleted Secret operation returns the specified deleted secret along with its attributes. This operation requires the secrets/get permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secret bundle of the secret and its attributes.", + "schema": { + "$ref": "#/definitions/DeletedSecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedSecret": { + "$ref": "./examples/GetDeletedSecret-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "PurgeDeletedSecret", + "summary": "Permanently deletes the specified secret.", + "description": "The purge deleted secret operation removes the secret permanently, without the possibility of recovery. This operation can only be enabled on a soft-delete enabled vault. This operation requires the secrets/purge permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the secret was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedSecret": { + "$ref": "./examples/PurgeDeletedSecret-example.json" + } + } + } + }, + "/deletedsecrets/{secret-name}/recover": { + "post": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "RecoverDeletedSecret", + "summary": "Recovers the deleted secret to the latest version.", + "description": "Recovers the deleted secret in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the secrets/recover permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Secret bundle of the original secret and its attributes.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedSecret": { + "$ref": "./examples/RecoverDeletedSecret-example.json" + } + } + } + }, + "/secrets/{secret-name}/backup": { + "post": { + "tags": [ + "Secrets" + ], + "operationId": "BackupSecret", + "summary": "Backs up the specified secret.", + "description": "Requests that a backup of the specified secret be downloaded to the client. All versions of the secret will be downloaded. This operation requires the secrets/backup permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up secret.", + "schema": { + "$ref": "#/definitions/BackupSecretResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupSecret": { + "$ref": "./examples/BackupSecret-example.json" + } + } + } + }, + "/secrets/restore": { + "post": { + "tags": [ + "Secrets" + ], + "operationId": "RestoreSecret", + "summary": "Restores a backed up secret to a vault.", + "description": "Restores a backed up secret, and all its versions, to a vault. This operation requires the secrets/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretRestoreParameters" + }, + "description": "The parameters to restore the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored secret bundle in the vault.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreSecret": { + "$ref": "./examples/RestoreSecret-example.json" + } + } + } + } + }, + "definitions": { + "SecretBundle": { + "properties": { + "value": { + "type": "string", + "description": "The secret value." + }, + "id": { + "type": "string", + "description": "The secret id." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "kid": { + "type": "string", + "readOnly": true, + "description": "If this is a secret backing a KV certificate, then this field specifies the corresponding key backing the KV certificate." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the secret's lifetime is managed by key vault. If this is a secret backing a certificate, then managed will be true." + } + }, + "description": "A secret consisting of a value, id and its attributes." + }, + "SecretItem": { + "properties": { + "id": { + "type": "string", + "description": "Secret identifier." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the secret's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + } + }, + "description": "The secret item containing secret metadata." + }, + "DeletedSecretBundle": { + "allOf": [ + { + "$ref": "#/definitions/SecretBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted secret." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret was deleted, in UTC" + } + }, + "description": "A Deleted Secret consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "DeletedSecretItem": { + "allOf": [ + { + "$ref": "#/definitions/SecretItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted secret." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret was deleted, in UTC" + } + }, + "description": "The deleted secret item containing metadata about the deleted secret." + }, + "SecretAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for secrets in the current vault. If it contains 'Purgeable', the secret can be permanently deleted by a privileged user; otherwise, only the system can purge the secret, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The secret management attributes." + }, + "SecretRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "secretBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a secret bundle." + } + }, + "description": "The secret restore parameters.", + "required": [ + "value" + ] + }, + "SecretProperties": { + "properties": { + "contentType": { + "type": "string", + "description": "The media type (MIME type)." + } + }, + "description": "Properties of the key backing a certificate." + }, + "SecretSetParameters": { + "properties": { + "value": { + "type": "string", + "description": "The value of the secret." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "attributes": { + "x-ms-client-name": "secretAttributes", + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + } + }, + "description": "The secret set parameters.", + "required": [ + "value" + ] + }, + "SecretUpdateParameters": { + "properties": { + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "attributes": { + "x-ms-client-name": "secretAttributes", + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The secret update parameters." + }, + "SecretListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecretItem" + }, + "readOnly": true, + "description": "A response message containing a list of secrets in the key vault along with a link to the next page of secrets." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of secrets." + } + }, + "description": "The secret list result." + }, + "DeletedSecretListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedSecretItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted secrets in the vault along with a link to the next page of deleted secrets" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted secrets." + } + }, + "description": "The deleted secret list result" + }, + "BackupSecretResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up secret." + } + }, + "description": "The backup secret result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json new file mode 100644 index 000000000000..6ff6f9e7856e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json @@ -0,0 +1,477 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.2-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/securitydomain/download": { + "post": { + "tags": [ + "HSMSecurityDomain" + ], + "operationId": "HSMSecurityDomain_Download", + "description": "Retrieves Security domain from HSM enclave", + "parameters": [ + { + "in": "body", + "name": "CertificateInfoObject", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateInfoObject" + }, + "description": "Security domain download operation requires customer to provide N certificates (minimum 3 and maximum 10) containing public key in JWK format." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "This is the specification of the security domain as downloaded from the new pool", + "schema": { + "$ref": "#/definitions/SecurityDomainObject" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Retrieve Security domain": { + "$ref": "./examples/securitydomaindownloadpost-example.json" + } + } + } + }, + "/securitydomain/transferkey": { + "get": { + "tags": [ + "HSMSecurityDomain" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "operationId": "HSMSecurityDomain_TransferKey", + "description": "Retrieve security domain transfer key", + "responses": { + "200": { + "description": "Security domain transfer key operation", + "schema": { + "$ref": "#/definitions/TransferKey" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Retrieve security domain transfer key": { + "$ref": "./examples/securitydomaintransferkey-example.json" + } + } + } + }, + "/securitydomain/upload": { + "post": { + "tags": [ + "HSMSecurityDomain" + ], + "operationId": "HSMSecurityDomain_Upload", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Request Security domain upload operation", + "parameters": [ + { + "in": "body", + "name": "security_domain", + "description": "security domain", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityDomainUploadObject" + } + } + ], + "responses": { + "202": { + "description": "Security domain upload operation started", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SecurityDomainOperationStatus" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Security domain upload operation": { + "$ref": "./examples/securitydomainuploadoperation-example.json" + } + } + } + }, + "/securitydomain/upload/pending": { + "get": { + "tags": [ + "HSMSecurityDomain" + ], + "operationId": "HSMSecurityDomain_UploadPending", + "description": "Get Security domain upload operation status", + "responses": { + "200": { + "description": "Security domain upload operation status", + "schema": { + "$ref": "#/definitions/SecurityDomainOperationStatus" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Find security domain upload operation status": { + "$ref": "./examples/securitydomainoperationstatus-example.json" + } + } + } + } + }, + "definitions": { + "CertificateInfoObject": { + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityDomainCertificateItem" + }, + "minItems": 3, + "maxItems": 10, + "uniqueItems": true, + "description": "Certificates needed from customer" + }, + "required": { + "description": "Customer to specify the number of certificates (minimum 2 and maximum 10) to restore security domain", + "type": "integer", + "default": 2, + "minimum": 2, + "maximum": 10 + } + }, + "required": [ + "certificates" + ] + }, + "SecurityDomainCertificateItem": { + "properties": { + "value": { + "$ref": "#/definitions/SecurityDomainJsonWebKey", + "description": "Customer generated certificate containing public key in JWK format" + } + }, + "required": [ + "value" + ] + }, + "TransferKey": { + "properties": { + "key_format": { + "type": "string", + "default": "jwk", + "description": "Specifies the format of the transfer key" + }, + "transfer_key": { + "$ref": "#/definitions/SecurityDomainJsonWebKey", + "description": "Specifies the transfer key in JWK format" + } + }, + "required": [ + "transfer_key" + ] + }, + "SecurityDomainObject": { + "properties": { + "data": { + "type": "object", + "properties": { + "EncData": { + "$ref": "#/definitions/EncDataSet", + "description": "Array of encrypted data set" + }, + "SharedKeys": { + "properties": { + "key_algorithm": { + "type": "string", + "default": "shamir_share", + "description": "The Algorithm used for shared keys" + }, + "required": { + "type": "integer", + "minimum": 2, + "maximum": 10, + "description": "The number of keys (minimum 2 and maximum 10) required for security domain. " + }, + "enc_shares": { + "type": "array", + "items": { + "$ref": "#/definitions/Key", + "minItems": 3, + "maxItems": 10 + }, + "uniqueItems": true, + "description": "Compact JWE wrapped shares array" + } + }, + "required": [ + "key_algorithm", + "required", + "enc_shares" + ], + "description": "Array of shared keys" + }, + "version": { + "type": "integer" + } + }, + "required": [ + "EncData", + "SharedKeys", + "version" + ] + } + }, + "description": "Security domain", + "required": [ + "data" + ] + }, + "EncDataSet": { + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/EncDataSetItem", + "minItems": 2 + }, + "description": "Array of encrypted security domain", + "uniqueItems": true + }, + "kdf": { + "type": "string", + "default": "sp108_kdf", + "description": "The key derivation function used" + } + }, + "required": [ + "data", + "kdf" + ] + }, + "EncDataSetItem": { + "properties": { + "compact_jwe": { + "type": "string", + "description": "Encrypted data" + }, + "tag": { + "type": "string", + "description": "hsm backup tag" + } + }, + "required": [ + "compact_jwe", + "tag" + ] + }, + "Key": { + "properties": { + "enc_key": { + "type": "string", + "description": "Compact JWE wrapped share" + }, + "x5t_256": { + "type": "string", + "description": "SHA 256 hash of certificate" + } + }, + "required": [ + "enc_key", + "x5t_256" + ] + }, + "SecurityDomainOperationStatus": { + "properties": { + "status": { + "description": "operation status", + "enum": [ + "Success", + "InProgress", + "Failed" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "OperationStatus" + }, + "type": "string" + }, + "status_details": { + "type": "string" + } + } + }, + "SecurityDomainJsonWebKey": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier." + }, + "kty": { + "type": "string", + "description": "JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. For security domain this value must be RSA" + }, + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "Supported key operations." + } + }, + "n": { + "type": "string", + "description": "RSA modulus." + }, + "e": { + "type": "string", + "description": "RSA public exponent." + }, + "x5c": { + "description": "X509 certificate chain parameter", + "type": "array", + "items": { + "type": "string" + } + }, + "use": { + "description": "Public Key Use Parameter. This is optional and if present must be enc.", + "type": "string" + }, + "x5t": { + "description": "X509 certificate SHA1 thumbprint. This is optional.", + "type": "string" + }, + "x5t#S256": { + "description": "X509 certificate SHA256 thumbprint.", + "type": "string" + }, + "alg": { + "description": "Algorithm intended for use with the key.", + "type": "string" + } + }, + "required": [ + "kty", + "key_ops", + "alg", + "kid", + "x5c", + "x5t#S256", + "n", + "e" + ] + }, + "SecurityDomainUploadObject": { + "properties": { + "value": { + "type": "object", + "properties": { + "EncData": { + "$ref": "#/definitions/EncDataSet", + "description": "Array of encrypted data set" + }, + "WrappedKey": { + "properties": { + "enc_key": { + "type": "string", + "description": "Encryption key used to encrypt the EncData" + }, + "x5t_256": { + "type": "string", + "description": "Thumbprint used to determine which certificate was used to encrypt the enc_key field" + } + }, + "required": [ + "enc_key", + "x5t_256" + ], + "description": "Key object containing the encryption key used to encrypt EncData object" + } + }, + "required": [ + "EncData", + "WrappedKey" + ] + } + }, + "description": "Security domain object uploaded to a new pool", + "required": [ + "value" + ] + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/storage.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/storage.json new file mode 100644 index 000000000000..a8c4b113464c --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/storage.json @@ -0,0 +1,1622 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.2-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/storage": { + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetStorageAccounts", + "description": "List storage accounts managed by the specified key vault. This operation requires the storage/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of storage accounts along with a link to the next page of storage accounts.", + "schema": { + "$ref": "#/definitions/StorageListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Storage account": { + "$ref": "./examples/listStorageAccount.json" + } + } + } + }, + "/deletedstorage": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedStorageAccounts", + "summary": "Lists deleted storage accounts for the specified vault.", + "description": "The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted for a vault enabled for soft-delete. This operation requires the storage/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted storage accounts in the vault, along with a link to the next page of deleted storage accounts.", + "schema": { + "$ref": "#/definitions/DeletedStorageListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Deleted Storage Accounts": { + "$ref": "./examples/listDeletedStorageAccount.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedStorageAccount", + "summary": "Gets the specified deleted storage account.", + "description": "The Get Deleted Storage Account operation returns the specified deleted storage account along with its attributes. This operation requires the storage/get permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted storage account and information on when it will be purged, and how to recover the deleted storage account.", + "schema": { + "$ref": "#/definitions/DeletedStorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Deleted Storage": { + "$ref": "./examples/getDeletedStorageAccount.json" + } + } + }, + "delete": { + "tags": [ + "DeletedStorage" + ], + "operationId": "PurgeDeletedStorageAccount", + "summary": "Permanently deletes the specified storage account.", + "description": "The purge deleted storage account operation removes the secret permanently, without the possibility of recovery. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/purge permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the storage account was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Purge Deleted Storage Account": { + "$ref": "./examples/purgeStorageAccount.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/recover": { + "post": { + "tags": [ + "DeletedStorage" + ], + "operationId": "RecoverDeletedStorageAccount", + "summary": "Recovers the deleted storage account.", + "description": "Recovers the deleted storage account in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A storage bundle of the original storage account and its attributes.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Recover Deleted Storage Account": { + "$ref": "./examples/recoverStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}/backup": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "BackupStorageAccount", + "summary": "Backs up the specified storage account.", + "description": "Requests that a backup of the specified storage account be downloaded to the client. This operation requires the storage/backup permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up storage account.", + "schema": { + "$ref": "#/definitions/BackupStorageResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Backup Storage Account": { + "$ref": "./examples/backupStorageAccount.json" + } + } + } + }, + "/storage/restore": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "RestoreStorageAccount", + "summary": "Restores a backed up storage account to a vault.", + "description": "Restores a backed up storage account to a vault. This operation requires the storage/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageRestoreParameters" + }, + "description": "The parameters to restore the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored storage account bundle in the vault.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Restore Storage Account": { + "$ref": "./examples/restoreStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}": { + "delete": { + "tags": [ + "Storage" + ], + "operationId": "DeleteStorageAccount", + "description": "Deletes a storage account. This operation requires the storage/delete permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted storage account and information on when the storage account will be deleted, and how to recover the deleted storage account.", + "schema": { + "$ref": "#/definitions/DeletedStorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete Storage account": { + "$ref": "./examples/deleteStorageAccount.json" + } + } + }, + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetStorageAccount", + "description": "Gets information about a specified storage account. This operation requires the storage/get permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Storage account": { + "$ref": "./examples/getStorageAccount.json" + } + } + }, + "put": { + "tags": [ + "Storage" + ], + "operationId": "SetStorageAccount", + "description": "Creates or updates a new storage account. This operation requires the storage/set permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountCreateParameters" + }, + "description": "The parameters to create a storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The created storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Set Storage account": { + "$ref": "./examples/setStorageAccount.json" + } + } + }, + "patch": { + "tags": [ + "Storage" + ], + "operationId": "UpdateStorageAccount", + "description": "Updates the specified attributes associated with the given storage account. This operation requires the storage/set/update permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountUpdateParameters" + }, + "description": "The parameters to update a storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update Storage account": { + "$ref": "./examples/updateStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}/regeneratekey": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "RegenerateStorageAccountKey", + "description": "Regenerates the specified key value for the given storage account. This operation requires the storage/regeneratekey permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountRegenerteKeyParameters" + }, + "description": "The parameters to regenerate storage account key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Regenerate Storage account key": { + "$ref": "./examples/regenerateStorageAccountKey.json" + } + } + } + }, + "/storage/{storage-account-name}/sas": { + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetSasDefinitions", + "description": "List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions.", + "schema": { + "$ref": "#/definitions/SasDefinitionListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Storage Sas Definition": { + "$ref": "./examples/listStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedSasDefinitions", + "summary": "Lists deleted SAS definitions for the specified vault and storage account.", + "description": "The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for a vault enabled for soft-delete. This operation requires the storage/listsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted SAS definitions for the storage account, along with a link to the next page of deleted SAS definitions.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Deleted Storage Sas Definitions": { + "$ref": "./examples/listDeletedStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedSasDefinition", + "summary": "Gets the specified deleted sas definition.", + "description": "The Get Deleted SAS Definition operation returns the specified deleted SAS definition along with its attributes. This operation requires the storage/getsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted SAS definition and information on when the it will be purged, and how to recover the deleted SAS definition.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Deleted Storage Sas Definition": { + "$ref": "./examples/getDeletedStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover": { + "post": { + "tags": [ + "DeletedStorage" + ], + "operationId": "RecoverDeletedSasDefinition", + "summary": "Recovers the deleted SAS definition.", + "description": "Recovers the deleted SAS definition for the specified storage account. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A SAS definition bundle of the original SAS definition and its attributes.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Recover Deleted Storage Sas Definition": { + "$ref": "./examples/recoverStorageSasDefinition.json" + } + } + } + }, + "/storage/{storage-account-name}/sas/{sas-definition-name}": { + "delete": { + "tags": [ + "Storage" + ], + "operationId": "DeleteSasDefinition", + "description": "Deletes a SAS definition from a specified storage account. This operation requires the storage/deletesas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted SAS definition and information on when the SAS definition will be deleted, and how to recover the deleted SAS definition.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete Storage Sas Definition": { + "$ref": "./examples/deleteStorageSasDefinition.json" + } + } + }, + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetSasDefinition", + "description": "Gets information about a SAS definition for the specified storage account. This operation requires the storage/getsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Storage Sas Definition": { + "$ref": "./examples/getStorageSasDefinition.json" + } + } + }, + "put": { + "tags": [ + "Storage" + ], + "operationId": "SetSasDefinition", + "description": "Creates or updates a new SAS definition for the specified storage account. This operation requires the storage/setsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SasDefinitionCreateParameters" + }, + "description": "The parameters to create a SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The created SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Set Storage Sas definition": { + "$ref": "./examples/setStorageSasDefinition.json" + } + } + }, + "patch": { + "tags": [ + "Storage" + ], + "operationId": "UpdateSasDefinition", + "description": "Updates the specified attributes associated with the given SAS definition. This operation requires the storage/setsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SasDefinitionUpdateParameters" + }, + "description": "The parameters to update a SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update Storage Sas definition": { + "$ref": "./examples/updateStorageSasDefinition.json" + } + } + } + } + }, + "definitions": { + "StorageRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "storageBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a storage account." + } + }, + "description": "The secret restore parameters.", + "required": [ + "value" + ] + }, + "StorageAccountAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "the enabled state of the object." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + }, + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for storage accounts in the current vault. If it contains 'Purgeable' the storage account can be permanently deleted by a privileged user; otherwise, only the system can purge the storage account, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The storage account management attributes." + }, + "StorageBundle": { + "properties": { + "id": { + "type": "string", + "description": "The storage account id.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "The storage account resource id.", + "readOnly": true + }, + "activeKeyName": { + "type": "string", + "description": "The current active storage account key name.", + "readOnly": true + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user.", + "readOnly": true + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The storage account attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs", + "readOnly": true + } + }, + "description": "A Storage account bundle consists of key vault storage account details plus its attributes." + }, + "DeletedStorageBundle": { + "allOf": [ + { + "$ref": "#/definitions/StorageBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted storage account." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account was deleted, in UTC" + } + }, + "description": "A deleted storage account bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "StorageAccountCreateParameters": { + "properties": { + "resourceId": { + "type": "string", + "description": "Storage account resource id." + }, + "activeKeyName": { + "type": "string", + "description": "Current active storage account key name." + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user." + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format." + }, + "attributes": { + "x-ms-client-name": "StorageAccountAttributes", + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The attributes of the storage account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The storage account create parameters.", + "required": [ + "resourceId", + "activeKeyName", + "autoRegenerateKey" + ] + }, + "StorageAccountUpdateParameters": { + "properties": { + "activeKeyName": { + "type": "string", + "description": "The current active storage account key name." + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user." + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format." + }, + "attributes": { + "x-ms-client-name": "StorageAccountAttributes", + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The attributes of the storage account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The storage account update parameters." + }, + "StorageAccountRegenerteKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The storage account key name." + } + }, + "description": "The storage account key regenerate parameters.", + "required": [ + "keyName" + ] + }, + "StorageAccountItem": { + "properties": { + "id": { + "type": "string", + "description": "Storage identifier.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Storage account resource Id.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The storage account management attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs.", + "readOnly": true + } + }, + "description": "The storage account item containing storage account metadata." + }, + "DeletedStorageAccountItem": { + "allOf": [ + { + "$ref": "#/definitions/StorageAccountItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted storage account." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account was deleted, in UTC" + } + }, + "description": "The deleted storage account item containing metadata about the deleted storage account." + }, + "StorageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountItem" + }, + "readOnly": true, + "description": "A response message containing a list of storage accounts in the key vault along with a link to the next page of storage accounts." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of storage accounts." + } + }, + "description": "The storage accounts list result." + }, + "DeletedStorageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedStorageAccountItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted storage accounts in the vault along with a link to the next page of deleted storage accounts" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted storage accounts." + } + }, + "description": "The deleted storage account list result" + }, + "SasDefinitionAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "the enabled state of the object." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + }, + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for SAS definitions in the current vault. If it contains 'Purgeable' the SAS definition can be permanently deleted by a privileged user; otherwise, only the system can purge the SAS definition, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The SAS definition management attributes." + }, + "SasDefinitionBundle": { + "properties": { + "id": { + "type": "string", + "description": "The SAS definition id.", + "readOnly": true + }, + "sid": { + "x-ms-client-name": "SecretId", + "type": "string", + "description": "Storage account SAS definition secret id.", + "readOnly": true + }, + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template.", + "readOnly": true + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + }, + "readOnly": true + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The SAS definition attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs", + "readOnly": true + } + }, + "description": "A SAS definition bundle consists of key vault SAS definition details plus its attributes." + }, + "DeletedSasDefinitionBundle": { + "allOf": [ + { + "$ref": "#/definitions/SasDefinitionBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted SAS definition." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition was deleted, in UTC" + } + }, + "description": "A deleted SAS definition bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "SasDefinitionItem": { + "properties": { + "id": { + "type": "string", + "description": "The storage SAS identifier.", + "readOnly": true + }, + "sid": { + "x-ms-client-name": "SecretId", + "type": "string", + "description": "The storage account SAS definition secret id.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The SAS definition management attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs.", + "readOnly": true + } + }, + "description": "The SAS definition item containing storage SAS definition metadata." + }, + "DeletedSasDefinitionItem": { + "allOf": [ + { + "$ref": "#/definitions/SasDefinitionItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted SAS definition." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition was deleted, in UTC" + } + }, + "description": "The deleted SAS definition item containing metadata about the deleted SAS definition." + }, + "SasDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SasDefinitionItem" + }, + "readOnly": true, + "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of SAS definitions." + } + }, + "description": "The storage account SAS definition list result." + }, + "DeletedSasDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedSasDefinitionItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted SAS definitions in the vault along with a link to the next page of deleted sas definitions" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted SAS definitions." + } + }, + "description": "The deleted SAS definition list result" + }, + "SasDefinitionCreateParameters": { + "properties": { + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template." + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + } + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition." + }, + "attributes": { + "x-ms-client-name": "SasDefinitionAttributes", + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The attributes of the SAS definition." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The SAS definition create parameters.", + "required": [ + "templateUri", + "sasType", + "validityPeriod" + ] + }, + "SasDefinitionUpdateParameters": { + "properties": { + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template." + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + } + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition." + }, + "attributes": { + "x-ms-client-name": "SasDefinitionAttributes", + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The attributes of the SAS definition." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The SAS definition update parameters." + }, + "BackupStorageResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up storage account." + } + }, + "description": "The backup storage result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/certificates.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/certificates.json deleted file mode 100644 index ddcae29d2b30..000000000000 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/certificates.json +++ /dev/null @@ -1,2054 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "KeyVaultClient", - "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", - "version": "7.2-preview" - }, - "x-ms-parameterized-host": { - "hostTemplate": "{vaultBaseUrl}", - "useSchemePrefix": false, - "positionInOperation": "first", - "parameters": [ - { - "name": "vaultBaseUrl", - "description": "The vault name, for example https://myvault.vault.azure.net.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - } - ] - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/certificates": { - "get": { - "tags": [ - "Certificates" - ], - "operationId": "GetCertificates", - "summary": "List certificates in a specified key vault", - "description": "The GetCertificates operation returns the set of certificates resources in the specified key vault. This operation requires the certificates/list permission.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "name": "includePending", - "in": "query", - "required": false, - "type": "boolean", - "description": "Specifies whether to include certificates which are not completely provisioned." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of certificates along with a link to the next page of certificates.", - "schema": { - "$ref": "#/definitions/CertificateListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetCertificates": { - "$ref": "./examples/GetCertificates-example.json" - } - } - } - }, - "/certificates/{certificate-name}": { - "delete": { - "tags": [ - "Certificates" - ], - "operationId": "DeleteCertificate", - "summary": "Deletes a certificate from a specified key vault.", - "description": "Deletes all versions of a certificate object along with its associated policy. Delete certificate cannot be used to remove individual versions of a certificate object. This operation requires the certificates/delete permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The deleted certificate.", - "schema": { - "$ref": "#/definitions/DeletedCertificateBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "DeleteCertificate": { - "$ref": "./examples/DeleteCertificate-example.json" - } - } - } - }, - "/certificates/contacts": { - "put": { - "tags": [ - "Certificates" - ], - "operationId": "SetCertificateContacts", - "description": "Sets the certificate contacts for the specified key vault. This operation requires the certificates/managecontacts permission.", - "summary": "Sets the certificate contacts for the specified key vault.", - "parameters": [ - { - "name": "contacts", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Contacts" - }, - "description": "The contacts for the key vault certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The contacts for the key vault certificate.", - "schema": { - "$ref": "#/definitions/Contacts" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "SetCertificateContacts": { - "$ref": "./examples/SetCertificateContacts-example.json" - } - } - }, - "get": { - "tags": [ - "Certificates" - ], - "operationId": "GetCertificateContacts", - "summary": "Lists the certificate contacts for a specified key vault.", - "description": "The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The contacts for the key vault certificate.", - "schema": { - "$ref": "#/definitions/Contacts" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetCertificateContacts": { - "$ref": "./examples/GetCertificateContacts-example.json" - } - } - }, - "delete": { - "tags": [ - "Certificates" - ], - "operationId": "DeleteCertificateContacts", - "description": "Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission.", - "summary": "Deletes the certificate contacts for a specified key vault.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The contacts for the key vault certificate.", - "schema": { - "$ref": "#/definitions/Contacts" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "DeleteCertificateContacts": { - "$ref": "./examples/DeleteCertificateContacts-example.json" - } - } - } - }, - "/certificates/issuers": { - "get": { - "tags": [ - "Certificates" - ], - "operationId": "GetCertificateIssuers", - "summary": "List certificate issuers for a specified key vault.", - "description": "The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of certificate issuers in a key vault along with a link to the next page of certificate issuers.", - "schema": { - "$ref": "#/definitions/CertificateIssuerListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetCertificateIssuers": { - "$ref": "./examples/GetCertificateIssuers-example.json" - } - } - } - }, - "/certificates/issuers/{issuer-name}": { - "put": { - "tags": [ - "Certificates" - ], - "operationId": "SetCertificateIssuer", - "summary": "Sets the specified certificate issuer.", - "description": "The SetCertificateIssuer operation adds or updates the specified certificate issuer. This operation requires the certificates/setissuers permission.", - "parameters": [ - { - "name": "issuer-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the issuer." - }, - { - "name": "parameter", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/CertificateIssuerSetParameters" - }, - "description": "Certificate issuer set parameter." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The issuer for the key vault certificate.", - "schema": { - "$ref": "#/definitions/IssuerBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "SetCertificateIssuer": { - "$ref": "./examples/SetCertificateIssuer-example.json" - } - } - }, - "patch": { - "tags": [ - "Certificates" - ], - "operationId": "UpdateCertificateIssuer", - "summary": "Updates the specified certificate issuer.", - "description": "The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity. This operation requires the certificates/setissuers permission.", - "parameters": [ - { - "name": "issuer-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the issuer." - }, - { - "name": "parameter", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/CertificateIssuerUpdateParameters" - }, - "description": "Certificate issuer update parameter." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The issuer for the key vault certificate.", - "schema": { - "$ref": "#/definitions/IssuerBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "UpdateCertificateIssuer": { - "$ref": "./examples/UpdateCertificateIssuer-example.json" - } - } - }, - "get": { - "tags": [ - "Certificates" - ], - "operationId": "GetCertificateIssuer", - "summary": "Lists the specified certificate issuer.", - "description": "The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.", - "parameters": [ - { - "name": "issuer-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the issuer." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The issuer for the key vault certificate.", - "schema": { - "$ref": "#/definitions/IssuerBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetCertificateIssuer": { - "$ref": "./examples/GetCertificateIssuer-example.json" - } - } - }, - "delete": { - "tags": [ - "Certificates" - ], - "operationId": "DeleteCertificateIssuer", - "summary": "Deletes the specified certificate issuer.", - "description": "The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault. This operation requires the certificates/manageissuers/deleteissuers permission.", - "parameters": [ - { - "name": "issuer-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the issuer." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The issuer for the key vault certificate.", - "schema": { - "$ref": "#/definitions/IssuerBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "DeleteCertificateIssuer": { - "$ref": "./examples/DeleteCertificateIssuer-example.json" - } - } - } - }, - "/certificates/{certificate-name}/create": { - "post": { - "tags": [ - "Certificates" - ], - "operationId": "CreateCertificate", - "summary": "Creates a new certificate.", - "description": "If this is the first version, the certificate resource is created. This operation requires the certificates/create permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z-]+$", - "description": "The name of the certificate." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/CertificateCreateParameters" - }, - "description": "The parameters to create a certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Created certificate bundle.", - "schema": { - "$ref": "#/definitions/CertificateOperation" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "CreateCertificate": { - "$ref": "./examples/CreateCertificate-example.json" - } - } - } - }, - "/certificates/{certificate-name}/import": { - "post": { - "tags": [ - "Certificates" - ], - "operationId": "ImportCertificate", - "summary": "Imports a certificate into a specified key vault.", - "description": "Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. This operation requires the certificates/import permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z-]+$", - "description": "The name of the certificate." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/CertificateImportParameters" - }, - "description": "The parameters to import the certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Imported certificate bundle to the vault.", - "schema": { - "$ref": "#/definitions/CertificateBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "ImportCertificate": { - "$ref": "./examples/ImportCertificate-example.json" - } - } - } - }, - "/certificates/{certificate-name}/versions": { - "get": { - "tags": [ - "Certificates" - ], - "operationId": "GetCertificateVersions", - "summary": "List the versions of a certificate.", - "description": "The GetCertificateVersions operation returns the versions of a certificate in the specified key vault. This operation requires the certificates/list permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate." - }, - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of certificates in the key vault along with a link to the next page of keys.", - "schema": { - "$ref": "#/definitions/CertificateListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetCertificateVersions": { - "$ref": "./examples/GetCertificateVersions-example.json" - } - } - } - }, - "/certificates/{certificate-name}/policy": { - "get": { - "tags": [ - "Certificates" - ], - "operationId": "GetCertificatePolicy", - "summary": "Lists the policy for a certificate.", - "description": "The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate in a given key vault." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The certificate policy.", - "schema": { - "$ref": "#/definitions/CertificatePolicy" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetCertificatePolicy": { - "$ref": "./examples/GetCertificatePolicy-example.json" - } - } - }, - "patch": { - "tags": [ - "Certificates" - ], - "operationId": "UpdateCertificatePolicy", - "summary": "Updates the policy for a certificate.", - "description": "Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate in the given vault." - }, - { - "name": "certificatePolicy", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CertificatePolicy" - }, - "description": "The policy for the certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The certificate policy", - "schema": { - "$ref": "#/definitions/CertificatePolicy" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "UpdateCertificatePolicy": { - "$ref": "./examples/UpdateCertificatePolicy-example.json" - } - } - } - }, - "/certificates/{certificate-name}/{certificate-version}": { - "patch": { - "tags": [ - "Certificates" - ], - "operationId": "UpdateCertificate", - "summary": "Updates the specified attributes associated with the given certificate.", - "description": "The UpdateCertificate operation applies the specified update on the given certificate; the only elements updated are the certificate's attributes. This operation requires the certificates/update permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate in the given key vault." - }, - { - "name": "certificate-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the certificate." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/CertificateUpdateParameters" - }, - "description": "The parameters for certificate update." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The updated certificate.", - "schema": { - "$ref": "#/definitions/CertificateBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "UpdateCertificate": { - "$ref": "./examples/UpdateCertificate-example.json" - } - } - }, - "get": { - "tags": [ - "Certificates" - ], - "operationId": "GetCertificate", - "summary": "Gets information about a certificate.", - "description": "Gets information about a specific certificate. This operation requires the certificates/get permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate in the given vault." - }, - { - "name": "certificate-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The retrieved certificate.", - "schema": { - "$ref": "#/definitions/CertificateBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetCertificate": { - "$ref": "./examples/GetCertificate-example.json" - } - } - } - }, - "/certificates/{certificate-name}/pending": { - "patch": { - "tags": [ - "Certificates" - ], - "operationId": "UpdateCertificateOperation", - "summary": "Updates a certificate operation.", - "description": "Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate." - }, - { - "name": "certificateOperation", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/CertificateOperationUpdateParameter" - }, - "description": "The certificate operation response." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A message containing the certificate operation response.", - "schema": { - "$ref": "#/definitions/CertificateOperation" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "UpdateCertificateOperation": { - "$ref": "./examples/UpdateCertificateOperation-example.json" - } - } - }, - "get": { - "tags": [ - "Certificates" - ], - "operationId": "GetCertificateOperation", - "summary": "Gets the creation operation of a certificate.", - "description": "Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The certificate operation response.", - "schema": { - "$ref": "#/definitions/CertificateOperation" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetCertificateOperation": { - "$ref": "./examples/GetCertificateOperation-example.json" - } - } - }, - "delete": { - "tags": [ - "Certificates" - ], - "operationId": "DeleteCertificateOperation", - "summary": "Deletes the creation operation for a specific certificate.", - "description": "Deletes the creation operation for a specified certificate that is in the process of being created. The certificate is no longer created. This operation requires the certificates/update permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A message containing the certificate operation response.", - "schema": { - "$ref": "#/definitions/CertificateOperation" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "DeleteCertificateOperation": { - "$ref": "./examples/DeleteCertificateOperation-example.json" - } - } - } - }, - "/certificates/{certificate-name}/pending/merge": { - "post": { - "tags": [ - "Certificates" - ], - "operationId": "MergeCertificate", - "summary": "Merges a certificate or a certificate chain with a key pair existing on the server.", - "description": "The MergeCertificate operation performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/CertificateMergeParameters" - }, - "description": "The parameters to merge certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Merged certificate bundle to the vault.", - "schema": { - "$ref": "#/definitions/CertificateBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "MergeCertificate": { - "$ref": "./examples/MergeCertificate-example.json" - } - } - } - }, - "/certificates/{certificate-name}/backup": { - "post": { - "tags": [ - "Certificates" - ], - "operationId": "BackupCertificate", - "summary": "Backs up the specified certificate.", - "description": "Requests that a backup of the specified certificate be downloaded to the client. All versions of the certificate will be downloaded. This operation requires the certificates/backup permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The backup blob containing the backed up certificate.", - "schema": { - "$ref": "#/definitions/BackupCertificateResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "BackupCertificate": { - "$ref": "./examples/BackupCertificate-example.json" - } - } - } - }, - "/certificates/restore": { - "post": { - "tags": [ - "Certificates" - ], - "operationId": "RestoreCertificate", - "summary": "Restores a backed up certificate to a vault.", - "description": "Restores a backed up certificate, and all its versions, to a vault. This operation requires the certificates/restore permission.", - "parameters": [ - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/CertificateRestoreParameters" - }, - "description": "The parameters to restore the certificate." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Restored certificate bundle in the vault.", - "schema": { - "$ref": "#/definitions/CertificateBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "RestoreCertificate": { - "$ref": "./examples/RestoreCertificate-example.json" - } - } - } - }, - "/deletedcertificates": { - "get": { - "tags": [ - "DeletedCertificates" - ], - "operationId": "GetDeletedCertificates", - "summary": "Lists the deleted certificates in the specified vault currently available for recovery.", - "description": "The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "name": "includePending", - "in": "query", - "required": false, - "type": "boolean", - "description": "Specifies whether to include certificates which are not completely provisioned." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates", - "schema": { - "$ref": "#/definitions/DeletedCertificateListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetDeletedCertificates": { - "$ref": "./examples/GetDeletedCertificates-example.json" - } - } - } - }, - "/deletedcertificates/{certificate-name}": { - "get": { - "tags": [ - "DeletedCertificates" - ], - "operationId": "GetDeletedCertificate", - "summary": "Retrieves information about the specified deleted certificate.", - "description": "The GetDeletedCertificate operation retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level. This operation requires the certificates/get permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A Certificate bundle of the certificate and its attributes", - "schema": { - "$ref": "#/definitions/DeletedCertificateBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetDeletedCertificate": { - "$ref": "./examples/GetDeletedCertificate-example.json" - } - } - }, - "delete": { - "tags": [ - "DeletedCertificates" - ], - "operationId": "PurgeDeletedCertificate", - "summary": "Permanently deletes the specified deleted certificate.", - "description": "The PurgeDeletedCertificate operation performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the certificate" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "204": { - "description": "No content signaling that the certificate was purged forever." - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "PurgeDeletedCertificate": { - "$ref": "./examples/PurgeDeletedCertificate-example.json" - } - } - } - }, - "/deletedcertificates/{certificate-name}/recover": { - "post": { - "tags": [ - "DeletedCertificates" - ], - "operationId": "RecoverDeletedCertificate", - "summary": "Recovers the deleted certificate back to its current version under /certificates.", - "description": "The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval (available in the deleted certificate's attributes). This operation requires the certificates/recover permission.", - "parameters": [ - { - "name": "certificate-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deleted certificate" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A Certificate bundle of the original certificate and its attributes", - "schema": { - "$ref": "#/definitions/CertificateBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "RecoverDeletedCertificate": { - "$ref": "./examples/RecoverDeletedCertificate-example.json" - } - } - } - } - }, - "definitions": { - "CertificateAttributes": { - "allOf": [ - { - "$ref": "common.json#/definitions/Attributes" - } - ], - "properties": { - "recoverableDays": { - "type": "integer", - "format": "int32", - "readOnly": true, - "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." - }, - "recoveryLevel": { - "type": "string", - "description": "Reflects the deletion recovery level currently in effect for certificates in the current vault. If it contains 'Purgeable', the certificate can be permanently deleted by a privileged user; otherwise, only the system can purge the certificate, at the end of the retention interval.", - "enum": [ - "Purgeable", - "Recoverable+Purgeable", - "Recoverable", - "Recoverable+ProtectedSubscription", - "CustomizedRecoverable+Purgeable", - "CustomizedRecoverable", - "CustomizedRecoverable+ProtectedSubscription" - ], - "x-ms-enum": { - "name": "DeletionRecoveryLevel", - "modelAsString": true - }, - "readOnly": true, - "x-nullable": false - } - }, - "description": "The certificate management attributes." - }, - "CertificateItem": { - "properties": { - "id": { - "type": "string", - "description": "Certificate identifier." - }, - "attributes": { - "$ref": "#/definitions/CertificateAttributes", - "description": "The certificate management attributes." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "x5t": { - "x-ms-client-name": "X509Thumbprint", - "type": "string", - "format": "base64url", - "description": "Thumbprint of the certificate." - } - }, - "description": "The certificate item containing certificate metadata." - }, - "CertificateIssuerItem": { - "properties": { - "id": { - "type": "string", - "description": "Certificate Identifier." - }, - "provider": { - "type": "string", - "description": "The issuer provider." - } - }, - "description": "The certificate issuer item containing certificate issuer metadata." - }, - "CertificateBundle": { - "properties": { - "id": { - "type": "string", - "description": "The certificate id.", - "readOnly": true - }, - "kid": { - "type": "string", - "description": "The key id.", - "readOnly": true - }, - "sid": { - "type": "string", - "description": "The secret id.", - "readOnly": true - }, - "x5t": { - "x-ms-client-name": "X509Thumbprint", - "type": "string", - "format": "base64url", - "description": "Thumbprint of the certificate.", - "readOnly": true - }, - "policy": { - "$ref": "#/definitions/CertificatePolicy", - "description": "The management policy.", - "readOnly": true - }, - "cer": { - "type": "string", - "format": "byte", - "description": "CER contents of x509 certificate." - }, - "contentType": { - "type": "string", - "description": "The content type of the secret." - }, - "attributes": { - "$ref": "#/definitions/CertificateAttributes", - "description": "The certificate attributes." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs" - } - }, - "description": "A certificate bundle consists of a certificate (X509) plus its attributes." - }, - "DeletedCertificateBundle": { - "allOf": [ - { - "$ref": "#/definitions/CertificateBundle" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted certificate." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the certificate is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the certificate was deleted, in UTC" - } - }, - "description": "A Deleted Certificate consisting of its previous id, attributes and its tags, as well as information on when it will be purged." - }, - "DeletedCertificateItem": { - "allOf": [ - { - "$ref": "#/definitions/CertificateItem" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted certificate." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the certificate is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the certificate was deleted, in UTC" - } - }, - "description": "The deleted certificate item containing metadata about the deleted certificate." - }, - "CertificateOperation": { - "properties": { - "id": { - "type": "string", - "description": "The certificate id.", - "readOnly": true - }, - "issuer": { - "x-ms-client-name": "IssuerParameters", - "$ref": "#/definitions/IssuerParameters", - "description": "Parameters for the issuer of the X509 component of a certificate." - }, - "csr": { - "type": "string", - "format": "byte", - "description": "The certificate signing request (CSR) that is being used in the certificate operation." - }, - "cancellation_requested": { - "type": "boolean", - "description": "Indicates if cancellation was requested on the certificate operation." - }, - "status": { - "type": "string", - "description": "Status of the certificate operation." - }, - "status_details": { - "type": "string", - "description": "The status details of the certificate operation." - }, - "error": { - "$ref": "common.json#/definitions/Error", - "description": "Error encountered, if any, during the certificate operation." - }, - "target": { - "type": "string", - "description": "Location which contains the result of the certificate operation." - }, - "request_id": { - "type": "string", - "description": "Identifier for the certificate operation." - } - }, - "description": "A certificate operation is returned in case of asynchronous requests." - }, - "CertificatePolicy": { - "properties": { - "id": { - "type": "string", - "description": "The certificate id.", - "readOnly": true - }, - "key_props": { - "x-ms-client-name": "KeyProperties", - "$ref": "keys.json#/definitions/KeyProperties", - "description": "Properties of the key backing a certificate." - }, - "secret_props": { - "x-ms-client-name": "SecretProperties", - "$ref": "secrets.json#/definitions/SecretProperties", - "description": "Properties of the secret backing a certificate." - }, - "x509_props": { - "x-ms-client-name": "X509CertificateProperties", - "$ref": "#/definitions/X509CertificateProperties", - "description": "Properties of the X509 component of a certificate." - }, - "lifetime_actions": { - "type": "array", - "items": { - "$ref": "#/definitions/LifetimeAction" - }, - "description": "Actions that will be performed by Key Vault over the lifetime of a certificate." - }, - "issuer": { - "x-ms-client-name": "IssuerParameters", - "$ref": "#/definitions/IssuerParameters", - "description": "Parameters for the issuer of the X509 component of a certificate." - }, - "attributes": { - "$ref": "#/definitions/CertificateAttributes", - "description": "The certificate attributes." - } - }, - "description": "Management policy for a certificate." - }, - "X509CertificateProperties": { - "properties": { - "subject": { - "type": "string", - "description": "The subject name. Should be a valid X509 distinguished Name." - }, - "ekus": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The enhanced key usage." - }, - "sans": { - "x-ms-client-name": "SubjectAlternativeNames", - "$ref": "#/definitions/SubjectAlternativeNames", - "description": "The subject alternative names." - }, - "key_usage": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "digitalSignature", - "nonRepudiation", - "keyEncipherment", - "dataEncipherment", - "keyAgreement", - "keyCertSign", - "cRLSign", - "encipherOnly", - "decipherOnly" - ], - "x-ms-enum": { - "name": "KeyUsageType", - "modelAsString": true - } - }, - "description": "List of key usages." - }, - "validity_months": { - "x-ms-client-name": "ValidityInMonths", - "type": "integer", - "format": "int32", - "minimum": 0, - "description": "The duration that the certificate is valid in months." - } - }, - "description": "Properties of the X509 component of a certificate." - }, - "IssuerParameters": { - "properties": { - "name": { - "type": "string", - "description": "Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'." - }, - "cty": { - "x-ms-client-name": "CertificateType", - "type": "string", - "description": "Certificate type as supported by the provider (optional); for example 'OV-SSL', 'EV-SSL'" - }, - "cert_transparency": { - "x-ms-client-name": "CertificateTransparency", - "type": "boolean", - "description": "Indicates if the certificates generated under this policy should be published to certificate transparency logs." - } - }, - "description": "Parameters for the issuer of the X509 component of a certificate." - }, - "LifetimeAction": { - "properties": { - "trigger": { - "$ref": "#/definitions/Trigger", - "description": "The condition that will execute the action." - }, - "action": { - "$ref": "#/definitions/Action", - "description": "The action that will be executed." - } - }, - "description": "Action and its trigger that will be performed by Key Vault over the lifetime of a certificate." - }, - "Action": { - "properties": { - "action_type": { - "type": "string", - "description": "The type of the action.", - "enum": [ - "EmailContacts", - "AutoRenew" - ], - "x-ms-enum": { - "name": "ActionType", - "modelAsString": false - } - } - }, - "description": "The action that will be executed." - }, - "Trigger": { - "properties": { - "lifetime_percentage": { - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 99, - "description": "Percentage of lifetime at which to trigger. Value should be between 1 and 99." - }, - "days_before_expiry": { - "type": "integer", - "format": "int32", - "description": "Days before expiry to attempt renewal. Value should be between 1 and validity_in_months multiplied by 27. If validity_in_months is 36, then value should be between 1 and 972 (36 * 27)." - } - }, - "description": "A condition to be satisfied for an action to be executed." - }, - "SubjectAlternativeNames": { - "properties": { - "emails": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Email addresses." - }, - "dns_names": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Domain names." - }, - "upns": { - "type": "array", - "items": { - "type": "string" - }, - "description": "User principal names." - } - }, - "description": "The subject alternate names of a X509 object." - }, - "IssuerBundle": { - "properties": { - "id": { - "type": "string", - "description": "Identifier for the issuer object.", - "readOnly": true - }, - "provider": { - "type": "string", - "description": "The issuer provider." - }, - "credentials": { - "$ref": "#/definitions/IssuerCredentials", - "description": "The credentials to be used for the issuer." - }, - "org_details": { - "x-ms-client-name": "OrganizationDetails", - "$ref": "#/definitions/OrganizationDetails", - "description": "Details of the organization as provided to the issuer." - }, - "attributes": { - "$ref": "#/definitions/IssuerAttributes", - "description": "Attributes of the issuer object." - } - }, - "description": "The issuer for Key Vault certificate." - }, - "IssuerAttributes": { - "properties": { - "enabled": { - "type": "boolean", - "description": "Determines whether the issuer is enabled." - }, - "created": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "Creation time in UTC." - }, - "updated": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "Last updated time in UTC." - } - }, - "description": "The attributes of an issuer managed by the Key Vault service." - }, - "IssuerCredentials": { - "properties": { - "account_id": { - "type": "string", - "description": "The user name/account name/account id." - }, - "pwd": { - "x-ms-client-name": "Password", - "type": "string", - "description": "The password/secret/account key." - } - }, - "description": "The credentials to be used for the certificate issuer." - }, - "OrganizationDetails": { - "properties": { - "id": { - "type": "string", - "description": "Id of the organization." - }, - "admin_details": { - "type": "array", - "items": { - "$ref": "#/definitions/AdministratorDetails" - }, - "description": "Details of the organization administrator." - } - }, - "description": "Details of the organization of the certificate issuer." - }, - "AdministratorDetails": { - "properties": { - "first_name": { - "type": "string", - "description": "First name." - }, - "last_name": { - "type": "string", - "description": "Last name." - }, - "email": { - "x-ms-client-name": "EmailAddress", - "type": "string", - "description": "Email address." - }, - "phone": { - "type": "string", - "description": "Phone number." - } - }, - "description": "Details of the organization administrator of the certificate issuer." - }, - "Contacts": { - "properties": { - "id": { - "type": "string", - "description": "Identifier for the contacts collection.", - "readOnly": true - }, - "contacts": { - "x-ms-client-name": "ContactList", - "type": "array", - "items": { - "$ref": "#/definitions/Contact" - }, - "description": "The contact list for the vault certificates." - } - }, - "description": "The contacts for the vault certificates." - }, - "Contact": { - "properties": { - "email": { - "x-ms-client-name": "EmailAddress", - "type": "string", - "description": "Email address." - }, - "name": { - "type": "string", - "description": "Name." - }, - "phone": { - "type": "string", - "description": "Phone number." - } - }, - "description": "The contact information for the vault certificates." - }, - "CertificateCreateParameters": { - "properties": { - "policy": { - "x-ms-client-name": "CertificatePolicy", - "$ref": "#/definitions/CertificatePolicy", - "description": "The management policy for the certificate." - }, - "attributes": { - "x-ms-client-name": "CertificateAttributes", - "$ref": "#/definitions/CertificateAttributes", - "description": "The attributes of the certificate (optional)." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The certificate create parameters." - }, - "CertificateImportParameters": { - "properties": { - "value": { - "x-ms-client-name": "base64EncodedCertificate", - "type": "string", - "description": "Base64 encoded representation of the certificate object to import. This certificate needs to contain the private key." - }, - "pwd": { - "x-ms-client-name": "password", - "type": "string", - "description": "If the private key in base64EncodedCertificate is encrypted, the password used for encryption." - }, - "policy": { - "x-ms-client-name": "CertificatePolicy", - "$ref": "#/definitions/CertificatePolicy", - "description": "The management policy for the certificate." - }, - "attributes": { - "x-ms-client-name": "CertificateAttributes", - "$ref": "#/definitions/CertificateAttributes", - "description": "The attributes of the certificate (optional)." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The certificate import parameters.", - "required": [ - "value" - ] - }, - "CertificateUpdateParameters": { - "properties": { - "policy": { - "x-ms-client-name": "CertificatePolicy", - "$ref": "#/definitions/CertificatePolicy", - "description": "The management policy for the certificate." - }, - "attributes": { - "x-ms-client-name": "CertificateAttributes", - "$ref": "#/definitions/CertificateAttributes", - "description": "The attributes of the certificate (optional)." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The certificate update parameters." - }, - "CertificateMergeParameters": { - "properties": { - "x5c": { - "x-ms-client-name": "x509Certificates", - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "The certificate or the certificate chain to merge." - }, - "attributes": { - "x-ms-client-name": "CertificateAttributes", - "$ref": "#/definitions/CertificateAttributes", - "description": "The attributes of the certificate (optional)." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The certificate merge parameters", - "required": [ - "x5c" - ] - }, - "CertificateIssuerSetParameters": { - "properties": { - "provider": { - "type": "string", - "description": "The issuer provider." - }, - "credentials": { - "$ref": "#/definitions/IssuerCredentials", - "description": "The credentials to be used for the issuer." - }, - "org_details": { - "x-ms-client-name": "OrganizationDetails", - "$ref": "#/definitions/OrganizationDetails", - "description": "Details of the organization as provided to the issuer." - }, - "attributes": { - "$ref": "#/definitions/IssuerAttributes", - "description": "Attributes of the issuer object." - } - }, - "description": "The certificate issuer set parameters.", - "required": [ - "provider" - ] - }, - "CertificateIssuerUpdateParameters": { - "properties": { - "provider": { - "type": "string", - "description": "The issuer provider." - }, - "credentials": { - "$ref": "#/definitions/IssuerCredentials", - "description": "The credentials to be used for the issuer." - }, - "org_details": { - "x-ms-client-name": "OrganizationDetails", - "$ref": "#/definitions/OrganizationDetails", - "description": "Details of the organization as provided to the issuer." - }, - "attributes": { - "$ref": "#/definitions/IssuerAttributes", - "description": "Attributes of the issuer object." - } - }, - "description": "The certificate issuer update parameters." - }, - "CertificateOperationUpdateParameter": { - "properties": { - "cancellation_requested": { - "type": "boolean", - "description": "Indicates if cancellation was requested on the certificate operation." - } - }, - "description": "The certificate operation update parameters.", - "required": [ - "cancellation_requested" - ] - }, - "CertificateListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/CertificateItem" - }, - "readOnly": true, - "description": "A response message containing a list of certificates in the key vault along with a link to the next page of certificates." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of certificates." - } - }, - "description": "The certificate list result." - }, - "DeletedCertificateListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DeletedCertificateItem" - }, - "readOnly": true, - "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates" - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of deleted certificates." - } - }, - "description": "A list of certificates that have been deleted in this vault." - }, - "CertificateIssuerListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/CertificateIssuerItem" - }, - "readOnly": true, - "description": "A response message containing a list of certificate issuers in the key vault along with a link to the next page of certificate issuers." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of certificate issuers." - } - }, - "description": "The certificate issuer list result." - }, - "PendingCertificateSigningRequestResult": { - "properties": { - "value": { - "type": "string", - "readOnly": true, - "description": "The pending certificate signing request as Base64 encoded string." - } - }, - "description": "The pending certificate signing request result." - }, - "CertificateRestoreParameters": { - "properties": { - "value": { - "type": "string", - "x-ms-client-name": "certificateBundleBackup", - "format": "base64url", - "description": "The backup blob associated with a certificate bundle." - } - }, - "description": "The certificate restore parameters.", - "required": [ - "value" - ] - }, - "BackupCertificateResult": { - "properties": { - "value": { - "type": "string", - "format": "base64url", - "readOnly": true, - "description": "The backup blob containing the backed up certificate." - } - }, - "description": "The backup certificate result, containing the backup blob." - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." - } - } -} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/common.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/common.json deleted file mode 100644 index 6b913677029b..000000000000 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/common.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "KeyVaultClient", - "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", - "version": "7.2-preview" - }, - "paths": {}, - "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 UTC." - }, - "exp": { - "x-ms-client-name": "Expires", - "type": "integer", - "format": "unixtime", - "description": "Expiry date in UTC." - }, - "created": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "Creation time in UTC." - }, - "updated": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "Last updated time in UTC." - } - }, - "description": "The object attributes managed by the KeyVault service." - }, - "KeyVaultError": { - "properties": { - "error": { - "readOnly": true, - "$ref": "#/definitions/Error" - } - }, - "description": "The key vault error exception." - }, - "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, - "$ref": "#/definitions/Error" - } - }, - "description": "The key vault server error." - } - } -} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/keys.json deleted file mode 100644 index 755c98196453..000000000000 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/keys.json +++ /dev/null @@ -1,1914 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "KeyVaultClient", - "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", - "version": "7.2-preview" - }, - "x-ms-parameterized-host": { - "hostTemplate": "{vaultBaseUrl}", - "useSchemePrefix": false, - "positionInOperation": "first", - "parameters": [ - { - "name": "vaultBaseUrl", - "description": "The vault name, for example https://myvault.vault.azure.net.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - } - ] - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/keys/{key-name}/create": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "CreateKey", - "summary": "Creates a new key, stores it, then returns key parameters and attributes to the client.", - "description": "The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z-]+$", - "description": "The name for the new key. The system will generate the version name for the new key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyCreateParameters" - }, - "description": "The parameters to create a key." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A key bundle containing the result of the create key request.", - "schema": { - "$ref": "#/definitions/KeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Create key": { - "$ref": "./examples/CreateKey-example.json" - } - } - } - }, - "/keys/{key-name}": { - "put": { - "tags": [ - "Keys" - ], - "operationId": "ImportKey", - "summary": "Imports an externally created key, stores it, and returns key parameters and attributes to the client.", - "description": "The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. This operation requires the keys/import permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z-]+$", - "description": "Name for the imported key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyImportParameters" - }, - "description": "The parameters to import a key." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Imported key bundle to the vault.", - "schema": { - "$ref": "#/definitions/KeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Import key": { - "$ref": "./examples/ImportKey-example.json" - } - } - }, - "delete": { - "tags": [ - "Keys" - ], - "operationId": "DeleteKey", - "summary": "Deletes a key of any type from storage in Azure Key Vault.", - "description": "The delete key operation cannot be used to remove individual versions of a key. This operation removes the cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the keys/delete permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key to delete." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The public part of the deleted key and deletion information on when the key will be purged.", - "schema": { - "$ref": "#/definitions/DeletedKeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Delete key": { - "$ref": "./examples/DeleteKey-example.json" - } - } - } - }, - "/keys/{key-name}/{key-version}": { - "patch": { - "tags": [ - "Keys" - ], - "operationId": "UpdateKey", - "summary": "The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Azure Key Vault.", - "description": "In order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic material of a key itself cannot be changed. This operation requires the keys/update permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of key to update." - }, - { - "name": "key-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the key to update." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyUpdateParameters" - }, - "description": "The parameters of the key to update." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The updated key.", - "schema": { - "$ref": "#/definitions/KeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Update key": { - "$ref": "./examples/UpdateKey-example.json" - } - } - }, - "get": { - "tags": [ - "Keys" - ], - "operationId": "GetKey", - "summary": "Gets the public part of a stored key.", - "description": "The get key operation is applicable to all key types. If the requested key is symmetric, then no key material is released in the response. This operation requires the keys/get permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key to get." - }, - { - "name": "key-version", - "in": "path", - "required": true, - "type": "string", - "description": "Adding the version parameter retrieves a specific version of a key." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A key bundle containing the key and its attributes.", - "schema": { - "$ref": "#/definitions/KeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Get key": { - "$ref": "./examples/GetKey-example.json" - } - } - } - }, - "/keys/{key-name}/versions": { - "get": { - "tags": [ - "Keys" - ], - "operationId": "GetKeyVersions", - "summary": "Retrieves a list of individual key versions with the same key name.", - "description": "The full key identifier, attributes, and tags are provided in the response. This operation requires the keys/list permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of keys along with a link to the next page of keys.", - "schema": { - "$ref": "#/definitions/KeyListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetKeyVersions": { - "$ref": "./examples/GetKeyVersions-example.json" - } - } - } - }, - "/keys": { - "get": { - "tags": [ - "Keys" - ], - "operationId": "GetKeys", - "summary": "List keys in the specified vault.", - "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier, attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. This operation requires the keys/list permission.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of keys in the vault along with a link to the next page of keys.", - "schema": { - "$ref": "#/definitions/KeyListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetKeys": { - "$ref": "./examples/GetKeys-example.json" - } - } - } - }, - "/keys/{key-name}/backup": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "BackupKey", - "summary": "Requests that a backup of the specified key be downloaded to the client.", - "description": "The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This operation requires the key/backup permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The backup blob containing the backed up key.", - "schema": { - "$ref": "#/definitions/BackupKeyResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "BackupKey": { - "$ref": "./examples/BackupKey-example.json" - } - } - } - }, - "/keys/restore": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "RestoreKey", - "summary": "Restores a backed up key to a vault.", - "description": "Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be rejected. While the key name is retained during restore, the final key identifier will change if the key is restored to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in the target Key Vault. This operation requires the keys/restore permission.", - "parameters": [ - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyRestoreParameters" - }, - "description": "The parameters to restore the key." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Restored key bundle in the vault.", - "schema": { - "$ref": "#/definitions/KeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "RestoreKey": { - "$ref": "./examples/RestoreKey-example.json" - } - } - } - }, - "/keys/{key-name}/{key-version}/encrypt": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "encrypt", - "summary": "Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.", - "description": "The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/encrypt permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "name": "key-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyOperationsParameters" - }, - "description": "The parameters for the encryption operation." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The encryption result.", - "schema": { - "$ref": "#/definitions/KeyOperationResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Encrypt example": { - "$ref": "./examples/encrypt-example.json" - } - } - } - }, - "/keys/{key-name}/{key-version}/decrypt": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "decrypt", - "summary": "Decrypts a single block of encrypted data.", - "description": "The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/decrypt permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "name": "key-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyOperationsParameters" - }, - "description": "The parameters for the decryption operation." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The decryption result.", - "schema": { - "$ref": "#/definitions/KeyOperationResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Decrypt example": { - "$ref": "./examples/decrypt-example.json" - } - } - } - }, - "/keys/{key-name}/{key-version}/sign": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "sign", - "summary": "Creates a signature from a digest using the specified key.", - "description": "The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this operation uses the private portion of the key. This operation requires the keys/sign permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "name": "key-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeySignParameters" - }, - "description": "The parameters for the signing operation." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The signature value.", - "schema": { - "$ref": "#/definitions/KeyOperationResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Sign": { - "$ref": "./examples/sign-example.json" - } - } - } - }, - "/keys/{key-name}/{key-version}/verify": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "verify", - "summary": "Verifies a signature using a specified key.", - "description": "The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the public portion of the key but this operation is supported as a convenience for callers that only have a key-reference and not the public portion of the key. This operation requires the keys/verify permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "name": "key-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyVerifyParameters" - }, - "description": "The parameters for verify operations." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The verification result.", - "schema": { - "$ref": "#/definitions/KeyVerifyResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Verify": { - "$ref": "./examples/verify-example.json" - } - } - } - }, - "/keys/{key-name}/{key-version}/wrapkey": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "wrapKey", - "summary": "Wraps a symmetric key using a specified key.", - "description": "The WRAP operation supports encryption of a symmetric key using a key encryption key that has previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/wrapKey permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "name": "key-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyOperationsParameters" - }, - "description": "The parameters for wrap operation." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The wrapped symmetric key.", - "schema": { - "$ref": "#/definitions/KeyOperationResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Wrapkey": { - "$ref": "./examples/wrapKey-example.json" - } - } - } - }, - "/keys/{key-name}/{key-version}/unwrapkey": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "unwrapKey", - "summary": "Unwraps a symmetric key using the specified key that was initially used for wrapping that key.", - "description": "The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/unwrapKey permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "name": "key-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyOperationsParameters" - }, - "description": "The parameters for the key operation." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The unwrapped symmetric key.", - "schema": { - "$ref": "#/definitions/KeyOperationResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Unwrapkey": { - "$ref": "./examples/unwrapKey-example.json" - } - } - } - }, - "/keys/{key-name}/{key-version}/export": { - "post": { - "tags": [ - "Keys" - ], - "operationId": "exportKey", - "summary": "Exports a key.", - "description": "The export key operation is applicable to all key types. The target key must be marked exportable. This operation requires the keys/export permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key to get." - }, - { - "name": "key-version", - "required": true, - "in": "path", - "type": "string", - "description": "Adding the version parameter retrieves a specific version of a key." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/KeyExportParameters" - }, - "description": "The parameters for the key export operation." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A key bundle containing the key and its attributes.", - "schema": { - "$ref": "#/definitions/KeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Export key": { - "$ref": "./examples/ExportKey-example.json" - } - } - } - }, - "/deletedkeys": { - "get": { - "tags": [ - "DeletedKeys" - ], - "operationId": "GetDeletedKeys", - "summary": "Lists the deleted keys in the specified vault.", - "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a deleted key. This operation includes deletion-specific information. The Get Deleted Keys operation is applicable for vaults enabled for soft-delete. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/list permission.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys.", - "schema": { - "$ref": "#/definitions/DeletedKeyListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetDeletedKeys": { - "$ref": "./examples/GetDeletedKeys-example.json" - } - } - } - }, - "/deletedkeys/{key-name}": { - "get": { - "tags": [ - "DeletedKeys" - ], - "operationId": "GetDeletedKey", - "summary": "Gets the public part of a deleted key.", - "description": "The Get Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/get permission. ", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion information.", - "schema": { - "$ref": "#/definitions/DeletedKeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetDeletedKey": { - "$ref": "./examples/GetDeletedKey-example.json" - } - } - }, - "delete": { - "tags": [ - "DeletedKeys" - ], - "operationId": "PurgeDeletedKey", - "summary": "Permanently deletes the specified key.", - "description": "The Purge Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/purge permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the key" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "204": { - "description": "No content, signaling that the key was permanently purged." - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "PurgeDeletedKey": { - "$ref": "./examples/PurgeDeletedKey-example.json" - } - } - } - }, - "/deletedkeys/{key-name}/recover": { - "post": { - "tags": [ - "DeletedKeys" - ], - "operationId": "RecoverDeletedKey", - "summary": "Recovers the deleted key to its latest version.", - "description": "The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. It recovers the deleted key back to its latest version under /keys. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation requires the keys/recover permission.", - "parameters": [ - { - "name": "key-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deleted key." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A Key bundle of the original key and its attributes", - "schema": { - "$ref": "#/definitions/KeyBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "RecoverDeletedKey": { - "$ref": "./examples/RecoverDeletedKey-example.json" - } - } - } - } - }, - "definitions": { - "KeyReleaseCondition": { - "properties": { - "claim": { - "x-ms-client-name": "claimType", - "type": "string", - "minLength": 1, - "description": "claim type name" - }, - "condition": { - "x-ms-client-name": "claimCondition", - "type": "string", - "minLength": 1, - "description": "condition to test", - "enum": [ - "equals" - ], - "x-ms-enum": { - "name": "KeyReleaseConditionCondition", - "modelAsString": true, - "values": [ - { - "value": "equals", - "description": "equals comparison." - } - ] - } - }, - "value": { - "type": "string" - } - } - }, - "KeyReleaseAuthority": { - "properties": { - "authority": { - "x-ms-client-name": "authorityURL", - "type": "string", - "minLength": 1, - "description": "Base URL of the attestation service." - }, - "allOf": { - "type": "array", - "items": { - "$ref": "#/definitions/KeyReleaseCondition", - "description": "The set of claim conditions that must be met." - } - } - } - }, - "KeyReleasePolicy": { - "properties": { - "version": { - "description": "key release policy version", - "type": "string", - "enum": [ - "0.2" - ], - "x-ms-enum": { - "name": "KeyReleasePolicyVersion", - "modelAsString": true, - "values": [ - { - "value": "0.2", - "description": "Schema version 0.2" - } - ] - } - }, - "anyOf": { - "type": "array", - "items": { - "$ref": "#/definitions/KeyReleaseAuthority", - "description": "Authorities." - } - } - } - }, - "JsonWebKey": { - "properties": { - "kid": { - "type": "string", - "description": "Key identifier." - }, - "kty": { - "type": "string", - "description": "JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.", - "enum": [ - "EC", - "EC-HSM", - "RSA", - "RSA-HSM", - "oct", - "oct-HSM" - ], - "x-ms-enum": { - "name": "JsonWebKeyType", - "modelAsString": true, - "values": [ - { - "value": "EC", - "description": "Elliptic Curve." - }, - { - "value": "EC-HSM", - "description": "Elliptic Curve with a private key which is not exportable from the HSM." - }, - { - "value": "RSA", - "description": "RSA (https://tools.ietf.org/html/rfc3447)" - }, - { - "value": "RSA-HSM", - "description": "RSA with a private key which is not exportable from the HSM." - }, - { - "value": "oct", - "description": "Octet sequence (used to represent symmetric keys)" - }, - { - "value": "oct-HSM", - "description": "Octet sequence (used to represent symmetric keys) which is not exportable from the HSM." - } - ] - } - }, - "key_ops": { - "type": "array", - "items": { - "type": "string", - "description": "Supported key operations." - } - }, - "n": { - "type": "string", - "format": "base64url", - "description": "RSA modulus." - }, - "e": { - "type": "string", - "format": "base64url", - "description": "RSA public exponent." - }, - "d": { - "type": "string", - "format": "base64url", - "description": "RSA private exponent, or the D component of an EC private key." - }, - "dp": { - "x-ms-client-name": "DP", - "type": "string", - "format": "base64url", - "description": "RSA private key parameter." - }, - "dq": { - "x-ms-client-name": "DQ", - "type": "string", - "format": "base64url", - "description": "RSA private key parameter." - }, - "qi": { - "x-ms-client-name": "QI", - "type": "string", - "format": "base64url", - "description": "RSA private key parameter." - }, - "p": { - "type": "string", - "format": "base64url", - "description": "RSA secret prime." - }, - "q": { - "type": "string", - "format": "base64url", - "description": "RSA secret prime, with p < q." - }, - "k": { - "type": "string", - "format": "base64url", - "description": "Symmetric key." - }, - "key_hsm": { - "x-ms-client-name": "t", - "type": "string", - "format": "base64url", - "description": "Protected Key, used with 'Bring Your Own Key'." - }, - "crv": { - "type": "string", - "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", - "enum": [ - "P-256", - "P-384", - "P-521", - "P-256K" - ], - "x-ms-enum": { - "name": "JsonWebKeyCurveName", - "modelAsString": true, - "values": [ - { - "value": "P-256", - "description": "The NIST P-256 elliptic curve, AKA SECG curve SECP256R1." - }, - { - "value": "P-384", - "description": "The NIST P-384 elliptic curve, AKA SECG curve SECP384R1." - }, - { - "value": "P-521", - "description": "The NIST P-521 elliptic curve, AKA SECG curve SECP521R1." - }, - { - "value": "P-256K", - "description": "The SECG SECP256K1 elliptic curve." - } - ] - } - }, - "x": { - "type": "string", - "format": "base64url", - "description": "X component of an EC public key." - }, - "y": { - "type": "string", - "format": "base64url", - "description": "Y component of an EC public key." - } - }, - "description": "As of http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18" - }, - "KeyAttributes": { - "allOf": [ - { - "$ref": "common.json#/definitions/Attributes" - } - ], - "properties": { - "recoverableDays": { - "type": "integer", - "format": "int32", - "readOnly": true, - "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." - }, - "recoveryLevel": { - "type": "string", - "description": "Reflects the deletion recovery level currently in effect for keys in the current vault. If it contains 'Purgeable' the key can be permanently deleted by a privileged user; otherwise, only the system can purge the key, at the end of the retention interval.", - "enum": [ - "Purgeable", - "Recoverable+Purgeable", - "Recoverable", - "Recoverable+ProtectedSubscription", - "CustomizedRecoverable+Purgeable", - "CustomizedRecoverable", - "CustomizedRecoverable+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 attributes of a key managed by the key vault service." - }, - "KeyBundle": { - "properties": { - "key": { - "$ref": "#/definitions/JsonWebKey", - "description": "The Json web key." - }, - "attributes": { - "$ref": "#/definitions/KeyAttributes", - "description": "The key management attributes." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "managed": { - "type": "boolean", - "readOnly": true, - "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." - }, - "release_policy": { - "$ref": "#/definitions/KeyReleasePolicy", - "description": "The policy rules under which the key can be exported." - } - }, - "description": "A KeyBundle consisting of a WebKey plus its attributes." - }, - "KeyItem": { - "properties": { - "kid": { - "type": "string", - "description": "Key identifier." - }, - "attributes": { - "$ref": "#/definitions/KeyAttributes", - "description": "The key management attributes." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "managed": { - "type": "boolean", - "readOnly": true, - "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." - } - }, - "description": "The key item containing key metadata." - }, - "DeletedKeyBundle": { - "allOf": [ - { - "$ref": "#/definitions/KeyBundle" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted key." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the key is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the key was deleted, in UTC" - } - }, - "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion info" - }, - "DeletedKeyItem": { - "allOf": [ - { - "$ref": "#/definitions/KeyItem" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted key." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the key is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the key was deleted, in UTC" - } - }, - "description": "The deleted key item containing the deleted key metadata and information about deletion." - }, - "KeyProperties": { - "properties": { - "exportable": { - "type": "boolean", - "description": "Indicates if the private key can be exported." - }, - "kty": { - "x-ms-client-name": "keyType", - "type": "string", - "description": "The type of key pair to be used for the certificate.", - "enum": [ - "EC", - "EC-HSM", - "RSA", - "RSA-HSM", - "oct", - "oct-HSM" - ], - "x-ms-enum": { - "name": "JsonWebKeyType", - "modelAsString": true - } - }, - "key_size": { - "type": "integer", - "format": "int32", - "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." - }, - "reuse_key": { - "type": "boolean", - "description": "Indicates if the same key pair will be used on certificate renewal." - }, - "crv": { - "x-ms-client-name": "curve", - "type": "string", - "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", - "enum": [ - "P-256", - "P-384", - "P-521", - "P-256K" - ], - "x-ms-enum": { - "name": "JsonWebKeyCurveName", - "modelAsString": true - } - } - }, - "description": "Properties of the key pair backing a certificate." - }, - "KeyCreateParameters": { - "properties": { - "kty": { - "type": "string", - "minLength": 1, - "description": "The type of key to create. For valid values, see JsonWebKeyType.", - "enum": [ - "EC", - "EC-HSM", - "RSA", - "RSA-HSM", - "oct", - "oct-HSM" - ], - "x-ms-enum": { - "name": "JsonWebKeyType", - "modelAsString": true - } - }, - "key_size": { - "type": "integer", - "format": "int32", - "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." - }, - "public_exponent": { - "type": "integer", - "format": "int32", - "description": "The public exponent for a RSA key." - }, - "key_ops": { - "type": "array", - "items": { - "type": "string", - "description": "JSON web key operations. For more information, see JsonWebKeyOperation.", - "enum": [ - "encrypt", - "decrypt", - "sign", - "verify", - "wrapKey", - "unwrapKey", - "import", - "export" - ], - "x-ms-enum": { - "name": "JsonWebKeyOperation", - "modelAsString": true - } - } - }, - "attributes": { - "x-ms-client-name": "keyAttributes", - "$ref": "#/definitions/KeyAttributes" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "crv": { - "x-ms-client-name": "curve", - "type": "string", - "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", - "enum": [ - "P-256", - "P-384", - "P-521", - "P-256K" - ], - "x-ms-enum": { - "name": "JsonWebKeyCurveName", - "modelAsString": true - } - }, - "release_policy": { - "$ref": "#/definitions/KeyReleasePolicy", - "description": "The policy rules under which the key can be exported." - } - }, - "description": "The key create parameters.", - "required": [ - "kty" - ] - }, - "KeyImportParameters": { - "properties": { - "Hsm": { - "type": "boolean", - "description": "Whether to import as a hardware key (HSM) or software key." - }, - "key": { - "$ref": "#/definitions/JsonWebKey", - "description": "The Json web key" - }, - "attributes": { - "x-ms-client-name": "keyAttributes", - "$ref": "#/definitions/KeyAttributes", - "description": "The key management attributes." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "release_policy": { - "$ref": "#/definitions/KeyReleasePolicy", - "description": "The policy rules under which the key can be exported." - } - }, - "description": "The key import parameters.", - "required": [ - "key" - ] - }, - "KeyExportParameters": { - "properties": { - "env": { - "x-ms-client-name": "environment", - "type": "string", - "minLength": 1, - "description": "The target environment assertion." - } - }, - "description": "The export key parameters.", - "required": [ - "env" - ] - }, - "KeyOperationsParameters": { - "properties": { - "alg": { - "x-ms-client-name": "algorithm", - "type": "string", - "minLength": 1, - "description": "algorithm identifier", - "enum": [ - "RSA-OAEP", - "RSA-OAEP-256", - "RSA1_5", - "A128GCM", - "A192GCM", - "A256GCM", - "A128KW", - "A192KW", - "A256KW", - "A128CBC", - "A192CBC", - "A256CBC", - "A128CBCPAD", - "A192CBCPAD", - "A256CBCPAD" - ], - "x-ms-enum": { - "name": "JsonWebKeyEncryptionAlgorithm", - "modelAsString": true - } - }, - "value": { - "type": "string", - "format": "base64url" - }, - "iv": { - "type": "string", - "format": "base64url", - "description": "Initialization vector for symmetric algorithms." - }, - "aad": { - "type": "string", - "format": "base64url", - "description": "Additional data to authenticate but not encrypt/decrypt when using authenticated crypto algorithms." - }, - "tag": { - "type": "string", - "format": "base64url", - "description": "The tag to authenticate when performing decryption with an authenticated algorithm." - } - }, - "description": "The key operations parameters.", - "required": [ - "alg", - "value" - ] - }, - "KeySignParameters": { - "properties": { - "alg": { - "x-ms-client-name": "algorithm", - "type": "string", - "minLength": 1, - "description": "The signing/verification algorithm identifier. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.", - "enum": [ - "PS256", - "PS384", - "PS512", - "RS256", - "RS384", - "RS512", - "RSNULL", - "ES256", - "ES384", - "ES512", - "ES256K" - ], - "x-ms-enum": { - "name": "JsonWebKeySignatureAlgorithm", - "modelAsString": true, - "values": [ - { - "value": "PS256", - "description": "RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in https://tools.ietf.org/html/rfc7518" - }, - { - "value": "PS384", - "description": "RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in https://tools.ietf.org/html/rfc7518" - }, - { - "value": "PS512", - "description": "RSASSA-PSS using SHA-512 and MGF1 with SHA-512, as described in https://tools.ietf.org/html/rfc7518" - }, - { - "value": "RS256", - "description": "RSASSA-PKCS1-v1_5 using SHA-256, as described in https://tools.ietf.org/html/rfc7518" - }, - { - "value": "RS384", - "description": "RSASSA-PKCS1-v1_5 using SHA-384, as described in https://tools.ietf.org/html/rfc7518" - }, - { - "value": "RS512", - "description": "RSASSA-PKCS1-v1_5 using SHA-512, as described in https://tools.ietf.org/html/rfc7518" - }, - { - "value": "RSNULL", - "description": "Reserved" - }, - { - "value": "ES256", - "description": "ECDSA using P-256 and SHA-256, as described in https://tools.ietf.org/html/rfc7518." - }, - { - "value": "ES384", - "description": "ECDSA using P-384 and SHA-384, as described in https://tools.ietf.org/html/rfc7518" - }, - { - "value": "ES512", - "description": "ECDSA using P-521 and SHA-512, as described in https://tools.ietf.org/html/rfc7518" - }, - { - "value": "ES256K", - "description": "ECDSA using P-256K and SHA-256, as described in https://tools.ietf.org/html/rfc7518" - } - ] - } - }, - "value": { - "type": "string", - "format": "base64url" - } - }, - "description": "The key operations parameters.", - "required": [ - "alg", - "value" - ] - }, - "KeyVerifyParameters": { - "properties": { - "alg": { - "x-ms-client-name": "algorithm", - "type": "string", - "minLength": 1, - "description": "The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.", - "enum": [ - "PS256", - "PS384", - "PS512", - "RS256", - "RS384", - "RS512", - "RSNULL", - "ES256", - "ES384", - "ES512", - "ES256K" - ], - "x-ms-enum": { - "name": "JsonWebKeySignatureAlgorithm", - "modelAsString": true - } - }, - "digest": { - "type": "string", - "format": "base64url", - "description": "The digest used for signing." - }, - "value": { - "x-ms-client-name": "signature", - "type": "string", - "format": "base64url", - "description": "The signature to be verified." - } - }, - "description": "The key verify parameters.", - "required": [ - "alg", - "digest", - "value" - ] - }, - "KeyUpdateParameters": { - "properties": { - "key_ops": { - "type": "array", - "items": { - "type": "string", - "description": "JSON web key operations. For more information, see JsonWebKeyOperation.", - "enum": [ - "encrypt", - "decrypt", - "sign", - "verify", - "wrapKey", - "unwrapKey", - "import", - "export" - ], - "x-ms-enum": { - "name": "JsonWebKeyOperation", - "modelAsString": true - } - }, - "description": "Json web key operations. For more information on possible key operations, see JsonWebKeyOperation." - }, - "attributes": { - "x-ms-client-name": "keyAttributes", - "$ref": "#/definitions/KeyAttributes" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "release_policy": { - "$ref": "#/definitions/KeyReleasePolicy", - "description": "The policy rules under which the key can be exported." - } - }, - "description": "The key update parameters." - }, - "KeyRestoreParameters": { - "properties": { - "value": { - "type": "string", - "x-ms-client-name": "keyBundleBackup", - "format": "base64url", - "description": "The backup blob associated with a key bundle." - } - }, - "description": "The key restore parameters.", - "required": [ - "value" - ] - }, - "KeyOperationResult": { - "properties": { - "kid": { - "type": "string", - "description": "Key identifier", - "readOnly": true - }, - "value": { - "x-ms-client-name": "result", - "type": "string", - "format": "base64url", - "readOnly": true - } - }, - "description": "The key operation result." - }, - "KeyVerifyResult": { - "properties": { - "value": { - "type": "boolean", - "readOnly": true, - "description": "True if the signature is verified, otherwise false." - } - }, - "description": "The key verify result." - }, - "KeyListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/KeyItem" - }, - "readOnly": true, - "description": "A response message containing a list of keys in the key vault along with a link to the next page of keys." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of keys." - } - }, - "description": "The key list result." - }, - "DeletedKeyListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DeletedKeyItem" - }, - "readOnly": true, - "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys" - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of deleted keys." - } - }, - "description": "A list of keys that have been deleted in this vault." - }, - "BackupKeyResult": { - "properties": { - "value": { - "type": "string", - "format": "base64url", - "readOnly": true, - "description": "The backup blob containing the backed up key." - } - }, - "description": "The backup key result, containing the backup blob." - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." - } - } -} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/secrets.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/secrets.json deleted file mode 100644 index 56c3c00f2b27..000000000000 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/secrets.json +++ /dev/null @@ -1,861 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "KeyVaultClient", - "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", - "version": "7.2-preview" - }, - "x-ms-parameterized-host": { - "hostTemplate": "{vaultBaseUrl}", - "useSchemePrefix": false, - "positionInOperation": "first", - "parameters": [ - { - "name": "vaultBaseUrl", - "description": "The vault name, for example https://myvault.vault.azure.net.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - } - ] - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/secrets/{secret-name}": { - "put": { - "tags": [ - "Secrets" - ], - "operationId": "SetSecret", - "summary": "Sets a secret in a specified key vault.", - "description": " The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key Vault creates a new version of that secret. This operation requires the secrets/set permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z-]+$", - "description": "The name of the secret." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/SecretSetParameters" - }, - "description": "The parameters for setting the secret." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A secret bundle containing the result of the set secret request.", - "schema": { - "$ref": "#/definitions/SecretBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "SetSecret": { - "$ref": "./examples/SetSecret-example.json" - } - } - }, - "delete": { - "tags": [ - "Secrets" - ], - "operationId": "DeleteSecret", - "summary": "Deletes a secret from a specified key vault.", - "description": "The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an individual version of a secret. This operation requires the secrets/delete permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the secret." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The deleted secret and information on when the secret will be deleted, and how to recover the deleted secret.", - "schema": { - "$ref": "#/definitions/DeletedSecretBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "DeleteSecret": { - "$ref": "./examples/DeleteSecret-example.json" - } - } - } - }, - "/secrets/{secret-name}/{secret-version}": { - "patch": { - "tags": [ - "Secrets" - ], - "operationId": "UpdateSecret", - "summary": "Updates the attributes associated with a specified secret in a given key vault.", - "description": "The UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not specified in the request are left unchanged. The value of a secret itself cannot be changed. This operation requires the secrets/set permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the secret." - }, - { - "name": "secret-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the secret." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/SecretUpdateParameters" - }, - "description": "The parameters for update secret operation." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The updated secret.", - "schema": { - "$ref": "#/definitions/SecretBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "UpdateSecret": { - "$ref": "./examples/UpdateSecret-example.json" - } - } - }, - "get": { - "tags": [ - "Secrets" - ], - "operationId": "GetSecret", - "summary": "Get a specified secret from a given key vault.", - "description": "The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires the secrets/get permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the secret." - }, - { - "name": "secret-version", - "in": "path", - "required": true, - "type": "string", - "description": "The version of the secret." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The retrieved secret.", - "schema": { - "$ref": "#/definitions/SecretBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetSecret": { - "$ref": "./examples/GetSecret-example.json" - } - } - } - }, - "/secrets": { - "get": { - "tags": [ - "Secrets" - ], - "operationId": "GetSecrets", - "summary": "List secrets in a specified key vault.", - "description": "The Get Secrets operation is applicable to the entire vault. However, only the base secret identifier and its attributes are provided in the response. Individual secret versions are not listed in the response. This operation requires the secrets/list permission.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of secrets in the vault along with a link to the next page of secrets.", - "schema": { - "$ref": "#/definitions/SecretListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetSecrets": { - "$ref": "./examples/GetSecrets-example.json" - } - } - } - }, - "/secrets/{secret-name}/versions": { - "get": { - "tags": [ - "Secrets" - ], - "operationId": "GetSecretVersions", - "summary": "List all versions of the specified secret.", - "description": "The full secret identifier and attributes are provided in the response. No values are returned for the secrets. This operations requires the secrets/list permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the secret." - }, - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of secrets along with a link to the next page of secrets.", - "schema": { - "$ref": "#/definitions/SecretListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetSecretVersions": { - "$ref": "./examples/GetSecretVersions-example.json" - } - } - } - }, - "/deletedsecrets": { - "get": { - "tags": [ - "DeletedSecrets" - ], - "operationId": "GetDeletedSecrets", - "summary": "Lists deleted secrets for the specified vault.", - "description": "The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of deleted secrets in the vault, along with a link to the next page of deleted secrets.", - "schema": { - "$ref": "#/definitions/DeletedSecretListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "GetDeletedSecrets": { - "$ref": "./examples/GetDeletedSecrets-example.json" - } - } - } - }, - "/deletedsecrets/{secret-name}": { - "get": { - "tags": [ - "DeletedSecrets" - ], - "operationId": "GetDeletedSecret", - "summary": "Gets the specified deleted secret.", - "description": "The Get Deleted Secret operation returns the specified deleted secret along with its attributes. This operation requires the secrets/get permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the secret." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A secret bundle of the secret and its attributes.", - "schema": { - "$ref": "#/definitions/DeletedSecretBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "GetDeletedSecret": { - "$ref": "./examples/GetDeletedSecret-example.json" - } - } - }, - "delete": { - "tags": [ - "DeletedSecrets" - ], - "operationId": "PurgeDeletedSecret", - "summary": "Permanently deletes the specified secret.", - "description": "The purge deleted secret operation removes the secret permanently, without the possibility of recovery. This operation can only be enabled on a soft-delete enabled vault. This operation requires the secrets/purge permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the secret." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "204": { - "description": "No content signaling that the secret was purged forever." - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "PurgeDeletedSecret": { - "$ref": "./examples/PurgeDeletedSecret-example.json" - } - } - } - }, - "/deletedsecrets/{secret-name}/recover": { - "post": { - "tags": [ - "DeletedSecrets" - ], - "operationId": "RecoverDeletedSecret", - "summary": "Recovers the deleted secret to the latest version.", - "description": "Recovers the deleted secret in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the secrets/recover permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deleted secret." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A Secret bundle of the original secret and its attributes.", - "schema": { - "$ref": "#/definitions/SecretBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "RecoverDeletedSecret": { - "$ref": "./examples/RecoverDeletedSecret-example.json" - } - } - } - }, - "/secrets/{secret-name}/backup": { - "post": { - "tags": [ - "Secrets" - ], - "operationId": "BackupSecret", - "summary": "Backs up the specified secret.", - "description": "Requests that a backup of the specified secret be downloaded to the client. All versions of the secret will be downloaded. This operation requires the secrets/backup permission.", - "parameters": [ - { - "name": "secret-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the secret." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The backup blob containing the backed up secret.", - "schema": { - "$ref": "#/definitions/BackupSecretResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "BackupSecret": { - "$ref": "./examples/BackupSecret-example.json" - } - } - } - }, - "/secrets/restore": { - "post": { - "tags": [ - "Secrets" - ], - "operationId": "RestoreSecret", - "summary": "Restores a backed up secret to a vault.", - "description": "Restores a backed up secret, and all its versions, to a vault. This operation requires the secrets/restore permission.", - "parameters": [ - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/SecretRestoreParameters" - }, - "description": "The parameters to restore the secret." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Restored secret bundle in the vault.", - "schema": { - "$ref": "#/definitions/SecretBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "RestoreSecret": { - "$ref": "./examples/RestoreSecret-example.json" - } - } - } - } - }, - "definitions": { - "SecretBundle": { - "properties": { - "value": { - "type": "string", - "description": "The secret value." - }, - "id": { - "type": "string", - "description": "The secret id." - }, - "contentType": { - "type": "string", - "description": "The content type of the secret." - }, - "attributes": { - "$ref": "#/definitions/SecretAttributes", - "description": "The secret management attributes." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "kid": { - "type": "string", - "readOnly": true, - "description": "If this is a secret backing a KV certificate, then this field specifies the corresponding key backing the KV certificate." - }, - "managed": { - "type": "boolean", - "readOnly": true, - "description": "True if the secret's lifetime is managed by key vault. If this is a secret backing a certificate, then managed will be true." - } - }, - "description": "A secret consisting of a value, id and its attributes." - }, - "SecretItem": { - "properties": { - "id": { - "type": "string", - "description": "Secret identifier." - }, - "attributes": { - "$ref": "#/definitions/SecretAttributes", - "description": "The secret management attributes." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "contentType": { - "type": "string", - "description": "Type of the secret value such as a password." - }, - "managed": { - "type": "boolean", - "readOnly": true, - "description": "True if the secret's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." - } - }, - "description": "The secret item containing secret metadata." - }, - "DeletedSecretBundle": { - "allOf": [ - { - "$ref": "#/definitions/SecretBundle" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted secret." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the secret is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the secret was deleted, in UTC" - } - }, - "description": "A Deleted Secret consisting of its previous id, attributes and its tags, as well as information on when it will be purged." - }, - "DeletedSecretItem": { - "allOf": [ - { - "$ref": "#/definitions/SecretItem" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted secret." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the secret is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the secret was deleted, in UTC" - } - }, - "description": "The deleted secret item containing metadata about the deleted secret." - }, - "SecretAttributes": { - "allOf": [ - { - "$ref": "common.json#/definitions/Attributes" - } - ], - "properties": { - "recoverableDays": { - "type": "integer", - "format": "int32", - "readOnly": true, - "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." - }, - "recoveryLevel": { - "type": "string", - "description": "Reflects the deletion recovery level currently in effect for secrets in the current vault. If it contains 'Purgeable', the secret can be permanently deleted by a privileged user; otherwise, only the system can purge the secret, at the end of the retention interval.", - "enum": [ - "Purgeable", - "Recoverable+Purgeable", - "Recoverable", - "Recoverable+ProtectedSubscription", - "CustomizedRecoverable+Purgeable", - "CustomizedRecoverable", - "CustomizedRecoverable+ProtectedSubscription" - ], - "x-ms-enum": { - "name": "DeletionRecoveryLevel", - "modelAsString": true - }, - "readOnly": true, - "x-nullable": false - } - }, - "description": "The secret management attributes." - }, - "SecretRestoreParameters": { - "properties": { - "value": { - "type": "string", - "x-ms-client-name": "secretBundleBackup", - "format": "base64url", - "description": "The backup blob associated with a secret bundle." - } - }, - "description": "The secret restore parameters.", - "required": [ - "value" - ] - }, - "SecretProperties": { - "properties": { - "contentType": { - "type": "string", - "description": "The media type (MIME type)." - } - }, - "description": "Properties of the key backing a certificate." - }, - "SecretSetParameters": { - "properties": { - "value": { - "type": "string", - "description": "The value of the secret." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - }, - "contentType": { - "type": "string", - "description": "Type of the secret value such as a password." - }, - "attributes": { - "x-ms-client-name": "secretAttributes", - "$ref": "#/definitions/SecretAttributes", - "description": "The secret management attributes." - } - }, - "description": "The secret set parameters.", - "required": [ - "value" - ] - }, - "SecretUpdateParameters": { - "properties": { - "contentType": { - "type": "string", - "description": "Type of the secret value such as a password." - }, - "attributes": { - "x-ms-client-name": "secretAttributes", - "$ref": "#/definitions/SecretAttributes", - "description": "The secret management attributes." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The secret update parameters." - }, - "SecretListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SecretItem" - }, - "readOnly": true, - "description": "A response message containing a list of secrets in the key vault along with a link to the next page of secrets." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of secrets." - } - }, - "description": "The secret list result." - }, - "DeletedSecretListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DeletedSecretItem" - }, - "readOnly": true, - "description": "A response message containing a list of the deleted secrets in the vault along with a link to the next page of deleted secrets" - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of deleted secrets." - } - }, - "description": "The deleted secret list result" - }, - "BackupSecretResult": { - "properties": { - "value": { - "type": "string", - "format": "base64url", - "readOnly": true, - "description": "The backup blob containing the backed up secret." - } - }, - "description": "The backup secret result, containing the backup blob." - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." - } - } -} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/storage.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/storage.json deleted file mode 100644 index 39e250bafe15..000000000000 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/storage.json +++ /dev/null @@ -1,1592 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "KeyVaultClient", - "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", - "version": "7.2-preview" - }, - "x-ms-parameterized-host": { - "hostTemplate": "{vaultBaseUrl}", - "useSchemePrefix": false, - "positionInOperation": "first", - "parameters": [ - { - "name": "vaultBaseUrl", - "description": "The vault name, for example https://myvault.vault.azure.net.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - } - ] - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/storage": { - "get": { - "tags": [ - "Storage" - ], - "operationId": "GetStorageAccounts", - "description": "List storage accounts managed by the specified key vault. This operation requires the storage/list permission.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of storage accounts along with a link to the next page of storage accounts.", - "schema": { - "$ref": "#/definitions/StorageListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List Storage account": { - "$ref": "./examples/listStorageAccount.json" - } - } - } - }, - "/deletedstorage": { - "get": { - "tags": [ - "DeletedStorage" - ], - "operationId": "GetDeletedStorageAccounts", - "summary": "Lists deleted storage accounts for the specified vault.", - "description": "The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted for a vault enabled for soft-delete. This operation requires the storage/list permission.", - "parameters": [ - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of deleted storage accounts in the vault, along with a link to the next page of deleted storage accounts.", - "schema": { - "$ref": "#/definitions/DeletedStorageListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List Deleted Storage Accounts": { - "$ref": "./examples/listDeletedStorageAccount.json" - } - } - } - }, - "/deletedstorage/{storage-account-name}": { - "get": { - "tags": [ - "DeletedStorage" - ], - "operationId": "GetDeletedStorageAccount", - "summary": "Gets the specified deleted storage account.", - "description": "The Get Deleted Storage Account operation returns the specified deleted storage account along with its attributes. This operation requires the storage/get permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The deleted storage account and information on when it will be purged, and how to recover the deleted storage account.", - "schema": { - "$ref": "#/definitions/DeletedStorageBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Get Deleted Storage": { - "$ref": "./examples/getDeletedStorageAccount.json" - } - } - }, - "delete": { - "tags": [ - "DeletedStorage" - ], - "operationId": "PurgeDeletedStorageAccount", - "summary": "Permanently deletes the specified storage account.", - "description": "The purge deleted storage account operation removes the secret permanently, without the possibility of recovery. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/purge permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "204": { - "description": "No content signaling that the storage account was purged forever." - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Purge Deleted Storage Account": { - "$ref": "./examples/purgeStorageAccount.json" - } - } - } - }, - "/deletedstorage/{storage-account-name}/recover": { - "post": { - "tags": [ - "DeletedStorage" - ], - "operationId": "RecoverDeletedStorageAccount", - "summary": "Recovers the deleted storage account.", - "description": "Recovers the deleted storage account in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A storage bundle of the original storage account and its attributes.", - "schema": { - "$ref": "#/definitions/StorageBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Recover Deleted Storage Account": { - "$ref": "./examples/recoverStorageAccount.json" - } - } - } - }, - "/storage/{storage-account-name}/backup": { - "post": { - "tags": [ - "Storage" - ], - "operationId": "BackupStorageAccount", - "summary": "Backs up the specified storage account.", - "description": "Requests that a backup of the specified storage account be downloaded to the client. This operation requires the storage/backup permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The backup blob containing the backed up storage account.", - "schema": { - "$ref": "#/definitions/BackupStorageResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Backup Storage Account": { - "$ref": "./examples/backupStorageAccount.json" - } - } - } - }, - "/storage/restore": { - "post": { - "tags": [ - "Storage" - ], - "operationId": "RestoreStorageAccount", - "summary": "Restores a backed up storage account to a vault.", - "description": "Restores a backed up storage account to a vault. This operation requires the storage/restore permission.", - "parameters": [ - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/StorageRestoreParameters" - }, - "description": "The parameters to restore the storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Restored storage account bundle in the vault.", - "schema": { - "$ref": "#/definitions/StorageBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Restore Storage Account": { - "$ref": "./examples/restoreStorageAccount.json" - } - } - } - }, - "/storage/{storage-account-name}": { - "delete": { - "tags": [ - "Storage" - ], - "operationId": "DeleteStorageAccount", - "description": "Deletes a storage account. This operation requires the storage/delete permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The deleted storage account and information on when the storage account will be deleted, and how to recover the deleted storage account.", - "schema": { - "$ref": "#/definitions/DeletedStorageBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Delete Storage account": { - "$ref": "./examples/deleteStorageAccount.json" - } - } - }, - "get": { - "tags": [ - "Storage" - ], - "operationId": "GetStorageAccount", - "description": "Gets information about a specified storage account. This operation requires the storage/get permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The retrieved storage account.", - "schema": { - "$ref": "#/definitions/StorageBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Get Storage account": { - "$ref": "./examples/getStorageAccount.json" - } - } - }, - "put": { - "tags": [ - "Storage" - ], - "operationId": "SetStorageAccount", - "description": "Creates or updates a new storage account. This operation requires the storage/set permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/StorageAccountCreateParameters" - }, - "description": "The parameters to create a storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The created storage account.", - "schema": { - "$ref": "#/definitions/StorageBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Set Storage account": { - "$ref": "./examples/setStorageAccount.json" - } - } - }, - "patch": { - "tags": [ - "Storage" - ], - "operationId": "UpdateStorageAccount", - "description": "Updates the specified attributes associated with the given storage account. This operation requires the storage/set/update permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/StorageAccountUpdateParameters" - }, - "description": "The parameters to update a storage account." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The updated storage account.", - "schema": { - "$ref": "#/definitions/StorageBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Update Storage account": { - "$ref": "./examples/updateStorageAccount.json" - } - } - } - }, - "/storage/{storage-account-name}/regeneratekey": { - "post": { - "tags": [ - "Storage" - ], - "operationId": "RegenerateStorageAccountKey", - "description": "Regenerates the specified key value for the given storage account. This operation requires the storage/regeneratekey permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/StorageAccountRegenerteKeyParameters" - }, - "description": "The parameters to regenerate storage account key." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The updated storage account.", - "schema": { - "$ref": "#/definitions/StorageBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Regenerate Storage account key": { - "$ref": "./examples/regenerateStorageAccountKey.json" - } - } - } - }, - "/storage/{storage-account-name}/sas": { - "get": { - "tags": [ - "Storage" - ], - "operationId": "GetSasDefinitions", - "description": "List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions.", - "schema": { - "$ref": "#/definitions/SasDefinitionListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List Storage Sas Definition": { - "$ref": "./examples/listStorageSasDefinition.json" - } - } - } - }, - "/deletedstorage/{storage-account-name}/sas": { - "get": { - "tags": [ - "DeletedStorage" - ], - "operationId": "GetDeletedSasDefinitions", - "summary": "Lists deleted SAS definitions for the specified vault and storage account.", - "description": "The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for a vault enabled for soft-delete. This operation requires the storage/listsas permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "maxresults", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "minimum": 1, - "maximum": 25, - "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A response message containing a list of deleted SAS definitions for the storage account, along with a link to the next page of deleted SAS definitions.", - "schema": { - "$ref": "#/definitions/DeletedSasDefinitionListResult" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List Deleted Storage Sas Definitions": { - "$ref": "./examples/listDeletedStorageSasDefinition.json" - } - } - } - }, - "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}": { - "get": { - "tags": [ - "DeletedStorage" - ], - "operationId": "GetDeletedSasDefinition", - "summary": "Gets the specified deleted sas definition.", - "description": "The Get Deleted SAS Definition operation returns the specified deleted SAS definition along with its attributes. This operation requires the storage/getsas permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "sas-definition-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the SAS definition." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The deleted SAS definition and information on when the it will be purged, and how to recover the deleted SAS definition.", - "schema": { - "$ref": "#/definitions/DeletedSasDefinitionBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Get Deleted Storage Sas Definition": { - "$ref": "./examples/getDeletedStorageSasDefinition.json" - } - } - } - }, - "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover": { - "post": { - "tags": [ - "DeletedStorage" - ], - "operationId": "RecoverDeletedSasDefinition", - "summary": "Recovers the deleted SAS definition.", - "description": "Recovers the deleted SAS definition for the specified storage account. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "sas-definition-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the SAS definition." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "A SAS definition bundle of the original SAS definition and its attributes.", - "schema": { - "$ref": "#/definitions/SasDefinitionBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Recover Deleted Storage Sas Definition": { - "$ref": "./examples/recoverStorageSasDefinition.json" - } - } - } - }, - "/storage/{storage-account-name}/sas/{sas-definition-name}": { - "delete": { - "tags": [ - "Storage" - ], - "operationId": "DeleteSasDefinition", - "description": "Deletes a SAS definition from a specified storage account. This operation requires the storage/deletesas permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "sas-definition-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the SAS definition." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The deleted SAS definition and information on when the SAS definition will be deleted, and how to recover the deleted SAS definition.", - "schema": { - "$ref": "#/definitions/DeletedSasDefinitionBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Delete Storage Sas Definition": { - "$ref": "./examples/deleteStorageSasDefinition.json" - } - } - }, - "get": { - "tags": [ - "Storage" - ], - "operationId": "GetSasDefinition", - "description": "Gets information about a SAS definition for the specified storage account. This operation requires the storage/getsas permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "sas-definition-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the SAS definition." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The retrieved SAS definition.", - "schema": { - "$ref": "#/definitions/SasDefinitionBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Get Storage Sas Definition": { - "$ref": "./examples/getStorageSasDefinition.json" - } - } - }, - "put": { - "tags": [ - "Storage" - ], - "operationId": "SetSasDefinition", - "description": "Creates or updates a new SAS definition for the specified storage account. This operation requires the storage/setsas permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "sas-definition-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the SAS definition." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/SasDefinitionCreateParameters" - }, - "description": "The parameters to create a SAS definition." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The created SAS definition.", - "schema": { - "$ref": "#/definitions/SasDefinitionBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Set Storage Sas definition": { - "$ref": "./examples/setStorageSasDefinition.json" - } - } - }, - "patch": { - "tags": [ - "Storage" - ], - "operationId": "UpdateSasDefinition", - "description": "Updates the specified attributes associated with the given SAS definition. This operation requires the storage/setsas permission.", - "parameters": [ - { - "name": "storage-account-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the storage account." - }, - { - "name": "sas-definition-name", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z]+$", - "description": "The name of the SAS definition." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/SasDefinitionUpdateParameters" - }, - "description": "The parameters to update a SAS definition." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The updated SAS definition.", - "schema": { - "$ref": "#/definitions/SasDefinitionBundle" - } - }, - "default": { - "description": "Key Vault error response describing why the operation failed.", - "schema": { - "$ref": "common.json#/definitions/KeyVaultError" - } - } - }, - "x-ms-examples": { - "Update Storage Sas definition": { - "$ref": "./examples/updateStorageSasDefinition.json" - } - } - } - } - }, - "definitions": { - "StorageRestoreParameters": { - "properties": { - "value": { - "type": "string", - "x-ms-client-name": "storageBundleBackup", - "format": "base64url", - "description": "The backup blob associated with a storage account." - } - }, - "description": "The secret restore parameters.", - "required": [ - "value" - ] - }, - "StorageAccountAttributes": { - "properties": { - "enabled": { - "type": "boolean", - "description": "the enabled state of the object." - }, - "created": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "Creation time in UTC." - }, - "updated": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "Last updated time in UTC." - }, - "recoverableDays": { - "type": "integer", - "format": "int32", - "readOnly": true, - "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." - }, - "recoveryLevel": { - "type": "string", - "description": "Reflects the deletion recovery level currently in effect for storage accounts in the current vault. If it contains 'Purgeable' the storage account can be permanently deleted by a privileged user; otherwise, only the system can purge the storage account, at the end of the retention interval.", - "enum": [ - "Purgeable", - "Recoverable+Purgeable", - "Recoverable", - "Recoverable+ProtectedSubscription", - "CustomizedRecoverable+Purgeable", - "CustomizedRecoverable", - "CustomizedRecoverable+ProtectedSubscription" - ], - "x-ms-enum": { - "name": "DeletionRecoveryLevel", - "modelAsString": true - }, - "readOnly": true, - "x-nullable": false - } - }, - "description": "The storage account management attributes." - }, - "StorageBundle": { - "properties": { - "id": { - "type": "string", - "description": "The storage account id.", - "readOnly": true - }, - "resourceId": { - "type": "string", - "description": "The storage account resource id.", - "readOnly": true - }, - "activeKeyName": { - "type": "string", - "description": "The current active storage account key name.", - "readOnly": true - }, - "autoRegenerateKey": { - "type": "boolean", - "description": "whether keyvault should manage the storage account for the user.", - "readOnly": true - }, - "regenerationPeriod": { - "type": "string", - "description": "The key regeneration time duration specified in ISO-8601 format.", - "readOnly": true - }, - "attributes": { - "$ref": "#/definitions/StorageAccountAttributes", - "description": "The storage account attributes.", - "readOnly": true - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs", - "readOnly": true - } - }, - "description": "A Storage account bundle consists of key vault storage account details plus its attributes." - }, - "DeletedStorageBundle": { - "allOf": [ - { - "$ref": "#/definitions/StorageBundle" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted storage account." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the storage account is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the storage account was deleted, in UTC" - } - }, - "description": "A deleted storage account bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged." - }, - "StorageAccountCreateParameters": { - "properties": { - "resourceId": { - "type": "string", - "description": "Storage account resource id." - }, - "activeKeyName": { - "type": "string", - "description": "Current active storage account key name." - }, - "autoRegenerateKey": { - "type": "boolean", - "description": "whether keyvault should manage the storage account for the user." - }, - "regenerationPeriod": { - "type": "string", - "description": "The key regeneration time duration specified in ISO-8601 format." - }, - "attributes": { - "x-ms-client-name": "StorageAccountAttributes", - "$ref": "#/definitions/StorageAccountAttributes", - "description": "The attributes of the storage account." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The storage account create parameters.", - "required": [ - "resourceId", - "activeKeyName", - "autoRegenerateKey" - ] - }, - "StorageAccountUpdateParameters": { - "properties": { - "activeKeyName": { - "type": "string", - "description": "The current active storage account key name." - }, - "autoRegenerateKey": { - "type": "boolean", - "description": "whether keyvault should manage the storage account for the user." - }, - "regenerationPeriod": { - "type": "string", - "description": "The key regeneration time duration specified in ISO-8601 format." - }, - "attributes": { - "x-ms-client-name": "StorageAccountAttributes", - "$ref": "#/definitions/StorageAccountAttributes", - "description": "The attributes of the storage account." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The storage account update parameters." - }, - "StorageAccountRegenerteKeyParameters": { - "properties": { - "keyName": { - "type": "string", - "description": "The storage account key name." - } - }, - "description": "The storage account key regenerate parameters.", - "required": [ - "keyName" - ] - }, - "StorageAccountItem": { - "properties": { - "id": { - "type": "string", - "description": "Storage identifier.", - "readOnly": true - }, - "resourceId": { - "type": "string", - "description": "Storage account resource Id.", - "readOnly": true - }, - "attributes": { - "$ref": "#/definitions/StorageAccountAttributes", - "description": "The storage account management attributes.", - "readOnly": true - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs.", - "readOnly": true - } - }, - "description": "The storage account item containing storage account metadata." - }, - "DeletedStorageAccountItem": { - "allOf": [ - { - "$ref": "#/definitions/StorageAccountItem" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted storage account." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the storage account is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the storage account was deleted, in UTC" - } - }, - "description": "The deleted storage account item containing metadata about the deleted storage account." - }, - "StorageListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/StorageAccountItem" - }, - "readOnly": true, - "description": "A response message containing a list of storage accounts in the key vault along with a link to the next page of storage accounts." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of storage accounts." - } - }, - "description": "The storage accounts list result." - }, - "DeletedStorageListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DeletedStorageAccountItem" - }, - "readOnly": true, - "description": "A response message containing a list of the deleted storage accounts in the vault along with a link to the next page of deleted storage accounts" - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of deleted storage accounts." - } - }, - "description": "The deleted storage account list result" - }, - "SasDefinitionAttributes": { - "properties": { - "enabled": { - "type": "boolean", - "description": "the enabled state of the object." - }, - "created": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "Creation time in UTC." - }, - "updated": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "Last updated time in UTC." - }, - "recoverableDays": { - "type": "integer", - "format": "int32", - "readOnly": true, - "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." - }, - "recoveryLevel": { - "type": "string", - "description": "Reflects the deletion recovery level currently in effect for SAS definitions in the current vault. If it contains 'Purgeable' the SAS definition can be permanently deleted by a privileged user; otherwise, only the system can purge the SAS definition, at the end of the retention interval.", - "enum": [ - "Purgeable", - "Recoverable+Purgeable", - "Recoverable", - "Recoverable+ProtectedSubscription", - "CustomizedRecoverable+Purgeable", - "CustomizedRecoverable", - "CustomizedRecoverable+ProtectedSubscription" - ], - "x-ms-enum": { - "name": "DeletionRecoveryLevel", - "modelAsString": true - }, - "readOnly": true, - "x-nullable": false - } - }, - "description": "The SAS definition management attributes." - }, - "SasDefinitionBundle": { - "properties": { - "id": { - "type": "string", - "description": "The SAS definition id.", - "readOnly": true - }, - "sid": { - "x-ms-client-name": "SecretId", - "type": "string", - "description": "Storage account SAS definition secret id.", - "readOnly": true - }, - "templateUri": { - "type": "string", - "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template.", - "readOnly": true - }, - "sasType": { - "type": "string", - "description": "The type of SAS token the SAS definition will create.", - "enum": [ - "account", - "service" - ], - "x-ms-enum": { - "name": "SasTokenType", - "modelAsString": true - }, - "readOnly": true - }, - "validityPeriod": { - "type": "string", - "description": "The validity period of SAS tokens created according to the SAS definition.", - "readOnly": true - }, - "attributes": { - "$ref": "#/definitions/SasDefinitionAttributes", - "description": "The SAS definition attributes.", - "readOnly": true - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs", - "readOnly": true - } - }, - "description": "A SAS definition bundle consists of key vault SAS definition details plus its attributes." - }, - "DeletedSasDefinitionBundle": { - "allOf": [ - { - "$ref": "#/definitions/SasDefinitionBundle" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted SAS definition." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the SAS definition is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the SAS definition was deleted, in UTC" - } - }, - "description": "A deleted SAS definition bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged." - }, - "SasDefinitionItem": { - "properties": { - "id": { - "type": "string", - "description": "The storage SAS identifier.", - "readOnly": true - }, - "sid": { - "x-ms-client-name": "SecretId", - "type": "string", - "description": "The storage account SAS definition secret id.", - "readOnly": true - }, - "attributes": { - "$ref": "#/definitions/SasDefinitionAttributes", - "description": "The SAS definition management attributes.", - "readOnly": true - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs.", - "readOnly": true - } - }, - "description": "The SAS definition item containing storage SAS definition metadata." - }, - "DeletedSasDefinitionItem": { - "allOf": [ - { - "$ref": "#/definitions/SasDefinitionItem" - } - ], - "properties": { - "recoveryId": { - "type": "string", - "description": "The url of the recovery object, used to identify and recover the deleted SAS definition." - }, - "scheduledPurgeDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the SAS definition is scheduled to be purged, in UTC" - }, - "deletedDate": { - "type": "integer", - "format": "unixtime", - "readOnly": true, - "description": "The time when the SAS definition was deleted, in UTC" - } - }, - "description": "The deleted SAS definition item containing metadata about the deleted SAS definition." - }, - "SasDefinitionListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SasDefinitionItem" - }, - "readOnly": true, - "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of SAS definitions." - } - }, - "description": "The storage account SAS definition list result." - }, - "DeletedSasDefinitionListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DeletedSasDefinitionItem" - }, - "readOnly": true, - "description": "A response message containing a list of the deleted SAS definitions in the vault along with a link to the next page of deleted sas definitions" - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The URL to get the next set of deleted SAS definitions." - } - }, - "description": "The deleted SAS definition list result" - }, - "SasDefinitionCreateParameters": { - "properties": { - "templateUri": { - "type": "string", - "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template." - }, - "sasType": { - "type": "string", - "description": "The type of SAS token the SAS definition will create.", - "enum": [ - "account", - "service" - ], - "x-ms-enum": { - "name": "SasTokenType", - "modelAsString": true - } - }, - "validityPeriod": { - "type": "string", - "description": "The validity period of SAS tokens created according to the SAS definition." - }, - "attributes": { - "x-ms-client-name": "SasDefinitionAttributes", - "$ref": "#/definitions/SasDefinitionAttributes", - "description": "The attributes of the SAS definition." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The SAS definition create parameters.", - "required": [ - "templateUri", - "sasType", - "validityPeriod" - ] - }, - "SasDefinitionUpdateParameters": { - "properties": { - "templateUri": { - "type": "string", - "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template." - }, - "sasType": { - "type": "string", - "description": "The type of SAS token the SAS definition will create.", - "enum": [ - "account", - "service" - ], - "x-ms-enum": { - "name": "SasTokenType", - "modelAsString": true - } - }, - "validityPeriod": { - "type": "string", - "description": "The validity period of SAS tokens created according to the SAS definition." - }, - "attributes": { - "x-ms-client-name": "SasDefinitionAttributes", - "$ref": "#/definitions/SasDefinitionAttributes", - "description": "The attributes of the SAS definition." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application specific metadata in the form of key-value pairs." - } - }, - "description": "The SAS definition update parameters." - }, - "BackupStorageResult": { - "properties": { - "value": { - "type": "string", - "format": "base64url", - "readOnly": true, - "description": "The backup blob containing the backed up storage account." - } - }, - "description": "The backup storage result, containing the backup blob." - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client API version." - } - } -} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.0/keyvault.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.0/keyvault.json index bc7638a40ffd..af96f3dada61 100644 --- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.0/keyvault.json +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.0/keyvault.json @@ -245,9 +245,9 @@ { "name": "key-version", "in": "path", - "required": false, + "required": true, "type": "string", - "description": "Adding the version parameter retrieves a specific version of a key." + "description": "Adding the version parameter retrieves a specific version of a key. This URI fragment is optional. If not specified, the latest version of the key is returned." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1141,7 +1141,7 @@ "in": "path", "required": true, "type": "string", - "description": "The version of the secret." + "description": "The version of the secret. This URI fragment is optional. If not specified, the latest version of the secret is returned." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2270,7 +2270,7 @@ "in": "path", "required": true, "type": "string", - "description": "The version of the certificate." + "description": "The version of the certificate. This URI fragment is optional. If not specified, the latest version of the certificate is returned." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3879,11 +3879,44 @@ "Purgeable", "Recoverable+Purgeable", "Recoverable", - "Recoverable+ProtectedSubscription" + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false @@ -4126,11 +4159,44 @@ "Purgeable", "Recoverable+Purgeable", "Recoverable", - "Recoverable+ProtectedSubscription" + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false @@ -4180,11 +4246,44 @@ "Purgeable", "Recoverable+Purgeable", "Recoverable", - "Recoverable+ProtectedSubscription" + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false @@ -5137,7 +5236,7 @@ "value": { "x-ms-client-name": "base64EncodedCertificate", "type": "string", - "description": "Base64 encoded representation of the certificate object to import. This certificate needs to contain the private key." + "description": "A PEM file or a base64-encoded PFX file. PEM files need to contain the private key." }, "pwd": { "x-ms-client-name": "password", @@ -5497,11 +5596,44 @@ "Purgeable", "Recoverable+Purgeable", "Recoverable", - "Recoverable+ProtectedSubscription" + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false @@ -5772,11 +5904,44 @@ "Purgeable", "Recoverable+Purgeable", "Recoverable", - "Recoverable+ProtectedSubscription" + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" ], "x-ms-enum": { "name": "DeletionRecoveryLevel", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] }, "readOnly": true, "x-nullable": false diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/certificates.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/certificates.json new file mode 100644 index 000000000000..b2df715edcae --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/certificates.json @@ -0,0 +1,2084 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.1" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificates", + "summary": "List certificates in a specified key vault", + "description": "The GetCertificates operation returns the set of certificates resources in the specified key vault. This operation requires the certificates/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "name": "includePending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Specifies whether to include certificates which are not completely provisioned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificates along with a link to the next page of certificates.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificates": { + "$ref": "./examples/GetCertificates-example.json" + } + } + } + }, + "/certificates/{certificate-name}": { + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificate", + "summary": "Deletes a certificate from a specified key vault.", + "description": "Deletes all versions of a certificate object along with its associated policy. Delete certificate cannot be used to remove individual versions of a certificate object. This operation requires the certificates/delete permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted certificate.", + "schema": { + "$ref": "#/definitions/DeletedCertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificate": { + "$ref": "./examples/DeleteCertificate-example.json" + } + } + } + }, + "/certificates/contacts": { + "put": { + "tags": [ + "Certificates" + ], + "operationId": "SetCertificateContacts", + "description": "Sets the certificate contacts for the specified key vault. This operation requires the certificates/managecontacts permission.", + "summary": "Sets the certificate contacts for the specified key vault.", + "parameters": [ + { + "name": "contacts", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Contacts" + }, + "description": "The contacts for the key vault certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetCertificateContacts": { + "$ref": "./examples/SetCertificateContacts-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateContacts", + "summary": "Lists the certificate contacts for a specified key vault.", + "description": "The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateContacts": { + "$ref": "./examples/GetCertificateContacts-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateContacts", + "description": "Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission.", + "summary": "Deletes the certificate contacts for a specified key vault.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateContacts": { + "$ref": "./examples/DeleteCertificateContacts-example.json" + } + } + } + }, + "/certificates/issuers": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateIssuers", + "summary": "List certificate issuers for a specified key vault.", + "description": "The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificate issuers in a key vault along with a link to the next page of certificate issuers.", + "schema": { + "$ref": "#/definitions/CertificateIssuerListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificateIssuers": { + "$ref": "./examples/GetCertificateIssuers-example.json" + } + } + } + }, + "/certificates/issuers/{issuer-name}": { + "put": { + "tags": [ + "Certificates" + ], + "operationId": "SetCertificateIssuer", + "summary": "Sets the specified certificate issuer.", + "description": "The SetCertificateIssuer operation adds or updates the specified certificate issuer. This operation requires the certificates/setissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "name": "parameter", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateIssuerSetParameters" + }, + "description": "Certificate issuer set parameter." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetCertificateIssuer": { + "$ref": "./examples/SetCertificateIssuer-example.json" + } + } + }, + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificateIssuer", + "summary": "Updates the specified certificate issuer.", + "description": "The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity. This operation requires the certificates/setissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "name": "parameter", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateIssuerUpdateParameters" + }, + "description": "Certificate issuer update parameter." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificateIssuer": { + "$ref": "./examples/UpdateCertificateIssuer-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateIssuer", + "summary": "Lists the specified certificate issuer.", + "description": "The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateIssuer": { + "$ref": "./examples/GetCertificateIssuer-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateIssuer", + "summary": "Deletes the specified certificate issuer.", + "description": "The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault. This operation requires the certificates/manageissuers/deleteissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateIssuer": { + "$ref": "./examples/DeleteCertificateIssuer-example.json" + } + } + } + }, + "/certificates/{certificate-name}/create": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "CreateCertificate", + "summary": "Creates a new certificate.", + "description": "If this is the first version, the certificate resource is created. This operation requires the certificates/create permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateCreateParameters" + }, + "description": "The parameters to create a certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Created certificate bundle.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "CreateCertificate": { + "$ref": "./examples/CreateCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/import": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "ImportCertificate", + "summary": "Imports a certificate into a specified key vault.", + "description": "Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. This operation requires the certificates/import permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateImportParameters" + }, + "description": "The parameters to import the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Imported certificate bundle to the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "ImportCertificate": { + "$ref": "./examples/ImportCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/versions": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateVersions", + "summary": "List the versions of a certificate.", + "description": "The GetCertificateVersions operation returns the versions of a certificate in the specified key vault. This operation requires the certificates/list permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificates in the key vault along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificateVersions": { + "$ref": "./examples/GetCertificateVersions-example.json" + } + } + } + }, + "/certificates/{certificate-name}/policy": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificatePolicy", + "summary": "Lists the policy for a certificate.", + "description": "The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in a given key vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate policy.", + "schema": { + "$ref": "#/definitions/CertificatePolicy" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificatePolicy": { + "$ref": "./examples/GetCertificatePolicy-example.json" + } + } + }, + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificatePolicy", + "summary": "Updates the policy for a certificate.", + "description": "Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given vault." + }, + { + "name": "certificatePolicy", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificatePolicy" + }, + "description": "The policy for the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate policy", + "schema": { + "$ref": "#/definitions/CertificatePolicy" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificatePolicy": { + "$ref": "./examples/UpdateCertificatePolicy-example.json" + } + } + } + }, + "/certificates/{certificate-name}/{certificate-version}": { + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificate", + "summary": "Updates the specified attributes associated with the given certificate.", + "description": "The UpdateCertificate operation applies the specified update on the given certificate; the only elements updated are the certificate's attributes. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given key vault." + }, + { + "name": "certificate-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateUpdateParameters" + }, + "description": "The parameters for certificate update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated certificate.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificate": { + "$ref": "./examples/UpdateCertificate-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificate", + "summary": "Gets information about a certificate.", + "description": "Gets information about a specific certificate. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given vault." + }, + { + "name": "certificate-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the certificate. This URI fragment is optional. If not specified, the latest version of the certificate is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved certificate.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificate": { + "$ref": "./examples/GetCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/pending": { + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificateOperation", + "summary": "Updates a certificate operation.", + "description": "Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "certificateOperation", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateOperationUpdateParameter" + }, + "description": "The certificate operation response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A message containing the certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificateOperation": { + "$ref": "./examples/UpdateCertificateOperation-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateOperation", + "summary": "Gets the creation operation of a certificate.", + "description": "Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateOperation": { + "$ref": "./examples/GetCertificateOperation-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateOperation", + "summary": "Deletes the creation operation for a specific certificate.", + "description": "Deletes the creation operation for a specified certificate that is in the process of being created. The certificate is no longer created. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A message containing the certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateOperation": { + "$ref": "./examples/DeleteCertificateOperation-example.json" + } + } + } + }, + "/certificates/{certificate-name}/pending/merge": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "MergeCertificate", + "summary": "Merges a certificate or a certificate chain with a key pair existing on the server.", + "description": "The MergeCertificate operation performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateMergeParameters" + }, + "description": "The parameters to merge certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Merged certificate bundle to the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "MergeCertificate": { + "$ref": "./examples/MergeCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/backup": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "BackupCertificate", + "summary": "Backs up the specified certificate.", + "description": "Requests that a backup of the specified certificate be downloaded to the client. All versions of the certificate will be downloaded. This operation requires the certificates/backup permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up certificate.", + "schema": { + "$ref": "#/definitions/BackupCertificateResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupCertificate": { + "$ref": "./examples/BackupCertificate-example.json" + } + } + } + }, + "/certificates/restore": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "RestoreCertificate", + "summary": "Restores a backed up certificate to a vault.", + "description": "Restores a backed up certificate, and all its versions, to a vault. This operation requires the certificates/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateRestoreParameters" + }, + "description": "The parameters to restore the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored certificate bundle in the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreCertificate": { + "$ref": "./examples/RestoreCertificate-example.json" + } + } + } + }, + "/deletedcertificates": { + "get": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "GetDeletedCertificates", + "summary": "Lists the deleted certificates in the specified vault currently available for recovery.", + "description": "The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "name": "includePending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Specifies whether to include certificates which are not completely provisioned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates", + "schema": { + "$ref": "#/definitions/DeletedCertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedCertificates": { + "$ref": "./examples/GetDeletedCertificates-example.json" + } + } + } + }, + "/deletedcertificates/{certificate-name}": { + "get": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "GetDeletedCertificate", + "summary": "Retrieves information about the specified deleted certificate.", + "description": "The GetDeletedCertificate operation retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Certificate bundle of the certificate and its attributes", + "schema": { + "$ref": "#/definitions/DeletedCertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedCertificate": { + "$ref": "./examples/GetDeletedCertificate-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "PurgeDeletedCertificate", + "summary": "Permanently deletes the specified deleted certificate.", + "description": "The PurgeDeletedCertificate operation performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the certificate was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedCertificate": { + "$ref": "./examples/PurgeDeletedCertificate-example.json" + } + } + } + }, + "/deletedcertificates/{certificate-name}/recover": { + "post": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "RecoverDeletedCertificate", + "summary": "Recovers the deleted certificate back to its current version under /certificates.", + "description": "The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval (available in the deleted certificate's attributes). This operation requires the certificates/recover permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Certificate bundle of the original certificate and its attributes", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedCertificate": { + "$ref": "./examples/RecoverDeletedCertificate-example.json" + } + } + } + } + }, + "definitions": { + "CertificateAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for certificates in the current vault. If it contains 'Purgeable', the certificate can be permanently deleted by a privileged user; otherwise, only the system can purge the certificate, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The certificate management attributes." + }, + "CertificateItem": { + "properties": { + "id": { + "type": "string", + "description": "Certificate identifier." + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "x5t": { + "x-ms-client-name": "X509Thumbprint", + "type": "string", + "format": "base64url", + "description": "Thumbprint of the certificate." + } + }, + "description": "The certificate item containing certificate metadata." + }, + "CertificateIssuerItem": { + "properties": { + "id": { + "type": "string", + "description": "Certificate Identifier." + }, + "provider": { + "type": "string", + "description": "The issuer provider." + } + }, + "description": "The certificate issuer item containing certificate issuer metadata." + }, + "CertificateBundle": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "kid": { + "type": "string", + "description": "The key id.", + "readOnly": true + }, + "sid": { + "type": "string", + "description": "The secret id.", + "readOnly": true + }, + "x5t": { + "x-ms-client-name": "X509Thumbprint", + "type": "string", + "format": "base64url", + "description": "Thumbprint of the certificate.", + "readOnly": true + }, + "policy": { + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy.", + "readOnly": true + }, + "cer": { + "type": "string", + "format": "byte", + "description": "CER contents of x509 certificate." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs" + } + }, + "description": "A certificate bundle consists of a certificate (X509) plus its attributes." + }, + "DeletedCertificateBundle": { + "allOf": [ + { + "$ref": "#/definitions/CertificateBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted certificate." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate was deleted, in UTC" + } + }, + "description": "A Deleted Certificate consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "DeletedCertificateItem": { + "allOf": [ + { + "$ref": "#/definitions/CertificateItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted certificate." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate was deleted, in UTC" + } + }, + "description": "The deleted certificate item containing metadata about the deleted certificate." + }, + "CertificateOperation": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "issuer": { + "x-ms-client-name": "IssuerParameters", + "$ref": "#/definitions/IssuerParameters", + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "csr": { + "type": "string", + "format": "byte", + "description": "The certificate signing request (CSR) that is being used in the certificate operation." + }, + "cancellation_requested": { + "type": "boolean", + "description": "Indicates if cancellation was requested on the certificate operation." + }, + "status": { + "type": "string", + "description": "Status of the certificate operation." + }, + "status_details": { + "type": "string", + "description": "The status details of the certificate operation." + }, + "error": { + "$ref": "common.json#/definitions/Error", + "description": "Error encountered, if any, during the certificate operation." + }, + "target": { + "type": "string", + "description": "Location which contains the result of the certificate operation." + }, + "request_id": { + "type": "string", + "description": "Identifier for the certificate operation." + } + }, + "description": "A certificate operation is returned in case of asynchronous requests." + }, + "CertificatePolicy": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "key_props": { + "x-ms-client-name": "KeyProperties", + "$ref": "keys.json#/definitions/KeyProperties", + "description": "Properties of the key backing a certificate." + }, + "secret_props": { + "x-ms-client-name": "SecretProperties", + "$ref": "secrets.json#/definitions/SecretProperties", + "description": "Properties of the secret backing a certificate." + }, + "x509_props": { + "x-ms-client-name": "X509CertificateProperties", + "$ref": "#/definitions/X509CertificateProperties", + "description": "Properties of the X509 component of a certificate." + }, + "lifetime_actions": { + "type": "array", + "items": { + "$ref": "#/definitions/LifetimeAction" + }, + "description": "Actions that will be performed by Key Vault over the lifetime of a certificate." + }, + "issuer": { + "x-ms-client-name": "IssuerParameters", + "$ref": "#/definitions/IssuerParameters", + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate attributes." + } + }, + "description": "Management policy for a certificate." + }, + "X509CertificateProperties": { + "properties": { + "subject": { + "type": "string", + "description": "The subject name. Should be a valid X509 distinguished Name." + }, + "ekus": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The enhanced key usage." + }, + "sans": { + "x-ms-client-name": "SubjectAlternativeNames", + "$ref": "#/definitions/SubjectAlternativeNames", + "description": "The subject alternative names." + }, + "key_usage": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "digitalSignature", + "nonRepudiation", + "keyEncipherment", + "dataEncipherment", + "keyAgreement", + "keyCertSign", + "cRLSign", + "encipherOnly", + "decipherOnly" + ], + "x-ms-enum": { + "name": "KeyUsageType", + "modelAsString": true + } + }, + "description": "List of key usages." + }, + "validity_months": { + "x-ms-client-name": "ValidityInMonths", + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The duration that the certificate is valid in months." + } + }, + "description": "Properties of the X509 component of a certificate." + }, + "IssuerParameters": { + "properties": { + "name": { + "type": "string", + "description": "Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'." + }, + "cty": { + "x-ms-client-name": "CertificateType", + "type": "string", + "description": "Certificate type as supported by the provider (optional); for example 'OV-SSL', 'EV-SSL'" + }, + "cert_transparency": { + "x-ms-client-name": "CertificateTransparency", + "type": "boolean", + "description": "Indicates if the certificates generated under this policy should be published to certificate transparency logs." + } + }, + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "LifetimeAction": { + "properties": { + "trigger": { + "$ref": "#/definitions/Trigger", + "description": "The condition that will execute the action." + }, + "action": { + "$ref": "#/definitions/Action", + "description": "The action that will be executed." + } + }, + "description": "Action and its trigger that will be performed by Key Vault over the lifetime of a certificate." + }, + "Action": { + "properties": { + "action_type": { + "type": "string", + "description": "The type of the action.", + "enum": [ + "EmailContacts", + "AutoRenew" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": false + } + } + }, + "description": "The action that will be executed." + }, + "Trigger": { + "properties": { + "lifetime_percentage": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 99, + "description": "Percentage of lifetime at which to trigger. Value should be between 1 and 99." + }, + "days_before_expiry": { + "type": "integer", + "format": "int32", + "description": "Days before expiry to attempt renewal. Value should be between 1 and validity_in_months multiplied by 27. If validity_in_months is 36, then value should be between 1 and 972 (36 * 27)." + } + }, + "description": "A condition to be satisfied for an action to be executed." + }, + "SubjectAlternativeNames": { + "properties": { + "emails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Email addresses." + }, + "dns_names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Domain names." + }, + "upns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "User principal names." + } + }, + "description": "The subject alternate names of a X509 object." + }, + "IssuerBundle": { + "properties": { + "id": { + "type": "string", + "description": "Identifier for the issuer object.", + "readOnly": true + }, + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The issuer for Key Vault certificate." + }, + "IssuerAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether the issuer is enabled." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + } + }, + "description": "The attributes of an issuer managed by the Key Vault service." + }, + "IssuerCredentials": { + "properties": { + "account_id": { + "type": "string", + "description": "The user name/account name/account id." + }, + "pwd": { + "x-ms-client-name": "Password", + "type": "string", + "description": "The password/secret/account key." + } + }, + "description": "The credentials to be used for the certificate issuer." + }, + "OrganizationDetails": { + "properties": { + "id": { + "type": "string", + "description": "Id of the organization." + }, + "admin_details": { + "type": "array", + "items": { + "$ref": "#/definitions/AdministratorDetails" + }, + "description": "Details of the organization administrator." + } + }, + "description": "Details of the organization of the certificate issuer." + }, + "AdministratorDetails": { + "properties": { + "first_name": { + "type": "string", + "description": "First name." + }, + "last_name": { + "type": "string", + "description": "Last name." + }, + "email": { + "x-ms-client-name": "EmailAddress", + "type": "string", + "description": "Email address." + }, + "phone": { + "type": "string", + "description": "Phone number." + } + }, + "description": "Details of the organization administrator of the certificate issuer." + }, + "Contacts": { + "properties": { + "id": { + "type": "string", + "description": "Identifier for the contacts collection.", + "readOnly": true + }, + "contacts": { + "x-ms-client-name": "ContactList", + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + }, + "description": "The contact list for the vault certificates." + } + }, + "description": "The contacts for the vault certificates." + }, + "Contact": { + "properties": { + "email": { + "x-ms-client-name": "EmailAddress", + "type": "string", + "description": "Email address." + }, + "name": { + "type": "string", + "description": "Name." + }, + "phone": { + "type": "string", + "description": "Phone number." + } + }, + "description": "The contact information for the vault certificates." + }, + "CertificateCreateParameters": { + "properties": { + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate create parameters." + }, + "CertificateImportParameters": { + "properties": { + "value": { + "x-ms-client-name": "base64EncodedCertificate", + "type": "string", + "description": "A PEM file or a base64-encoded PFX file. PEM files need to contain the private key." + }, + "pwd": { + "x-ms-client-name": "password", + "type": "string", + "description": "If the private key in base64EncodedCertificate is encrypted, the password used for encryption." + }, + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate import parameters.", + "required": [ + "value" + ] + }, + "CertificateUpdateParameters": { + "properties": { + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate update parameters." + }, + "CertificateMergeParameters": { + "properties": { + "x5c": { + "x-ms-client-name": "x509Certificates", + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "The certificate or the certificate chain to merge." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate merge parameters", + "required": [ + "x5c" + ] + }, + "CertificateIssuerSetParameters": { + "properties": { + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The certificate issuer set parameters.", + "required": [ + "provider" + ] + }, + "CertificateIssuerUpdateParameters": { + "properties": { + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The certificate issuer update parameters." + }, + "CertificateOperationUpdateParameter": { + "properties": { + "cancellation_requested": { + "type": "boolean", + "description": "Indicates if cancellation was requested on the certificate operation." + } + }, + "description": "The certificate operation update parameters.", + "required": [ + "cancellation_requested" + ] + }, + "CertificateListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateItem" + }, + "readOnly": true, + "description": "A response message containing a list of certificates in the key vault along with a link to the next page of certificates." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of certificates." + } + }, + "description": "The certificate list result." + }, + "DeletedCertificateListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedCertificateItem" + }, + "readOnly": true, + "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted certificates." + } + }, + "description": "A list of certificates that have been deleted in this vault." + }, + "CertificateIssuerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateIssuerItem" + }, + "readOnly": true, + "description": "A response message containing a list of certificate issuers in the key vault along with a link to the next page of certificate issuers." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of certificate issuers." + } + }, + "description": "The certificate issuer list result." + }, + "PendingCertificateSigningRequestResult": { + "properties": { + "value": { + "type": "string", + "readOnly": true, + "description": "The pending certificate signing request as Base64 encoded string." + } + }, + "description": "The pending certificate signing request result." + }, + "CertificateRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "certificateBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a certificate bundle." + } + }, + "description": "The certificate restore parameters.", + "required": [ + "value" + ] + }, + "BackupCertificateResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up certificate." + } + }, + "description": "The backup certificate result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/common.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/common.json new file mode 100644 index 000000000000..c4c425f7fe7e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/common.json @@ -0,0 +1,73 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.1" + }, + "paths": {}, + "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 UTC." + }, + "exp": { + "x-ms-client-name": "Expires", + "type": "integer", + "format": "unixtime", + "description": "Expiry date in UTC." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + } + }, + "description": "The object attributes managed by the KeyVault service." + }, + "KeyVaultError": { + "properties": { + "error": { + "readOnly": true, + "$ref": "#/definitions/Error" + } + }, + "description": "The key vault error exception." + }, + "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, + "$ref": "#/definitions/Error" + } + }, + "description": "The key vault server error." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupCertificate-example.json new file mode 100644 index 000000000000..7eca93426b4c --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupCertificate-example.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "testcert", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "value": "JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLm85bmpNWEFSZWVla2NaRXBsVTNjdUxQcVZlWmxFbGRDM01XOWpYR0h6bnBXRTdHRGVOSXJraGZscHdTWXFnQnBYQkozMFpUQkRpRmpROENXSnJfUGlsUWNDRkZyN0xrdWJhWUs0TW1zcVh5WGIzbkRJcUJkQmZIUVNpZ1ZET0J5Ym9sUlRNNDYzYjBTbXhLVzJheEdFS2NuZzQ5WFkycG1SR0Vrb0plcHJWZ0tyRkpOUGQ3cGJIS3hQSWdDOFlnT2xudnZxR280RlRDSzh0ZWotcUt2UzBfRGV6Uk5vdTZqZ25SekpxX0g2NGxWMk1hQ0NnUy0xbTlyOGVOTVVvSlhTV1hwc0lneng1RzdEbzIya1ZEY25vMW9rajlCMXNvbklkWmtuY1JybDJBVHNRZVlzZXdkUVd1VmhxRzVLN0pNQWo5YzBRdkxhTmlpdl9PY2pFcm5qUS4zbmI4azJ3SEcyNHFJelNNb184WG13LnJzc3NMNjJ1aUNfTm9IbG5zQlgzcEEtck1uY3g5R3V2NmJYSHpKamxwOWNMUnVaSDBSWlJYVXRwU3BPQWdyZ20tU3BxeEdWSjd2bmprbV9FSzJwYy1sZHNjUWtRSDB4bVFVcGZFNzN5b1VTYTNXVVNMS2VIVnJLdUg5MUtJR0tLODE5ejc5d1Y5Y0F3UjlzcHJxbFFWZnlKdlNFM2tnZTh1RVBpRFFVMFl5WnJqVjBsMGJCU3VkeTN1MVlsVHB6Wk1EWmpUcE05ZGtMclgtaGdxZ1FGa2xFa1hNRWlzd0RDZVM3Y3J2bFg1bnVzbWh5SkZCMklCd3dxNWJieHptV1diU3JOc3lFMmJmWEpXOWN4TFlQcnJJZFpfbkd0X29RSGVQcUFZTS1iVnpTdzdBRGJjMU15NTZwclBGLW9PSm40MHptOTBaaFBTVGMyQXNKRGFBa3R5WFU4WktOYUhFVUlHLWI1SGhUdFBuZ20wN0FrWEtQNngwaDhzZ3ZIaGdCeGpfdWRfQVpQc3pLWG1HdUhFTW9lRGhpT3NkQVdRR0pwR2t0NHVlbmZyamNSeXVlaXJiTC1RV3o4MEtZUnk1QklxbzVJc19RVHpWN2dqMGstYS0td24tazNsNTJ4YjhaNkRXd2tWZ3hqUlNXOXZnV0pVd2U5M1ZrVWtHM3NLRW5SOE9ueTNjWlhQVl9LbWtBTEdlR0ZzQm53SmQwY3dueTBCN2I5VWQyQ19kWEZ0N1BvbnFVNldfT016cC1Nb1NtRzRHbEFpUkVfQ3FrWlhkalhIMVItSmpObUNfdXlPUTdaN1BVaDAtNmd2YUxpcE1CamlWR1FwdzlEZDhmVmtCbWk4VW5uOUxPYXJmSXVtcEJyUE43TTJhM05KdjN6b0NkanhZVFVUMTN1aElpYWl3aExoUFZhT2pUbFRmTkpqbHhIbG5lbGJ1RWJsZTk0bVV1bW8wcjhKRlFMSDdfRjhXMVo0OC1BcjhYYXJwMXhIY0FReHk1WWYwclktdUU1dTAyRnRHUHlPZ0JfNV9WdFlNR2VfRE1mdENLOGVMZGFnVllMRDJDNDUxTldZeVVfeHdNUWdQbXBaMWFnSEdCb2s0ejhsSFBndVhCQ3R2WFFuTHBXQTVBamdOLWNoWjNwUGJmc2RkNjBhekJuWDVaVXQza2hYaWNDdWk4b0xidEtzQUdmckNOZzFwT2Q0MHBHMEJlVy1lNVE1WWQydjY4eFh5a2RiTXhFblFCM3Fzd1djVlh1QXBIR18wREZVVmZvSlc2aVBZcDNWVE51amM5M3QtMDcxWnlZbUZ4V0RfVThMYTAtM19RLV8yZ0pwMVBaVV8tMVBRM1huLXdSWk1vb3JkZGZQa1VPZ0lqdWkwa1IwZWt5RjZvdWdLNnJrSVZHaGp3YUp0ekdKczJLdGxncnRCcEs2MXZEaE5zbFR5VHU5OUp2T2RFTXhwRG5lTEg4NnlvVnhxT3lIT3lxNjByXzdpTHgtdy03Q3FzWTloT3dmQlBZZ3BQVlM2bm9oZVBocTkwaGJTX0lrM21YbnRkRUNMREtSMi1wWFh6bjlPRjZIN09EdHB4S0VXQkdCaHJ0Ykxmd2JZS3dmWmZSVTJVUHpkLUxFd1lQdDloU203Z3lSODNoYkZiSFNBV1cySncxRWl1c3FURWRsRW1lQ3k2cFp1MVFZWko0TUQ0OG5rVXMwdmVHUVhTU2Ytb2RhQm1fYjZZdVh1cWcyWk03MlZjUTd4ZzV4MmpFenFqcllmdjdTTGJINFZBcWp0aFg5LUdRaWEwWEZaS18xempIenhkd1B0R2lSOHJfMkFFZTgtRXFoNi1FaTZKdjRFZjYyMnRrNWFJUWx3R1pETWpGSVNuUkpRdV8xcnJiY1E3enZsbWhUSWFQcUJNRFVxeHBEOXNWUlhuSHdIaTl1b1BCUTllbWJIMkV5WDV6MEhWRXlDa1JEbUd3cmR2RGdsOFVzMUhURjVwYXlYZmF2WkZUZjl3WFZyQXpsRFBEQkFJVFMzWnVJMEJWR2pJUGV1SnRiako4S1pTczRFQVNRRTVyVjViTUpNQXcwa19nYkVRTEZGSjJVb0ZzcWU1QUszM2xGXzR5cGMxU0JaWjJfUzYtbEQyNkpyRFVJSjFFRmJhbWtoUk12bWJIT1Utc0hDT0lRcHdadlJzV3Q3NExSQ1ZyQ09jMGpUdE5TT1JPUW5XRHVXRlFXSzk1TkRGMG96WjIyLVFEMU9YOE9iU3daaHdOXzNfS1pHRmtVMEhNdzNjSTI5LWUxbFltRDV3cmJ0ZlRFbllOeHJKOGpuUWFBY2FoNy14Q0JKeUQ3elo1MXIzRVVyY2VnazBzc1dLeHRPVjRLcTZENmxuVmU3bFpUT1dfTU5aZi1JSzJUbnZCaVZIMHk0SkVGaUxzSDJHbTM1d28yYlZVaXJsT1ljVEk1NlZhdDhMRWhGaEotVlUyNk84NHo2dUJFZmJucEZLbmdKc3pfYVlucW1zNWV1bmd3ek5ndjdlT0U0cUdKSURyMTRBUXRWdEYxcWdrZHNnVllWVXg4U29SQ0NobE5VUzRNRGxhc1hwS1VmV19ENWIxbDRkbXZiNEZNRHJqakJ6djk5dGJSeGZFYUVOSFlYTHZFZnJ0b0pMeW9na2tmNkxlbVoxVDZRbnRtNlR4S1IycU81WU1vMnRJZHlQNmZNRmkweEYtdE1IaHNSdVN3VEpybW1nREcteHVpZllVNkpfaElSNkMzVmo2VkFMMW1oZy0xeW1pRXZuanVLbElONzc4NmFWdVNpNmx5TjJJNzZqY0R6SHZ0VW1ibkVvWWtORHNPQXdqQk9MNFBlS0VjR1hWcm5YNDJhNW5IRWM2cmZQdjZ0Q2tVSUI0UldIdzEyUTFiNDM2N1JvRS1PTWN3TnV6ampob1M0S1ZJbHo4UEFMOW9YYTR4NXlQeG1aVzZ0UUVna1pKeFhEcS00SWRtd1UzTnpVZUoxdGpNaXFsc0xRWDdlc29fTHRtTWJ3bm83YkI3bjRlVnZ4aUtQU3p3dW94c25aaGs1b3ZSSE1xU0NtZjU2MjJvUTZvWEdmNUJLWExlQWdqaE1Sd21razEtUzlGajlyc1hlT19VYjJOMF9hVEFLemlidXIxNVcxaHI3Wk1PVFlxOFlSSGVPaWxSX3Bkdjl5NTlDRDQ1WmE0ZXFURHVrNmRxZ1d4YnoyVVVtMnpwM3pvTHVKSVZ1Y3FIaUVRTVNfMnFKcy1xQTAwT2FFY3huZTM2Q1RsZVNwZjF5cjh2VjNWNW1mQU5zRnJBa21CMnBRWTNfZ21UbldTYTJ3UWlMa2RFRllPSExTeEk5UVowNHo4ZFRfbW5QMmIwWV96N3ZLa0VGQmFpNU02UFdPWjVIOUx1M3Rnay1fR0g0ODd6ZHpuQm0weWZZY3ZIOHJUd1QyQl9UZVRFMG4xcWFRdDRiQ0diUkFQNE1DTDl0SGlIcmlzWEllejQzZlZ3b1c4R2x4YmxKanlLWkpXbmlRNjlBYks3SmYyUER6d2NVSHhkZU5HNGxEZmt6WmFxU2lybGRzZlhXOHBGLWZ6WFVVWHR4eDF4Um5nQ1hJVkxLbU5ZbV9CNnNrNGo0VzROVFMwQTBOcFhsZGJCWjZWWmFDMDNvRHVGUFY0MGtwdWQ0WEd3Q1l3M244ZjFHb0Z6Sk42QjFqOTRLeTdtNE5YT1JsQ3ZaRW5qZTl6T241T1d1ZG9USWRoRzBobXVDUTZ6TXI2YkVaTUFoV1ZFdlREY19iXzZsOWdLWmVxNmVtekxvcmptOEQzLXcyLXRBYlE2Tmpjd0J3eEhMZzlCRllRRFdvaU9UVmJKN2VBcUVFMHVxVkhBcE9KbFVIc2tmQy1uV3NzOV9fRTFURHBLcjRfRE93NFhPUGNzT3dlVU9EUWg3cVFXRE1ZcDVHU1poVWE4MVVHczhmemZKU3JPbmtaTmRVTS10Y0h3R01mX3didy11dmt4UFUtV0tvNUNqR2M2aU5KMDB4MjZZdUpCWXd6TVFyeDBJQWgxMjVBWlozX2FvaFFpLWw3a1pZVE82Q0JVOVZsYllNMndrZXp4ZGhrQ1oxd080Z1NNbDlKU3A5ejhxNV84SU1WM1pma00xV1VqSGZMQk4xRXdFMjRxZFVzcWxyU3NZN1hQaVlpcXQ5ZktXVmZDTWw4RU0yd2ZHYlhxMUI4eWl2UlpMcko0eEk2MUdVUWJFVGU4akNTYTF2aUxxZ0FIa25IYjVjVHIwbDRhTW1EZGZKWnJxZEdpb1lPb2IwdHBuc3IxanRfZm1obGhJa1NSQnREUk5XWEU1OXBjVXlULXpyVjBxZl9sOHN2TlNEV2N3d09YQ3lITWZzLWw0T29xMldVWTVLQi1nSG1HYUJod0oxa19ra3V2S0hlMl9TY0loc3JjTXV1eW5aLW14Vzl5NHBBS3pvdVFsQjR0ZGZvbHdSRk5KX0tHYWJPZXJiWFdDT0ZTd0JVTjdNaG0wOXNyVS1VWG5od1IwdTYyTjVvMDlfbGN5eThnWDg1ZUVrenhuOGZ2NHd2T0Y2dUd1cFk5UGxpSTRLMTNqSHlOd0ZuY2VmRlp2b0dxVlhkcUg5RGJkYS0zY1FhbVFlNmlMek0wRDlnLXlFc2NBTkpKS3ltelVzemZZdV8yY0p0TEhsd0I3NVhLeW1EMG9nUkRvRkRwTmNPd1dRRUlwdVJwU0pfdWtzR2EwZkd3MGVBTU4tQmc1OUs3emhRWHJISUZOckN1S1VPMVdvTkV5WkM2UGlKSUwtUlRsTFQ2WlBNZmdSZzZiUl9aQk43X2dseHBIakNDaFZXMkZ3MnJFUDJJX1pSeHFqdS1WbmVwV2o4eU1CaHZXZzdXNm9QWm1odmVtUTBkQUljNVZTbVVaelhvNFVURmJxSFN2MGlyVTNscVk2eUl1MGRPd2t2MlF4ZENfQVdRUmdLSGRUeG1xYXFUSXJwclZyUHZ1MDFQSGlFbVRnaDZZVEZ6Yllqb3JEeFExWDhlTUN5Rl80cWNjMnhOdTJRblBIdUR0RGZkSy1NV2xJUDhHUEhSMmhPMjlCa0JJSEM4TlgxZmxDN1ZSZkZsQ09McGVIeWl0MGRSd1d2S2tieGNIWl9fRE5ZLVBNQlZMZGpyR3lxT2JoQnpQZHZMeFpXWVU3THNRbnM1dmxiMTc5YXczX3VmclRIWGs0MVpjaDY2ekFRRl9tekQ3ZEVuMm1fb2tBaTh6NTRwdzdxUDAwNHkzenNPd0RmR0htYWF2c3dGMW5NMUN2YXhXajRINE45dVNUaV9DM1oza3lTRHlUNGdUZjNqc0FKUEJybXdSQVBpaU5PTTU3c0x2Y3dJRk9ENnA5QkdWbjFwbjQyZGRTU3A1M3JieTZEcnlwcHdDaDFrampQX3lCbTZRZnd6MElGUWJiSG1zVDNVa2RMb1dURjFSMF9sbjJtR1kxU0hHT2o3VHl1YnQ5d2xLVW5nczVMTWhVcHo3NU1LR3F6UkFnWXNKcHVKUVl1RVpKeGFPSHNmY2VwakdrcFdoMEtfWkhZUEJESzIwOFVqb3FqMDdlVVVueTBaXzJrNXUxTjQzWGJ3V0ZvWVBhdndheW1MYkhWdkRwbzdwMU9JT1IyNkt0SzdPeGlnZ0ZybGVISWNaODFwQzRCdlNzRnZsY1BCZEpHLTZxWTU0Q3J0R2xhaDRvQWplUXgxWS1YU0NLNnZLYUIwWnZHc2lIajhRQ0ZURjRuLUJqTWIzWDcycDJ5Q0tPRlpMRk5qcVR1aHJoYXNnMi1pWTNOTWdwVEQ5eVBSdjA2X1VpcEVfYjVsQ0R0Mmx5QU5NYVpZR1RvSmJTSVhBcFlyU1hEM1dFWllhTGUzQmFSUEJUYTAyeWpyVFZPRDRGNHRFR3c5MkZJZThOSk5NYXRXMFhPSFAwVWxKTXlQUDF2MVdvOUh5aFllaDFfdWg3SlRLcS1hWnJjOS1Xd0ItQXBKTHBQeGxmRzlGZkgwdjNwSTl0Z1VndWJmSkJQVjMwNll2MlNqQ0M2MmVYN3VFTUgzcXQ3TmFYcFVsNXZEVHpfMF9Vc3VlWERQcDNqV01XQTMwenFaYTRFT0dXdElMb0tEM1RjRWNVcmJONGV1bHFQSkFNcWdWdmk2YWRGdTgxU2w5cU1rVVUwaWpqMjZhZDFaeVlEUUZtWlJ4NjJYUW9ZdG81bXJ0eFZhYWtNNndqbkVPSUdJaHhBTnJoX0dNVzVxREhzMEV6TDU4b3lOY0Q5dE1MUC03N1FCbTZwUTFsR0swMVJ6Y3FzTk14ZzRMTzl2ZHQ3NFpIdEhMXzA1TjF2TUt4TE5GbkdhZmwxN1E0eEM0Z3NQeXpYdzBjcklyV2tIQlNQX0NoWE94SmZORWdyNjJOMXEzQVJZa0U1TVlCbzctM3djb3dNT09GcTlrakN1ZGpoekplRjRTUHdfMnFVWVhZRTZsNXJTYjYwUFlFSkJxdW82Skh5ZmdlOXFJX0Rzdmg4eEY1STJfLWtLT2pxU3FZam02NjU0cXVES3phQ3JWLUJFLWtQNF9DOU5OQ0xTaEVWUV92Z3hYdDhzbTRWNGNRMElDRmFzaWV6VnNuV1QtYmRQTGxBT2RqOS15RmhYVTRUYVF3YnZqQ0E2UHQ0aDNVWGdnQzNqWU5IMmJtRGpYSzhFdFJYRTV6cmJsTDRKMFZ1OGxHQVBZaGtOcGNOakNrNWhSSW5jT0dybE9aUk9jdTdSeVczR2JWM2Y1MGJKN0xLNHJjMnJCMTZuemhBdk41WXlydWdwQzdCOE9OR3NTY25ha1V1alJzRzZGYVpydDNzTDJMOW5RTUNoNE9INFF3VWpKWFZKUFJ2MHhPTF9jVEQtdjk0QWgwbWdtcFJ2Q1dhUkl5MXRxeDZHTmZ1R1Nyb0tObmtHYjRiRE1oblpZMmwxQWluWHlCMG5uRGlvci1EUmo1cjhRZi1iaUR6cGhTallzZTZrakdLR0ZObzU4WjFfaGxEaGFob1pQX1lRdlBtWi1Tb2pNaGhMRXZqMXEyZzZWRVd6a1FDWTdIWVEwM1Y3cHVCVm4yaXM1NXpBSGV4cGpERWoxWDgxWU92bnVTdXRhMGx3VkFEMkRoNjZDcmM2VVh2SEtUZTBCeFlsQWdVdkhQc1BkSy1OdVk4S3RaeGNqTWNDVWM0OVl6VW43RVBTamFNaHJ2Ni1mM0pwc09Na3JwREpLM0dPTUVRMUV4cnhYV1lGaGtLaHR2UXZkMXZCVS12b0pRcWJveU9vS1hMM29Xb0FRVnljWlR3Y2laeW4wbUtkVF96NDNFZGhNcDNKS3N5blJ3OVZtSzk3Q3lldGl5LV9HaWVMSngtWDladVMzOUdNa0YxaFVmYmkyc3FJZGZMZ0diem5uMTluTlRVUDlOR3dhaWhybU9Ib1lZeUJ6WE4tby1UWUxhSS01bkNuQ2FSSW9QTF9XSVhyWDZPSzdZU21IWjk4a2xJS19JNTlPSXlWSllrMVh6bGVwd1lPLXUwU0x6bTEtN0dKSE54RGVOMlZhUEk3TThVem10X0x5alliWWxocFFJQnNyUktsMmZZeExKaGt6Q3NjcWp2bVhDemRLVDNhNFV3NDJ4eDlsOWl6dFQ0UmtnV21fYV9YWWk0b0gwdjNCUXRSZ3NfUTBPaGo2T2Y2dEtyZU5XZmcxVDRjMk01SERJd3UxTkl2QXBqNzZtOXJWQkdPWTZFUnhfa2Y3d2twb1g5dWRvcjBCbEx4a1FCc0lwZXpUdzc1MTBncU81Nm1UWXlBUzFCUVdOY1Q2aWhfN3F4ZTVoUkVlZVB5YUpFMnhqR2JNWGg3V1hGYjN0ejVWVWJOTFpxMjBiM3E0UFdkdjJXX1Foc2VUY0JTRDY1eVFPYndTai1UcVpNNi1teUZHb3B6dVdfRWcxU3pzNzRaY3RMSUxyN3pMLXRyeC1WTTVfVHllMVZXbG9ZOTZVYUJyUktpQWU1SVhKMlBQd2RIY1p4SWx4N3dBRXdueXVOZXA2b2NKcXRwZUJ1elB0LTFaX3UyWjZrQmR4V0lpYlVEaGxOU3AxM1NkTGw0Z2hkemVqZWFaYVllRDVtTGltWWJ4dEhsQ1ZiTm0yNU1ZbDYxMFU3QlZnNVJJSXB6VUdmZ2Z5NnpJRzRLQjBMR3BISzNhdHRRUExvQ1VlTDRYNVdBUUFsb3BRa0RKOU5lTHFGdHN4cWpZaGJnZ1Z5am9ScjNPOVhzYzlJVEtVaXJaUDlyTVl0eFduT0tUck9YYVk2WVR2Wi05QUhpT3ZfdTRhOElTS01DVng3OUlnXzdqTjFfREhjdGd5cEEzVnpkbjNKdlJJQTlfbHZDV2dTSS1NUjlPQ19xekhIUmU5dENqWklDVzhwRURSYVhZOHc4UUQ0bXJicmFLTTNsWmtTNUF2NVp2WjFRTDJlZkExbXlJdmN2czhmekxRUFM0Nm0xX3ZPVzcxN05ydDQzeUcwbUZxZnk4aExaZEUzQ2RkMzRtVVFXWVdqSkdvQXZ0VHBXRmpwWkwwOERjQUd0RzVzdkU0Mi1WWjRqSVVYQ2JsemZaczl3N2VsNThvRkJLUng5dUJLby1PWmYxTVloVEZrSlU1V3YtUEVreXRPSVpfU09nZVM2RTVMTUZsOVpZenZ0QkJuWWF0bDY4NGpEdWx0STh4LXpmSHdwUEFwNk9CQVpxalk3S3JoSVJuVGRoc2Y1VUpCcmtvU1JGUFlaaXE4RjJLWHA2Nm1PbDMyRm5RTVprMUlDVkxiYVpnUFlWNnl5UXpZdEdhbjhOc3BFTG10RWkwMVlTZE1ySUxkUF9TVTZwXzJ1NU1oY0RPMDF0Y2hwMHp6eUVfTVp4YWJodXpMWUVIeXJvYl83cjFKdWNjZUQ4SlM5T3JBdEk1YXdsbEhGSFRRWExOWGJuTHdTQ2JrdHNiTGFoa05ya0ZXR1RDNFRzUlBfYTlHMVhFTE5DRkhaMVhvS3NsQTdMMzFGaWpyNFpEYjRQeW5hT1BrSlhCcEx6MGNLN2FmeFVxNWlySHhZNEQyVkdNT3gwUmc5UEJJeE1vdzN6TmVGZ3Y5dzRTdkJ5VUpQdjNGV3huX004M3g5dldiWFh3bU9LbHlLNVpWQi11LWxKVno5Rm81YWRfVEtwUkxqSGdNWURKNU9Ka2dhaEFQMmhOaG9lb0FicnBPNzVYT2tYZ3pONDdwVW1kdzhmZV9FN3ZSeUREZi1LNVZNS2UzOXRPSi0xRmxtemJVc0pET0lScHp5WVl0Y2Q4cGtPU3JQYnIzMWdJNFRIUjJHV2xwZWJCZ3VhYmppck9UTjI1Zy02MmRPWWVKNHVwNjI3MjdnbWNQWF9EYmJfSFdrTnVLaXBmdkJ1UmVNN2J1WE9LVzg2bllHSW5ZNzJZZ2lvYVpIaEJnY3pHbktuUUlkWTJ2U3NzQ3E2b1FSUGJqeHRQZ1gxT1h2bXNucmNBencwN01ULTNueWF1RDBfNG90RGJueF92dm1fM203ajBwcjBGUWZ6NWs1UEVNUG1sOFVhenFxX2xEU3djV2JOU21JbWF3OWt3U2NXN2xrOUViNTRLRTRhaWt2bVRxXzRuN3lkSDNQblI3bC1RMXE2X2k5VWdHUVFfSmk5UDZQbmszQzd6TTVYbDBpYllEVXVUV2FUdlRrX2ZjaXo0VUJXWkV1T0lLU2xZaHVBVzFQUTJPU3NiUWxPbDU4U3ZvTEYtS2w3TmNkRXRBODJVWjdkLVFCN2xKNWFCcnd0Vmx6TDFxX2Y1UGd6a2NtcW1pLVViM2tUQ0xlNjJYbzN1MmFvSnNTQ0c4bXhwZkJ6dVFVVkk3WXdTa2ktWUtNUnlJSGhuOG9xRDNQS0xMbHk2LVZkZy1VREE1RWhhLXA0TnZYb2lLb3ptRHdBZFFpeG1IcnJTdUEwWmh0eE14N0FSc0pqc285blZKR1BOSzhCeTMtbXQycnNOOHlMdHpyRXdkUzBtLW1sRHRKak9CWHJ1NmhWOFBPeV9vSWVzYmJtWkcxSk96Tkl5YmhPOWdNakpsNTBSQXVmcW1sSXJpOEVXQk9vdzdVT1RKQjgtTkR6VzVXdWNiS0VLOGotdWtSYXhhQklPcTJBTnI1Tl9hTEF2RFpmalp1cDl1RGNTc2FUOTNWR0dmQlhHX1BYRlhGWnNtd2NnamxsQWN3bkhCS2V6QWd3SnprRXpFaEdEOFhQMVh0dXJPZHh2YTRyd2ZtVG1yM1pHVWFmY0tTUm5malpnVERSVThVRFd4ZjRwMjB1T1h5RzBBUzlJLUF6WGN0Nm5EOFVQUlB1WDQ3UG1fN05mdWFVTkt4SEZ2RFdOdWYwcVE1OFlvZmhydjJlRDlzUFJFWV9CWjhXWm9IYy0tbVZ5MmM0aDdvTTUzQlFKbTQzRzNkaXotclRwWE0xUDExakc4em5XU3RBQkJxbW40LXdKVVl1UGpDV0VtY29qdGtRZEZmcjQzRUNqTzE1SDJaZGN6MkphZmpUcmxPdWlQOG96ZjEwa2RTYjBURTFVOXI1dHRIU0ZzOUxPVlZHVjJnQUxjUGtMU3R0clgwMXZHMWZLS1ZTRVI2TzlZM0pZYW02X0FwU2xONnlRbmlqM3NJTzdKc2xYdHhaMzY2bXI2Vnl6WmphajVVODlJSjdJUlY3eXBkOWtuZy1RRlZMT0FhRGU1eENvZG1jRjY4ZGp4LTZBVWpQWnBHOFYxVG04OXh5c3BTaU40M0lmLURacTlaMXFjSXNDOUJ4XzlxTHE2S3kwNTIydnBKWkw4NEdCZElXM0FuUUdKbFY2dkRXbThpcF9LMjg2NG8zcEg4UTdFWnpqc05KZ3p6RFU2SkU2Y2psTVdhMDR5dkVMa2dnUm9feVM1MWUzam1BNUFFdWpXLUJ6TXlzTjVkeUpiZC1HcnN4VFltck1wMWI0dFNhMXV1ZHBSdWl2cUFLdV9qbTBvYTA4UHZqRjJyNjRXYXZQZHVxcUs2VGUtMDc1RkFQNHFEZE5ocmpJSHpneWEtUWowY2NCRWtZbUo3di1mUWxneUxzaF80bHJZQmVyWnNCMDM1Z2Z2b19CakQ0Q1VWVWFTRkRya2U2OE41N1prblU0UkZXN1NNQXViaE93WjlCd1pmT0tuajV3bDhfemRFTDVLVDBQUm5IejRjQk01OTZGNXhleDFORzNqME80Y3JDbzVod0xMMUVwMnVweVlULXpfTkdkT1MwMG50bGt0dnNKMGFZSURuQy1SSDRYcUdBUXlpY3hJVzNnTXh3LUNvYlIyUGdPa1dLTVBJN2xFelNLN0VKcjZkZENmblhHRF9scE9HSXgtUTROdjFOU3E4VGw1dkRtdmdOXzZCOEhHbmV5bXdpQUlJZ3NpWWhfUmR0NnBrdWJLVF92aFkwMTI1WWZkck9NaW9keTFLbEpNR3NJNGxqX1dJYVRHQjdoY1dtY0stMy1NNWlZVnJUSktaR2RZbUFobXI3bkZVT28zWFFCZkVVZFpKb2Itc1R6eDdNYWttd2JEcHdQdHB5OXFQem03akI0ZC1yYmlncDI3azRTYlVFOXNFWTZVeVVJVk80Y2l5R3ltZThpOEdLY2dSWXJ3YTZmVlItTnNvcm16dmd5eGZVcDFGWDZuR0xNbE5VMDNEblBVU0JLT1RWTzVnM2JuNG1DNWI3anBVQnUwQTk5R2ZkTEJGaXg4dURwR2NsQm51TFhncjcyRFdCRmFKeldkZXNZbTlaLWk0WDBaUTh4cVZwdGpXTnI5Sm5sVDlLeDVKZXdRSHZkeXRRdHRaTXc3TS01Unc5UHJreklWd1JPZE5PVkxwRWl5RmVqM3YyZmJGRFVoRmg2ME00NWRMQ0hqU0k5eC15dDZ6LUVtQlBpdGtkcWpUT3hLam1qVV9WNzIta09tVndhZkY3MzdTcVRKa0lpWlVic002bEJoQ3Rxd2cwNi1DelR4U1pMYVgzOF95dE51aUY1S0JfcXVwcU54SGJ4TTVZN0l5SnJUcGR4MG9qNFZzWDlxWkFjTGxCZnRNaTFUSTVLMkJRSERSNW5FY2UwT2J1SWpjdlNrcjNYMmZwUWQ1cHlLdnBXcXpNbnNuQ3NsVnYyWUY5ZDZHVWFKeHlfQ2MzRVJqOXZIMnRJb2hBckh6VzJlN1lNUTRyQnducnowOXc0aWNnNG11TDdVSnVsVnJLcjdJS3FDYjJyWFViTDBIRUVrTUd3T0pISEVnVWxlYzRGajRNQl9ZNnh4SFJuekVKMVVBRXVTeDJaZG9Bd1JsSjMwRHZYTWMxcFo0NWktYXE5eV9oOFJxaUZSUlQwSktjYzFpeFA1Y1JWRmVpbFhKWXN0cDV6X1pKZ1FrSTdCQlBaR0M2bkZ5RC11LWh4MzhQN0IzQjdUUzdoWVlXdm9ETFpGSkI0a1ZGRUhvNlRKdWNDVlpJaEFMdHlfN3dreFFxdU1mMFNOREQtV0FPWUJkY3JpZzZmYnNKSVhvc2lMSWNDM3hOOGw2X1dzNk1UMXdXODZkcWRUWkJnN1Z6YUlnREJ2RDRNakRLdjk2M0k2c3ZmeG5FWWNEQ3dDalo5M2JwUGRJd0htZEY1ZE0xTGZVLTExMktBN3dCQTJWYjU2cFdBMWk2QXo3Z1N6RXhQRkZvVkNBdFlJUnBFcHh5SVBaQUVHV05zeDNpNEk2Z2lyZi1hUmFWejFXUURCemd3ZDd3TlpqV2xrRVlyRFBBZTFPVnl0bU9HQWlGZmZiQWVPaVF0V1lzMHYzVGFTOGcydk9peXRvakE4ZzM2dDQwQTB6T3pKYnlzUUM0Z0hjODJuVDdQUDJBTFdPU0RLTmxSX2M0eHFWTkxjdlhxZHFBNmpVRlBUY1FONzk4U1FRbGprcmd1bzhEcGxTZTBnODl1VHUwV0ttcFltSFA0WEtmeXRGRWlBR1FDSmIwZUl6NVZsTlAyVnFiRGRMcW1JSzhuNVlNSUtDY2ItY0FUdGFoRXU4QkxQcVE2VC1aa2t4MF93M2RmZjhVX3ZCZUFwS090SERMWUVqcTBnVktxUHhaUWczY3RJS2oxdXJPeTIybnJ5aTlnZWZVc2QzZUYyMnBCQkx2YWVWSk96QUZndk5YdnRiTXFsUW1CXzQxNG1tVGVtaGFlNktjOW9KRF9sLUxKWDZPU1FISlo4MHQ4Ql9VZkdacFZES1NubmFmMmY4UHYyMy1EUmlGNlNyQ0ZKN0d4TEhUNXJSNzU2MW1YUlV5Qy1leWtocVI1ZFZSZDZhOVQwSGY0TlZSbjJiaVdxeWhPR2VUa0hKazE0YllOUFdYTm5XSHl1VTdyNEZoOVVsb2lES2xIQjQ0VjlmYS1YMzE0c2VHZHRqUFNLdWhFRHBMeV90VU95aWU3aThJaGNIaE1XOHlFNi1Oa0lZSnF4cU5EbjAwdUkzSEhEUWtGYzFQV0RYdlVIcnBJUFRJcFFBQ3c1dkNWT2JpUmFoQVBJM2tFRFh4ZkY1S2VLMXRuS1hsZWRxQmRIc3lCUkZuNnp6T1p1UHdOWktKNHlYVDhoS2wyamQtNTlqdWpibDBmNF9WdVJFdmVQOW9FWWtTOHU3UmlBVEVHa1lPVkg3MkZXTzBzLVNJWGVRRkQzX3VvWjdrM0xjSm9GVjlXMDZrQUVWY1dURVZGRUlwamtNMy1FYnJSUVdMcy1heWVYQkNFSUxsQ2t0di1LblA2N0pyZFV0bTI2cnFlVXZ5MzdTMTBCTE53YjRiNHBvREhMS2FveGFuZy1iRjZUb29PR01UU01MWXUzaUlLc0R3Wm9kZG1WR0xyQ3FxNWJJR1BFZTNoMnc1RjFNZ1hyVEU2TmFubXpKckh5eHVPc0VyaGctaEpGeGVCcWE4WjZZWFduTXIxNDhLanNoYVAyeVpFSWV6OG81UEc3cWRWaHFRenhYT1c3eEQwSTUycjBvbkhxM1hzcV9SOGhFby1UYVdPbmY1NW1YYTNWMk81LV9XanZxZThWdzdwTUF5dG95dmh2NTVTVk9xcVdkNXNIdGhITzd0OWlMdDNFYVMxX0ZnaU8zVmVENmlvUVBNNjZsWmhaYkpZZHo4b1RFeU9SR09KbkpjSVpqVm1YSlJIbXF2eXZsUlpjdkVMM19KR1hEOEZGNHlBVE0zaGhlNDN6VEJVdk9oYlRjckhNQTRLZjhWczR4cU02QWFsczVBZzRUbVZSSnVLLUVRWFZCaFE0TEpBbEgxVXZzN3lKYTdLM2hsQlZEMWo5WXRWS2htMVhPNFJySTNrZmVxYmxoMTRHQ1NEdnI2OExyTk53SUZsY1JEY1pKalBOQi1GWGhUd25PbW50ZVItOFY0UTJVa19tczdTTm9ZUElWRnJqY1R6X1ZkQ3dYRTFmMjNocHpqQ2tnWGlsSUlNNEpNMkZmcDNTZTY2c1JHc1RXXzBBbF81R3Fqd3ZfZFBYWDA0RHJNMFI5dGljTHhLczBnM3hkSXF1M0huamxBRFU3S0c1Yl9NUmxUdWJCQ3pEamtJQWRRUEFwcUhaWktnODYyLWloMDE4bERfbFViWEwyMGhFNFBNbTE0eEg3R0dPQ3FWa1o3RVU4ekd5Yl9xWHV4RF9LZHFLSVR5eUc2WC00MHhOeTJ1cWpDMmlvVVpiM25Tam5kZWFiX19kbC1jMDBLWkU4RnhTRnRMN0RreWxpTWM2Yy1VQXBhUlZKQy1aa2NBaXlPZ2NBOVZQa0x5a2xlcGRNYXY1Y1J2a3FvTHhmS3RMU2FhS0taWEdveFd5OWp2am5KZHZfMmZDTXlUeFdOUWl6MzI5NG9mNkNNY09sTmc5VW5iaUlHb1JVX20tMHQzamNRWHBrZ0pDWlMwcmQyZ3RGVExYdUVlYU9ZTnJjZ2dPWkVQMkstc19kNUlCU2JqNXE1QS1HYU9hbzFuRmdFOEFlMDdEVXVzeTBYeVEzd0cxb3JIOXUtSUxpSHpyd01Ickx5ZWkwYmpYSm9HcVBuSWd5d29nWjdZRmF6a1ZSTGE4OTBZQjlXR2p2SEdqZ19yYmVabWRDWkFoalNiTlRveFN3bGkxMnh0bl93WkNWVkhlNzUtSGNkTHZHaGgyekwwVjlROG84NFI1NUFKVV9fNjI2REMxT2w0cXVLcEt1Z1EwMHowZElPbzMwcG5IT3hqa2xlcGRMM0dyN3dHNXZsSUJKbXVWMlBReC1Hc0JmX3lYbUhxOXBZZ2RJeXl3ZjNqSjlDcmROYXM1RGNseUExUS1Sa3MzdWtyU3dublN1ZE5OeTNCRlJ5ZkgtbHhWQmpYSHQxUUlQM2JLbjRvNmRPSHNLclc5XzRPVnBNREQ0UjNMRmpYNFM3MDJ5ZmdXSkk5Wld6TDFadk40X2t0Zy1iVHNYOC1zdzJfa2Y3dXVldmJmMkYzLThmM3lvNDNUZ2dQaDU2TEZjbFNidGdaNE05MDRTLWF5SGQ2NkhVbmU5T1Axc1NldGdKWXdZZVN6TTgzY2FUUXVqRVA4bFhEQWxKZGJ0MTRhZ2FValJkNlBNLVVIUGdGUmNtRTd5Y0k4YzNSdWxrVkU2Wk5qeUU4VkNnaFRoN2JMNTJNYXhUcVMzQWJKNUpHak9ESkk4ZTczV1BFZHZPZ1FPNnZvak0xNDFnSjFtaW9rTFNIbXNwVWRhSFdIdkNkc2VHeTZyZmJfYktmeGJGS3FNTEN6T3VKbjhxd3hlNUxJQms2djJCUmNzM1I4ZnI1VjBSQXB5U3J3bmRuWExFRHdVRU90YzdwSTBqajVNeGFJaWxKU1FMb00ydXpiWXZaVE1INklXSndEdU1hNW04MlFCRnV3TWFZRDd6WmNwM0RGb2dFc0N5YnFjZFd5SFBhV3NxQk5GSDRuYXdwRnMwQ2xZMWMwbGZQR1RnTWZJeTRxRnV5U012cHNkYWZORUdBdVFpYU5zRzROSnNJV2NYbFNFQ1FsLVhRaHF2YkpUWE03NldPVTVld0RneGRGeG5WREVhdFRlQWZZaUVEN1ZBelFNUXNFenU4VUx4VmI3RWJzX3RsUW5hU2hVX3E3RjNUVEV3VUpPdDNCeFdPcWFCbmhNdUdOdU5CNXJabFd3YVhrUTFNdGxwOEFmWTBXSF9kX2F3VXdQbUpCQXFEX0xKRncybWVBS25OZl85NlZiUW5iU2J1ME5uejlvTnVXVmNMcWZIeDIzX1JfVVE5enZibTlkaGlSaUxSMnVDUzN2d21XS1UzVG9vbks2c1NpeWNmYnh2QjE1TnFnN2l4UUV6M2U2emVkX3pQYy1GdF91ckRrR1dOTFJ1d2Zyb001REQ5XzQ0UFVvLU1SQ2NiVGp1emxqQmVjOXRUc1NRdnZWVnp3WHdNY004Zl8yWEJxcU5OVl91b3V6dVRPWkFfbkNVTDV0T1dFSXZIZmlDRWxJV3lrS0U1TUFUUVlUY3FRd0VwNUlBeDFDOXdudnZtVk5NcmFFNHpDSDJuZllsUGNIYWpMUGlXcHpUdUR4anJGeFhIbVBUc1JTM0Q1YU1yTmM5emwyZkR6ckJsbzV0Y1pPT0ladlR4X0ExeFA3RlFnNjMtbUZzTGlRZG16NzM1bWVjUEFmdkROMnV4dWp3YXFITGx5NGlLelljVVRjbHFhYV92X25VM09ESUxkcWt1S1pCZFZzZGwwX19YeDdkSlFHNG5nN3kxU0d1V2Z1NEdRRnV3azE5b1hJM0ptU0c2WVZHSW5wSUlNYjcwSy1BREliMlZBWjlVaUloMW1HNmpUZWRHWHJtMzF5b3Jnak1PUlRERU1rYnZCeTFaazVrR0E0V05aSmRKRnlSQUtXT3VNbVZOVXRWcTFWRHpkTkpNdGhaWUZHQUU5MEtBZVlaZDdmaFRSZlY3ZlFYdzhWOENmM3IxdmdMTXJyZ2JSOGwzeUsybFBLMnhMcFl0cVpRanFaREpvSjlwUHBlcHEwRF9Dc1JEcVlDVi0zNE5GbldXWklZQmtmZTRPSGFFZTRlXzNQOGxNVTFKUWlJY1dXWmJ1ZUJXSnlpNDQ1b24wRm0zVzdlYTRnUUJCN2c1MzU4MUJBZW9ZQVRUYnFFV0J0LWU4OS1YMDd1Nk1vSDVKUU80OV9kSW0wNU11VVlrV3ZQODFHNDMySDFPYmgxRUJBNG1WdHYtM2ZqeGVDRldiZHVzTWxxa3RYbXVodjBEVWdmWGh4OEoxS2JaMUdjN3cyT1E4S29KZXNGM2QyTzIycjFkdHRIamdmbHBUZlVXOGFaN2hPZ2otSy0wRHg5dXV3ZmNVVWMwUnd6bkNMbVdqd0lnZ2NfQWZJbVRpd1ljZWgzQzlpVnpLdkcyV3BfZHpCMjgzM3YycGI3SlRKbmFYT3VSSlhiM1JQS0pONGcyVXV1NnNYc1JBd2FlTnVtVVVpM1B5b0pCY3dhZFRsbVVrQ2JNcjJMQzBzYmZkbjNMOHk0bTd1UGg3VTJ1RE5EaGk1LTZaWUNYZE5SRVNzajVrR0QxNzJoUHRSVEV6RzhUeEN6Nlp4dE5MQ004a3pHVWtjS2FLeVctZFdaaFVWRENsZVdnQ3F0NWdvNUI1OEVaV2RJbi1SRTRxREZ5RlBDNDg3bk9nMUVyVmZBN0NHWldha1F2QXN5ZUhKb3dkc0RrdzZIV0x0Y2ZwQTJENHEyZ1Z2aDdraHVNMmwxSE5DdWxNOWJSXzZZYlhuTGlCMzIzN3Zjc1d2bHpBVmJCd0J3WHRQT3RGWEEwc0V3c3Qtb2N5V3Z4WFNsT19kdlhRNUdHa2pLcjhFX1hzM0dvZmlqaHpsZF91OWFROGNTek1XbE5xRGNPWncxdncxNUtaeFNXR1QzcDJ4S1VHLWtSZW1Jc1h6VW91TFdma2RCbk41Vk1tUTdJTXA1RkFfcmdHWnFwVHByaHJMSlVaeTNZN3I4bG1McW15Z055a2FMNWkyVEpIT3RWVHB2eHVzck1LMnUtSzdpbUJVMHlkQndFaHNOS1RWMXlGZng4Q2JZazJTeUo2QVlWeWZLM1FhVEdqb2FFMGxocGNPRUIycmpfUDhFWHAydlJ3TWZsYjBtc2daYTFCOE93d1BXRUJMdlROVjVzUEYycFpUaFlnM2xWVzFjSlZlTlBLRTJfYU1zS0p3UGVIY19YTTNrdDBXVkpMbTBnZzE2ek5EMjlsaUlfNTBjOW1VN2NpVG1hNEd5ZzJtSkUzVkg3VWxUanVkRldmNTZpSEZHNlJpU0FqVUFtMmtBTkNGMjFyb3ljVUhFTGo1aVlQZF90S09vcmJvRDlWRGcweDRDc3BQMmRKZWVzMVR6aVMwNU5qU096cnd4dG5qMTBBZ3kyd3B5XzUtbVl6dVJvYTUtNXVPSFhDRkFNSW5QQ2doakFudHVYUGw5REJRb1ZSMWYwUS1NdnJWQU1Qc3pfaXMxc2xZaTlFT3NDUWp1R2hsNGlxYmVNWWRhbFVZZllGYnd5dktaTGNlZndjaVdpY3EycWhpM2FxaWQ5WkVwVGRyR0FvRjItdmd5cWVsSjlRb2NfSG8xRldZdjFrVUR3RTBmQ2ZlV1FteHBFMTQyYmlZNVNnV01CaE9tVTBKWkt1c0hCV3B1ZWJ1TDVlc2RHVEJwRWtpcEpHWmtQSlB0YzBvTlJSVU90TVdZTTYxbXZaXzRTTFpqOW9kZ2U1akMwMHBzSHVYTUExTG5USDZ0R3FnSDlTd1Izd08zOTNTQnRMRU5oNy10UEVEVWc0dHpJeXAxTHQ4R2dWS09DTl8tc2RCbnlpSjJaNmYwSThEMXVPQnJYN0JGb3E2aHlkOWtMWnZiX2E1VHFUdzNKZDJCdHRzOHBWS3hhaXFtTW1WUmZPbU4xYmRJSHhlVUNCQzdXdE1LZUc0M2FNLXpYZDBfUmI4MkxJTVVVRDJadUxXb0MwUGZzUmpiYWNpOVhBOFlBVTE1WllTOVh1YV82NUZYT2xxcl9sT1RuUjd5Y0JZY2J5T2tIeGpIWVFmRGkyQmZRV0NkMElXaF9WcUxNZWozT3ZEUW5FZDZvNEU1N21FQ1lQUEJUSkFIZTNHTjU2UEl6T2xLNTRtVV9USUNpX0JKTkRXemJvdl8wSnVEWExZMmUxZnhCOXNURmc4c1hINUozYUhYY2dpYUdSaHlnMjRKZElJV3dkcXFRbmlLZWNfS1IxVTJhbEVqX2xPQTNNb3FadHk5Zzhnc2RCMjRmQlRLOWJZUnc5eW9OVWhrSl9fM2NxNlozVVFvc3VrWklreDJwVlRoTkU3THdEQ2gxbnVRYlpvUlZrN1NKc1pjWkZ1TTd1SUJRWUNVMGRIQzFRS2lublQxc3R5WDduM3RRLXZPWGRsSENaOEtmSERpR2tsemdKUkhVSFUwdU9JQUNuNGtUbkRzN1ZrRGtEZ2YxalBhYXVYLUR4X19Cdm5oWXIxRFp5eS01N2x3SG85c21rZDFNcGFUVGRLR0cxOVktUDh3MmcyNXJCcVlWQjhBZXRlbXQ1bEtZdE8yckhJNmZSSDZrLVhSM2I3WkVlSFA5MV9UTkc4QVZtV1djMUhaMmdYN0gySzgyUzRoUk1JcEItdkxUaFI2QmV4bTdDeXJHSFZqNHN3M0dtZWd0cG1obmJlNEZQRVo1UTZnNGhScUpmYTJvOUswZDI1aktwaURBTFllRVY3Y1VDUjhBVjRYNU5WR3hWdWppOVdYN0gwaU1mUjZHMmpIVkFZSmloSkxOSC1JSENWcVhxdng0ZWNSRmVxNGRqUjNBWjRITm5kNUJBaGlTSHRObkhlM3EzeG93cFduQVh4M0hHeFZKcUozZ0pVdDVtdGcyb29pYnJiTTVFVU1HT290QlZGT0k5eGd4RmZYT3dhYXNPNWxIbTVoQnFWZVczOHlXS1FqYU50VG16TjlITjFrRWFfS0JacHU0d3RGeGswNkdWTmFEUS1QbmZBV0FJalByQ1FjSjJMQ25kS2FBSHJyYTQ3WTI0dWJYd1hPNUZsSVh6NElaZzI3Z3NzTXpVR3kwdUtGc29LdnJrZkFLdjVWblR1WlJ6aklrZzNoZExLR2FMb3RPVmFwZkp5VnNidGh6T0JrSERUMDllcVlOYkFwbWdYWGdoVTZSb05nV3IwOURSMmZQV1FyaUVzbm9Gc21yZWc1MUUtc2JUWjJCb3FqVW1zRnlndjJZdVhpdTVXdFFUNGtKQ1NxczZZVEw0cGhoQy1sTEhubWs3Q0ZKVnNMUHpUM2ZUcVF5M2V6Sno5dUxyUWJKRXVVMGgyWHQtNGwzaENtNU1hQlVVUGU1SU0tWHZhVk5QM3FQUGN6NjEzZkt1WmwzV3NmZVVtYzl4OWhrbElxRlI4RE1aOFdpYnhJSG5CXy1vTnpvcGV3SXZkOU1RV18wQ0hJRlNWWV9lMDNfNlN4SDBiLU5DX1Y3MXZHNXpNTXpqUkc2WXB1d3hMVUQzQnV6cHNWSVR5ZTd4M1RSWFBxNE42aXF4cFlTeWpyMUUwVnk2UXhzWGc1Q0NsZEozN0p0R082b3pTY1gtdDNKOFJBbVk5Zk41WTRURUZCZkxFT3VtdkQ0WXdjd0xuVktKMnVYN3A5MWZjTTUzVVRhTVc4UTZSZ2JFaTlnZjg5SXl1OFc0WTBIQ0REbDE2dVhCSXdZR3IxX1lyRy1zOUU1dU9FbjVpVm9oY1JsX0RrZlNNenBsSUhPWkJzLVM2X0tud2lZMXZYeThhTWlqb2tFaTVOZnBMbUdZdklwdk1MUFViUzBrQXhGTWo3dktnRXR0S09pU2wxVTJleFF5d0tsYnJtUGxFamZ3YnFjRVZkbmZvTFhIYXpfNlhYTE1Qb1FobWhKUWtvVFN6UDFIb2J4UWY4Uk53VmpaeGF0enpxMGtpMjVmUXlTNTlET0wtVGtiWlFqOTByUnpCQ0hVaTZlNWFmNUN2b3p1T2NIdEJmRnJHVkw4R0JQMk1JWi1UTGsxZXcteFpBbE10UVRITEVuUE1US1Q3X0VwY2dJalNDQTVsZHFXQndZVWxJaXZWd3NzNXRlWEswQkNvWjY3OWxyTVdTOEIwUmRwbjM1djlPU1JOejh3TUFTNER4UVV3OXhOTzBrSjdCWHdUM1dOem90dVFFVDFIeWpEcDV0UHY2MVZuVlVDc3pRME1TaTcwakU2OGtnVm9TM0sxaHFxNUhyZlJoYTVEM2MzZDFBWnJzaUVsMXpMNU5OamktNnBpZENKVmxZeFNBa0gyc2VlZ3lGeUVVV2p3ejZRZzBzeWYtUGtCWVFaRGtKOGJsUWFyUjRMdVJGVmViUTZ0bnQtVThmS0M1d3kydzFXMUhiWUZOWHRzUnVkcm03WWVtUDI2eVVNRzNPUEktLS1zV3VEUW1VblIzemNaVGZkcVBkc3ZyRmtES1JESWZfN3hsbDBLVGtIbHEyRjJOTTBiYjlDb281SG5RdERpX1pJZmIxa3pZd1BHTDZMV1hsazdhcENaQ3daWVBLNWNmbHkyWU84QzRuX2w4eDJkLXdkclBMWGNMRi1xZnRtX2RzZmNrNjBrNUtGenozZEJKV0otY2l1ZWM0S010Sm1JMklxUm50MVpJRnNTOGhEcTF3b0ItLXVTX3ZfZ3lMMVRxRklNWE80b1dUZktOV0l6d1NOUVM3UGdCYXdIMHVIemZDeFJ1bmh5enRMTEdMZEtBamZxc3d6R2dDMnV0THcyOVJoZWtLWVNyaElGWFVoNFFjZF9GOUxfNXZyc3pSaXpKekRUMGVkWlhSVkZNdTFsV29zQUs2YV8wUGVZbFI5cC1XMS03eWo3dGJveGZGdzMyd3o2VlNWamJrMHlIUnpRYmtwNkp6QlIwcm1QU3VlU1QtcHNCSWVwSGI3S0dHQjA0ZmJvLXk2N3VSRkxKTHZlcTJua1o3dDFIRGozQ2taVGduUmJ0S0xYRVNkb3RFY0toQ1ZXaXNrTDZabURLVWJJTkF1MXpLMlJhZkJhNzVDNlVPX2llVnAweTBJX1JnT3hEd1Z4QzVReS0zdVZkc2trcFo5VGduUGhXQWlURF9tQlBmeWhQN2NCbFZvUUhoY1lKYWVjQ21jQmtVcTd3cmx1emdEWEduUkFveUp6MXlwZWNjWC1IUnlqOEFFYXhxSkVUeGpWTFpNODBNS0xtRjNXZWt1dVMxSDIxLTFYUFcyaDBfSkE1OTg1cm9uWnBCSUtoaXptUU44YVNndjBIbFlmVi03cTl1Vi0wLXFrNXVQWnljQkRDYnpUZnlGaEdzWGdKU0tPSm5PYkU0QWktMW14NHpJY3FSRmNiWkt1cF80clc5Z2lFX1pfYjBpTWlMTGlBUHJ5dGo5T241ckx1MnJhY2UxUHFvb2VrZzFuWWxCRllTdzA0eHBWSjNGNURCOTBDMHh0SzAyMEtEakpRU1VCZW52dUpsZ3V4WVMwWnQ1N3dKcnVXdmFpYUlIalFBTmRjMU1lSVJEZjF1Z2EwZ1NwVjZPbEltMlY2aTVDMllfcmY1eHJITmVlWjdwU3A1X3c1UTk5YlU4RkdEMHZNbXE5azc1eTdsR3NTMVlwc2stY2RZd0pSek5oa3RPeW5GOFZBNlcxSjkzVmZsa2Q0NTFnMGRJM3dGd05kY0FqWG8xdUMzWF9zdU1JOUl2ZU9jcWFqWlVNcEFCMTZzbU9waHVpQXlBcjNTbTltMTJMMVBvbzVVVDE4V1lEbFl6eXhNYkRmWmRUX0I2R2lNUnpFYVlHSENyQjJoaUhsYXlDdlpCNW9lbkVTUG1rS1c0dFNmOXhRc0R4U2U1ZnR0UGh4enJ4UWxieEM1V2dINlBibzdYdFcxdUpMUEVzVnlwdGRjS2lPSHczQ0d4dXA1NnVNdjhlRW50SGRHdVFERmVfalk5TUJYZXNsdnMtQTdBVzg0VUFvWE0xd0RYUFo0SVZjdmozSWRpbTh1WUVDU0dXMHlPcUo2MEVBYk9nM2ZERW1wbEpNVTBuc2kzREZmbWlqNkVRZ25hdk4yVUN0Z1lKVUUtUVoxU3lHTEY3OVlIRXhFVFRUZ0RheHNIYnZCX2NibWFwNC0zaGhPS041OXlQUmN1ZldZTGtrMUhpODg2c3V6VWJZa2MxTkZRWlBGekdYV28yUUFvUXlCQm5DS01YT2QyZzBPS2RaSFBYRUtVR05FM3A2blo1WVFCMUx4dXJhTVJCSUNqV2lHN1E2cC1XdXRpNHFvNnRvUjgyQlFFZUtqSC1KV2t4a0NoZ2tFaXpUSjFGcjlHRFZ0c3duOUdFcTBKZjJ0aFhKWXZUTkdTY2tTVFEwUzFIa0NlcVNLOXAyN0p3NHl4RTlocmFVdHYzaXl4MEhFZmNnTlNLVTk0WmpFa0R5UFozUXNLUUlCa0xweHJReGRsZ1hSV2ptMEpJSWQ3WmRiT3I0YUZPN2ozZlM2a3EwQk5SVzFBVnhRWXpkLThFWkV3b2w0MFNyNmFfaG5tUUo4WWZvYlFoTDBhZFBfWUNaT3dBc0g3alc4U0lKbGV1b0hLX2hPc2Fha1hkTnJPaFNoQ2VVYjNpNUQxRmxkak12SWFEajJFN1dfUDJodmVna25PNkFhOFJlZ1JRN1dvQkVpdGU4OEszeVdPOWJkdmZ1NjFJaTBIRU1RUm5LQVBILU83RVpMVWdzTmd1ak5YRW1jRmdmRmhmU1Zudko4Vjd1UnNmbE9NcEZkTmZzNU1KUDdEcEF6R3Q0aGRQaG14ZlBseDdqTXh4cnpOQ19GS0tvRDBwcWdJdWtTVnlMZzdrbXkwOE9paTk1QUNMREZsTnlQZjNtaUVUMHRfaHBmWFZrckhCZDB1Qk5Banltb2J6WmF5bW05SFhLTTFVSUFJN21WQWdUZnVUYmQ3eEY5TjlDNUJTZXVyVDJtYnNaY0JtWFNfa3hZTWtSWjFkSkdjN3FwVFBSZUxOVm10UURBVzZWdTZUWlpHNDREMHdRNllKalItNlFiVnNSR2NReGtxR09KQ2MyYm44SEdvMnZCSG50TTdEZVM0RXdLUXh0bVduVXdITTNVT0ZHaWVOVmRvZDhzcllzaE9sM2tvZlN1YUxIUkZiRGdVQlZoaHBFV3dUejF1VlhOd2VVN003N0R1dGJZYTFiRXRJY0hneXJjQUJTVW41dlh4cEhhbVY1RTJHczhEeDhYTmlBaWdYREJfbmhFZEdWWkVqSmd1TDg5VXltR0c0X3Z0cVMtN3hGYmtJaFpPMXBEVHZTMm1KM04zNUduNGI2S1FWcUEyWEY5amJwRFF0VFY0bEgwZWhiLUFyeGtGMkJjbnA0RUdNZWs0eDRXN1RfNEdtNzlFb3V0TjJzSW9iSFhXYi14bURJbUVId3ZHZkFsYkc5ZFFLZ1pDT3Rrb3EzUHJvY0hEMVFUTElpNEpQYU0zc1VFNngwcy00NXR5cEFHQ3N2MDhralVkUW5GbUVTYUhTYzJjSE5CUEFFX2ZzMGU2bm1fakRLektON095RkV5Ymd1bHZ5RTRsb2ZxWkxfcnNxWFlPN3lvT2oxX2FLVHhGa2ptallGNWhiS2FjcDhCNWstRUZUWVZYMzMzWG9OelJreDRnOFNWZW0xVUNibE1QOTJxb3BLUklPaWNJQWpmN2dkS2hhQmZTaE04UUt6bDJBVjBVU3lwMkdrUFRja0NrWEtXUXhhbl9RLWhtZ2l0V2w5ZVpOR3BpUjVSUGxqR3VRaVRYNlJENGZKcUdEQWNMSnEwYjZYZGhva24zMHd0Tmktc2J0RUN6NC1HV1ZOZVVBYThETl9haFNaMXAwT1MwMkRkbGVKOG1ZcW5vYThEbF90ZGZEV0xiNDg4WVplU3JwUmV2WlBJWm5OQ1lQUngxTDdxMVVGcWhfajVrQ1N3Q0VWTEpDUFdzaXlKSzluXzU5c3lUaW9DemxyM2tuTVZ2bDBZSnFYdXF2eW95TUZrcDdGdVdBbWtfYUR4eURaYm1mRGNLNVFnM0c2YlVwVXhPQVJyamgteWtreVpfcmxsa1hLUjVrTnJJMFFKYkw5UHBiWFNtMzZVSTFNajB4alVael9IYmx1Z3J3c2lzRUtGcGw0T0k2bUY1cUNLZVAwWmFmaW1nblhxS0d0RW9wNU9kTHNGRXNoa3BSSWh4Wk02eTVta0RZM0FrX0c5N0FuLUxzaVVWdG5IN2NYNUJPbHZIMVktREFGdzhkQTBpOFhPbkJoWnZ4aFZqdXctbWtHWjBITURVS0RMWk5uUVR1RXNnVEpDT1RQOVc5R0xtaGNfMGRSS1UwQTQ0RFVRU0l4SmxEYzNYWmdYOV9XdWxMY08tdjJib3pvLUhLcTB3blN0dmlPSU9YQ21BRW9PWDFodWROaUJmdktBc2NYTnE1bGc1YmtaN3dDR0xSQWoxUjRSelhDMnVsaUkyZ3lpMTFHZU1VanpoU0h5Ylk4NG5vWGpDODNJcGFTX1FTYl9WUFEyeWhMWExVdnp4SHJ4YldpajQ1a1VEMWJEZUkxOHhhQmd4UzJ6VlRVMF9FcW1WaU9wbjRnTWczd2oxMW5tV0JYOHVHUHlkUENhV2dtbFJTVXNxVXVGQ0dYZ3RNUFN2R09XRkl0LV82YzFWdVlzMGJDNzl3QnhwYy1MdENkRXIweVM4NWZKQTE3aktoclFINUJLQXNneUhKbzFVU21FZGMtTDRweWpkMS1obnZUYzZxRHBXQmhSREhieV9DeXBfc28ycERfYk12eFZ1YnBDX3FIT0dlaVRLSkpTcHdmMC1OdFRLSnAyUzloUXNQYnhIeUFlQy11ZThIMXA0WlcwWVVyWGpJRDVoS2pKRzQ4b1E2THBsaEJTWlNCa0xpczRqNm5nV2ozN0dLZEFNN01jNlpKVFZRdEw4RXZjWWNTSUlEN0liMHAzXzBIQzRKX21NTEtjRlZWWVp4TjlvSkVPZWJLUFVzbndwelVUX05KbjQ4VVZrMGwzeGtDaFlEVDVmMENoNl9MSmhSSzY3ckI0dXk2WTY3N2ZKN3RjRGFfWWsxZlotcmVpSlBRNHhMTnNOZ05hU0FoQ2tqZE5Nb241bmlPUFNhQUtVcWdDbkhsZzN5bDhPOXFhcVk1aXk0TzFlS1hHcmY1THkxV0lNX1luNmcyeFg4aF9TZ3hlcTdRN2ZOYlhIT0Ztd1Ywdk04aXhhRmJZYnF0N2hHT1pjWnVQaFVOaVdDSF8xb0MyUHlIUE1IcEtWcWdaOUNYYkdQNmFhY3J0UmpRMkxZdUZNSnNWRVhlN1gxNm1xMDZpd0dLUWxsUlZxXzZoZGtqUUs2SVpDVTNzMXV3cFlGeHdaTW1CQVVCaG1lb2kzUVItQlhrYnc0RU9nYXllQTJkSUV6a2g3cXFOYmNXNlNBdnp2eXd4cUlQT1FTSWYtMVlSRnZfSDBpYXN2MmQ0R0kxNHpDWXUtXzMwT0hqYzYyX0VMLWg4V29pa2Z3cTNXZWZNMTduN2hGSmZzMFNWNTVHY2U3UTdDQkxxNEVkSTlXc0t1MDlxeWhNWHJwUlZPWTBrZzdsNjYxa281c0VsN1RxYzgxNWl6OU1wS3RZU1RlV1lsd3pnb011clJDNktNYmZEV2poUmlldGo0Z0RkSW9GaUQ0dHJGNjZvU2k0WTE2WkNxYkVPMWVKNGNseWZZWk8zbzBwSk1NQ0gybUlwTVZPMkRueGJSSURIOUxiSEU2VE1qQjYtZkw1a3d3WUVoSHI3UnNaMnFFYUdWMDdXcFkwMUdoTWpEZXE5dGI3Qm0xXzFvcWtsdVcwMjZRUng5Vzcxa0RwU0xPNkxia1RWS2xuMlB4VmdZa3F5V0pHNlZUbU81T21fRWxlblhQMmx0bV9VVXN4MXgwdkxWczR1ejlHV1VYTGZKbVlzZnViQXBwVF85anZyRDlkV2xWc3NKdUMwRlVVNWxOUVUyOEJWSXpycV9ublJVRUJjc3BLR2d1RmN0Mjk0V2xFVjZzNFdTSU5vNG8zaVM1RWtfX1FsZEp3c3JKT3ZQS2M0S05OM1F2cFJDa3hPQ2VwZGpZZEMtbVdfMGxNdWVoVzVmcGUzRnhFMGhjeHFrZmkyUXA1Mk5VYkVZVWpPV2JRZ3UySVVmX3ZBMWpIRW9UTzRQNS1vYTBrRHZaUmxPQldRbTMyS0g0RkhwYWpiNndLTWVIOU1VZ2ZlS0dBNWVJRDRxaWwxWURONkRMa1BKT3FkeU91UGdqMTQ2WWJkZEtQdmFDOF9YS2w5Nm5BV1lfMVo3ZTNKYW9NNzhZR2pMaEV3alFpdHlSOElLRTV1ZmFDZHdYMWNPMG5FQlRnYTZPNzFrSEJkMEpGLTQ5X2FPX2RoWWo0WmVLWVNxOVhkQ1NHNGQzSFNxVGVsT2ozX0tzUGp5dk5ScmkzY0loVmJVWHkwcVoyN1NqdlRRcHFEaW5yMDBra1Q2OC13SXMxcXJhazQtcjZoQUFUeTM4S2FrUFJWYy1WMUQxUVppR3hFYUdrbUg5bF9YT2hFOEtHREIzZFgxNVNOREptRi1PR1dKSlJZNWhqZmpFWVNEVUhmb1NHTElNei01Wk5hVUs5cm42cFBMcWZfcTc1dkZ1TWRISzZhcTl3eWUtQTdLTjZyS0xqMlNfclV3RHk4dnBlbFBBTktNTG5Td09mV2U2eXdFRmFJTDRVLS01Z0NvczJBbGd0OWE4QmRKOVpsUDBUSzZEb0RVY0JTbE9VTWNJNGZXb0lDYkhwc3FnS1d3MUJXc0xGTFU1UnNSZVF0ZHhmSFNZdWs4azFWUlNhQnZnSEh5Uk9NemJXYzhSWmJCVjlQc1doaEpMeVpMM3RldzJ0RkhaM2h2U1A2SUVidWpxSE0tYnRWSXFqb3BEOHFDMG90YkNERnNqdXV0bFdVekgxTXhNVFFGdk1KY1Rfa0swM3NOSVBNTnc1MVlrQm1fV0hiQTNZY1V6d3BPd1JNNnQ4YWFVV2diRUkyNm93Szlhd3BUTzJmVHVncjdzNTJoWTFBNVRpMXRobDM4TU84UGNfeTFyYWJBeEVsMGloTUw3VlRFWmxhUml2VW5JS09ORDdXSXE0U2RHbjZzbXJLWW1LUGRFNy1vZzJfMXVhWkJyblRScHNrd1FiZUVlM09tT0lRUjltb3ZmNkRCdlZlVGtieG4zTHgyM2hwUVRRYlpFSTRORFFHMnlzTXcwSnQ4OHl2dEo3NkpwSEFYbWhkZUpBNWI0QTBYb2JvSW80a1JGTjNlUWlCQlB1eTVsZU1qeEZnVVE0N3Y2M0pyNmtibXpfSEVTZHowOGhNeUozakN4Q3ViNWdJVGhtbVdkQ1lIUjZRYjRtWlowMjhIT0ZCNTl6MkY4QVVENXNwU2wyZmhKZHBtUl9aZ1BsaVBuUm9YNGVPU25Dc2ZLTW95X1YwNk1KRTl3VGZPSXU1ME40cEhoTE9qQXNUX3NCSHBfYWJMb0x1ekpJZXdtV29SRThVR2xWVENOX2hJQk1pdWI1V01lbDgwa09nbHJTNXRMZnNCdW1qTTZXUEladUpjRG1jWlozdXpEeFBkRWdHbFZydXE0ZmpfMFBoUF9uNS1FcEVtYTkzZDFaLURCTXU3Wk54QWYwS1ZBOXVJOXZ1WFNQRDJOVmRpMG5QRFFjbFRCRWhKYW8wM01uc1VGbkxBNVZqQlJnQVV2Y05Cd3ZlYzRfOE9WMDJLRVRxZ0hMZ2tzbkIxdU1jZ0cxYnVQWHF5cmJJelN3WGJiTFViOTFWSkZERl9ZNGFTWGhWR0kyUzFpdGdZOVlsYzl3aFlJYU9pQy1KcTNiRUZiVnZiZnJnemMwOUtiYl9ya214ZjFpWDVRczh0blYybHpSaVB1eExibGx6dmlEYkM4ZkpMRE44VHo4NExMa0lMZHNmdjBHaWtkRThSelU5cFNnMVU5ZURUT0RnVktDRmtzaXdJbEJ5MDRqd0d5NnNwb1BudUxweG53OWhKQnpUc0M5dVRUTmlZeUk0SmxpdWs4Z3ZpR0JTT2lMeGNiRVlXTGFpN2NNQUYtcnI4VTYya2hDYlZZVU1mVGhnQjg5aklmNlZSa3pVSGs0QXVSR1k1QnpraWxBcDhHeHg2M1RacnVXR3ZMa1FKek5wNS1PVGN3V3hEN2N1VlFULU5icVNZRmZYMnZVcEt2Unp0WjNxeTJOMTRIYmdIeUZMYnl6SVVoTXdiNkY2M3dwcnlIN0hfMHp3OGRfb0N3bWVCMVBTQVBUcFhiYjhRZjluQlRXbjFCWlBMbUNVc1ZCaUFYQV8zUWp2SWkwUXlrN3gtb3BGc1E3OFdJUVpadkhsb0NRNWI4UGd0bVdaNUFwVDhPc1dXQU1sYkFzdXRLdXZjTFkzbW9DeFZIOGxzclZxOHVXSjhlQzgxUV9uOG5YNGFqcnZiNm51M2ZXTXRDNmxFeWwzSW1JSHRHd3lvVVZOVW4xZWlBQVpnYzdiQUlnNlBoV1pxS25DMkFyU19lbEVheVFUd0ZTWWxrM2Zjdlo4Z3RMOHB5THY0YkpEalI5NUprM1g4NGJEek5uSndfY2o2Y2Fqb0F3WW9nc3RRZFRnd0pqTU1WaU1Fa2hraVE2SVRUU3lDNUJmOTBCa2VXbWZwM2N3Y3c2cThwMG5NZEdnMjNDc0p4VHNla18zbFotRS1KcHZESHJnVUV4d3g1Z3lCVy1STjdrX2xnaGd3OUw3QUNTbHdGb2pHVzlZSzA4T0J3Tjg4ZEQwLVlmMkZSRmFnaFVQY0RfWXhmaC1qNDkyaGY1SnE1WWtyOGJMZENiZjdBTGgyeUp6UTRoUGREMDdnNW1uNThnT3ZMUWo4Z2tvTTBfMHVGOHBRaHpqenRjVlRaM2NBNkZobEI2a0Zkdk9OQXZVLXI5YkpFb2NOaW5fRTJmb1B4VUxqOVdEdGxaX3N2bWtEVzBjR05fRWRlR1dKLXhLcTdWNDRzck5vd0lCOEprZHE4dUhZXzFadVg3bWV6MHNYc0lNSEFFSWhkSnBJelpYQzVjYW9lTDRfalVxelB3dzJzMG1IU29CSlpQNjNWODhFQVpMVkdtaklwaC1PTkhQeU9QemFlQ21xajFlTVFaODdJSGNhYm1yUGNaWDFITTVvRi1meTZ5RFVzdUJyRkx1dmRyX0VJQ21TM0sxWEZmWVhsMkZCU1ZsRGNpUDJ0YVF1RzR0dHhjaWhoRWpERDVDcEZ4S2dha0lRSWc3VVFBTy1rUTN3THZHdW5CcG4wVy04eGpWRFBoU28zUUNOc29sNF9zWnFqVTBoeEVNTVo3YkVxTzNSVDNTVW1OM3RjdG9LWTBySzBxZmR1bk5iSXNjdG5TcUVPYzg3dWd4VTBXNHlQYjBNOEoyQUwySkV0bXlRZmN5RTBDalkzVjVZMjNlN19UVV83bEk5alBTbnhvVi0wdUhCRjZ0Z2xYN3p1akdJSG82MU5CMHo2MHpXZ01hYklqd0Rha3dPYXV2Uy1yX2RqbEZpeUUyZlJvQnNPNDN5WlI1OGJqcHhpRHJxOWdnMEtJcktBQ0gtWjliTUdxeFBIbHVrb1FGeHAtMWszQjdndE5GdGh4dEJqMng5Q1FBVUJwMFNZYXRhUmgwVlBPRGptMWhLd2FUTnUyNDlxZW0tbERiNTRhNFplaGZqVExkS1RoalFiMktwY2FCbVg4ekpQbnRhVlA2MXdDeVRGVDBSN2RIVHloZUhfS0NYbHA0WDN0ekdoRTg5VDVVWjVxVEZJWmNDR2I4YzM1c0pjYnh5bWZ0aUJJd05sUFRlbkNid3dfQXlOUWhreG95Wk1iai1lQ3NBN1M4V3FaUEp6ZVozWE5iV0ZJeS13S3hFMnVyTTJKRXd4eExXRllwOFQ1cFBQQVF1NG1NT0k3SDlfNzRTcWpMRFpCU1Myd3dUdU1YZW1aSDJuWVI0WmdCUF94UkZENzYyM204ZzRuLUdNNGhibVZPMW1LTllJbDlHdzljbkpQOHpSSWlNbUppWEdXTjktbjRPVHFRWExFVnlKbnlUQ0RCMzFTSFctTThyeUJMemEtOUxOdFZhUzVTWkM1UG1vem9EMFZyY2hFVEZmelhwREJfZGYwNk1aYS1icEpBQklTVWJidi1hM0Zobm9JUU0yRW1uT1N2Rkw1ZFdDRlZMcXAwREJOZEVOS0FiQmJaNGdaaGNEREVoSVQwQzh4dWJ5MjN1MW55ZlowRld0WXFoTTh1TS0xVzVOTlNLZGkwVFVhQ2d5OHhBdEh5Wk9YeWgzVFRMVTh2ME1rbjFRRjh5ODRsOVJlejE5VTR5Z2JqX01CVUJreGYtNnhpSFRVQkNpQmN1UnoxM1pSTkVMNUFzTUZLalQ3Y25zRDJxNS1fdDk4dEZ3SmNQejBTLVctbzFtVnBRSkFjZWZ1ZXBRcUdvVzdLNWIzMWFCVHUwWVc3MTZCeW1pSVEwTU5VdC1Cbnc0VTZtdG9wWWJVRjExVXhSSHl2R050dVVUMlp1MDFJSWlKTVRvYmxoZXlYQkFraEVUaDJTXy1Cckc4cG5oZWFZaE94a2wwZE1nZy1ISlJ6V0RXSHJTZ2tUN2plaThNNnhOY0Nwc19veC1kNkdsX1FwYnRkRGZWaGQ3clRaTzhCNTFQSVN3Yk9aYUhkZHotRlhUZmd1c3p6S0RwZmtSWjN0T010VFJ0U1ZWR2t3eG8wRWdfQW9iRVJSNnBBblRfN1hZQmpFWl9BSVVwQkhmYldjZENyUkN5YnR4b2VUU0RvS0twblJkV0E3cnpiLUtDQmVzNG9mdWhicnNldEdWXy1rT0dLc2FuT0lPbkNPQWdHc2VFb19NTnBvZVpjWmd5QlRlaHFmNXlCQ3FZN2FmM2E2Q0F0V2hfSE1IVzl4cGk1TVlZVk9sRVBWWHZHTFp4bi1xS2hzUDVwM0g4a0VHam10d21CWGFuQVhkNE1HemZtWnA2UkZ2d0VIaFJHNFJQQkZYSkZld3laMW1oSzZZVDZXYnpuUGloTC1PTjJPVnJEc25CSWdEUGVtclpnaVJIVWdnMkk0MXNnX1RMWTQ2N2NYUm1JZUc4NWpUTmRieEhkRkt5UWhNS045UUVBYXhDTGJsaF9FZFF1LWJtcnFfNVZoRmIwSDlocF93S0M2bFlOM3BFR3ZsajN5QzNIYU1LTW8xSVlBTkROcmhGM096U2VHUS1SWmZHeFQtZTNwdmRzc2ROTHE5XzNrdWdGZnB5ck1GY01iMkl5MFk1ajN2bF9vNTFvLVdiYUN1Wl9KZEZfb19JZV9zZ1ZnTUhoTVA0elIzRlBEVjVjVUR0bEtWWldSa25XMTRaZ1hnbFNRRG5kSG5lbmpqR1N0WkZnelh6c0FqX2xibm5BXzZnS2ktZHQ5SXk4aW92cFN1SzhTMmMxRFdqU2xIQ1FMS2tCdWR0REI4RFRaYjZneHJCZ0piNEpFUWp1LV9mUXlPR1NOellNZ01ISHFiVTVVbmpxOFVlQkFlclNnQnEzTWRza0xRNjlRVS04clRZbGszVEVLeFQzS3hhTUx6MmxWTkZSMzRkUDl5Zm9HMnZvOW9PS1VEb3VUaXRwNkdhV29Vdm5jWkdDME52bktJaUIzc1NiQ3pOWFdWbFpDWDhWdFhRQnB4NV9USDNhYi14bUJOUnVQMUZ4dlExNERsanZHQVBOM19DcHhxaHAwTmxzbk9xNzlqYmV0TmtqVHVrUTFZLVVhS1lUVFZOaTlQV21CbWJJTGx6X1FfQ21lSml1M1BwVVUyM28yNHlkR0JFTzZNZFg3aldMdHp5c1hxSVJyV1JUS0g1dG1rT3VwNlQzck03UGotb0NNMURacGZHdFUycU9aVW5hZF9TNGR2V3RBT0EzMVVsLU1DQjlLLUpHZEhyU1NKS0xoODNqM2d1ZDdoTUswVFJmYzVXLWdaZzdiT2xUc2EwcTB5anVKTzAxYmZQdjdQTjN2cTRkT1RabWluNnBJMzJSbzBTQU5NZzlBRkdvR1g3TElaR0Y5bVRMZkZGbkJTUlctaW5taW0yRW1NR1piQV9hNUdvTWxOamhmV2JvLW5aNHZubkI0M1NjZlNwZnI2LWRvRzd2VUZzMHlPUURuM0VvZF9ZcHBwUUwtLWtKR3VlYndlTVk4ZmdtVy14NktjRENjSEl6NU04MzhROC1KTEpPNzVLS0ZqREZGa3JtTGZfTGF5ZTJuekpKVGxhN0NnMUMyWS1kMFJGZnd3ODRHb1JjaGpVS0RPQnlFUDVlNzRpcnVSc2hjQjl4QVUweFpyZlIydmdQM2gwbG9UYjJ5UG9wekVwaXV3N01XZDA0eGhsMWhJUm1haXloRFMxc3R3WFh3aDN5SlNuWE5NMngwdnY5bGpQTmRDTzBiQ1lyZVQ1SXY3eFp0WEl1VW5jaWI3eldUQWZNZHM2cXF6Unp6Wkx5YXFTT0JrQkxJLW82R05SMm9PX3F6dTZteG5tMlJGOUlMcEdxYnRnZHhYTTdScVNkNVBEa1RfVjhrVzdOOXlfTUJuc2RpV05uelo3WndPNldrUlNvbkJPc0licVFVS3NXR1dUZ1E4ajE4dy1hd3hnWVJNQlhrY3lEakt5S0piMjZrWjhnRXNlcVQtM3RPTHdFeGM5cjh1MEtLT1M5YlROZDF3YTRFTWZHMEhFeE1SdmdqQ2N5QTlLa1pnU3Y3eTlNRm1BS2k1M3FXNnVvRHRfX1Bwa0lFLVpqUGhLLTdSa3Y1TmJUQnI1bmctTlR6ekFHc2s2enVPdnBpU05JSWxBRXNlUUJERWNES0c0M1Fsa0N0X3g0VmJ2QW9kQk9lTVJpZWNMeTVtLXo2SVZyME9xX0Jnek16ZW85Wl9xZFhWdFZobTU5ZkhDek1rcEM5WEN2dTVXaVU5UzhsV3Y0VmM1STZXa294QW9vZ081QXJFVVV4T3JsMzlma0ZpR2FvUmNBbWM0dG81anhUUjhuWVJXQ2tFdUQ1dEoxcFFUNkhpaW9XMk1OTXR0OExMTTFpeUMwejI4bWFlcmdBZUxGQ3pTODZ6QnJybXVTWFJEQlhhaW9DWGM3VkoxSEtmSUFYcDY2ZEZ3RjhRUkdUOE9LMm55dlZIMzlvRWhSX2M2T1NiRzJvYkxTOXdWM2RFSUFiY0RhR3hjVUpCU1JXeTdUR0ZhcWdhemlwRVRnejF0NThlNUZhS1AyUnoxMHV3LVRHSWN3VVJtRXhlSzVnbDZJWWdMVThKYmVNdWtpbTM4dVFXaklVQXEwOWhva3RsRFNueG8zRFg2STJjdFYtRk9xYk9rX1dLRURHRG9aRG9neG84UFNELUJWeGJrQldRZEwtTUNENUpzblBGRjZhLV9BdFBaWktKYnZoM0t5bWQwNXVfbk9qTURUdXFKU0xuNUV4MjFPbXAzQW9WZlpNYVlTV1hzaXpOWU10cEVReEMwbWp4aDFFLTNmRm5uOE9GdzVnTXFXNXN5d0ZHRklYcUF5MFlmc0Fsb0ZBTkstRVZvVmpCbjY0b0Q5X1NsNVBwZmxFZVlaSFFRS09IRmxWazVwdUhlZHdpckNfZGhkdGp2TnV2ZlNSb1BLU0VJWGxnV2owRHRrRkFiaXJkd1FNTFBUc21CT2pOYnhSWFkzVG9Qd0RSZGo3eC03VVJxY2Ftbjh2VW9UT1MxYWE4WVRMNm5FNVhsVHpuOW01MEh6ek1Rb2tnemcxQlFLSjRsMFJkbWw1a1RiX2tTRm5XY0hobHp5UGt3RUxvZnZfYnlBN0lSXzV0d21LLUZGcUVsYnE5WW1IaXNrR1BWMlpHTDFmTDFGaU1RSmtxLXNzeFlTNjZJRVZ3b1pCaGw4dUZJbnVidXhFeGJaSEpTX2xQY0pLTnQzcExWazJJSzJpc2duVFgwTnlJRWNzMG9pdDlfQVRERUJ5OHZwWTYyTjIxYk9la1lJM1o1Q0pleFFpVTc5VU1wektndTJvTGlaWnBaeXJ4TnVMa3BWSzJpT2toanNaN3gzNDhRdjBSUjdRN3p1aWM4b2hnbWYySUs5cjltOW93MTg4MlpRNFlETTdlOGlxc0t3dkZkOWZuOERlcWl2cmROQUhRcjFlQTZnN3BVSkpZZTNiUDJKLWpGSnN1azQwWXBFUXZVdGFaZjF0cUpPQlMtWlhvOE00aGEwUE5KTWx0bFhmZGJub2x6aHRnYVF5blR3WHJBRTBSZmtnWjlMaHFtenI3ay16TWEyM0t3UHdncDJmUGgzSmV0Z202Nkp4eHBnVjQ2dVl3UTVwSUFibll3MDFOTUxFTXlQaUNySlFFRWtwaXo4WG9hOGtJMkdRdkh3b1pTYlMtNzFZcHMzQ2oyLVZkRTBNaV8zUnRJUEZyaVVTUERfS2cxQ25pQlduN0IzS1pUYjd1MFFwOXl0VE1TdDNRbUNwcnR4YlktVWFwWEtESUYwYVVCN1RPaDRuN2lFZ0pQYzV5M1A1LVZkQ1VxUHJKS2VwckUxN3AzMmFyWjE4VFFwZE5rRHdXRWJWZFlMZDNvc2tTdkhCMHBmbTFablpMZzNpSGo3SmxFX0VsT0RIOVQ4MXRBS3ZyUFlzZUJsWnZQbEdUbDdRN29XN0tSZ21zVDJHMmlqOW11RlVEWEoyLU9ycFhHTWFURGxpdGNhcmpXR0tjMXFJRWhzQ0IybjI3LUlDX2FnbDdHbG4xUkdCRC02bEZGQjFuTVBWcHJpVGljQjA3THJZblNHSTVRdzFpY0pYNnV1TzYyOHRTMEh6Z0llUEdRVzhPMEtyR0xEZkktX2ozQkphbEN1eEpMeW5sdmE4MDVaWFZ3RUdCcEcyaGFOSlVleXhJeWFSamM2SGdOZzNHXzNIbFItWXhiUjBfSmtEODJwczhfd1VmZTBGOW4yYkUzWEVNeEd1bm9rbWdWbTdxQ3I0TzNxQk1HZ0dvN3ExNFRVTGhndk9GeXVZU3BKdkJ2a290NVptZS02SC1idVYySlVjNENQYUN6Y0pFSnB6QlNmTnk3eEFlQmNvbEN4Q0w2MzZDZS0yeUFGVTFFdjJ0NkN1U1BHZUlyY0RrRlUzT2RWOWxvRVlJaG5nNUdEdDdXUjN1RDJsRkh0M1dWLS1ieHkwSFU4YkZmT0c4b0hoU25NN1hsOWtGR1ROWUVxUndIUjk4eENYeXVlS1ZEMHVlN0ZPNnotY3dxV1NxX3BFb0ZUX0V4OFlHU0EtS1k4N1RCRFY1ODlYSEdMYW05bm43RXJybTdNc1p5Znp4V0NBb0U4YkktX0hRN3dTLVVTc3JuZkh0eVJCVkRMcHRSUDVXWDhTSW5jekUwbTFsZFdRUFRZdDFZTVdld1M1Wk5GWll0SFFVSU9FUzNRVlZ5dWlrcXZQczBQWE5Db1p1ZUJoVVViZlVab0E1WFpDTXFYWVdsQnBUMzRVWkRTV3RxUnRVcXhjZlk5YmpvNzZWNjRfSFAxUHJ4V2NQMFZFVi1QVmhxTE55VmRZd0VsRTB5YnlyWlNsRjRwVlM4VTdsd1VlS01UMnpHNWVDLUktakxpUEU5S1M0eWU5WEdtZjlVZEZjd1V3cXBiMjl0cVFFdXRUNFRmUU54elM1dzFqblUySF9BVmxvNm5LZGJiLWt5RjB5WGZyRXB4VHJtR1VSZTRqMEVzMHBXbU0xOVZxY05yeDJDczh0UDlGTlFxNlptQnJ1QVY5ajE0SlpOdUhvY1ozMmU3cTdsN2tfcWlseEtDN1hjR3lRS3U0YlpXdS1qWUEzdm5OSDVORnAyaEd4aWFLVmRka1pDQVlTUnBqMHVNZ1FuVGNEUkppTTJoV1piaGY0OXBUaUVwak90dmhIbHV0WDdYdmpnTDVZcWtVRzNBbUZVelZIOWs1QkFpUXo2VUtwVVJjUFVNUnFPTG5fbkpMd0VsY2xKUE0xYldZdEhZNHNTdzl0OTMzSjZxdzdENFdNRGJRLVI0QlJubkxwNUZZRUtSY2Z1cHVKWWtxV29xd3dQUzc4b1E1UmZfSF9VbVlBZEFOUXhsLVU0MUw5RTE1TEZqaFBsMUZObFhNLUp5ZVNJNjhlbUJ1NGNWY1l4d0oyMGd6Y2NuSWs5UEtjdXdUWE1IUjVIMmNtZENxRnVBY3lYUlJCaGhGRVBfNjFmbmxnRjMxMFZSdS02c3JmOVhnTGFuMEdtaVNZSC1UaVpmcUFrUjItRVlvdWxFUG9UWUw5OUhTekcwQTBveXhpc2YyaER3Z1NxNDVpbjJaTU9BQnRrNGpGT2ZKQ2kyOVZxMkV5YXVOQmRodkFQeUVzVHJpcV9ydHZPN1phUUs1Ulc3QndPZ0RsY3k5b0ROcmVfRG5mZm9jRUNmc3hMVndab0Z0Sm02eUpoNmU5SDVTOFdMcmF3MEhDTklaR2QyaWNTUTJEMG5oMjh6b3JSY1lfanpIYjBwX0VIZk1iNjhxa1hoQmREVE80ZVQxeGNtRmZuUXRCQnRCMVJYaEd6cW1MRlhTUXJRRWxHWFY0czZxNWFYRlJQNkljdGowQk02VkxHWXVpOUdZb3YxZEVrWVRaS3Y0QUtnQndySWRGazl4N0hOT29YRm8yRlgzY0hWTUpWU0hzck4xY00wekN5SVNGdDNkaHB4TnVsVHY5TkdfQWZmUUg4X3NQa05Ua1R6clcyRlM1RkZpTjVrQXJLeUZRRGlWNEZHZTRxWE5WbFhfOURtLW1Hdk03Q2lPWDg2Q3Z1OEg2c2JEckxFR2VxdVJFSHdxaE9DYnR1VDljczNIYlBsbDlvODhxTkw4TV9CSzc3aUh2a0lSQUc2Qkl3Qkt5ZFo1QUNpVnh0NVhIZ0tEUE05a1VaMTdLM3FwYXFUblk1YWw1QjF3bXVYMkwwSDVGckxxQjJTTFBPUE9zcU1RTlNidGExQXBkai1KMm0ybzFWY1JPaGhWeVJza29iLVNOUDd5WGJrbGlUOWJTSHl5YzFvbzFXcTZKYnNZd2hwdVI5aS1YX1cwYkc5M0hyYS10c2pvYmZPYjFBeW5sRXotRGpqZXl1eEt1UGVtLXVvRVlTWkZfbXRsd1JxbVNFSkFwWmlxQms5VHFTZW04LVBCZWxRR000MVhBOWtFeHc3cm41anROODZEdTdUX3JvRnRTWGxpakFQUm44ZTI4XzcyNEwyTWtrN3FPREpLMkg4Mzdvc3J5bjNXRWE5MW80OTJuTS1BcGNTZ0pfUUEzbURqUTJtaHZNVElPakh5TFRCZlBjaW4tby1UQzRhc28wdmpJUEhLZ3pUeE5oWnpYNHMySjFSRF9ldW91cHhfNXhocDdCTDZSTWt4eWVMd0o3Y2VwZFhDVmNmdzdzRDEwQnlyVGVtSnVoT2oxaWhrc1lVUmdEZFI4M3pweFl1Sk11a0ZqbjlxbEQ2a3c5YndNWnRpU2h4QjFZUHNuV1daV3U0TXFsVTg3SldZQzlEMzFUdXhiNFltYndsd1RsQTV6dFBTS3diTk1fYUI4aXZVUUhUazBPdFFwcndXMTlCdU9FbjFtWnpBYnJ0WkUyZ3NFQ2w3TTREWjZWR29nMGtza3gwSUlDVks3WkxEQmZRYXhIWmxFOFk2SGFCS0JrekhKSHE3MUNfcnMwcEo0UWZRV1NiNGdkRFpIeVpWY3JaNktPbEZsQTBma25LdEN4YnpjM3U2TUM5enFXa1ZYWWZZeWVvM1JSNUg3UVJZaUJqM1R6SjJVMVF4U1VqQjZyU19XeW9vWlhnNHNyeG5QRWdKak01TTdfMC1yY3NWVlVVdVNzT2RXMXFybjRlSy1Kd3Q0elkwUHhLYU5wZzRkMTFLUURIVXJkRjdPbnd4UmJ0NktLSFlGYW03UGh0ZVozV0dGbnBIbktzdHJYOVk2bEREYjBTLW5KQ3o4ODF5cUhUSmZ5YkhfRWFxS3R0ZU5ub3dDc190Nkt4NTVBS3o4c2VaU1psOXJnb0k1V0FrVkR5YmlfSlFFdTJnZnp0YzN0M1hCMnlTVDg4bl9BcDJNbU80X0V4QXBoVEpfNzdrYmJvWkl1Yll2ejA2Sjh5ZjR5Mk1yXzgySlFLVVBQYWhuNEozejR3eS16d2EtaDFLRkkyZThQTDZzODF3YmZ1QndrNlBHNFItZWg4UVhybEJrSXVqMkJ4eGU4VUZ3VUZONW9kbzY4VC1SWTF0bVdPRlZndnpDUkJKc1Zjb3htLU1CTGZsdW5XbTBVdDRvd0F1MlRKQ3lUaTRpWDhIM3E0X1lQTy1zMXBiQnRRaU0wQU01azVFNkdoZlc3MS1lQjJ2cHMtMjRORzE5R2gzTEhvTzNlelJtWmhwX3k3QXYxV0I5OURrbmJ6NXZ6dGxwcW92Y2hNNWRDOFNQalFkMDBDRW5NRmtwaVQ3SDZZTmFKVG5BcnVoanhTU2RKLXUxSmdGSE1ObzJpNEtfR0xxY1BlSGlIaTlPZDM5S2NGdVNQeHAxOV9wc0Z5bHRzWVp5cXhoNldJSG55bkRvdEpiOHd4dFU0bk1FMWFvazFZNk9yc1FUeGFtNnBFQnludFljbzFoLUlhanZHSGliWkV2UGdLNjgyc2RoZ295RjJ5OG1na2JTNWxHVDd6U2tYWm0yeUZwOGk0X0tVUnlYWUtqUndFZWdKTmktQ0gxWWs3ZHgwbExOaElOVzJEWkdyN3RFd1dOd2tFMzFHdWwtaXZWZzdGMTNMN2xXNW9OWTk1WXFXQlh0RzBsRHVoUlduSHg5dTNWV0twSDFmT0xDcnVIS1VXdzM3MmhtX21KS3U5UW1tQjNrWDF3SURXSkQ0SnFfeWlaekMxWEdIOEFzRmJfOFhtTGo3YW1aUmRwRFRRSmV3WlE2NXFJem44VEx0ekFhTUktUUlQZXJDSEZmeDFYWW81ZUpWdHc4MWphVHFRQWJCLVZ5X3ZXMG4zNXhUVklEOGdJUlpYakhRVEg3YTgtaDY3ZVFPdUNtS00yR2NZQjlFSmNRLVRPdUd5ck5Cd0lBckNxSGxDSzF3SjlPZjFYMjQ2cjY3dnd6MkJCQUdRWWp5dF9yZ09PcFFadGthV0pMd25ncXEwRE1pYWt5cE5LSlVJbEViX3ZkUGp6SFFKMV9IVzlMSFB2UWVHUmVJRTY2YzEyWlBBTm5tcndDaXR4M3hzcWNJZVd2d0Vya0ZzcWMteUlZbFd0V1Y4ejVmdklMY2JvSWRxVTJ4c3RqR0lvZDhudEp3RVRMeDJJQTZ6TUZHZ2E1UDZkcVhiMm85TUtxT3U3Z3UxYzBUaGtjVzB1QUFSb1F5ZzhDcnMzX0VfcC1YRXpCZGVWNzBIWUhXNk5CaV91OUVfLWVKVm13Vl9RcmJxanM4bEJxeEhsR1ZyUHVIbjd0ZU1ncXk5cjY4b0c4RVZRRFZUV0tXYWZ1U3Q1bHJpWXlTMlk5QnFqbXduUlBFR3lqTzJtLXVNRTRHQU84d0s2eFZVeWF1emlRQ0FyLnN4blQ5QmJTbklGT0RKQ1Y4WGR3RXc" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupKey-example.json new file mode 100644 index 000000000000..2e7b6a954bf3 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupKey-example.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "testkey", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "value": "JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLllNSVBfTXJRcTQ2X2ZwRExfSDNSSkpzSUotM05oeUJkMXlrOWJCS05JOGdnTjMxYWg2cWVoY1BISExnSnJ4OGprQkxMWFBxcDVmMXpsaWxfclVrLUtrT3J5YzhaSTljc3NNNV9TeTN4cEk0Wnk2V0ljNWNqUFd1R0NDbUJwQXlydEdPVnpoalF4bzNyVFcxRFNxZ1pVdnI4VEpseTJQS3J2aUlfUmduRWQ2LVJWS3V1Vk40ZWZWYUs5WFZUbW4xdmZ5Z3pwVHJfVFdDOVBGbXpoT0p6Z1U5OF85X25WcldWSE5TMXVMWEpYbldoQU9mUll0VlJORVFJRU5lTGMtZzNjTXJLOTFzNk5XeE5xZkZfR0w2UHg2cVhHMldXQ09nMzU3ZkJnT1ZTdERLaVZINk4xTWVkUTVwaWFkeHhUVDZMSFpva0I0eDFKbEFJZkxfYlU2OVBWdy5GOVFiM3RWbE1LcHJDS0stWUVpODJ3LlQwTVFpYXV3MGw5TWJfRFdEY1hvbzFqTjZJWXU1OVk3U0VMMm1ndFUweDNYTDl5VHNqZUY0Y2I0NExBaF9vUDdnbUgzbjdKLVZEX3hKN2hXY01XNnlTNDlFX005aXlndDlTQ2w5ZjRTdWtpM0NZdkwwUUVSVFlLSW1qMi1BRkRMWkl3Tm1HYmE4RzhheFBxR2NOS3NSZ0daZ1lUVG9pWUxxQnJ5cmJ2TEp1ZENxZ2plUWRpNU1tdHlQRnBhZ0hwSHZLa3VjRkdwLVhtSjFLYk8yQTJRT1dRVFFaOUNlcmVCcXJDbjI0SXdhUXJVQzRyTkQydzBVQTFUY3dFZXVWQkdFTGRKWm9zWHM2Q0dEZmpaSHFjdnB6NzRKd3g1T0VpcV9EUHM5VEtya01ob3djRXBsWjhaSk1jTlFSZnU5Sjg5ZDdZWGdHZEI1aWtKenA1WlY4OXcxMmIwekNITllKamdkZEhTNjJmalZlYUUxT09QXzd5Zlg1dEpiNmQ1QVhpZ3ItSkozbGI3Y2JhOXE2NHBsYmlhck1LemFiNUhtMkxNRnVLQnI1TmFrbzVQMDBoUUJnR2M2aXBJSzhNT2NLc2RhQjJGcjUwX1ViNnJEUzA4NnUzNy1DSHRGRnF5LTFBaGlDaXhRakNNTF9rWGtJMHZEYmJqRi1feGtNZGFCVi1BdTc5TzZ6V2pzRGVlV0t0VXZWUW5CMGM0Qnk3SVdDTGVWdzIyaTA5WWk3MnpCcWZPRjRyTmd4VTNrSjdfLTVib1dteVlXNndNOGVzTjR4R1kzUGhVNHlLRV91RGc2dk5Od3Q1c2NXWW9TMHh4NlBDb3M4S0R0Y3ItVXlwUTkydGhVX0ZYZ3E5U3RUWXEyWWdWV0dQbnM1Q0RMT0RBSi1sMTFJNklpdGxQN0hoeUxvMzlqNzdpV2ZUS0RnTDVrcDdEOUUzX3FkUFprdGpWUER1M1pRY1Q3MzlOMnp6XzFrWHJEb20tNlBQcXdWUzZtUXpBVW1xaXhTaXZjcWJxalpJRnRPbGxLRkE2cWVyaDJlU0FZelRNU0N1d0p4REJSQjUtbjBNUWxJSGpDMTdkTFpoVnFEMVNiNlBycV95OXN2Mml2V3E5TGE5R2ZHbEhBNlZZM1QzUWRTQ3VrWVJqWFhxLUItTm5WZGhGTVZhbFZ2b3NySmZuSEZhWGZMaTBnczVVOUt1NHlqRDdRb1cxeVIxSVk5T3JaNHFSUXdrcG5tOU8ycnJIMXBtX1hTekxRVDRrWmNLYnVneHNvWXRsRE9TaW9iS0RYdTFNdENxdkRudnh6OEZ3MUdwTXJCdUxrVlFEVmVlUDJqNFp3TGxPbkxUTmk4YlNjTm1fN3ZUc1RQbTRJRDltanBXSThCYXA4M1RLaTNkelAxazFpM0dncnIxSEpVQU96Q0NjUTRnaWxES1o4UkVsUWUyMUJBcUo3eUVublZsdWN5RzZBV2E3dmlZWXV4eEJIa0RsN1hHZHZYMGpJMjZyd2NTX0ZIMnlOaWFmZDN3SkkxMzQyWEF2VDdDUWVoOGRaZWRKU3FYUUdqQjVCSGF5Vl9vZnplVXBfOEhqRkRoS1VkcmNJNGkwa0ZwcEhkUFhNQXUxMjh3RHUyTG5VenlNNEpad1NJdW1fbmpiUTNJU1R5bUVMTngzd3QyV1NFT2Q3QUt5S3lCNEJzU3NkUE1HZXdLSTFnc2otSENFb05Cd3hQQkF2VnFDSUkzbGY5NG0tRU04LVh6TnRCVXFpT3Y5ZERCa2d2ekptSTlrMk9fVmpjbUZrbkdKb2kxVnpZcGlRVTRYbElaempDd3NDRHFrYWh1YmNxWFdyMDhVdFBtV0hGRXk0Q0tvclZMN1VIaVhsVnJPR1VHdFN2dWN3S2RjS1RPeldsUngtRGNGMExDek1kR1p3Y2czZWk1bWl0bFliRjJVbGJOMmJaU0NQWDljOWxFU2RBUUhxUEVsNXJhVDY3aDlWeGxPc3doYW54SkZvNGVuRENaYWZObURGRzJMYTY5RXFCVjZLTHowXzR1S1pDNW14YXZEazZXS3lmb0ROeXFzdVZMdG83WXNqUk4xNTJYMDVYSEhuRVN6NG5lM2MwandXYXo2MFpJR0Q1TUhNUUhQeTdPNFdnYWthVnNKZU9mYUNza3diYjQ5cV9tQnNYME5mWlBjcWFiRFhoWjdCWUxROVhFUkdibndkM0pEQmgtX1RUN2s2WERpY0tUblZQdWVGN3dzVl80aE9HUkpkVEk2UFRmV2o1dWY4dTdxRU9BdUt5NmV1Vk1LeTk3TVdLT1Q4LVpRbDBoSWowcmJWR1pILVI0cnFIMXZfVmdRUGRpLXFXb3FXcWt5MGFaSzNDTkEzUXhXZnRMR3AwcUVXcHU2T1EtQ2hONy12eE4wdFVlZGREWlF5V1d0d3g2VFcxS2hDQldaR2pabTlBQzY4YlUyQnVOTUU1NW9VV0dsbmNOOUVuRnpnTm1RTVR1SzV2VGd3WkJITWpmUXpsSUdfeWZ3QXVtSHljSzVPT092eDk1SGM3d0RBRDJXMVdSb2h5MDV5TFJkbEJ2XzREUXJyTWthZEVwZjB1dHZod1V3ZXZSNU1jVkV5Yk93VUw2Z2Y5a3JDNEw0YlR1bUJRbG9Ccng1aDNuTHhZdzkwcmlqbG5LajVZYkthZWpyTXdiSW15Ri1xVk5NbWpTd2I1MlN0SjB3T0czeE9HZkJRRHhQWHJtSXhoMERSOEdzSzBkeS0xSElJZWo1LW9STWRfSjlhVkt6MFk0d3g2VjIzaC1qUDNxMjRKYmF3dndsQTZyVjVpVUZkaDZKUXJpTU5DLV9hRF91X181VTd0OENIN1pWQ3VQM25JaTV4N2dtcWFsSzNlZ0htM3BkYl9sb3dYRTRaRUJETHZ0a2lobC13LVBGc3VZb1VKSUZWcUZ2VnM1RW5TU01XMFBJWE9TZlZNWW1KWmVrYmlHX1FqeGtCMjNCaHpZclNqQ3oxcW5TTXg5a3ZicDlRaDFuZFJYSkpJUFUyamVIdUxCNE9nVzNoenluQ2FxQXZQRXVHMlhuS3B4WGZ4QUtOeldpTElOLTBsUTRfUXQ0dHctZmphWVJVVjVLVWpyYlZnazI1MDZIUG1ZVEdWUVdRX203Z1NBU1BaajZEYklua3U3SzhFWnI2b3d1SDI1M1hxazlrSWwyTE1CcHZqT2tOTWFRTXhLcjItMllkUEV5LS1mTUFQTHBfVU15MnhqbEtMS2s3blhJdV9IMXZSbmdfVlVyVkhuZUdqRmFuODdRRU9SU1Y3clRBcHJPMmZUMmpfOWhoNkptdFlrUXFnRzg2WXlKa3NValdzM3hwZGk2TlBGRUxqQWd5T0ZDLTRrTWdLbGdJM2lUSElCV1Ezamp0U2UwR2N0MUs3QnBCSlJySUFGLTFVQjZKVDZjSjI4Z01zd0k5OGt1ZDVob1hZbVQ1bEEtWmFELUk4ZE0wcUZ0SEg4a1lXX256em85bTY5LWlZZlZfd3N5Mm1CdnVlb05RZGRRS0JrbWlVTW54VjkwdEF5RWc4WXJaWUwxck9jWHFjb2VJNl84UmV0bXZZeFZNMWJwdXFfajlmTXYtelRBOUpDZXlKMXFBTjVWQWFpY0lnZzFKWElDTEI5amVTT09zUXcxYXZxdk03TjFBcndDcjZvTUhycTVaQ0VLODV5VmI1RzhjY3Rld29pSFlzdVlPT0hnSDNMbmNoV3pmSjNNaUVjTTZfVjdSZHZCUWQwM2tQekdFVjh1STJ1aDl0bUxrNkY3VUt6WU02RXhJNW1LUEM5LVFOMk14ZTB6NDZrZTJteEdHR3cteXFMNjFHR0FpS0FjcENsSzVHeHlRbVBuREo4RHFKTk9WWDNoX283YTExVW8zMmtkdEcyaHVYcERVc2F5NkU4VGJ5R1dFZ3dmWDdaVnZrN1VNM2VqdDNqWXBxYmRZSlBNTUJCMGdNOU9mSVFjS0lUcm9IMHJEbFE2Wmt4UGM0ZHBlQ21NMzg3NXBXTlFrZzFKSnVRZzN4cE9WZ0VGallabEVENTBFaVZKNzg3cUM1YUdtakxRWl9yLVA3X2hJN09lcExWZ1BHSEFTUkxsd0dOLUZwTDc4UW9VempfWHUwNlBkNkF1VExtYmpoVmlERC11ZG5xdTVVR3dKNGxZamJqSkNBN3VQT2VfdWpzUWhZd1VHQV9YQnlsbkVySWxMN09YSE9UeGFEbEpHSDQtNHdNcm9hbmhPWTVoZ2NWZHZVQlpVZ1JEVWg0MGwzejhGVWJhUmxpaEUxeXQwdU5vR3F3TWRyWnZoTkl3YVFjUFlQeVV3UTdBdWh1dl9qSXRVcWlGQm9ncnlSb3Njd3oycXR0am12OEFRWUh5QWx5OXVqdmJ1cnk1TGNJaF9FUWZUekJuSnlfcDVZdzBDWG5CSzg3ZkVIOHJhWkh4V0VUcHFseHlmWWRWZjlQakRYTGJMYWJWQ2J6TXNSMnNYZkFvNm00VmhnaEYtQ0dOV3lta25EMDBUbWU0TGE0Vy1BLU9lR2o3Mi1uOFZjNmI5Zzc4d25tYkF0dGRyUThQWVdLUXZjdXlEbHZ5RUdHSF81VW10bFN5ajJKbHRLZXN3N1dzai1hazhDWDFidGRzU2xoQldjYUJ0dGozUmp3bEN4aEQyTXlWdHR6dDIwN3JPQjdxdEFJeVg1enJZMUxaSHB3RW1NeDhkWnM3NDdlY2ZhZVM0ZFFCWmN6U3lCNFZFWVRRWGdIeWdFX3EtYndfZXhqNWs5c0RHeHNTRnF5elFCVm9VOUtlbmFtZTRESnNMWFdaaW51UEhZUVNtWDJUZFBabXNkSHhCa3BBcHJiLUg0SGdFSnBPYWxCa0d3aFhza0hwYjZUTkhQeHktb09tLWhBaXptTVZPZzlnTDJOSHpSdUFtb0kzVTRFd2FfR0Vub3d0ZUFRU0xlY016WjZxZ3l1ZGswcG51UnlONlAxbTNCU1ExODRXUzNqeDFDNDYwTEFKM2FySS00QWV1aW5fMFZYM3FHdmEzNDR2ZXQ4N0RSN0liTUUzS01rWWtUdXotaHpqbnhHVVQ1cXZhWnYwNzdQVHExbTVDUVBUZGVlNlNnMzRmLXlseGg3MGoxSS1OWnZ3aFAyTFZ2OTJkdVZ4SlJSN3hzbEp6UzU3NXE3aWZ1UEcwUnp0NE55M1lESno0TWVDTk5wWklwTUJKeGR2bkc3azhsbXlvQlVRYmR6OHhCdW5YT3FsRDFHU205M05LYy13bzdxZnpJanYwWjF6WVpwLW5LN0o2NEUtSnp4MkQxZ2xJRG5vZGw5R215UzlwbzMzOUlZYU9QZlJnSTNad1FTVkdwcEJQN0dNRUdsRkVxbG83bTUtNFNZWEc2SmRYYU5yM2lRVmdoUEtkQWVpLWJDTEFQbGJGSkNFQVU1NXJfSEVmS2xUNS0zNlN5ZHRlcWFTZEdvMVhGRXpadWFILV96OEJsd1hXME4wdFJpdHo3SXh1OU5BTkM4R3V0Z2t2WHVFUl9Obnc1VUlsYXJlcE02VERfWl9lOHJGRDdoYXhWMVd0b1pkOUJTd05iUm1JeXU2Y2ZaelgyeFNPVlJVSndWSEctWTNaRGRpcWtzb19XR0J2TFJKQlRWT3NvZVZucWUxWktqb0NRSzFEYUZPb3B4UDdTTWhwOVlpY29XRk9VUU5ONS1EQjMtNjhDbURzdjE1LXMzRFRxUUM1OHhpd2JZLTRuWWt0eVNRV2F5elRvYlZOWG1idmI5SzktdWowYVRWRkx6SDFHMFl2TG1oU1NTd2tfM08tY3RSUExFblhQU1FWNkdVT2p5d0xIT1hTRDZfY1lTN1JrVXR4Mmc4bV8xbmhJUW0wOFd1aTVNSkdQR0JEb0RmN0szd3oyMnRnUVFXTDEwY2J0SlVvQkYyNjJVaUg3TE5pMjJWQ2tsMElYMVVRNy13cEkwcDhkV1NvV282U25PYTdkUTVpQkliZjlQX3JRd1dhYVl1NV9aQlpwQ000VXFWY2dhR1NZVnNxRHpXRVY4LXRjazBYOE51STJyZ3JSOTRDSnhjSms5MWwtb3owbldhTUFocHJubjJfd3hSWEdOYXkzNmJqU3EzWXhNMXN0dDFNN1JjenU3UTJQei1mZGpHWUFOSHZxQUtYUTZpbUphQXNwbE50Skh1SUp1andyTlRQd0ZzNGE5bDRkWHdNMDRRSWZoYzR5em1icDlYRjdVWVU0MjNXTWhRU2RMNUpaTld5QXVxOEFuRzdtd2dTUDNUMjROVGh1U0Z6Zjd1Tk5ySmdfUFk5VUNWcmlPS3FEN1lVS0FSZ1FFQ0EtTmthbG5YU0V1VEN2azJpZkVYOEh6cTJJbDV3TEZyOVFKVjBmT19EUkNyUzVzRHVaVmJ3RDI0Y2VqT3libWd1VWFuTDhiMklqS3h6TFVPT2tlMkVPNVRRTXRQUWZjeTYydkV5c2NwQzJFYXd6YUN2V3ViMVNXS2RZVnUtcVBzdFV4eWlPUHNpcFR3V1kzTXVNRkpwclNscWFVUDFJa3N6M0Q0VGpqSElzb0c2TUFsbFRZcUItSWpuSEhmYzI2blM3cmExeVVjbHRIRWtEd3Q4R1I2bmctNk9XNWJtT0J2VFFDamRUUDhSbXZ3b2tIRXZGQTlXbGs2OVZIVFpFSlNaNGdRZXFzcW83SEJJQ0h3dlViOW16YkhnaU50bGQ1WUFHT3V1U3BOTE1UcTM5LTMzVVZoTjBLa0hLUXZCenI1OXFmaFBIU3lVRnVMZzI4b2pYMGRvb3gySlFEZ1BobHZVYkR3cGluREJqVHBiMDdsY09EYVI3ZWN2M0tDOUhJQVdreDlhV0lza21Yb0FWYVNWTDBsZ05NQzNHVkxSMURfcGVoQTZySWs2Rl9qbDY0N0w4SERqRFJEbjZRRnRIa21BYW10TU9WSzdPMS1UXy1UTldwaDZ3YVFOdTBrV1ktZXAyRERndDk2enRYUkZTVWdNOXJMMnk3OENOMkVFWW1mQUktM1VjamdUblUxRnJXaEZ3dC1JNlVmNFZwNlY4XzZxTjJzVDJyeWFLWHo0Y0JJY0NoNm8tS0RpOW95SDV3MFF5eDhWb0xTNlN0YVEyYU5FejlKamctZ0N4aVp0Q1JYeWlnaWx3NTQ5VWFWMldreHR2bDZkeWRmZmFTM2ptYUxqaDRmOXhHa1JQRUdqZmZvMVY0dUN5QkI5QkNoaVVCZG1qVGxlVlJROG5Ccm5WQW5qYXVIYTRsV3VkNkhjSzU5VjJNTlpNTVdtS0tvb0E4cWtuMzVUY25EdXluSjJITUNnZElCSnVQVU9TeTI1QnhuZnA4RU5NSlZrV19UeU9uTXk5b3JtNTVobHhmSjRENThad2FRREs0QWlFZk1IVHdJc09uZ2pnU0o0S1JDdjFRa1NVeDdYRVhNU0lNUWtUYTBqS19aNS1PQ1ZNc3NBbzEzVzg1VlFKbVpDQ0tZRzZWbS1ybnVYSUdZZlZWLTg1OG93OEJZUGhDYVRhVzRkVnBLWERDRDVfc1FsamdJSnd0Vmc0T0RKY1dxelJpWWpUaXMyVzVjdlBvT1haNUIyZnFaVTlCWGVPQWM4S3Y2a2ZDVWp0OFV5UDFTaGswN2xtZ1A5b25PMWJ0eVc5VnhQSE5uUHcxNjZDeXJmVVcxaEFHQjB1YTFNYmtEVTdfdk40SlowY3VWNV9iLW9sUm80eV9yeGQ3UGRWREJsZHBWTUxsV3haLVhiV1VqdFpTVndaT01rOEtvV2F0bld6NVI0S1ZLNkFnbWJFTHhpa1MxSjYxZ1lJNlhTcm8wRnF1N0dNM2JXdlZQYm1xR3Q4SV9UcjNHamlKeDZ3OUhvZGlLbEZQc2JMakE3OWJuSG5DcHdwSEZBWGI5d3E3dmMtSF8wTU1WVGw3eE56bzhIZ1FfR2tPWEl1OV9uMVJiZS1SRDRXUmlId1RuYm5ZbXpHNjN4b3dHTlBJN2c4R203ZkxfTnpDWGhveDdUSUhXMjh0WFFCeVk4ZmR3X3YtMUtvU2lhSjNwNHBJUnlRQm1rQnpmOTlGRlpPS2g1bUxLMnBrSE9INWFlblFFNng2cHFDakNkcW53Uzk3eGJ0Skp1TkF4M1V6UDdHM2l5WlN5ZWw4SEd0YU1UZVdITzFuaE9lZFNlcTVhaGk4dEFFeVp2MFFScUxsQTRaQUxrVGh5ZUNZckpBd1cyaUJaOW5DRUVnemxqT01wdTJndHpDRnk5WktZWUloaWZKdVQ3dlBHdVhGTUtLVlg0WFU5ZmVoOFhIMUVWbnZ4cENuRjl5eEZneThuVW5CdUdsRkVWOFVCVU5oOE5BcElZY3BlTDd5Q1F5bDZQN3Fock43SEhINEloNmhLS2lVaUItWjRNMHJUSk9mZkd6MFhGWmlaSDdYT21KazBNc3pCbEVhaEFFbjJTU1JaaVFXTThsRFRRcEdrX0p3QkpRX1FVTmtMZnhCcHpsSzBUMGFxS1d3M2doWFktT3FqelM4cTFXOHVBYzNabFRUMFZHRWdWdU8yNl9vRXpXTnZYYnpKMUVfVEFxUkVWS0xfOWFlem1zM3JqYy1GdldSR2pMV09OTXhUdGw5ZzE5RFdhbFA2alJlUlJFeEg3djBLTEdvSHV1RW5IVHNQX2hsMnZuM05WWWl3dFFualFCOXpiMjZKRmxwZzZFaEF1STN4bFZMM3hwRE9qZUlPNXM3MllKY1MzcjAzYkIzbTVHMUljRVU4SkR2WTF5MjJQaG5iOGVmNno1cmk4RDY5clVLWThFOXFraExXYVhOMjRTLTZBYjNRZUtKcmxIR09yaEc2ZkpCdElqTF93Rk9kWjJqOFo0bVBZdmJaNUNEUTdnM01yYVh1aVJ6cWdvdXk3TkliempzOEZETkQ4ZHNMR1Z0OUNLanRVMnR5a0JrSUpQZlhrZ3U0LUpSVFRETjNINGdwek9md1B5V18xOXRMdlBKNEpRbHlzbnhKaEptSW5TUEtUUTljclJHVFFlS0F3THZZemdCMG5QWkIxd2dQVWJHaXRsaHlTV1pqbWplVU5oSnNnb0Z3ZHRFdTloTjRDejROWUVLZ1ozWnBKTC1sZmVJbmp0VEIwN1A4dWtpV3FHeGNBaVI5TDRPdl94VmxNYm9hblduNENNLThVSnZjRGhVRGtpTGt0eHRJOE03Zk01bngtMkFSX3MwcnlDV0F1YmVmQUxRdHVEUnQ1MVZrZnlJZkJ2UWFyb3dINnpIX1ZfZ1lJWFdOdDlvTElMT3FrNHlqcmR5Z0ZXWTl2QXZQN1Y4Q1lraUZuSVVrWGNaeUNsT2dmcTM5bXRKeHBMM2Nzb3VaWFRIcDExZ0xibWRUNUVTbjIwRThiblpEcTVvSEVEWGxPbGZHSE9ldmx6RnRCX1V4R1h0S1lYOUoxQWlLekJyZGI3QmJvemRFcDAteHVpeTZYRFp1Yjc5LW1LcnVQTDJaWWIxaTVoVmpRQUN2RnAyUHBaT2k3eFVmSlJoT0Z3Zi00OUphVE9XTjMtYVhVb0N1a0NpMWdqODhkQ29QWWNVdWs5WmxNelpkV1hJcDlnQ1gyN196U0U1WURCYWlWQ1dPc3c0Q0pGYmMta1FUOUNaMzRkU1hiczZ4S1N0OS1haHI5b3NpY2JHY2laMUlDV182WWRLM0l6ckh1UUV6TnNDQ0tEdW9iVVFRZFpBUlFMeWFlR2w0NWczN21Gb0tQN2J4b01aY1AzRjB3MzdBR0xMVzFjVi02dU5uaWhZQ1p0dThZckZQdWF4aF9VVUxPTk1SZXN5TFVsRHVydmxuQVV5ajFVMU1TbEMxTGtPbV9VV29NdVBzX1VqU2M3SDc3RTgwcmd2QmZCQTdaMkRQMmpWOFFRUmI2Q1RieEtpRkk5TFhmRlI3MjlFcURZVXVRRUk1ZDN0Y3liN3U4TzJlQnZfVGo5TzRPREx5Wjk3Z3BMdVZ3dUpVb3FqQVJnRU91U2lHdWwxaFJxYTl5NlZ0ZmpMNE5qajJJYjFsY2JyQS5OcXpkcGU4Yjdxc2MzQmpYRlhaWVpR" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupSecret-example.json new file mode 100644 index 000000000000..03c778957281 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/BackupSecret-example.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "testsecret", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmhERDdfVW9aU1ptR2JYN1dYUTU5WDkxZ0FQb05kdDcwZE1BbmgzbjQ3eWNjbkRNOU5vTm1hY0NHZmlNeUwxU0FlZDk0UjhBNDAtVE81TDNfQ05Qal9pdWIyaW03Z21nbHNPNnFFUVVIWU1tOEh2Wl9odFRrdEl4QzRPWEowYTB0S2hscnczZlBvVVFDZHVGcFg0ekEzYTR4VTZXTUNfYjZZVXZqUjZnSGM5TFRUR2tIazh1RTY0aVQ4cmt5RDRrU3RNcXhnU2lfRVZwUUdjWGdfNE9wQ1dBOUFha0N1NkpybGRaQW9BLUtXTWpQbGhaWHFYWGMyVkJlbUJjRTQ1YzY3QWhqYjJrSi1uQ1c5dHBjWS1JZ3JEUHFzWkswOS1WbHVtcl9SbzQzcG5FeW5jVFpTdzZlX1h6VnN0dUFOZHdiM0E2OVR1c1hfYkJKZ0J2SGQ4cDJSUS5WMTlhMVRacjZ2UjJHdEVaWGtOOXJRLmhwMU5IMmwtZklWbVgwWlNfTlRzekJfUEs1aktDUU5rSnJyRUhRQmZjQ2VjdHhmVU5uVlB6MVBqRWNDblZuV0pCUk4zTlFKZm01MjFLRHp1MzBIVUFEUGVmVHJyMFVFS2x5QTM2cThoWFY3VTdoQ0dHNk85NVpYclRsZlVENDI5RTNTNTQxdVBmWGpGR2cxbHlucFNTNnAtVkFzaXFlY1lpQWNuM1hhNzRhUm5xS3N3ZzhyU1ZOX09hSVU3ak1VVUhYZWY1ZmN0NlFrdWFfYkt6Z2dtR2ZiT2RTdVdNRmVQaF9mMkJMUFNGN3k1NThEMFZxSVlNY0JJR0dMU3BQUU93Q094OFF3Y3NVUEp4ZDFuWkVYYjRVNEJZYlhBcmFMX0NwekYxZlhYWVBsdmVUSGdKNVdrR28tWXNJVzAtT3ZqVGdLN2hIamxpR1psd29HOVUtbTJSVDZfbkhseHhVRFMyY3JseGNmay1OOTlXd0tEdUxFMTM5ZE1mN2RCSEl1aTdxd0RXdm1TN2JMTHYzM05Wd19XSl9DT1VGQjgycy1ELXk0UEdIRzVackhsSDgxa25mLVpRblU0SmZfY2lhMWhmWlY3ZFMxb21UZDQtNnJwZmpTMGxFT3VfZTQ5bUpYUGFpZ0hyLWFQYkFzTXJJQ2JvOUVIR2IzMXJ5SlR2QXF2ZmJDbU10bkdLUDV6aUNiZFh3SU5ONzBJTk5lZnJLWGZkZFBUd0RSV3d1ZkxCcGNlU0U0SG5EWVZVQmdkMDl4UUZidG12UDhhTXhhUlpGSTNpWG1fbmpCNmZfdlNhZUNUakdVYVVuRE1QQkdOQWQ5T2xVX3dvUnMtalNCVnVqd1FQSGlGcm5RWElkXzBRdXRYSm54cTU4aUtlTGJvNDJtOHgwaXBRcnB4aEZoUDdHNmZOWXAwVmxXR0RxZ1Q0VlpPQkZsZWRKUU0yaDQtb2xTbXdtUms0M0Y1cjdKd3h4aENqU1JReWx1MGEyQ0ZONWMyZjIxTElZaFliLWNReWFXMDNpV3hsb04zWld5cDJIb1FlUmZPR3lXUzBiU2NBT3JndGpBYnJaUFIwMGRRNnpSOHNBczFYUzh3dzBlaVczbFpsdjJwVWFxOVpTeVhnTS14b2NTOS1ueXRaWGtWWlUwX2dDVXJBV0ZKNG5XdW9oTGM1RkkyRWFQNWR0SXVWa3dnbXlsR1gtYk9ZeHp3dzVGYmI1V3VEbnJ5aDBMSnVic3Q4VXdLdnl3bk1jQ3duMjZSVTNxQVRudGJubVhJS0FyeGkwMldQVk9oTXdpUWZuX2h1TWk5emp3MEVuaXNWdktNWUNnR2xqNWlGZW5Tc0FKUXBiLUY4bng3OWFJQlJaTUc1a0huUDR5dGxmNm9FTkRsRXNJY21aeEtOdEIzcmJPdVROYUhLTXZBNmxSNzlMMDJZSTZrcEdrUUZnaHpIaTBjTWkwbFdCejRTM1AzUEMzZElZSVlQZ0Q2S05kT2FLWHkta0dWdUlsWFNmVlVrMnpzM0NBeTJhZEJjV0NMV094ZkRoQnlwNTl4MHpBRExvdnZySHRLOWF6TGN3N0lTbVl6eUhYMkpobVdReUYtTFd1VzhfcW41SkFVYlB5Z0RTRDYyMi1PTGZQVDZmc2VTWUVBUTFLVWRwZTFnSV9hZWxVT3FaRWN1aE5SckU1YUp0LTN5TEVLVWZIWXF6WTlGbHJrUE5MUC03Y2xRbmEySEhfZmMzZV9LTGtGUDFhQTJjM0RVaERseGhsTzB2bFVmV0c5eXpXaDNZN0NmRFlFMlBaUzZBcFBlYy0wa1NDcEVKMmtCcnFzWG4yeDJDX0FDdTdCTTVGZXNJQkN0M2NqSEdQSVVQRnEteGVmT0RCXzBQcXZDTXpBOHg5Zm10Ny1sNHhVQlJaa0dtZExhZFoxVzdFUXRNRVpsSWMtbDF1V1UzTU15cFZpVWR0OWxJUHVQVUEwc1NrbWxrTGhNSjgyNE5QN0hyVi01dC1ZNDcxaWVKMHdEUjFxMmU4MU8yazdNeTFlTDY3TlY4OVBHYU81SVR5WG1ueUVXMGtVbl9qa3l1UVRkV3dsS09HZVZIYkJWNFpxSXZHWjdQUS02TEE5eXc3a0dyZFRhVFZXOEdOOV9GY1c2VUhjbzA0U3dqTzY2S2x4VlFJWWpBdEZPZlBjWW5xNzF1RndyQS1UZHVDZG1sUFBHOVpjc2tiQmdrbF8wVk90dmhuc0pwYXZKZ2Zka0d3OF9qMkQzd0Jzemd0VndHNk9nNW16eVFwM2pFc0w3UmNtcXd6WFBOaDdKYXdHVDBJMlRvZHYyQ1Z3MDkzWjJlODFXR1NxRnlIejAxdjFBaGN2T2VWdmFjUGM2Y1JJaVduNW93ZF80d2FBdjlyNjVVdmtWa1FLRXpHUmo5eTZILXdZTTMyV1JyMzBlOU9MRTNKUU5POV9kNjRTRmIwSjZHa2VxUmtnNkVXc2xqN1JYLVU1VlhrS1BtMzNpS3c5dGU2NVBqQUNnZThRVDBYVWZEaUx5a1pGeUdpZ09ZMS1TVDFxUlE1eUhMTXhEc3BPRjFXd1lMQ2c2b3hocTlWMm55Z0U1cUJ2ZnYyWUtFaDdjM1dWNjJrYkw3UXJ2d0xkMHVRZ1FwYmUza3E3dGJzcC1lNWlud3cyY0YxQzByeHNScGZJRHlJMmg4b2xHMi1RQUZkWmtlMUlmaE1FZmNfdUdXX2pqSGJSWXVzYnZCRnpKMDdaOVJsVnFMR1A2WXBnTDFsRTFOY09xUVJyYVdxckdDTWZ6SzZMVENQSl93aHJRam9WTzdVRDJIUEVnUjZ2S3U3cWlmTmo3UjE5OUJuRi1EZmlnbk1TYTFKZkZadDNuVXVZOEhMUXRoUzN4MUMxOE50d3dsaDVuNGxYS3d5MERHenljbVNweE05QkdPNTFRckFmSXRfY0xHbUlzMlJ4MzMyeDRIdEZ3Z05nRzFBazNIUno4TlJ4V3lhNWhjb1NoYURXekhES2gyOVp3Vm4wYXVzeWJpal9uNlFGcnZZbjRSOHdPNlRQV3FrS09JcHkxc1lQNWxyNDc1anZSRVZGaFdCWDBiUXdJdnNlM0Q0a0dFQzgzU3FWYkhxY3phZTNwOFNxaG5tQW5ZYzBIbWp4clJfZUMzT0hYVFBGUFZmNDlVWHdrQjIwY1lvcjJ1dzBaTzJ2TUg3S1QwcjBSWDBQVy1qcGpORFpjSGRSNVVCMXFacGlWLWxaYkw0eF9IZW14aWUxY0RPOHNQSXhIOElUSWtOV0tTR1N2eWdraHBBbGl2RzVEZXJObElkeFE2c0tHQ3RtMDEyT2xjN2thaVFaNHh0TjR5ZVpPU2xyS0s0OTlIcWhObzhkNTNsbFFfMW5ncWlHbzhUSDlzWkFrclYwclc3dkJOSF92UlhBdTc2MnlpZGhZUURYYXJXSEFUMm9DU2hEN1lOdnotekoyZGtEajJMcW5CdFNCWFh5T2xsM3o0ZWFITDd2MDZ1QTgxMVBKQU5YZUdoenNaNFVQQUQ2Q0E4cGlxSHB4WGkxODRHNEJETVU4S2VHeHZLWnJiUlNOT2pTOFNrQUJKZERfSklIZ1RhNEFhNzdPUmNZcVY3OWZ5djFZVHNma2lLR2NUYzZIUjZzUVpsamt2U0NQNjdtTTRGUHRqTHlfX1pDQlNwdnRSVWd5UlpNM1dSOUViNHkxa29uRG4zUjMzN2lpSzdfbGtIa1UtZ21VbUpZUVdnUjYzT01pZUdRUHdNR3BSZXlRWE5yckJVTDN2Z2JYdjlac1ZDcDh1NHRwQjBleXJvUXgxZC1KSWJvOWVyR1VlX0ZzU1Fpd0tIaGFIUk02Nzh5dENkcHJFbDBWeG92TFVrX0xNcTFjN1R4MG5jbFl2WE4yUjhEMXNhU2FibkJSd19CU2tZMFNMSXdhb2RpY2o2ZzdLd0ZfMXB2eThhNF9LbnJNLUNkenBvdHA0aTd4QUJuY2JRVUEwWkpsYlp1elRpR0F4ZjFnclk1Z0dZOTVoWi1XZG1lOWlSazBHRTJGN3d4MlJyLUVvS3lZRjNjak0xMWt6MWFmME9fNFdyOXJoU3JrX1NHU3l2a3ZCTW9NZ0xOX0tSS1BlTjlqUnpwRlVST2VnN2NCbGlhdy1odnZhY2lCeDN2UWRqTE5jTldQdU1UbzVmME1QbmU4TUtXcFBoWjBySElMaEVuYW1pcG82X3pzNjczcE9ma09FS0JWWE9mUDEzR0UwS25SWTBab2JPLWRub254LVdBY1dodFZvX08xbkwwTWE5ZXFMMURhRGhJU0JNbVRIM1hkY2dDTnF0emIwcVMtS1l5Mk9zRzZOakRDVEM1aEI3MXIwU09WMUprNFV2QjdYemxTTW9YUXJnTzF2ZFVwSGtxaVhUM1RJZmlQMWRKcDEweDlSMlp5R0lzUzljQUtNMEZyMGRxQmJmQy16NTJpcWZweW4zUVVqb1Fld2hPYnJwUEZGOF9lUmVNRlIwSXZjUkxnMHpwek56UzU1N1pkQkZhemxNTThLcnkwN2QyUDAyTnZtclUtN1ZjOW8wZm1qem9WOHVVTG9PMkJHdmFRdnFJNmtBTmQ5VWo1X2JkY2NVUzBhcklzcGFZa1UtUXQtNnQxYU5YUUdGZEtUbFMwSVowek54bkNIZWRySEE4SkYtOFg3d1ZpRW1McXJQbU1Sd25sbWx3SnhxLVlReWMydmdUallSbUxCVU5TS3VrZkJsa2VnMmlCRWdySksxVlNyRWswX0ZvOXkzV1EwVlZuNXhEZXlGc1JuWDI4Tkl6alFQLVNXaHhYbzdPYm5YY1cxZHlWNE1fYjdzM096cEMwOTJWcGZYQkpaTDhBeHgxNGY2TmJzTEpXLW95VEdsaTJFb2FCZHJKQ2JkQlNOdWJlbGdRRmU2V2hqSjRGdlNrYVJISjFTT3ltbGFtQmYwaVNDOGM2X1g2SkZORjNmOXYuQjc5SDJvbVIyTU52SndydHVzclJ4UQ" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/CreateCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/CreateCertificate-example.json new file mode 100644 index 000000000000..07ec2e513607 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/CreateCertificate-example.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "selfSignedCert01", + "api-version": "7.1", + "parameters": { + "policy": { + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=*.microsoft.com", + "sans": { + "dns_names": [ + "onedrive.microsoft.com", + "xbox.microsoft.com" + ] + } + }, + "issuer": { + "name": "Self" + } + } + } + }, + "responses": { + "202": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/selfSignedCert01/pending", + "issuer": { + "name": "Self" + }, + "csr": "MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqe8aINnShK+wQC8QU7fwsviQc9+yiOnqU3adXA6qNjn21HTdRBa7cyQIk1STxHIBLTT/GaEJwqsUi6UvZaPEHokOWsr1bP9M7xOPTicBcRyMrr6bOxsmGczYtu1z2TzzXDD7q7IEignE7/LowGEaIADCIU9iuWk7TiJ+1Q/VLh/B3xPsgVjY+n7zEQ53gBiDHSl7XfELfwmslOQ28TVNogUyXsxHcVxQQYJeI7HqqY448LeleK69Ld86lkBixLEm1pD7HSbEx3WI2lyUQAGR6hD3YFaiIWVpQeEyI7p1jmtQlnfZdEL4q9wdlEEcwd3h3PAZpEBhCixahF54fci3pwIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACiLeghirF+yCuYGVUPDB3wKQJn2iLY1za9ncxCehIVqOkFK09AphzoxF6Yid90AKCaa/dT/Ohm7oTyVQ+YcZnT00LUNFVG48AOE8YDiw9tjAG9OORsAz80xnv2qaLw2TCVIQ6NjrI83LqAm1GJ8rAnpdD/ZTuWM7TvSO5g/jm/Q0oSuKpMgj3YxpwgB9Ac6YEfVzOnm76OkUcpvR5MS4BoTfRv4thdSnU+uwqxM+HtdSVTbHQeC2U/hM1cyzDMpl1rZRklmiEOoPUeDasEIBVTJhAxR8xAeKJJD7Wzj4mJPw4UMvF8zQZzW8EKYvB1hkVYY+HQ85L+XcXd8lco7hU4=", + "cancellation_requested": false, + "status": "inProgress", + "status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.", + "request_id": "6faacd568ab049a2803861e8dd3ae21f" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/CreateKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/CreateKey-example.json new file mode 100644 index 000000000000..ae87e0222150 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/CreateKey-example.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateSoftKeyTest", + "api-version": "7.1", + "parameters": { + "kty": "RSA", + "key_size": 2048, + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "attributes": {}, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificate-example.json new file mode 100644 index 000000000000..3bf1793c6b66 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificate-example.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "importCert01", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedcertificates/importCert01", + "deletedDate": 1493938558, + "scheduledPurgeDate": 1501714558, + "id": "https://myvault.vault.azure.net/certificates/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "kid": "https://myvault.vault.azure.net/keys/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "sid": "https://myvault.vault.azure.net/secrets/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938557, + "updated": 1493938557, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/importCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938557, + "updated": 1493938557 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateContacts-example.json new file mode 100644 index 000000000000..0f98fa5a9b94 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateContacts-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/contacts", + "contacts": [ + { + "email": "admin@contoso.com", + "name": "John Doe", + "phone": "1111111111" + }, + { + "email": "admin@contoso2.com", + "name": "Johnathan Doeman", + "phone": "2222222222" + } + ] + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateIssuer-example.json new file mode 100644 index 000000000000..363cf914e85e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateIssuer-example.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "issuer-name": "issuer01", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test", + "credentials": { + "account_id": "keyvaultuser" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + }, + "attributes": { + "enabled": true, + "created": 1482188806, + "updated": 1482189526 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateOperation-example.json new file mode 100644 index 000000000000..95e81055df1f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteCertificateOperation-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "deletedRequestedCert01", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/deletedRequestedCert01/pending", + "issuer": { + "name": "issuer03" + }, + "csr": "MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApf+kGcL+5uivj/ToYbQ15zcx3caEnpzXaX2eJgL0/Kwaz4u2/bNJ9+hoXnlOFFbCp4canVoNvgu8fw5NOu9U3gJNFQwjHeAqfsg8okZGkIk0riIpp4MMb/4GQb2y3B28AcTu2FANdzLoZzBqmQs51KBe1RONkdtqDYXIvnb5G+9+P7PCy5G//Ga0JAP6Y6P8+TrE9JLEj6Sny0ljLMpMyt4rIRAtNfKYSeiWVQmYX4jZfImIW3iq91zwMsRlrzTm80mNfHPCv7V/8NmYuh0MQgCr49lLbbKCgzDyo9h8sblVQvR5TAylpIk7bSQNf4tSdVNHnsF6CJWu6Pg31hyMpQIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAHVjmYFs3FmecaJ1ExhK1WCFJaQJUTVbPJ1xJ93UJlLivhzI1yhQO9nMC2DKV+E+UCxceqjae6OG5LUhXfYAziS0HTc80+ZcUqrZRb5ZRt+8HU0TPbTDDqjj8wMZ4VlgQ3eXGAGesMfZV3AqWwa5itofvqm8KAmL4Yn/XMSHcKfRx3h9WnC6RXgZ8WNYK+r5o+gHlmuF7/AaNFh8UjIsjjOZQ0Yin/vA4yBEYTt1/OC7pScs3bdL9CIf4rC98qaMSf4B2W/vfrXUo0gGPYcep25jy7xnIltSY80Trn3Mty5YQ0IT+KPQcJKhbryGg6bIy4jJDwS7zkn51MR1q3kNoOA=", + "cancellation_requested": false, + "status": "inProgress", + "status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.", + "request_id": "b88791e33d9c4d609d3e3cc3d2d40d11" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteKey-example.json new file mode 100644 index 000000000000..5cbd4e7d9fc4 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteKey-example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateSoftKeyTest", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedkeys/CreateSoftKeyTest", + "deletedDate": 1493942452, + "scheduledPurgeDate": 1501718452, + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteSecret-example.json new file mode 100644 index 000000000000..c93d78374f4b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/DeleteSecret-example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "GetDeletedSecretTest", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedsecrets/GetDeletedSecretTest", + "deletedDate": 1493938433, + "scheduledPurgeDate": 1501714433, + "id": "https://myvault.vault.azure.net/secrets/GetDeletedSecretTest/b595353d9c39413d80626575b3b5d865", + "attributes": { + "enabled": true, + "created": 1493938433, + "updated": 1493938433, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificate-example.json new file mode 100644 index 000000000000..389bcfaff7f3 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificate-example.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "selfSignedCert01", + "certificate-version": "pending", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/selfSignedCert01/f60f2a4f8ae442cfb41ca2090bd4b769", + "kid": "https://myvault.vault.azure.net/keys/selfSignedCert01/f60f2a4f8ae442cfb41ca2090bd4b769", + "sid": "https://myvault.vault.azure.net/secrets/selfSignedCert01/f60f2a4f8ae442cfb41ca2090bd4b769", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938289, + "updated": 1493938291, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/selfSignedCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938289, + "updated": 1493938291 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateContacts-example.json new file mode 100644 index 000000000000..0f98fa5a9b94 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateContacts-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/contacts", + "contacts": [ + { + "email": "admin@contoso.com", + "name": "John Doe", + "phone": "1111111111" + }, + { + "email": "admin@contoso2.com", + "name": "Johnathan Doeman", + "phone": "2222222222" + } + ] + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateIssuer-example.json new file mode 100644 index 000000000000..363cf914e85e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateIssuer-example.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "issuer-name": "issuer01", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test", + "credentials": { + "account_id": "keyvaultuser" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + }, + "attributes": { + "enabled": true, + "created": 1482188806, + "updated": 1482189526 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateIssuers-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateIssuers-example.json new file mode 100644 index 000000000000..b44537050a63 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateIssuers-example.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test" + }, + { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer02", + "provider": "Test" + }, + { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer03", + "provider": "Test" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateOperation-example.json new file mode 100644 index 000000000000..4b8cbed06bd7 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateOperation-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "selfSignedCert01", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/selfSignedCert01/pending", + "issuer": { + "name": "Self" + }, + "csr": "MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqe8aINnShK+wQC8QU7fwsviQc9+yiOnqU3adXA6qNjn21HTdRBa7cyQIk1STxHIBLTT/GaEJwqsUi6UvZaPEHokOWsr1bP9M7xOPTicBcRyMrr6bOxsmGczYtu1z2TzzXDD7q7IEignE7/LowGEaIADCIU9iuWk7TiJ+1Q/VLh/B3xPsgVjY+n7zEQ53gBiDHSl7XfELfwmslOQ28TVNogUyXsxHcVxQQYJeI7HqqY448LeleK69Ld86lkBixLEm1pD7HSbEx3WI2lyUQAGR6hD3YFaiIWVpQeEyI7p1jmtQlnfZdEL4q9wdlEEcwd3h3PAZpEBhCixahF54fci3pwIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACiLeghirF+yCuYGVUPDB3wKQJn2iLY1za9ncxCehIVqOkFK09AphzoxF6Yid90AKCaa/dT/Ohm7oTyVQ+YcZnT00LUNFVG48AOE8YDiw9tjAG9OORsAz80xnv2qaLw2TCVIQ6NjrI83LqAm1GJ8rAnpdD/ZTuWM7TvSO5g/jm/Q0oSuKpMgj3YxpwgB9Ac6YEfVzOnm76OkUcpvR5MS4BoTfRv4thdSnU+uwqxM+HtdSVTbHQeC2U/hM1cyzDMpl1rZRklmiEOoPUeDasEIBVTJhAxR8xAeKJJD7Wzj4mJPw4UMvF8zQZzW8EKYvB1hkVYY+HQ85L+XcXd8lco7hU4=", + "cancellation_requested": false, + "status": "inProgress", + "status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.", + "request_id": "6faacd568ab049a2803861e8dd3ae21f" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificatePolicy-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificatePolicy-example.json new file mode 100644 index 000000000000..e2fcca362501 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificatePolicy-example.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "updateCert01", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/updateCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1482188947, + "updated": 1482188947 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateVersions-example.json new file mode 100644 index 000000000000..ebe62bd98b65 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificateVersions-example.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "listVersionsCert01", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/certificates/listVersionsCert01/002ade539442463aba45c0efb42e3e84", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482189534, + "updated": 1482189534 + } + }, + { + "id": "https://myvault.vault.azure.net/certificates/listVersionsCert01/7fcb3e9eb8bf43f3a6ff4b9c3740801d", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482189532, + "updated": 1482189532 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificates-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificates-example.json new file mode 100644 index 000000000000..c0d986517b8b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetCertificates-example.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/certificates/listCert01", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482188987, + "updated": 1482188987 + } + }, + { + "id": "https://myvault.vault.azure.net/certificates/listCert02", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482188988, + "updated": 1482188988 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedCertificate-example.json new file mode 100644 index 000000000000..909f89588630 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedCertificate-example.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "getDeletedCert", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedcertificates/getDeletedCert", + "deletedDate": 1493938292, + "scheduledPurgeDate": 1501714292, + "id": "https://myvault.vault.azure.net/certificates/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769", + "kid": "https://myvault.vault.azure.net/keys/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769", + "sid": "https://myvault.vault.azure.net/secrets/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938289, + "updated": 1493938291, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/getDeletedCert/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938289, + "updated": 1493938291 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedCertificates-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedCertificates-example.json new file mode 100644 index 000000000000..f0ebb81be12e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedCertificates-example.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1", + "maxresults": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "recoveryId": "https://myvault.vault.azure.net/deletedcertificates/listdeletedcerttest0", + "deletedDate": 1493937659, + "scheduledPurgeDate": 1501713659, + "id": "https://myvault.vault.azure.net/certificates/listdeletedcerttest0", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493937658, + "updated": 1493937658, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/deletedcertificates?api-version=7.1&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTIhTURBd01ETTVJV05sY25ScFptbGpZWFJsTDB4SlUxUkVSVXhGVkVWRVEwVlNWRlJGVTFRd0wxQlBURWxEV1NFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedKey-example.json new file mode 100644 index 000000000000..5cbd4e7d9fc4 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedKey-example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateSoftKeyTest", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedkeys/CreateSoftKeyTest", + "deletedDate": 1493942452, + "scheduledPurgeDate": 1501718452, + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedKeys-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedKeys-example.json new file mode 100644 index 000000000000..24bea234cf78 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedKeys-example.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1", + "maxresults": 1, + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJeklXdGxlUzlNU1ZOVVJFVk1SVlJGUkV0RldWUkZVMVF3SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRJeU9qRTJPakF5TGpnM09URXpOemxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "recoveryId": "https://myvault.vault.azure.net/deletedkeys/listdeletedkeytest0", + "deletedDate": 1493938031, + "scheduledPurgeDate": 1501714031, + "kid": "https://myvault.vault.azure.net/keys/listdeletedkeytest0", + "attributes": { + "enabled": true, + "created": 1493938031, + "updated": 1493938031, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/deletedkeys?api-version=7.1&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVSRVZNUlZSRlJFdEZXVlJGVTFRd0x6RkRRa0ZGTkVaQk5qQTBNelJGTmtZNE9FUXdORE5GTkRFM09FUkNPVFE1SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRJeU9qUTNPakU1TGpVeU1UZ3dPVEZhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedSecret-example.json new file mode 100644 index 000000000000..c93d78374f4b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedSecret-example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "GetDeletedSecretTest", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedsecrets/GetDeletedSecretTest", + "deletedDate": 1493938433, + "scheduledPurgeDate": 1501714433, + "id": "https://myvault.vault.azure.net/secrets/GetDeletedSecretTest/b595353d9c39413d80626575b3b5d865", + "attributes": { + "enabled": true, + "created": 1493938433, + "updated": 1493938433, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedSecrets-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedSecrets-example.json new file mode 100644 index 000000000000..10a53fd73fdf --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetDeletedSecrets-example.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1", + "maxresults": 1, + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ESTVJWE5sWTNKbGRDOU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGUkZVMVF3SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRFNU9qSTFPakU0TGpJNE5qUXdORFZhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "recoveryId": "https://myvault.vault.azure.net/deletedsecrets/listdeletedsecrettest0", + "deletedDate": 1493937855, + "scheduledPurgeDate": 1501713855, + "contentType": "plainText", + "id": "https://myvault.vault.azure.net/secrets/listdeletedsecrettest0", + "attributes": { + "enabled": true, + "created": 1493937855, + "updated": 1493937855, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/deletedsecrets?api-version=7.1&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWXlJWE5sWTNKbGRDOU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGUkZVMVF3THpZMU16ZERSRVJGTlRJNU5qUkRSa1pDTVRkQ1JVWXhORGszUXpSQ1JEZEVJVEF3TURBeU9DRXlNREUzTFRBMUxUQTBWREl5T2pRME9qUXdMamsxTnpZeE1UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKey-example.json new file mode 100644 index 000000000000..8f70bb84f953 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKey-example.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateSoftKeyTest", + "key-version": "78deebed173b48e48f55abf87ed4cf71", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKeyVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKeyVersions-example.json new file mode 100644 index 000000000000..afdb4e5c8275 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKeyVersions-example.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "listkeyversionstest", + "api-version": "7.1", + "maxresults": 1, + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVmtWU1UwbFBUbE5VUlZOVUx6ZERPVVJETmpjM05VUXdSVFF4TnpjNE1qZERORVk1T0VZME9ESkdRekV5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kid": "https://myvault.vault.azure.net/keys/listkeyversionstest/7c9dc6775d0e4177827c4f98f482fc12", + "attributes": { + "enabled": true, + "created": 1493937851, + "updated": 1493937851, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/keys/listkeyversionstest/versions?api-version=7.1&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVmtWU1UwbFBUbE5VUlZOVUwwRXdPRUZDUVVVNE1UZ3pNalF5TVRsQ05EUXpPREZFTWpoRVJURkdSVEJESVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKeys-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKeys-example.json new file mode 100644 index 000000000000..4189e910d05b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetKeys-example.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1", + "maxresults": 1, + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4MCFNREF3TURFMElXdGxlUzlUUkV0VVJWTlVTMFZaSVRBd01EQXlPQ0V5TURFM0xUQXlMVEUzVkRBd09qQXhPakEyTGpnd056azBOemhhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey", + "attributes": { + "enabled": true, + "created": 1493937656, + "updated": 1493937656, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/keys?api-version=7.1&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJM0lXdGxlUzlWVUVSQlZFVkxSVmxCVkZSU1NVSlZWRVZUVkVWVFZDRXdNREF3TWpnaE1qQXhOeTB3TlMwd05GUXdNVG94TVRveE5pNDNNekE0TnpReVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecret-example.json new file mode 100644 index 000000000000..3675d1e64a67 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecret-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "mysecretname", + "secret-version": "4387e9f3d6e14c459867679a90fd0f79", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "value": "mysecretvalue", + "id": "https://myvault.vault.azure.net/secrets/mysecretname/4387e9f3d6e14c459867679a90fd0f79", + "attributes": { + "enabled": true, + "created": 1493938410, + "updated": 1493938410, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecretVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecretVersions-example.json new file mode 100644 index 000000000000..9fb168cedf05 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecretVersions-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "listsecretversionstest", + "api-version": "7.1", + "maxresults": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/secrets/listsecretversionstest/11a536561da34d6b8b452d880df58f3a", + "attributes": { + "enabled": true, + "created": 1481851699, + "updated": 1481851699 + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/secrets/listsecretversionstest/versions?api-version=7.1&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWXlJWE5sWTNKbGRDOU1TVk5VVTBWRFVrVlVWa1ZTVTBsUFRsTlVSVk5VTHpGRU5EazJNa0l4UlVRM09EUkVRa1k0T1RsR016TXpNa1UwTnpZNFFqY3dJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecrets-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecrets-example.json new file mode 100644 index 000000000000..f8bc86ffb466 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/GetSecrets-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1", + "maxresults": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "contentType": "plainText", + "id": "https://myvault.vault.azure.net/secrets/listsecrettest0", + "attributes": { + "enabled": true, + "created": 1482189047, + "updated": 1482189047 + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/secrets?api-version=7.1&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVZFVlRWREVoTURBd01ESTRJVEl3TVRZdE1USXRNVGxVTWpNNk1UQTZORFV1T0RneE9ERXhNRm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/ImportCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/ImportCertificate-example.json new file mode 100644 index 000000000000..e77624d6aff9 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/ImportCertificate-example.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "importCert01", + "api-version": "7.1", + "parameters": { + "value": "MIIJOwIBAzCCCPcGCSqGSIb3DQEHAaCCCOgEggjkMIII4DCCBgkGCSqGSIb3DQEHAaCCBfoEggX2MIIF8jCCBe4GCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAj15YH9pOE58AICB9AEggTYLrI+SAru2dBZRQRlJY7XQ3LeLkah2FcRR3dATDshZ2h0IA2oBrkQIdsLyAAWZ32qYR1qkWxLHn9AqXgu27AEbOk35+pITZaiy63YYBkkpR+pDdngZt19Z0PWrGwHEq5z6BHS2GLyyN8SSOCbdzCz7blj3+7IZYoMj4WOPgOm/tQ6U44SFWek46QwN2zeA4i97v7ftNNns27ms52jqfhOvTA9c/wyfZKAY4aKJfYYUmycKjnnRl012ldS2lOkASFt+lu4QCa72IY6ePtRudPCvmzRv2pkLYS6z3cI7omT8nHP3DymNOqLbFqr5O2M1ZYaLC63Q3xt3eVvbcPh3N08D1hHkhz/KDTvkRAQpvrW8ISKmgDdmzN55Pe55xHfSWGB7gPw8sZea57IxFzWHTK2yvTslooWoosmGxanYY2IG/no3EbPOWDKjPZ4ilYJe5JJ2immlxPz+2e2EOCKpDI+7fzQcRz3PTd3BK+budZ8aXX8aW/lOgKS8WmxZoKnOJBNWeTNWQFugmktXfdPHAdxMhjUXqeGQd8wTvZ4EzQNNafovwkI7IV/ZYoa++RGofVR3ZbRSiBNF6TDj/qXFt0wN/CQnsGAmQAGNiN+D4mY7i25dtTu/Jc7OxLdhAUFpHyJpyrYWLfvOiS5WYBeEDHkiPUa/8eZSPA3MXWZR1RiuDvuNqMjct1SSwdXADTtF68l/US1ksU657+XSC+6ly1A/upz+X71+C4Ho6W0751j5ZMT6xKjGh5pee7MVuduxIzXjWIy3YSd0fIT3U0A5NLEvJ9rfkx6JiHjRLx6V1tqsrtT6BsGtmCQR1UCJPLqsKVDvAINx3cPA/CGqr5OX2BGZlAihGmN6n7gv8w4O0k0LPTAe5YefgXN3m9pE867N31GtHVZaJ/UVgDNYS2jused4rw76ZWN41akx2QN0JSeMJqHXqVz6AKfz8ICS/dFnEGyBNpXiMRxrY/QPKi/wONwqsbDxRW7vZRVKs78pBkE0ksaShlZk5GkeayDWC/7Hi/NqUFtIloK9XB3paLxo1DGu5qqaF34jZdktzkXp0uZqpp+FfKZaiovMjt8F7yHCPk+LYpRsU2Cyc9DVoDA6rIgf+uEP4jppgehsxyT0lJHax2t869R2jYdsXwYUXjgwHIV0voj7bJYPGFlFjXOp6ZW86scsHM5xfsGQoK2Fp838VT34SHE1ZXU/puM7rviREHYW72pfpgGZUILQMohuTPnd8tFtAkbrmjLDo+k9xx7HUvgoFTiNNWuq/cRjr70FKNguMMTIrid+HwfmbRoaxENWdLcOTNeascER2a+37UQolKD5ksrPJG6RdNA7O2pzp3micDYRs/+s28cCIxO//J/d4nsgHp6RTuCu4+Jm9k0YTw2Xg75b2cWKrxGnDUgyIlvNPaZTB5QbMid4x44/lE0LLi9kcPQhRgrK07OnnrMgZvVGjt1CLGhKUv7KFc3xV1r1rwKkosxnoG99oCoTQtregcX5rIMjHgkc1IdflGJkZzaWMkYVFOJ4Weynz008i4ddkske5vabZs37Lb8iggUYNBYZyGzalruBgnQyK4fz38Fae4nWYjyildVfgyo/fCePR2ovOfphx9OQJi+M9BoFmPrAg+8ARDZ+R+5yzYuEc9ZoVX7nkp7LTGB3DANBgkrBgEEAYI3EQIxADATBgkqhkiG9w0BCRUxBgQEAQAAADBXBgkqhkiG9w0BCRQxSh5IAGEAOAAwAGQAZgBmADgANgAtAGUAOQA2AGUALQA0ADIAMgA0AC0AYQBhADEAMQAtAGIAZAAxADkANABkADUAYQA2AGIANwA3MF0GCSsGAQQBgjcRATFQHk4ATQBpAGMAcgBvAHMAbwBmAHQAIABTAHQAcgBvAG4AZwAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkAZABlAHIwggLPBgkqhkiG9w0BBwagggLAMIICvAIBADCCArUGCSqGSIb3DQEHATAcBgoqhkiG9w0BDAEGMA4ECNX+VL2MxzzWAgIH0ICCAojmRBO+CPfVNUO0s+BVuwhOzikAGNBmQHNChmJ/pyzPbMUbx7tO63eIVSc67iERda2WCEmVwPigaVQkPaumsfp8+L6iV/BMf5RKlyRXcwh0vUdu2Qa7qadD+gFQ2kngf4Dk6vYo2/2HxayuIf6jpwe8vql4ca3ZtWXfuRix2fwgltM0bMz1g59d7x/glTfNqxNlsty0A/rWrPJjNbOPRU2XykLuc3AtlTtYsQ32Zsmu67A7UNBw6tVtkEXlFDqhavEhUEO3dvYqMY+QLxzpZhA0q44ZZ9/ex0X6QAFNK5wuWxCbupHWsgxRwKftrxyszMHsAvNoNcTlqcctee+ecNwTJQa1/MDbnhO6/qHA7cfG1qYDq8Th635vGNMW1w3sVS7l0uEvdayAsBHWTcOC2tlMa5bfHrhY8OEIqj5bN5H9RdFy8G/W239tjDu1OYjBDydiBqzBn8HG1DSj1Pjc0kd/82d4ZU0308KFTC3yGcRad0GnEH0Oi3iEJ9HbriUbfVMbXNHOF+MktWiDVqzndGMKmuJSdfTBKvGFvejAWVO5E4mgLvoaMmbchc3BO7sLeraHnJN5hvMBaLcQI38N86mUfTR8AP6AJ9c2k514KaDLclm4z6J8dMz60nUeo5D3YD09G6BavFHxSvJ8MF0Lu5zOFzEePDRFm9mH8W0N/sFlIaYfD/GWU/w44mQucjaBk95YtqOGRIj58tGDWr8iUdHwaYKGqU24zGeRae9DhFXPzZshV1ZGsBQFRaoYkyLAwdJWIXTi+c37YaC8FRSEnnNmS79Dou1Kc3BvK4EYKAD2KxjtUebrV174gD0Q+9YuJ0GXOTspBvCFd5VT2Rw5zDNrA/J3F5fMCk4wOzAfMAcGBSsOAwIaBBSxgh2xyF+88V4vAffBmZXv8Txt4AQU4O/NX4MjxSodbE7ApNAMIvrtREwCAgfQ", + "pwd": "123", + "policy": { + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "kid": "https://myvault.vault.azure.net/keys/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "sid": "https://myvault.vault.azure.net/secrets/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938557, + "updated": 1493938557, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/importCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938557, + "updated": 1493938557 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/ImportKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/ImportKey-example.json new file mode 100644 index 000000000000..030fdb4f47a7 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/ImportKey-example.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "ImportSoftKeyTest", + "api-version": "7.1", + "parameters": { + "key": { + "kty": "RSA", + "n": "nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw", + "e": "AQAB", + "d": "GeT1_D5LAZa7qlC7WZ0DKJnOth8kcPrN0urTEFtWCbmHQWkAad_px_VUpGp0BWDDzENbXbQcu4QCCdf4crve5eXt8dVI86OSah-RpEdBq8OFsETIhg2Tmq8MbYTJexoynRcIC62xAaCmkFMmu931gQSvWnYWTEuOPgmD2oE_F-bP9TFlGRc69a6MSbtcSRyFTsd5KsUr40QS4zf2W4kZCOWejyLuxk88SXgUqcJx86Ulc1Ol1KkTBLadvReAZCyCMwKBlNRGw46BU_iK0vK7rTD9fmEd639Gjti6eLpnyQYpnVe8uGgwVU1fHBkAKyapWoEG6VMhMntcrvgukKLIsQ", + "dp": "ZGnmWx-Nca71z9a9vvT4g02iv3S-3kSgmhl8JST09YQwK8tfiK7nXnNMtXJi2K4dLKKnLicGtCzB6W3mXdLcP2SUOWDOeStoBt8HEBT4MrI1psCKqnBum78WkHju90rBFj99amkP6UeQy5EASAzgmKQu2nUaUnRV0lYP8LHMCkE", + "dq": "dtpke0foFs04hPS6XYLA5lc7-1MAHfZKN4CkMAofwDqPmRQzCxpDJUk0gMWGJEdU_Lqfbg22Py44cci0dczH36NW3UU5BL86T2_SPPDOuyX7kDscrIJCdowxQCGJHGRBEozM_uTL46wu6UnUIv7m7cuGgodJyZBcdwpo6ziFink", + "qi": "Y9KD5GaHkAYmAqpOfAQUMr71QuAAaBb0APzMuUvoEYw39PD3_vJeh9HZ15QmJ8zCX10-nlzUB-bWwvK-rGcJXbK4pArilr5MiaYv7e8h5eW2zs2_itDJ6Oebi-wVbMhg7DvUTBbkCvPhhIedE4UlDQmMYP7RhzVVs7SfmkGs_DQ", + "p": "v1jeCPnuJQM2PW2690Q9KJk0Ulok8VFGjkcHUHVi3orKdy7y_TCIWM6ZGvgFzI6abinzYbTEPKV4wFdMAwvOWmawXj5YrsoeB44_HXJ0ak_5_iP6XXR8MLGXbd0ZqsxvAZyzMj9vyle7EN2cBod6aenI2QZoRDucPvjPwZsZotk", + "q": "0Yv-Dj6qnvx_LL70lUnKA6MgHE_bUC4drl5ZNDDsUdUUYfxIK4G1rGU45kHGtp-Qg-Uyf9s52ywLylhcVE3jfbjOgEozlSwKyhqfXkLpMLWHqOKj9fcfYd4PWKPOgpzWsqjA6fJbBUMYo0CU2G9cWCtVodO7sBJVSIZunWrAlBc" + }, + "tags": { + "purpose": "unit test" + } + } + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/ImportSoftKeyTest/2eb4a15d74184c6f84159c3ca90f0f4b", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942691, + "updated": 1493942691, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/MergeCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/MergeCertificate-example.json new file mode 100644 index 000000000000..04e23e7ecee9 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/MergeCertificate-example.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "testcert", + "api-version": "7.1", + "parameters": { + "x5c": [ + "MIICxTCCAb....trimmed for brevitiy...EPAQj8=" + ] + } + }, + "responses": { + "201": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/mycert1/f366e1a9dd774288ad84a45a5f620352", + "kid": "https:// mykeyvault.vault.azure.net/keys/mycert1/f366e1a9dd774288ad84a45a5f620352", + "sid": " mykeyvault.vault.azure.net/secrets/mycert1/f366e1a9dd774288ad84a45a5f620352", + "cer": "……de34534……", + "x5t": "n14q2wbvyXr71Pcb58NivuiwJKk", + "attributes": { + "enabled": true, + "exp": 1530394215, + "nbf": 1435699215, + "created": 1435699919, + "updated": 1435699919 + }, + "policy": { + "id": "https:// mykeyvault.vault.azure.net/certificates/mycert1/policy", + "key_props": { + "exportable": false, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=Mycert1", + "ekus": [ + "1.3.6.1.5.5.7.3.1", + "1.3.6.1.5.5.7.3.2" + ], + "validity_months": 12 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1435699811, + "updated": 1435699811 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedCertificate-example.json new file mode 100644 index 000000000000..ff246883d75b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedCertificate-example.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "deletedcertificates", + "api-version": "7.1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedKey-example.json new file mode 100644 index 000000000000..7042f4a44162 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedKey-example.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "testdeletedkey", + "api-version": "7.1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedSecret-example.json new file mode 100644 index 000000000000..b8b83b5497a0 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/PurgeDeletedSecret-example.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "testsecret", + "api-version": "7.1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedCertificate-example.json new file mode 100644 index 000000000000..19e8edc4e6a9 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedCertificate-example.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "CertCreateDeleteRecoverPurgeTest", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d", + "kid": "https://myvault.vault.azure.net/keys/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d", + "sid": "https://myvault.vault.azure.net/secrets/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938486, + "updated": 1493938486, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/CertCreateDeleteRecoverPurgeTest/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938486, + "updated": 1493938486 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedKey-example.json new file mode 100644 index 000000000000..4a9bfd6770c9 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedKey-example.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateDeleteRecoverPurgeTest", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateDeleteRecoverPurgeTest/6fc2be54c6be4a7ea7bbb8a2a99a1996", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "v-SWMCmPNKoK_rB_pNXUl6Iwh9Kqd3XzQlh6SXi_slBishqP7pyKEFjNbUvMSlyvPt21rJupLbJr-yhsK2Rq2V6O0doGuCsoadgNGih1aVAuUJAJls1-b-G1IJjD18ArM4RitnCvJmQFqyK2RVHa3EpEfaQW4gcRrsRAhiJDjc1L1S3skdt-E_rZfL7DIh1ZtqFyQAqIWSAG0BXDdbgfEx1kJKqH-HRokDKeMCIaJtKZof6e-DJr3e9Iy8aAR7V-BsZ7vY7JMjyeEukMzEji4MEsIyOESL67DgFllDEi4OM_3WKyxr6uXxzHDzmppWsk2ykLsYA_ALLnR3ZNZCuL9Q", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493938342, + "updated": 1493938342, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateDeleteRecoverPurgeTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedSecret-example.json new file mode 100644 index 000000000000..48bbbd51dbbc --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RecoverDeletedSecret-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "SecretCreateDeleteRecoverPurgeTest", + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/secrets/SecretCreateDeleteRecoverPurgeTest/16f5f7feb7004280b7f3b8ac50cd01f9", + "attributes": { + "enabled": true, + "created": 1493937960, + "updated": 1493937960, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreCertificate-example.json new file mode 100644 index 000000000000..37af30bf7030 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreCertificate-example.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "parameters": { + "value": "JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLm85bmpNWEFSZWVla2NaRXBsVTNjdUxQcVZlWmxFbGRDM01XOWpYR0h6bnBXRTdHRGVOSXJraGZscHdTWXFnQnBYQkozMFpUQkRpRmpROENXSnJfUGlsUWNDRkZyN0xrdWJhWUs0TW1zcVh5WGIzbkRJcUJkQmZIUVNpZ1ZET0J5Ym9sUlRNNDYzYjBTbXhLVzJheEdFS2NuZzQ5WFkycG1SR0Vrb0plcHJWZ0tyRkpOUGQ3cGJIS3hQSWdDOFlnT2xudnZxR280RlRDSzh0ZWotcUt2UzBfRGV6Uk5vdTZqZ25SekpxX0g2NGxWMk1hQ0NnUy0xbTlyOGVOTVVvSlhTV1hwc0lneng1RzdEbzIya1ZEY25vMW9rajlCMXNvbklkWmtuY1JybDJBVHNRZVlzZXdkUVd1VmhxRzVLN0pNQWo5YzBRdkxhTmlpdl9PY2pFcm5qUS4zbmI4azJ3SEcyNHFJelNNb184WG13LnJzc3NMNjJ1aUNfTm9IbG5zQlgzcEEtck1uY3g5R3V2NmJYSHpKamxwOWNMUnVaSDBSWlJYVXRwU3BPQWdyZ20tU3BxeEdWSjd2bmprbV9FSzJwYy1sZHNjUWtRSDB4bVFVcGZFNzN5b1VTYTNXVVNMS2VIVnJLdUg5MUtJR0tLODE5ejc5d1Y5Y0F3UjlzcHJxbFFWZnlKdlNFM2tnZTh1RVBpRFFVMFl5WnJqVjBsMGJCU3VkeTN1MVlsVHB6Wk1EWmpUcE05ZGtMclgtaGdxZ1FGa2xFa1hNRWlzd0RDZVM3Y3J2bFg1bnVzbWh5SkZCMklCd3dxNWJieHptV1diU3JOc3lFMmJmWEpXOWN4TFlQcnJJZFpfbkd0X29RSGVQcUFZTS1iVnpTdzdBRGJjMU15NTZwclBGLW9PSm40MHptOTBaaFBTVGMyQXNKRGFBa3R5WFU4WktOYUhFVUlHLWI1SGhUdFBuZ20wN0FrWEtQNngwaDhzZ3ZIaGdCeGpfdWRfQVpQc3pLWG1HdUhFTW9lRGhpT3NkQVdRR0pwR2t0NHVlbmZyamNSeXVlaXJiTC1RV3o4MEtZUnk1QklxbzVJc19RVHpWN2dqMGstYS0td24tazNsNTJ4YjhaNkRXd2tWZ3hqUlNXOXZnV0pVd2U5M1ZrVWtHM3NLRW5SOE9ueTNjWlhQVl9LbWtBTEdlR0ZzQm53SmQwY3dueTBCN2I5VWQyQ19kWEZ0N1BvbnFVNldfT016cC1Nb1NtRzRHbEFpUkVfQ3FrWlhkalhIMVItSmpObUNfdXlPUTdaN1BVaDAtNmd2YUxpcE1CamlWR1FwdzlEZDhmVmtCbWk4VW5uOUxPYXJmSXVtcEJyUE43TTJhM05KdjN6b0NkanhZVFVUMTN1aElpYWl3aExoUFZhT2pUbFRmTkpqbHhIbG5lbGJ1RWJsZTk0bVV1bW8wcjhKRlFMSDdfRjhXMVo0OC1BcjhYYXJwMXhIY0FReHk1WWYwclktdUU1dTAyRnRHUHlPZ0JfNV9WdFlNR2VfRE1mdENLOGVMZGFnVllMRDJDNDUxTldZeVVfeHdNUWdQbXBaMWFnSEdCb2s0ejhsSFBndVhCQ3R2WFFuTHBXQTVBamdOLWNoWjNwUGJmc2RkNjBhekJuWDVaVXQza2hYaWNDdWk4b0xidEtzQUdmckNOZzFwT2Q0MHBHMEJlVy1lNVE1WWQydjY4eFh5a2RiTXhFblFCM3Fzd1djVlh1QXBIR18wREZVVmZvSlc2aVBZcDNWVE51amM5M3QtMDcxWnlZbUZ4V0RfVThMYTAtM19RLV8yZ0pwMVBaVV8tMVBRM1huLXdSWk1vb3JkZGZQa1VPZ0lqdWkwa1IwZWt5RjZvdWdLNnJrSVZHaGp3YUp0ekdKczJLdGxncnRCcEs2MXZEaE5zbFR5VHU5OUp2T2RFTXhwRG5lTEg4NnlvVnhxT3lIT3lxNjByXzdpTHgtdy03Q3FzWTloT3dmQlBZZ3BQVlM2bm9oZVBocTkwaGJTX0lrM21YbnRkRUNMREtSMi1wWFh6bjlPRjZIN09EdHB4S0VXQkdCaHJ0Ykxmd2JZS3dmWmZSVTJVUHpkLUxFd1lQdDloU203Z3lSODNoYkZiSFNBV1cySncxRWl1c3FURWRsRW1lQ3k2cFp1MVFZWko0TUQ0OG5rVXMwdmVHUVhTU2Ytb2RhQm1fYjZZdVh1cWcyWk03MlZjUTd4ZzV4MmpFenFqcllmdjdTTGJINFZBcWp0aFg5LUdRaWEwWEZaS18xempIenhkd1B0R2lSOHJfMkFFZTgtRXFoNi1FaTZKdjRFZjYyMnRrNWFJUWx3R1pETWpGSVNuUkpRdV8xcnJiY1E3enZsbWhUSWFQcUJNRFVxeHBEOXNWUlhuSHdIaTl1b1BCUTllbWJIMkV5WDV6MEhWRXlDa1JEbUd3cmR2RGdsOFVzMUhURjVwYXlYZmF2WkZUZjl3WFZyQXpsRFBEQkFJVFMzWnVJMEJWR2pJUGV1SnRiako4S1pTczRFQVNRRTVyVjViTUpNQXcwa19nYkVRTEZGSjJVb0ZzcWU1QUszM2xGXzR5cGMxU0JaWjJfUzYtbEQyNkpyRFVJSjFFRmJhbWtoUk12bWJIT1Utc0hDT0lRcHdadlJzV3Q3NExSQ1ZyQ09jMGpUdE5TT1JPUW5XRHVXRlFXSzk1TkRGMG96WjIyLVFEMU9YOE9iU3daaHdOXzNfS1pHRmtVMEhNdzNjSTI5LWUxbFltRDV3cmJ0ZlRFbllOeHJKOGpuUWFBY2FoNy14Q0JKeUQ3elo1MXIzRVVyY2VnazBzc1dLeHRPVjRLcTZENmxuVmU3bFpUT1dfTU5aZi1JSzJUbnZCaVZIMHk0SkVGaUxzSDJHbTM1d28yYlZVaXJsT1ljVEk1NlZhdDhMRWhGaEotVlUyNk84NHo2dUJFZmJucEZLbmdKc3pfYVlucW1zNWV1bmd3ek5ndjdlT0U0cUdKSURyMTRBUXRWdEYxcWdrZHNnVllWVXg4U29SQ0NobE5VUzRNRGxhc1hwS1VmV19ENWIxbDRkbXZiNEZNRHJqakJ6djk5dGJSeGZFYUVOSFlYTHZFZnJ0b0pMeW9na2tmNkxlbVoxVDZRbnRtNlR4S1IycU81WU1vMnRJZHlQNmZNRmkweEYtdE1IaHNSdVN3VEpybW1nREcteHVpZllVNkpfaElSNkMzVmo2VkFMMW1oZy0xeW1pRXZuanVLbElONzc4NmFWdVNpNmx5TjJJNzZqY0R6SHZ0VW1ibkVvWWtORHNPQXdqQk9MNFBlS0VjR1hWcm5YNDJhNW5IRWM2cmZQdjZ0Q2tVSUI0UldIdzEyUTFiNDM2N1JvRS1PTWN3TnV6ampob1M0S1ZJbHo4UEFMOW9YYTR4NXlQeG1aVzZ0UUVna1pKeFhEcS00SWRtd1UzTnpVZUoxdGpNaXFsc0xRWDdlc29fTHRtTWJ3bm83YkI3bjRlVnZ4aUtQU3p3dW94c25aaGs1b3ZSSE1xU0NtZjU2MjJvUTZvWEdmNUJLWExlQWdqaE1Sd21razEtUzlGajlyc1hlT19VYjJOMF9hVEFLemlidXIxNVcxaHI3Wk1PVFlxOFlSSGVPaWxSX3Bkdjl5NTlDRDQ1WmE0ZXFURHVrNmRxZ1d4YnoyVVVtMnpwM3pvTHVKSVZ1Y3FIaUVRTVNfMnFKcy1xQTAwT2FFY3huZTM2Q1RsZVNwZjF5cjh2VjNWNW1mQU5zRnJBa21CMnBRWTNfZ21UbldTYTJ3UWlMa2RFRllPSExTeEk5UVowNHo4ZFRfbW5QMmIwWV96N3ZLa0VGQmFpNU02UFdPWjVIOUx1M3Rnay1fR0g0ODd6ZHpuQm0weWZZY3ZIOHJUd1QyQl9UZVRFMG4xcWFRdDRiQ0diUkFQNE1DTDl0SGlIcmlzWEllejQzZlZ3b1c4R2x4YmxKanlLWkpXbmlRNjlBYks3SmYyUER6d2NVSHhkZU5HNGxEZmt6WmFxU2lybGRzZlhXOHBGLWZ6WFVVWHR4eDF4Um5nQ1hJVkxLbU5ZbV9CNnNrNGo0VzROVFMwQTBOcFhsZGJCWjZWWmFDMDNvRHVGUFY0MGtwdWQ0WEd3Q1l3M244ZjFHb0Z6Sk42QjFqOTRLeTdtNE5YT1JsQ3ZaRW5qZTl6T241T1d1ZG9USWRoRzBobXVDUTZ6TXI2YkVaTUFoV1ZFdlREY19iXzZsOWdLWmVxNmVtekxvcmptOEQzLXcyLXRBYlE2Tmpjd0J3eEhMZzlCRllRRFdvaU9UVmJKN2VBcUVFMHVxVkhBcE9KbFVIc2tmQy1uV3NzOV9fRTFURHBLcjRfRE93NFhPUGNzT3dlVU9EUWg3cVFXRE1ZcDVHU1poVWE4MVVHczhmemZKU3JPbmtaTmRVTS10Y0h3R01mX3didy11dmt4UFUtV0tvNUNqR2M2aU5KMDB4MjZZdUpCWXd6TVFyeDBJQWgxMjVBWlozX2FvaFFpLWw3a1pZVE82Q0JVOVZsYllNMndrZXp4ZGhrQ1oxd080Z1NNbDlKU3A5ejhxNV84SU1WM1pma00xV1VqSGZMQk4xRXdFMjRxZFVzcWxyU3NZN1hQaVlpcXQ5ZktXVmZDTWw4RU0yd2ZHYlhxMUI4eWl2UlpMcko0eEk2MUdVUWJFVGU4akNTYTF2aUxxZ0FIa25IYjVjVHIwbDRhTW1EZGZKWnJxZEdpb1lPb2IwdHBuc3IxanRfZm1obGhJa1NSQnREUk5XWEU1OXBjVXlULXpyVjBxZl9sOHN2TlNEV2N3d09YQ3lITWZzLWw0T29xMldVWTVLQi1nSG1HYUJod0oxa19ra3V2S0hlMl9TY0loc3JjTXV1eW5aLW14Vzl5NHBBS3pvdVFsQjR0ZGZvbHdSRk5KX0tHYWJPZXJiWFdDT0ZTd0JVTjdNaG0wOXNyVS1VWG5od1IwdTYyTjVvMDlfbGN5eThnWDg1ZUVrenhuOGZ2NHd2T0Y2dUd1cFk5UGxpSTRLMTNqSHlOd0ZuY2VmRlp2b0dxVlhkcUg5RGJkYS0zY1FhbVFlNmlMek0wRDlnLXlFc2NBTkpKS3ltelVzemZZdV8yY0p0TEhsd0I3NVhLeW1EMG9nUkRvRkRwTmNPd1dRRUlwdVJwU0pfdWtzR2EwZkd3MGVBTU4tQmc1OUs3emhRWHJISUZOckN1S1VPMVdvTkV5WkM2UGlKSUwtUlRsTFQ2WlBNZmdSZzZiUl9aQk43X2dseHBIakNDaFZXMkZ3MnJFUDJJX1pSeHFqdS1WbmVwV2o4eU1CaHZXZzdXNm9QWm1odmVtUTBkQUljNVZTbVVaelhvNFVURmJxSFN2MGlyVTNscVk2eUl1MGRPd2t2MlF4ZENfQVdRUmdLSGRUeG1xYXFUSXJwclZyUHZ1MDFQSGlFbVRnaDZZVEZ6Yllqb3JEeFExWDhlTUN5Rl80cWNjMnhOdTJRblBIdUR0RGZkSy1NV2xJUDhHUEhSMmhPMjlCa0JJSEM4TlgxZmxDN1ZSZkZsQ09McGVIeWl0MGRSd1d2S2tieGNIWl9fRE5ZLVBNQlZMZGpyR3lxT2JoQnpQZHZMeFpXWVU3THNRbnM1dmxiMTc5YXczX3VmclRIWGs0MVpjaDY2ekFRRl9tekQ3ZEVuMm1fb2tBaTh6NTRwdzdxUDAwNHkzenNPd0RmR0htYWF2c3dGMW5NMUN2YXhXajRINE45dVNUaV9DM1oza3lTRHlUNGdUZjNqc0FKUEJybXdSQVBpaU5PTTU3c0x2Y3dJRk9ENnA5QkdWbjFwbjQyZGRTU3A1M3JieTZEcnlwcHdDaDFrampQX3lCbTZRZnd6MElGUWJiSG1zVDNVa2RMb1dURjFSMF9sbjJtR1kxU0hHT2o3VHl1YnQ5d2xLVW5nczVMTWhVcHo3NU1LR3F6UkFnWXNKcHVKUVl1RVpKeGFPSHNmY2VwakdrcFdoMEtfWkhZUEJESzIwOFVqb3FqMDdlVVVueTBaXzJrNXUxTjQzWGJ3V0ZvWVBhdndheW1MYkhWdkRwbzdwMU9JT1IyNkt0SzdPeGlnZ0ZybGVISWNaODFwQzRCdlNzRnZsY1BCZEpHLTZxWTU0Q3J0R2xhaDRvQWplUXgxWS1YU0NLNnZLYUIwWnZHc2lIajhRQ0ZURjRuLUJqTWIzWDcycDJ5Q0tPRlpMRk5qcVR1aHJoYXNnMi1pWTNOTWdwVEQ5eVBSdjA2X1VpcEVfYjVsQ0R0Mmx5QU5NYVpZR1RvSmJTSVhBcFlyU1hEM1dFWllhTGUzQmFSUEJUYTAyeWpyVFZPRDRGNHRFR3c5MkZJZThOSk5NYXRXMFhPSFAwVWxKTXlQUDF2MVdvOUh5aFllaDFfdWg3SlRLcS1hWnJjOS1Xd0ItQXBKTHBQeGxmRzlGZkgwdjNwSTl0Z1VndWJmSkJQVjMwNll2MlNqQ0M2MmVYN3VFTUgzcXQ3TmFYcFVsNXZEVHpfMF9Vc3VlWERQcDNqV01XQTMwenFaYTRFT0dXdElMb0tEM1RjRWNVcmJONGV1bHFQSkFNcWdWdmk2YWRGdTgxU2w5cU1rVVUwaWpqMjZhZDFaeVlEUUZtWlJ4NjJYUW9ZdG81bXJ0eFZhYWtNNndqbkVPSUdJaHhBTnJoX0dNVzVxREhzMEV6TDU4b3lOY0Q5dE1MUC03N1FCbTZwUTFsR0swMVJ6Y3FzTk14ZzRMTzl2ZHQ3NFpIdEhMXzA1TjF2TUt4TE5GbkdhZmwxN1E0eEM0Z3NQeXpYdzBjcklyV2tIQlNQX0NoWE94SmZORWdyNjJOMXEzQVJZa0U1TVlCbzctM3djb3dNT09GcTlrakN1ZGpoekplRjRTUHdfMnFVWVhZRTZsNXJTYjYwUFlFSkJxdW82Skh5ZmdlOXFJX0Rzdmg4eEY1STJfLWtLT2pxU3FZam02NjU0cXVES3phQ3JWLUJFLWtQNF9DOU5OQ0xTaEVWUV92Z3hYdDhzbTRWNGNRMElDRmFzaWV6VnNuV1QtYmRQTGxBT2RqOS15RmhYVTRUYVF3YnZqQ0E2UHQ0aDNVWGdnQzNqWU5IMmJtRGpYSzhFdFJYRTV6cmJsTDRKMFZ1OGxHQVBZaGtOcGNOakNrNWhSSW5jT0dybE9aUk9jdTdSeVczR2JWM2Y1MGJKN0xLNHJjMnJCMTZuemhBdk41WXlydWdwQzdCOE9OR3NTY25ha1V1alJzRzZGYVpydDNzTDJMOW5RTUNoNE9INFF3VWpKWFZKUFJ2MHhPTF9jVEQtdjk0QWgwbWdtcFJ2Q1dhUkl5MXRxeDZHTmZ1R1Nyb0tObmtHYjRiRE1oblpZMmwxQWluWHlCMG5uRGlvci1EUmo1cjhRZi1iaUR6cGhTallzZTZrakdLR0ZObzU4WjFfaGxEaGFob1pQX1lRdlBtWi1Tb2pNaGhMRXZqMXEyZzZWRVd6a1FDWTdIWVEwM1Y3cHVCVm4yaXM1NXpBSGV4cGpERWoxWDgxWU92bnVTdXRhMGx3VkFEMkRoNjZDcmM2VVh2SEtUZTBCeFlsQWdVdkhQc1BkSy1OdVk4S3RaeGNqTWNDVWM0OVl6VW43RVBTamFNaHJ2Ni1mM0pwc09Na3JwREpLM0dPTUVRMUV4cnhYV1lGaGtLaHR2UXZkMXZCVS12b0pRcWJveU9vS1hMM29Xb0FRVnljWlR3Y2laeW4wbUtkVF96NDNFZGhNcDNKS3N5blJ3OVZtSzk3Q3lldGl5LV9HaWVMSngtWDladVMzOUdNa0YxaFVmYmkyc3FJZGZMZ0diem5uMTluTlRVUDlOR3dhaWhybU9Ib1lZeUJ6WE4tby1UWUxhSS01bkNuQ2FSSW9QTF9XSVhyWDZPSzdZU21IWjk4a2xJS19JNTlPSXlWSllrMVh6bGVwd1lPLXUwU0x6bTEtN0dKSE54RGVOMlZhUEk3TThVem10X0x5alliWWxocFFJQnNyUktsMmZZeExKaGt6Q3NjcWp2bVhDemRLVDNhNFV3NDJ4eDlsOWl6dFQ0UmtnV21fYV9YWWk0b0gwdjNCUXRSZ3NfUTBPaGo2T2Y2dEtyZU5XZmcxVDRjMk01SERJd3UxTkl2QXBqNzZtOXJWQkdPWTZFUnhfa2Y3d2twb1g5dWRvcjBCbEx4a1FCc0lwZXpUdzc1MTBncU81Nm1UWXlBUzFCUVdOY1Q2aWhfN3F4ZTVoUkVlZVB5YUpFMnhqR2JNWGg3V1hGYjN0ejVWVWJOTFpxMjBiM3E0UFdkdjJXX1Foc2VUY0JTRDY1eVFPYndTai1UcVpNNi1teUZHb3B6dVdfRWcxU3pzNzRaY3RMSUxyN3pMLXRyeC1WTTVfVHllMVZXbG9ZOTZVYUJyUktpQWU1SVhKMlBQd2RIY1p4SWx4N3dBRXdueXVOZXA2b2NKcXRwZUJ1elB0LTFaX3UyWjZrQmR4V0lpYlVEaGxOU3AxM1NkTGw0Z2hkemVqZWFaYVllRDVtTGltWWJ4dEhsQ1ZiTm0yNU1ZbDYxMFU3QlZnNVJJSXB6VUdmZ2Z5NnpJRzRLQjBMR3BISzNhdHRRUExvQ1VlTDRYNVdBUUFsb3BRa0RKOU5lTHFGdHN4cWpZaGJnZ1Z5am9ScjNPOVhzYzlJVEtVaXJaUDlyTVl0eFduT0tUck9YYVk2WVR2Wi05QUhpT3ZfdTRhOElTS01DVng3OUlnXzdqTjFfREhjdGd5cEEzVnpkbjNKdlJJQTlfbHZDV2dTSS1NUjlPQ19xekhIUmU5dENqWklDVzhwRURSYVhZOHc4UUQ0bXJicmFLTTNsWmtTNUF2NVp2WjFRTDJlZkExbXlJdmN2czhmekxRUFM0Nm0xX3ZPVzcxN05ydDQzeUcwbUZxZnk4aExaZEUzQ2RkMzRtVVFXWVdqSkdvQXZ0VHBXRmpwWkwwOERjQUd0RzVzdkU0Mi1WWjRqSVVYQ2JsemZaczl3N2VsNThvRkJLUng5dUJLby1PWmYxTVloVEZrSlU1V3YtUEVreXRPSVpfU09nZVM2RTVMTUZsOVpZenZ0QkJuWWF0bDY4NGpEdWx0STh4LXpmSHdwUEFwNk9CQVpxalk3S3JoSVJuVGRoc2Y1VUpCcmtvU1JGUFlaaXE4RjJLWHA2Nm1PbDMyRm5RTVprMUlDVkxiYVpnUFlWNnl5UXpZdEdhbjhOc3BFTG10RWkwMVlTZE1ySUxkUF9TVTZwXzJ1NU1oY0RPMDF0Y2hwMHp6eUVfTVp4YWJodXpMWUVIeXJvYl83cjFKdWNjZUQ4SlM5T3JBdEk1YXdsbEhGSFRRWExOWGJuTHdTQ2JrdHNiTGFoa05ya0ZXR1RDNFRzUlBfYTlHMVhFTE5DRkhaMVhvS3NsQTdMMzFGaWpyNFpEYjRQeW5hT1BrSlhCcEx6MGNLN2FmeFVxNWlySHhZNEQyVkdNT3gwUmc5UEJJeE1vdzN6TmVGZ3Y5dzRTdkJ5VUpQdjNGV3huX004M3g5dldiWFh3bU9LbHlLNVpWQi11LWxKVno5Rm81YWRfVEtwUkxqSGdNWURKNU9Ka2dhaEFQMmhOaG9lb0FicnBPNzVYT2tYZ3pONDdwVW1kdzhmZV9FN3ZSeUREZi1LNVZNS2UzOXRPSi0xRmxtemJVc0pET0lScHp5WVl0Y2Q4cGtPU3JQYnIzMWdJNFRIUjJHV2xwZWJCZ3VhYmppck9UTjI1Zy02MmRPWWVKNHVwNjI3MjdnbWNQWF9EYmJfSFdrTnVLaXBmdkJ1UmVNN2J1WE9LVzg2bllHSW5ZNzJZZ2lvYVpIaEJnY3pHbktuUUlkWTJ2U3NzQ3E2b1FSUGJqeHRQZ1gxT1h2bXNucmNBencwN01ULTNueWF1RDBfNG90RGJueF92dm1fM203ajBwcjBGUWZ6NWs1UEVNUG1sOFVhenFxX2xEU3djV2JOU21JbWF3OWt3U2NXN2xrOUViNTRLRTRhaWt2bVRxXzRuN3lkSDNQblI3bC1RMXE2X2k5VWdHUVFfSmk5UDZQbmszQzd6TTVYbDBpYllEVXVUV2FUdlRrX2ZjaXo0VUJXWkV1T0lLU2xZaHVBVzFQUTJPU3NiUWxPbDU4U3ZvTEYtS2w3TmNkRXRBODJVWjdkLVFCN2xKNWFCcnd0Vmx6TDFxX2Y1UGd6a2NtcW1pLVViM2tUQ0xlNjJYbzN1MmFvSnNTQ0c4bXhwZkJ6dVFVVkk3WXdTa2ktWUtNUnlJSGhuOG9xRDNQS0xMbHk2LVZkZy1VREE1RWhhLXA0TnZYb2lLb3ptRHdBZFFpeG1IcnJTdUEwWmh0eE14N0FSc0pqc285blZKR1BOSzhCeTMtbXQycnNOOHlMdHpyRXdkUzBtLW1sRHRKak9CWHJ1NmhWOFBPeV9vSWVzYmJtWkcxSk96Tkl5YmhPOWdNakpsNTBSQXVmcW1sSXJpOEVXQk9vdzdVT1RKQjgtTkR6VzVXdWNiS0VLOGotdWtSYXhhQklPcTJBTnI1Tl9hTEF2RFpmalp1cDl1RGNTc2FUOTNWR0dmQlhHX1BYRlhGWnNtd2NnamxsQWN3bkhCS2V6QWd3SnprRXpFaEdEOFhQMVh0dXJPZHh2YTRyd2ZtVG1yM1pHVWFmY0tTUm5malpnVERSVThVRFd4ZjRwMjB1T1h5RzBBUzlJLUF6WGN0Nm5EOFVQUlB1WDQ3UG1fN05mdWFVTkt4SEZ2RFdOdWYwcVE1OFlvZmhydjJlRDlzUFJFWV9CWjhXWm9IYy0tbVZ5MmM0aDdvTTUzQlFKbTQzRzNkaXotclRwWE0xUDExakc4em5XU3RBQkJxbW40LXdKVVl1UGpDV0VtY29qdGtRZEZmcjQzRUNqTzE1SDJaZGN6MkphZmpUcmxPdWlQOG96ZjEwa2RTYjBURTFVOXI1dHRIU0ZzOUxPVlZHVjJnQUxjUGtMU3R0clgwMXZHMWZLS1ZTRVI2TzlZM0pZYW02X0FwU2xONnlRbmlqM3NJTzdKc2xYdHhaMzY2bXI2Vnl6WmphajVVODlJSjdJUlY3eXBkOWtuZy1RRlZMT0FhRGU1eENvZG1jRjY4ZGp4LTZBVWpQWnBHOFYxVG04OXh5c3BTaU40M0lmLURacTlaMXFjSXNDOUJ4XzlxTHE2S3kwNTIydnBKWkw4NEdCZElXM0FuUUdKbFY2dkRXbThpcF9LMjg2NG8zcEg4UTdFWnpqc05KZ3p6RFU2SkU2Y2psTVdhMDR5dkVMa2dnUm9feVM1MWUzam1BNUFFdWpXLUJ6TXlzTjVkeUpiZC1HcnN4VFltck1wMWI0dFNhMXV1ZHBSdWl2cUFLdV9qbTBvYTA4UHZqRjJyNjRXYXZQZHVxcUs2VGUtMDc1RkFQNHFEZE5ocmpJSHpneWEtUWowY2NCRWtZbUo3di1mUWxneUxzaF80bHJZQmVyWnNCMDM1Z2Z2b19CakQ0Q1VWVWFTRkRya2U2OE41N1prblU0UkZXN1NNQXViaE93WjlCd1pmT0tuajV3bDhfemRFTDVLVDBQUm5IejRjQk01OTZGNXhleDFORzNqME80Y3JDbzVod0xMMUVwMnVweVlULXpfTkdkT1MwMG50bGt0dnNKMGFZSURuQy1SSDRYcUdBUXlpY3hJVzNnTXh3LUNvYlIyUGdPa1dLTVBJN2xFelNLN0VKcjZkZENmblhHRF9scE9HSXgtUTROdjFOU3E4VGw1dkRtdmdOXzZCOEhHbmV5bXdpQUlJZ3NpWWhfUmR0NnBrdWJLVF92aFkwMTI1WWZkck9NaW9keTFLbEpNR3NJNGxqX1dJYVRHQjdoY1dtY0stMy1NNWlZVnJUSktaR2RZbUFobXI3bkZVT28zWFFCZkVVZFpKb2Itc1R6eDdNYWttd2JEcHdQdHB5OXFQem03akI0ZC1yYmlncDI3azRTYlVFOXNFWTZVeVVJVk80Y2l5R3ltZThpOEdLY2dSWXJ3YTZmVlItTnNvcm16dmd5eGZVcDFGWDZuR0xNbE5VMDNEblBVU0JLT1RWTzVnM2JuNG1DNWI3anBVQnUwQTk5R2ZkTEJGaXg4dURwR2NsQm51TFhncjcyRFdCRmFKeldkZXNZbTlaLWk0WDBaUTh4cVZwdGpXTnI5Sm5sVDlLeDVKZXdRSHZkeXRRdHRaTXc3TS01Unc5UHJreklWd1JPZE5PVkxwRWl5RmVqM3YyZmJGRFVoRmg2ME00NWRMQ0hqU0k5eC15dDZ6LUVtQlBpdGtkcWpUT3hLam1qVV9WNzIta09tVndhZkY3MzdTcVRKa0lpWlVic002bEJoQ3Rxd2cwNi1DelR4U1pMYVgzOF95dE51aUY1S0JfcXVwcU54SGJ4TTVZN0l5SnJUcGR4MG9qNFZzWDlxWkFjTGxCZnRNaTFUSTVLMkJRSERSNW5FY2UwT2J1SWpjdlNrcjNYMmZwUWQ1cHlLdnBXcXpNbnNuQ3NsVnYyWUY5ZDZHVWFKeHlfQ2MzRVJqOXZIMnRJb2hBckh6VzJlN1lNUTRyQnducnowOXc0aWNnNG11TDdVSnVsVnJLcjdJS3FDYjJyWFViTDBIRUVrTUd3T0pISEVnVWxlYzRGajRNQl9ZNnh4SFJuekVKMVVBRXVTeDJaZG9Bd1JsSjMwRHZYTWMxcFo0NWktYXE5eV9oOFJxaUZSUlQwSktjYzFpeFA1Y1JWRmVpbFhKWXN0cDV6X1pKZ1FrSTdCQlBaR0M2bkZ5RC11LWh4MzhQN0IzQjdUUzdoWVlXdm9ETFpGSkI0a1ZGRUhvNlRKdWNDVlpJaEFMdHlfN3dreFFxdU1mMFNOREQtV0FPWUJkY3JpZzZmYnNKSVhvc2lMSWNDM3hOOGw2X1dzNk1UMXdXODZkcWRUWkJnN1Z6YUlnREJ2RDRNakRLdjk2M0k2c3ZmeG5FWWNEQ3dDalo5M2JwUGRJd0htZEY1ZE0xTGZVLTExMktBN3dCQTJWYjU2cFdBMWk2QXo3Z1N6RXhQRkZvVkNBdFlJUnBFcHh5SVBaQUVHV05zeDNpNEk2Z2lyZi1hUmFWejFXUURCemd3ZDd3TlpqV2xrRVlyRFBBZTFPVnl0bU9HQWlGZmZiQWVPaVF0V1lzMHYzVGFTOGcydk9peXRvakE4ZzM2dDQwQTB6T3pKYnlzUUM0Z0hjODJuVDdQUDJBTFdPU0RLTmxSX2M0eHFWTkxjdlhxZHFBNmpVRlBUY1FONzk4U1FRbGprcmd1bzhEcGxTZTBnODl1VHUwV0ttcFltSFA0WEtmeXRGRWlBR1FDSmIwZUl6NVZsTlAyVnFiRGRMcW1JSzhuNVlNSUtDY2ItY0FUdGFoRXU4QkxQcVE2VC1aa2t4MF93M2RmZjhVX3ZCZUFwS090SERMWUVqcTBnVktxUHhaUWczY3RJS2oxdXJPeTIybnJ5aTlnZWZVc2QzZUYyMnBCQkx2YWVWSk96QUZndk5YdnRiTXFsUW1CXzQxNG1tVGVtaGFlNktjOW9KRF9sLUxKWDZPU1FISlo4MHQ4Ql9VZkdacFZES1NubmFmMmY4UHYyMy1EUmlGNlNyQ0ZKN0d4TEhUNXJSNzU2MW1YUlV5Qy1leWtocVI1ZFZSZDZhOVQwSGY0TlZSbjJiaVdxeWhPR2VUa0hKazE0YllOUFdYTm5XSHl1VTdyNEZoOVVsb2lES2xIQjQ0VjlmYS1YMzE0c2VHZHRqUFNLdWhFRHBMeV90VU95aWU3aThJaGNIaE1XOHlFNi1Oa0lZSnF4cU5EbjAwdUkzSEhEUWtGYzFQV0RYdlVIcnBJUFRJcFFBQ3c1dkNWT2JpUmFoQVBJM2tFRFh4ZkY1S2VLMXRuS1hsZWRxQmRIc3lCUkZuNnp6T1p1UHdOWktKNHlYVDhoS2wyamQtNTlqdWpibDBmNF9WdVJFdmVQOW9FWWtTOHU3UmlBVEVHa1lPVkg3MkZXTzBzLVNJWGVRRkQzX3VvWjdrM0xjSm9GVjlXMDZrQUVWY1dURVZGRUlwamtNMy1FYnJSUVdMcy1heWVYQkNFSUxsQ2t0di1LblA2N0pyZFV0bTI2cnFlVXZ5MzdTMTBCTE53YjRiNHBvREhMS2FveGFuZy1iRjZUb29PR01UU01MWXUzaUlLc0R3Wm9kZG1WR0xyQ3FxNWJJR1BFZTNoMnc1RjFNZ1hyVEU2TmFubXpKckh5eHVPc0VyaGctaEpGeGVCcWE4WjZZWFduTXIxNDhLanNoYVAyeVpFSWV6OG81UEc3cWRWaHFRenhYT1c3eEQwSTUycjBvbkhxM1hzcV9SOGhFby1UYVdPbmY1NW1YYTNWMk81LV9XanZxZThWdzdwTUF5dG95dmh2NTVTVk9xcVdkNXNIdGhITzd0OWlMdDNFYVMxX0ZnaU8zVmVENmlvUVBNNjZsWmhaYkpZZHo4b1RFeU9SR09KbkpjSVpqVm1YSlJIbXF2eXZsUlpjdkVMM19KR1hEOEZGNHlBVE0zaGhlNDN6VEJVdk9oYlRjckhNQTRLZjhWczR4cU02QWFsczVBZzRUbVZSSnVLLUVRWFZCaFE0TEpBbEgxVXZzN3lKYTdLM2hsQlZEMWo5WXRWS2htMVhPNFJySTNrZmVxYmxoMTRHQ1NEdnI2OExyTk53SUZsY1JEY1pKalBOQi1GWGhUd25PbW50ZVItOFY0UTJVa19tczdTTm9ZUElWRnJqY1R6X1ZkQ3dYRTFmMjNocHpqQ2tnWGlsSUlNNEpNMkZmcDNTZTY2c1JHc1RXXzBBbF81R3Fqd3ZfZFBYWDA0RHJNMFI5dGljTHhLczBnM3hkSXF1M0huamxBRFU3S0c1Yl9NUmxUdWJCQ3pEamtJQWRRUEFwcUhaWktnODYyLWloMDE4bERfbFViWEwyMGhFNFBNbTE0eEg3R0dPQ3FWa1o3RVU4ekd5Yl9xWHV4RF9LZHFLSVR5eUc2WC00MHhOeTJ1cWpDMmlvVVpiM25Tam5kZWFiX19kbC1jMDBLWkU4RnhTRnRMN0RreWxpTWM2Yy1VQXBhUlZKQy1aa2NBaXlPZ2NBOVZQa0x5a2xlcGRNYXY1Y1J2a3FvTHhmS3RMU2FhS0taWEdveFd5OWp2am5KZHZfMmZDTXlUeFdOUWl6MzI5NG9mNkNNY09sTmc5VW5iaUlHb1JVX20tMHQzamNRWHBrZ0pDWlMwcmQyZ3RGVExYdUVlYU9ZTnJjZ2dPWkVQMkstc19kNUlCU2JqNXE1QS1HYU9hbzFuRmdFOEFlMDdEVXVzeTBYeVEzd0cxb3JIOXUtSUxpSHpyd01Ickx5ZWkwYmpYSm9HcVBuSWd5d29nWjdZRmF6a1ZSTGE4OTBZQjlXR2p2SEdqZ19yYmVabWRDWkFoalNiTlRveFN3bGkxMnh0bl93WkNWVkhlNzUtSGNkTHZHaGgyekwwVjlROG84NFI1NUFKVV9fNjI2REMxT2w0cXVLcEt1Z1EwMHowZElPbzMwcG5IT3hqa2xlcGRMM0dyN3dHNXZsSUJKbXVWMlBReC1Hc0JmX3lYbUhxOXBZZ2RJeXl3ZjNqSjlDcmROYXM1RGNseUExUS1Sa3MzdWtyU3dublN1ZE5OeTNCRlJ5ZkgtbHhWQmpYSHQxUUlQM2JLbjRvNmRPSHNLclc5XzRPVnBNREQ0UjNMRmpYNFM3MDJ5ZmdXSkk5Wld6TDFadk40X2t0Zy1iVHNYOC1zdzJfa2Y3dXVldmJmMkYzLThmM3lvNDNUZ2dQaDU2TEZjbFNidGdaNE05MDRTLWF5SGQ2NkhVbmU5T1Axc1NldGdKWXdZZVN6TTgzY2FUUXVqRVA4bFhEQWxKZGJ0MTRhZ2FValJkNlBNLVVIUGdGUmNtRTd5Y0k4YzNSdWxrVkU2Wk5qeUU4VkNnaFRoN2JMNTJNYXhUcVMzQWJKNUpHak9ESkk4ZTczV1BFZHZPZ1FPNnZvak0xNDFnSjFtaW9rTFNIbXNwVWRhSFdIdkNkc2VHeTZyZmJfYktmeGJGS3FNTEN6T3VKbjhxd3hlNUxJQms2djJCUmNzM1I4ZnI1VjBSQXB5U3J3bmRuWExFRHdVRU90YzdwSTBqajVNeGFJaWxKU1FMb00ydXpiWXZaVE1INklXSndEdU1hNW04MlFCRnV3TWFZRDd6WmNwM0RGb2dFc0N5YnFjZFd5SFBhV3NxQk5GSDRuYXdwRnMwQ2xZMWMwbGZQR1RnTWZJeTRxRnV5U012cHNkYWZORUdBdVFpYU5zRzROSnNJV2NYbFNFQ1FsLVhRaHF2YkpUWE03NldPVTVld0RneGRGeG5WREVhdFRlQWZZaUVEN1ZBelFNUXNFenU4VUx4VmI3RWJzX3RsUW5hU2hVX3E3RjNUVEV3VUpPdDNCeFdPcWFCbmhNdUdOdU5CNXJabFd3YVhrUTFNdGxwOEFmWTBXSF9kX2F3VXdQbUpCQXFEX0xKRncybWVBS25OZl85NlZiUW5iU2J1ME5uejlvTnVXVmNMcWZIeDIzX1JfVVE5enZibTlkaGlSaUxSMnVDUzN2d21XS1UzVG9vbks2c1NpeWNmYnh2QjE1TnFnN2l4UUV6M2U2emVkX3pQYy1GdF91ckRrR1dOTFJ1d2Zyb001REQ5XzQ0UFVvLU1SQ2NiVGp1emxqQmVjOXRUc1NRdnZWVnp3WHdNY004Zl8yWEJxcU5OVl91b3V6dVRPWkFfbkNVTDV0T1dFSXZIZmlDRWxJV3lrS0U1TUFUUVlUY3FRd0VwNUlBeDFDOXdudnZtVk5NcmFFNHpDSDJuZllsUGNIYWpMUGlXcHpUdUR4anJGeFhIbVBUc1JTM0Q1YU1yTmM5emwyZkR6ckJsbzV0Y1pPT0ladlR4X0ExeFA3RlFnNjMtbUZzTGlRZG16NzM1bWVjUEFmdkROMnV4dWp3YXFITGx5NGlLelljVVRjbHFhYV92X25VM09ESUxkcWt1S1pCZFZzZGwwX19YeDdkSlFHNG5nN3kxU0d1V2Z1NEdRRnV3azE5b1hJM0ptU0c2WVZHSW5wSUlNYjcwSy1BREliMlZBWjlVaUloMW1HNmpUZWRHWHJtMzF5b3Jnak1PUlRERU1rYnZCeTFaazVrR0E0V05aSmRKRnlSQUtXT3VNbVZOVXRWcTFWRHpkTkpNdGhaWUZHQUU5MEtBZVlaZDdmaFRSZlY3ZlFYdzhWOENmM3IxdmdMTXJyZ2JSOGwzeUsybFBLMnhMcFl0cVpRanFaREpvSjlwUHBlcHEwRF9Dc1JEcVlDVi0zNE5GbldXWklZQmtmZTRPSGFFZTRlXzNQOGxNVTFKUWlJY1dXWmJ1ZUJXSnlpNDQ1b24wRm0zVzdlYTRnUUJCN2c1MzU4MUJBZW9ZQVRUYnFFV0J0LWU4OS1YMDd1Nk1vSDVKUU80OV9kSW0wNU11VVlrV3ZQODFHNDMySDFPYmgxRUJBNG1WdHYtM2ZqeGVDRldiZHVzTWxxa3RYbXVodjBEVWdmWGh4OEoxS2JaMUdjN3cyT1E4S29KZXNGM2QyTzIycjFkdHRIamdmbHBUZlVXOGFaN2hPZ2otSy0wRHg5dXV3ZmNVVWMwUnd6bkNMbVdqd0lnZ2NfQWZJbVRpd1ljZWgzQzlpVnpLdkcyV3BfZHpCMjgzM3YycGI3SlRKbmFYT3VSSlhiM1JQS0pONGcyVXV1NnNYc1JBd2FlTnVtVVVpM1B5b0pCY3dhZFRsbVVrQ2JNcjJMQzBzYmZkbjNMOHk0bTd1UGg3VTJ1RE5EaGk1LTZaWUNYZE5SRVNzajVrR0QxNzJoUHRSVEV6RzhUeEN6Nlp4dE5MQ004a3pHVWtjS2FLeVctZFdaaFVWRENsZVdnQ3F0NWdvNUI1OEVaV2RJbi1SRTRxREZ5RlBDNDg3bk9nMUVyVmZBN0NHWldha1F2QXN5ZUhKb3dkc0RrdzZIV0x0Y2ZwQTJENHEyZ1Z2aDdraHVNMmwxSE5DdWxNOWJSXzZZYlhuTGlCMzIzN3Zjc1d2bHpBVmJCd0J3WHRQT3RGWEEwc0V3c3Qtb2N5V3Z4WFNsT19kdlhRNUdHa2pLcjhFX1hzM0dvZmlqaHpsZF91OWFROGNTek1XbE5xRGNPWncxdncxNUtaeFNXR1QzcDJ4S1VHLWtSZW1Jc1h6VW91TFdma2RCbk41Vk1tUTdJTXA1RkFfcmdHWnFwVHByaHJMSlVaeTNZN3I4bG1McW15Z055a2FMNWkyVEpIT3RWVHB2eHVzck1LMnUtSzdpbUJVMHlkQndFaHNOS1RWMXlGZng4Q2JZazJTeUo2QVlWeWZLM1FhVEdqb2FFMGxocGNPRUIycmpfUDhFWHAydlJ3TWZsYjBtc2daYTFCOE93d1BXRUJMdlROVjVzUEYycFpUaFlnM2xWVzFjSlZlTlBLRTJfYU1zS0p3UGVIY19YTTNrdDBXVkpMbTBnZzE2ek5EMjlsaUlfNTBjOW1VN2NpVG1hNEd5ZzJtSkUzVkg3VWxUanVkRldmNTZpSEZHNlJpU0FqVUFtMmtBTkNGMjFyb3ljVUhFTGo1aVlQZF90S09vcmJvRDlWRGcweDRDc3BQMmRKZWVzMVR6aVMwNU5qU096cnd4dG5qMTBBZ3kyd3B5XzUtbVl6dVJvYTUtNXVPSFhDRkFNSW5QQ2doakFudHVYUGw5REJRb1ZSMWYwUS1NdnJWQU1Qc3pfaXMxc2xZaTlFT3NDUWp1R2hsNGlxYmVNWWRhbFVZZllGYnd5dktaTGNlZndjaVdpY3EycWhpM2FxaWQ5WkVwVGRyR0FvRjItdmd5cWVsSjlRb2NfSG8xRldZdjFrVUR3RTBmQ2ZlV1FteHBFMTQyYmlZNVNnV01CaE9tVTBKWkt1c0hCV3B1ZWJ1TDVlc2RHVEJwRWtpcEpHWmtQSlB0YzBvTlJSVU90TVdZTTYxbXZaXzRTTFpqOW9kZ2U1akMwMHBzSHVYTUExTG5USDZ0R3FnSDlTd1Izd08zOTNTQnRMRU5oNy10UEVEVWc0dHpJeXAxTHQ4R2dWS09DTl8tc2RCbnlpSjJaNmYwSThEMXVPQnJYN0JGb3E2aHlkOWtMWnZiX2E1VHFUdzNKZDJCdHRzOHBWS3hhaXFtTW1WUmZPbU4xYmRJSHhlVUNCQzdXdE1LZUc0M2FNLXpYZDBfUmI4MkxJTVVVRDJadUxXb0MwUGZzUmpiYWNpOVhBOFlBVTE1WllTOVh1YV82NUZYT2xxcl9sT1RuUjd5Y0JZY2J5T2tIeGpIWVFmRGkyQmZRV0NkMElXaF9WcUxNZWozT3ZEUW5FZDZvNEU1N21FQ1lQUEJUSkFIZTNHTjU2UEl6T2xLNTRtVV9USUNpX0JKTkRXemJvdl8wSnVEWExZMmUxZnhCOXNURmc4c1hINUozYUhYY2dpYUdSaHlnMjRKZElJV3dkcXFRbmlLZWNfS1IxVTJhbEVqX2xPQTNNb3FadHk5Zzhnc2RCMjRmQlRLOWJZUnc5eW9OVWhrSl9fM2NxNlozVVFvc3VrWklreDJwVlRoTkU3THdEQ2gxbnVRYlpvUlZrN1NKc1pjWkZ1TTd1SUJRWUNVMGRIQzFRS2lublQxc3R5WDduM3RRLXZPWGRsSENaOEtmSERpR2tsemdKUkhVSFUwdU9JQUNuNGtUbkRzN1ZrRGtEZ2YxalBhYXVYLUR4X19Cdm5oWXIxRFp5eS01N2x3SG85c21rZDFNcGFUVGRLR0cxOVktUDh3MmcyNXJCcVlWQjhBZXRlbXQ1bEtZdE8yckhJNmZSSDZrLVhSM2I3WkVlSFA5MV9UTkc4QVZtV1djMUhaMmdYN0gySzgyUzRoUk1JcEItdkxUaFI2QmV4bTdDeXJHSFZqNHN3M0dtZWd0cG1obmJlNEZQRVo1UTZnNGhScUpmYTJvOUswZDI1aktwaURBTFllRVY3Y1VDUjhBVjRYNU5WR3hWdWppOVdYN0gwaU1mUjZHMmpIVkFZSmloSkxOSC1JSENWcVhxdng0ZWNSRmVxNGRqUjNBWjRITm5kNUJBaGlTSHRObkhlM3EzeG93cFduQVh4M0hHeFZKcUozZ0pVdDVtdGcyb29pYnJiTTVFVU1HT290QlZGT0k5eGd4RmZYT3dhYXNPNWxIbTVoQnFWZVczOHlXS1FqYU50VG16TjlITjFrRWFfS0JacHU0d3RGeGswNkdWTmFEUS1QbmZBV0FJalByQ1FjSjJMQ25kS2FBSHJyYTQ3WTI0dWJYd1hPNUZsSVh6NElaZzI3Z3NzTXpVR3kwdUtGc29LdnJrZkFLdjVWblR1WlJ6aklrZzNoZExLR2FMb3RPVmFwZkp5VnNidGh6T0JrSERUMDllcVlOYkFwbWdYWGdoVTZSb05nV3IwOURSMmZQV1FyaUVzbm9Gc21yZWc1MUUtc2JUWjJCb3FqVW1zRnlndjJZdVhpdTVXdFFUNGtKQ1NxczZZVEw0cGhoQy1sTEhubWs3Q0ZKVnNMUHpUM2ZUcVF5M2V6Sno5dUxyUWJKRXVVMGgyWHQtNGwzaENtNU1hQlVVUGU1SU0tWHZhVk5QM3FQUGN6NjEzZkt1WmwzV3NmZVVtYzl4OWhrbElxRlI4RE1aOFdpYnhJSG5CXy1vTnpvcGV3SXZkOU1RV18wQ0hJRlNWWV9lMDNfNlN4SDBiLU5DX1Y3MXZHNXpNTXpqUkc2WXB1d3hMVUQzQnV6cHNWSVR5ZTd4M1RSWFBxNE42aXF4cFlTeWpyMUUwVnk2UXhzWGc1Q0NsZEozN0p0R082b3pTY1gtdDNKOFJBbVk5Zk41WTRURUZCZkxFT3VtdkQ0WXdjd0xuVktKMnVYN3A5MWZjTTUzVVRhTVc4UTZSZ2JFaTlnZjg5SXl1OFc0WTBIQ0REbDE2dVhCSXdZR3IxX1lyRy1zOUU1dU9FbjVpVm9oY1JsX0RrZlNNenBsSUhPWkJzLVM2X0tud2lZMXZYeThhTWlqb2tFaTVOZnBMbUdZdklwdk1MUFViUzBrQXhGTWo3dktnRXR0S09pU2wxVTJleFF5d0tsYnJtUGxFamZ3YnFjRVZkbmZvTFhIYXpfNlhYTE1Qb1FobWhKUWtvVFN6UDFIb2J4UWY4Uk53VmpaeGF0enpxMGtpMjVmUXlTNTlET0wtVGtiWlFqOTByUnpCQ0hVaTZlNWFmNUN2b3p1T2NIdEJmRnJHVkw4R0JQMk1JWi1UTGsxZXcteFpBbE10UVRITEVuUE1US1Q3X0VwY2dJalNDQTVsZHFXQndZVWxJaXZWd3NzNXRlWEswQkNvWjY3OWxyTVdTOEIwUmRwbjM1djlPU1JOejh3TUFTNER4UVV3OXhOTzBrSjdCWHdUM1dOem90dVFFVDFIeWpEcDV0UHY2MVZuVlVDc3pRME1TaTcwakU2OGtnVm9TM0sxaHFxNUhyZlJoYTVEM2MzZDFBWnJzaUVsMXpMNU5OamktNnBpZENKVmxZeFNBa0gyc2VlZ3lGeUVVV2p3ejZRZzBzeWYtUGtCWVFaRGtKOGJsUWFyUjRMdVJGVmViUTZ0bnQtVThmS0M1d3kydzFXMUhiWUZOWHRzUnVkcm03WWVtUDI2eVVNRzNPUEktLS1zV3VEUW1VblIzemNaVGZkcVBkc3ZyRmtES1JESWZfN3hsbDBLVGtIbHEyRjJOTTBiYjlDb281SG5RdERpX1pJZmIxa3pZd1BHTDZMV1hsazdhcENaQ3daWVBLNWNmbHkyWU84QzRuX2w4eDJkLXdkclBMWGNMRi1xZnRtX2RzZmNrNjBrNUtGenozZEJKV0otY2l1ZWM0S010Sm1JMklxUm50MVpJRnNTOGhEcTF3b0ItLXVTX3ZfZ3lMMVRxRklNWE80b1dUZktOV0l6d1NOUVM3UGdCYXdIMHVIemZDeFJ1bmh5enRMTEdMZEtBamZxc3d6R2dDMnV0THcyOVJoZWtLWVNyaElGWFVoNFFjZF9GOUxfNXZyc3pSaXpKekRUMGVkWlhSVkZNdTFsV29zQUs2YV8wUGVZbFI5cC1XMS03eWo3dGJveGZGdzMyd3o2VlNWamJrMHlIUnpRYmtwNkp6QlIwcm1QU3VlU1QtcHNCSWVwSGI3S0dHQjA0ZmJvLXk2N3VSRkxKTHZlcTJua1o3dDFIRGozQ2taVGduUmJ0S0xYRVNkb3RFY0toQ1ZXaXNrTDZabURLVWJJTkF1MXpLMlJhZkJhNzVDNlVPX2llVnAweTBJX1JnT3hEd1Z4QzVReS0zdVZkc2trcFo5VGduUGhXQWlURF9tQlBmeWhQN2NCbFZvUUhoY1lKYWVjQ21jQmtVcTd3cmx1emdEWEduUkFveUp6MXlwZWNjWC1IUnlqOEFFYXhxSkVUeGpWTFpNODBNS0xtRjNXZWt1dVMxSDIxLTFYUFcyaDBfSkE1OTg1cm9uWnBCSUtoaXptUU44YVNndjBIbFlmVi03cTl1Vi0wLXFrNXVQWnljQkRDYnpUZnlGaEdzWGdKU0tPSm5PYkU0QWktMW14NHpJY3FSRmNiWkt1cF80clc5Z2lFX1pfYjBpTWlMTGlBUHJ5dGo5T241ckx1MnJhY2UxUHFvb2VrZzFuWWxCRllTdzA0eHBWSjNGNURCOTBDMHh0SzAyMEtEakpRU1VCZW52dUpsZ3V4WVMwWnQ1N3dKcnVXdmFpYUlIalFBTmRjMU1lSVJEZjF1Z2EwZ1NwVjZPbEltMlY2aTVDMllfcmY1eHJITmVlWjdwU3A1X3c1UTk5YlU4RkdEMHZNbXE5azc1eTdsR3NTMVlwc2stY2RZd0pSek5oa3RPeW5GOFZBNlcxSjkzVmZsa2Q0NTFnMGRJM3dGd05kY0FqWG8xdUMzWF9zdU1JOUl2ZU9jcWFqWlVNcEFCMTZzbU9waHVpQXlBcjNTbTltMTJMMVBvbzVVVDE4V1lEbFl6eXhNYkRmWmRUX0I2R2lNUnpFYVlHSENyQjJoaUhsYXlDdlpCNW9lbkVTUG1rS1c0dFNmOXhRc0R4U2U1ZnR0UGh4enJ4UWxieEM1V2dINlBibzdYdFcxdUpMUEVzVnlwdGRjS2lPSHczQ0d4dXA1NnVNdjhlRW50SGRHdVFERmVfalk5TUJYZXNsdnMtQTdBVzg0VUFvWE0xd0RYUFo0SVZjdmozSWRpbTh1WUVDU0dXMHlPcUo2MEVBYk9nM2ZERW1wbEpNVTBuc2kzREZmbWlqNkVRZ25hdk4yVUN0Z1lKVUUtUVoxU3lHTEY3OVlIRXhFVFRUZ0RheHNIYnZCX2NibWFwNC0zaGhPS041OXlQUmN1ZldZTGtrMUhpODg2c3V6VWJZa2MxTkZRWlBGekdYV28yUUFvUXlCQm5DS01YT2QyZzBPS2RaSFBYRUtVR05FM3A2blo1WVFCMUx4dXJhTVJCSUNqV2lHN1E2cC1XdXRpNHFvNnRvUjgyQlFFZUtqSC1KV2t4a0NoZ2tFaXpUSjFGcjlHRFZ0c3duOUdFcTBKZjJ0aFhKWXZUTkdTY2tTVFEwUzFIa0NlcVNLOXAyN0p3NHl4RTlocmFVdHYzaXl4MEhFZmNnTlNLVTk0WmpFa0R5UFozUXNLUUlCa0xweHJReGRsZ1hSV2ptMEpJSWQ3WmRiT3I0YUZPN2ozZlM2a3EwQk5SVzFBVnhRWXpkLThFWkV3b2w0MFNyNmFfaG5tUUo4WWZvYlFoTDBhZFBfWUNaT3dBc0g3alc4U0lKbGV1b0hLX2hPc2Fha1hkTnJPaFNoQ2VVYjNpNUQxRmxkak12SWFEajJFN1dfUDJodmVna25PNkFhOFJlZ1JRN1dvQkVpdGU4OEszeVdPOWJkdmZ1NjFJaTBIRU1RUm5LQVBILU83RVpMVWdzTmd1ak5YRW1jRmdmRmhmU1Zudko4Vjd1UnNmbE9NcEZkTmZzNU1KUDdEcEF6R3Q0aGRQaG14ZlBseDdqTXh4cnpOQ19GS0tvRDBwcWdJdWtTVnlMZzdrbXkwOE9paTk1QUNMREZsTnlQZjNtaUVUMHRfaHBmWFZrckhCZDB1Qk5Banltb2J6WmF5bW05SFhLTTFVSUFJN21WQWdUZnVUYmQ3eEY5TjlDNUJTZXVyVDJtYnNaY0JtWFNfa3hZTWtSWjFkSkdjN3FwVFBSZUxOVm10UURBVzZWdTZUWlpHNDREMHdRNllKalItNlFiVnNSR2NReGtxR09KQ2MyYm44SEdvMnZCSG50TTdEZVM0RXdLUXh0bVduVXdITTNVT0ZHaWVOVmRvZDhzcllzaE9sM2tvZlN1YUxIUkZiRGdVQlZoaHBFV3dUejF1VlhOd2VVN003N0R1dGJZYTFiRXRJY0hneXJjQUJTVW41dlh4cEhhbVY1RTJHczhEeDhYTmlBaWdYREJfbmhFZEdWWkVqSmd1TDg5VXltR0c0X3Z0cVMtN3hGYmtJaFpPMXBEVHZTMm1KM04zNUduNGI2S1FWcUEyWEY5amJwRFF0VFY0bEgwZWhiLUFyeGtGMkJjbnA0RUdNZWs0eDRXN1RfNEdtNzlFb3V0TjJzSW9iSFhXYi14bURJbUVId3ZHZkFsYkc5ZFFLZ1pDT3Rrb3EzUHJvY0hEMVFUTElpNEpQYU0zc1VFNngwcy00NXR5cEFHQ3N2MDhralVkUW5GbUVTYUhTYzJjSE5CUEFFX2ZzMGU2bm1fakRLektON095RkV5Ymd1bHZ5RTRsb2ZxWkxfcnNxWFlPN3lvT2oxX2FLVHhGa2ptallGNWhiS2FjcDhCNWstRUZUWVZYMzMzWG9OelJreDRnOFNWZW0xVUNibE1QOTJxb3BLUklPaWNJQWpmN2dkS2hhQmZTaE04UUt6bDJBVjBVU3lwMkdrUFRja0NrWEtXUXhhbl9RLWhtZ2l0V2w5ZVpOR3BpUjVSUGxqR3VRaVRYNlJENGZKcUdEQWNMSnEwYjZYZGhva24zMHd0Tmktc2J0RUN6NC1HV1ZOZVVBYThETl9haFNaMXAwT1MwMkRkbGVKOG1ZcW5vYThEbF90ZGZEV0xiNDg4WVplU3JwUmV2WlBJWm5OQ1lQUngxTDdxMVVGcWhfajVrQ1N3Q0VWTEpDUFdzaXlKSzluXzU5c3lUaW9DemxyM2tuTVZ2bDBZSnFYdXF2eW95TUZrcDdGdVdBbWtfYUR4eURaYm1mRGNLNVFnM0c2YlVwVXhPQVJyamgteWtreVpfcmxsa1hLUjVrTnJJMFFKYkw5UHBiWFNtMzZVSTFNajB4alVael9IYmx1Z3J3c2lzRUtGcGw0T0k2bUY1cUNLZVAwWmFmaW1nblhxS0d0RW9wNU9kTHNGRXNoa3BSSWh4Wk02eTVta0RZM0FrX0c5N0FuLUxzaVVWdG5IN2NYNUJPbHZIMVktREFGdzhkQTBpOFhPbkJoWnZ4aFZqdXctbWtHWjBITURVS0RMWk5uUVR1RXNnVEpDT1RQOVc5R0xtaGNfMGRSS1UwQTQ0RFVRU0l4SmxEYzNYWmdYOV9XdWxMY08tdjJib3pvLUhLcTB3blN0dmlPSU9YQ21BRW9PWDFodWROaUJmdktBc2NYTnE1bGc1YmtaN3dDR0xSQWoxUjRSelhDMnVsaUkyZ3lpMTFHZU1VanpoU0h5Ylk4NG5vWGpDODNJcGFTX1FTYl9WUFEyeWhMWExVdnp4SHJ4YldpajQ1a1VEMWJEZUkxOHhhQmd4UzJ6VlRVMF9FcW1WaU9wbjRnTWczd2oxMW5tV0JYOHVHUHlkUENhV2dtbFJTVXNxVXVGQ0dYZ3RNUFN2R09XRkl0LV82YzFWdVlzMGJDNzl3QnhwYy1MdENkRXIweVM4NWZKQTE3aktoclFINUJLQXNneUhKbzFVU21FZGMtTDRweWpkMS1obnZUYzZxRHBXQmhSREhieV9DeXBfc28ycERfYk12eFZ1YnBDX3FIT0dlaVRLSkpTcHdmMC1OdFRLSnAyUzloUXNQYnhIeUFlQy11ZThIMXA0WlcwWVVyWGpJRDVoS2pKRzQ4b1E2THBsaEJTWlNCa0xpczRqNm5nV2ozN0dLZEFNN01jNlpKVFZRdEw4RXZjWWNTSUlEN0liMHAzXzBIQzRKX21NTEtjRlZWWVp4TjlvSkVPZWJLUFVzbndwelVUX05KbjQ4VVZrMGwzeGtDaFlEVDVmMENoNl9MSmhSSzY3ckI0dXk2WTY3N2ZKN3RjRGFfWWsxZlotcmVpSlBRNHhMTnNOZ05hU0FoQ2tqZE5Nb241bmlPUFNhQUtVcWdDbkhsZzN5bDhPOXFhcVk1aXk0TzFlS1hHcmY1THkxV0lNX1luNmcyeFg4aF9TZ3hlcTdRN2ZOYlhIT0Ztd1Ywdk04aXhhRmJZYnF0N2hHT1pjWnVQaFVOaVdDSF8xb0MyUHlIUE1IcEtWcWdaOUNYYkdQNmFhY3J0UmpRMkxZdUZNSnNWRVhlN1gxNm1xMDZpd0dLUWxsUlZxXzZoZGtqUUs2SVpDVTNzMXV3cFlGeHdaTW1CQVVCaG1lb2kzUVItQlhrYnc0RU9nYXllQTJkSUV6a2g3cXFOYmNXNlNBdnp2eXd4cUlQT1FTSWYtMVlSRnZfSDBpYXN2MmQ0R0kxNHpDWXUtXzMwT0hqYzYyX0VMLWg4V29pa2Z3cTNXZWZNMTduN2hGSmZzMFNWNTVHY2U3UTdDQkxxNEVkSTlXc0t1MDlxeWhNWHJwUlZPWTBrZzdsNjYxa281c0VsN1RxYzgxNWl6OU1wS3RZU1RlV1lsd3pnb011clJDNktNYmZEV2poUmlldGo0Z0RkSW9GaUQ0dHJGNjZvU2k0WTE2WkNxYkVPMWVKNGNseWZZWk8zbzBwSk1NQ0gybUlwTVZPMkRueGJSSURIOUxiSEU2VE1qQjYtZkw1a3d3WUVoSHI3UnNaMnFFYUdWMDdXcFkwMUdoTWpEZXE5dGI3Qm0xXzFvcWtsdVcwMjZRUng5Vzcxa0RwU0xPNkxia1RWS2xuMlB4VmdZa3F5V0pHNlZUbU81T21fRWxlblhQMmx0bV9VVXN4MXgwdkxWczR1ejlHV1VYTGZKbVlzZnViQXBwVF85anZyRDlkV2xWc3NKdUMwRlVVNWxOUVUyOEJWSXpycV9ublJVRUJjc3BLR2d1RmN0Mjk0V2xFVjZzNFdTSU5vNG8zaVM1RWtfX1FsZEp3c3JKT3ZQS2M0S05OM1F2cFJDa3hPQ2VwZGpZZEMtbVdfMGxNdWVoVzVmcGUzRnhFMGhjeHFrZmkyUXA1Mk5VYkVZVWpPV2JRZ3UySVVmX3ZBMWpIRW9UTzRQNS1vYTBrRHZaUmxPQldRbTMyS0g0RkhwYWpiNndLTWVIOU1VZ2ZlS0dBNWVJRDRxaWwxWURONkRMa1BKT3FkeU91UGdqMTQ2WWJkZEtQdmFDOF9YS2w5Nm5BV1lfMVo3ZTNKYW9NNzhZR2pMaEV3alFpdHlSOElLRTV1ZmFDZHdYMWNPMG5FQlRnYTZPNzFrSEJkMEpGLTQ5X2FPX2RoWWo0WmVLWVNxOVhkQ1NHNGQzSFNxVGVsT2ozX0tzUGp5dk5ScmkzY0loVmJVWHkwcVoyN1NqdlRRcHFEaW5yMDBra1Q2OC13SXMxcXJhazQtcjZoQUFUeTM4S2FrUFJWYy1WMUQxUVppR3hFYUdrbUg5bF9YT2hFOEtHREIzZFgxNVNOREptRi1PR1dKSlJZNWhqZmpFWVNEVUhmb1NHTElNei01Wk5hVUs5cm42cFBMcWZfcTc1dkZ1TWRISzZhcTl3eWUtQTdLTjZyS0xqMlNfclV3RHk4dnBlbFBBTktNTG5Td09mV2U2eXdFRmFJTDRVLS01Z0NvczJBbGd0OWE4QmRKOVpsUDBUSzZEb0RVY0JTbE9VTWNJNGZXb0lDYkhwc3FnS1d3MUJXc0xGTFU1UnNSZVF0ZHhmSFNZdWs4azFWUlNhQnZnSEh5Uk9NemJXYzhSWmJCVjlQc1doaEpMeVpMM3RldzJ0RkhaM2h2U1A2SUVidWpxSE0tYnRWSXFqb3BEOHFDMG90YkNERnNqdXV0bFdVekgxTXhNVFFGdk1KY1Rfa0swM3NOSVBNTnc1MVlrQm1fV0hiQTNZY1V6d3BPd1JNNnQ4YWFVV2diRUkyNm93Szlhd3BUTzJmVHVncjdzNTJoWTFBNVRpMXRobDM4TU84UGNfeTFyYWJBeEVsMGloTUw3VlRFWmxhUml2VW5JS09ORDdXSXE0U2RHbjZzbXJLWW1LUGRFNy1vZzJfMXVhWkJyblRScHNrd1FiZUVlM09tT0lRUjltb3ZmNkRCdlZlVGtieG4zTHgyM2hwUVRRYlpFSTRORFFHMnlzTXcwSnQ4OHl2dEo3NkpwSEFYbWhkZUpBNWI0QTBYb2JvSW80a1JGTjNlUWlCQlB1eTVsZU1qeEZnVVE0N3Y2M0pyNmtibXpfSEVTZHowOGhNeUozakN4Q3ViNWdJVGhtbVdkQ1lIUjZRYjRtWlowMjhIT0ZCNTl6MkY4QVVENXNwU2wyZmhKZHBtUl9aZ1BsaVBuUm9YNGVPU25Dc2ZLTW95X1YwNk1KRTl3VGZPSXU1ME40cEhoTE9qQXNUX3NCSHBfYWJMb0x1ekpJZXdtV29SRThVR2xWVENOX2hJQk1pdWI1V01lbDgwa09nbHJTNXRMZnNCdW1qTTZXUEladUpjRG1jWlozdXpEeFBkRWdHbFZydXE0ZmpfMFBoUF9uNS1FcEVtYTkzZDFaLURCTXU3Wk54QWYwS1ZBOXVJOXZ1WFNQRDJOVmRpMG5QRFFjbFRCRWhKYW8wM01uc1VGbkxBNVZqQlJnQVV2Y05Cd3ZlYzRfOE9WMDJLRVRxZ0hMZ2tzbkIxdU1jZ0cxYnVQWHF5cmJJelN3WGJiTFViOTFWSkZERl9ZNGFTWGhWR0kyUzFpdGdZOVlsYzl3aFlJYU9pQy1KcTNiRUZiVnZiZnJnemMwOUtiYl9ya214ZjFpWDVRczh0blYybHpSaVB1eExibGx6dmlEYkM4ZkpMRE44VHo4NExMa0lMZHNmdjBHaWtkRThSelU5cFNnMVU5ZURUT0RnVktDRmtzaXdJbEJ5MDRqd0d5NnNwb1BudUxweG53OWhKQnpUc0M5dVRUTmlZeUk0SmxpdWs4Z3ZpR0JTT2lMeGNiRVlXTGFpN2NNQUYtcnI4VTYya2hDYlZZVU1mVGhnQjg5aklmNlZSa3pVSGs0QXVSR1k1QnpraWxBcDhHeHg2M1RacnVXR3ZMa1FKek5wNS1PVGN3V3hEN2N1VlFULU5icVNZRmZYMnZVcEt2Unp0WjNxeTJOMTRIYmdIeUZMYnl6SVVoTXdiNkY2M3dwcnlIN0hfMHp3OGRfb0N3bWVCMVBTQVBUcFhiYjhRZjluQlRXbjFCWlBMbUNVc1ZCaUFYQV8zUWp2SWkwUXlrN3gtb3BGc1E3OFdJUVpadkhsb0NRNWI4UGd0bVdaNUFwVDhPc1dXQU1sYkFzdXRLdXZjTFkzbW9DeFZIOGxzclZxOHVXSjhlQzgxUV9uOG5YNGFqcnZiNm51M2ZXTXRDNmxFeWwzSW1JSHRHd3lvVVZOVW4xZWlBQVpnYzdiQUlnNlBoV1pxS25DMkFyU19lbEVheVFUd0ZTWWxrM2Zjdlo4Z3RMOHB5THY0YkpEalI5NUprM1g4NGJEek5uSndfY2o2Y2Fqb0F3WW9nc3RRZFRnd0pqTU1WaU1Fa2hraVE2SVRUU3lDNUJmOTBCa2VXbWZwM2N3Y3c2cThwMG5NZEdnMjNDc0p4VHNla18zbFotRS1KcHZESHJnVUV4d3g1Z3lCVy1STjdrX2xnaGd3OUw3QUNTbHdGb2pHVzlZSzA4T0J3Tjg4ZEQwLVlmMkZSRmFnaFVQY0RfWXhmaC1qNDkyaGY1SnE1WWtyOGJMZENiZjdBTGgyeUp6UTRoUGREMDdnNW1uNThnT3ZMUWo4Z2tvTTBfMHVGOHBRaHpqenRjVlRaM2NBNkZobEI2a0Zkdk9OQXZVLXI5YkpFb2NOaW5fRTJmb1B4VUxqOVdEdGxaX3N2bWtEVzBjR05fRWRlR1dKLXhLcTdWNDRzck5vd0lCOEprZHE4dUhZXzFadVg3bWV6MHNYc0lNSEFFSWhkSnBJelpYQzVjYW9lTDRfalVxelB3dzJzMG1IU29CSlpQNjNWODhFQVpMVkdtaklwaC1PTkhQeU9QemFlQ21xajFlTVFaODdJSGNhYm1yUGNaWDFITTVvRi1meTZ5RFVzdUJyRkx1dmRyX0VJQ21TM0sxWEZmWVhsMkZCU1ZsRGNpUDJ0YVF1RzR0dHhjaWhoRWpERDVDcEZ4S2dha0lRSWc3VVFBTy1rUTN3THZHdW5CcG4wVy04eGpWRFBoU28zUUNOc29sNF9zWnFqVTBoeEVNTVo3YkVxTzNSVDNTVW1OM3RjdG9LWTBySzBxZmR1bk5iSXNjdG5TcUVPYzg3dWd4VTBXNHlQYjBNOEoyQUwySkV0bXlRZmN5RTBDalkzVjVZMjNlN19UVV83bEk5alBTbnhvVi0wdUhCRjZ0Z2xYN3p1akdJSG82MU5CMHo2MHpXZ01hYklqd0Rha3dPYXV2Uy1yX2RqbEZpeUUyZlJvQnNPNDN5WlI1OGJqcHhpRHJxOWdnMEtJcktBQ0gtWjliTUdxeFBIbHVrb1FGeHAtMWszQjdndE5GdGh4dEJqMng5Q1FBVUJwMFNZYXRhUmgwVlBPRGptMWhLd2FUTnUyNDlxZW0tbERiNTRhNFplaGZqVExkS1RoalFiMktwY2FCbVg4ekpQbnRhVlA2MXdDeVRGVDBSN2RIVHloZUhfS0NYbHA0WDN0ekdoRTg5VDVVWjVxVEZJWmNDR2I4YzM1c0pjYnh5bWZ0aUJJd05sUFRlbkNid3dfQXlOUWhreG95Wk1iai1lQ3NBN1M4V3FaUEp6ZVozWE5iV0ZJeS13S3hFMnVyTTJKRXd4eExXRllwOFQ1cFBQQVF1NG1NT0k3SDlfNzRTcWpMRFpCU1Myd3dUdU1YZW1aSDJuWVI0WmdCUF94UkZENzYyM204ZzRuLUdNNGhibVZPMW1LTllJbDlHdzljbkpQOHpSSWlNbUppWEdXTjktbjRPVHFRWExFVnlKbnlUQ0RCMzFTSFctTThyeUJMemEtOUxOdFZhUzVTWkM1UG1vem9EMFZyY2hFVEZmelhwREJfZGYwNk1aYS1icEpBQklTVWJidi1hM0Zobm9JUU0yRW1uT1N2Rkw1ZFdDRlZMcXAwREJOZEVOS0FiQmJaNGdaaGNEREVoSVQwQzh4dWJ5MjN1MW55ZlowRld0WXFoTTh1TS0xVzVOTlNLZGkwVFVhQ2d5OHhBdEh5Wk9YeWgzVFRMVTh2ME1rbjFRRjh5ODRsOVJlejE5VTR5Z2JqX01CVUJreGYtNnhpSFRVQkNpQmN1UnoxM1pSTkVMNUFzTUZLalQ3Y25zRDJxNS1fdDk4dEZ3SmNQejBTLVctbzFtVnBRSkFjZWZ1ZXBRcUdvVzdLNWIzMWFCVHUwWVc3MTZCeW1pSVEwTU5VdC1Cbnc0VTZtdG9wWWJVRjExVXhSSHl2R050dVVUMlp1MDFJSWlKTVRvYmxoZXlYQkFraEVUaDJTXy1Cckc4cG5oZWFZaE94a2wwZE1nZy1ISlJ6V0RXSHJTZ2tUN2plaThNNnhOY0Nwc19veC1kNkdsX1FwYnRkRGZWaGQ3clRaTzhCNTFQSVN3Yk9aYUhkZHotRlhUZmd1c3p6S0RwZmtSWjN0T010VFJ0U1ZWR2t3eG8wRWdfQW9iRVJSNnBBblRfN1hZQmpFWl9BSVVwQkhmYldjZENyUkN5YnR4b2VUU0RvS0twblJkV0E3cnpiLUtDQmVzNG9mdWhicnNldEdWXy1rT0dLc2FuT0lPbkNPQWdHc2VFb19NTnBvZVpjWmd5QlRlaHFmNXlCQ3FZN2FmM2E2Q0F0V2hfSE1IVzl4cGk1TVlZVk9sRVBWWHZHTFp4bi1xS2hzUDVwM0g4a0VHam10d21CWGFuQVhkNE1HemZtWnA2UkZ2d0VIaFJHNFJQQkZYSkZld3laMW1oSzZZVDZXYnpuUGloTC1PTjJPVnJEc25CSWdEUGVtclpnaVJIVWdnMkk0MXNnX1RMWTQ2N2NYUm1JZUc4NWpUTmRieEhkRkt5UWhNS045UUVBYXhDTGJsaF9FZFF1LWJtcnFfNVZoRmIwSDlocF93S0M2bFlOM3BFR3ZsajN5QzNIYU1LTW8xSVlBTkROcmhGM096U2VHUS1SWmZHeFQtZTNwdmRzc2ROTHE5XzNrdWdGZnB5ck1GY01iMkl5MFk1ajN2bF9vNTFvLVdiYUN1Wl9KZEZfb19JZV9zZ1ZnTUhoTVA0elIzRlBEVjVjVUR0bEtWWldSa25XMTRaZ1hnbFNRRG5kSG5lbmpqR1N0WkZnelh6c0FqX2xibm5BXzZnS2ktZHQ5SXk4aW92cFN1SzhTMmMxRFdqU2xIQ1FMS2tCdWR0REI4RFRaYjZneHJCZ0piNEpFUWp1LV9mUXlPR1NOellNZ01ISHFiVTVVbmpxOFVlQkFlclNnQnEzTWRza0xRNjlRVS04clRZbGszVEVLeFQzS3hhTUx6MmxWTkZSMzRkUDl5Zm9HMnZvOW9PS1VEb3VUaXRwNkdhV29Vdm5jWkdDME52bktJaUIzc1NiQ3pOWFdWbFpDWDhWdFhRQnB4NV9USDNhYi14bUJOUnVQMUZ4dlExNERsanZHQVBOM19DcHhxaHAwTmxzbk9xNzlqYmV0TmtqVHVrUTFZLVVhS1lUVFZOaTlQV21CbWJJTGx6X1FfQ21lSml1M1BwVVUyM28yNHlkR0JFTzZNZFg3aldMdHp5c1hxSVJyV1JUS0g1dG1rT3VwNlQzck03UGotb0NNMURacGZHdFUycU9aVW5hZF9TNGR2V3RBT0EzMVVsLU1DQjlLLUpHZEhyU1NKS0xoODNqM2d1ZDdoTUswVFJmYzVXLWdaZzdiT2xUc2EwcTB5anVKTzAxYmZQdjdQTjN2cTRkT1RabWluNnBJMzJSbzBTQU5NZzlBRkdvR1g3TElaR0Y5bVRMZkZGbkJTUlctaW5taW0yRW1NR1piQV9hNUdvTWxOamhmV2JvLW5aNHZubkI0M1NjZlNwZnI2LWRvRzd2VUZzMHlPUURuM0VvZF9ZcHBwUUwtLWtKR3VlYndlTVk4ZmdtVy14NktjRENjSEl6NU04MzhROC1KTEpPNzVLS0ZqREZGa3JtTGZfTGF5ZTJuekpKVGxhN0NnMUMyWS1kMFJGZnd3ODRHb1JjaGpVS0RPQnlFUDVlNzRpcnVSc2hjQjl4QVUweFpyZlIydmdQM2gwbG9UYjJ5UG9wekVwaXV3N01XZDA0eGhsMWhJUm1haXloRFMxc3R3WFh3aDN5SlNuWE5NMngwdnY5bGpQTmRDTzBiQ1lyZVQ1SXY3eFp0WEl1VW5jaWI3eldUQWZNZHM2cXF6Unp6Wkx5YXFTT0JrQkxJLW82R05SMm9PX3F6dTZteG5tMlJGOUlMcEdxYnRnZHhYTTdScVNkNVBEa1RfVjhrVzdOOXlfTUJuc2RpV05uelo3WndPNldrUlNvbkJPc0licVFVS3NXR1dUZ1E4ajE4dy1hd3hnWVJNQlhrY3lEakt5S0piMjZrWjhnRXNlcVQtM3RPTHdFeGM5cjh1MEtLT1M5YlROZDF3YTRFTWZHMEhFeE1SdmdqQ2N5QTlLa1pnU3Y3eTlNRm1BS2k1M3FXNnVvRHRfX1Bwa0lFLVpqUGhLLTdSa3Y1TmJUQnI1bmctTlR6ekFHc2s2enVPdnBpU05JSWxBRXNlUUJERWNES0c0M1Fsa0N0X3g0VmJ2QW9kQk9lTVJpZWNMeTVtLXo2SVZyME9xX0Jnek16ZW85Wl9xZFhWdFZobTU5ZkhDek1rcEM5WEN2dTVXaVU5UzhsV3Y0VmM1STZXa294QW9vZ081QXJFVVV4T3JsMzlma0ZpR2FvUmNBbWM0dG81anhUUjhuWVJXQ2tFdUQ1dEoxcFFUNkhpaW9XMk1OTXR0OExMTTFpeUMwejI4bWFlcmdBZUxGQ3pTODZ6QnJybXVTWFJEQlhhaW9DWGM3VkoxSEtmSUFYcDY2ZEZ3RjhRUkdUOE9LMm55dlZIMzlvRWhSX2M2T1NiRzJvYkxTOXdWM2RFSUFiY0RhR3hjVUpCU1JXeTdUR0ZhcWdhemlwRVRnejF0NThlNUZhS1AyUnoxMHV3LVRHSWN3VVJtRXhlSzVnbDZJWWdMVThKYmVNdWtpbTM4dVFXaklVQXEwOWhva3RsRFNueG8zRFg2STJjdFYtRk9xYk9rX1dLRURHRG9aRG9neG84UFNELUJWeGJrQldRZEwtTUNENUpzblBGRjZhLV9BdFBaWktKYnZoM0t5bWQwNXVfbk9qTURUdXFKU0xuNUV4MjFPbXAzQW9WZlpNYVlTV1hzaXpOWU10cEVReEMwbWp4aDFFLTNmRm5uOE9GdzVnTXFXNXN5d0ZHRklYcUF5MFlmc0Fsb0ZBTkstRVZvVmpCbjY0b0Q5X1NsNVBwZmxFZVlaSFFRS09IRmxWazVwdUhlZHdpckNfZGhkdGp2TnV2ZlNSb1BLU0VJWGxnV2owRHRrRkFiaXJkd1FNTFBUc21CT2pOYnhSWFkzVG9Qd0RSZGo3eC03VVJxY2Ftbjh2VW9UT1MxYWE4WVRMNm5FNVhsVHpuOW01MEh6ek1Rb2tnemcxQlFLSjRsMFJkbWw1a1RiX2tTRm5XY0hobHp5UGt3RUxvZnZfYnlBN0lSXzV0d21LLUZGcUVsYnE5WW1IaXNrR1BWMlpHTDFmTDFGaU1RSmtxLXNzeFlTNjZJRVZ3b1pCaGw4dUZJbnVidXhFeGJaSEpTX2xQY0pLTnQzcExWazJJSzJpc2duVFgwTnlJRWNzMG9pdDlfQVRERUJ5OHZwWTYyTjIxYk9la1lJM1o1Q0pleFFpVTc5VU1wektndTJvTGlaWnBaeXJ4TnVMa3BWSzJpT2toanNaN3gzNDhRdjBSUjdRN3p1aWM4b2hnbWYySUs5cjltOW93MTg4MlpRNFlETTdlOGlxc0t3dkZkOWZuOERlcWl2cmROQUhRcjFlQTZnN3BVSkpZZTNiUDJKLWpGSnN1azQwWXBFUXZVdGFaZjF0cUpPQlMtWlhvOE00aGEwUE5KTWx0bFhmZGJub2x6aHRnYVF5blR3WHJBRTBSZmtnWjlMaHFtenI3ay16TWEyM0t3UHdncDJmUGgzSmV0Z202Nkp4eHBnVjQ2dVl3UTVwSUFibll3MDFOTUxFTXlQaUNySlFFRWtwaXo4WG9hOGtJMkdRdkh3b1pTYlMtNzFZcHMzQ2oyLVZkRTBNaV8zUnRJUEZyaVVTUERfS2cxQ25pQlduN0IzS1pUYjd1MFFwOXl0VE1TdDNRbUNwcnR4YlktVWFwWEtESUYwYVVCN1RPaDRuN2lFZ0pQYzV5M1A1LVZkQ1VxUHJKS2VwckUxN3AzMmFyWjE4VFFwZE5rRHdXRWJWZFlMZDNvc2tTdkhCMHBmbTFablpMZzNpSGo3SmxFX0VsT0RIOVQ4MXRBS3ZyUFlzZUJsWnZQbEdUbDdRN29XN0tSZ21zVDJHMmlqOW11RlVEWEoyLU9ycFhHTWFURGxpdGNhcmpXR0tjMXFJRWhzQ0IybjI3LUlDX2FnbDdHbG4xUkdCRC02bEZGQjFuTVBWcHJpVGljQjA3THJZblNHSTVRdzFpY0pYNnV1TzYyOHRTMEh6Z0llUEdRVzhPMEtyR0xEZkktX2ozQkphbEN1eEpMeW5sdmE4MDVaWFZ3RUdCcEcyaGFOSlVleXhJeWFSamM2SGdOZzNHXzNIbFItWXhiUjBfSmtEODJwczhfd1VmZTBGOW4yYkUzWEVNeEd1bm9rbWdWbTdxQ3I0TzNxQk1HZ0dvN3ExNFRVTGhndk9GeXVZU3BKdkJ2a290NVptZS02SC1idVYySlVjNENQYUN6Y0pFSnB6QlNmTnk3eEFlQmNvbEN4Q0w2MzZDZS0yeUFGVTFFdjJ0NkN1U1BHZUlyY0RrRlUzT2RWOWxvRVlJaG5nNUdEdDdXUjN1RDJsRkh0M1dWLS1ieHkwSFU4YkZmT0c4b0hoU25NN1hsOWtGR1ROWUVxUndIUjk4eENYeXVlS1ZEMHVlN0ZPNnotY3dxV1NxX3BFb0ZUX0V4OFlHU0EtS1k4N1RCRFY1ODlYSEdMYW05bm43RXJybTdNc1p5Znp4V0NBb0U4YkktX0hRN3dTLVVTc3JuZkh0eVJCVkRMcHRSUDVXWDhTSW5jekUwbTFsZFdRUFRZdDFZTVdld1M1Wk5GWll0SFFVSU9FUzNRVlZ5dWlrcXZQczBQWE5Db1p1ZUJoVVViZlVab0E1WFpDTXFYWVdsQnBUMzRVWkRTV3RxUnRVcXhjZlk5YmpvNzZWNjRfSFAxUHJ4V2NQMFZFVi1QVmhxTE55VmRZd0VsRTB5YnlyWlNsRjRwVlM4VTdsd1VlS01UMnpHNWVDLUktakxpUEU5S1M0eWU5WEdtZjlVZEZjd1V3cXBiMjl0cVFFdXRUNFRmUU54elM1dzFqblUySF9BVmxvNm5LZGJiLWt5RjB5WGZyRXB4VHJtR1VSZTRqMEVzMHBXbU0xOVZxY05yeDJDczh0UDlGTlFxNlptQnJ1QVY5ajE0SlpOdUhvY1ozMmU3cTdsN2tfcWlseEtDN1hjR3lRS3U0YlpXdS1qWUEzdm5OSDVORnAyaEd4aWFLVmRka1pDQVlTUnBqMHVNZ1FuVGNEUkppTTJoV1piaGY0OXBUaUVwak90dmhIbHV0WDdYdmpnTDVZcWtVRzNBbUZVelZIOWs1QkFpUXo2VUtwVVJjUFVNUnFPTG5fbkpMd0VsY2xKUE0xYldZdEhZNHNTdzl0OTMzSjZxdzdENFdNRGJRLVI0QlJubkxwNUZZRUtSY2Z1cHVKWWtxV29xd3dQUzc4b1E1UmZfSF9VbVlBZEFOUXhsLVU0MUw5RTE1TEZqaFBsMUZObFhNLUp5ZVNJNjhlbUJ1NGNWY1l4d0oyMGd6Y2NuSWs5UEtjdXdUWE1IUjVIMmNtZENxRnVBY3lYUlJCaGhGRVBfNjFmbmxnRjMxMFZSdS02c3JmOVhnTGFuMEdtaVNZSC1UaVpmcUFrUjItRVlvdWxFUG9UWUw5OUhTekcwQTBveXhpc2YyaER3Z1NxNDVpbjJaTU9BQnRrNGpGT2ZKQ2kyOVZxMkV5YXVOQmRodkFQeUVzVHJpcV9ydHZPN1phUUs1Ulc3QndPZ0RsY3k5b0ROcmVfRG5mZm9jRUNmc3hMVndab0Z0Sm02eUpoNmU5SDVTOFdMcmF3MEhDTklaR2QyaWNTUTJEMG5oMjh6b3JSY1lfanpIYjBwX0VIZk1iNjhxa1hoQmREVE80ZVQxeGNtRmZuUXRCQnRCMVJYaEd6cW1MRlhTUXJRRWxHWFY0czZxNWFYRlJQNkljdGowQk02VkxHWXVpOUdZb3YxZEVrWVRaS3Y0QUtnQndySWRGazl4N0hOT29YRm8yRlgzY0hWTUpWU0hzck4xY00wekN5SVNGdDNkaHB4TnVsVHY5TkdfQWZmUUg4X3NQa05Ua1R6clcyRlM1RkZpTjVrQXJLeUZRRGlWNEZHZTRxWE5WbFhfOURtLW1Hdk03Q2lPWDg2Q3Z1OEg2c2JEckxFR2VxdVJFSHdxaE9DYnR1VDljczNIYlBsbDlvODhxTkw4TV9CSzc3aUh2a0lSQUc2Qkl3Qkt5ZFo1QUNpVnh0NVhIZ0tEUE05a1VaMTdLM3FwYXFUblk1YWw1QjF3bXVYMkwwSDVGckxxQjJTTFBPUE9zcU1RTlNidGExQXBkai1KMm0ybzFWY1JPaGhWeVJza29iLVNOUDd5WGJrbGlUOWJTSHl5YzFvbzFXcTZKYnNZd2hwdVI5aS1YX1cwYkc5M0hyYS10c2pvYmZPYjFBeW5sRXotRGpqZXl1eEt1UGVtLXVvRVlTWkZfbXRsd1JxbVNFSkFwWmlxQms5VHFTZW04LVBCZWxRR000MVhBOWtFeHc3cm41anROODZEdTdUX3JvRnRTWGxpakFQUm44ZTI4XzcyNEwyTWtrN3FPREpLMkg4Mzdvc3J5bjNXRWE5MW80OTJuTS1BcGNTZ0pfUUEzbURqUTJtaHZNVElPakh5TFRCZlBjaW4tby1UQzRhc28wdmpJUEhLZ3pUeE5oWnpYNHMySjFSRF9ldW91cHhfNXhocDdCTDZSTWt4eWVMd0o3Y2VwZFhDVmNmdzdzRDEwQnlyVGVtSnVoT2oxaWhrc1lVUmdEZFI4M3pweFl1Sk11a0ZqbjlxbEQ2a3c5YndNWnRpU2h4QjFZUHNuV1daV3U0TXFsVTg3SldZQzlEMzFUdXhiNFltYndsd1RsQTV6dFBTS3diTk1fYUI4aXZVUUhUazBPdFFwcndXMTlCdU9FbjFtWnpBYnJ0WkUyZ3NFQ2w3TTREWjZWR29nMGtza3gwSUlDVks3WkxEQmZRYXhIWmxFOFk2SGFCS0JrekhKSHE3MUNfcnMwcEo0UWZRV1NiNGdkRFpIeVpWY3JaNktPbEZsQTBma25LdEN4YnpjM3U2TUM5enFXa1ZYWWZZeWVvM1JSNUg3UVJZaUJqM1R6SjJVMVF4U1VqQjZyU19XeW9vWlhnNHNyeG5QRWdKak01TTdfMC1yY3NWVlVVdVNzT2RXMXFybjRlSy1Kd3Q0elkwUHhLYU5wZzRkMTFLUURIVXJkRjdPbnd4UmJ0NktLSFlGYW03UGh0ZVozV0dGbnBIbktzdHJYOVk2bEREYjBTLW5KQ3o4ODF5cUhUSmZ5YkhfRWFxS3R0ZU5ub3dDc190Nkt4NTVBS3o4c2VaU1psOXJnb0k1V0FrVkR5YmlfSlFFdTJnZnp0YzN0M1hCMnlTVDg4bl9BcDJNbU80X0V4QXBoVEpfNzdrYmJvWkl1Yll2ejA2Sjh5ZjR5Mk1yXzgySlFLVVBQYWhuNEozejR3eS16d2EtaDFLRkkyZThQTDZzODF3YmZ1QndrNlBHNFItZWg4UVhybEJrSXVqMkJ4eGU4VUZ3VUZONW9kbzY4VC1SWTF0bVdPRlZndnpDUkJKc1Zjb3htLU1CTGZsdW5XbTBVdDRvd0F1MlRKQ3lUaTRpWDhIM3E0X1lQTy1zMXBiQnRRaU0wQU01azVFNkdoZlc3MS1lQjJ2cHMtMjRORzE5R2gzTEhvTzNlelJtWmhwX3k3QXYxV0I5OURrbmJ6NXZ6dGxwcW92Y2hNNWRDOFNQalFkMDBDRW5NRmtwaVQ3SDZZTmFKVG5BcnVoanhTU2RKLXUxSmdGSE1ObzJpNEtfR0xxY1BlSGlIaTlPZDM5S2NGdVNQeHAxOV9wc0Z5bHRzWVp5cXhoNldJSG55bkRvdEpiOHd4dFU0bk1FMWFvazFZNk9yc1FUeGFtNnBFQnludFljbzFoLUlhanZHSGliWkV2UGdLNjgyc2RoZ295RjJ5OG1na2JTNWxHVDd6U2tYWm0yeUZwOGk0X0tVUnlYWUtqUndFZWdKTmktQ0gxWWs3ZHgwbExOaElOVzJEWkdyN3RFd1dOd2tFMzFHdWwtaXZWZzdGMTNMN2xXNW9OWTk1WXFXQlh0RzBsRHVoUlduSHg5dTNWV0twSDFmT0xDcnVIS1VXdzM3MmhtX21KS3U5UW1tQjNrWDF3SURXSkQ0SnFfeWlaekMxWEdIOEFzRmJfOFhtTGo3YW1aUmRwRFRRSmV3WlE2NXFJem44VEx0ekFhTUktUUlQZXJDSEZmeDFYWW81ZUpWdHc4MWphVHFRQWJCLVZ5X3ZXMG4zNXhUVklEOGdJUlpYakhRVEg3YTgtaDY3ZVFPdUNtS00yR2NZQjlFSmNRLVRPdUd5ck5Cd0lBckNxSGxDSzF3SjlPZjFYMjQ2cjY3dnd6MkJCQUdRWWp5dF9yZ09PcFFadGthV0pMd25ncXEwRE1pYWt5cE5LSlVJbEViX3ZkUGp6SFFKMV9IVzlMSFB2UWVHUmVJRTY2YzEyWlBBTm5tcndDaXR4M3hzcWNJZVd2d0Vya0ZzcWMteUlZbFd0V1Y4ejVmdklMY2JvSWRxVTJ4c3RqR0lvZDhudEp3RVRMeDJJQTZ6TUZHZ2E1UDZkcVhiMm85TUtxT3U3Z3UxYzBUaGtjVzB1QUFSb1F5ZzhDcnMzX0VfcC1YRXpCZGVWNzBIWUhXNk5CaV91OUVfLWVKVm13Vl9RcmJxanM4bEJxeEhsR1ZyUHVIbjd0ZU1ncXk5cjY4b0c4RVZRRFZUV0tXYWZ1U3Q1bHJpWXlTMlk5QnFqbXduUlBFR3lqTzJtLXVNRTRHQU84d0s2eFZVeWF1emlRQ0FyLnN4blQ5QmJTbklGT0RKQ1Y4WGR3RXc" + }, + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/testcert/21983500952149bbb3129b0c60e367a6", + "kid": "https://myvault.vault.azure.net/keys/testcert/21983500952149bbb3129b0c60e367a6", + "sid": "https://myvault.vault.azure.net/secrets/testcert/21983500952149bbb3129b0c60e367a6", + "x5t": "Z-n6Mydb08bmyOgk7bmx5HT8tyo", + "cer": "MIIDMjCCAhqgAwIBAgIQGn/FrGQZT/Cd9kgXIsytEjANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDEwtleGFtcGxlLmNvbTAeFw0xODA0MTcxODI2MjZaFw0xOTA0MTcxODM2MjZaMBYxFDASBgNVBAMTC2V4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsODIu9EJhfnn57k4++j6dC1M6Egi9aZucFQ9Jc29vFG9L9BkzllPGluKKdH1ypsrAUif7yGaq5d1nDyLhZUncU8dV/YIA7oll/fC+d0H4A37kVbM/60zXhXnKRx+DRZ2hJQzNBOodCaZpyZZEuYvtWdSCSILpa0R7yXYevjLaG5LfckOzuurXqeos7WB+l2q1c+6zx1KbNXbBl7QOz2nzk9oJU7CdhPOc+LOLppmsXRwwluKtmCDyKdrKAF/dANp5zGXFsognQcRctLSGQp8FbgBVQyZ+v81n9bPpSaBoUQMcH4uG9jPO6CWwbDSWE+FVYAm5kgjuW/1hqRSnOEV8QIDAQABo3wwejAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHwYDVR0jBBgwFoAUaYJoBFokrORdsxOTA8sgrosMOmgwHQYDVR0OBBYEFGmCaARaJKzkXbMTkwPLIK6LDDpoMA0GCSqGSIb3DQEBCwUAA4IBAQAxL3t0kV1dq/PGUztjW+qK6Nh4sx7jsU59JtjON6zcibJ4hM+Q3Z+cEvW9zuGkuTbLz6fKNL9VnkF1LnlWTsyRmS7bF15/7iOgfdrr0vkJKVM1Zv/tqKEpBJ7Cbc0vW/VJQxZN+OlqGNc9bcx3cnqkRwpkgM25T0dVpoWtCgMwayUtbPFbTZWHHbpzHLF2BzYf5HyW1BoKXcVPM3r/rS7RETasRRsz2GqXXdfhjCd+HKVyv5kD9N3WcFNUsaq3TqAUZyOx9bO0Cn3gkmgz05JpfhPEylXwVpVAccOoXsNoFdxEKGO0w7pk7PwOhsW8sFprdXWp6OxtL0rrCNFF/llT", + "attributes": { + "enabled": true, + "nbf": 1523989586, + "exp": 1555526186, + "created": 1523990186, + "updated": 1523990186, + "recoveryLevel": "Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/testcert/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=example.com", + "ekus": [ + "1.3.6.1.5.5.7.3.1", + "1.3.6.1.5.5.7.3.2" + ], + "key_usage": [ + "digitalSignature", + "keyEncipherment" + ], + "validity_months": 12 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "AutoRenew" + } + } + ], + "issuer": { + "name": "Self" + }, + "attributes": { + "enabled": true, + "created": 1523990175, + "updated": 1523990175 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreKey-example.json new file mode 100644 index 000000000000..b1caca2ca419 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreKey-example.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "parameters": { + "value": "JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLllNSVBfTXJRcTQ2X2ZwRExfSDNSSkpzSUotM05oeUJkMXlrOWJCS05JOGdnTjMxYWg2cWVoY1BISExnSnJ4OGprQkxMWFBxcDVmMXpsaWxfclVrLUtrT3J5YzhaSTljc3NNNV9TeTN4cEk0Wnk2V0ljNWNqUFd1R0NDbUJwQXlydEdPVnpoalF4bzNyVFcxRFNxZ1pVdnI4VEpseTJQS3J2aUlfUmduRWQ2LVJWS3V1Vk40ZWZWYUs5WFZUbW4xdmZ5Z3pwVHJfVFdDOVBGbXpoT0p6Z1U5OF85X25WcldWSE5TMXVMWEpYbldoQU9mUll0VlJORVFJRU5lTGMtZzNjTXJLOTFzNk5XeE5xZkZfR0w2UHg2cVhHMldXQ09nMzU3ZkJnT1ZTdERLaVZINk4xTWVkUTVwaWFkeHhUVDZMSFpva0I0eDFKbEFJZkxfYlU2OVBWdy5GOVFiM3RWbE1LcHJDS0stWUVpODJ3LlQwTVFpYXV3MGw5TWJfRFdEY1hvbzFqTjZJWXU1OVk3U0VMMm1ndFUweDNYTDl5VHNqZUY0Y2I0NExBaF9vUDdnbUgzbjdKLVZEX3hKN2hXY01XNnlTNDlFX005aXlndDlTQ2w5ZjRTdWtpM0NZdkwwUUVSVFlLSW1qMi1BRkRMWkl3Tm1HYmE4RzhheFBxR2NOS3NSZ0daZ1lUVG9pWUxxQnJ5cmJ2TEp1ZENxZ2plUWRpNU1tdHlQRnBhZ0hwSHZLa3VjRkdwLVhtSjFLYk8yQTJRT1dRVFFaOUNlcmVCcXJDbjI0SXdhUXJVQzRyTkQydzBVQTFUY3dFZXVWQkdFTGRKWm9zWHM2Q0dEZmpaSHFjdnB6NzRKd3g1T0VpcV9EUHM5VEtya01ob3djRXBsWjhaSk1jTlFSZnU5Sjg5ZDdZWGdHZEI1aWtKenA1WlY4OXcxMmIwekNITllKamdkZEhTNjJmalZlYUUxT09QXzd5Zlg1dEpiNmQ1QVhpZ3ItSkozbGI3Y2JhOXE2NHBsYmlhck1LemFiNUhtMkxNRnVLQnI1TmFrbzVQMDBoUUJnR2M2aXBJSzhNT2NLc2RhQjJGcjUwX1ViNnJEUzA4NnUzNy1DSHRGRnF5LTFBaGlDaXhRakNNTF9rWGtJMHZEYmJqRi1feGtNZGFCVi1BdTc5TzZ6V2pzRGVlV0t0VXZWUW5CMGM0Qnk3SVdDTGVWdzIyaTA5WWk3MnpCcWZPRjRyTmd4VTNrSjdfLTVib1dteVlXNndNOGVzTjR4R1kzUGhVNHlLRV91RGc2dk5Od3Q1c2NXWW9TMHh4NlBDb3M4S0R0Y3ItVXlwUTkydGhVX0ZYZ3E5U3RUWXEyWWdWV0dQbnM1Q0RMT0RBSi1sMTFJNklpdGxQN0hoeUxvMzlqNzdpV2ZUS0RnTDVrcDdEOUUzX3FkUFprdGpWUER1M1pRY1Q3MzlOMnp6XzFrWHJEb20tNlBQcXdWUzZtUXpBVW1xaXhTaXZjcWJxalpJRnRPbGxLRkE2cWVyaDJlU0FZelRNU0N1d0p4REJSQjUtbjBNUWxJSGpDMTdkTFpoVnFEMVNiNlBycV95OXN2Mml2V3E5TGE5R2ZHbEhBNlZZM1QzUWRTQ3VrWVJqWFhxLUItTm5WZGhGTVZhbFZ2b3NySmZuSEZhWGZMaTBnczVVOUt1NHlqRDdRb1cxeVIxSVk5T3JaNHFSUXdrcG5tOU8ycnJIMXBtX1hTekxRVDRrWmNLYnVneHNvWXRsRE9TaW9iS0RYdTFNdENxdkRudnh6OEZ3MUdwTXJCdUxrVlFEVmVlUDJqNFp3TGxPbkxUTmk4YlNjTm1fN3ZUc1RQbTRJRDltanBXSThCYXA4M1RLaTNkelAxazFpM0dncnIxSEpVQU96Q0NjUTRnaWxES1o4UkVsUWUyMUJBcUo3eUVublZsdWN5RzZBV2E3dmlZWXV4eEJIa0RsN1hHZHZYMGpJMjZyd2NTX0ZIMnlOaWFmZDN3SkkxMzQyWEF2VDdDUWVoOGRaZWRKU3FYUUdqQjVCSGF5Vl9vZnplVXBfOEhqRkRoS1VkcmNJNGkwa0ZwcEhkUFhNQXUxMjh3RHUyTG5VenlNNEpad1NJdW1fbmpiUTNJU1R5bUVMTngzd3QyV1NFT2Q3QUt5S3lCNEJzU3NkUE1HZXdLSTFnc2otSENFb05Cd3hQQkF2VnFDSUkzbGY5NG0tRU04LVh6TnRCVXFpT3Y5ZERCa2d2ekptSTlrMk9fVmpjbUZrbkdKb2kxVnpZcGlRVTRYbElaempDd3NDRHFrYWh1YmNxWFdyMDhVdFBtV0hGRXk0Q0tvclZMN1VIaVhsVnJPR1VHdFN2dWN3S2RjS1RPeldsUngtRGNGMExDek1kR1p3Y2czZWk1bWl0bFliRjJVbGJOMmJaU0NQWDljOWxFU2RBUUhxUEVsNXJhVDY3aDlWeGxPc3doYW54SkZvNGVuRENaYWZObURGRzJMYTY5RXFCVjZLTHowXzR1S1pDNW14YXZEazZXS3lmb0ROeXFzdVZMdG83WXNqUk4xNTJYMDVYSEhuRVN6NG5lM2MwandXYXo2MFpJR0Q1TUhNUUhQeTdPNFdnYWthVnNKZU9mYUNza3diYjQ5cV9tQnNYME5mWlBjcWFiRFhoWjdCWUxROVhFUkdibndkM0pEQmgtX1RUN2s2WERpY0tUblZQdWVGN3dzVl80aE9HUkpkVEk2UFRmV2o1dWY4dTdxRU9BdUt5NmV1Vk1LeTk3TVdLT1Q4LVpRbDBoSWowcmJWR1pILVI0cnFIMXZfVmdRUGRpLXFXb3FXcWt5MGFaSzNDTkEzUXhXZnRMR3AwcUVXcHU2T1EtQ2hONy12eE4wdFVlZGREWlF5V1d0d3g2VFcxS2hDQldaR2pabTlBQzY4YlUyQnVOTUU1NW9VV0dsbmNOOUVuRnpnTm1RTVR1SzV2VGd3WkJITWpmUXpsSUdfeWZ3QXVtSHljSzVPT092eDk1SGM3d0RBRDJXMVdSb2h5MDV5TFJkbEJ2XzREUXJyTWthZEVwZjB1dHZod1V3ZXZSNU1jVkV5Yk93VUw2Z2Y5a3JDNEw0YlR1bUJRbG9Ccng1aDNuTHhZdzkwcmlqbG5LajVZYkthZWpyTXdiSW15Ri1xVk5NbWpTd2I1MlN0SjB3T0czeE9HZkJRRHhQWHJtSXhoMERSOEdzSzBkeS0xSElJZWo1LW9STWRfSjlhVkt6MFk0d3g2VjIzaC1qUDNxMjRKYmF3dndsQTZyVjVpVUZkaDZKUXJpTU5DLV9hRF91X181VTd0OENIN1pWQ3VQM25JaTV4N2dtcWFsSzNlZ0htM3BkYl9sb3dYRTRaRUJETHZ0a2lobC13LVBGc3VZb1VKSUZWcUZ2VnM1RW5TU01XMFBJWE9TZlZNWW1KWmVrYmlHX1FqeGtCMjNCaHpZclNqQ3oxcW5TTXg5a3ZicDlRaDFuZFJYSkpJUFUyamVIdUxCNE9nVzNoenluQ2FxQXZQRXVHMlhuS3B4WGZ4QUtOeldpTElOLTBsUTRfUXQ0dHctZmphWVJVVjVLVWpyYlZnazI1MDZIUG1ZVEdWUVdRX203Z1NBU1BaajZEYklua3U3SzhFWnI2b3d1SDI1M1hxazlrSWwyTE1CcHZqT2tOTWFRTXhLcjItMllkUEV5LS1mTUFQTHBfVU15MnhqbEtMS2s3blhJdV9IMXZSbmdfVlVyVkhuZUdqRmFuODdRRU9SU1Y3clRBcHJPMmZUMmpfOWhoNkptdFlrUXFnRzg2WXlKa3NValdzM3hwZGk2TlBGRUxqQWd5T0ZDLTRrTWdLbGdJM2lUSElCV1Ezamp0U2UwR2N0MUs3QnBCSlJySUFGLTFVQjZKVDZjSjI4Z01zd0k5OGt1ZDVob1hZbVQ1bEEtWmFELUk4ZE0wcUZ0SEg4a1lXX256em85bTY5LWlZZlZfd3N5Mm1CdnVlb05RZGRRS0JrbWlVTW54VjkwdEF5RWc4WXJaWUwxck9jWHFjb2VJNl84UmV0bXZZeFZNMWJwdXFfajlmTXYtelRBOUpDZXlKMXFBTjVWQWFpY0lnZzFKWElDTEI5amVTT09zUXcxYXZxdk03TjFBcndDcjZvTUhycTVaQ0VLODV5VmI1RzhjY3Rld29pSFlzdVlPT0hnSDNMbmNoV3pmSjNNaUVjTTZfVjdSZHZCUWQwM2tQekdFVjh1STJ1aDl0bUxrNkY3VUt6WU02RXhJNW1LUEM5LVFOMk14ZTB6NDZrZTJteEdHR3cteXFMNjFHR0FpS0FjcENsSzVHeHlRbVBuREo4RHFKTk9WWDNoX283YTExVW8zMmtkdEcyaHVYcERVc2F5NkU4VGJ5R1dFZ3dmWDdaVnZrN1VNM2VqdDNqWXBxYmRZSlBNTUJCMGdNOU9mSVFjS0lUcm9IMHJEbFE2Wmt4UGM0ZHBlQ21NMzg3NXBXTlFrZzFKSnVRZzN4cE9WZ0VGallabEVENTBFaVZKNzg3cUM1YUdtakxRWl9yLVA3X2hJN09lcExWZ1BHSEFTUkxsd0dOLUZwTDc4UW9VempfWHUwNlBkNkF1VExtYmpoVmlERC11ZG5xdTVVR3dKNGxZamJqSkNBN3VQT2VfdWpzUWhZd1VHQV9YQnlsbkVySWxMN09YSE9UeGFEbEpHSDQtNHdNcm9hbmhPWTVoZ2NWZHZVQlpVZ1JEVWg0MGwzejhGVWJhUmxpaEUxeXQwdU5vR3F3TWRyWnZoTkl3YVFjUFlQeVV3UTdBdWh1dl9qSXRVcWlGQm9ncnlSb3Njd3oycXR0am12OEFRWUh5QWx5OXVqdmJ1cnk1TGNJaF9FUWZUekJuSnlfcDVZdzBDWG5CSzg3ZkVIOHJhWkh4V0VUcHFseHlmWWRWZjlQakRYTGJMYWJWQ2J6TXNSMnNYZkFvNm00VmhnaEYtQ0dOV3lta25EMDBUbWU0TGE0Vy1BLU9lR2o3Mi1uOFZjNmI5Zzc4d25tYkF0dGRyUThQWVdLUXZjdXlEbHZ5RUdHSF81VW10bFN5ajJKbHRLZXN3N1dzai1hazhDWDFidGRzU2xoQldjYUJ0dGozUmp3bEN4aEQyTXlWdHR6dDIwN3JPQjdxdEFJeVg1enJZMUxaSHB3RW1NeDhkWnM3NDdlY2ZhZVM0ZFFCWmN6U3lCNFZFWVRRWGdIeWdFX3EtYndfZXhqNWs5c0RHeHNTRnF5elFCVm9VOUtlbmFtZTRESnNMWFdaaW51UEhZUVNtWDJUZFBabXNkSHhCa3BBcHJiLUg0SGdFSnBPYWxCa0d3aFhza0hwYjZUTkhQeHktb09tLWhBaXptTVZPZzlnTDJOSHpSdUFtb0kzVTRFd2FfR0Vub3d0ZUFRU0xlY016WjZxZ3l1ZGswcG51UnlONlAxbTNCU1ExODRXUzNqeDFDNDYwTEFKM2FySS00QWV1aW5fMFZYM3FHdmEzNDR2ZXQ4N0RSN0liTUUzS01rWWtUdXotaHpqbnhHVVQ1cXZhWnYwNzdQVHExbTVDUVBUZGVlNlNnMzRmLXlseGg3MGoxSS1OWnZ3aFAyTFZ2OTJkdVZ4SlJSN3hzbEp6UzU3NXE3aWZ1UEcwUnp0NE55M1lESno0TWVDTk5wWklwTUJKeGR2bkc3azhsbXlvQlVRYmR6OHhCdW5YT3FsRDFHU205M05LYy13bzdxZnpJanYwWjF6WVpwLW5LN0o2NEUtSnp4MkQxZ2xJRG5vZGw5R215UzlwbzMzOUlZYU9QZlJnSTNad1FTVkdwcEJQN0dNRUdsRkVxbG83bTUtNFNZWEc2SmRYYU5yM2lRVmdoUEtkQWVpLWJDTEFQbGJGSkNFQVU1NXJfSEVmS2xUNS0zNlN5ZHRlcWFTZEdvMVhGRXpadWFILV96OEJsd1hXME4wdFJpdHo3SXh1OU5BTkM4R3V0Z2t2WHVFUl9Obnc1VUlsYXJlcE02VERfWl9lOHJGRDdoYXhWMVd0b1pkOUJTd05iUm1JeXU2Y2ZaelgyeFNPVlJVSndWSEctWTNaRGRpcWtzb19XR0J2TFJKQlRWT3NvZVZucWUxWktqb0NRSzFEYUZPb3B4UDdTTWhwOVlpY29XRk9VUU5ONS1EQjMtNjhDbURzdjE1LXMzRFRxUUM1OHhpd2JZLTRuWWt0eVNRV2F5elRvYlZOWG1idmI5SzktdWowYVRWRkx6SDFHMFl2TG1oU1NTd2tfM08tY3RSUExFblhQU1FWNkdVT2p5d0xIT1hTRDZfY1lTN1JrVXR4Mmc4bV8xbmhJUW0wOFd1aTVNSkdQR0JEb0RmN0szd3oyMnRnUVFXTDEwY2J0SlVvQkYyNjJVaUg3TE5pMjJWQ2tsMElYMVVRNy13cEkwcDhkV1NvV282U25PYTdkUTVpQkliZjlQX3JRd1dhYVl1NV9aQlpwQ000VXFWY2dhR1NZVnNxRHpXRVY4LXRjazBYOE51STJyZ3JSOTRDSnhjSms5MWwtb3owbldhTUFocHJubjJfd3hSWEdOYXkzNmJqU3EzWXhNMXN0dDFNN1JjenU3UTJQei1mZGpHWUFOSHZxQUtYUTZpbUphQXNwbE50Skh1SUp1andyTlRQd0ZzNGE5bDRkWHdNMDRRSWZoYzR5em1icDlYRjdVWVU0MjNXTWhRU2RMNUpaTld5QXVxOEFuRzdtd2dTUDNUMjROVGh1U0Z6Zjd1Tk5ySmdfUFk5VUNWcmlPS3FEN1lVS0FSZ1FFQ0EtTmthbG5YU0V1VEN2azJpZkVYOEh6cTJJbDV3TEZyOVFKVjBmT19EUkNyUzVzRHVaVmJ3RDI0Y2VqT3libWd1VWFuTDhiMklqS3h6TFVPT2tlMkVPNVRRTXRQUWZjeTYydkV5c2NwQzJFYXd6YUN2V3ViMVNXS2RZVnUtcVBzdFV4eWlPUHNpcFR3V1kzTXVNRkpwclNscWFVUDFJa3N6M0Q0VGpqSElzb0c2TUFsbFRZcUItSWpuSEhmYzI2blM3cmExeVVjbHRIRWtEd3Q4R1I2bmctNk9XNWJtT0J2VFFDamRUUDhSbXZ3b2tIRXZGQTlXbGs2OVZIVFpFSlNaNGdRZXFzcW83SEJJQ0h3dlViOW16YkhnaU50bGQ1WUFHT3V1U3BOTE1UcTM5LTMzVVZoTjBLa0hLUXZCenI1OXFmaFBIU3lVRnVMZzI4b2pYMGRvb3gySlFEZ1BobHZVYkR3cGluREJqVHBiMDdsY09EYVI3ZWN2M0tDOUhJQVdreDlhV0lza21Yb0FWYVNWTDBsZ05NQzNHVkxSMURfcGVoQTZySWs2Rl9qbDY0N0w4SERqRFJEbjZRRnRIa21BYW10TU9WSzdPMS1UXy1UTldwaDZ3YVFOdTBrV1ktZXAyRERndDk2enRYUkZTVWdNOXJMMnk3OENOMkVFWW1mQUktM1VjamdUblUxRnJXaEZ3dC1JNlVmNFZwNlY4XzZxTjJzVDJyeWFLWHo0Y0JJY0NoNm8tS0RpOW95SDV3MFF5eDhWb0xTNlN0YVEyYU5FejlKamctZ0N4aVp0Q1JYeWlnaWx3NTQ5VWFWMldreHR2bDZkeWRmZmFTM2ptYUxqaDRmOXhHa1JQRUdqZmZvMVY0dUN5QkI5QkNoaVVCZG1qVGxlVlJROG5Ccm5WQW5qYXVIYTRsV3VkNkhjSzU5VjJNTlpNTVdtS0tvb0E4cWtuMzVUY25EdXluSjJITUNnZElCSnVQVU9TeTI1QnhuZnA4RU5NSlZrV19UeU9uTXk5b3JtNTVobHhmSjRENThad2FRREs0QWlFZk1IVHdJc09uZ2pnU0o0S1JDdjFRa1NVeDdYRVhNU0lNUWtUYTBqS19aNS1PQ1ZNc3NBbzEzVzg1VlFKbVpDQ0tZRzZWbS1ybnVYSUdZZlZWLTg1OG93OEJZUGhDYVRhVzRkVnBLWERDRDVfc1FsamdJSnd0Vmc0T0RKY1dxelJpWWpUaXMyVzVjdlBvT1haNUIyZnFaVTlCWGVPQWM4S3Y2a2ZDVWp0OFV5UDFTaGswN2xtZ1A5b25PMWJ0eVc5VnhQSE5uUHcxNjZDeXJmVVcxaEFHQjB1YTFNYmtEVTdfdk40SlowY3VWNV9iLW9sUm80eV9yeGQ3UGRWREJsZHBWTUxsV3haLVhiV1VqdFpTVndaT01rOEtvV2F0bld6NVI0S1ZLNkFnbWJFTHhpa1MxSjYxZ1lJNlhTcm8wRnF1N0dNM2JXdlZQYm1xR3Q4SV9UcjNHamlKeDZ3OUhvZGlLbEZQc2JMakE3OWJuSG5DcHdwSEZBWGI5d3E3dmMtSF8wTU1WVGw3eE56bzhIZ1FfR2tPWEl1OV9uMVJiZS1SRDRXUmlId1RuYm5ZbXpHNjN4b3dHTlBJN2c4R203ZkxfTnpDWGhveDdUSUhXMjh0WFFCeVk4ZmR3X3YtMUtvU2lhSjNwNHBJUnlRQm1rQnpmOTlGRlpPS2g1bUxLMnBrSE9INWFlblFFNng2cHFDakNkcW53Uzk3eGJ0Skp1TkF4M1V6UDdHM2l5WlN5ZWw4SEd0YU1UZVdITzFuaE9lZFNlcTVhaGk4dEFFeVp2MFFScUxsQTRaQUxrVGh5ZUNZckpBd1cyaUJaOW5DRUVnemxqT01wdTJndHpDRnk5WktZWUloaWZKdVQ3dlBHdVhGTUtLVlg0WFU5ZmVoOFhIMUVWbnZ4cENuRjl5eEZneThuVW5CdUdsRkVWOFVCVU5oOE5BcElZY3BlTDd5Q1F5bDZQN3Fock43SEhINEloNmhLS2lVaUItWjRNMHJUSk9mZkd6MFhGWmlaSDdYT21KazBNc3pCbEVhaEFFbjJTU1JaaVFXTThsRFRRcEdrX0p3QkpRX1FVTmtMZnhCcHpsSzBUMGFxS1d3M2doWFktT3FqelM4cTFXOHVBYzNabFRUMFZHRWdWdU8yNl9vRXpXTnZYYnpKMUVfVEFxUkVWS0xfOWFlem1zM3JqYy1GdldSR2pMV09OTXhUdGw5ZzE5RFdhbFA2alJlUlJFeEg3djBLTEdvSHV1RW5IVHNQX2hsMnZuM05WWWl3dFFualFCOXpiMjZKRmxwZzZFaEF1STN4bFZMM3hwRE9qZUlPNXM3MllKY1MzcjAzYkIzbTVHMUljRVU4SkR2WTF5MjJQaG5iOGVmNno1cmk4RDY5clVLWThFOXFraExXYVhOMjRTLTZBYjNRZUtKcmxIR09yaEc2ZkpCdElqTF93Rk9kWjJqOFo0bVBZdmJaNUNEUTdnM01yYVh1aVJ6cWdvdXk3TkliempzOEZETkQ4ZHNMR1Z0OUNLanRVMnR5a0JrSUpQZlhrZ3U0LUpSVFRETjNINGdwek9md1B5V18xOXRMdlBKNEpRbHlzbnhKaEptSW5TUEtUUTljclJHVFFlS0F3THZZemdCMG5QWkIxd2dQVWJHaXRsaHlTV1pqbWplVU5oSnNnb0Z3ZHRFdTloTjRDejROWUVLZ1ozWnBKTC1sZmVJbmp0VEIwN1A4dWtpV3FHeGNBaVI5TDRPdl94VmxNYm9hblduNENNLThVSnZjRGhVRGtpTGt0eHRJOE03Zk01bngtMkFSX3MwcnlDV0F1YmVmQUxRdHVEUnQ1MVZrZnlJZkJ2UWFyb3dINnpIX1ZfZ1lJWFdOdDlvTElMT3FrNHlqcmR5Z0ZXWTl2QXZQN1Y4Q1lraUZuSVVrWGNaeUNsT2dmcTM5bXRKeHBMM2Nzb3VaWFRIcDExZ0xibWRUNUVTbjIwRThiblpEcTVvSEVEWGxPbGZHSE9ldmx6RnRCX1V4R1h0S1lYOUoxQWlLekJyZGI3QmJvemRFcDAteHVpeTZYRFp1Yjc5LW1LcnVQTDJaWWIxaTVoVmpRQUN2RnAyUHBaT2k3eFVmSlJoT0Z3Zi00OUphVE9XTjMtYVhVb0N1a0NpMWdqODhkQ29QWWNVdWs5WmxNelpkV1hJcDlnQ1gyN196U0U1WURCYWlWQ1dPc3c0Q0pGYmMta1FUOUNaMzRkU1hiczZ4S1N0OS1haHI5b3NpY2JHY2laMUlDV182WWRLM0l6ckh1UUV6TnNDQ0tEdW9iVVFRZFpBUlFMeWFlR2w0NWczN21Gb0tQN2J4b01aY1AzRjB3MzdBR0xMVzFjVi02dU5uaWhZQ1p0dThZckZQdWF4aF9VVUxPTk1SZXN5TFVsRHVydmxuQVV5ajFVMU1TbEMxTGtPbV9VV29NdVBzX1VqU2M3SDc3RTgwcmd2QmZCQTdaMkRQMmpWOFFRUmI2Q1RieEtpRkk5TFhmRlI3MjlFcURZVXVRRUk1ZDN0Y3liN3U4TzJlQnZfVGo5TzRPREx5Wjk3Z3BMdVZ3dUpVb3FqQVJnRU91U2lHdWwxaFJxYTl5NlZ0ZmpMNE5qajJJYjFsY2JyQS5OcXpkcGU4Yjdxc2MzQmpYRlhaWVpR" + }, + "api-version": "7.1" + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/KeyBackupRestoreTest/d7a019f5da8843aea30722a7edcc37f7", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "v6XXEveP0G4tVvtszozRrSSo6zYDOScH8YBVBBY1CR2MCXBk-iMnKgzUyePi9_ofP3AmOxXx-2AsLC8rxi6n3jQNbGtIvQ4oMdUEhWVcVkmwdl0XyOouofEmIHeSxRg6wXFG4tYAKLmKsO9HqmU5n7ebdDlYngcobc1xHsP0u8e0ltntlgWBlSthmY8AMKW9Sb_teEYhilbkvt_ALr00G_4XHmfq7hSOZePWbGSWQW6yC7__9MrlDfzaSlHyBIyLppPEB7u6Zewrl_eNJWoUVrouIGA32qNETIOr_wxXRVGKoerTt-wFC-CXPn30W_6CmKSxoFBNvnzijg5hAU9V0w", + "e": "AQAB" + }, + "attributes": { + "enabled": false, + "nbf": 1262332800, + "exp": 1893484800, + "created": 1493938217, + "updated": 1493938217, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreSecret-example.json new file mode 100644 index 000000000000..1aa3152c46cd --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/RestoreSecret-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1", + "parameters": { + "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmhERDdfVW9aU1ptR2JYN1dYUTU5WDkxZ0FQb05kdDcwZE1BbmgzbjQ3eWNjbkRNOU5vTm1hY0NHZmlNeUwxU0FlZDk0UjhBNDAtVE81TDNfQ05Qal9pdWIyaW03Z21nbHNPNnFFUVVIWU1tOEh2Wl9odFRrdEl4QzRPWEowYTB0S2hscnczZlBvVVFDZHVGcFg0ekEzYTR4VTZXTUNfYjZZVXZqUjZnSGM5TFRUR2tIazh1RTY0aVQ4cmt5RDRrU3RNcXhnU2lfRVZwUUdjWGdfNE9wQ1dBOUFha0N1NkpybGRaQW9BLUtXTWpQbGhaWHFYWGMyVkJlbUJjRTQ1YzY3QWhqYjJrSi1uQ1c5dHBjWS1JZ3JEUHFzWkswOS1WbHVtcl9SbzQzcG5FeW5jVFpTdzZlX1h6VnN0dUFOZHdiM0E2OVR1c1hfYkJKZ0J2SGQ4cDJSUS5WMTlhMVRacjZ2UjJHdEVaWGtOOXJRLmhwMU5IMmwtZklWbVgwWlNfTlRzekJfUEs1aktDUU5rSnJyRUhRQmZjQ2VjdHhmVU5uVlB6MVBqRWNDblZuV0pCUk4zTlFKZm01MjFLRHp1MzBIVUFEUGVmVHJyMFVFS2x5QTM2cThoWFY3VTdoQ0dHNk85NVpYclRsZlVENDI5RTNTNTQxdVBmWGpGR2cxbHlucFNTNnAtVkFzaXFlY1lpQWNuM1hhNzRhUm5xS3N3ZzhyU1ZOX09hSVU3ak1VVUhYZWY1ZmN0NlFrdWFfYkt6Z2dtR2ZiT2RTdVdNRmVQaF9mMkJMUFNGN3k1NThEMFZxSVlNY0JJR0dMU3BQUU93Q094OFF3Y3NVUEp4ZDFuWkVYYjRVNEJZYlhBcmFMX0NwekYxZlhYWVBsdmVUSGdKNVdrR28tWXNJVzAtT3ZqVGdLN2hIamxpR1psd29HOVUtbTJSVDZfbkhseHhVRFMyY3JseGNmay1OOTlXd0tEdUxFMTM5ZE1mN2RCSEl1aTdxd0RXdm1TN2JMTHYzM05Wd19XSl9DT1VGQjgycy1ELXk0UEdIRzVackhsSDgxa25mLVpRblU0SmZfY2lhMWhmWlY3ZFMxb21UZDQtNnJwZmpTMGxFT3VfZTQ5bUpYUGFpZ0hyLWFQYkFzTXJJQ2JvOUVIR2IzMXJ5SlR2QXF2ZmJDbU10bkdLUDV6aUNiZFh3SU5ONzBJTk5lZnJLWGZkZFBUd0RSV3d1ZkxCcGNlU0U0SG5EWVZVQmdkMDl4UUZidG12UDhhTXhhUlpGSTNpWG1fbmpCNmZfdlNhZUNUakdVYVVuRE1QQkdOQWQ5T2xVX3dvUnMtalNCVnVqd1FQSGlGcm5RWElkXzBRdXRYSm54cTU4aUtlTGJvNDJtOHgwaXBRcnB4aEZoUDdHNmZOWXAwVmxXR0RxZ1Q0VlpPQkZsZWRKUU0yaDQtb2xTbXdtUms0M0Y1cjdKd3h4aENqU1JReWx1MGEyQ0ZONWMyZjIxTElZaFliLWNReWFXMDNpV3hsb04zWld5cDJIb1FlUmZPR3lXUzBiU2NBT3JndGpBYnJaUFIwMGRRNnpSOHNBczFYUzh3dzBlaVczbFpsdjJwVWFxOVpTeVhnTS14b2NTOS1ueXRaWGtWWlUwX2dDVXJBV0ZKNG5XdW9oTGM1RkkyRWFQNWR0SXVWa3dnbXlsR1gtYk9ZeHp3dzVGYmI1V3VEbnJ5aDBMSnVic3Q4VXdLdnl3bk1jQ3duMjZSVTNxQVRudGJubVhJS0FyeGkwMldQVk9oTXdpUWZuX2h1TWk5emp3MEVuaXNWdktNWUNnR2xqNWlGZW5Tc0FKUXBiLUY4bng3OWFJQlJaTUc1a0huUDR5dGxmNm9FTkRsRXNJY21aeEtOdEIzcmJPdVROYUhLTXZBNmxSNzlMMDJZSTZrcEdrUUZnaHpIaTBjTWkwbFdCejRTM1AzUEMzZElZSVlQZ0Q2S05kT2FLWHkta0dWdUlsWFNmVlVrMnpzM0NBeTJhZEJjV0NMV094ZkRoQnlwNTl4MHpBRExvdnZySHRLOWF6TGN3N0lTbVl6eUhYMkpobVdReUYtTFd1VzhfcW41SkFVYlB5Z0RTRDYyMi1PTGZQVDZmc2VTWUVBUTFLVWRwZTFnSV9hZWxVT3FaRWN1aE5SckU1YUp0LTN5TEVLVWZIWXF6WTlGbHJrUE5MUC03Y2xRbmEySEhfZmMzZV9LTGtGUDFhQTJjM0RVaERseGhsTzB2bFVmV0c5eXpXaDNZN0NmRFlFMlBaUzZBcFBlYy0wa1NDcEVKMmtCcnFzWG4yeDJDX0FDdTdCTTVGZXNJQkN0M2NqSEdQSVVQRnEteGVmT0RCXzBQcXZDTXpBOHg5Zm10Ny1sNHhVQlJaa0dtZExhZFoxVzdFUXRNRVpsSWMtbDF1V1UzTU15cFZpVWR0OWxJUHVQVUEwc1NrbWxrTGhNSjgyNE5QN0hyVi01dC1ZNDcxaWVKMHdEUjFxMmU4MU8yazdNeTFlTDY3TlY4OVBHYU81SVR5WG1ueUVXMGtVbl9qa3l1UVRkV3dsS09HZVZIYkJWNFpxSXZHWjdQUS02TEE5eXc3a0dyZFRhVFZXOEdOOV9GY1c2VUhjbzA0U3dqTzY2S2x4VlFJWWpBdEZPZlBjWW5xNzF1RndyQS1UZHVDZG1sUFBHOVpjc2tiQmdrbF8wVk90dmhuc0pwYXZKZ2Zka0d3OF9qMkQzd0Jzemd0VndHNk9nNW16eVFwM2pFc0w3UmNtcXd6WFBOaDdKYXdHVDBJMlRvZHYyQ1Z3MDkzWjJlODFXR1NxRnlIejAxdjFBaGN2T2VWdmFjUGM2Y1JJaVduNW93ZF80d2FBdjlyNjVVdmtWa1FLRXpHUmo5eTZILXdZTTMyV1JyMzBlOU9MRTNKUU5POV9kNjRTRmIwSjZHa2VxUmtnNkVXc2xqN1JYLVU1VlhrS1BtMzNpS3c5dGU2NVBqQUNnZThRVDBYVWZEaUx5a1pGeUdpZ09ZMS1TVDFxUlE1eUhMTXhEc3BPRjFXd1lMQ2c2b3hocTlWMm55Z0U1cUJ2ZnYyWUtFaDdjM1dWNjJrYkw3UXJ2d0xkMHVRZ1FwYmUza3E3dGJzcC1lNWlud3cyY0YxQzByeHNScGZJRHlJMmg4b2xHMi1RQUZkWmtlMUlmaE1FZmNfdUdXX2pqSGJSWXVzYnZCRnpKMDdaOVJsVnFMR1A2WXBnTDFsRTFOY09xUVJyYVdxckdDTWZ6SzZMVENQSl93aHJRam9WTzdVRDJIUEVnUjZ2S3U3cWlmTmo3UjE5OUJuRi1EZmlnbk1TYTFKZkZadDNuVXVZOEhMUXRoUzN4MUMxOE50d3dsaDVuNGxYS3d5MERHenljbVNweE05QkdPNTFRckFmSXRfY0xHbUlzMlJ4MzMyeDRIdEZ3Z05nRzFBazNIUno4TlJ4V3lhNWhjb1NoYURXekhES2gyOVp3Vm4wYXVzeWJpal9uNlFGcnZZbjRSOHdPNlRQV3FrS09JcHkxc1lQNWxyNDc1anZSRVZGaFdCWDBiUXdJdnNlM0Q0a0dFQzgzU3FWYkhxY3phZTNwOFNxaG5tQW5ZYzBIbWp4clJfZUMzT0hYVFBGUFZmNDlVWHdrQjIwY1lvcjJ1dzBaTzJ2TUg3S1QwcjBSWDBQVy1qcGpORFpjSGRSNVVCMXFacGlWLWxaYkw0eF9IZW14aWUxY0RPOHNQSXhIOElUSWtOV0tTR1N2eWdraHBBbGl2RzVEZXJObElkeFE2c0tHQ3RtMDEyT2xjN2thaVFaNHh0TjR5ZVpPU2xyS0s0OTlIcWhObzhkNTNsbFFfMW5ncWlHbzhUSDlzWkFrclYwclc3dkJOSF92UlhBdTc2MnlpZGhZUURYYXJXSEFUMm9DU2hEN1lOdnotekoyZGtEajJMcW5CdFNCWFh5T2xsM3o0ZWFITDd2MDZ1QTgxMVBKQU5YZUdoenNaNFVQQUQ2Q0E4cGlxSHB4WGkxODRHNEJETVU4S2VHeHZLWnJiUlNOT2pTOFNrQUJKZERfSklIZ1RhNEFhNzdPUmNZcVY3OWZ5djFZVHNma2lLR2NUYzZIUjZzUVpsamt2U0NQNjdtTTRGUHRqTHlfX1pDQlNwdnRSVWd5UlpNM1dSOUViNHkxa29uRG4zUjMzN2lpSzdfbGtIa1UtZ21VbUpZUVdnUjYzT01pZUdRUHdNR3BSZXlRWE5yckJVTDN2Z2JYdjlac1ZDcDh1NHRwQjBleXJvUXgxZC1KSWJvOWVyR1VlX0ZzU1Fpd0tIaGFIUk02Nzh5dENkcHJFbDBWeG92TFVrX0xNcTFjN1R4MG5jbFl2WE4yUjhEMXNhU2FibkJSd19CU2tZMFNMSXdhb2RpY2o2ZzdLd0ZfMXB2eThhNF9LbnJNLUNkenBvdHA0aTd4QUJuY2JRVUEwWkpsYlp1elRpR0F4ZjFnclk1Z0dZOTVoWi1XZG1lOWlSazBHRTJGN3d4MlJyLUVvS3lZRjNjak0xMWt6MWFmME9fNFdyOXJoU3JrX1NHU3l2a3ZCTW9NZ0xOX0tSS1BlTjlqUnpwRlVST2VnN2NCbGlhdy1odnZhY2lCeDN2UWRqTE5jTldQdU1UbzVmME1QbmU4TUtXcFBoWjBySElMaEVuYW1pcG82X3pzNjczcE9ma09FS0JWWE9mUDEzR0UwS25SWTBab2JPLWRub254LVdBY1dodFZvX08xbkwwTWE5ZXFMMURhRGhJU0JNbVRIM1hkY2dDTnF0emIwcVMtS1l5Mk9zRzZOakRDVEM1aEI3MXIwU09WMUprNFV2QjdYemxTTW9YUXJnTzF2ZFVwSGtxaVhUM1RJZmlQMWRKcDEweDlSMlp5R0lzUzljQUtNMEZyMGRxQmJmQy16NTJpcWZweW4zUVVqb1Fld2hPYnJwUEZGOF9lUmVNRlIwSXZjUkxnMHpwek56UzU1N1pkQkZhemxNTThLcnkwN2QyUDAyTnZtclUtN1ZjOW8wZm1qem9WOHVVTG9PMkJHdmFRdnFJNmtBTmQ5VWo1X2JkY2NVUzBhcklzcGFZa1UtUXQtNnQxYU5YUUdGZEtUbFMwSVowek54bkNIZWRySEE4SkYtOFg3d1ZpRW1McXJQbU1Sd25sbWx3SnhxLVlReWMydmdUallSbUxCVU5TS3VrZkJsa2VnMmlCRWdySksxVlNyRWswX0ZvOXkzV1EwVlZuNXhEZXlGc1JuWDI4Tkl6alFQLVNXaHhYbzdPYm5YY1cxZHlWNE1fYjdzM096cEMwOTJWcGZYQkpaTDhBeHgxNGY2TmJzTEpXLW95VEdsaTJFb2FCZHJKQ2JkQlNOdWJlbGdRRmU2V2hqSjRGdlNrYVJISjFTT3ltbGFtQmYwaVNDOGM2X1g2SkZORjNmOXYuQjc5SDJvbVIyTU52SndydHVzclJ4UQ" + } + }, + "responses": { + "200": { + "body": { + "contentType": "text", + "id": "https://myvault.vault.azure.net/secrets/SecretBackupRestoreTest/01ddd6e3a0d34d35bb5bccecb1251837", + "attributes": { + "enabled": true, + "nbf": 1262332800, + "exp": 1893484800, + "created": 1493938113, + "updated": 1493938113, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetCertificateContacts-example.json new file mode 100644 index 000000000000..4260798ad794 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetCertificateContacts-example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1", + "contacts": { + "contacts": [ + { + "email": "admin@contoso.com", + "name": "John Doe", + "phone": "1111111111" + }, + { + "email": "admin@contoso2.com", + "name": "Johnathan Doeman", + "phone": "2222222222" + } + ] + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/contacts", + "contacts": [ + { + "email": "admin@contoso.com", + "name": "John Doe", + "phone": "1111111111" + }, + { + "email": "admin@contoso2.com", + "name": "Johnathan Doeman", + "phone": "2222222222" + } + ] + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetCertificateIssuer-example.json new file mode 100644 index 000000000000..cf3852939482 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetCertificateIssuer-example.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "issuer-name": "issuer01", + "api-version": "7.1", + "parameter": { + "provider": "Test", + "credentials": { + "account_id": "keyvaultuser", + "pwd": "password" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test", + "credentials": { + "account_id": "keyvaultuser" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + }, + "attributes": { + "enabled": true, + "created": 1482188806, + "updated": 1482189526 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetSecret-example.json new file mode 100644 index 000000000000..6835efccc6b8 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/SetSecret-example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "crpsecret", + "api-version": "7.1", + "parameters": { + "value": "mysecretvalue" + } + }, + "responses": { + "200": { + "body": { + "value": "mysecretvalue", + "id": "https://myvault.vault.azure.net/secrets/crpsecret/03bcccc7c8cf4546a0e3e21e52560441", + "attributes": { + "enabled": true, + "created": 1493938459, + "updated": 1493938459, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificate-example.json new file mode 100644 index 000000000000..861f503c8e91 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificate-example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "updateCert01", + "certificate-version": "c3d31d7b36c942ad83ef36fc0785a4fc", + "api-version": "7.1", + "parameters": { + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799 + }, + "tags": { + "department": "KeyVaultTest" + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc", + "kid": "https://myvault.vault.azure.net/keys/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc", + "sid": "https://myvault.vault.azure.net/secrets/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482188981, + "updated": 1482188981 + }, + "tags": { + "department": "KeyVaultTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificateIssuer-example.json new file mode 100644 index 000000000000..85e29bf4d33e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificateIssuer-example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "issuer-name": "issuer01", + "api-version": "7.1", + "parameter": { + "provider": "Test", + "credentials": { + "account_id": "newuseraccount", + "pwd": "newpassword" + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test", + "credentials": { + "account_id": "newuseraccount" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + }, + "attributes": { + "enabled": true, + "created": 1482188806, + "updated": 1482189526 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificateOperation-example.json new file mode 100644 index 000000000000..9530d9942baf --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificateOperation-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "cancellationRequestedCert01", + "api-version": "7.1", + "certificateOperation": { + "cancellation_requested": true + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/cancellationRequestedCert01/pending", + "issuer": { + "name": "issuer02" + }, + "csr": "MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxxM2zqnPtpH8aiHX5TdEoZLO0Y6fsjk9QcjKgnHomrwUc9vK20UYYEPKt9aGOT7HNx0do8OulPCnLPrKowci8UHu1qRW/qHvsOJQ/UrQoMCHxtXptVc7Avx8WQb045sCdgp/Cl4xO8LMZa70kE4dghZU9zmNZk8wqDIxyYdh1lqqfGe49EWOxcfszTeeKs8KCsQznjExbsudBHLLWoX4VFTGMe3VcIPcV6iFf70buHKznDMXFiRC0IYwkc/GyWIadB1CSEae8k/0evsPI5lYYZLaO/kLffEUtzysqxZNCQR+S0eVPTGTLHa+fndnPPs65XZDzSZi2fZL01oXUfCAQQIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKto/ZF9+02fQ3sLuIsRuap/O/AZz3IhAubNfyCaWvVGVAQz/Aqpf5c/liyKhxqRG6LR9Zu50oxRK5222ezR+56vJikjdXRVShf2xYsMm1CbCM1JuzsnkTeoUHHE12xx1srH/9TH+DVZIk6NXxc4wVIagbpwxiS5gR3Nly5k0ZVv7R1B79J0GUqSwK6qjuooWrBsYMEx319hz8fB/Y4jnPE8p+Cnn3AGEqnebVngXncq/QnHxnrRVfvKFVySqRvlsvM8buILmBbIaywEUqwhNtZX2i9E7reEJ8aeZcf+lAeKF3YDvffaXGTc75aiZlBk30Lv/hn0vs9T0/FedUnIae4=", + "cancellation_requested": true, + "status": "inProgress", + "status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.", + "request_id": "3dd81d528cc84c5a837c607f1a50f2e1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificatePolicy-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificatePolicy-example.json new file mode 100644 index 000000000000..f2367b1bc68b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateCertificatePolicy-example.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "updateCert01", + "api-version": "7.1", + "certificatePolicy": { + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Self" + }, + "attributes": { + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/updateCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Self" + }, + "attributes": { + "enabled": true, + "created": 1482188947, + "updated": 1482188948 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateKey-example.json new file mode 100644 index 000000000000..bec794459892 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateKey-example.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "UpdateKeyAttributesTest", + "key-version": "3d31e6e5c4c14eaf9be8d42c00225088", + "api-version": "7.1", + "parameters": { + "key_ops": [ + "decrypt", + "encrypt" + ], + "attributes": { + "enabled": false, + "nbf": 631180800, + "exp": 662716800 + } + } + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/UpdateKeyAttributesTest/3d31e6e5c4c14eaf9be8d42c00225088", + "kty": "RSA", + "key_ops": [ + "decrypt", + "encrypt" + ], + "n": "tHCSyq1FqGHXIFHs1m4riKYgPFNSTlJGPzxwfUyZJUxxZsFWMxmZRzbM3kcXC5N40AJfeqDOMs0gY0LZEfhw8kJHBf2GEH2Sz923E4OQjLk_ECdAiKPW_8t22cqD_pGIuB7uibjLZgFFRv7oe0t8cTXKn7IwAH5gQBLs8NNV7hx1Ozy82ekCgOovFldmD3c3P1oZQ_v_-jOP6O202aEfDcZut42J6zI8eYwvGiDKmo2fCPPeth1LYBOeUMnrEZGT_f_w3yAgqvuSkHCL0x4MjZzc2EoNI_3ooAHZohDaPHLRfz8neDPADZzbHA6SDn3GgvC1K_Je5GBmqjTH3aIMlw", + "e": "AQAB" + }, + "attributes": { + "enabled": false, + "nbf": 631180800, + "exp": 662716800, + "created": 1493860275, + "updated": 1493860277, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateSecret-example.json new file mode 100644 index 000000000000..2c685f85ba9e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/UpdateSecret-example.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "crpsecret", + "secret-version": "03bcccc7c8cf4546a0e3e21e52560441", + "api-version": "7.1", + "parameters": { + "tags": { + "mytag": "myvalue" + }, + "contentType": "myContentType", + "attributes": { + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/secrets/crpsecret/03bcccc7c8cf4546a0e3e21e52560441", + "contentType": "myContentType", + "attributes": { + "enabled": true, + "created": 1493938459, + "updated": 1493938459, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "mytag": "myvalue" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/backupStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/backupStorageAccount.json new file mode 100644 index 000000000000..2775a680dd2a --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/backupStorageAccount.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "backupStrg01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLk1JeFMyLXh0eHAxekpaZ3ZrTUY3d2pGMWxiLVJyNWFrbHFMLXpBaVVOODJKZFJNUDFwak5iS0phRktIOXBRcDg4ODBKeERDSmdESUZHc19OOGlnYmdIZ0Q1c0xVMi1pRzdKM29Hc00taFRMb05oaUd6aGY1YVREakYzWjZpZVhxcFMzVFVOVUFkeFhpTkpIYk94YjBmWHNtcWFtNnA0dXJ3Yzl3Qnk1c2pwRnJheHNRM3NRcHBDLXZybXlVZExaelJIWS0xYnhwaFQxVUdiS0Zsd1dSODU5TmFSQ1BZOFhDWUVrX0hxNnc5S0lWSXRTTlRYYWYxUWFzUDJob0NHT19PMzkzVUNzWGp0NzRtOURqdi1vTHRoMUl6TU5sSWp0STg2MTRhTGs0RTFMUXd6ZUx2X2Y1cndKeXJOWkF1c3VWRlRieFp1Zzh6T3BfYTdCOGhGSEJyQS5rc3pPdTN3blllb1ZUUjRLc2dqMUxBLmYyY3huVE1BbU13Ty1RcmdHSUFYUFN2bEdZUDRYWmJvMFVFOGxtY2xZa3ZhRE5ab3E0Wm41MVNKTDNuUFZsVnBaRFlrUmlpd05BSUxvRS12QWtVbmZoLUczOWo3RHhqWm1zZW02bXBmOWxoZjBnZFFNTDdmejBqRDZ0dW1xSVFaWUhFalV3VG5xdDloeEw5N0lnUUV0WmtFV0VnUEJETnJJNFpYWXdNU2ZyR0FfdkgzYXU1MWpabDFTWjlGajJsTHpEblNqbFd0U05QSzc3X2RwbUxrTXNCSmMtamRteUpxYmVxdmdRcGFTSUNsOXpUUXFQM2RxN1VQV2c1R1ZDNmlNZjlTcnBoUVRKX1V2bnp4LWk4ZWR6ZUppd2hYNW9HQ043RDNDWjkxTzNLQkhmYklOX1VvQWlQVWxzazFveU9KOEVjMk5mbHhOaFlrNFRKUTFBN2xnbXlLRlNQeVMyaFlwUDA2VEpTb0JUenVTQk5OTVdmT0RaTDFfV3V5eThJcDktdlVHMW5JOENDQ1hIeEVVN2FVLW5nRVR5aFBfbWt3Q2FGLWx2WTNqZlV1Z29wSllLR3VscXZadk1VZHhLYU1oemR2a05ubFdGeXlJNXdiRUdZcWgzWEJ0MS11TThrOFZVTDdQallzVUt4S1dYbzBMblJPZmFTbTZpTm9ZTmFOTm5YbF9fVW9rd05fSWM0eVVYR3RuMFhUcTZ4anQwZUpEajlET3FyYmdiLTZoclltRmxLTUNqalVxSGtLU1VPaHVYSE9jOFdFa0JEM1hiR29idi03b3c0c0gyN0YxbHh2UVh0OVgtOUl1akN5dHBMYmt6YnJVdHZJT2puY19xTUNjMXFFTG1wZHJCTGFoMzVmWHZQZXotVk9zSXBNOGdsekhWUUgyWWZHU0UwaTJqVkxpVllkZlFHeDNwdTZPamdUc1hPUm5acldlbFExMVlNbUJkWlVqWFNlZkVlQkxuT1lBbUNtYWM0dHNTa2JHTXZzQm92OWNEc1NRLWlsQUhsT1Fsanp3Umt1bnIxdk1ITlFhRDJLUEE5eGxxZ2NKU3FGT3d3RzROSzBxamhyb0NoZDFxM2RHR2V3U2tTd2xZbW44ZlM0VEJ5VjFMYmtWb2NZZHpiWDhiZG54dHRhVDhKS0pUbjJETWxjVFpvR1hFbWQzN2ZZVnlaNm5uMXdxZExtVW9XLW5OQXc3T3RLV3hyMXJUNV9qOHZjRGhTWk1HdTF6aV81NDEyVTRLcG01dlQ3c3BpWXA4aDl3Rk5scmFjYnVjZGVlaS1zMWR6cDlqWGo2NjRuWWxoYzNjOHJubjJ4ZWlna09YLTNUSWxnbmdxeXpJWG5ROHU0dTc5TC1ObXk1VFNjLU4wTnJVTUxQVE51MnhsUlE4Y0VLT0h4QkJGQV80Nk1yVXlhbjUwODFMSlYtTVVyaXAycl9tS3FJRjJET2wxS2V1aGg5am9PeFVybUk0T19MYkduVjJTbUdoZEZSd3FxUS15U2pxcFE2OFBza3hlQmxTdDZnX28tLVl6Qkg3dDI4V3ZYYzdIT3paNFBwa0psTjVmWFRwOXgtOGNuTGptcG5Pc2hUZWxTUXRYaDMwcTU3LXJZbVJzc2t2cFZfaTZFX2JUMTk2VWtTOHo2WUp1QXh3LXdlZ2tPY1ZITUxkeW5vaDU2UUtuWDhMVFdHdjhqWWNQazlaSlNSbXljTExOcWNtRnpUU1JEbzBXMXBkQVJXY2tqRFM2VFZIdTlHSElsTG9oRnpONEU1T3FqdUMxRjEwSFZjUGxoNTc5UmczWk1SNWJoVjltSEZNOFhJZU9HTHAxZFkxbnNLY2dqRVVlUW5qcF9za0RzanJZMVVncXRkTTVNVWhNSHlEZlhaZ3libk1jSDVRaml0YjdWZktrQk1YcGRwU3pLQWx0WDNjelIwODRPVm5nVGtiV2JZQURDTUQ2N1dlLWM1ZDFONHI2WFdFb2RXelNyWlhyZmc0RVRNNG1UZnV3ZjB0d3NORkRJdW5BWDkwbnZJWm1Ualo2RktpTjBiRnVNWmRpR1NKNTZNUEZMcFd3N3p0dmVmN0xENmhjNHJESXBQbEkwTVlVWTJSLWZGakdaZ29JTmdKMkVuMGFFM0c1V1RySjRxcHhhdHB4MVk3ZUgzOUk3WTYzcEJFWEtkRWIwTmstM0tnM0ljbDJPSkp6SU1fM1VHSlJTTmRQWGlfV3ViNGRTMDV4eURzZTR0d1FXdm9rb1QybHlZNGphNlVOc3lvYWN1eGFsTUZvUFR5dHF4YlVTaXFIMEZab0pWcm84amZja2wyYklmSzRqRzN6TnJIOWU1c3VUVWJDV09wYjczeFNMMG9TLVQ0T1JSNnBRbTZHQk05bFJ0eUhtMHJUMy1sNXc0c2ItNnRDcTM4S3FRdURRTGVTcDI1Rk8zMU1uVE5nTFlUeEUwUEZDT3hmRG1RY3BOOFRoWHBGbzZLNHNrd0dmQkpKTU9BTWtIUWZnMUM0c0V5cS1PLS1FWFhjbVV6QjJGRnR4c1gwR3o0aGJSdTFiUlhXcWMxU0IyUk82d0JsWGdPUmJqZjJlLWJQUFFMdmtGcWR3bFpUTE1kaWVUdjQyQmd1SFd3dzI5OEVqcnNNUXg1WG9aRG11MDFRTzlZSjFmTEYtWjkwWEVOU2p5OTM0M3UyUHhrNjhheG10bnp2ZTdwd3Q3Z0ZMMUoxZlZEd3BqMUtBZDdwdGZoWG4yUzJmT1Bfc3JOM3QxNk1qX29qOUVLQm5VNC1jQ3RLWGRkZS1EWk5zQkNhSGZ1bEtHSkFHYmx1UWs2Yi1kQk5oUS05Z19kajdfcjZub2Z2aDRielEybGlQd1E3M1RTazNiQTdzd2EzclZ5ZTVDTVNlOVotNkVKV1phek1sN0w4VUJ3cFllN0J0eHhUNEVBVGo2SXBvYWhGNTgtRHpiMmRsc1c1ZDZIWmpYZUNMTGtVRmQ5Mll3eDBibFlCanc4eTVzM040OEJMME84WG51ak42c0F0eG04Sm9hWXFVUUd3LXNBS1pTZHAzNk1GNlZXYkpUcHBoZHQ2aEhWQjFoRzdpSGN1STBTRzY0WjczNXEzZ0tSYXFHdzhIUXItSWNyeks0VEQwenk5b01NMHpRLVFBSE1PdzAyX0ozU3pVQWZ1bzFWNU42ajB0VGsyeEt0TFp3cmlHOHJNRl9NWTJrN09mdkxqNFlCb3VNN2lBNVM4LnNfM0VabFhIb1lrV283ZzdpRUp1bHc" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/decrypt-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/decrypt-example.json new file mode 100644 index 000000000000..a51342ba560b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/decrypt-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "sdktestkey", + "key-version": "4eb68492b5f6421e835d961ad2be3155", + "api-version": "7.1", + "parameters": { + "alg": "RSA-OAEP", + "value": "sid-4nG3FzRIFWXLXlG-FZo6H1-kzbNX5Exe0_VRqcGLuJWjI9oSofsn-2IagDsQzkpNAXv9V8aoIizelrK_14darhxaAV8OejO7Oh7spjxa7IxMVS3e-cwcLdEHzMbMfM1uFpDyRFqEUASHI0H8F1M2m1e9TUSXOVW3KMqm7cK94ZQMFvd4AYdLfmfnStMp_MqIQh4kpIkB6h2b1M3possVrLKH_l2L3uT-qFiwQlH9-dt0Cje5mrkpsYCy4hAXNFUPhIyBWAZwOQylIE2sPuopFs55lRIHpWP2CqNe-IK8tX87BRuJ_Vy3GIFxDjD5uu74scIyQCKMImB6xQ_-mQ" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey/4eb68492b5f6421e835d961ad2be3155", + "value": "dvDmrSBpjRjtYg" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/deleteStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/deleteStorageAccount.json new file mode 100644 index 000000000000..1e557603567d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/deleteStorageAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "deleteStrg01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/deleteStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/deleteStrg01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/deleteStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/deleteStorageSasDefinition.json new file mode 100644 index 000000000000..116dd63fbac1 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/deleteStorageSasDefinition.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "deletesas01", + "sas-definition-name": "deleteStrgSasDef01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/deletesas01/sas/deleteStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/deletesas01-deleteStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/deletesas01/sas/deleteStrgSasDef01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/encrypt-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/encrypt-example.json new file mode 100644 index 000000000000..aa8747c60c0d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/encrypt-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "sdktestkey", + "key-version": "f6bc1f3d37c14b2bb1a2ebb4b24e9535", + "api-version": "7.1", + "parameters": { + "alg": "RSA1_5", + "value": "5ka5IVsnGrzufA" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey/f6bc1f3d37c14b2bb1a2ebb4b24e9535", + "value": "CR0Hk0z72oOit5TxObqRpo-WFGZkb5BeN1C0xJFKHxzdDCESYPCNB-OkiWVAnMcSyu6g2aC8riVRRxY5MC2CWKj-CJ_SMke5X2kTi5yi4hJ5vuOLzmg_M6Bmqib7LsI-TeJHr9rs3-tZaSCdZ2zICeFWYduWV5rPjTnAD98epTorT8AA1zMaYHMIhKpmttcj18-dHr0E0T55dgRtsjK04uC3FlRd3odl4RhO1UHAmYpDd5FUqN-20R0dK0Zk8F8sOtThLhEmuLvqPHOCUBiGUhHA4nRDq1La4SUbThu2KMQJL6BbxxEymuliaYcNNtW7MxgVOf6V3mFxVNRY622i9g" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getDeletedStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getDeletedStorageAccount.json new file mode 100644 index 000000000000..1e557603567d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getDeletedStorageAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "deleteStrg01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/deleteStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/deleteStrg01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getDeletedStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getDeletedStorageSasDefinition.json new file mode 100644 index 000000000000..116dd63fbac1 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getDeletedStorageSasDefinition.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "deletesas01", + "sas-definition-name": "deleteStrgSasDef01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/deletesas01/sas/deleteStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/deletesas01-deleteStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/deletesas01/sas/deleteStrgSasDef01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getStorageAccount.json new file mode 100644 index 000000000000..113f3ec74efb --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getStorageAccount.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "readStrg01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/readStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getStorageSasDefinition.json new file mode 100644 index 000000000000..256d6bbed0f7 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/getStorageSasDefinition.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "getsas01", + "sas-definition-name": "getStrgSasDef01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/getsas01/sas/getStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/getsas01-getStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listDeletedStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listDeletedStorageAccount.json new file mode 100644 index 000000000000..c9ef218cd891 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listDeletedStorageAccount.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/storage/listDeletedStorage01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc1", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/listDeletedStorage01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + }, + { + "id": "https://myvault.vault.azure.net/storage/listDeletedStorage02", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc2", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/listDeletedStorage02", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag3": "val3", + "tag4": "val4" + } + } + ], + "nextLink": "https://{BaseUri}/storage?api-version=7.1&%24skiptoken=" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listDeletedStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listDeletedStorageSasDefinition.json new file mode 100644 index 000000000000..bdd30e6dab0d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listDeletedStorageSasDefinition.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "listsas01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/storage/listsas01/sas/listDeletedSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/listsas01-listDeletedSasDef01", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/listsas01/sas/listDeletedSasDef01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + }, + { + "id": "https://myvault.vault.azure.net/storage/listsas01/sas/listDeletedSasDef02", + "sid": "https://myvault.vault.azure.net/secrets/listsas01-listDeletedSasDef02", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/listsas01/sas/listDeletedSasDef02", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + ], + "nextLink": "https://{BaseUri}/deletedstorage/listsas01/sas?api-version=7.1&%24skiptoken=" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listStorageAccount.json new file mode 100644 index 000000000000..15dcc98e88aa --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listStorageAccount.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/storage/listStorage01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc1", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + }, + { + "id": "https://myvault.vault.azure.net/storage/listStorage02", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc2", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag3": "val3", + "tag4": "val4" + } + } + ], + "nextLink": "https://{BaseUri}/storage?api-version=7.1&%24skiptoken=" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listStorageSasDefinition.json new file mode 100644 index 000000000000..d38a475b2dee --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/listStorageSasDefinition.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "listsas01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/storage/listsas01/sas/listStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/listsas01-listStrgSasDef01", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + }, + { + "id": "https://myvault.vault.azure.net/storage/listsas01/sas/listStrgSasDef02", + "sid": "https://myvault.vault.azure.net/secrets/listsas01-listStrgSasDef02", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + ], + "nextLink": "https://{BaseUri}/storage/listsas01/sas?api-version=7.1&%24skiptoken=" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/purgeStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/purgeStorageAccount.json new file mode 100644 index 000000000000..d0dff7f5194e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/purgeStorageAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "purgeStrg01", + "api-version": "7.1" + }, + "responses": { + "204": { + "headers": {} + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/recoverStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/recoverStorageAccount.json new file mode 100644 index 000000000000..e9d8f62481cf --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/recoverStorageAccount.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "recoverStrg01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/recoverStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/recoverStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/recoverStorageSasDefinition.json new file mode 100644 index 000000000000..67c05a3d1f0f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/recoverStorageSasDefinition.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "recoversas01", + "sas-definition-name": "recoverStrgSasDef01", + "api-version": "7.1" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/recoversas01/sas/recoverStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/recoversas01-recoverStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/regenerateStorageAccountKey.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/regenerateStorageAccountKey.json new file mode 100644 index 000000000000..4ae10e56b9bc --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/regenerateStorageAccountKey.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "regenerateKey01", + "api-version": "7.1", + "parameters": { + "keyName": "key2" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/regenerateKey01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key2", + "autoRegenerateKey": true, + "regenerationPeriod": "P10D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/restoreStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/restoreStorageAccount.json new file mode 100644 index 000000000000..07b460cb9971 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/restoreStorageAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "readStrg01", + "api-version": "7.1", + "parameters": { + "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLk1JeFMyLXh0eHAxekpaZ3ZrTUY3d2pGMWxiLVJyNWFrbHFMLXpBaVVOODJKZFJNUDFwak5iS0phRktIOXBRcDg4ODBKeERDSmdESUZHc19OOGlnYmdIZ0Q1c0xVMi1pRzdKM29Hc00taFRMb05oaUd6aGY1YVREakYzWjZpZVhxcFMzVFVOVUFkeFhpTkpIYk94YjBmWHNtcWFtNnA0dXJ3Yzl3Qnk1c2pwRnJheHNRM3NRcHBDLXZybXlVZExaelJIWS0xYnhwaFQxVUdiS0Zsd1dSODU5TmFSQ1BZOFhDWUVrX0hxNnc5S0lWSXRTTlRYYWYxUWFzUDJob0NHT19PMzkzVUNzWGp0NzRtOURqdi1vTHRoMUl6TU5sSWp0STg2MTRhTGs0RTFMUXd6ZUx2X2Y1cndKeXJOWkF1c3VWRlRieFp1Zzh6T3BfYTdCOGhGSEJyQS5rc3pPdTN3blllb1ZUUjRLc2dqMUxBLmYyY3huVE1BbU13Ty1RcmdHSUFYUFN2bEdZUDRYWmJvMFVFOGxtY2xZa3ZhRE5ab3E0Wm41MVNKTDNuUFZsVnBaRFlrUmlpd05BSUxvRS12QWtVbmZoLUczOWo3RHhqWm1zZW02bXBmOWxoZjBnZFFNTDdmejBqRDZ0dW1xSVFaWUhFalV3VG5xdDloeEw5N0lnUUV0WmtFV0VnUEJETnJJNFpYWXdNU2ZyR0FfdkgzYXU1MWpabDFTWjlGajJsTHpEblNqbFd0U05QSzc3X2RwbUxrTXNCSmMtamRteUpxYmVxdmdRcGFTSUNsOXpUUXFQM2RxN1VQV2c1R1ZDNmlNZjlTcnBoUVRKX1V2bnp4LWk4ZWR6ZUppd2hYNW9HQ043RDNDWjkxTzNLQkhmYklOX1VvQWlQVWxzazFveU9KOEVjMk5mbHhOaFlrNFRKUTFBN2xnbXlLRlNQeVMyaFlwUDA2VEpTb0JUenVTQk5OTVdmT0RaTDFfV3V5eThJcDktdlVHMW5JOENDQ1hIeEVVN2FVLW5nRVR5aFBfbWt3Q2FGLWx2WTNqZlV1Z29wSllLR3VscXZadk1VZHhLYU1oemR2a05ubFdGeXlJNXdiRUdZcWgzWEJ0MS11TThrOFZVTDdQallzVUt4S1dYbzBMblJPZmFTbTZpTm9ZTmFOTm5YbF9fVW9rd05fSWM0eVVYR3RuMFhUcTZ4anQwZUpEajlET3FyYmdiLTZoclltRmxLTUNqalVxSGtLU1VPaHVYSE9jOFdFa0JEM1hiR29idi03b3c0c0gyN0YxbHh2UVh0OVgtOUl1akN5dHBMYmt6YnJVdHZJT2puY19xTUNjMXFFTG1wZHJCTGFoMzVmWHZQZXotVk9zSXBNOGdsekhWUUgyWWZHU0UwaTJqVkxpVllkZlFHeDNwdTZPamdUc1hPUm5acldlbFExMVlNbUJkWlVqWFNlZkVlQkxuT1lBbUNtYWM0dHNTa2JHTXZzQm92OWNEc1NRLWlsQUhsT1Fsanp3Umt1bnIxdk1ITlFhRDJLUEE5eGxxZ2NKU3FGT3d3RzROSzBxamhyb0NoZDFxM2RHR2V3U2tTd2xZbW44ZlM0VEJ5VjFMYmtWb2NZZHpiWDhiZG54dHRhVDhKS0pUbjJETWxjVFpvR1hFbWQzN2ZZVnlaNm5uMXdxZExtVW9XLW5OQXc3T3RLV3hyMXJUNV9qOHZjRGhTWk1HdTF6aV81NDEyVTRLcG01dlQ3c3BpWXA4aDl3Rk5scmFjYnVjZGVlaS1zMWR6cDlqWGo2NjRuWWxoYzNjOHJubjJ4ZWlna09YLTNUSWxnbmdxeXpJWG5ROHU0dTc5TC1ObXk1VFNjLU4wTnJVTUxQVE51MnhsUlE4Y0VLT0h4QkJGQV80Nk1yVXlhbjUwODFMSlYtTVVyaXAycl9tS3FJRjJET2wxS2V1aGg5am9PeFVybUk0T19MYkduVjJTbUdoZEZSd3FxUS15U2pxcFE2OFBza3hlQmxTdDZnX28tLVl6Qkg3dDI4V3ZYYzdIT3paNFBwa0psTjVmWFRwOXgtOGNuTGptcG5Pc2hUZWxTUXRYaDMwcTU3LXJZbVJzc2t2cFZfaTZFX2JUMTk2VWtTOHo2WUp1QXh3LXdlZ2tPY1ZITUxkeW5vaDU2UUtuWDhMVFdHdjhqWWNQazlaSlNSbXljTExOcWNtRnpUU1JEbzBXMXBkQVJXY2tqRFM2VFZIdTlHSElsTG9oRnpONEU1T3FqdUMxRjEwSFZjUGxoNTc5UmczWk1SNWJoVjltSEZNOFhJZU9HTHAxZFkxbnNLY2dqRVVlUW5qcF9za0RzanJZMVVncXRkTTVNVWhNSHlEZlhaZ3libk1jSDVRaml0YjdWZktrQk1YcGRwU3pLQWx0WDNjelIwODRPVm5nVGtiV2JZQURDTUQ2N1dlLWM1ZDFONHI2WFdFb2RXelNyWlhyZmc0RVRNNG1UZnV3ZjB0d3NORkRJdW5BWDkwbnZJWm1Ualo2RktpTjBiRnVNWmRpR1NKNTZNUEZMcFd3N3p0dmVmN0xENmhjNHJESXBQbEkwTVlVWTJSLWZGakdaZ29JTmdKMkVuMGFFM0c1V1RySjRxcHhhdHB4MVk3ZUgzOUk3WTYzcEJFWEtkRWIwTmstM0tnM0ljbDJPSkp6SU1fM1VHSlJTTmRQWGlfV3ViNGRTMDV4eURzZTR0d1FXdm9rb1QybHlZNGphNlVOc3lvYWN1eGFsTUZvUFR5dHF4YlVTaXFIMEZab0pWcm84amZja2wyYklmSzRqRzN6TnJIOWU1c3VUVWJDV09wYjczeFNMMG9TLVQ0T1JSNnBRbTZHQk05bFJ0eUhtMHJUMy1sNXc0c2ItNnRDcTM4S3FRdURRTGVTcDI1Rk8zMU1uVE5nTFlUeEUwUEZDT3hmRG1RY3BOOFRoWHBGbzZLNHNrd0dmQkpKTU9BTWtIUWZnMUM0c0V5cS1PLS1FWFhjbVV6QjJGRnR4c1gwR3o0aGJSdTFiUlhXcWMxU0IyUk82d0JsWGdPUmJqZjJlLWJQUFFMdmtGcWR3bFpUTE1kaWVUdjQyQmd1SFd3dzI5OEVqcnNNUXg1WG9aRG11MDFRTzlZSjFmTEYtWjkwWEVOU2p5OTM0M3UyUHhrNjhheG10bnp2ZTdwd3Q3Z0ZMMUoxZlZEd3BqMUtBZDdwdGZoWG4yUzJmT1Bfc3JOM3QxNk1qX29qOUVLQm5VNC1jQ3RLWGRkZS1EWk5zQkNhSGZ1bEtHSkFHYmx1UWs2Yi1kQk5oUS05Z19kajdfcjZub2Z2aDRielEybGlQd1E3M1RTazNiQTdzd2EzclZ5ZTVDTVNlOVotNkVKV1phek1sN0w4VUJ3cFllN0J0eHhUNEVBVGo2SXBvYWhGNTgtRHpiMmRsc1c1ZDZIWmpYZUNMTGtVRmQ5Mll3eDBibFlCanc4eTVzM040OEJMME84WG51ak42c0F0eG04Sm9hWXFVUUd3LXNBS1pTZHAzNk1GNlZXYkpUcHBoZHQ2aEhWQjFoRzdpSGN1STBTRzY0WjczNXEzZ0tSYXFHdzhIUXItSWNyeks0VEQwenk5b01NMHpRLVFBSE1PdzAyX0ozU3pVQWZ1bzFWNU42ajB0VGsyeEt0TFp3cmlHOHJNRl9NWTJrN09mdkxqNFlCb3VNN2lBNVM4LnNfM0VabFhIb1lrV283ZzdpRUp1bHc" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/restoreStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/setStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/setStorageAccount.json new file mode 100644 index 000000000000..8add0f1d5785 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/setStorageAccount.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "setStrg01", + "api-version": "7.1", + "parameters": { + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key2", + "autoRegenerateKey": true, + "regenerationPeriod": "P15D", + "attributes": { + "enabled": true + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/setStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key2", + "autoRegenerateKey": true, + "regenerationPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/setStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/setStorageSasDefinition.json new file mode 100644 index 000000000000..51613c803afe --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/setStorageSasDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "setsas01", + "sas-definition-name": "setStrgSasDef01", + "api-version": "7.1", + "parameters": { + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/setsas01/sas/setStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/setsas01-setStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/sign-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/sign-example.json new file mode 100644 index 000000000000..106979d81a71 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/sign-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "testkey", + "key-version": "9885aa558e8d448789683188f8c194b0", + "api-version": "7.1", + "parameters": { + "alg": "RS512", + "value": "RUE3Nzg4NTQ4QjQ5RjFFN0U2NzAyQzhDNEMwMkJDOTA1MTYyOTUzNjI5NDhBNzZDQTlFOTM1NDA2M0ZGMjk2Mg" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/testkey/9885aa558e8d448789683188f8c194b0", + "value": "aKFG8NXcfTzqyR44rW42484K_zZI_T7zZuebvWuNgAoEI1gXYmxrshp42CunSmmu4oqo4-IrCikPkNIBkHXnAW2cv03Ad0UpwXhVfepK8zzDBaJPMKVGS-ZRz8CshEyGDKaLlb3J3zEkXpM3RrSEr0mdV6hndHD_mznLB5RmFui5DsKAhez4vUqajgtkgcPfCekMqeSwp6r9ItVL-gEoAohx8XMDsPedqu-7BuZcBcdayaPuBRL4wWoTDULA11P-UN_sJ5qMj3BbiRYhIlBWGR04wIGfZ3pkJjHJUpOvgH2QajdYPzUBauOCewMYbq9XkLRSzI_A7HkkDVycugSeAA" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/unwrapKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/unwrapKey-example.json new file mode 100644 index 000000000000..19acbf2b5033 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/unwrapKey-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "sdktestkey", + "key-version": "0698c2156c1a4e1da5b6bab6f6422fd6", + "api-version": "7.1", + "parameters": { + "alg": "RSA1_5", + "value": "khwIe26NuAZazS7upywDBpGRmRNMW5-4h_JQKxOdB78nYVxZWnBXwCxOv7a3Sr_mCjiVzKsoQQZwL-CJzhYa0512tfYem56zls5a44y5QsdcfvuSzOvpthVhA9XkEfCJSqSY_sip5d8BelT_w_ikvd_8KqiQ_0H54RqYUN8svCpu28paHgBocHFNXTQ9NtU9ec2qgESXk7Jp4OTy9HJtQJavKDUqTJ3YmtLxUgsgBCe0FNMHUSEYC0Ys6PavYzdTwIzYCq84idmAxJOj-O_6eALJFH2sDTOQYHjzOae2t8eFmw6C-t55qjrCI91a9mUJEGPhYixiG4gR4PaEJ7wGvw" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey/0698c2156c1a4e1da5b6bab6f6422fd6", + "value": "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/updateStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/updateStorageAccount.json new file mode 100644 index 000000000000..69f6dea87646 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/updateStorageAccount.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "patchStrg01", + "api-version": "7.1", + "parameters": { + "activeKeyName": "key1", + "regenerationPeriod": "P10D" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/patchStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P10D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/updateStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/updateStorageSasDefinition.json new file mode 100644 index 000000000000..be1d4ce95f1e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/updateStorageSasDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "patchsas01", + "sas-definition-name": "patchStrgSasDef01", + "api-version": "7.1", + "parameters": { + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/patchsas01/sas/patchStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/patchsas01-patchStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/verify-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/verify-example.json new file mode 100644 index 000000000000..ce937805097a --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/verify-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "testkey", + "key-version": "9885aa558e8d448789683188f8c194b0", + "api-version": "7.1", + "parameters": { + "alg": "RS512", + "value": "RUE3Nzg4NTQ4QjQ5RjFFN0U2NzAyQzhDNEMwMkJDOTA1MTYyOTUzNjI5NDhBNzZDQTlFOTM1NDA2M0ZGMjk2Mg", + "digest": "aKFG8NXcfTzqyR44rW42484K_zZI_T7zZuebvWuNgAoEI1gXYmxrshp42CunSmmu4oqo4-IrCikPkNIBkHXnAW2cv03Ad0UpwXhVfepK8zzDBaJPMKVGS-ZRz8CshEyGDKaLlb3J3zEkXpM3RrSEr0mdV6hndHD_mznLB5RmFui5DsKAhez4vUqajgtkgcPfCekMqeSwp6r9ItVL-gEoAohx8XMDsPedqu-7BuZcBcdayaPuBRL4wWoTDULA11P-UN_sJ5qMj3BbiRYhIlBWGR04wIGfZ3pkJjHJUpOvgH2QajdYPzUBauOCewMYbq9XkLRSzI_A7HkkDVycugSeAA" + } + }, + "responses": { + "200": { + "body": { + "value": true + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/wrapKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/wrapKey-example.json new file mode 100644 index 000000000000..7fe02213f38a --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/examples/wrapKey-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "sdktestkey", + "key-version": "0698c2156c1a4e1da5b6bab6f6422fd6", + "api-version": "7.1", + "parameters": { + "alg": "RSA1_5", + "value": "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey/0698c2156c1a4e1da5b6bab6f6422fd6", + "value": "khwIe26NuAZazS7upywDBpGRmRNMW5-4h_JQKxOdB78nYVxZWnBXwCxOv7a3Sr_mCjiVzKsoQQZwL-CJzhYa0512tfYem56zls5a44y5QsdcfvuSzOvpthVhA9XkEfCJSqSY_sip5d8BelT_w_ikvd_8KqiQ_0H54RqYUN8svCpu28paHgBocHFNXTQ9NtU9ec2qgESXk7Jp4OTy9HJtQJavKDUqTJ3YmtLxUgsgBCe0FNMHUSEYC0Ys6PavYzdTwIzYCq84idmAxJOj-O_6eALJFH2sDTOQYHjzOae2t8eFmw6C-t55qjrCI91a9mUJEGPhYixiG4gR4PaEJ7wGvw" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/index.md b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/index.md new file mode 100644 index 000000000000..1d8c9d77ab0e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/index.md @@ -0,0 +1,26 @@ +--- +ms.assetid: 357c9947-1098-4a03-9f1e-7b27e5aa75bf +ms.title: Azure Key Vault REST Reference +ms.prod: +ms.service: azure-keyvault +author: BrucePerlerMS +ms.author: bruceper +ms.manager: mbaldwin +--- + +# Azure Key Vault + +Azure Key Vault enables users to store and use cryptographic keys within the Microsoft Azure environment. Azure Key Vault supports multiple key types and algorithms, and enables the use of Hardware Security Modules (HSM) for high value customer keys. Key Vault also supports storage of secrets, limited size octet objects. Certificate management is also available through Key Vault including support for renewal processing and working with a range of certificate authorities. + +## REST Operation Groups + +| Operation Group | Description | +|-----------------|-------------| +|Keys | Operations for interacting with keys including create, import, update, and delete.| +|Secrets | Operations for interacting with secrets including create, update, and delete.| +|Certificates | Operations for interacting with certificates including create, import, update, delete and a set of contact and renewal management tasks.| +|Storage | Operations for interacting with storage accounts including create, read, update, delete, list, regeneratekey and a set of sas definition related tasks.| + +## See Also + +- [About keys, secrets, certificates and storage](link) diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json new file mode 100644 index 000000000000..6d4a85db9488 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json @@ -0,0 +1,1734 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.1" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/keys/{key-name}/create": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "CreateKey", + "summary": "Creates a new key, stores it, then returns key parameters and attributes to the client.", + "description": "The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name for the new key. The system will generate the version name for the new key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyCreateParameters" + }, + "description": "The parameters to create a key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A key bundle containing the result of the create key request.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Create key": { + "$ref": "./examples/CreateKey-example.json" + } + } + } + }, + "/keys/{key-name}": { + "put": { + "tags": [ + "Keys" + ], + "operationId": "ImportKey", + "summary": "Imports an externally created key, stores it, and returns key parameters and attributes to the client.", + "description": "The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. This operation requires the keys/import permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "Name for the imported key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyImportParameters" + }, + "description": "The parameters to import a key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Imported key bundle to the vault.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Import key": { + "$ref": "./examples/ImportKey-example.json" + } + } + }, + "delete": { + "tags": [ + "Keys" + ], + "operationId": "DeleteKey", + "summary": "Deletes a key of any type from storage in Azure Key Vault.", + "description": "The delete key operation cannot be used to remove individual versions of a key. This operation removes the cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the keys/delete permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The public part of the deleted key and deletion information on when the key will be purged.", + "schema": { + "$ref": "#/definitions/DeletedKeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete key": { + "$ref": "./examples/DeleteKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}": { + "patch": { + "tags": [ + "Keys" + ], + "operationId": "UpdateKey", + "summary": "The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Azure Key Vault.", + "description": "In order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic material of a key itself cannot be changed. This operation requires the keys/update permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of key to update." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key to update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyUpdateParameters" + }, + "description": "The parameters of the key to update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated key.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update key": { + "$ref": "./examples/UpdateKey-example.json" + } + } + }, + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKey", + "summary": "Gets the public part of a stored key.", + "description": "The get key operation is applicable to all key types. If the requested key is symmetric, then no key material is released in the response. This operation requires the keys/get permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to get." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "Adding the version parameter retrieves a specific version of a key. This URI fragment is optional. If not specified, the latest version of the key is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A key bundle containing the key and its attributes.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get key": { + "$ref": "./examples/GetKey-example.json" + } + } + } + }, + "/keys/{key-name}/versions": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKeyVersions", + "summary": "Retrieves a list of individual key versions with the same key name.", + "description": "The full key identifier, attributes, and tags are provided in the response. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of keys along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetKeyVersions": { + "$ref": "./examples/GetKeyVersions-example.json" + } + } + } + }, + "/keys": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKeys", + "summary": "List keys in the specified vault.", + "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier, attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of keys in the vault along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetKeys": { + "$ref": "./examples/GetKeys-example.json" + } + } + } + }, + "/keys/{key-name}/backup": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "BackupKey", + "summary": "Requests that a backup of the specified key be downloaded to the client.", + "description": "The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This operation requires the key/backup permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up key.", + "schema": { + "$ref": "#/definitions/BackupKeyResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupKey": { + "$ref": "./examples/BackupKey-example.json" + } + } + } + }, + "/keys/restore": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "RestoreKey", + "summary": "Restores a backed up key to a vault.", + "description": "Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be rejected. While the key name is retained during restore, the final key identifier will change if the key is restored to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in the target Key Vault. This operation requires the keys/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyRestoreParameters" + }, + "description": "The parameters to restore the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored key bundle in the vault.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreKey": { + "$ref": "./examples/RestoreKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/encrypt": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "encrypt", + "summary": "Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.", + "description": "The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/encrypt permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the encryption operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The encryption result.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Encrypt example": { + "$ref": "./examples/encrypt-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/decrypt": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "decrypt", + "summary": "Decrypts a single block of encrypted data.", + "description": "The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/decrypt permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the decryption operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The decryption result.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Decrypt example": { + "$ref": "./examples/decrypt-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/sign": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "sign", + "summary": "Creates a signature from a digest using the specified key.", + "description": "The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this operation uses the private portion of the key. This operation requires the keys/sign permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeySignParameters" + }, + "description": "The parameters for the signing operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The signature value.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Sign": { + "$ref": "./examples/sign-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/verify": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "verify", + "summary": "Verifies a signature using a specified key.", + "description": "The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the public portion of the key but this operation is supported as a convenience for callers that only have a key-reference and not the public portion of the key. This operation requires the keys/verify permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyVerifyParameters" + }, + "description": "The parameters for verify operations." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The verification result.", + "schema": { + "$ref": "#/definitions/KeyVerifyResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Verify": { + "$ref": "./examples/verify-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/wrapkey": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "wrapKey", + "summary": "Wraps a symmetric key using a specified key.", + "description": "The WRAP operation supports encryption of a symmetric key using a key encryption key that has previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/wrapKey permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for wrap operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The wrapped symmetric key.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Wrapkey": { + "$ref": "./examples/wrapKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/unwrapkey": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "unwrapKey", + "summary": "Unwraps a symmetric key using the specified key that was initially used for wrapping that key.", + "description": "The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/unwrapKey permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the key operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The unwrapped symmetric key.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Unwrapkey": { + "$ref": "./examples/unwrapKey-example.json" + } + } + } + }, + "/deletedkeys": { + "get": { + "tags": [ + "DeletedKeys" + ], + "operationId": "GetDeletedKeys", + "summary": "Lists the deleted keys in the specified vault.", + "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a deleted key. This operation includes deletion-specific information. The Get Deleted Keys operation is applicable for vaults enabled for soft-delete. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys.", + "schema": { + "$ref": "#/definitions/DeletedKeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedKeys": { + "$ref": "./examples/GetDeletedKeys-example.json" + } + } + } + }, + "/deletedkeys/{key-name}": { + "get": { + "tags": [ + "DeletedKeys" + ], + "operationId": "GetDeletedKey", + "summary": "Gets the public part of a deleted key.", + "description": "The Get Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/get permission. ", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion information.", + "schema": { + "$ref": "#/definitions/DeletedKeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedKey": { + "$ref": "./examples/GetDeletedKey-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedKeys" + ], + "operationId": "PurgeDeletedKey", + "summary": "Permanently deletes the specified key.", + "description": "The Purge Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/purge permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content, signaling that the key was permanently purged." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedKey": { + "$ref": "./examples/PurgeDeletedKey-example.json" + } + } + } + }, + "/deletedkeys/{key-name}/recover": { + "post": { + "tags": [ + "DeletedKeys" + ], + "operationId": "RecoverDeletedKey", + "summary": "Recovers the deleted key to its latest version.", + "description": "The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. It recovers the deleted key back to its latest version under /keys. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation requires the keys/recover permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Key bundle of the original key and its attributes", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedKey": { + "$ref": "./examples/RecoverDeletedKey-example.json" + } + } + } + } + }, + "definitions": { + "JsonWebKey": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier." + }, + "kty": { + "type": "string", + "description": "JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true, + "values": [ + { + "value": "EC", + "description": "Elliptic Curve." + }, + { + "value": "EC-HSM", + "description": "Elliptic Curve with a private key which is not exportable from the HSM." + }, + { + "value": "RSA", + "description": "RSA (https://tools.ietf.org/html/rfc3447)" + }, + { + "value": "RSA-HSM", + "description": "RSA with a private key which is not exportable from the HSM." + }, + { + "value": "oct", + "description": "Octet sequence (used to represent symmetric keys)" + } + ] + } + }, + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "Supported key operations." + } + }, + "n": { + "type": "string", + "format": "base64url", + "description": "RSA modulus." + }, + "e": { + "type": "string", + "format": "base64url", + "description": "RSA public exponent." + }, + "d": { + "type": "string", + "format": "base64url", + "description": "RSA private exponent, or the D component of an EC private key." + }, + "dp": { + "x-ms-client-name": "DP", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "dq": { + "x-ms-client-name": "DQ", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "qi": { + "x-ms-client-name": "QI", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "p": { + "type": "string", + "format": "base64url", + "description": "RSA secret prime." + }, + "q": { + "type": "string", + "format": "base64url", + "description": "RSA secret prime, with p < q." + }, + "k": { + "type": "string", + "format": "base64url", + "description": "Symmetric key." + }, + "key_hsm": { + "x-ms-client-name": "t", + "type": "string", + "format": "base64url", + "description": "HSM Token, used with 'Bring Your Own Key'." + }, + "crv": { + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true, + "values": [ + { + "value": "P-256", + "description": "The NIST P-256 elliptic curve, AKA SECG curve SECP256R1." + }, + { + "value": "P-384", + "description": "The NIST P-384 elliptic curve, AKA SECG curve SECP384R1." + }, + { + "value": "P-521", + "description": "The NIST P-521 elliptic curve, AKA SECG curve SECP521R1." + }, + { + "value": "P-256K", + "description": "The SECG SECP256K1 elliptic curve." + } + ] + } + }, + "x": { + "type": "string", + "format": "base64url", + "description": "X component of an EC public key." + }, + "y": { + "type": "string", + "format": "base64url", + "description": "Y component of an EC public key." + } + }, + "description": "As of http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18" + }, + "KeyAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for keys in the current vault. If it contains 'Purgeable' the key can be permanently deleted by a privileged user; otherwise, only the system can purge the key, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The attributes of a key managed by the key vault service." + }, + "KeyBundle": { + "properties": { + "key": { + "$ref": "#/definitions/JsonWebKey", + "description": "The Json web key." + }, + "attributes": { + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + } + }, + "description": "A KeyBundle consisting of a WebKey plus its attributes." + }, + "KeyItem": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier." + }, + "attributes": { + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + } + }, + "description": "The key item containing key metadata." + }, + "DeletedKeyBundle": { + "allOf": [ + { + "$ref": "#/definitions/KeyBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted key." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key was deleted, in UTC" + } + }, + "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion info" + }, + "DeletedKeyItem": { + "allOf": [ + { + "$ref": "#/definitions/KeyItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted key." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key was deleted, in UTC" + } + }, + "description": "The deleted key item containing the deleted key metadata and information about deletion." + }, + "KeyProperties": { + "properties": { + "exportable": { + "type": "boolean", + "description": "Indicates if the private key can be exported." + }, + "kty": { + "x-ms-client-name": "keyType", + "type": "string", + "description": "The type of key pair to be used for the certificate.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "key_size": { + "type": "integer", + "format": "int32", + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "reuse_key": { + "type": "boolean", + "description": "Indicates if the same key pair will be used on certificate renewal." + }, + "crv": { + "x-ms-client-name": "curve", + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true + } + } + }, + "description": "Properties of the key pair backing a certificate." + }, + "KeyCreateParameters": { + "properties": { + "kty": { + "type": "string", + "minLength": 1, + "description": "The type of key to create. For valid values, see JsonWebKeyType.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "key_size": { + "type": "integer", + "format": "int32", + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "JSON web key operations. For more information, see JsonWebKeyOperation.", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import" + ], + "x-ms-enum": { + "name": "JsonWebKeyOperation", + "modelAsString": true + } + } + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "crv": { + "x-ms-client-name": "curve", + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true + } + } + }, + "description": "The key create parameters.", + "required": [ + "kty" + ] + }, + "KeyImportParameters": { + "properties": { + "Hsm": { + "type": "boolean", + "description": "Whether to import as a hardware key (HSM) or software key." + }, + "key": { + "$ref": "#/definitions/JsonWebKey", + "description": "The Json web key" + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The key import parameters.", + "required": [ + "key" + ] + }, + "KeyOperationsParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "algorithm identifier", + "enum": [ + "RSA-OAEP", + "RSA-OAEP-256", + "RSA1_5" + ], + "x-ms-enum": { + "name": "JsonWebKeyEncryptionAlgorithm", + "modelAsString": true + } + }, + "value": { + "type": "string", + "format": "base64url" + } + }, + "description": "The key operations parameters.", + "required": [ + "alg", + "value" + ] + }, + "KeySignParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "The signing/verification algorithm identifier. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.", + "enum": [ + "PS256", + "PS384", + "PS512", + "RS256", + "RS384", + "RS512", + "RSNULL", + "ES256", + "ES384", + "ES512", + "ES256K" + ], + "x-ms-enum": { + "name": "JsonWebKeySignatureAlgorithm", + "modelAsString": true, + "values": [ + { + "value": "PS256", + "description": "RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "PS384", + "description": "RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "PS512", + "description": "RSASSA-PSS using SHA-512 and MGF1 with SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS256", + "description": "RSASSA-PKCS1-v1_5 using SHA-256, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS384", + "description": "RSASSA-PKCS1-v1_5 using SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS512", + "description": "RSASSA-PKCS1-v1_5 using SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RSNULL", + "description": "Reserved" + }, + { + "value": "ES256", + "description": "ECDSA using P-256 and SHA-256, as described in https://tools.ietf.org/html/rfc7518." + }, + { + "value": "ES384", + "description": "ECDSA using P-384 and SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "ES512", + "description": "ECDSA using P-521 and SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "ES256K", + "description": "ECDSA using P-256K and SHA-256, as described in https://tools.ietf.org/html/rfc7518" + } + ] + } + }, + "value": { + "type": "string", + "format": "base64url" + } + }, + "description": "The key operations parameters.", + "required": [ + "alg", + "value" + ] + }, + "KeyVerifyParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.", + "enum": [ + "PS256", + "PS384", + "PS512", + "RS256", + "RS384", + "RS512", + "RSNULL", + "ES256", + "ES384", + "ES512", + "ES256K" + ], + "x-ms-enum": { + "name": "JsonWebKeySignatureAlgorithm", + "modelAsString": true + } + }, + "digest": { + "type": "string", + "format": "base64url", + "description": "The digest used for signing." + }, + "value": { + "x-ms-client-name": "signature", + "type": "string", + "format": "base64url", + "description": "The signature to be verified." + } + }, + "description": "The key verify parameters.", + "required": [ + "alg", + "digest", + "value" + ] + }, + "KeyUpdateParameters": { + "properties": { + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "JSON web key operations. For more information, see JsonWebKeyOperation.", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import" + ], + "x-ms-enum": { + "name": "JsonWebKeyOperation", + "modelAsString": true + } + }, + "description": "Json web key operations. For more information on possible key operations, see JsonWebKeyOperation." + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The key update parameters." + }, + "KeyRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "keyBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a key bundle." + } + }, + "description": "The key restore parameters.", + "required": [ + "value" + ] + }, + "KeyOperationResult": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier", + "readOnly": true + }, + "value": { + "x-ms-client-name": "result", + "type": "string", + "format": "base64url", + "readOnly": true + } + }, + "description": "The key operation result." + }, + "KeyVerifyResult": { + "properties": { + "value": { + "type": "boolean", + "readOnly": true, + "description": "True if the signature is verified, otherwise false." + } + }, + "description": "The key verify result." + }, + "KeyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyItem" + }, + "readOnly": true, + "description": "A response message containing a list of keys in the key vault along with a link to the next page of keys." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of keys." + } + }, + "description": "The key list result." + }, + "DeletedKeyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedKeyItem" + }, + "readOnly": true, + "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted keys." + } + }, + "description": "A list of keys that have been deleted in this vault." + }, + "BackupKeyResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up key." + } + }, + "description": "The backup key result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json new file mode 100644 index 000000000000..bbc96838e049 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json @@ -0,0 +1,891 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.1" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/secrets/{secret-name}": { + "put": { + "tags": [ + "Secrets" + ], + "operationId": "SetSecret", + "summary": "Sets a secret in a specified key vault.", + "description": " The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key Vault creates a new version of that secret. This operation requires the secrets/set permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the secret." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretSetParameters" + }, + "description": "The parameters for setting the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secret bundle containing the result of the set secret request.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetSecret": { + "$ref": "./examples/SetSecret-example.json" + } + } + }, + "delete": { + "tags": [ + "Secrets" + ], + "operationId": "DeleteSecret", + "summary": "Deletes a secret from a specified key vault.", + "description": "The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an individual version of a secret. This operation requires the secrets/delete permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted secret and information on when the secret will be deleted, and how to recover the deleted secret.", + "schema": { + "$ref": "#/definitions/DeletedSecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteSecret": { + "$ref": "./examples/DeleteSecret-example.json" + } + } + } + }, + "/secrets/{secret-name}/{secret-version}": { + "patch": { + "tags": [ + "Secrets" + ], + "operationId": "UpdateSecret", + "summary": "Updates the attributes associated with a specified secret in a given key vault.", + "description": "The UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not specified in the request are left unchanged. The value of a secret itself cannot be changed. This operation requires the secrets/set permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "secret-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the secret." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretUpdateParameters" + }, + "description": "The parameters for update secret operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated secret.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateSecret": { + "$ref": "./examples/UpdateSecret-example.json" + } + } + }, + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecret", + "summary": "Get a specified secret from a given key vault.", + "description": "The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires the secrets/get permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "secret-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the secret. This URI fragment is optional. If not specified, the latest version of the secret is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved secret.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetSecret": { + "$ref": "./examples/GetSecret-example.json" + } + } + } + }, + "/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecrets", + "summary": "List secrets in a specified key vault.", + "description": "The Get Secrets operation is applicable to the entire vault. However, only the base secret identifier and its attributes are provided in the response. Individual secret versions are not listed in the response. This operation requires the secrets/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of secrets in the vault along with a link to the next page of secrets.", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetSecrets": { + "$ref": "./examples/GetSecrets-example.json" + } + } + } + }, + "/secrets/{secret-name}/versions": { + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecretVersions", + "summary": "List all versions of the specified secret.", + "description": "The full secret identifier and attributes are provided in the response. No values are returned for the secrets. This operations requires the secrets/list permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of secrets along with a link to the next page of secrets.", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetSecretVersions": { + "$ref": "./examples/GetSecretVersions-example.json" + } + } + } + }, + "/deletedsecrets": { + "get": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "GetDeletedSecrets", + "summary": "Lists deleted secrets for the specified vault.", + "description": "The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted secrets in the vault, along with a link to the next page of deleted secrets.", + "schema": { + "$ref": "#/definitions/DeletedSecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedSecrets": { + "$ref": "./examples/GetDeletedSecrets-example.json" + } + } + } + }, + "/deletedsecrets/{secret-name}": { + "get": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "GetDeletedSecret", + "summary": "Gets the specified deleted secret.", + "description": "The Get Deleted Secret operation returns the specified deleted secret along with its attributes. This operation requires the secrets/get permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secret bundle of the secret and its attributes.", + "schema": { + "$ref": "#/definitions/DeletedSecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedSecret": { + "$ref": "./examples/GetDeletedSecret-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "PurgeDeletedSecret", + "summary": "Permanently deletes the specified secret.", + "description": "The purge deleted secret operation removes the secret permanently, without the possibility of recovery. This operation can only be enabled on a soft-delete enabled vault. This operation requires the secrets/purge permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the secret was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedSecret": { + "$ref": "./examples/PurgeDeletedSecret-example.json" + } + } + } + }, + "/deletedsecrets/{secret-name}/recover": { + "post": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "RecoverDeletedSecret", + "summary": "Recovers the deleted secret to the latest version.", + "description": "Recovers the deleted secret in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the secrets/recover permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Secret id and its attributes only.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedSecret": { + "$ref": "./examples/RecoverDeletedSecret-example.json" + } + } + } + }, + "/secrets/{secret-name}/backup": { + "post": { + "tags": [ + "Secrets" + ], + "operationId": "BackupSecret", + "summary": "Backs up the specified secret.", + "description": "Requests that a backup of the specified secret be downloaded to the client. All versions of the secret will be downloaded. This operation requires the secrets/backup permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up secret.", + "schema": { + "$ref": "#/definitions/BackupSecretResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupSecret": { + "$ref": "./examples/BackupSecret-example.json" + } + } + } + }, + "/secrets/restore": { + "post": { + "tags": [ + "Secrets" + ], + "operationId": "RestoreSecret", + "summary": "Restores a backed up secret to a vault.", + "description": "Restores a backed up secret, and all its versions, to a vault. This operation requires the secrets/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretRestoreParameters" + }, + "description": "The parameters to restore the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored secret bundle in the vault.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreSecret": { + "$ref": "./examples/RestoreSecret-example.json" + } + } + } + } + }, + "definitions": { + "SecretBundle": { + "properties": { + "value": { + "type": "string", + "description": "The secret value." + }, + "id": { + "type": "string", + "description": "The secret id." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "kid": { + "type": "string", + "readOnly": true, + "description": "If this is a secret backing a KV certificate, then this field specifies the corresponding key backing the KV certificate." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the secret's lifetime is managed by key vault. If this is a secret backing a certificate, then managed will be true." + } + }, + "description": "A secret consisting of a value, id and its attributes." + }, + "SecretItem": { + "properties": { + "id": { + "type": "string", + "description": "Secret identifier." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the secret's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + } + }, + "description": "The secret item containing secret metadata." + }, + "DeletedSecretBundle": { + "allOf": [ + { + "$ref": "#/definitions/SecretBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted secret." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret was deleted, in UTC" + } + }, + "description": "A Deleted Secret consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "DeletedSecretItem": { + "allOf": [ + { + "$ref": "#/definitions/SecretItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted secret." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret was deleted, in UTC" + } + }, + "description": "The deleted secret item containing metadata about the deleted secret." + }, + "SecretAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for secrets in the current vault. If it contains 'Purgeable', the secret can be permanently deleted by a privileged user; otherwise, only the system can purge the secret, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The secret management attributes." + }, + "SecretRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "secretBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a secret bundle." + } + }, + "description": "The secret restore parameters.", + "required": [ + "value" + ] + }, + "SecretProperties": { + "properties": { + "contentType": { + "type": "string", + "description": "The media type (MIME type)." + } + }, + "description": "Properties of the key backing a certificate." + }, + "SecretSetParameters": { + "properties": { + "value": { + "type": "string", + "description": "The value of the secret." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "attributes": { + "x-ms-client-name": "secretAttributes", + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + } + }, + "description": "The secret set parameters.", + "required": [ + "value" + ] + }, + "SecretUpdateParameters": { + "properties": { + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "attributes": { + "x-ms-client-name": "secretAttributes", + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The secret update parameters." + }, + "SecretListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecretItem" + }, + "readOnly": true, + "description": "A response message containing a list of secrets in the key vault along with a link to the next page of secrets." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of secrets." + } + }, + "description": "The secret list result." + }, + "DeletedSecretListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedSecretItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted secrets in the vault along with a link to the next page of deleted secrets" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted secrets." + } + }, + "description": "The deleted secret list result" + }, + "BackupSecretResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up secret." + } + }, + "description": "The backup secret result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/storage.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/storage.json new file mode 100644 index 000000000000..7c166455b1fd --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/storage.json @@ -0,0 +1,1622 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.1" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/storage": { + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetStorageAccounts", + "description": "List storage accounts managed by the specified key vault. This operation requires the storage/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of storage accounts along with a link to the next page of storage accounts.", + "schema": { + "$ref": "#/definitions/StorageListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Storage account": { + "$ref": "./examples/listStorageAccount.json" + } + } + } + }, + "/deletedstorage": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedStorageAccounts", + "summary": "Lists deleted storage accounts for the specified vault.", + "description": "The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted for a vault enabled for soft-delete. This operation requires the storage/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted storage accounts in the vault, along with a link to the next page of deleted storage accounts.", + "schema": { + "$ref": "#/definitions/DeletedStorageListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Deleted Storage Accounts": { + "$ref": "./examples/listDeletedStorageAccount.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedStorageAccount", + "summary": "Gets the specified deleted storage account.", + "description": "The Get Deleted Storage Account operation returns the specified deleted storage account along with its attributes. This operation requires the storage/get permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted storage account and information on when it will be purged, and how to recover the deleted storage account.", + "schema": { + "$ref": "#/definitions/DeletedStorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Deleted Storage": { + "$ref": "./examples/getDeletedStorageAccount.json" + } + } + }, + "delete": { + "tags": [ + "DeletedStorage" + ], + "operationId": "PurgeDeletedStorageAccount", + "summary": "Permanently deletes the specified storage account.", + "description": "The purge deleted storage account operation removes the secret permanently, without the possibility of recovery. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/purge permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the storage account was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Purge Deleted Storage Account": { + "$ref": "./examples/purgeStorageAccount.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/recover": { + "post": { + "tags": [ + "DeletedStorage" + ], + "operationId": "RecoverDeletedStorageAccount", + "summary": "Recovers the deleted storage account.", + "description": "Recovers the deleted storage account in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A storage bundle of the original storage account and its attributes.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Recover Deleted Storage Account": { + "$ref": "./examples/recoverStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}/backup": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "BackupStorageAccount", + "summary": "Backs up the specified storage account.", + "description": "Requests that a backup of the specified storage account be downloaded to the client. This operation requires the storage/backup permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up storage account.", + "schema": { + "$ref": "#/definitions/BackupStorageResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Backup Storage Account": { + "$ref": "./examples/backupStorageAccount.json" + } + } + } + }, + "/storage/restore": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "RestoreStorageAccount", + "summary": "Restores a backed up storage account to a vault.", + "description": "Restores a backed up storage account to a vault. This operation requires the storage/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageRestoreParameters" + }, + "description": "The parameters to restore the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored storage account bundle in the vault.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Restore Storage Account": { + "$ref": "./examples/restoreStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}": { + "delete": { + "tags": [ + "Storage" + ], + "operationId": "DeleteStorageAccount", + "description": "Deletes a storage account. This operation requires the storage/delete permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted storage account and information on when the storage account will be deleted, and how to recover the deleted storage account.", + "schema": { + "$ref": "#/definitions/DeletedStorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete Storage account": { + "$ref": "./examples/deleteStorageAccount.json" + } + } + }, + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetStorageAccount", + "description": "Gets information about a specified storage account. This operation requires the storage/get permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Storage account": { + "$ref": "./examples/getStorageAccount.json" + } + } + }, + "put": { + "tags": [ + "Storage" + ], + "operationId": "SetStorageAccount", + "description": "Creates or updates a new storage account. This operation requires the storage/set permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountCreateParameters" + }, + "description": "The parameters to create a storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The created storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Set Storage account": { + "$ref": "./examples/setStorageAccount.json" + } + } + }, + "patch": { + "tags": [ + "Storage" + ], + "operationId": "UpdateStorageAccount", + "description": "Updates the specified attributes associated with the given storage account. This operation requires the storage/set/update permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountUpdateParameters" + }, + "description": "The parameters to update a storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update Storage account": { + "$ref": "./examples/updateStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}/regeneratekey": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "RegenerateStorageAccountKey", + "description": "Regenerates the specified key value for the given storage account. This operation requires the storage/regeneratekey permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountRegenerteKeyParameters" + }, + "description": "The parameters to regenerate storage account key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Regenerate Storage account key": { + "$ref": "./examples/regenerateStorageAccountKey.json" + } + } + } + }, + "/storage/{storage-account-name}/sas": { + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetSasDefinitions", + "description": "List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions.", + "schema": { + "$ref": "#/definitions/SasDefinitionListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Storage Sas Definition": { + "$ref": "./examples/listStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedSasDefinitions", + "summary": "Lists deleted SAS definitions for the specified vault and storage account.", + "description": "The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for a vault enabled for soft-delete. This operation requires the storage/listsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted SAS definitions for the storage account, along with a link to the next page of deleted SAS definitions.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Deleted Storage Sas Definitions": { + "$ref": "./examples/listDeletedStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedSasDefinition", + "summary": "Gets the specified deleted sas definition.", + "description": "The Get Deleted SAS Definition operation returns the specified deleted SAS definition along with its attributes. This operation requires the storage/getsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted SAS definition and information on when the it will be purged, and how to recover the deleted SAS definition.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Deleted Storage Sas Definition": { + "$ref": "./examples/getDeletedStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover": { + "post": { + "tags": [ + "DeletedStorage" + ], + "operationId": "RecoverDeletedSasDefinition", + "summary": "Recovers the deleted SAS definition.", + "description": "Recovers the deleted SAS definition for the specified storage account. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A SAS definition bundle of the original SAS definition and its attributes.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Recover Deleted Storage Sas Definition": { + "$ref": "./examples/recoverStorageSasDefinition.json" + } + } + } + }, + "/storage/{storage-account-name}/sas/{sas-definition-name}": { + "delete": { + "tags": [ + "Storage" + ], + "operationId": "DeleteSasDefinition", + "description": "Deletes a SAS definition from a specified storage account. This operation requires the storage/deletesas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted SAS definition and information on when the SAS definition will be deleted, and how to recover the deleted SAS definition.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete Storage Sas Definition": { + "$ref": "./examples/deleteStorageSasDefinition.json" + } + } + }, + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetSasDefinition", + "description": "Gets information about a SAS definition for the specified storage account. This operation requires the storage/getsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Storage Sas Definition": { + "$ref": "./examples/getStorageSasDefinition.json" + } + } + }, + "put": { + "tags": [ + "Storage" + ], + "operationId": "SetSasDefinition", + "description": "Creates or updates a new SAS definition for the specified storage account. This operation requires the storage/setsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SasDefinitionCreateParameters" + }, + "description": "The parameters to create a SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The created SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Set Storage Sas definition": { + "$ref": "./examples/setStorageSasDefinition.json" + } + } + }, + "patch": { + "tags": [ + "Storage" + ], + "operationId": "UpdateSasDefinition", + "description": "Updates the specified attributes associated with the given SAS definition. This operation requires the storage/setsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SasDefinitionUpdateParameters" + }, + "description": "The parameters to update a SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update Storage Sas definition": { + "$ref": "./examples/updateStorageSasDefinition.json" + } + } + } + } + }, + "definitions": { + "StorageRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "storageBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a storage account." + } + }, + "description": "The secret restore parameters.", + "required": [ + "value" + ] + }, + "StorageAccountAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "the enabled state of the object." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + }, + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for storage accounts in the current vault. If it contains 'Purgeable' the storage account can be permanently deleted by a privileged user; otherwise, only the system can purge the storage account, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The storage account management attributes." + }, + "StorageBundle": { + "properties": { + "id": { + "type": "string", + "description": "The storage account id.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "The storage account resource id.", + "readOnly": true + }, + "activeKeyName": { + "type": "string", + "description": "The current active storage account key name.", + "readOnly": true + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user.", + "readOnly": true + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The storage account attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs", + "readOnly": true + } + }, + "description": "A Storage account bundle consists of key vault storage account details plus its attributes." + }, + "DeletedStorageBundle": { + "allOf": [ + { + "$ref": "#/definitions/StorageBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted storage account." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account was deleted, in UTC" + } + }, + "description": "A deleted storage account bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "StorageAccountCreateParameters": { + "properties": { + "resourceId": { + "type": "string", + "description": "Storage account resource id." + }, + "activeKeyName": { + "type": "string", + "description": "Current active storage account key name." + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user." + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format." + }, + "attributes": { + "x-ms-client-name": "StorageAccountAttributes", + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The attributes of the storage account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The storage account create parameters.", + "required": [ + "resourceId", + "activeKeyName", + "autoRegenerateKey" + ] + }, + "StorageAccountUpdateParameters": { + "properties": { + "activeKeyName": { + "type": "string", + "description": "The current active storage account key name." + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user." + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format." + }, + "attributes": { + "x-ms-client-name": "StorageAccountAttributes", + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The attributes of the storage account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The storage account update parameters." + }, + "StorageAccountRegenerteKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The storage account key name." + } + }, + "description": "The storage account key regenerate parameters.", + "required": [ + "keyName" + ] + }, + "StorageAccountItem": { + "properties": { + "id": { + "type": "string", + "description": "Storage identifier.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Storage account resource Id.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The storage account management attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs.", + "readOnly": true + } + }, + "description": "The storage account item containing storage account metadata." + }, + "DeletedStorageAccountItem": { + "allOf": [ + { + "$ref": "#/definitions/StorageAccountItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted storage account." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account was deleted, in UTC" + } + }, + "description": "The deleted storage account item containing metadata about the deleted storage account." + }, + "StorageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountItem" + }, + "readOnly": true, + "description": "A response message containing a list of storage accounts in the key vault along with a link to the next page of storage accounts." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of storage accounts." + } + }, + "description": "The storage accounts list result." + }, + "DeletedStorageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedStorageAccountItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted storage accounts in the vault along with a link to the next page of deleted storage accounts" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted storage accounts." + } + }, + "description": "The deleted storage account list result" + }, + "SasDefinitionAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "the enabled state of the object." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + }, + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for SAS definitions in the current vault. If it contains 'Purgeable' the SAS definition can be permanently deleted by a privileged user; otherwise, only the system can purge the SAS definition, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The SAS definition management attributes." + }, + "SasDefinitionBundle": { + "properties": { + "id": { + "type": "string", + "description": "The SAS definition id.", + "readOnly": true + }, + "sid": { + "x-ms-client-name": "SecretId", + "type": "string", + "description": "Storage account SAS definition secret id.", + "readOnly": true + }, + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template.", + "readOnly": true + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + }, + "readOnly": true + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The SAS definition attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs", + "readOnly": true + } + }, + "description": "A SAS definition bundle consists of key vault SAS definition details plus its attributes." + }, + "DeletedSasDefinitionBundle": { + "allOf": [ + { + "$ref": "#/definitions/SasDefinitionBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted SAS definition." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition was deleted, in UTC" + } + }, + "description": "A deleted SAS definition bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "SasDefinitionItem": { + "properties": { + "id": { + "type": "string", + "description": "The storage SAS identifier.", + "readOnly": true + }, + "sid": { + "x-ms-client-name": "SecretId", + "type": "string", + "description": "The storage account SAS definition secret id.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The SAS definition management attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs.", + "readOnly": true + } + }, + "description": "The SAS definition item containing storage SAS definition metadata." + }, + "DeletedSasDefinitionItem": { + "allOf": [ + { + "$ref": "#/definitions/SasDefinitionItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted SAS definition." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition was deleted, in UTC" + } + }, + "description": "The deleted SAS definition item containing metadata about the deleted SAS definition." + }, + "SasDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SasDefinitionItem" + }, + "readOnly": true, + "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of SAS definitions." + } + }, + "description": "The storage account SAS definition list result." + }, + "DeletedSasDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedSasDefinitionItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted SAS definitions in the vault along with a link to the next page of deleted sas definitions" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted SAS definitions." + } + }, + "description": "The deleted SAS definition list result" + }, + "SasDefinitionCreateParameters": { + "properties": { + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template." + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + } + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition." + }, + "attributes": { + "x-ms-client-name": "SasDefinitionAttributes", + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The attributes of the SAS definition." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The SAS definition create parameters.", + "required": [ + "templateUri", + "sasType", + "validityPeriod" + ] + }, + "SasDefinitionUpdateParameters": { + "properties": { + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template." + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + } + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition." + }, + "attributes": { + "x-ms-client-name": "SasDefinitionAttributes", + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The attributes of the SAS definition." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The SAS definition update parameters." + }, + "BackupStorageResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up storage account." + } + }, + "description": "The backup storage result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/readme.go.md b/specification/keyvault/data-plane/readme.go.md index cb56a1deb4dc..4da1caa5e2cb 100644 --- a/specification/keyvault/data-plane/readme.go.md +++ b/specification/keyvault/data-plane/readme.go.md @@ -14,7 +14,7 @@ go: ``` yaml $(go) && $(multiapi) batch: - tag: package-7.2-preview - - tag: package-7.1-preview + - tag: package-7.1 - tag: package-7.0 - tag: package-2016-10 - tag: package-2015-06 @@ -29,13 +29,13 @@ Please also specify `--go-sdk-folder=`. -``` yaml $(tag) == 'package-7.1-preview' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/v7.1-preview/$(namespace) +``` yaml $(tag) == 'package-7.1' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/v7.1/$(namespace) ``` ### Tag: package-7.0 and go diff --git a/specification/keyvault/data-plane/readme.md b/specification/keyvault/data-plane/readme.md index 9db0128e0f77..dba1e62004a9 100644 --- a/specification/keyvault/data-plane/readme.md +++ b/specification/keyvault/data-plane/readme.md @@ -35,31 +35,29 @@ These settings apply only when `--tag=package-7.2-preview` is specified on the c ```yaml $(tag) == 'package-7.2-preview' input-file: -- Microsoft.KeyVault/preview/7.2/certificates.json -- Microsoft.KeyVault/preview/7.2/common.json -- Microsoft.KeyVault/preview/7.2/keys.json -- Microsoft.KeyVault/preview/7.2/rbac.json -- Microsoft.KeyVault/preview/7.2/secrets.json -- Microsoft.KeyVault/preview/7.2/storage.json -- Microsoft.KeyVault/preview/7.2/backuprestore.json +- Microsoft.KeyVault/preview/7.2-preview/certificates.json +- Microsoft.KeyVault/preview/7.2-preview/common.json +- Microsoft.KeyVault/preview/7.2-preview/keys.json +- Microsoft.KeyVault/preview/7.2-preview/rbac.json +- Microsoft.KeyVault/preview/7.2-preview/secrets.json +- Microsoft.KeyVault/preview/7.2-preview/storage.json +- Microsoft.KeyVault/preview/7.2-preview/backuprestore.json +- Microsoft.KeyVault/preview/7.2-preview/securitydomain.json ``` -### Tag: package-7.2-preview +### Tag: package-7.1 -These settings apply only when `--tag=package-7.2-preview` is specified on the command line. +These settings apply only when `--tag=package-7.1` is specified on the command line. -```yaml $(tag) == 'package-7.2-preview' +```yaml $(tag) == 'package-7.1' input-file: -- Microsoft.KeyVault/preview/7.2/certificates.json -- Microsoft.KeyVault/preview/7.2/common.json -- Microsoft.KeyVault/preview/7.2/keys.json -- Microsoft.KeyVault/preview/7.2/rbac.json -- Microsoft.KeyVault/preview/7.2/secrets.json -- Microsoft.KeyVault/preview/7.2/storage.json -- Microsoft.KeyVault/preview/7.2/backuprestore.json +- Microsoft.KeyVault/stable/7.1/certificates.json +- Microsoft.KeyVault/stable/7.1/common.json +- Microsoft.KeyVault/stable/7.1/keys.json +- Microsoft.KeyVault/stable/7.1/secrets.json +- Microsoft.KeyVault/stable/7.1/storage.json ``` - ### Tag: package-7.1-preview These settings apply only when `--tag=package-7.1-preview` is specified on the command line. @@ -169,13 +167,19 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.KeyVault/preview/7.2/certificates.json - - $(this-folder)/Microsoft.KeyVault/preview/7.2/common.json - - $(this-folder)/Microsoft.KeyVault/preview/7.2/keys.json - - $(this-folder)/Microsoft.KeyVault/preview/7.2/rbac.json - - $(this-folder)/Microsoft.KeyVault/preview/7.2/secrets.json - - $(this-folder)/Microsoft.KeyVault/preview/7.2/storage.json - - $(this-folder)/Microsoft.KeyVault/preview/7.2/backuprestore.json + - $(this-folder)/Microsoft.KeyVault/preview/7.2-preview/certificates.json + - $(this-folder)/Microsoft.KeyVault/preview/7.2-preview/common.json + - $(this-folder)/Microsoft.KeyVault/preview/7.2-preview/keys.json + - $(this-folder)/Microsoft.KeyVault/preview/7.2-preview/rbac.json + - $(this-folder)/Microsoft.KeyVault/preview/7.2-preview/secrets.json + - $(this-folder)/Microsoft.KeyVault/preview/7.2-preview/storage.json + - $(this-folder)/Microsoft.KeyVault/preview/7.2-preview/backuprestore.json + - $(this-folder)/Microsoft.KeyVault/preview/7.2-preview/securitydomain.json + - $(this-folder)/Microsoft.KeyVault/stable/7.1/certificates.json + - $(this-folder)/Microsoft.KeyVault/stable/7.1/common.json + - $(this-folder)/Microsoft.KeyVault/stable/7.1/keys.json + - $(this-folder)/Microsoft.KeyVault/stable/7.1/secrets.json + - $(this-folder)/Microsoft.KeyVault/stable/7.1/storage.json - $(this-folder)/Microsoft.KeyVault/preview/7.1/certificates.json - $(this-folder)/Microsoft.KeyVault/preview/7.1/common.json - $(this-folder)/Microsoft.KeyVault/preview/7.1/keys.json @@ -355,4 +359,24 @@ directive: - suppress: MISSING_REQUIRED_PARAMETER from: storage.json reason: Suppress an invalid error caused by a bug in the linter. + - suppress: DefinitionsPropertiesNamesCamelCase + from: securitydomain.json + where: $.definitions.TransferKey.properties.transfer_key + reason: Merely refactored existing definitions into new files. + - suppress: DefinitionsPropertiesNamesCamelCase + from: securitydomain.json + where: $.definitions.UploadPendingResponse.properties.status_details + reason: Consistency with other properties. + - suppress: DefinitionsPropertiesNamesCamelCase + from: securitydomain.json + where: $.definitions.SecurityDomainOperationStatus.properties.status_details + reason: Consistency with other properties. + - suppress: DefinitionsPropertiesNamesCamelCase + from: securitydomain.json + where: $.definitions.SecurityDomainOperationStatus.properties.key_ops + reason: Consistency with other properties. + - suppress: DefinitionsPropertiesNamesCamelCase + from: securitydomain.json + where: $.definitions.SecurityDomainOperationStatus.properties.x5t#S256 + reason: Consistency with other properties. ``` diff --git a/specification/keyvault/data-plane/readme.python.md b/specification/keyvault/data-plane/readme.python.md index e6c36cc73ae4..5b33ad153403 100644 --- a/specification/keyvault/data-plane/readme.python.md +++ b/specification/keyvault/data-plane/readme.python.md @@ -22,7 +22,7 @@ Generate all API versions currently shipped for this package ```yaml $(python) && $(multiapi) batch: - tag: package-7.2-preview - - tag: package-7.1-preview + - tag: package-7.1 - tag: package-7.0 - tag: package-2016-10 ``` @@ -37,11 +37,11 @@ python: output-folder: $(python-sdks-folder)/keyvault/azure-keyvault/azure/keyvault/v7_2_preview ``` -### Tag: package-7.1-preview and python +### Tag: package-7.1 and python -These settings apply only when `--tag=package-7.1-preview --python` is specified on the command line. +These settings apply only when `--tag=package-7.1 --python` is specified on the command line. -``` yaml $(tag) == 'package-7.1-preview' && $(python) +``` yaml $(tag) == 'package-7.1' && $(python) python: namespace: azure.keyvault.v7_1 output-folder: $(python-sdks-folder)/keyvault/azure-keyvault/azure/keyvault/v7_1_preview diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json index b0819e1b6521..e63e7e0fe96b 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json @@ -587,6 +587,7 @@ "name": "api-version", "in": "query", "required": true, + "x-ms-api-version": false, "type": "string", "enum": [ "2015-11-01" diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json new file mode 100644 index 000000000000..73da0e381c22 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview", + "parameters": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true + }, + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmPoolUri": 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": true, + "hsmPoolUri": "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/2020-04-01-preview/examples/ManagedHsm_Delete.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Delete.json new file mode 100644 index 000000000000..a8cca6244440 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Get.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Get.json new file mode 100644 index 000000000000..09952f621ce4 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmPoolUri": "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/2020-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json new file mode 100644 index 000000000000..52723b08d547 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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": true, + "hsmPoolUri": "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": true, + "hsmPoolUri": "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=2020-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListBySubscription.json new file mode 100644 index 000000000000..e792f31cecef --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_ListBySubscription.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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": true, + "hsmPoolUri": "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": true, + "hsmPoolUri": "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=2020-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Update.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Update.json new file mode 100644 index 000000000000..eaea40a4cefe --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/ManagedHsm_Update.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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": true, + "hsmPoolUri": "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": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": true, + "hsmPoolUri": "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/2020-04-01-preview/examples/checkVaultNameAvailability.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/checkVaultNameAvailability.json new file mode 100644 index 000000000000..6d3bb051dd0f --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/checkVaultNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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/2020-04-01-preview/examples/createSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createSecret.json new file mode 100644 index 000000000000..0ed281968ba0 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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": "2020-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/2020-04-01-preview/examples/createVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json new file mode 100644 index 000000000000..bfcef174e0e1 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVault.json @@ -0,0 +1,219 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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 + } + } + }, + "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": {}, + "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, + "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": {}, + "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, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json new file mode 100644 index 000000000000..15e15f63d586 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/createVaultWithNetworkAcls.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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": {}, + "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, + "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": {}, + "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, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deletePrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deletePrivateEndpointConnection.json new file mode 100644 index 000000000000..2e927897cf70 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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": "2018-02-14" + }, + "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/2020-04-01-preview/examples/deleteVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/deleteVault.json new file mode 100644 index 000000000000..ca3613bc6326 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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": "2020-04-01-preview" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getDeletedVault.json new file mode 100644 index 000000000000..04f83b94645a --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getDeletedVault.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultName": "sample-vault", + "location": "westus", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getPrivateEndpointConnection.json new file mode 100644 index 000000000000..2fb84a554652 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2018-02-14" + }, + "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": "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", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getSecret.json new file mode 100644 index 000000000000..28e50e6568f8 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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": "2020-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/2020-04-01-preview/examples/getVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json new file mode 100644 index 000000000000..9ad3bc5a4220 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/getVault.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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": {}, + "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, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listDeletedVaults.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listDeletedVaults.json new file mode 100644 index 000000000000..61cf7abfa431 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listDeletedVaults.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/deletedVaults?api-version=2020-04-01-preview&%24skiptoken=HY3RaoMwAEX%2fRcbeYhJrnRXKYNWOuqpME0sfNcYui0Yxade19N8ne7hcDlzOvVuKX81eKKmt4G4dooLQwgqsL2NGHUDYV6o68Z4rY1e388RtNvRQn2vNJjEaMSgNvcbneMUcsKg8BFwft8DndQ0w9hu2QOiFLRs4TsNFNHzSMBFsGvTQGvuD%2f5bVuTOw4R03vPkH%2fVqNAlzm5SxfOwh7ACOA8POTlvPjILlaU1ke8jImOc23JCppQVfZnna0DXc4ISc3vSVuRo5zJE6%2bj25C3vwk2v2kEV2mMn7PyOc1DbtNGkonnzuLym1G400uI5QRZj0efw%3d%3d" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listOperations.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listOperations.json new file mode 100644 index 000000000000..4b2ccaa8fe0b --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listOperations.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "api-version": "2020-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" + } + }, + { + "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" + } + }, + { + "name": "Microsoft.KeyVault/vaults/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "Delete Key Vault", + "description": "Delete a key vault" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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." + } + }, + { + "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" + }, + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "AuditEvent", + "displayName": "Audit Logs", + "blobDuration": "PT1H" + } + ] + } + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "name": "Microsoft.KeyVault/register/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Subscription", + "operation": "Register Subscription", + "description": "Registers a subscription" + } + }, + { + "name": "Microsoft.KeyVault/unregister/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Subscription", + "operation": "Unregister Subscription", + "description": "Unregisters a subscription" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "name": "Microsoft.KeyVault/hsmPools/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "Delete HSM pool", + "description": "Delete an HSM pool" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "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" + } + }, + { + "name": "Microsoft.KeyVault/managedHSMs/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Managed HSM", + "operation": "Delete Managed HSM", + "description": "Delete a Managed HSM" + } + }, + { + "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" + }, + "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" + } + } + ] + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listPrivateLinkResources.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listPrivateLinkResources.json new file mode 100644 index 000000000000..f76786fad20e --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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": "2018-02-14" + }, + "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/2020-04-01-preview/examples/listSecrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listSecrets.json new file mode 100644 index 000000000000..a16811133673 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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": "2020-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/2020-04-01-preview/examples/listVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVault.json new file mode 100644 index 000000000000..3397baaa9f83 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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/2020-04-01-preview/examples/listVaultByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json new file mode 100644 index 000000000000..2c8180503662 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultByResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "api-version": "2020-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": {}, + "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, + "vaultUri": "https://sample-vault.vault.azure.net/" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults?api-version=2020-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json new file mode 100644 index 000000000000..b0d0dd555f98 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/listVaultBySubscription.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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": {}, + "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, + "vaultUri": "https://sample-vault.vault.azure.net/" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?api-version=22020-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/purgeDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/purgeDeletedVault.json new file mode 100644 index 000000000000..2b48cf219ca8 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/purgeDeletedVault.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "vaultName": "sample-vault", + "location": "westus", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "headers": {} + }, + "202": { + "headers": {} + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/putPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/putPrivateEndpointConnection.json new file mode 100644 index 000000000000..2e37409c6098 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/putPrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2018-02-14", + "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/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/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.", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateAccessPoliciesAdd.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateAccessPoliciesAdd.json new file mode 100644 index 000000000000..fb43acb94d79 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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": "2020-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/2020-04-01-preview/examples/updateSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateSecret.json new file mode 100644 index 000000000000..5e5f395f305b --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-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": "2020-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/2020-04-01-preview/examples/updateVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json new file mode 100644 index 000000000000..b179dc327999 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/examples/updateVault.json @@ -0,0 +1,218 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-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 + } + } + }, + "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": {}, + "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, + "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": {}, + "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, + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json new file mode 100644 index 000000000000..1f3e463ea937 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json @@ -0,0 +1,1835 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-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" + } + } + }, + "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" + } + } + }, + "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." + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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." + } + }, + "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'" + ], + "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, + "type": "string", + "enum": [ + "2015-11-01" + ], + "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" + } + } + }, + "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" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/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" + }, + "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": "#/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" + }, + "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": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/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": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "description": "An error response from Key Vault resource provider", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true + }, + "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 + }, + "Sku": { + "properties": { + "family": { + "type": "string", + "description": "SKU family name", + "enum": [ + "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" + ] + }, + "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" + ] + }, + "Permissions": { + "properties": { + "keys": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "x-ms-enum": { + "name": "KeyPermissions", + "modelAsString": true + } + }, + "description": "Permissions to keys" + }, + "secrets": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "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": [ + "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": [ + "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." + }, + "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" + }, + "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." + }, + "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 (warning: this is a preview feature). 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 + } + }, + "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." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionItem" + }, + "description": "List of private endpoint connections associated with the key vault." + } + }, + "required": [ + "tenantId", + "sku" + ], + "description": "Properties of the vault" + }, + "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" + }, + "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 (warning: this is a preview feature). 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." + } + }, + "description": "Properties of the vault" + }, + "VaultAccessPolicyProperties": { + "properties": { + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "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" + }, + "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." + } + }, + "description": "Properties of the deleted vault." + }, + "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 + }, + "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 + }, + "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 + }, + "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." + }, + "properties": { + "$ref": "#/definitions/VaultProperties", + "description": "Properties of the vault" + } + }, + "required": [ + "properties" + ], + "description": "Resource information with extended details.", + "x-ms-azure-resource": true + }, + "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." + }, + "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" + }, + "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" + }, + "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." + }, + "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 + }, + "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." + }, + "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." + }, + "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" + }, + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility of a vault." + }, + "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." + }, + "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'." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility of a vault from a specific virtual network." + }, + "PrivateEndpointConnectionItem": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Private endpoint connection properties." + } + }, + "description": "Private endpoint connection item." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Private endpoint connection resource.", + "x-ms-azure-resource": true + }, + "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." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Full identifier of the private endpoint resource." + } + }, + "description": "Private endpoint object properties." + }, + "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." + }, + "actionRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "An object that represents the approval state of the private link connection." + }, + "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" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "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." + } + }, + "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." + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "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/2020-04-01-preview/managedHsm.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json new file mode 100644 index 000000000000..7c8276ac052f --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json @@ -0,0 +1,624 @@ +{ + "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": "2020-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", + "pattern": "^[a-zA-Z0-9]{3,24}$", + "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.", + "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", + "pattern": "^[a-zA-Z0-9]{3,24}$", + "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.", + "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", + "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." + }, + "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" + } + }, + "x-ms-long-running-operation": true + }, + "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" + } + }, + "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" + } + } + } + }, + "definitions": { + "ManagedHsmSku": { + "properties": { + "family": { + "type": "string", + "description": "SKU Family of the managed HSM Pool", + "enum": [ + "B" + ], + "x-ms-enum": { + "name": "ManagedHsmSkuFamily", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "SKU of the managed HSM Pool", + "enum": [ + "Standard_B1", + "Custom_B32" + ], + "x-ms-enum": { + "name": "ManagedHsmSkuName", + "modelAsString": false + } + } + }, + "description": "SKU details", + "required": [ + "name", + "family" + ] + }, + "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." + }, + "hsmPoolUri": { + "type": "string", + "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. If it's not set to any value(true or false) when creating new managed HSM pool, 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." + }, + "enablePurgeProtection": { + "type": "boolean", + "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. The setting is effective only if soft delete is also enabled. 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." + } + ] + } + }, + "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." + } + ] + } + } + }, + "description": "Properties of the managed HSM Pool" + }, + "ManagedHsm": { + "properties": { + "properties": { + "$ref": "#/definitions/ManagedHsmProperties", + "description": "Properties of the managed HSM" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ManagedHsmResource" + } + ], + "description": "Resource information with extended details." + }, + "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" + } + }, + "description": "Managed HSM resource", + "x-ms-azure-resource": true + }, + "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" + }, + "ManagedHsmError": { + "properties": { + "error": { + "readOnly": true, + "description": "The server error.", + "$ref": "#/definitions/Error" + } + }, + "description": "The error exception." + }, + "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." + } + }, + "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" + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/providers.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/providers.json new file mode 100644 index 000000000000..f2e42a6d1f7b --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/providers.json @@ -0,0 +1,180 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-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" + } + } + }, + "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" + }, + "description": "List of Storage operations supported by the Storage resource provider." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of operations." + } + } + }, + "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" + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include log specifications.", + "properties": { + "logSpecifications": { + "description": "Log specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "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." + } + } + } + }, + "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/2020-04-01-preview/secrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json new file mode 100644 index 000000000000..608fd5183158 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json @@ -0,0 +1,459 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-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" + }, + { + "$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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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." + }, + "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" + }, + "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" + }, + "SecretAttributes": { + "allOf": [ + { + "$ref": "#/definitions/Attributes" + } + ], + "description": "The secret management attributes." + }, + "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 + }, + "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 + }, + "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." + }, + "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" + } + }, + "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/stable/2015-06-01/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2015-06-01/keyvault.json index 6c60337ce2c2..d284f48944e7 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2015-06-01/keyvault.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2015-06-01/keyvault.json @@ -216,6 +216,7 @@ "name": "api-version", "in": "query", "required": true, + "x-ms-api-version": false, "type": "string", "enum": [ "2015-11-01" diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/keyvault.json index 41355b3b055f..2aba2f8c7b59 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/keyvault.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2016-10-01/keyvault.json @@ -586,6 +586,7 @@ "name": "api-version", "in": "query", "required": true, + "x-ms-api-version": false, "type": "string", "enum": [ "2015-11-01" diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2018-02-14/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2018-02-14/keyvault.json index e83bef971bcb..0cb1851ec949 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2018-02-14/keyvault.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2018-02-14/keyvault.json @@ -590,6 +590,7 @@ "name": "api-version", "in": "query", "required": true, + "x-ms-api-version": false, "type": "string", "enum": [ "2015-11-01" @@ -1175,7 +1176,7 @@ "items": { "$ref": "#/definitions/AccessPolicyEntry" }, - "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." + "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." }, "enabledForDeployment": { "type": "boolean", diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json index 93c08798eb4a..a2fe7f795cae 100644 --- a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json @@ -590,6 +590,7 @@ "name": "api-version", "in": "query", "required": true, + "x-ms-api-version": false, "type": "string", "enum": [ "2015-11-01" diff --git a/specification/keyvault/resource-manager/readme.azureresourceschema.md b/specification/keyvault/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c0807b7e70d0 --- /dev/null +++ b/specification/keyvault/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,91 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-keyvault-2020-04-01-preview + - tag: schema-keyvault-2019-09-01 + - tag: schema-keyvault-2018-02-14-preview + - tag: schema-keyvault-2018-02-14 + - tag: schema-keyvault-2016-10-01 + - tag: schema-keyvault-2015-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-keyvault-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json + - Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json + - Microsoft.KeyVault/preview/2020-04-01-preview/providers.json + - Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json + +``` + +### Tag: schema-keyvault-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/stable/2019-09-01/keyvault.json + - Microsoft.KeyVault/stable/2019-09-01/providers.json + +``` + +### Tag: schema-keyvault-2018-02-14-preview and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2018-02-14-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json + - Microsoft.KeyVault/preview/2018-02-14-preview/providers.json + +``` + +### Tag: schema-keyvault-2018-02-14 and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2018-02-14' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/stable/2018-02-14/keyvault.json + - Microsoft.KeyVault/stable/2018-02-14/providers.json + +``` + +### Tag: schema-keyvault-2016-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2016-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/stable/2016-10-01/keyvault.json + - Microsoft.KeyVault/stable/2016-10-01/providers.json + +``` + +### Tag: schema-keyvault-2015-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-keyvault-2015-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KeyVault/stable/2015-06-01/keyvault.json + +``` diff --git a/specification/keyvault/resource-manager/readme.md b/specification/keyvault/resource-manager/readme.md index 298f828af207..0fec867b1a2c 100644 --- a/specification/keyvault/resource-manager/readme.md +++ b/specification/keyvault/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for KeyVault. - - --- + ## Getting Started + To build the SDK for KeyVault, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,13 +15,13 @@ To build the SDK for KeyVault, 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 KeyVault API. ``` yaml @@ -29,6 +29,29 @@ openapi-type: arm tag: package-2019-09 ``` +### Tag: package-preview-2020-04 + +These settings apply only when `--tag=package-preview-2020-04` is specified on the command line. +This tag is for the development of preview features related to managed HSM of Azure CLI and PowerShell. + +```yaml $(tag) == 'package-preview-2020-04' +input-file: + - Microsoft.KeyVault/stable/2019-09-01/keyvault.json + - Microsoft.KeyVault/stable/2019-09-01/providers.json + - Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json +``` + +### Tag: package-preview-2020-04-full + +These settings apply only when `--tag=package-preview-2020-04-full` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-04-full' +input-file: + - Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json + - Microsoft.KeyVault/preview/2020-04-01-preview/providers.json + - Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json + - Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json +``` ### Tag: package-2019-09 @@ -60,8 +83,6 @@ input-file: - Microsoft.KeyVault/stable/2018-02-14/providers.json ``` - - ### Tag: package-2016-10 These settings apply only when `--tag=package-2016-10` is specified on the command line. @@ -91,8 +112,8 @@ directive: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -105,6 +126,7 @@ swagger-to-sdk: - repo: azure-sdk-for-python after_scripts: - python ./scripts/multiapi_init_gen.py azure-mgmt-keyvault + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-node @@ -112,6 +134,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_key_vault'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js keyvault/resource-manager ``` ## Go @@ -122,6 +147,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -136,6 +165,10 @@ require: $(this-folder)/../../../profiles/readme.md input-file: - $(this-folder)/Microsoft.KeyVault/stable/2019-09-01/keyvault.json - $(this-folder)/Microsoft.KeyVault/stable/2019-09-01/providers.json + - $(this-folder)/Microsoft.KeyVault/preview/2020-04-01-preview/managedHsm.json + - $(this-folder)/Microsoft.KeyVault/preview/2020-04-01-preview/keyvault.json + - $(this-folder)/Microsoft.KeyVault/preview/2020-04-01-preview/providers.json + - $(this-folder)/Microsoft.KeyVault/preview/2020-04-01-preview/secrets.json - $(this-folder)/Microsoft.KeyVault/preview/2018-02-14-preview/keyvault.json - $(this-folder)/Microsoft.KeyVault/preview/2018-02-14-preview/providers.json - $(this-folder)/Microsoft.KeyVault/stable/2018-02-14/keyvault.json @@ -146,11 +179,10 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/keyvault/resource-manager/readme.python.md b/specification/keyvault/resource-manager/readme.python.md index 883a0a256ffa..b7f95e0c23ce 100644 --- a/specification/keyvault/resource-manager/readme.python.md +++ b/specification/keyvault/resource-manager/readme.python.md @@ -33,6 +33,7 @@ batch: - tag: package-2019-09 - tag: package-2018-02 - tag: package-2016-10 + - tag: package-preview-2020-04 ``` ```yaml $(multiapi) && $(track2) @@ -41,6 +42,7 @@ batch: - tag: package-2019-09 - tag: package-2018-02 - tag: package-2016-10 + - tag: package-preview-2020-04 - multiapiscript: true ``` @@ -50,6 +52,18 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-preview-2020-04 and python + +These settings apply only when `--tag=package-preview-2020-04 --python` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2020-04' +namespace: azure.mgmt.keyvault.v2020_04_01_preview +output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/keyvault/v2020_04_01_preview +python: + namespace: azure.mgmt.keyvault.v2020_04_01_preview + output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/keyvault/v2020_04_01_preview +``` + ### Tag: package-2019-09 and python These settings apply only when `--tag=package-2019-09 --python` is specified on the command line. diff --git a/specification/kubernetesconfiguration/resource-manager/readme.azureresourceschema.md b/specification/kubernetesconfiguration/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4d961e78a7d3 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-kubernetesconfiguration-2019-11-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-kubernetesconfiguration-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-kubernetesconfiguration-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.KubernetesConfiguration/preview/2019-11-01-preview/kubernetesconfiguration.json + +``` diff --git a/specification/kubernetesconfiguration/resource-manager/readme.md b/specification/kubernetesconfiguration/resource-manager/readme.md index 67f97d8b6dcf..0c8018090c07 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_kubernetesconfiguration'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js kubernetesconfiguration/resource-manager ``` ## Go @@ -78,6 +81,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/labservices/resource-manager/readme.azureresourceschema.md b/specification/labservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..50ff2afcfdf7 --- /dev/null +++ b/specification/labservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-labservices-2018-10-15 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-labservices-2018-10-15 and azureresourceschema + +``` yaml $(tag) == 'schema-labservices-2018-10-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.LabServices/stable/2018-10-15/ML.json + +``` diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md index c0d8c1459ffc..efe9d284406e 100644 --- a/specification/labservices/resource-manager/readme.md +++ b/specification/labservices/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_labservices'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js labservices/resource-manager ``` @@ -144,6 +147,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/logic/resource-manager/readme.azureresourceschema.md b/specification/logic/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..409ee65ae052 --- /dev/null +++ b/specification/logic/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,72 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-logic-2019-05-01 + - tag: schema-logic-2018-07-01-preview + - tag: schema-logic-2016-06-01 + - tag: schema-logic-2015-08-01-preview + - tag: schema-logic-2015-02-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-logic-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/stable/2019-05-01/logic.json + +``` + +### Tag: schema-logic-2018-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2018-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/preview/2018-07-01-preview/logic.json + +``` + +### Tag: schema-logic-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/stable/2016-06-01/logic.json + +``` + +### Tag: schema-logic-2015-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2015-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/preview/2015-08-01-preview/logic.json + +``` + +### Tag: schema-logic-2015-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-logic-2015-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Logic/preview/2015-02-01-preview/logic.json + +``` diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md index 8fc4874a384f..dc05370df8a7 100644 --- a/specification/logic/resource-manager/readme.md +++ b/specification/logic/resource-manager/readme.md @@ -136,6 +136,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_logic'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js logic/resource-manager ``` ## C# @@ -245,6 +248,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/machinelearning/resource-manager/readme.azureresourceschema.md b/specification/machinelearning/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6f38975b63c5 --- /dev/null +++ b/specification/machinelearning/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,61 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-machinelearning-2019-10-01 + - tag: schema-machinelearning-2017-01-01 + - tag: schema-machinelearning-2016-05-01-preview + - tag: schema-machinelearning-2016-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-machinelearning-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearning-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearning/stable/2019-10-01/workspaces.json + +``` + +### Tag: schema-machinelearning-2017-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearning-2017-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearning/stable/2017-01-01/webservices.json + +``` + +### Tag: schema-machinelearning-2016-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearning-2016-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearning/preview/2016-05-01-preview/commitmentPlans.json + - Microsoft.MachineLearning/preview/2016-05-01-preview/webservices.json + +``` + +### Tag: schema-machinelearning-2016-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearning-2016-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearning/stable/2016-04-01/workspaces.json + +``` diff --git a/specification/machinelearning/resource-manager/readme.md b/specification/machinelearning/resource-manager/readme.md index c192d89dc257..fbfc02d26cde 100644 --- a/specification/machinelearning/resource-manager/readme.md +++ b/specification/machinelearning/resource-manager/readme.md @@ -118,6 +118,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_machine_learning'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js machinelearning/resource-manager ``` @@ -251,6 +254,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/machinelearningcompute/resource-manager/readme.azureresourceschema.md b/specification/machinelearningcompute/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7e519071558f --- /dev/null +++ b/specification/machinelearningcompute/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-machinelearningcompute-2017-08-01-preview + - tag: schema-machinelearningcompute-2017-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-machinelearningcompute-2017-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningcompute-2017-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningCompute/preview/2017-08-01-preview/machineLearningCompute.json + +``` + +### Tag: schema-machinelearningcompute-2017-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningcompute-2017-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningCompute/preview/2017-06-01-preview/machineLearningCompute.json + +``` diff --git a/specification/machinelearningcompute/resource-manager/readme.md b/specification/machinelearningcompute/resource-manager/readme.md index be65538e35af..fa43887fee44 100644 --- a/specification/machinelearningcompute/resource-manager/readme.md +++ b/specification/machinelearningcompute/resource-manager/readme.md @@ -67,6 +67,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js machinelearningcompute/resource-manager ``` @@ -124,6 +127,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/machinelearningexperimentation/resource-manager/readme.azureresourceschema.md b/specification/machinelearningexperimentation/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7bed65196c80 --- /dev/null +++ b/specification/machinelearningexperimentation/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-machinelearningexperimentation-2017-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-machinelearningexperimentation-2017-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningexperimentation-2017-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningExperimentation/preview/2017-05-01-preview/machineLearningExperimentation.json + +``` diff --git a/specification/machinelearningexperimentation/resource-manager/readme.md b/specification/machinelearningexperimentation/resource-manager/readme.md index 67f9b55a17f2..3f22d68551cb 100644 --- a/specification/machinelearningexperimentation/resource-manager/readme.md +++ b/specification/machinelearningexperimentation/resource-manager/readme.md @@ -54,6 +54,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js machinelearningexperimentation/resource-manager ``` @@ -111,6 +114,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/deleteWorkspace.json index 452b097c5492..7fa394143539 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/updateAKSCompute.json index 9aef142daae8..6ad3832da23e 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/updateAKSCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/updateAKSCompute.json @@ -6,7 +6,6 @@ "computeName": "compute123", "api-version": "2018-03-01-preview", "parameters": { - "id": "compute123", "location": "eastus", "properties": { "description": "some compute", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/updateBatchAICompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/updateBatchAICompute.json index eb9e7a49b81c..0d7c6dfb1685 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/updateBatchAICompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/examples/updateBatchAICompute.json @@ -8,17 +8,14 @@ "parameters": { "location": "eastus", "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.BatchAI/clusters/compute123-ccb488844dcc2", "computeType": "BatchAI", "properties": { - "description": "some compute", - "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.BatchAI/clusters/compute123-ccb488844dcc2", - "computeType": "BatchAI", - "properties": { - "scaleSettings": { - "maxNodeCount": 4, - "minNodeCount": 4, - "autoScaleEnabled": false - } + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "autoScaleEnabled": false } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/machineLearningServices.json index 8868b1aa282e..f1602f26e8e8 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2018-03-01-preview/machineLearningServices.json @@ -172,6 +172,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -190,6 +191,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/createComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/createComputeInstance.json index ff84d4308695..270cf1203436 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/createComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/createComputeInstance.json @@ -15,6 +15,13 @@ "applicationSharingPolicy": "Personal", "sshSettings": { "sshPublicAccess": "Disabled" + }, + "computeInstanceAuthorizationType": "personal", + "personalComputeInstanceSettings": { + "assignedUser": { + "objectId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + } } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/deleteWorkspace.json index a973a13a3e93..7141dc1b26aa 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/getComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/getComputeInstance.json index c368311a4b38..fb9af3d62efe 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/getComputeInstance.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/getComputeInstance.json @@ -27,6 +27,13 @@ "adminUserName": "azureuser", "sshPort": 22 }, + "computeInstanceAuthorizationType": "personal", + "personalComputeInstanceSettings": { + "assignedUser": { + "objectId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + } + }, "createdBy": { "userName": "foobar@microsoft.com", "userOrgId": "00000000-0000-0000-0000-000000000000", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/updateAKSCompute.json index 42e71959ac35..462f8925bb66 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/updateAKSCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/updateAKSCompute.json @@ -6,7 +6,6 @@ "computeName": "compute123", "api-version": "2020-02-18-preview", "parameters": { - "id": "compute123", "location": "eastus", "properties": { "description": "some compute", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/updateAmlCompute.json index 8c543528291a..a7cdc2ece7ce 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/examples/updateAmlCompute.json @@ -10,14 +10,10 @@ "properties": { "computeType": "AmlCompute", "properties": { - "description": "some compute", - "computeType": "AmlCompute", - "properties": { - "scaleSettings": { - "maxNodeCount": 4, - "minNodeCount": 4, - "nodeIdleTimeBeforeScaleDown": "PT5M" - } + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json index 6bde4dba311c..e14f9754f9bc 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json @@ -179,6 +179,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -197,6 +198,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, @@ -2528,6 +2532,24 @@ "description": "The current state of this ComputeInstance.", "$ref": "#/definitions/ComputeInstanceState", "readOnly": true + }, + "computeInstanceAuthorizationType": { + "type": "string", + "title": "Compute Instance Authorization type.", + "description": "The Compute Instance Authorization type. Available values are personal (default).", + "default": "personal", + "enum": [ + "personal" + ], + "x-ms-enum": { + "name": "ComputeInstanceAuthorizationType", + "modelAsString": true + } + }, + "personalComputeInstanceSettings": { + "title": "Personal Compute Instance settings.", + "description": "Settings for a personal compute instance.", + "$ref": "#/definitions/PersonalComputeInstanceSettings" } } } @@ -3598,6 +3620,35 @@ "description": "Uniquely identifies the user within his/her organization." } } + }, + "PersonalComputeInstanceSettings": { + "type": "object", + "properties": { + "assignedUser": { + "$ref": "#/definitions/AssignedUser", + "title": "Assigned User.", + "description": "A user explicitly assigned to a personal compute instance." + } + }, + "description": "Settings for a personal compute instance." + }, + "AssignedUser": { + "type": "object", + "description": "A user that can be assigned to a compute instance.", + "properties": { + "objectId": { + "type": "string", + "description": "User’s AAD Object Id." + }, + "tenantId": { + "type": "string", + "description": "User’s AAD Tenant Id." + } + }, + "required": [ + "objectId", + "tenantId" + ] } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/deleteWorkspace.json index 9b433ad2b4c6..a0d061baa0b5 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json index 0b6a2b9f8378..3df91cd7198e 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json @@ -176,6 +176,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -194,6 +195,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, @@ -3543,18 +3547,22 @@ "LinkedWorkspace": { "description": "Linked workspace.", "type": "object", + "x-ms-azure-resource": true, "properties": { "id": { "type": "string", - "description": "ResourceId of the link of the linked workspace." + "description": "ResourceId of the link of the linked workspace.", + "readOnly": true }, "name": { "type": "string", - "description": "Friendly name of the linked workspace." + "description": "Friendly name of the linked workspace.", + "readOnly": true }, "type": { "type": "string", - "description": "Resource type of linked workspace." + "description": "Resource type of linked workspace.", + "readOnly": true }, "properties": { "$ref": "#/definitions/LinkedWorkspaceProps" diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListSkus.json new file mode 100644 index 000000000000..3eebca3aaebe --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListSkus.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "workspaces", + "name": "Basic", + "tier": "Basic", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ02", + "westus-AZ01" + ] + } + ], + "capabilities": [ + { + "name": "automatedml_readhyperdrivesdk", + "value": "{\n \"id\": \"automatedml_ readhyperdrivesdk\",\n \"name\": \"Read hyperdrive SDK\",\n \"description\": \"Read only access to Hyperdrive in the SDK\"\n}" + }, + { + "name": "workspace_upgradeworkspacesdk", + "value": "{\n \"id\": \"workspace_upgradeworkspacesdk\",\n \"name\": \"Upgrade workspace SDK\",\n \"description\": \"Upgrade workspace from Basic to enterprise from the SDK\"\n}" + } + ], + "restrictions": [] + }, + { + "resourceType": "workspaces", + "name": "Enterprise", + "tier": "Enterprise", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ01" + ], + "zoneDetails": [ + { + "name": [ + "westus-AZ01" + ], + "capabilities": [ + { + "name": "automatedml_createeditexperimentssdk", + "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + } + ] + } + ] + } + ], + "capabilities": [ + { + "name": "automatedml_createeditexperimentssdk", + "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + } + ], + "restrictions": [] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListUsages.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListUsages.json new file mode 100644 index 000000000000..3a90ee1d65e0 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListUsages.json @@ -0,0 +1,400 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/totalCores/usages", + "currentValue": 7, + "limit": 100, + "name": { + "localizedValue": "Clusters", + "value": "Clusters" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/dedicatedCores/usages", + "currentValue": 14, + "limit": 24, + "name": { + "localizedValue": "Total Cluster Dedicated Regional vCPUs", + "value": "Total Cluster Dedicated Regional vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_dsv2/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster2_dsv2/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 12, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_nc/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluser1_nc/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/lowPriorityCores/usages", + "currentValue": 18, + "limit": 50, + "name": { + "localizedValue": "Total Cluster LowPriority Regional vCPUs", + "value": "Total Cluster LowPriority Regional vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_D_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "value": "Standard D Family Cluster LowPriority vCPUs", + "localizedValue": "Standard D Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_DSv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard DSv2 Family Cluster LowPriority vCPUs", + "value": "Standard DSv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_Dv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard Dv2 Family Cluster LowPriority vCPUs", + "value": "Standard Dv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_FSv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard FSv2 Family Cluster LowPriority vCPUs", + "value": "Standard FSv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 18, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 12, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster2_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster3_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv2 Family Cluster LowPriority vCPUs", + "value": "Standard NCv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv3_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv3 Family Cluster LowPriority vCPUs", + "value": "Standard NCv3 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_ND_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard ND Family Cluster LowPriority vCPUs", + "value": "Standard ND Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NDv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NDv2 Family Cluster LowPriority vCPUs", + "value": "Standard NDv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NV_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NV Family Cluster LowPriority vCPUs", + "value": "Standard NV Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListVMSizesResult.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListVMSizesResult.json new file mode 100644 index 000000000000..5e069e3ccd12 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListVMSizesResult.json @@ -0,0 +1,455 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-05-01-preview", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "amlCompute": [ + { + "name": "Standard_F2s_v2", + "family": "standardFSv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 16384, + "memoryGB": 4.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F4s_v2", + "family": "standardFSv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 32768, + "memoryGB": 8.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F8s_v2", + "family": "standardFSv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 65536, + "memoryGB": 16.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F16s_v2", + "family": "standardFSv2Family", + "vCPUs": 16, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 131072, + "memoryGB": 32.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F32s_v2", + "family": "standardFSv2Family", + "vCPUs": 32, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 262144, + "memoryGB": 64.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F64s_v2", + "family": "standardFSv2Family", + "vCPUs": 64, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 524288, + "memoryGB": 128.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F72s_v2", + "family": "standardFSv2Family", + "vCPUs": 72, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 589824, + "memoryGB": 144.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_D1_v2", + "family": "standardDv2Family", + "vCPUs": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 51200, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D2_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 7.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D3_v2", + "family": "standardDv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 204800, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D4_v2", + "family": "standardDv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 409600, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D11_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D12_v2", + "family": "standardDv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 204800, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D13_v2", + "family": "standardDv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 409600, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D14_v2", + "family": "standardDv2Family", + "vCPUs": 16, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 819200, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_DS1_v2", + "family": "standardDSv2Family", + "vCPUs": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 7168, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS2_v2", + "family": "standardDSv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 14336, + "memoryGB": 7.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS3_v2", + "family": "standardDSv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 28672, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS4_v2", + "family": "standardDSv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 57344, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS5_v2", + "family": "standardDSv2Family", + "vCPUs": 16, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 114688, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS11_v2", + "family": "standardDSv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 28672, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS12_v2", + "family": "standardDSv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 57344, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS13_v2", + "family": "standardDSv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 114688, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS14_v2", + "family": "standardDSv2Family", + "vCPUs": 16, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 229376, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS15_v2", + "family": "standardDSv2Family", + "vCPUs": 20, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 286720, + "memoryGB": 140.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC6s_v2", + "family": "standardNCSv2Family", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC12s_v2", + "family": "standardNCSv2Family", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 688128, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC24rs_v2", + "family": "standardNCSv2Family", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC24s_v2", + "family": "standardNCSv2Family", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC6s_v3", + "family": "standardNCSv3Family", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC12s_v3", + "family": "standardNCSv3Family", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 688128, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC24rs_v3", + "family": "standardNCSv3Family", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC24s_v3", + "family": "standardNCSv3Family", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC6", + "family": "standardNCFamily", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NC12", + "family": "standardNCFamily", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 696320, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NC24", + "family": "standardNCFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NC24r", + "family": "standardNCFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NV6", + "family": "standardNVFamily", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NV12", + "family": "standardNVFamily", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 696320, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NV24", + "family": "standardNVFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_ND6s", + "family": "standardNDSFamily", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_ND12s", + "family": "standardNDSFamily", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 688128, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_ND24rs", + "family": "standardNDSFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_ND24s", + "family": "standardNDSFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListWorkspaceFeatures.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListWorkspaceFeatures.json new file mode 100644 index 000000000000..2872cf5d42cd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListWorkspaceFeatures.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "testworkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "automatedml_createeditexperimentsui", + "displayName": "Create edit experiments UI", + "description": "Create, edit or delete AutoML experiments in the SDK" + }, + { + "id": "workspace_upgradeworkspaceui", + "displayName": "Upgrade workspace UI", + "description": "Upgrade workspace from Basic to enterprise from the UI" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListWorkspaceQuotasByVMFamily.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListWorkspaceQuotasByVMFamily.json new file mode 100644 index 000000000000..2c501c9452cb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/ListWorkspaceQuotasByVMFamily.json @@ -0,0 +1,415 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quota", + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/amlComputeListNodes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/amlComputeListNodes.json new file mode 100644 index 000000000000..c3127aed0a48 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/amlComputeListNodes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "computeType": "AmlCompute", + "nodes": [ + { + "nodeId": "tvm-3601533753_1-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50000, + "nodeState": "running", + "runId": "2f378a44-38f2-443a-9f0d-9909d0b47890" + }, + { + "nodeId": "tvm-3601533753_2-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50001, + "nodeState": "idle" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicAKSCompute.json new file mode 100644 index 000000000000..389946b0359f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicAKSCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AKS" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicAmlCompute.json new file mode 100644 index 000000000000..3bf21602f613 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicAmlCompute.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "NotSpecified" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicDataFactoryCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicDataFactoryCompute.json new file mode 100644 index 000000000000..6241f15b0a30 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createBasicDataFactoryCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "DataFactory" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createLinkedWorkspace.json new file mode 100644 index 000000000000..f7e2d3d06c9d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createLinkedWorkspace.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview", + "parameters": { + "name": "link-1", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/linkedWorkspace-1", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/link-1", + "name": "link-1", + "type": "linkedWorkspaces", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/linkedWorkspace-1", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateService.json new file mode 100644 index 000000000000..2c5e946027e2 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createOrUpdateService.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-01-preview", + "serviceName": "service456", + "properties": { + "computeType": "ACI", + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://storage/azureml/score.py", + "unpack": false + } + ], + "models": [ + { + "name": "sklearn_regression_model.pkl", + "url": "aml://storage/azureml/sklearn_regression_model.pkl", + "mimeType": "application/x-python" + } + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null, + "username": null, + "password": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "containerResourceRequirements": { + "cpu": 1, + "memoryInGB": 1 + }, + "location": "eastus2", + "authEnabled": true, + "appInsightsEnabled": true + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service456", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service456", + "properties": { + "computeType": "ACI", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "scoringUri": "http://ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io/score", + "location": "eastus2", + "authEnabled": true, + "sslEnabled": false, + "appInsightsEnabled": true, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "sslCertificate": "", + "sslKey": "", + "cname": null, + "publicIp": "52.177.232.98", + "publicFqdn": "ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Transitioning" + } + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createWorkspace.json new file mode 100644 index 000000000000..12e7eddacf1e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/createWorkspace.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "friendlyName": "HelloName", + "description": "test description", + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "identity": { + "principalId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "type": "SystemAssigned" + }, + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteCompute.json new file mode 100644 index 000000000000..b68832ad4a7c --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview", + "underlyingResourceAction": "Delete" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/...pathToOperationResult..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteLinkedWorkspace.json new file mode 100644 index 000000000000..e6e30e2b4bdd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteLinkedWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteService.json new file mode 100644 index 000000000000..cb31e5e0ee12 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "serviceName": "service123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteWorkspace.json new file mode 100644 index 000000000000..cf63fccaed0d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/deleteWorkspace.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getAKSCompute.json new file mode 100644 index 000000000000..07ab113226ce --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getAKSCompute.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getAmlCompute.json new file mode 100644 index 000000000000..af7e1cde3713 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getAmlCompute.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "subnet": "test-subnet-resource-id", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "Enabled", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "errors": null, + "currentNodeCount": 0, + "targetNodeCount": 1, + "nodeStateCounts": { + "preparingNodeCount": 0, + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "leavingNodeCount": 0, + "preemptedNodeCount": 0 + } + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getComputes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getComputes.json new file mode 100644 index 000000000000..7df2cd210bc7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getComputes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute1234", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute1234", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute1234-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getLinkedWorkspace.json new file mode 100644 index 000000000000..97803b44a0f3 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getLinkedWorkspace.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/link-1", + "name": "link-1", + "type": "linkedWorkspaces", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/linkedWorkspace-1", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getService.json new file mode 100644 index 000000000000..9d3c7a7bde81 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getService.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-01-preview", + "serviceName": "service123" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service123", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service123", + "properties": { + "computeType": "AKS", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "maxConcurrentRequestsPerContainer": 1, + "maxQueueWaitMs": 500, + "computeName": "my-aks-compute", + "namespace": "azureml-workspaces123", + "numReplicas": 1, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "appInsightsEnabled": true, + "autoScaler": { + "autoscaleEnabled": false, + "minReplicas": null, + "maxReplicas": null, + "targetUtilization": null, + "refreshPeriodInSeconds": null + }, + "scoringUri": "http://192.168.1.5:80/api/v1/service/service123/score", + "scoringTimeoutMs": null, + "livenessProbeRequirements": { + "failureThreshold": 3, + "successThreshold": 1, + "timeoutSeconds": 120, + "periodSeconds": 5, + "initialDelaySeconds": 310 + }, + "authEnabled": true, + "aadAuthEnabled": false, + "swaggerUri": "http://192.168.1.5/api/v1/service/service123/swagger.json", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getServices.json new file mode 100644 index 000000000000..1e099f9c3136 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getServices.json @@ -0,0 +1,274 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service123", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service123", + "properties": { + "computeType": "AKS", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "maxConcurrentRequestsPerContainer": 1, + "maxQueueWaitMs": 500, + "computeName": "my-aks-compute", + "namespace": "azureml-workspaces123", + "numReplicas": 1, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "appInsightsEnabled": true, + "autoScaler": { + "autoscaleEnabled": false, + "minReplicas": null, + "maxReplicas": null, + "targetUtilization": null, + "refreshPeriodInSeconds": null + }, + "scoringUri": "http://192.168.1.5:80/api/v1/service/service123/score", + "scoringTimeoutMs": null, + "livenessProbeRequirements": { + "failureThreshold": 3, + "successThreshold": 1, + "timeoutSeconds": 120, + "periodSeconds": 5, + "initialDelaySeconds": 310 + }, + "authEnabled": true, + "aadAuthEnabled": false, + "swaggerUri": "http://192.168.1.5/api/v1/service/service123/swagger.json", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + }, + { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service456", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service456", + "properties": { + "computeType": "ACI", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "scoringUri": "http://ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io/score", + "location": "eastus2", + "authEnabled": true, + "sslEnabled": false, + "appInsightsEnabled": true, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "sslCertificate": "", + "sslKey": "", + "cname": null, + "publicIp": "52.177.232.98", + "publicFqdn": "ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspace.json new file mode 100644 index 000000000000..bba054226872 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspace.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "serviceProvisionedResourceGroup": "testworkspace_0000111122223333", + "privateLinkCount": 0, + "allowPublicAccessWhenBehindVnet": false, + "imageBuildCompute": "testcompute", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/testprivatelinkconnection", + "name": "testprivatelinkconnection", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ], + "sharedPrivateLinkResources": [ + { + "name": "testcosmosdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testcosmosdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspacesByResourceGroup.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspacesByResourceGroup.json new file mode 100644 index 000000000000..17d34142984f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspacesByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace1", + "name": "testworkspace1", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName 1", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspacesBySubscription.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspacesBySubscription.json new file mode 100644 index 000000000000..cac980d8a16d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/getWorkspacesBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-5678/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listKeysAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listKeysAKSCompute.json new file mode 100644 index 000000000000..cbf5355a1d79 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listKeysAKSCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "computeType": "AKS", + "userKubeConfig": "user kube config...", + "adminKubeConfig": "admin kube config...", + "imagePullSecretName": "the image pull secret name" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listLinkedWorkspaces.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listLinkedWorkspaces.json new file mode 100644 index 000000000000..66e3c333bccb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listLinkedWorkspaces.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/link-1", + "name": "link-1", + "type": "linkedWorkspaces", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-1/providers/Microsoft.Synapse/workspaces/linkedWorkspace-1", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/link-2", + "name": "link-2", + "type": "linkedWorkspaces", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-2/providers/Microsoft.Synapse/workspaces/linkedWorkspace-2", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai2" + } + } + ] + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listWorkspaceKeys.json new file mode 100644 index 000000000000..c67f021a15b1 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/listWorkspaceKeys.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "body": { + "userStorageKey": "r5rKCJ018TLk+bdAi/9YaVzgcQ0nkLsUqGyUN03KsdCFtqG0SjFGPV8+vT1frWqkvBL0bGoPpLc1BlZSSaZmOA==", + "userStorageResourceId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ragargeastus2euap/providers/Microsoft.Storage/storageAccounts/testdemoworkazashomr", + "appInsightsInstrumentationKey": null, + "containerRegistryCredentials": { + "location": null, + "username": "testdemoworkjmjmeykp", + "passwords": [ + { + "name": "password", + "value": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw" + }, + { + "name": "password2", + "value": "0KARRQoQHSUq1yViPWg7YFernOS=Ic/t" + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/patchAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/patchAmlCompute.json new file mode 100644 index 000000000000..530ad9288c83 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/patchAmlCompute.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview", + "parameters": { + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/resyncWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/resyncWorkspaceKeys.json new file mode 100644 index 000000000000..4cb6d434ed37 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/resyncWorkspaceKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateAKSCompute.json new file mode 100644 index 000000000000..4bd1d3db4c7b --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateAKSCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "properties": { + "agentCount": 4 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateAmlCompute.json new file mode 100644 index 000000000000..3879a0fe2130 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateAmlCompute.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "description": "some compute", + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateQuota.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateQuota.json new file mode 100644 index 000000000000..72510002a08f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateQuota.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-01-preview", + "parameters": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 100, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 200, + "unit": "Count" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 100, + "unit": "Count", + "status": "Success" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 200, + "unit": "Count", + "status": "Success" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateWorkspace.json new file mode 100644 index 000000000000..2716523be984 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/updateWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-01-preview", + "parameters": { + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "friendlyName": "New friendly name", + "description": "new description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "New friendly name", + "description": "new description" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceDeletePrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..dd8f4c3bd990 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceGetPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..b063bb3699ae --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceListPrivateLinkResources.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceListPrivateLinkResources.json new file mode 100644 index 000000000000..f2e5161bbf0a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspaceListPrivateLinkResources.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateLinkResources/amlworkspace", + "name": "amlworkspace", + "type": "Microsoft.Storage/workspaces/privateLinkResources", + "properties": { + "groupId": "amlworkspace", + "requiredMembers": [ + "default" + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspacePutPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspacePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..6ad178163ad5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/examples/workspacePutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-01-preview", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json new file mode 100644 index 000000000000..12dd8bd3a957 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json @@ -0,0 +1,5403 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Machine Learning Workspaces", + "description": "These APIs allow end users to operate on Azure Machine Learning Workspace resources.", + "version": "2020-05-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.MachineLearningServices/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Machine Learning Workspaces REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Gets the properties of the specified machine learning workspace.", + "operationId": "Workspaces_Get", + "x-ms-examples": { + "Get Workspace": { + "$ref": "./examples/getWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "Workspaces" + ], + "description": "Creates or updates a workspace with the specified parameters.", + "operationId": "Workspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Workspace": { + "$ref": "./examples/createWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for creating or updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "Workspaces" + ], + "description": "Deletes a machine learning workspace.", + "operationId": "Workspaces_Delete", + "x-ms-examples": { + "Delete Workspace": { + "$ref": "./examples/deleteWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "204": { + "description": "The machine learning workspace does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "Workspaces" + ], + "description": "Updates a machine learning workspace with the specified parameters.", + "operationId": "Workspaces_Update", + "x-ms-examples": { + "Update Workspace": { + "$ref": "./examples/updateWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all enabled features for a workspace", + "operationId": "WorkspaceFeatures_List", + "x-ms-examples": { + "List Workspace features": { + "$ref": "./examples/ListWorkspaceFeatures.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListAmlUserFeatureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified resource group.", + "operationId": "Workspaces_ListByResourceGroup", + "x-ms-examples": { + "Get Workspaces by Resource Group": { + "$ref": "./examples/getWorkspacesByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ListKeys", + "x-ms-examples": { + "List Workspace Keys": { + "$ref": "./examples/listWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListWorkspaceKeysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Resync all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ResyncKeys", + "x-ms-examples": { + "Resync Workspace Keys": { + "$ref": "./examples/resyncWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages": { + "get": { + "tags": [ + "Usage" + ], + "operationId": "Usages_List", + "description": "Gets the current usage information as well as limits for AML resources for given subscription and location.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes": { + "get": { + "tags": [ + "VirtualMachineSizes" + ], + "operationId": "VirtualMachineSizes_List", + "description": "Returns supported VM Sizes in a location", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-examples": { + "List VM Sizes": { + "$ref": "./examples/ListVMSizesResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas": { + "post": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_Update", + "description": "Update quota for each VM family in workspace.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for update quota is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaUpdateParameters" + }, + "description": "Quota update parameters." + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful.", + "schema": { + "$ref": "#/definitions/UpdateWorkspaceQuotasResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "update quotas": { + "$ref": "./examples/updateQuota.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/Quotas": { + "get": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_List", + "description": "Gets the currently assigned Workspace Quotas based on VMFamily.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListWorkspaceQuotas" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List workspace quotas by VMFamily": { + "$ref": "./examples/ListWorkspaceQuotasByVMFamily.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified subscription.", + "operationId": "Workspaces_ListBySubscription", + "x-ms-examples": { + "Get Workspaces by subscription": { + "$ref": "./examples/getWorkspacesBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningCompute_ListByWorkspace", + "description": "Gets computes in specified workspace.", + "x-ms-examples": { + "Get Computes": { + "$ref": "./examples/getComputes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedComputeResourcesList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Get", + "description": "Gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are not returned - use 'keys' nested resource to get them.", + "x-ms-examples": { + "Get a AKS Compute": { + "$ref": "./examples/getAKSCompute.json" + }, + "Get a AML Compute": { + "$ref": "./examples/getAmlCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_CreateOrUpdate", + "description": "Creates or updates compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation. If your intent is to create a new compute, do a GET first to verify that it does not exist yet.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a AML Compute": { + "$ref": "./examples/createBasicAmlCompute.json" + }, + "Create AKS Compute": { + "$ref": "./examples/createBasicAKSCompute.json" + }, + "Create a DataFactory Compute": { + "$ref": "./examples/createBasicDataFactoryCompute.json" + }, + "Update a AML Compute": { + "$ref": "./examples/updateAmlCompute.json" + }, + "Update a AKS Compute": { + "$ref": "./examples/updateAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/ComputeDefinitionParameter" + } + ], + "responses": { + "200": { + "description": "Compute creation or update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "201": { + "description": "Compute creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Update", + "description": "Updates properties of a compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a AmlCompute Compute": { + "$ref": "./examples/patchAmlCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdateParameters" + }, + "description": "Additional parameters for cluster update." + } + ], + "responses": { + "200": { + "description": "Compute update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Delete", + "description": "Deletes specified Machine Learning compute.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Compute": { + "$ref": "./examples/deleteCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/UnderlyingResourceActionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "Compute deletion initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + }, + "Location": { + "description": "URI to poll for asynchronous operation result.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes": { + "post": { + "tags": [ + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListNodes", + "description": "Get the details (e.g IP address, port etc) of all the compute nodes in the compute.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of IP addresses.", + "schema": { + "$ref": "#/definitions/AmlComputeNodesInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "Get compute nodes information for a compute": { + "$ref": "./examples/amlComputeListNodes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListKeys", + "description": "Gets secrets related to Machine Learning compute (storage keys, service credentials, etc).", + "x-ms-examples": { + "List AKS Compute Keys": { + "$ref": "./examples/listKeysAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeSecrets" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces/skus": { + "get": { + "tags": [ + "WorkspaceSkus" + ], + "description": "Lists all skus with associated features", + "operationId": "ListSkus", + "x-ms-examples": { + "List Skus": { + "$ref": "./examples/ListSkus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/SkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceGetPrivateEndpointConnection": { + "$ref": "./examples/workspaceGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspacePutPrivateEndpointConnection": { + "$ref": "./examples/workspacePutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceDeletePrivateEndpointConnection": { + "$ref": "./examples/workspaceDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "WorkspacePrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "Gets the private link resources that need to be created for a workspace.", + "x-ms-examples": { + "WorkspaceListPrivateLinkResources": { + "$ref": "./examples/workspaceListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/linkedWorkspaces": { + "get": { + "tags": [ + "LinkedWorkspaces" + ], + "x-ms-examples": { + "ListLinkedWorkspaces": { + "$ref": "./examples/listLinkedWorkspaces.json" + } + }, + "operationId": "LinkedWorkspaces_List", + "description": "List all linked workspaces under a AML workspace.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the linked workspaces.", + "schema": { + "type": "array", + "description": "array of linked workspaces.", + "items": { + "$ref": "#/definitions/LinkedWorkspace" + } + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/linkedWorkspaces/{linkName}": { + "put": { + "tags": [ + "LinkedWorkspaces" + ], + "operationId": "LinkedWorkspaces_Create", + "description": "Add a new linked workspace.", + "x-ms-examples": { + "CreateLinkedWorkspace": { + "$ref": "./examples/createLinkedWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The object for creating or updating a new linked workspace", + "required": true, + "schema": { + "$ref": "#/definitions/LinkedWorkspaceDto" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the linked workspace.", + "schema": { + "$ref": "#/definitions/LinkedWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "get": { + "tags": [ + "LinkedWorkspaces" + ], + "operationId": "LinkedWorkspaces_Get", + "description": "Get the detail of a linked workspace.", + "x-ms-examples": { + "GetLinkedWorkspace": { + "$ref": "./examples/getLinkedWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the detail of the linked workspace.", + "schema": { + "$ref": "#/definitions/LinkedWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "LinkedWorkspaces" + ], + "operationId": "LinkedWorkspaces_Delete", + "description": "Delete a linked workspace.", + "x-ms-examples": { + "DeleteLinkedWorkspace": { + "$ref": "./examples/deleteLinkedWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the linked workspace." + }, + "204": { + "description": "Specific linked workspace not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/services": { + "get": { + "tags": [ + "MachineLearningServices" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningService_ListByWorkspace", + "description": "Gets services in specified workspace.", + "x-ms-examples": { + "Get Services": { + "$ref": "./examples/getServices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + }, + { + "$ref": "#/parameters/ModelIdParameter" + }, + { + "$ref": "#/parameters/ModelNameParameter" + }, + { + "$ref": "#/parameters/WebServiceTagParameter" + }, + { + "$ref": "#/parameters/WebServiceTagsParameter" + }, + { + "$ref": "#/parameters/WebServicePropertiesParameter" + }, + { + "$ref": "#/parameters/WebServiceRunIdParameter" + }, + { + "$ref": "#/parameters/WebServiceExpandParameter" + }, + { + "$ref": "#/parameters/WebServiceOrderByParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning services and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedServiceList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/services/{serviceName}": { + "get": { + "tags": [ + "MachineLearningServices" + ], + "operationId": "MachineLearningService_Get", + "description": "Get a Service by name.", + "x-ms-examples": { + "Get Service": { + "$ref": "./examples/getService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Set to True to include Model details.", + "type": "boolean", + "default": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "MachineLearningServices" + ], + "operationId": "MachineLearningService_Delete", + "description": "Delete a specific Service..", + "x-ms-examples": { + "Delete Service": { + "$ref": "./examples/deleteService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The resource exists and was deleted successfully." + }, + "204": { + "description": "The resource does not exist and the request was well formed." + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "MachineLearningServices" + ], + "description": "Creates or updates service. This call will update a service if it exists. This is a nonrecoverable operation. If your intent is to create a new service, do a GET first to verify that it does not exist yet.", + "operationId": "MachineLearningService_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Or Update service": { + "$ref": "./examples/createOrUpdateService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + }, + { + "in": "body", + "name": "properties", + "description": "The payload that is used to create or update the Service.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "Service creation or update initiated.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "201": { + "description": "Service creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "description": "Azure subscription identifier.", + "in": "path", + "type": "string", + "required": true + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "description": "Name of the resource group in which workspace is located.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "description": "Name of Azure Machine Learning workspace.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "ComputeNameParameter": { + "name": "computeName", + "description": "Name of the Azure Machine Learning compute.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "AsyncOperationIdParameter": { + "name": "asyncOperationId", + "description": "Identifier of an asynchronous Azure Machine Learning compute operation.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "description": "The name of the Azure location/region.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "APIVersionParameter": { + "in": "query", + "name": "api-version", + "type": "string", + "description": "Version of Azure Machine Learning resource provider API.", + "required": true + }, + "PaginationParameter": { + "in": "query", + "name": "$skiptoken", + "type": "string", + "description": "Continuation token for pagination.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ComputeDefinitionParameter": { + "in": "body", + "name": "parameters", + "description": "Payload with Machine Learning compute definition.", + "required": true, + "schema": { + "$ref": "#/definitions/ComputeResource" + }, + "x-ms-parameter-location": "method" + }, + "ComputeTypeParameter": { + "in": "query", + "name": "compute-type", + "type": "string", + "description": "Type of compute to filter by.", + "required": false, + "x-ms-parameter-location": "method" + }, + "UnderlyingResourceActionParameter": { + "in": "query", + "name": "underlyingResourceAction", + "type": "string", + "description": "Delete the underlying compute if 'Delete', or detach the underlying compute from workspace if 'Detach'.", + "required": true, + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "UnderlyingResourceAction", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the workspace", + "x-ms-parameter-location": "method" + }, + "LinkName": { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "Friendly name of the linked workspace", + "x-ms-parameter-location": "method" + }, + "ModelIdParameter": { + "in": "query", + "name": "modelId", + "type": "string", + "description": "The Model Id.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ModelNameParameter": { + "in": "query", + "name": "modelName", + "type": "string", + "description": "The Model name.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceNameParameter": { + "name": "serviceName", + "description": "Name of the Azure Machine Learning service.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WebServiceTagParameter": { + "in": "query", + "name": "tag", + "type": "string", + "description": "The object tag.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceCountParameter": { + "in": "query", + "name": "count", + "type": "integer", + "format": "int32", + "description": "The number of items to retrieve in a page.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceTagsParameter": { + "in": "query", + "name": "tags", + "type": "string", + "description": "A set of tags with which to filter the returned services. It is a comma separated string of tags key or tags key=value Example: tagKey1,tagKey2,tagKey3=value3 .", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServicePropertiesParameter": { + "in": "query", + "name": "properties", + "type": "string", + "description": "A set of properties with which to filter the returned services. It is a comma separated string of properties key and/or properties key=value Example: propKey1,propKey2,propKey3=value3 .", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceRunIdParameter": { + "in": "query", + "name": "runId", + "type": "string", + "description": "runId for model associated with service.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceExpandParameter": { + "in": "query", + "name": "expand", + "type": "boolean", + "description": "Set to True to include Model details.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceOrderByParameter": { + "in": "query", + "name": "orderby", + "type": "string", + "description": "The option to order the response.", + "required": false, + "default": "UpdatedAtDesc", + "enum": [ + "CreatedAtDesc", + "CreatedAtAsc", + "UpdatedAtDesc", + "UpdatedAtAsc" + ], + "x-ms-enum": { + "name": "OrderString", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Operation": { + "description": "Azure Machine Learning workspace REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display name of operation", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.MachineLearningExperimentation", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "An array of operations supported by the resource provider.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of AML workspace operations supported by the AML workspace resource provider." + } + } + }, + "Workspace": { + "type": "object", + "description": "An object that represents a machine learning workspace.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceProperties", + "description": "The properties of the machine learning workspace.", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceProperties": { + "type": "object", + "description": "The properties of a machine learning workspace.", + "properties": { + "workspaceId": { + "description": "The immutable id associated with this workspace.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace. This name in mutable", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of the machine learning workspace in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "keyVault": { + "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "applicationInsights": { + "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "containerRegistry": { + "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "storageAccount": { + "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "discoveryUrl": { + "description": "Url for the discovery service to identify regional endpoints for machine learning experimentation services", + "type": "string" + }, + "provisioningState": { + "type": "string", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of Azure ML workspace." + }, + "hbiWorkspace": { + "type": "boolean", + "description": "The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service", + "default": false + }, + "serviceProvisionedResourceGroup": { + "type": "string", + "description": "The name of the managed resource group created by workspace RP in customer subscription if the workspace is CMK workspace", + "readOnly": true + }, + "privateLinkCount": { + "type": "integer", + "format": "int32", + "description": "Count of private connections in the workspace", + "readOnly": true + }, + "imageBuildCompute": { + "description": "The compute name for image build", + "type": "string" + }, + "allowPublicAccessWhenBehindVnet": { + "type": "boolean", + "description": "The flag to indicate whether to allow public access when behind VNet.", + "default": false + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections in the workspace." + }, + "sharedPrivateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources in this workspace." + } + } + }, + "WorkspaceUpdateParameters": { + "description": "The parameters for updating a machine learning workspace.", + "properties": { + "tags": { + "description": "The resource tags for the machine learning workspace.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + }, + "properties": { + "$ref": "#/definitions/WorkspacePropertiesUpdateParameters", + "description": "The properties that the machine learning workspace will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WorkspacePropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a machine learning workspace.", + "properties": { + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace.", + "type": "string" + } + } + }, + "AmlUserFeature": { + "description": "Features enabled for a workspace", + "type": "object", + "properties": { + "id": { + "description": "Specifies the feature ID", + "type": "string" + }, + "displayName": { + "description": "Specifies the feature name ", + "type": "string" + }, + "description": { + "description": "Describes the feature for user experience", + "type": "string" + } + } + }, + "ListAmlUserFeatureResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlUserFeature" + }, + "description": "The list of AML user facing features." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML user features information. Call ListNext() with this to fetch the next page of AML user features information." + } + }, + "description": "The List Aml user feature operation response." + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The current usage of the resource." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "description": "Describes AML Resource Usage." + }, + "ListUsagesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of AML resource usages." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML resource usage information. Call ListNext() with this to fetch the next page of AML resource usage information." + } + }, + "description": "The List Usages operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "title": "Virtual Machine size name", + "description": "The name of the virtual machine size.", + "readOnly": true + }, + "family": { + "type": "string", + "title": "Virtual Machine family name", + "description": "The family name of the virtual machine size.", + "readOnly": true + }, + "vCPUs": { + "type": "integer", + "format": "int32", + "title": "Number of vPUs", + "description": "The number of vCPUs supported by the virtual machine size.", + "readOnly": true + }, + "gpus": { + "type": "integer", + "format": "int32", + "title": "Number of gPUs", + "description": "The number of gPUs supported by the virtual machine size.", + "readOnly": true + }, + "osVhdSizeMB": { + "type": "integer", + "format": "int32", + "title": "OS VHD Disk size", + "description": "The OS VHD disk size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "maxResourceVolumeMB": { + "type": "integer", + "format": "int32", + "title": "Resource volume size", + "description": "The resource volume size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "memoryGB": { + "type": "number", + "format": "double", + "title": "Memory size", + "description": "The amount of memory, in GB, supported by the virtual machine size.", + "readOnly": true + }, + "lowPriorityCapable": { + "type": "boolean", + "title": "Low priority capable", + "description": "Specifies if the virtual machine size supports low priority VMs.", + "readOnly": true + }, + "premiumIO": { + "type": "boolean", + "title": "Premium IO supported", + "description": "Specifies if the virtual machine size supports premium IO.", + "readOnly": true + } + }, + "description": "Describes the properties of a VM size." + }, + "VirtualMachineSizeListResult": { + "properties": { + "amlCompute": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineSize" + }, + "description": "The list of virtual machine sizes supported by AmlCompute." + } + }, + "description": "The List Virtual Machine size operation response." + }, + "WorkspaceListResult": { + "description": "The result of a request to list machine learning workspaces.", + "properties": { + "value": { + "description": "The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces.", + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of machine learning workspaces.", + "type": "string" + } + } + }, + "QuotaBaseProperties": { + "properties": { + "id": { + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The properties for Quota update or retrieval." + }, + "QuotaUpdateParameters": { + "properties": { + "value": { + "description": "The list for update quota.", + "type": "array", + "items": { + "$ref": "#/definitions/QuotaBaseProperties" + } + } + }, + "description": "Quota update parameters." + }, + "UpdateWorkspaceQuotasResult": { + "properties": { + "value": { + "description": "The list of workspace quota update result.", + "items": { + "$ref": "#/definitions/UpdateWorkspaceQuotas" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.", + "readOnly": true, + "type": "string" + } + }, + "description": "The result of update workspace quota." + }, + "UpdateWorkspaceQuotas": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": false, + "title": "Update Workspace Quota Status.", + "description": "Status of update workspace quota.", + "enum": [ + "Undefined", + "Success", + "Failure", + "InvalidQuotaBelowClusterMinimum", + "InvalidQuotaExceedsSubscriptionLimit", + "InvalidVMFamilyName", + "OperationNotSupportedForSku", + "OperationNotEnabledForRegion" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + } + }, + "description": "The properties for update Quota response." + }, + "ResourceName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Resource Name." + }, + "ResourceQuota": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "name": { + "$ref": "#/definitions/ResourceName", + "description": "Name of the resource.", + "readOnly": true + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The quota assigned to a resource." + }, + "ListWorkspaceQuotas": { + "properties": { + "value": { + "description": "The list of Workspace Quotas by VM Family", + "items": { + "$ref": "#/definitions/ResourceQuota" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.", + "readOnly": true, + "type": "string" + } + }, + "description": "The List WorkspaceQuotasByVMFamily operation response." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "SystemAssigned,UserAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentities", + "description": "The user assigned identities associated with the resource." + } + }, + "description": "Identity for the resource." + }, + "UserAssignedIdentities": { + "description": "dictionary containing all the user assigned identities, with resourceId of the UAI as key.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "UserAssignedIdentity": { + "description": "User Assigned Identity", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the user assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The clientId(aka appId) of the user assigned identity." + } + } + }, + "Resource": { + "description": "Azure Resource Manager resource envelope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Specifies the resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Specifies the name of the resource.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "location": { + "description": "Specifies the location of the resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + } + } + }, + "ResourceId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the resource" + } + }, + "required": [ + "id" + ], + "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", + "x-ms-azure-resource": true + }, + "ListWorkspaceKeysResult": { + "type": "object", + "properties": { + "userStorageKey": { + "readOnly": true, + "type": "string" + }, + "userStorageResourceId": { + "readOnly": true, + "type": "string" + }, + "appInsightsInstrumentationKey": { + "readOnly": true, + "type": "string" + }, + "containerRegistryCredentials": { + "readOnly": true, + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "RegistryListCredentialsResult": { + "type": "object", + "properties": { + "location": { + "readOnly": true, + "type": "string" + }, + "username": { + "readOnly": true, + "type": "string" + }, + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/Password" + } + } + } + }, + "Password": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string" + }, + "value": { + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedComputeResourcesList": { + "type": "object", + "description": "Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ComputeResource" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ComputeResource": { + "type": "object", + "description": "Machine Learning compute object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute properties", + "$ref": "#/definitions/Compute" + } + } + } + ] + }, + "Compute": { + "type": "object", + "description": "Machine Learning compute object.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "computeLocation": { + "description": "Location for the underlying compute", + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed.", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "description": { + "type": "string", + "description": "The description of the Machine Learning compute." + }, + "createdOn": { + "type": "string", + "description": "The date and time when the compute was created.", + "format": "date-time", + "readOnly": true + }, + "modifiedOn": { + "type": "string", + "description": "The date and time when the compute was last modified.", + "format": "date-time", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "ARM resource id of the underlying compute" + }, + "provisioningErrors": { + "type": "array", + "description": "Errors during provisioning", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + }, + "readOnly": true + }, + "isAttachedCompute": { + "type": "boolean", + "description": "Indicating whether the compute was provisioned by user and brought from outside if true, or machine learning service provisioned it if false.", + "readOnly": true + } + }, + "required": [ + "computeType" + ] + }, + "AKS": { + "description": "A Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AKS properties", + "properties": { + "clusterFqdn": { + "description": "Cluster full qualified domain name", + "type": "string" + }, + "systemServices": { + "type": "array", + "description": "System services", + "items": { + "$ref": "#/definitions/SystemService" + }, + "readOnly": true + }, + "agentCount": { + "description": "Number of agents", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "agentVMSize": { + "description": "Agent virtual machine size", + "type": "string" + }, + "sslConfiguration": { + "description": "SSL configuration", + "$ref": "#/definitions/SslConfiguration" + }, + "aksNetworkingConfiguration": { + "description": "AKS networking configuration for vnet", + "$ref": "#/definitions/AksNetworkingConfiguration" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AmlCompute": { + "description": "An Azure Machine Learning compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AML Compute properties", + "properties": { + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "vmPriority": { + "description": "Virtual Machine priority", + "type": "string", + "enum": [ + "Dedicated", + "LowPriority" + ], + "x-ms-enum": { + "name": "VmPriority", + "modelAsString": true + } + }, + "scaleSettings": { + "description": "Scale settings for AML Compute", + "$ref": "#/definitions/ScaleSettings" + }, + "userAccountCredentials": { + "title": "User account credentials.", + "description": "Credentials for an administrator user account that will be created on each compute node.", + "$ref": "#/definitions/UserAccountCredentials" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "remoteLoginPortPublicAccess": { + "type": "string", + "default": "NotSpecified", + "title": "Close remote Login Access Port", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled", + "NotSpecified" + ], + "x-ms-enum": { + "name": "remoteLoginPortPublicAccess", + "modelAsString": true + } + }, + "allocationState": { + "type": "string", + "readOnly": true, + "title": "Allocation state.", + "description": "Allocation state of the compute. Possible values are: steady - Indicates that the compute is not resizing. There are no changes to the number of compute nodes in the compute in progress. A compute enters this state when it is created and when no operations are being performed on the compute to change the number of compute nodes. resizing - Indicates that the compute is resizing; that is, compute nodes are being added to or removed from the compute.", + "enum": [ + "Steady", + "Resizing" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": true + } + }, + "allocationStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Allocation state transition time.", + "description": "The time at which the compute entered its current allocation state." + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered by various compute nodes during node setup.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "currentNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Current node count.", + "description": "The number of compute nodes currently assigned to the compute." + }, + "targetNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Target node count.", + "description": "The target number of compute nodes for the compute. If the allocationState is resizing, this property denotes the target node count for the ongoing resize operation. If the allocationState is steady, this property denotes the target node count for the previous resize operation." + }, + "nodeStateCounts": { + "title": "Node state counts.", + "description": "Counts of various node states on the compute.", + "readOnly": true, + "$ref": "#/definitions/NodeStateCounts" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "VirtualMachine": { + "description": "A Machine Learning compute based on Azure Virtual Machines.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "virtualMachineSize": { + "description": "Virtual Machine size", + "type": "string" + }, + "sshPort": { + "description": "Port open for ssh connections.", + "type": "integer", + "format": "int32" + }, + "address": { + "description": "Public IP address of the virtual machine.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for virtual machine", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "HDInsight": { + "description": "A HDInsight compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "sshPort": { + "description": "Port open for ssh connections on the master node of the cluster.", + "type": "integer", + "format": "int32" + }, + "address": { + "description": "Public IP address of the master node of the cluster.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for master node of the cluster", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "HDInsight" + }, + "DataFactory": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + } + ], + "x-ms-discriminator-value": "DataFactory" + }, + "Databricks": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "Databricks access token", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "DataLakeAnalytics": { + "description": "A DataLakeAnalytics compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "dataLakeStoreAccountName": { + "description": "DataLake Store Account Name", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "DataLakeAnalytics" + }, + "ServicePrincipalCredentials": { + "type": "object", + "description": "Service principal credentials.", + "properties": { + "clientId": { + "description": "Client Id", + "type": "string" + }, + "clientSecret": { + "description": "Client secret", + "type": "string" + } + }, + "required": [ + "clientId", + "clientSecret" + ] + }, + "SystemService": { + "type": "object", + "description": "A system service running on a compute.", + "properties": { + "systemServiceType": { + "description": "The type of this system service.", + "readOnly": true, + "type": "string" + }, + "publicIpAddress": { + "type": "string", + "description": "Public IP address", + "readOnly": true + }, + "version": { + "description": "The version for this type.", + "readOnly": true, + "type": "string" + } + } + }, + "SslConfiguration": { + "type": "object", + "description": "The ssl configuration for scoring", + "properties": { + "status": { + "description": "Enable or disable ssl for scoring", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + "cert": { + "description": "Cert data", + "type": "string" + }, + "key": { + "description": "Key data", + "type": "string" + }, + "cname": { + "description": "CNAME of the cert", + "type": "string" + } + } + }, + "AksNetworkingConfiguration": { + "type": "object", + "description": "Advance configuration for AKS networking", + "properties": { + "subnetId": { + "description": "Virtual network subnet resource ID the compute nodes belong to", + "type": "string" + }, + "serviceCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.", + "type": "string" + }, + "dnsServiceIP": { + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.", + "type": "string" + }, + "dockerBridgeCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.", + "type": "string" + } + } + }, + "UserAccountCredentials": { + "properties": { + "adminUserName": { + "type": "string", + "title": "User name.", + "description": "Name of the administrator user account which can be used to SSH to nodes." + }, + "adminUserSshPublicKey": { + "type": "string", + "title": "SSH public key.", + "description": "SSH public key of the administrator user account." + }, + "adminUserPassword": { + "type": "string", + "title": "Password.", + "description": "Password of the administrator user account." + } + }, + "required": [ + "adminUserName" + ], + "description": "Settings for user account that gets created on each on the nodes of a compute." + }, + "ScaleSettings": { + "type": "object", + "description": "scale settings for AML Compute", + "properties": { + "maxNodeCount": { + "description": "Max number of nodes to use", + "type": "integer", + "format": "int32" + }, + "minNodeCount": { + "description": "Min number of nodes to use", + "type": "integer", + "format": "int32", + "default": 0 + }, + "nodeIdleTimeBeforeScaleDown": { + "type": "string", + "format": "duration", + "description": "Node Idle Time before scaling down amlCompute" + } + }, + "required": [ + "maxNodeCount" + ] + }, + "NodeStateCounts": { + "properties": { + "idleNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Idle node count.", + "description": "Number of compute nodes in idle state." + }, + "runningNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Running node count.", + "description": "Number of compute nodes which are running jobs." + }, + "preparingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preparing node count.", + "description": "Number of compute nodes which are being prepared." + }, + "unusableNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Unusable node count.", + "description": "Number of compute nodes which are in unusable state." + }, + "leavingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Leaving node count.", + "description": "Number of compute nodes which are leaving the amlCompute." + }, + "preemptedNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preempted node count.", + "description": "Number of compute nodes which are in preempted state." + } + }, + "description": "Counts of various compute node states on the amlCompute." + }, + "ClusterUpdateProperties": { + "properties": { + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Scale settings.", + "description": "Desired scale settings for the amlCompute." + } + }, + "description": "The properties of a amlCompute that need to be updated." + }, + "ClusterUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterUpdateProperties", + "description": "The properties of the amlCompute." + } + }, + "description": "AmlCompute update parameters." + }, + "ComputeNodesInformation": { + "type": "object", + "description": "Compute nodes information related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The continuation token." + } + }, + "required": [ + "computeType" + ] + }, + "AmlComputeNodesInformation": { + "description": "Compute node information related to a AmlCompute.", + "allOf": [ + { + "$ref": "#/definitions/ComputeNodesInformation" + }, + { + "type": "object", + "properties": { + "nodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlComputeNodeInformation" + }, + "description": "The collection of returned AmlCompute nodes details." + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "AmlComputeNodeInformation": { + "description": "Compute node information related to a AmlCompute.", + "properties": { + "nodeId": { + "readOnly": true, + "type": "string", + "title": "Node ID.", + "description": "ID of the compute node." + }, + "privateIpAddress": { + "readOnly": true, + "type": "string", + "title": "Private IP address.", + "description": "Private IP address of the compute node." + }, + "publicIpAddress": { + "readOnly": true, + "type": "string", + "title": "Public IP address.", + "description": "Public IP address of the compute node." + }, + "port": { + "readOnly": true, + "type": "number", + "format": "int32", + "title": "Port.", + "description": "SSH port number of the node." + }, + "nodeState": { + "readOnly": true, + "type": "string", + "enum": [ + "idle", + "running", + "preparing", + "unusable", + "leaving", + "preempted" + ], + "description": "State of the compute node. Values are idle, running, preparing, unusable, leaving and preempted.", + "x-ms-enum": { + "name": "nodeState", + "modelAsString": true + } + }, + "runId": { + "readOnly": true, + "type": "string", + "title": "Run ID.", + "description": "ID of the Experiment running on the node, if any else null." + } + }, + "x-ms-discriminator-value": "AmlCompute" + }, + "VirtualMachineSshCredentials": { + "type": "object", + "description": "Admin credentials for virtual machine", + "properties": { + "username": { + "description": "Username of admin account", + "type": "string" + }, + "password": { + "description": "Password of admin account", + "type": "string" + }, + "publicKeyData": { + "description": "Public key data", + "type": "string" + }, + "privateKeyData": { + "description": "Private key data", + "type": "string" + } + } + }, + "ComputeSecrets": { + "type": "object", + "description": "Secrets related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + } + }, + "required": [ + "computeType" + ] + }, + "AksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "userKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "adminKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "imagePullSecretName": { + "type": "string", + "description": "Image registry pull secret." + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "VirtualMachineSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "administratorAccount": { + "description": "Admin credentials for virtual machine.", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "DatabricksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on Databricks.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "access token for databricks account.", + "type": "string" + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "ComputeType": { + "type": "string", + "description": "The type of compute", + "enum": [ + "AKS", + "AmlCompute", + "DataFactory", + "VirtualMachine", + "HDInsight", + "Databricks", + "DataLakeAnalytics" + ], + "x-ms-enum": { + "name": "ComputeType", + "modelAsString": true + } + }, + "MachineLearningServiceError": { + "type": "object", + "description": "Wrapper for error response to follow ARM guidelines.", + "properties": { + "error": { + "description": "The error response.", + "$ref": "#/definitions/ErrorResponse", + "readOnly": true + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response information.", + "properties": { + "code": { + "type": "string", + "description": "Error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Error message.", + "readOnly": true + }, + "details": { + "type": "array", + "description": "An array of error detail objects.", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "readOnly": true + } + } + }, + "ErrorDetail": { + "type": "object", + "description": "Error detail information.", + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "code", + "message" + ] + }, + "SKUCapability": { + "description": "Features/user capabilities associated with the sku", + "type": "object", + "properties": { + "name": { + "description": "Capability/Feature ID", + "type": "string" + }, + "value": { + "description": "Details about the feature/capability", + "type": "string" + } + } + }, + "ResourceSkuLocationInfo": { + "properties": { + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the SKU" + }, + "zones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is supported." + }, + "zoneDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuZoneDetails" + }, + "description": "Details of capabilities available to a SKU in specific zones." + } + } + }, + "ResourceSkuZoneDetails": { + "properties": { + "name": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of zones that the SKU is available in with the specified capabilities." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "description": "A list of capabilities that are available for the SKU in the specified list of zones." + } + }, + "description": "Describes The zonal capabilities of a SKU." + }, + "WorkspaceSku": { + "description": "Describes Workspace Sku details and features", + "type": "object", + "properties": { + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + }, + "description": "A list of locations and availability zones in those locations where the SKU is available." + }, + "tier": { + "description": "Sku Tier like Basic or Enterprise", + "type": "string", + "readOnly": true + }, + "resourceType": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + }, + "capabilities": { + "description": "List of features/user capabilities associated with the sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "readOnly": true + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + } + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "NotSpecified", + "NotAvailableForRegion", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "SkuListResult": { + "description": "List of skus with features", + "type": "object", + "properties": { + "value": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/WorkspaceSku" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Workspace Skus. Call ListNext() with this URI to fetch the next page of Workspace Skus" + } + } + }, + "Sku": { + "description": "Sku of the resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the sku", + "type": "string" + }, + "tier": { + "description": "Tier of the sku like Basic or Enterprise", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "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", + "Timeout" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "SharedPrivateLinkResource": { + "properties": { + "name": { + "description": "Unique name of the private link.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperty", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "SharedPrivateLinkResourceProperty": { + "properties": { + "privateLinkResourceId": { + "description": "The resource id that private link links to.", + "type": "string" + }, + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requestMessage": { + "description": "Request message.", + "type": "string" + }, + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "Properties of a shared private link resource." + }, + "EncryptionProperty": { + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for the workspace.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Customer Key vault properties." + } + }, + "required": [ + "status", + "keyVaultProperties" + ], + "type": "object" + }, + "KeyVaultProperties": { + "properties": { + "keyVaultArmId": { + "description": "The ArmId of the keyVault where the customer owned encryption key is present.", + "type": "string" + }, + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "identityClientId": { + "description": "For future use - The client id of the identity which will be used to access key vault.", + "type": "string" + } + }, + "required": [ + "keyIdentifier", + "keyVaultArmId" + ], + "type": "object" + }, + "LinkedWorkspace": { + "description": "Linked workspace.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the link of the linked workspace.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the linked workspace.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of linked workspace.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/LinkedWorkspaceProps" + } + } + }, + "LinkedWorkspaceDto": { + "type": "object", + "description": "object used for creating linked workspace.", + "properties": { + "name": { + "description": "Friendly name of the linked workspace", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/LinkedWorkspaceProps" + } + } + }, + "LinkedWorkspaceProps": { + "type": "object", + "description": "LinkedWorkspace specific properties.", + "properties": { + "linkedWorkspaceResourceId": { + "description": "ResourceId of the link target of the linked workspace.", + "type": "string" + }, + "userAssignedIdentityResourceId": { + "description": "ResourceId of the user assigned identity for the linked workspace.", + "type": "string" + } + } + }, + "ServiceResource": { + "type": "object", + "description": "Machine Learning service object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Service properties", + "$ref": "#/definitions/ServiceResponseBase" + } + } + } + ] + }, + "ServiceResponseBase": { + "description": "The base service response. The correct inherited response based on computeType will be returned (ex. ACIServiceResponse)", + "required": [ + "computeType" + ], + "type": "object", + "properties": { + "description": { + "description": "The service description.", + "type": "string" + }, + "kvTags": { + "description": "The service tag dictionary. Tags are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The service property dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "state": { + "description": "The current state of the service.", + "enum": [ + "Transitioning", + "Healthy", + "Unhealthy", + "Failed", + "Unschedulable" + ], + "type": "string", + "example": "Healthy", + "x-ms-enum": { + "name": "WebServiceState", + "modelAsString": true + }, + "readOnly": true + }, + "error": { + "description": "The error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorResponse" + } + ], + "readOnly": true + }, + "computeType": { + "description": "The compute environment type for the service.", + "enum": [ + "ACI", + "AKS" + ], + "type": "string", + "example": "AKS", + "x-ms-enum": { + "name": "ComputeEnvironmentType", + "modelAsString": true + } + }, + "deploymentType": { + "description": "The deployment type for the service.", + "enum": [ + "GRPCRealtimeEndpoint", + "HttpRealtimeEndpoint", + "Batch" + ], + "type": "string", + "example": "HttpRealtimeEndpoint", + "x-ms-enum": { + "name": "DeploymentType", + "modelAsString": true + } + } + }, + "discriminator": "computeType" + }, + "PaginatedServiceList": { + "type": "object", + "description": "Paginated list of Machine Learning service objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ACIServiceResponse": { + "description": "The response for an ACI service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ServiceResponseBase" + }, + { + "type": "object", + "properties": { + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "scoringUri": { + "description": "The Uri for sending scoring requests.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The name of the Azure location/region.", + "type": "string" + }, + "authEnabled": { + "description": "Whether or not authentication is enabled on the service.", + "type": "boolean" + }, + "sslEnabled": { + "description": "Whether or not SSL is enabled.", + "type": "boolean" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "sslCertificate": { + "description": "The public SSL certificate in PEM format to use if SSL is enabled.", + "type": "string" + }, + "sslKey": { + "description": "The public SSL key in PEM format for the certificate.", + "type": "string" + }, + "cname": { + "description": "The CName for the service.", + "type": "string" + }, + "publicIp": { + "description": "The public IP address for the service.", + "type": "string" + }, + "publicFqdn": { + "description": "The public Fqdn for the service.", + "type": "string" + }, + "swaggerUri": { + "description": "The Uri for sending swagger requests.", + "type": "string", + "readOnly": true + }, + "modelConfigMap": { + "description": "Details on the models and configurations.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environmentImageRequest": { + "description": "The Environment, models and assets used for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageResponse" + } + ] + }, + "vnetConfiguration": { + "description": "The virtual network configuration.", + "allOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + } + ] + }, + "encryptionProperties": { + "description": "The encryption properties.", + "allOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "ACI" + }, + "ContainerResourceRequirements": { + "description": "The resource requirements for the container (cpu and memory).", + "type": "object", + "properties": { + "cpu": { + "format": "double", + "description": "The number of CPU cores on the container.", + "type": "number", + "example": 4 + }, + "memoryInGB": { + "format": "double", + "description": "The amount of memory on the container in GB.", + "type": "number", + "example": 64 + }, + "gpu": { + "format": "int32", + "description": "The number of GPU cores in the container.", + "type": "integer" + }, + "fpga": { + "format": "int32", + "description": "The number of FPGA PCIE devices exposed to the container. Must be multiple of 2.", + "type": "integer" + } + } + }, + "ModelDataCollection": { + "description": "The Model data collection properties.", + "type": "object", + "properties": { + "eventHubEnabled": { + "description": "Option for enabling/disabling Event Hub.", + "type": "boolean" + }, + "storageEnabled": { + "description": "Option for enabling/disabling storage.", + "type": "boolean" + } + } + }, + "VnetConfiguration": { + "type": "object", + "properties": { + "vnetName": { + "description": "The name of the virtual network.", + "type": "string" + }, + "subnetName": { + "description": "The name of the virtual network subnet.", + "type": "string" + } + } + }, + "EncryptionProperties": { + "type": "object", + "properties": { + "vaultBaseUrl": { + "description": "vault base Url", + "type": "string" + }, + "keyName": { + "description": "Encryption Key name", + "type": "string" + }, + "keyVersion": { + "description": "Encryption Key Version", + "type": "string" + } + }, + "required": [ + "vaultBaseUrl", + "keyName", + "keyVersion" + ] + }, + "Model": { + "description": "An Azure Machine Learning Model.", + "required": [ + "mimeType", + "name", + "url" + ], + "type": "object", + "properties": { + "id": { + "description": "The Model Id.", + "type": "string", + "example": "sklearn_mnist:1" + }, + "name": { + "description": "The Model name.", + "type": "string", + "example": "sklearn_mnist" + }, + "framework": { + "description": "The Model framework.", + "type": "string" + }, + "frameworkVersion": { + "description": "The Model framework version.", + "type": "string" + }, + "version": { + "format": "int64", + "description": "The Model version assigned by Model Management Service.", + "type": "integer", + "example": 1 + }, + "datasets": { + "description": "The list of datasets associated with the model.", + "type": "array", + "items": { + "$ref": "#/definitions/DatasetReference" + } + }, + "url": { + "description": "The URL of the Model. Usually a SAS URL.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of Model content. For more details about MIME type, please open https://www.iana.org/assignments/media-types/media-types.xhtml", + "type": "string" + }, + "description": { + "description": "The Model description text.", + "type": "string", + "example": "A mnist model, first version." + }, + "createdTime": { + "format": "date-time", + "description": "The Model creation time (UTC).", + "type": "string" + }, + "modifiedTime": { + "format": "date-time", + "description": "The Model last modified time (UTC).", + "type": "string" + }, + "unpack": { + "description": "Indicates whether we need to unpack the Model during docker Image creation.", + "type": "boolean" + }, + "parentModelId": { + "description": "The Parent Model Id.", + "type": "string", + "example": "sklearn_mnist_root:1" + }, + "runId": { + "description": "The RunId that created this model.", + "type": "string" + }, + "experimentName": { + "description": "The name of the experiment where this model was created.", + "type": "string" + }, + "kvTags": { + "description": "The Model tag dictionary. Items are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The Model property dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "derivedModelIds": { + "description": "Models derived from this model", + "type": "array", + "items": { + "type": "string" + } + }, + "sampleInputData": { + "description": "Sample Input Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId}", + "type": "string" + }, + "sampleOutputData": { + "description": "Sample Output Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId}", + "type": "string" + }, + "resourceRequirements": { + "description": "Resource requirements for the model", + "$ref": "#/definitions/ContainerResourceRequirements" + } + } + }, + "EnvironmentImageRequest": { + "description": "Request to create a Docker image based on Environment.", + "type": "object", + "properties": { + "driverProgram": { + "description": "The name of the driver file.", + "type": "string" + }, + "assets": { + "description": "The list of assets.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageAsset" + } + }, + "modelIds": { + "description": "The list of model Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environment": { + "description": "The details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelEnvironmentDefinition" + } + ] + }, + "environmentReference": { + "description": "The unique identifying details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentReference" + } + ] + } + } + }, + "EnvironmentImageResponse": { + "description": "Request to create a Docker image based on Environment.", + "type": "object", + "properties": { + "driverProgram": { + "description": "The name of the driver file.", + "type": "string" + }, + "assets": { + "description": "The list of assets.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageAsset" + } + }, + "modelIds": { + "description": "The list of model Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environment": { + "description": "The details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelEnvironmentDefinitionResponse" + } + ] + }, + "environmentReference": { + "description": "The unique identifying details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentReference" + } + ] + } + } + }, + "ImageAsset": { + "description": "An Image asset.", + "type": "object", + "properties": { + "id": { + "description": "The Asset Id.", + "type": "string" + }, + "mimeType": { + "description": "The mime type.", + "type": "string" + }, + "url": { + "description": "The Url of the Asset.", + "type": "string" + }, + "unpack": { + "description": "Whether the Asset is unpacked.", + "type": "boolean" + } + } + }, + "ModelEnvironmentDefinition": { + "type": "object", + "properties": { + "name": { + "description": "The name of the environment.", + "type": "string", + "example": "mydevenvironment" + }, + "version": { + "description": "The environment version.", + "type": "string", + "example": "1" + }, + "python": { + "description": "Settings for a Python environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelPythonSection" + } + ] + }, + "environmentVariables": { + "description": "Definition of environment variables to be defined in the environment.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "docker": { + "description": "The definition of a Docker container.", + "allOf": [ + { + "$ref": "#/definitions/ModelDockerSection" + } + ] + }, + "spark": { + "description": "The configuration for a Spark environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelSparkSection" + } + ] + }, + "r": { + "description": "Settings for a R environment.", + "allOf": [ + { + "$ref": "#/definitions/RSection" + } + ] + }, + "inferencingStackVersion": { + "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".", + "type": "string", + "example": "latest" + } + } + }, + "ModelEnvironmentDefinitionResponse": { + "type": "object", + "properties": { + "name": { + "description": "The name of the environment.", + "type": "string", + "example": "mydevenvironment" + }, + "version": { + "description": "The environment version.", + "type": "string", + "example": "1" + }, + "python": { + "description": "Settings for a Python environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelPythonSection" + } + ] + }, + "environmentVariables": { + "description": "Definition of environment variables to be defined in the environment.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "docker": { + "description": "The definition of a Docker container.", + "allOf": [ + { + "$ref": "#/definitions/ModelDockerSectionResponse" + } + ] + }, + "spark": { + "description": "The configuration for a Spark environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelSparkSection" + } + ] + }, + "r": { + "description": "Settings for a R environment.", + "allOf": [ + { + "$ref": "#/definitions/RSectionResponse" + } + ] + }, + "inferencingStackVersion": { + "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".", + "type": "string", + "example": "latest" + } + } + }, + "EnvironmentReference": { + "type": "object", + "properties": { + "name": { + "description": "Name of the environment.", + "type": "string" + }, + "version": { + "description": "Version of the environment.", + "type": "string" + } + } + }, + "ModelPythonSection": { + "type": "object", + "properties": { + "interpreterPath": { + "description": "The python interpreter path to use if an environment build is not required. The path specified gets used to call the user script.", + "type": "string" + }, + "userManagedDependencies": { + "description": "True means that AzureML reuses an existing python environment; False means that AzureML will create a python environment based on the Conda dependencies specification.", + "type": "boolean" + }, + "condaDependencies": { + "description": "A JObject containing Conda dependencies.", + "type": "object" + }, + "baseCondaEnvironment": { + "type": "string" + } + } + }, + "ContainerRegistry": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "username": { + "type": "string", + "x-ms-secret": true + }, + "password": { + "type": "string", + "x-ms-secret": true + } + } + }, + "ContainerRegistryResponse": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "ModelDockerSection": { + "type": "object", + "properties": { + "baseImage": { + "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.", + "type": "string", + "example": "ubuntu:latest" + }, + "baseDockerfile": { + "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.", + "type": "string", + "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"" + }, + "baseImageRegistry": { + "description": "Image registry that contains the base image.", + "allOf": [ + { + "$ref": "#/definitions/ContainerRegistry" + } + ] + } + } + }, + "ModelDockerSectionResponse": { + "type": "object", + "properties": { + "baseImage": { + "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.", + "type": "string", + "example": "ubuntu:latest" + }, + "baseDockerfile": { + "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.", + "type": "string", + "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"" + }, + "baseImageRegistry": { + "description": "Image registry that contains the base image.", + "allOf": [ + { + "$ref": "#/definitions/ContainerRegistryResponse" + } + ] + } + } + }, + "SparkMavenPackage": { + "type": "object", + "properties": { + "group": { + "type": "string" + }, + "artifact": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "ModelSparkSection": { + "type": "object", + "properties": { + "repositories": { + "description": "The list of spark repositories.", + "type": "array", + "items": { + "type": "string" + } + }, + "packages": { + "description": "The Spark packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/SparkMavenPackage" + } + }, + "precachePackages": { + "description": "Whether to precache the packages.", + "type": "boolean" + } + } + }, + "RCranPackage": { + "type": "object", + "properties": { + "name": { + "description": "The package name.", + "type": "string" + }, + "repository": { + "description": "The repository name.", + "type": "string" + } + } + }, + "RGitHubPackage": { + "type": "object", + "properties": { + "repository": { + "description": "Repository address in the format username/repo[/subdir][@ref|#pull].", + "type": "string" + }, + "authToken": { + "description": "Personal access token to install from a private repo", + "type": "string", + "x-ms-secret": true + } + } + }, + "RGitHubPackageResponse": { + "type": "object", + "properties": { + "repository": { + "description": "Repository address in the format username/repo[/subdir][@ref|#pull].", + "type": "string" + } + } + }, + "RSection": { + "type": "object", + "properties": { + "rVersion": { + "description": "The version of R to be installed", + "type": "string" + }, + "userManaged": { + "description": "Indicates whether the environment is managed by user or by AzureML.", + "type": "boolean" + }, + "rscriptPath": { + "description": "The Rscript path to use if an environment build is not required.\r\nThe path specified gets used to call the user script.", + "type": "string" + }, + "snapshotDate": { + "description": "Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. \"2019-04-17\"", + "type": "string" + }, + "cranPackages": { + "description": "The CRAN packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/RCranPackage" + } + }, + "gitHubPackages": { + "description": "The packages directly from GitHub.", + "type": "array", + "items": { + "$ref": "#/definitions/RGitHubPackage" + } + }, + "customUrlPackages": { + "description": "The packages from custom urls.", + "type": "array", + "items": { + "type": "string" + } + }, + "bioConductorPackages": { + "description": "The packages from Bioconductor.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RSectionResponse": { + "type": "object", + "properties": { + "rVersion": { + "description": "The version of R to be installed", + "type": "string" + }, + "userManaged": { + "description": "Indicates whether the environment is managed by user or by AzureML.", + "type": "boolean" + }, + "rscriptPath": { + "description": "The Rscript path to use if an environment build is not required.\r\nThe path specified gets used to call the user script.", + "type": "string" + }, + "snapshotDate": { + "description": "Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. \"2019-04-17\"", + "type": "string" + }, + "cranPackages": { + "description": "The CRAN packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/RCranPackage" + } + }, + "gitHubPackages": { + "description": "The packages directly from GitHub.", + "type": "array", + "items": { + "$ref": "#/definitions/RGitHubPackageResponse" + } + }, + "customUrlPackages": { + "description": "The packages from custom urls.", + "type": "array", + "items": { + "type": "string" + } + }, + "bioConductorPackages": { + "description": "The packages from Bioconductor.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatasetReference": { + "description": "The dataset reference object.", + "type": "object", + "properties": { + "name": { + "description": "The name of the dataset reference.", + "type": "string" + }, + "id": { + "description": "The id of the dataset reference.", + "type": "string" + } + } + }, + "AKSVariantResponse": { + "description": "The response for an AKS variant.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ServiceResponseBase" + }, + { + "type": "object", + "properties": { + "isDefault": { + "description": "Is this the default variant.", + "type": "boolean" + }, + "trafficPercentile": { + "format": "float", + "description": "The amount of traffic variant receives.", + "type": "number", + "example": 100 + }, + "type": { + "description": "The type of the variant.", + "enum": [ + "Control", + "Treatment" + ], + "type": "string", + "example": "Control", + "x-ms-enum": { + "name": "VariantType", + "modelAsString": true + } + } + } + } + ], + "x-ms-discriminator-value": "Custom" + }, + "AutoScaler": { + "description": "The Auto Scaler properties.", + "type": "object", + "properties": { + "autoscaleEnabled": { + "description": "Option to enable/disable auto scaling.", + "type": "boolean" + }, + "minReplicas": { + "format": "int32", + "description": "The minimum number of replicas to scale down to.", + "type": "integer", + "example": 1 + }, + "maxReplicas": { + "format": "int32", + "description": "The maximum number of replicas in the cluster.", + "type": "integer", + "example": 3 + }, + "targetUtilization": { + "format": "int32", + "description": "The target utilization percentage to use for determining whether to scale the cluster.", + "type": "integer", + "example": 70 + }, + "refreshPeriodInSeconds": { + "format": "int32", + "description": "The amount of seconds to wait between auto scale updates.", + "type": "integer", + "example": 120 + } + } + }, + "AKSReplicaStatus": { + "type": "object", + "properties": { + "desiredReplicas": { + "format": "int32", + "description": "The desired number of replicas.", + "type": "integer", + "example": 2 + }, + "updatedReplicas": { + "format": "int32", + "description": "The number of updated replicas.", + "type": "integer", + "example": 1 + }, + "availableReplicas": { + "format": "int32", + "description": "The number of available replicas.", + "type": "integer", + "example": 1 + }, + "error": { + "description": "The error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorResponse" + } + ] + } + } + }, + "LivenessProbeRequirements": { + "description": "The liveness probe requirements.", + "type": "object", + "properties": { + "failureThreshold": { + "format": "int32", + "description": "The number of failures to allow before returning an unhealthy status.", + "type": "integer" + }, + "successThreshold": { + "format": "int32", + "description": "The number of successful probes before returning a healthy status.", + "type": "integer" + }, + "timeoutSeconds": { + "format": "int32", + "description": "The probe timeout in seconds.", + "type": "integer" + }, + "periodSeconds": { + "format": "int32", + "description": "The length of time between probes in seconds.", + "type": "integer" + }, + "initialDelaySeconds": { + "format": "int32", + "description": "The delay before the first probe in seconds.", + "type": "integer" + } + } + }, + "AKSServiceResponse": { + "description": "The response for an AKS service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AKSVariantResponse" + }, + { + "type": "object", + "properties": { + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "maxConcurrentRequestsPerContainer": { + "format": "int32", + "description": "The maximum number of concurrent requests per container.", + "type": "integer", + "example": 100 + }, + "maxQueueWaitMs": { + "format": "int32", + "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)", + "type": "integer", + "example": 250 + }, + "computeName": { + "description": "The name of the compute resource.", + "type": "string" + }, + "namespace": { + "description": "The Kubernetes namespace of the deployment.", + "type": "string", + "example": "default" + }, + "numReplicas": { + "format": "int32", + "description": "The number of replicas on the cluster.", + "type": "integer", + "example": 1 + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "autoScaler": { + "description": "The auto scaler properties.", + "allOf": [ + { + "$ref": "#/definitions/AutoScaler" + } + ] + }, + "scoringUri": { + "description": "The Uri for sending scoring requests.", + "type": "string", + "readOnly": true + }, + "deploymentStatus": { + "description": "The deployment status.", + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/AKSReplicaStatus" + } + ] + }, + "scoringTimeoutMs": { + "format": "int32", + "description": "The scoring timeout in milliseconds.", + "type": "integer", + "example": 100 + }, + "livenessProbeRequirements": { + "description": "The liveness probe requirements.", + "allOf": [ + { + "$ref": "#/definitions/LivenessProbeRequirements" + } + ] + }, + "authEnabled": { + "description": "Whether or not authentication is enabled.", + "type": "boolean" + }, + "aadAuthEnabled": { + "description": "Whether or not AAD authentication is enabled.", + "type": "boolean" + }, + "swaggerUri": { + "description": "The Uri for sending swagger requests.", + "type": "string", + "readOnly": true + }, + "modelConfigMap": { + "description": "Details on the models and configurations.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "environmentImageRequest": { + "description": "The Environment, models and assets used for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageResponse" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AuthKeys": { + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key.", + "type": "string" + } + } + }, + "CreateServiceRequest": { + "description": "The base class for creating a service.", + "required": [ + "computeType" + ], + "type": "object", + "properties": { + "description": { + "description": "The description of the service.", + "type": "string" + }, + "kvTags": { + "description": "The service tag dictionary. Tags are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The service properties dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "keys": { + "description": "The authentication keys.", + "allOf": [ + { + "$ref": "#/definitions/AuthKeys" + } + ] + }, + "computeType": { + "description": "The compute environment type for the service.", + "enum": [ + "ACI", + "AKS" + ], + "type": "string", + "example": "AKS", + "x-ms-enum": { + "name": "ComputeEnvironmentType", + "modelAsString": true + } + }, + "environmentImageRequest": { + "description": "The Environment, models and assets needed for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageRequest" + } + ] + }, + "location": { + "description": "The name of the Azure location/region.", + "type": "string" + } + }, + "discriminator": "computeType" + }, + "ACIServiceCreateRequest": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateServiceRequest" + }, + { + "type": "object", + "properties": { + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "authEnabled": { + "description": "Whether or not authentication is enabled on the service.", + "default": false, + "type": "boolean" + }, + "sslEnabled": { + "description": "Whether or not SSL is enabled.", + "default": false, + "type": "boolean" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "default": false, + "type": "boolean" + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "sslCertificate": { + "description": "The public SSL certificate in PEM format to use if SSL is enabled.", + "type": "string" + }, + "sslKey": { + "description": "The public SSL key in PEM format for the certificate.", + "type": "string" + }, + "cname": { + "description": "The CName for the service.", + "type": "string" + }, + "dnsNameLabel": { + "description": "The Dns label for the service.", + "type": "string" + }, + "vnetConfiguration": { + "description": "The virtual network configuration.", + "allOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + } + ] + }, + "encryptionProperties": { + "description": "The encryption properties.", + "allOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "ACI" + }, + "AKSServiceCreateRequest": { + "description": "The request to create an AKS service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateEndpointVariantRequest" + }, + { + "type": "object", + "properties": { + "numReplicas": { + "format": "int32", + "description": "The number of replicas on the cluster.", + "type": "integer", + "example": 1 + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "computeName": { + "description": "The name of the compute resource.", + "type": "string" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "autoScaler": { + "description": "The auto scaler properties.", + "allOf": [ + { + "$ref": "#/definitions/AutoScaler" + } + ] + }, + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "maxConcurrentRequestsPerContainer": { + "format": "int32", + "description": "The maximum number of concurrent requests per container.", + "type": "integer", + "example": 100 + }, + "maxQueueWaitMs": { + "format": "int32", + "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)", + "type": "integer", + "example": 250 + }, + "namespace": { + "description": "Kubernetes namespace for the service.", + "type": "string", + "example": "default" + }, + "scoringTimeoutMs": { + "format": "int32", + "description": "The scoring timeout in milliseconds.", + "type": "integer", + "example": 100 + }, + "authEnabled": { + "description": "Whether or not authentication is enabled.", + "type": "boolean" + }, + "livenessProbeRequirements": { + "description": "The liveness probe requirements.", + "allOf": [ + { + "$ref": "#/definitions/LivenessProbeRequirements" + } + ] + }, + "aadAuthEnabled": { + "description": "Whether or not AAD authentication is enabled.", + "type": "boolean" + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "CreateEndpointVariantRequest": { + "description": "The Variant properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateServiceRequest" + }, + { + "type": "object", + "properties": { + "isDefault": { + "description": "Is this the default variant.", + "type": "boolean" + }, + "trafficPercentile": { + "format": "float", + "description": "The amount of traffic variant receives.", + "type": "number", + "example": 100 + }, + "type": { + "description": "The type of the variant.", + "enum": [ + "Control", + "Treatment" + ], + "type": "string", + "example": "Control", + "x-ms-enum": { + "name": "VariantType", + "modelAsString": true + } + } + } + } + ], + "x-ms-discriminator-value": "Custom" + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListSkus.json new file mode 100644 index 000000000000..0248a5f57df6 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListSkus.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-05-15-preview", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "workspaces", + "name": "Basic", + "tier": "Basic", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ02", + "westus-AZ01" + ] + } + ], + "capabilities": [ + { + "name": "automatedml_readhyperdrivesdk", + "value": "{\n \"id\": \"automatedml_ readhyperdrivesdk\",\n \"name\": \"Read hyperdrive SDK\",\n \"description\": \"Read only access to Hyperdrive in the SDK\"\n}" + }, + { + "name": "workspace_upgradeworkspacesdk", + "value": "{\n \"id\": \"workspace_upgradeworkspacesdk\",\n \"name\": \"Upgrade workspace SDK\",\n \"description\": \"Upgrade workspace from Basic to enterprise from the SDK\"\n}" + } + ], + "restrictions": [] + }, + { + "resourceType": "workspaces", + "name": "Enterprise", + "tier": "Enterprise", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ01" + ], + "zoneDetails": [ + { + "name": [ + "westus-AZ01" + ], + "capabilities": [ + { + "name": "automatedml_createeditexperimentssdk", + "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + } + ] + } + ] + } + ], + "capabilities": [ + { + "name": "automatedml_createeditexperimentssdk", + "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + } + ], + "restrictions": [] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListUsages.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListUsages.json new file mode 100644 index 000000000000..8531e09146e5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListUsages.json @@ -0,0 +1,400 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/totalCores/usages", + "currentValue": 7, + "limit": 100, + "name": { + "localizedValue": "Clusters", + "value": "Clusters" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/dedicatedCores/usages", + "currentValue": 14, + "limit": 24, + "name": { + "localizedValue": "Total Cluster Dedicated Regional vCPUs", + "value": "Total Cluster Dedicated Regional vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_dsv2/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster2_dsv2/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 12, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_nc/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluser1_nc/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/lowPriorityCores/usages", + "currentValue": 18, + "limit": 50, + "name": { + "localizedValue": "Total Cluster LowPriority Regional vCPUs", + "value": "Total Cluster LowPriority Regional vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_D_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "value": "Standard D Family Cluster LowPriority vCPUs", + "localizedValue": "Standard D Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_DSv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard DSv2 Family Cluster LowPriority vCPUs", + "value": "Standard DSv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_Dv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard Dv2 Family Cluster LowPriority vCPUs", + "value": "Standard Dv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_FSv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard FSv2 Family Cluster LowPriority vCPUs", + "value": "Standard FSv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 18, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 12, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster2_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster3_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv2 Family Cluster LowPriority vCPUs", + "value": "Standard NCv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv3_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv3 Family Cluster LowPriority vCPUs", + "value": "Standard NCv3 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_ND_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard ND Family Cluster LowPriority vCPUs", + "value": "Standard ND Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NDv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NDv2 Family Cluster LowPriority vCPUs", + "value": "Standard NDv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NV_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NV Family Cluster LowPriority vCPUs", + "value": "Standard NV Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListVMSizesResult.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListVMSizesResult.json new file mode 100644 index 000000000000..2ddc7f03fa3d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListVMSizesResult.json @@ -0,0 +1,348 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-05-15-preview", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "amlCompute": [ + { + "name": "Standard_D1_v2", + "family": "standardDv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 51200, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.12, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_D2_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 7, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.09, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.23, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.11, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + } + }, + { + "name": "Standard_D11_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.15, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.1, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.24, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_DS1_v2", + "family": "standardDSv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 7168, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.12, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_F2s_v2", + "family": "standardFSv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 16384, + "memoryGB": 4, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.08, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.06, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.16, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_M32-8ms", + "family": "standardMSFamily", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 875, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 8.43, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.23, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.37, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 6.15, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_NC6", + "family": "standardNCFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.18, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.43, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.9, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.08, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_NV6", + "family": "standardNVFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.28, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.51, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.22, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.09, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_ND6s", + "family": "standardNDSFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.07, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.36, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.87, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.49, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListWorkspaceFeatures.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListWorkspaceFeatures.json new file mode 100644 index 000000000000..411004c04e69 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListWorkspaceFeatures.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "testworkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "automatedml_createeditexperimentsui", + "displayName": "Create edit experiments UI", + "description": "Create, edit or delete AutoML experiments in the SDK" + }, + { + "id": "workspace_upgradeworkspaceui", + "displayName": "Upgrade workspace UI", + "description": "Upgrade workspace from Basic to enterprise from the UI" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListWorkspaceQuotasByVMFamily.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListWorkspaceQuotasByVMFamily.json new file mode 100644 index 000000000000..704c580db801 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/ListWorkspaceQuotasByVMFamily.json @@ -0,0 +1,415 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quota", + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/amlComputeListNodes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/amlComputeListNodes.json new file mode 100644 index 000000000000..c292f4502ce9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/amlComputeListNodes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "computeType": "AmlCompute", + "nodes": [ + { + "nodeId": "tvm-3601533753_1-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50000, + "nodeState": "running", + "runId": "2f378a44-38f2-443a-9f0d-9909d0b47890" + }, + { + "nodeId": "tvm-3601533753_2-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50001, + "nodeState": "idle" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicAKSCompute.json new file mode 100644 index 000000000000..93764b087005 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicAKSCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AKS" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicAmlCompute.json new file mode 100644 index 000000000000..56ef4ab5977d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicAmlCompute.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "osType": "Windows", + "virtualMachineImage": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myImageGallery/images/myImageDefinition/versions/0.0.1" + }, + "isolatedNetwork": false, + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "NotSpecified", + "enableNodePublicIp": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicDataFactoryCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicDataFactoryCompute.json new file mode 100644 index 000000000000..af899ccebdc5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createBasicDataFactoryCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "DataFactory" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createLinkedWorkspace.json new file mode 100644 index 000000000000..f7e2d3d06c9d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createLinkedWorkspace.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview", + "parameters": { + "name": "link-1", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/linkedWorkspace-1", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/link-1", + "name": "link-1", + "type": "linkedWorkspaces", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/linkedWorkspace-1", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createOrUpdateService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createOrUpdateService.json new file mode 100644 index 000000000000..421f33aac3de --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createOrUpdateService.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview", + "serviceName": "service456", + "properties": { + "computeType": "ACI", + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://storage/azureml/score.py", + "unpack": false + } + ], + "models": [ + { + "name": "sklearn_regression_model.pkl", + "url": "aml://storage/azureml/sklearn_regression_model.pkl", + "mimeType": "application/x-python" + } + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null, + "username": null, + "password": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "containerResourceRequirements": { + "cpu": 1, + "memoryInGB": 1 + }, + "location": "eastus2", + "authEnabled": true, + "appInsightsEnabled": true + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service456", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service456", + "properties": { + "computeType": "ACI", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "scoringUri": "http://ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io/score", + "location": "eastus2", + "authEnabled": true, + "sslEnabled": false, + "appInsightsEnabled": true, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "sslCertificate": "", + "sslKey": "", + "cname": null, + "publicIp": "52.177.232.98", + "publicFqdn": "ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Transitioning" + } + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createWorkspace.json new file mode 100644 index 000000000000..1edd946727e7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/createWorkspace.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "friendlyName": "HelloName", + "description": "test description", + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "identity": { + "principalId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "type": "SystemAssigned" + }, + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteCompute.json new file mode 100644 index 000000000000..cad967267d66 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "underlyingResourceAction": "Delete" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/...pathToOperationResult..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteLinkedWorkspace.json new file mode 100644 index 000000000000..e6e30e2b4bdd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteLinkedWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteService.json new file mode 100644 index 000000000000..9bb65ac74a3c --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "serviceName": "service123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteWorkspace.json new file mode 100644 index 000000000000..3064541e0b2a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/deleteWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getAKSCompute.json new file mode 100644 index 000000000000..e67680830235 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getAKSCompute.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getAmlCompute.json new file mode 100644 index 000000000000..bcd93f48347a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getAmlCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "osType": "Windows", + "virtualMachineImage": null, + "isolatedNetwork": null, + "subnet": "test-subnet-resource-id", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "Enabled", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "errors": null, + "currentNodeCount": 0, + "targetNodeCount": 1, + "nodeStateCounts": { + "preparingNodeCount": 0, + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "leavingNodeCount": 0, + "preemptedNodeCount": 0 + }, + "enableNodePublicIp": true + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getComputes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getComputes.json new file mode 100644 index 000000000000..7bddddd83ca7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getComputes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute1234", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute1234", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute1234-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getLinkedWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getLinkedWorkspace.json new file mode 100644 index 000000000000..97803b44a0f3 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getLinkedWorkspace.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/link-1", + "name": "link-1", + "type": "linkedWorkspaces", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/linkedWorkspace-1", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getService.json new file mode 100644 index 000000000000..f4cb175a4050 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getService.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview", + "serviceName": "service123" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service123", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service123", + "properties": { + "computeType": "AKS", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "maxConcurrentRequestsPerContainer": 1, + "maxQueueWaitMs": 500, + "computeName": "my-aks-compute", + "namespace": "azureml-workspaces123", + "numReplicas": 1, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "appInsightsEnabled": true, + "autoScaler": { + "autoscaleEnabled": false, + "minReplicas": null, + "maxReplicas": null, + "targetUtilization": null, + "refreshPeriodInSeconds": null + }, + "scoringUri": "http://192.168.1.5:80/api/v1/service/service123/score", + "scoringTimeoutMs": null, + "livenessProbeRequirements": { + "failureThreshold": 3, + "successThreshold": 1, + "timeoutSeconds": 120, + "periodSeconds": 5, + "initialDelaySeconds": 310 + }, + "authEnabled": true, + "aadAuthEnabled": false, + "swaggerUri": "http://192.168.1.5/api/v1/service/service123/swagger.json", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getServices.json new file mode 100644 index 000000000000..0db921d12456 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getServices.json @@ -0,0 +1,274 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service123", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service123", + "properties": { + "computeType": "AKS", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "maxConcurrentRequestsPerContainer": 1, + "maxQueueWaitMs": 500, + "computeName": "my-aks-compute", + "namespace": "azureml-workspaces123", + "numReplicas": 1, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "appInsightsEnabled": true, + "autoScaler": { + "autoscaleEnabled": false, + "minReplicas": null, + "maxReplicas": null, + "targetUtilization": null, + "refreshPeriodInSeconds": null + }, + "scoringUri": "http://192.168.1.5:80/api/v1/service/service123/score", + "scoringTimeoutMs": null, + "livenessProbeRequirements": { + "failureThreshold": 3, + "successThreshold": 1, + "timeoutSeconds": 120, + "periodSeconds": 5, + "initialDelaySeconds": 310 + }, + "authEnabled": true, + "aadAuthEnabled": false, + "swaggerUri": "http://192.168.1.5/api/v1/service/service123/swagger.json", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + }, + { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service456", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service456", + "properties": { + "computeType": "ACI", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "scoringUri": "http://ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io/score", + "location": "eastus2", + "authEnabled": true, + "sslEnabled": false, + "appInsightsEnabled": true, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "sslCertificate": "", + "sslKey": "", + "cname": null, + "publicIp": "52.177.232.98", + "publicFqdn": "ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspace.json new file mode 100644 index 000000000000..6e7461be23ca --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspace.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "serviceProvisionedResourceGroup": "testworkspace_0000111122223333", + "privateLinkCount": 0, + "allowPublicAccessWhenBehindVnet": false, + "imageBuildCompute": "testcompute", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/testprivatelinkconnection", + "name": "testprivatelinkconnection", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ], + "sharedPrivateLinkResources": [ + { + "name": "testcosmosdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testcosmosdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspacesByResourceGroup.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspacesByResourceGroup.json new file mode 100644 index 000000000000..8b71299c739d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspacesByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace1", + "name": "testworkspace1", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName 1", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspacesBySubscription.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspacesBySubscription.json new file mode 100644 index 000000000000..3032881f12d2 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/getWorkspacesBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-5678/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listKeysAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listKeysAKSCompute.json new file mode 100644 index 000000000000..4d0543e95c68 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listKeysAKSCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "computeType": "AKS", + "userKubeConfig": "user kube config...", + "adminKubeConfig": "admin kube config...", + "imagePullSecretName": "the image pull secret name" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listLinkedWorkspaces.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listLinkedWorkspaces.json new file mode 100644 index 000000000000..66e3c333bccb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listLinkedWorkspaces.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/link-1", + "name": "link-1", + "type": "linkedWorkspaces", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-1/providers/Microsoft.Synapse/workspaces/linkedWorkspace-1", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai1" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/link-2", + "name": "link-2", + "type": "linkedWorkspaces", + "properties": { + "linkedWorkspaceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-2/providers/Microsoft.Synapse/workspaces/linkedWorkspace-2", + "userAssignedIdentityResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai2" + } + } + ] + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listWorkspaceKeys.json new file mode 100644 index 000000000000..5aafd35b8f1f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/listWorkspaceKeys.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "userStorageKey": "r5rKCJ018TLk+bdAi/9YaVzgcQ0nkLsUqGyUN03KsdCFtqG0SjFGPV8+vT1frWqkvBL0bGoPpLc1BlZSSaZmOA==", + "userStorageResourceId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ragargeastus2euap/providers/Microsoft.Storage/storageAccounts/testdemoworkazashomr", + "appInsightsInstrumentationKey": null, + "containerRegistryCredentials": { + "location": null, + "username": "testdemoworkjmjmeykp", + "passwords": [ + { + "name": "password", + "value": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw" + }, + { + "name": "password2", + "value": "0KARRQoQHSUq1yViPWg7YFernOS=Ic/t" + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/patchAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/patchAmlCompute.json new file mode 100644 index 000000000000..9896152b5883 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/patchAmlCompute.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/resyncWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/resyncWorkspaceKeys.json new file mode 100644 index 000000000000..d292d6494e2e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/resyncWorkspaceKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateAKSCompute.json new file mode 100644 index 000000000000..4ede3a3d75f9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateAKSCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "properties": { + "agentCount": 4 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateAmlCompute.json new file mode 100644 index 000000000000..786175fe9a16 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateAmlCompute.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "description": "some compute", + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateQuota.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateQuota.json new file mode 100644 index 000000000000..418097cf9ebb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateQuota.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview", + "parameters": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 100, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 200, + "unit": "Count" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 100, + "unit": "Count", + "status": "Success" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 200, + "unit": "Count", + "status": "Success" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateWorkspace.json new file mode 100644 index 000000000000..b2de5e85f874 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/updateWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "parameters": { + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "friendlyName": "New friendly name", + "description": "new description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "New friendly name", + "description": "new description" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceDeletePrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..177f06c4bf79 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceGetPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..72d0177e2a48 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceListPrivateLinkResources.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceListPrivateLinkResources.json new file mode 100644 index 000000000000..2115b10da341 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspaceListPrivateLinkResources.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateLinkResources/amlworkspace", + "name": "amlworkspace", + "type": "Microsoft.Storage/workspaces/privateLinkResources", + "properties": { + "groupId": "amlworkspace", + "requiredMembers": [ + "default" + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspacePutPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspacePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..d0189346cf31 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/examples/workspacePutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/machineLearningServices.json new file mode 100644 index 000000000000..68f7eca306ce --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-05-15-preview/machineLearningServices.json @@ -0,0 +1,5536 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Machine Learning Workspaces", + "description": "These APIs allow end users to operate on Azure Machine Learning Workspace resources.", + "version": "2020-05-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.MachineLearningServices/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Machine Learning Workspaces REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Gets the properties of the specified machine learning workspace.", + "operationId": "Workspaces_Get", + "x-ms-examples": { + "Get Workspace": { + "$ref": "./examples/getWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "Workspaces" + ], + "description": "Creates or updates a workspace with the specified parameters.", + "operationId": "Workspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Workspace": { + "$ref": "./examples/createWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for creating or updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "Workspaces" + ], + "description": "Deletes a machine learning workspace.", + "operationId": "Workspaces_Delete", + "x-ms-examples": { + "Delete Workspace": { + "$ref": "./examples/deleteWorkspace.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, + "204": { + "description": "The machine learning workspace does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "Workspaces" + ], + "description": "Updates a machine learning workspace with the specified parameters.", + "operationId": "Workspaces_Update", + "x-ms-examples": { + "Update Workspace": { + "$ref": "./examples/updateWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all enabled features for a workspace", + "operationId": "WorkspaceFeatures_List", + "x-ms-examples": { + "List Workspace features": { + "$ref": "./examples/ListWorkspaceFeatures.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListAmlUserFeatureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified resource group.", + "operationId": "Workspaces_ListByResourceGroup", + "x-ms-examples": { + "Get Workspaces by Resource Group": { + "$ref": "./examples/getWorkspacesByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ListKeys", + "x-ms-examples": { + "List Workspace Keys": { + "$ref": "./examples/listWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListWorkspaceKeysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Resync all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ResyncKeys", + "x-ms-examples": { + "Resync Workspace Keys": { + "$ref": "./examples/resyncWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages": { + "get": { + "tags": [ + "Usage" + ], + "operationId": "Usages_List", + "description": "Gets the current usage information as well as limits for AML resources for given subscription and location.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes": { + "get": { + "tags": [ + "VirtualMachineSizes" + ], + "operationId": "VirtualMachineSizes_List", + "description": "Returns supported VM Sizes in a location", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-examples": { + "List VM Sizes": { + "$ref": "./examples/ListVMSizesResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas": { + "post": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_Update", + "description": "Update quota for each VM family in workspace.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for update quota is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaUpdateParameters" + }, + "description": "Quota update parameters." + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful.", + "schema": { + "$ref": "#/definitions/UpdateWorkspaceQuotasResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "update quotas": { + "$ref": "./examples/updateQuota.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/Quotas": { + "get": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_List", + "description": "Gets the currently assigned Workspace Quotas based on VMFamily.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListWorkspaceQuotas" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List workspace quotas by VMFamily": { + "$ref": "./examples/ListWorkspaceQuotasByVMFamily.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified subscription.", + "operationId": "Workspaces_ListBySubscription", + "x-ms-examples": { + "Get Workspaces by subscription": { + "$ref": "./examples/getWorkspacesBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningCompute_ListByWorkspace", + "description": "Gets computes in specified workspace.", + "x-ms-examples": { + "Get Computes": { + "$ref": "./examples/getComputes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedComputeResourcesList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Get", + "description": "Gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are not returned - use 'keys' nested resource to get them.", + "x-ms-examples": { + "Get a AKS Compute": { + "$ref": "./examples/getAKSCompute.json" + }, + "Get a AML Compute": { + "$ref": "./examples/getAmlCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_CreateOrUpdate", + "description": "Creates or updates compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation. If your intent is to create a new compute, do a GET first to verify that it does not exist yet.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a AML Compute": { + "$ref": "./examples/createBasicAmlCompute.json" + }, + "Create AKS Compute": { + "$ref": "./examples/createBasicAKSCompute.json" + }, + "Create a DataFactory Compute": { + "$ref": "./examples/createBasicDataFactoryCompute.json" + }, + "Update a AML Compute": { + "$ref": "./examples/updateAmlCompute.json" + }, + "Update a AKS Compute": { + "$ref": "./examples/updateAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/ComputeDefinitionParameter" + } + ], + "responses": { + "200": { + "description": "Compute creation or update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "201": { + "description": "Compute creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Update", + "description": "Updates properties of a compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a AmlCompute Compute": { + "$ref": "./examples/patchAmlCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdateParameters" + }, + "description": "Additional parameters for cluster update." + } + ], + "responses": { + "200": { + "description": "Compute update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Delete", + "description": "Deletes specified Machine Learning compute.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Compute": { + "$ref": "./examples/deleteCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/UnderlyingResourceActionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "Compute deletion initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + }, + "Location": { + "description": "URI to poll for asynchronous operation result.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes": { + "post": { + "tags": [ + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListNodes", + "description": "Get the details (e.g IP address, port etc) of all the compute nodes in the compute.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of IP addresses.", + "schema": { + "$ref": "#/definitions/AmlComputeNodesInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "Get compute nodes information for a compute": { + "$ref": "./examples/amlComputeListNodes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListKeys", + "description": "Gets secrets related to Machine Learning compute (storage keys, service credentials, etc).", + "x-ms-examples": { + "List AKS Compute Keys": { + "$ref": "./examples/listKeysAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeSecrets" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces/skus": { + "get": { + "tags": [ + "WorkspaceSkus" + ], + "description": "Lists all skus with associated features", + "operationId": "ListSkus", + "x-ms-examples": { + "List Skus": { + "$ref": "./examples/ListSkus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/SkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceGetPrivateEndpointConnection": { + "$ref": "./examples/workspaceGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspacePutPrivateEndpointConnection": { + "$ref": "./examples/workspacePutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceDeletePrivateEndpointConnection": { + "$ref": "./examples/workspaceDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "WorkspacePrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "Gets the private link resources that need to be created for a workspace.", + "x-ms-examples": { + "WorkspaceListPrivateLinkResources": { + "$ref": "./examples/workspaceListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/linkedWorkspaces": { + "get": { + "tags": [ + "LinkedWorkspaces" + ], + "x-ms-examples": { + "ListLinkedWorkspaces": { + "$ref": "./examples/listLinkedWorkspaces.json" + } + }, + "operationId": "LinkedWorkspaces_List", + "description": "List all linked workspaces under a AML workspace.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the linked workspaces.", + "schema": { + "type": "array", + "description": "array of linked workspaces.", + "items": { + "$ref": "#/definitions/LinkedWorkspace" + } + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/linkedWorkspaces/{linkName}": { + "put": { + "tags": [ + "LinkedWorkspaces" + ], + "operationId": "LinkedWorkspaces_Create", + "description": "Add a new linked workspace.", + "x-ms-examples": { + "CreateLinkedWorkspace": { + "$ref": "./examples/createLinkedWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The object for creating or updating a new linked workspace", + "required": true, + "schema": { + "$ref": "#/definitions/LinkedWorkspaceDto" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the linked workspace.", + "schema": { + "$ref": "#/definitions/LinkedWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "get": { + "tags": [ + "LinkedWorkspaces" + ], + "operationId": "LinkedWorkspaces_Get", + "description": "Get the detail of a linked workspace.", + "x-ms-examples": { + "GetLinkedWorkspace": { + "$ref": "./examples/getLinkedWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the detail of the linked workspace.", + "schema": { + "$ref": "#/definitions/LinkedWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "LinkedWorkspaces" + ], + "operationId": "LinkedWorkspaces_Delete", + "description": "Delete a linked workspace.", + "x-ms-examples": { + "DeleteLinkedWorkspace": { + "$ref": "./examples/deleteLinkedWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the linked workspace." + }, + "204": { + "description": "Specific linked workspace not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/services": { + "get": { + "tags": [ + "MachineLearningServices" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningService_ListByWorkspace", + "description": "Gets services in specified workspace.", + "x-ms-examples": { + "Get Services": { + "$ref": "./examples/getServices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + }, + { + "$ref": "#/parameters/ModelIdParameter" + }, + { + "$ref": "#/parameters/ModelNameParameter" + }, + { + "$ref": "#/parameters/WebServiceTagParameter" + }, + { + "$ref": "#/parameters/WebServiceTagsParameter" + }, + { + "$ref": "#/parameters/WebServicePropertiesParameter" + }, + { + "$ref": "#/parameters/WebServiceRunIdParameter" + }, + { + "$ref": "#/parameters/WebServiceExpandParameter" + }, + { + "$ref": "#/parameters/WebServiceOrderByParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning services and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedServiceList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/services/{serviceName}": { + "get": { + "tags": [ + "MachineLearningServices" + ], + "operationId": "MachineLearningService_Get", + "description": "Get a Service by name.", + "x-ms-examples": { + "Get Service": { + "$ref": "./examples/getService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Set to True to include Model details.", + "type": "boolean", + "default": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "MachineLearningServices" + ], + "operationId": "MachineLearningService_Delete", + "description": "Delete a specific Service..", + "x-ms-examples": { + "Delete Service": { + "$ref": "./examples/deleteService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The resource exists and was deleted successfully." + }, + "204": { + "description": "The resource does not exist and the request was well formed." + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "MachineLearningServices" + ], + "description": "Creates or updates service. This call will update a service if it exists. This is a nonrecoverable operation. If your intent is to create a new service, do a GET first to verify that it does not exist yet.", + "operationId": "MachineLearningService_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Or Update service": { + "$ref": "./examples/createOrUpdateService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + }, + { + "in": "body", + "name": "properties", + "description": "The payload that is used to create or update the Service.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "Service creation or update initiated.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "201": { + "description": "Service creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "description": "Azure subscription identifier.", + "in": "path", + "type": "string", + "required": true + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "description": "Name of the resource group in which workspace is located.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "description": "Name of Azure Machine Learning workspace.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "ComputeNameParameter": { + "name": "computeName", + "description": "Name of the Azure Machine Learning compute.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "AsyncOperationIdParameter": { + "name": "asyncOperationId", + "description": "Identifier of an asynchronous Azure Machine Learning compute operation.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "description": "The name of the Azure location/region.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "APIVersionParameter": { + "in": "query", + "name": "api-version", + "type": "string", + "description": "Version of Azure Machine Learning resource provider API.", + "required": true + }, + "PaginationParameter": { + "in": "query", + "name": "$skiptoken", + "type": "string", + "description": "Continuation token for pagination.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ComputeDefinitionParameter": { + "in": "body", + "name": "parameters", + "description": "Payload with Machine Learning compute definition.", + "required": true, + "schema": { + "$ref": "#/definitions/ComputeResource" + }, + "x-ms-parameter-location": "method" + }, + "ComputeTypeParameter": { + "in": "query", + "name": "compute-type", + "type": "string", + "description": "Type of compute to filter by.", + "required": false, + "x-ms-parameter-location": "method" + }, + "UnderlyingResourceActionParameter": { + "in": "query", + "name": "underlyingResourceAction", + "type": "string", + "description": "Delete the underlying compute if 'Delete', or detach the underlying compute from workspace if 'Detach'.", + "required": true, + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "UnderlyingResourceAction", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the workspace", + "x-ms-parameter-location": "method" + }, + "LinkName": { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "Friendly name of the linked workspace", + "x-ms-parameter-location": "method" + }, + "ModelIdParameter": { + "in": "query", + "name": "modelId", + "type": "string", + "description": "The Model Id.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ModelNameParameter": { + "in": "query", + "name": "modelName", + "type": "string", + "description": "The Model name.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceNameParameter": { + "name": "serviceName", + "description": "Name of the Azure Machine Learning service.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WebServiceTagParameter": { + "in": "query", + "name": "tag", + "type": "string", + "description": "The object tag.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceCountParameter": { + "in": "query", + "name": "count", + "type": "integer", + "format": "int32", + "description": "The number of items to retrieve in a page.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceTagsParameter": { + "in": "query", + "name": "tags", + "type": "string", + "description": "A set of tags with which to filter the returned services. It is a comma separated string of tags key or tags key=value Example: tagKey1,tagKey2,tagKey3=value3 .", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServicePropertiesParameter": { + "in": "query", + "name": "properties", + "type": "string", + "description": "A set of properties with which to filter the returned services. It is a comma separated string of properties key and/or properties key=value Example: propKey1,propKey2,propKey3=value3 .", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceRunIdParameter": { + "in": "query", + "name": "runId", + "type": "string", + "description": "runId for model associated with service.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceExpandParameter": { + "in": "query", + "name": "expand", + "type": "boolean", + "description": "Set to True to include Model details.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceOrderByParameter": { + "in": "query", + "name": "orderby", + "type": "string", + "description": "The option to order the response.", + "required": false, + "default": "UpdatedAtDesc", + "enum": [ + "CreatedAtDesc", + "CreatedAtAsc", + "UpdatedAtDesc", + "UpdatedAtAsc" + ], + "x-ms-enum": { + "name": "OrderString", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Operation": { + "description": "Azure Machine Learning workspace REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display name of operation", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.MachineLearningExperimentation", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "An array of operations supported by the resource provider.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of AML workspace operations supported by the AML workspace resource provider." + } + } + }, + "Workspace": { + "type": "object", + "description": "An object that represents a machine learning workspace.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceProperties", + "description": "The properties of the machine learning workspace.", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceProperties": { + "type": "object", + "description": "The properties of a machine learning workspace.", + "properties": { + "workspaceId": { + "description": "The immutable id associated with this workspace.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace. This name in mutable", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of the machine learning workspace in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "keyVault": { + "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "applicationInsights": { + "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "containerRegistry": { + "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "storageAccount": { + "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "discoveryUrl": { + "description": "Url for the discovery service to identify regional endpoints for machine learning experimentation services", + "type": "string" + }, + "provisioningState": { + "type": "string", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of Azure ML workspace." + }, + "hbiWorkspace": { + "type": "boolean", + "description": "The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service", + "default": false + }, + "serviceProvisionedResourceGroup": { + "type": "string", + "description": "The name of the managed resource group created by workspace RP in customer subscription if the workspace is CMK workspace", + "readOnly": true + }, + "privateLinkCount": { + "type": "integer", + "format": "int32", + "description": "Count of private connections in the workspace", + "readOnly": true + }, + "imageBuildCompute": { + "description": "The compute name for image build", + "type": "string" + }, + "allowPublicAccessWhenBehindVnet": { + "type": "boolean", + "description": "The flag to indicate whether to allow public access when behind VNet.", + "default": false + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections in the workspace." + }, + "sharedPrivateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources in this workspace." + } + } + }, + "WorkspaceUpdateParameters": { + "description": "The parameters for updating a machine learning workspace.", + "properties": { + "tags": { + "description": "The resource tags for the machine learning workspace.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + }, + "properties": { + "$ref": "#/definitions/WorkspacePropertiesUpdateParameters", + "description": "The properties that the machine learning workspace will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WorkspacePropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a machine learning workspace.", + "properties": { + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace.", + "type": "string" + } + } + }, + "AmlUserFeature": { + "description": "Features enabled for a workspace", + "type": "object", + "properties": { + "id": { + "description": "Specifies the feature ID", + "type": "string" + }, + "displayName": { + "description": "Specifies the feature name ", + "type": "string" + }, + "description": { + "description": "Describes the feature for user experience", + "type": "string" + } + } + }, + "ListAmlUserFeatureResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlUserFeature" + }, + "description": "The list of AML user facing features." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML user features information. Call ListNext() with this to fetch the next page of AML user features information." + } + }, + "description": "The List Aml user feature operation response." + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The current usage of the resource." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "description": "Describes AML Resource Usage." + }, + "ListUsagesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of AML resource usages." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML resource usage information. Call ListNext() with this to fetch the next page of AML resource usage information." + } + }, + "description": "The List Usages operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "title": "Virtual Machine size name", + "description": "The name of the virtual machine size.", + "readOnly": true + }, + "family": { + "type": "string", + "title": "Virtual Machine family name", + "description": "The family name of the virtual machine size.", + "readOnly": true + }, + "vCPUs": { + "type": "integer", + "format": "int32", + "title": "Number of vPUs", + "description": "The number of vCPUs supported by the virtual machine size.", + "readOnly": true + }, + "gpus": { + "type": "integer", + "format": "int32", + "title": "Number of gPUs", + "description": "The number of gPUs supported by the virtual machine size.", + "readOnly": true + }, + "osVhdSizeMB": { + "type": "integer", + "format": "int32", + "title": "OS VHD Disk size", + "description": "The OS VHD disk size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "maxResourceVolumeMB": { + "type": "integer", + "format": "int32", + "title": "Resource volume size", + "description": "The resource volume size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "memoryGB": { + "type": "number", + "format": "double", + "title": "Memory size", + "description": "The amount of memory, in GB, supported by the virtual machine size.", + "readOnly": true + }, + "lowPriorityCapable": { + "type": "boolean", + "title": "Low priority capable", + "description": "Specifies if the virtual machine size supports low priority VMs.", + "readOnly": true + }, + "premiumIO": { + "type": "boolean", + "title": "Premium IO supported", + "description": "Specifies if the virtual machine size supports premium IO.", + "readOnly": true + }, + "estimatedVMPrices": { + "title": "Estimated VM prices", + "description": "The estimated price information for using a VM.", + "$ref": "#/definitions/EstimatedVMPrices" + } + }, + "description": "Describes the properties of a VM size." + }, + "EstimatedVMPrices": { + "properties": { + "billingCurrency": { + "type": "string", + "title": "Billing currency", + "description": "Three lettered code specifying the currency of the VM price. Example: USD", + "enum": [ + "USD" + ], + "x-ms-enum": { + "name": "BillingCurrency", + "modelAsString": true + } + }, + "unitOfMeasure": { + "type": "string", + "title": "Unit of time measure", + "description": "The unit of time measurement for the specified VM price. Example: OneHour", + "enum": [ + "OneHour" + ], + "x-ms-enum": { + "name": "UnitOfMeasure", + "modelAsString": true + } + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/EstimatedVMPrice" + }, + "title": "List of estimated VM prices.", + "description": "The list of estimated prices for using a VM of a particular OS type, tier, etc." + } + }, + "required": [ + "billingCurrency", + "unitOfMeasure", + "values" + ], + "description": "The estimated price info for using a VM." + }, + "EstimatedVMPrice": { + "properties": { + "retailPrice": { + "type": "number", + "format": "double", + "title": "Retail price", + "description": "The price charged for using the VM." + }, + "osType": { + "type": "string", + "title": "OS type", + "description": "Operating system type used by the VM.", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "VMPriceOSType", + "modelAsString": true + } + }, + "vmTier": { + "type": "string", + "title": "VM tier", + "description": "The type of the VM.", + "enum": [ + "Standard", + "LowPriority", + "Spot" + ], + "x-ms-enum": { + "name": "VMTier", + "modelAsString": true + } + } + }, + "required": [ + "retailPrice", + "osType", + "vmTier" + ], + "description": "The estimated price info for using a VM of a particular OS type, tier, etc." + }, + "VirtualMachineSizeListResult": { + "properties": { + "amlCompute": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineSize" + }, + "description": "The list of virtual machine sizes supported by AmlCompute." + } + }, + "description": "The List Virtual Machine size operation response." + }, + "WorkspaceListResult": { + "description": "The result of a request to list machine learning workspaces.", + "properties": { + "value": { + "description": "The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces.", + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of machine learning workspaces.", + "type": "string" + } + } + }, + "QuotaBaseProperties": { + "properties": { + "id": { + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The properties for Quota update or retrieval." + }, + "QuotaUpdateParameters": { + "properties": { + "value": { + "description": "The list for update quota.", + "type": "array", + "items": { + "$ref": "#/definitions/QuotaBaseProperties" + } + } + }, + "description": "Quota update parameters." + }, + "UpdateWorkspaceQuotasResult": { + "properties": { + "value": { + "description": "The list of workspace quota update result.", + "items": { + "$ref": "#/definitions/UpdateWorkspaceQuotas" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.", + "readOnly": true, + "type": "string" + } + }, + "description": "The result of update workspace quota." + }, + "UpdateWorkspaceQuotas": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": false, + "title": "Update Workspace Quota Status.", + "description": "Status of update workspace quota.", + "enum": [ + "Undefined", + "Success", + "Failure", + "InvalidQuotaBelowClusterMinimum", + "InvalidQuotaExceedsSubscriptionLimit", + "InvalidVMFamilyName", + "OperationNotSupportedForSku", + "OperationNotEnabledForRegion" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + } + }, + "description": "The properties for update Quota response." + }, + "ResourceName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Resource Name." + }, + "ResourceQuota": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "name": { + "$ref": "#/definitions/ResourceName", + "description": "Name of the resource.", + "readOnly": true + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The quota assigned to a resource." + }, + "ListWorkspaceQuotas": { + "properties": { + "value": { + "description": "The list of Workspace Quotas by VM Family", + "items": { + "$ref": "#/definitions/ResourceQuota" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.", + "readOnly": true, + "type": "string" + } + }, + "description": "The List WorkspaceQuotasByVMFamily operation response." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "SystemAssigned,UserAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentities", + "description": "The user assigned identities associated with the resource." + } + }, + "description": "Identity for the resource." + }, + "UserAssignedIdentities": { + "description": "dictionary containing all the user assigned identities, with resourceId of the UAI as key.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "UserAssignedIdentity": { + "description": "User Assigned Identity", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the user assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The clientId(aka appId) of the user assigned identity." + } + } + }, + "Resource": { + "description": "Azure Resource Manager resource envelope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Specifies the resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Specifies the name of the resource.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "location": { + "description": "Specifies the location of the resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + } + } + }, + "ResourceId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the resource" + } + }, + "required": [ + "id" + ], + "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", + "x-ms-azure-resource": true + }, + "ListWorkspaceKeysResult": { + "type": "object", + "properties": { + "userStorageKey": { + "readOnly": true, + "type": "string" + }, + "userStorageResourceId": { + "readOnly": true, + "type": "string" + }, + "appInsightsInstrumentationKey": { + "readOnly": true, + "type": "string" + }, + "containerRegistryCredentials": { + "readOnly": true, + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "RegistryListCredentialsResult": { + "type": "object", + "properties": { + "location": { + "readOnly": true, + "type": "string" + }, + "username": { + "readOnly": true, + "type": "string" + }, + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/Password" + } + } + } + }, + "Password": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string" + }, + "value": { + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedComputeResourcesList": { + "type": "object", + "description": "Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ComputeResource" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ComputeResource": { + "type": "object", + "description": "Machine Learning compute object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute properties", + "$ref": "#/definitions/Compute" + } + } + } + ] + }, + "Compute": { + "type": "object", + "description": "Machine Learning compute object.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "computeLocation": { + "description": "Location for the underlying compute", + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed.", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "description": { + "type": "string", + "description": "The description of the Machine Learning compute." + }, + "createdOn": { + "type": "string", + "description": "The date and time when the compute was created.", + "format": "date-time", + "readOnly": true + }, + "modifiedOn": { + "type": "string", + "description": "The date and time when the compute was last modified.", + "format": "date-time", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "ARM resource id of the underlying compute" + }, + "provisioningErrors": { + "type": "array", + "description": "Errors during provisioning", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + }, + "readOnly": true + }, + "isAttachedCompute": { + "type": "boolean", + "description": "Indicating whether the compute was provisioned by user and brought from outside if true, or machine learning service provisioned it if false.", + "readOnly": true + } + }, + "required": [ + "computeType" + ] + }, + "AKS": { + "description": "A Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AKS properties", + "properties": { + "clusterFqdn": { + "description": "Cluster full qualified domain name", + "type": "string" + }, + "systemServices": { + "type": "array", + "description": "System services", + "items": { + "$ref": "#/definitions/SystemService" + }, + "readOnly": true + }, + "agentCount": { + "description": "Number of agents", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "agentVMSize": { + "description": "Agent virtual machine size", + "type": "string" + }, + "sslConfiguration": { + "description": "SSL configuration", + "$ref": "#/definitions/SslConfiguration" + }, + "aksNetworkingConfiguration": { + "description": "AKS networking configuration for vnet", + "$ref": "#/definitions/AksNetworkingConfiguration" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AmlCompute": { + "description": "An Azure Machine Learning compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AML Compute properties", + "properties": { + "osType": { + "description": "Compute OS Type", + "type": "string", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OsType", + "modelAsString": true + } + }, + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "vmPriority": { + "description": "Virtual Machine priority", + "type": "string", + "enum": [ + "Dedicated", + "LowPriority" + ], + "x-ms-enum": { + "name": "VmPriority", + "modelAsString": true + } + }, + "virtualMachineImage": { + "description": "Virtual Machine image for AML Compute - windows only", + "$ref": "#/definitions/VirtualMachineImage" + }, + "isolatedNetwork": { + "description": "Network is isolated or not", + "type": "boolean" + }, + "scaleSettings": { + "description": "Scale settings for AML Compute", + "$ref": "#/definitions/ScaleSettings" + }, + "userAccountCredentials": { + "title": "User account credentials.", + "description": "Credentials for an administrator user account that will be created on each compute node.", + "$ref": "#/definitions/UserAccountCredentials" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "remoteLoginPortPublicAccess": { + "type": "string", + "default": "NotSpecified", + "title": "Close remote Login Access Port", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled", + "NotSpecified" + ], + "x-ms-enum": { + "name": "remoteLoginPortPublicAccess", + "modelAsString": true + } + }, + "allocationState": { + "type": "string", + "readOnly": true, + "title": "Allocation state.", + "description": "Allocation state of the compute. Possible values are: steady - Indicates that the compute is not resizing. There are no changes to the number of compute nodes in the compute in progress. A compute enters this state when it is created and when no operations are being performed on the compute to change the number of compute nodes. resizing - Indicates that the compute is resizing; that is, compute nodes are being added to or removed from the compute.", + "enum": [ + "Steady", + "Resizing" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": true + } + }, + "allocationStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Allocation state transition time.", + "description": "The time at which the compute entered its current allocation state." + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered by various compute nodes during node setup.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "currentNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Current node count.", + "description": "The number of compute nodes currently assigned to the compute." + }, + "targetNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Target node count.", + "description": "The target number of compute nodes for the compute. If the allocationState is resizing, this property denotes the target node count for the ongoing resize operation. If the allocationState is steady, this property denotes the target node count for the previous resize operation." + }, + "nodeStateCounts": { + "title": "Node state counts.", + "description": "Counts of various node states on the compute.", + "readOnly": true, + "$ref": "#/definitions/NodeStateCounts" + }, + "enableNodePublicIp": { + "type": "boolean", + "default": true, + "title": "Enable node public IP.", + "description": "Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs." + } + } + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "VirtualMachine": { + "description": "A Machine Learning compute based on Azure Virtual Machines.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "virtualMachineSize": { + "description": "Virtual Machine size", + "type": "string" + }, + "sshPort": { + "description": "Port open for ssh connections.", + "type": "integer", + "format": "int32" + }, + "address": { + "description": "Public IP address of the virtual machine.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for virtual machine", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "HDInsight": { + "description": "A HDInsight compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "sshPort": { + "description": "Port open for ssh connections on the master node of the cluster.", + "type": "integer", + "format": "int32" + }, + "address": { + "description": "Public IP address of the master node of the cluster.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for master node of the cluster", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "HDInsight" + }, + "DataFactory": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + } + ], + "x-ms-discriminator-value": "DataFactory" + }, + "Databricks": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "Databricks access token", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "DataLakeAnalytics": { + "description": "A DataLakeAnalytics compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "dataLakeStoreAccountName": { + "description": "DataLake Store Account Name", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "DataLakeAnalytics" + }, + "ServicePrincipalCredentials": { + "type": "object", + "description": "Service principal credentials.", + "properties": { + "clientId": { + "description": "Client Id", + "type": "string" + }, + "clientSecret": { + "description": "Client secret", + "type": "string" + } + }, + "required": [ + "clientId", + "clientSecret" + ] + }, + "SystemService": { + "type": "object", + "description": "A system service running on a compute.", + "properties": { + "systemServiceType": { + "description": "The type of this system service.", + "readOnly": true, + "type": "string" + }, + "publicIpAddress": { + "type": "string", + "description": "Public IP address", + "readOnly": true + }, + "version": { + "description": "The version for this type.", + "readOnly": true, + "type": "string" + } + } + }, + "SslConfiguration": { + "type": "object", + "description": "The ssl configuration for scoring", + "properties": { + "status": { + "description": "Enable or disable ssl for scoring", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + "cert": { + "description": "Cert data", + "type": "string" + }, + "key": { + "description": "Key data", + "type": "string" + }, + "cname": { + "description": "CNAME of the cert", + "type": "string" + } + } + }, + "AksNetworkingConfiguration": { + "type": "object", + "description": "Advance configuration for AKS networking", + "properties": { + "subnetId": { + "description": "Virtual network subnet resource ID the compute nodes belong to", + "type": "string" + }, + "serviceCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.", + "type": "string" + }, + "dnsServiceIP": { + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.", + "type": "string" + }, + "dockerBridgeCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.", + "type": "string" + } + } + }, + "UserAccountCredentials": { + "properties": { + "adminUserName": { + "type": "string", + "title": "User name.", + "description": "Name of the administrator user account which can be used to SSH to nodes." + }, + "adminUserSshPublicKey": { + "type": "string", + "title": "SSH public key.", + "description": "SSH public key of the administrator user account." + }, + "adminUserPassword": { + "type": "string", + "title": "Password.", + "description": "Password of the administrator user account." + } + }, + "required": [ + "adminUserName" + ], + "description": "Settings for user account that gets created on each on the nodes of a compute." + }, + "ScaleSettings": { + "type": "object", + "description": "scale settings for AML Compute", + "properties": { + "maxNodeCount": { + "description": "Max number of nodes to use", + "type": "integer", + "format": "int32" + }, + "minNodeCount": { + "description": "Min number of nodes to use", + "type": "integer", + "format": "int32", + "default": 0 + }, + "nodeIdleTimeBeforeScaleDown": { + "type": "string", + "format": "duration", + "description": "Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format." + } + }, + "required": [ + "maxNodeCount" + ] + }, + "VirtualMachineImage": { + "type": "object", + "description": "Virtual Machine image for Windows AML Compute", + "properties": { + "id": { + "description": "Virtual Machine image path", + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "NodeStateCounts": { + "properties": { + "idleNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Idle node count.", + "description": "Number of compute nodes in idle state." + }, + "runningNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Running node count.", + "description": "Number of compute nodes which are running jobs." + }, + "preparingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preparing node count.", + "description": "Number of compute nodes which are being prepared." + }, + "unusableNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Unusable node count.", + "description": "Number of compute nodes which are in unusable state." + }, + "leavingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Leaving node count.", + "description": "Number of compute nodes which are leaving the amlCompute." + }, + "preemptedNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preempted node count.", + "description": "Number of compute nodes which are in preempted state." + } + }, + "description": "Counts of various compute node states on the amlCompute." + }, + "ClusterUpdateProperties": { + "properties": { + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Scale settings.", + "description": "Desired scale settings for the amlCompute." + } + }, + "description": "The properties of a amlCompute that need to be updated." + }, + "ClusterUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterUpdateProperties", + "description": "The properties of the amlCompute." + } + }, + "description": "AmlCompute update parameters." + }, + "ComputeNodesInformation": { + "type": "object", + "description": "Compute nodes information related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The continuation token." + } + }, + "required": [ + "computeType" + ] + }, + "AmlComputeNodesInformation": { + "description": "Compute node information related to a AmlCompute.", + "allOf": [ + { + "$ref": "#/definitions/ComputeNodesInformation" + }, + { + "type": "object", + "properties": { + "nodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlComputeNodeInformation" + }, + "description": "The collection of returned AmlCompute nodes details." + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "AmlComputeNodeInformation": { + "description": "Compute node information related to a AmlCompute.", + "properties": { + "nodeId": { + "readOnly": true, + "type": "string", + "title": "Node ID.", + "description": "ID of the compute node." + }, + "privateIpAddress": { + "readOnly": true, + "type": "string", + "title": "Private IP address.", + "description": "Private IP address of the compute node." + }, + "publicIpAddress": { + "readOnly": true, + "type": "string", + "title": "Public IP address.", + "description": "Public IP address of the compute node." + }, + "port": { + "readOnly": true, + "type": "number", + "format": "int32", + "title": "Port.", + "description": "SSH port number of the node." + }, + "nodeState": { + "readOnly": true, + "type": "string", + "enum": [ + "idle", + "running", + "preparing", + "unusable", + "leaving", + "preempted" + ], + "description": "State of the compute node. Values are idle, running, preparing, unusable, leaving and preempted.", + "x-ms-enum": { + "name": "nodeState", + "modelAsString": true + } + }, + "runId": { + "readOnly": true, + "type": "string", + "title": "Run ID.", + "description": "ID of the Experiment running on the node, if any else null." + } + }, + "x-ms-discriminator-value": "AmlCompute" + }, + "VirtualMachineSshCredentials": { + "type": "object", + "description": "Admin credentials for virtual machine", + "properties": { + "username": { + "description": "Username of admin account", + "type": "string" + }, + "password": { + "description": "Password of admin account", + "type": "string" + }, + "publicKeyData": { + "description": "Public key data", + "type": "string" + }, + "privateKeyData": { + "description": "Private key data", + "type": "string" + } + } + }, + "ComputeSecrets": { + "type": "object", + "description": "Secrets related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + } + }, + "required": [ + "computeType" + ] + }, + "AksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "userKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "adminKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "imagePullSecretName": { + "type": "string", + "description": "Image registry pull secret." + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "VirtualMachineSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "administratorAccount": { + "description": "Admin credentials for virtual machine.", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "DatabricksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on Databricks.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "access token for databricks account.", + "type": "string" + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "ComputeType": { + "type": "string", + "description": "The type of compute", + "enum": [ + "AKS", + "AmlCompute", + "DataFactory", + "VirtualMachine", + "HDInsight", + "Databricks", + "DataLakeAnalytics" + ], + "x-ms-enum": { + "name": "ComputeType", + "modelAsString": true + } + }, + "MachineLearningServiceError": { + "type": "object", + "description": "Wrapper for error response to follow ARM guidelines.", + "properties": { + "error": { + "description": "The error response.", + "$ref": "#/definitions/ErrorResponse", + "readOnly": true + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response information.", + "properties": { + "code": { + "type": "string", + "description": "Error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Error message.", + "readOnly": true + }, + "details": { + "type": "array", + "description": "An array of error detail objects.", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "readOnly": true + } + } + }, + "ErrorDetail": { + "type": "object", + "description": "Error detail information.", + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "code", + "message" + ] + }, + "SKUCapability": { + "description": "Features/user capabilities associated with the sku", + "type": "object", + "properties": { + "name": { + "description": "Capability/Feature ID", + "type": "string" + }, + "value": { + "description": "Details about the feature/capability", + "type": "string" + } + } + }, + "ResourceSkuLocationInfo": { + "properties": { + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the SKU" + }, + "zones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is supported." + }, + "zoneDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuZoneDetails" + }, + "description": "Details of capabilities available to a SKU in specific zones." + } + } + }, + "ResourceSkuZoneDetails": { + "properties": { + "name": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of zones that the SKU is available in with the specified capabilities." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "description": "A list of capabilities that are available for the SKU in the specified list of zones." + } + }, + "description": "Describes The zonal capabilities of a SKU." + }, + "WorkspaceSku": { + "description": "Describes Workspace Sku details and features", + "type": "object", + "properties": { + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + }, + "description": "A list of locations and availability zones in those locations where the SKU is available." + }, + "tier": { + "description": "Sku Tier like Basic or Enterprise", + "type": "string", + "readOnly": true + }, + "resourceType": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + }, + "capabilities": { + "description": "List of features/user capabilities associated with the sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "readOnly": true + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + } + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "NotSpecified", + "NotAvailableForRegion", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "SkuListResult": { + "description": "List of skus with features", + "type": "object", + "properties": { + "value": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/WorkspaceSku" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Workspace Skus. Call ListNext() with this URI to fetch the next page of Workspace Skus" + } + } + }, + "Sku": { + "description": "Sku of the resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the sku", + "type": "string" + }, + "tier": { + "description": "Tier of the sku like Basic or Enterprise", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "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", + "Timeout" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "SharedPrivateLinkResource": { + "properties": { + "name": { + "description": "Unique name of the private link.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperty", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "SharedPrivateLinkResourceProperty": { + "properties": { + "privateLinkResourceId": { + "description": "The resource id that private link links to.", + "type": "string" + }, + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requestMessage": { + "description": "Request message.", + "type": "string" + }, + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "Properties of a shared private link resource." + }, + "EncryptionProperty": { + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for the workspace.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Customer Key vault properties." + } + }, + "required": [ + "status", + "keyVaultProperties" + ], + "type": "object" + }, + "KeyVaultProperties": { + "properties": { + "keyVaultArmId": { + "description": "The ArmId of the keyVault where the customer owned encryption key is present.", + "type": "string" + }, + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "identityClientId": { + "description": "For future use - The client id of the identity which will be used to access key vault.", + "type": "string" + } + }, + "required": [ + "keyIdentifier", + "keyVaultArmId" + ], + "type": "object" + }, + "LinkedWorkspace": { + "description": "Linked workspace.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the link of the linked workspace.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the linked workspace.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of linked workspace.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/LinkedWorkspaceProps" + } + } + }, + "LinkedWorkspaceDto": { + "type": "object", + "description": "object used for creating linked workspace.", + "properties": { + "name": { + "description": "Friendly name of the linked workspace", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/LinkedWorkspaceProps" + } + } + }, + "LinkedWorkspaceProps": { + "type": "object", + "description": "LinkedWorkspace specific properties.", + "properties": { + "linkedWorkspaceResourceId": { + "description": "ResourceId of the link target of the linked workspace.", + "type": "string" + }, + "userAssignedIdentityResourceId": { + "description": "ResourceId of the user assigned identity for the linked workspace.", + "type": "string" + } + } + }, + "ServiceResource": { + "type": "object", + "description": "Machine Learning service object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Service properties", + "$ref": "#/definitions/ServiceResponseBase" + } + } + } + ] + }, + "ServiceResponseBase": { + "description": "The base service response. The correct inherited response based on computeType will be returned (ex. ACIServiceResponse)", + "required": [ + "computeType" + ], + "type": "object", + "properties": { + "description": { + "description": "The service description.", + "type": "string" + }, + "kvTags": { + "description": "The service tag dictionary. Tags are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The service property dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "state": { + "description": "The current state of the service.", + "enum": [ + "Transitioning", + "Healthy", + "Unhealthy", + "Failed", + "Unschedulable" + ], + "type": "string", + "example": "Healthy", + "x-ms-enum": { + "name": "WebServiceState", + "modelAsString": true + }, + "readOnly": true + }, + "error": { + "description": "The error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorResponse" + } + ], + "readOnly": true + }, + "computeType": { + "description": "The compute environment type for the service.", + "enum": [ + "ACI", + "AKS" + ], + "type": "string", + "example": "AKS", + "x-ms-enum": { + "name": "ComputeEnvironmentType", + "modelAsString": true + } + }, + "deploymentType": { + "description": "The deployment type for the service.", + "enum": [ + "GRPCRealtimeEndpoint", + "HttpRealtimeEndpoint", + "Batch" + ], + "type": "string", + "example": "HttpRealtimeEndpoint", + "x-ms-enum": { + "name": "DeploymentType", + "modelAsString": true + } + } + }, + "discriminator": "computeType" + }, + "PaginatedServiceList": { + "type": "object", + "description": "Paginated list of Machine Learning service objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ACIServiceResponse": { + "description": "The response for an ACI service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ServiceResponseBase" + }, + { + "type": "object", + "properties": { + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "scoringUri": { + "description": "The Uri for sending scoring requests.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The name of the Azure location/region.", + "type": "string" + }, + "authEnabled": { + "description": "Whether or not authentication is enabled on the service.", + "type": "boolean" + }, + "sslEnabled": { + "description": "Whether or not SSL is enabled.", + "type": "boolean" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "sslCertificate": { + "description": "The public SSL certificate in PEM format to use if SSL is enabled.", + "type": "string" + }, + "sslKey": { + "description": "The public SSL key in PEM format for the certificate.", + "type": "string" + }, + "cname": { + "description": "The CName for the service.", + "type": "string" + }, + "publicIp": { + "description": "The public IP address for the service.", + "type": "string" + }, + "publicFqdn": { + "description": "The public Fqdn for the service.", + "type": "string" + }, + "swaggerUri": { + "description": "The Uri for sending swagger requests.", + "type": "string", + "readOnly": true + }, + "modelConfigMap": { + "description": "Details on the models and configurations.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environmentImageRequest": { + "description": "The Environment, models and assets used for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageResponse" + } + ] + }, + "vnetConfiguration": { + "description": "The virtual network configuration.", + "allOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + } + ] + }, + "encryptionProperties": { + "description": "The encryption properties.", + "allOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "ACI" + }, + "ContainerResourceRequirements": { + "description": "The resource requirements for the container (cpu and memory).", + "type": "object", + "properties": { + "cpu": { + "format": "double", + "description": "The number of CPU cores on the container.", + "type": "number", + "example": 4 + }, + "memoryInGB": { + "format": "double", + "description": "The amount of memory on the container in GB.", + "type": "number", + "example": 64 + }, + "gpu": { + "format": "int32", + "description": "The number of GPU cores in the container.", + "type": "integer" + }, + "fpga": { + "format": "int32", + "description": "The number of FPGA PCIE devices exposed to the container. Must be multiple of 2.", + "type": "integer" + } + } + }, + "ModelDataCollection": { + "description": "The Model data collection properties.", + "type": "object", + "properties": { + "eventHubEnabled": { + "description": "Option for enabling/disabling Event Hub.", + "type": "boolean" + }, + "storageEnabled": { + "description": "Option for enabling/disabling storage.", + "type": "boolean" + } + } + }, + "VnetConfiguration": { + "type": "object", + "properties": { + "vnetName": { + "description": "The name of the virtual network.", + "type": "string" + }, + "subnetName": { + "description": "The name of the virtual network subnet.", + "type": "string" + } + } + }, + "EncryptionProperties": { + "type": "object", + "properties": { + "vaultBaseUrl": { + "description": "vault base Url", + "type": "string" + }, + "keyName": { + "description": "Encryption Key name", + "type": "string" + }, + "keyVersion": { + "description": "Encryption Key Version", + "type": "string" + } + }, + "required": [ + "vaultBaseUrl", + "keyName", + "keyVersion" + ] + }, + "Model": { + "description": "An Azure Machine Learning Model.", + "required": [ + "mimeType", + "name", + "url" + ], + "type": "object", + "properties": { + "id": { + "description": "The Model Id.", + "type": "string", + "example": "sklearn_mnist:1" + }, + "name": { + "description": "The Model name.", + "type": "string", + "example": "sklearn_mnist" + }, + "framework": { + "description": "The Model framework.", + "type": "string" + }, + "frameworkVersion": { + "description": "The Model framework version.", + "type": "string" + }, + "version": { + "format": "int64", + "description": "The Model version assigned by Model Management Service.", + "type": "integer", + "example": 1 + }, + "datasets": { + "description": "The list of datasets associated with the model.", + "type": "array", + "items": { + "$ref": "#/definitions/DatasetReference" + } + }, + "url": { + "description": "The URL of the Model. Usually a SAS URL.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of Model content. For more details about MIME type, please open https://www.iana.org/assignments/media-types/media-types.xhtml", + "type": "string" + }, + "description": { + "description": "The Model description text.", + "type": "string", + "example": "A mnist model, first version." + }, + "createdTime": { + "format": "date-time", + "description": "The Model creation time (UTC).", + "type": "string" + }, + "modifiedTime": { + "format": "date-time", + "description": "The Model last modified time (UTC).", + "type": "string" + }, + "unpack": { + "description": "Indicates whether we need to unpack the Model during docker Image creation.", + "type": "boolean" + }, + "parentModelId": { + "description": "The Parent Model Id.", + "type": "string", + "example": "sklearn_mnist_root:1" + }, + "runId": { + "description": "The RunId that created this model.", + "type": "string" + }, + "experimentName": { + "description": "The name of the experiment where this model was created.", + "type": "string" + }, + "kvTags": { + "description": "The Model tag dictionary. Items are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The Model property dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "derivedModelIds": { + "description": "Models derived from this model", + "type": "array", + "items": { + "type": "string" + } + }, + "sampleInputData": { + "description": "Sample Input Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId}", + "type": "string" + }, + "sampleOutputData": { + "description": "Sample Output Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId}", + "type": "string" + }, + "resourceRequirements": { + "description": "Resource requirements for the model", + "$ref": "#/definitions/ContainerResourceRequirements" + } + } + }, + "EnvironmentImageRequest": { + "description": "Request to create a Docker image based on Environment.", + "type": "object", + "properties": { + "driverProgram": { + "description": "The name of the driver file.", + "type": "string" + }, + "assets": { + "description": "The list of assets.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageAsset" + } + }, + "modelIds": { + "description": "The list of model Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environment": { + "description": "The details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelEnvironmentDefinition" + } + ] + }, + "environmentReference": { + "description": "The unique identifying details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentReference" + } + ] + } + } + }, + "EnvironmentImageResponse": { + "description": "Request to create a Docker image based on Environment.", + "type": "object", + "properties": { + "driverProgram": { + "description": "The name of the driver file.", + "type": "string" + }, + "assets": { + "description": "The list of assets.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageAsset" + } + }, + "modelIds": { + "description": "The list of model Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environment": { + "description": "The details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelEnvironmentDefinitionResponse" + } + ] + }, + "environmentReference": { + "description": "The unique identifying details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentReference" + } + ] + } + } + }, + "ImageAsset": { + "description": "An Image asset.", + "type": "object", + "properties": { + "id": { + "description": "The Asset Id.", + "type": "string" + }, + "mimeType": { + "description": "The mime type.", + "type": "string" + }, + "url": { + "description": "The Url of the Asset.", + "type": "string" + }, + "unpack": { + "description": "Whether the Asset is unpacked.", + "type": "boolean" + } + } + }, + "ModelEnvironmentDefinition": { + "type": "object", + "properties": { + "name": { + "description": "The name of the environment.", + "type": "string", + "example": "mydevenvironment" + }, + "version": { + "description": "The environment version.", + "type": "string", + "example": "1" + }, + "python": { + "description": "Settings for a Python environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelPythonSection" + } + ] + }, + "environmentVariables": { + "description": "Definition of environment variables to be defined in the environment.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "docker": { + "description": "The definition of a Docker container.", + "allOf": [ + { + "$ref": "#/definitions/ModelDockerSection" + } + ] + }, + "spark": { + "description": "The configuration for a Spark environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelSparkSection" + } + ] + }, + "r": { + "description": "Settings for a R environment.", + "allOf": [ + { + "$ref": "#/definitions/RSection" + } + ] + }, + "inferencingStackVersion": { + "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".", + "type": "string", + "example": "latest" + } + } + }, + "ModelEnvironmentDefinitionResponse": { + "type": "object", + "properties": { + "name": { + "description": "The name of the environment.", + "type": "string", + "example": "mydevenvironment" + }, + "version": { + "description": "The environment version.", + "type": "string", + "example": "1" + }, + "python": { + "description": "Settings for a Python environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelPythonSection" + } + ] + }, + "environmentVariables": { + "description": "Definition of environment variables to be defined in the environment.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "docker": { + "description": "The definition of a Docker container.", + "allOf": [ + { + "$ref": "#/definitions/ModelDockerSectionResponse" + } + ] + }, + "spark": { + "description": "The configuration for a Spark environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelSparkSection" + } + ] + }, + "r": { + "description": "Settings for a R environment.", + "allOf": [ + { + "$ref": "#/definitions/RSectionResponse" + } + ] + }, + "inferencingStackVersion": { + "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".", + "type": "string", + "example": "latest" + } + } + }, + "EnvironmentReference": { + "type": "object", + "properties": { + "name": { + "description": "Name of the environment.", + "type": "string" + }, + "version": { + "description": "Version of the environment.", + "type": "string" + } + } + }, + "ModelPythonSection": { + "type": "object", + "properties": { + "interpreterPath": { + "description": "The python interpreter path to use if an environment build is not required. The path specified gets used to call the user script.", + "type": "string" + }, + "userManagedDependencies": { + "description": "True means that AzureML reuses an existing python environment; False means that AzureML will create a python environment based on the Conda dependencies specification.", + "type": "boolean" + }, + "condaDependencies": { + "description": "A JObject containing Conda dependencies.", + "type": "object" + }, + "baseCondaEnvironment": { + "type": "string" + } + } + }, + "ContainerRegistry": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "username": { + "type": "string", + "x-ms-secret": true + }, + "password": { + "type": "string", + "x-ms-secret": true + } + } + }, + "ContainerRegistryResponse": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "ModelDockerSection": { + "type": "object", + "properties": { + "baseImage": { + "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.", + "type": "string", + "example": "ubuntu:latest" + }, + "baseDockerfile": { + "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.", + "type": "string", + "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"" + }, + "baseImageRegistry": { + "description": "Image registry that contains the base image.", + "allOf": [ + { + "$ref": "#/definitions/ContainerRegistry" + } + ] + } + } + }, + "ModelDockerSectionResponse": { + "type": "object", + "properties": { + "baseImage": { + "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.", + "type": "string", + "example": "ubuntu:latest" + }, + "baseDockerfile": { + "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.", + "type": "string", + "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"" + }, + "baseImageRegistry": { + "description": "Image registry that contains the base image.", + "allOf": [ + { + "$ref": "#/definitions/ContainerRegistryResponse" + } + ] + } + } + }, + "SparkMavenPackage": { + "type": "object", + "properties": { + "group": { + "type": "string" + }, + "artifact": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "ModelSparkSection": { + "type": "object", + "properties": { + "repositories": { + "description": "The list of spark repositories.", + "type": "array", + "items": { + "type": "string" + } + }, + "packages": { + "description": "The Spark packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/SparkMavenPackage" + } + }, + "precachePackages": { + "description": "Whether to precache the packages.", + "type": "boolean" + } + } + }, + "RCranPackage": { + "type": "object", + "properties": { + "name": { + "description": "The package name.", + "type": "string" + }, + "repository": { + "description": "The repository name.", + "type": "string" + } + } + }, + "RGitHubPackage": { + "type": "object", + "properties": { + "repository": { + "description": "Repository address in the format username/repo[/subdir][@ref|#pull].", + "type": "string" + }, + "authToken": { + "description": "Personal access token to install from a private repo", + "type": "string", + "x-ms-secret": true + } + } + }, + "RGitHubPackageResponse": { + "type": "object", + "properties": { + "repository": { + "description": "Repository address in the format username/repo[/subdir][@ref|#pull].", + "type": "string" + } + } + }, + "RSection": { + "type": "object", + "properties": { + "rVersion": { + "description": "The version of R to be installed", + "type": "string" + }, + "userManaged": { + "description": "Indicates whether the environment is managed by user or by AzureML.", + "type": "boolean" + }, + "rscriptPath": { + "description": "The Rscript path to use if an environment build is not required.\r\nThe path specified gets used to call the user script.", + "type": "string" + }, + "snapshotDate": { + "description": "Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. \"2019-04-17\"", + "type": "string" + }, + "cranPackages": { + "description": "The CRAN packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/RCranPackage" + } + }, + "gitHubPackages": { + "description": "The packages directly from GitHub.", + "type": "array", + "items": { + "$ref": "#/definitions/RGitHubPackage" + } + }, + "customUrlPackages": { + "description": "The packages from custom urls.", + "type": "array", + "items": { + "type": "string" + } + }, + "bioConductorPackages": { + "description": "The packages from Bioconductor.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RSectionResponse": { + "type": "object", + "properties": { + "rVersion": { + "description": "The version of R to be installed", + "type": "string" + }, + "userManaged": { + "description": "Indicates whether the environment is managed by user or by AzureML.", + "type": "boolean" + }, + "rscriptPath": { + "description": "The Rscript path to use if an environment build is not required.\r\nThe path specified gets used to call the user script.", + "type": "string" + }, + "snapshotDate": { + "description": "Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. \"2019-04-17\"", + "type": "string" + }, + "cranPackages": { + "description": "The CRAN packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/RCranPackage" + } + }, + "gitHubPackages": { + "description": "The packages directly from GitHub.", + "type": "array", + "items": { + "$ref": "#/definitions/RGitHubPackageResponse" + } + }, + "customUrlPackages": { + "description": "The packages from custom urls.", + "type": "array", + "items": { + "type": "string" + } + }, + "bioConductorPackages": { + "description": "The packages from Bioconductor.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatasetReference": { + "description": "The dataset reference object.", + "type": "object", + "properties": { + "name": { + "description": "The name of the dataset reference.", + "type": "string" + }, + "id": { + "description": "The id of the dataset reference.", + "type": "string" + } + } + }, + "AKSVariantResponse": { + "description": "The response for an AKS variant.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ServiceResponseBase" + }, + { + "type": "object", + "properties": { + "isDefault": { + "description": "Is this the default variant.", + "type": "boolean" + }, + "trafficPercentile": { + "format": "float", + "description": "The amount of traffic variant receives.", + "type": "number", + "example": 100 + }, + "type": { + "description": "The type of the variant.", + "enum": [ + "Control", + "Treatment" + ], + "type": "string", + "example": "Control", + "x-ms-enum": { + "name": "VariantType", + "modelAsString": true + } + } + } + } + ], + "x-ms-discriminator-value": "Custom" + }, + "AutoScaler": { + "description": "The Auto Scaler properties.", + "type": "object", + "properties": { + "autoscaleEnabled": { + "description": "Option to enable/disable auto scaling.", + "type": "boolean" + }, + "minReplicas": { + "format": "int32", + "description": "The minimum number of replicas to scale down to.", + "type": "integer", + "example": 1 + }, + "maxReplicas": { + "format": "int32", + "description": "The maximum number of replicas in the cluster.", + "type": "integer", + "example": 3 + }, + "targetUtilization": { + "format": "int32", + "description": "The target utilization percentage to use for determining whether to scale the cluster.", + "type": "integer", + "example": 70 + }, + "refreshPeriodInSeconds": { + "format": "int32", + "description": "The amount of seconds to wait between auto scale updates.", + "type": "integer", + "example": 120 + } + } + }, + "AKSReplicaStatus": { + "type": "object", + "properties": { + "desiredReplicas": { + "format": "int32", + "description": "The desired number of replicas.", + "type": "integer", + "example": 2 + }, + "updatedReplicas": { + "format": "int32", + "description": "The number of updated replicas.", + "type": "integer", + "example": 1 + }, + "availableReplicas": { + "format": "int32", + "description": "The number of available replicas.", + "type": "integer", + "example": 1 + }, + "error": { + "description": "The error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorResponse" + } + ] + } + } + }, + "LivenessProbeRequirements": { + "description": "The liveness probe requirements.", + "type": "object", + "properties": { + "failureThreshold": { + "format": "int32", + "description": "The number of failures to allow before returning an unhealthy status.", + "type": "integer" + }, + "successThreshold": { + "format": "int32", + "description": "The number of successful probes before returning a healthy status.", + "type": "integer" + }, + "timeoutSeconds": { + "format": "int32", + "description": "The probe timeout in seconds.", + "type": "integer" + }, + "periodSeconds": { + "format": "int32", + "description": "The length of time between probes in seconds.", + "type": "integer" + }, + "initialDelaySeconds": { + "format": "int32", + "description": "The delay before the first probe in seconds.", + "type": "integer" + } + } + }, + "AKSServiceResponse": { + "description": "The response for an AKS service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AKSVariantResponse" + }, + { + "type": "object", + "properties": { + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "maxConcurrentRequestsPerContainer": { + "format": "int32", + "description": "The maximum number of concurrent requests per container.", + "type": "integer", + "example": 100 + }, + "maxQueueWaitMs": { + "format": "int32", + "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)", + "type": "integer", + "example": 250 + }, + "computeName": { + "description": "The name of the compute resource.", + "type": "string" + }, + "namespace": { + "description": "The Kubernetes namespace of the deployment.", + "type": "string", + "example": "default" + }, + "numReplicas": { + "format": "int32", + "description": "The number of replicas on the cluster.", + "type": "integer", + "example": 1 + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "autoScaler": { + "description": "The auto scaler properties.", + "allOf": [ + { + "$ref": "#/definitions/AutoScaler" + } + ] + }, + "scoringUri": { + "description": "The Uri for sending scoring requests.", + "type": "string", + "readOnly": true + }, + "deploymentStatus": { + "description": "The deployment status.", + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/AKSReplicaStatus" + } + ] + }, + "scoringTimeoutMs": { + "format": "int32", + "description": "The scoring timeout in milliseconds.", + "type": "integer", + "example": 100 + }, + "livenessProbeRequirements": { + "description": "The liveness probe requirements.", + "allOf": [ + { + "$ref": "#/definitions/LivenessProbeRequirements" + } + ] + }, + "authEnabled": { + "description": "Whether or not authentication is enabled.", + "type": "boolean" + }, + "aadAuthEnabled": { + "description": "Whether or not AAD authentication is enabled.", + "type": "boolean" + }, + "swaggerUri": { + "description": "The Uri for sending swagger requests.", + "type": "string", + "readOnly": true + }, + "modelConfigMap": { + "description": "Details on the models and configurations.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "environmentImageRequest": { + "description": "The Environment, models and assets used for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageResponse" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AuthKeys": { + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key.", + "type": "string" + } + } + }, + "CreateServiceRequest": { + "description": "The base class for creating a service.", + "required": [ + "computeType" + ], + "type": "object", + "properties": { + "description": { + "description": "The description of the service.", + "type": "string" + }, + "kvTags": { + "description": "The service tag dictionary. Tags are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The service properties dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "keys": { + "description": "The authentication keys.", + "allOf": [ + { + "$ref": "#/definitions/AuthKeys" + } + ] + }, + "computeType": { + "description": "The compute environment type for the service.", + "enum": [ + "ACI", + "AKS" + ], + "type": "string", + "example": "AKS", + "x-ms-enum": { + "name": "ComputeEnvironmentType", + "modelAsString": true + } + }, + "environmentImageRequest": { + "description": "The Environment, models and assets needed for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageRequest" + } + ] + }, + "location": { + "description": "The name of the Azure location/region.", + "type": "string" + } + }, + "discriminator": "computeType" + }, + "ACIServiceCreateRequest": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateServiceRequest" + }, + { + "type": "object", + "properties": { + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "authEnabled": { + "description": "Whether or not authentication is enabled on the service.", + "default": false, + "type": "boolean" + }, + "sslEnabled": { + "description": "Whether or not SSL is enabled.", + "default": false, + "type": "boolean" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "default": false, + "type": "boolean" + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "sslCertificate": { + "description": "The public SSL certificate in PEM format to use if SSL is enabled.", + "type": "string" + }, + "sslKey": { + "description": "The public SSL key in PEM format for the certificate.", + "type": "string" + }, + "cname": { + "description": "The CName for the service.", + "type": "string" + }, + "dnsNameLabel": { + "description": "The Dns label for the service.", + "type": "string" + }, + "vnetConfiguration": { + "description": "The virtual network configuration.", + "allOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + } + ] + }, + "encryptionProperties": { + "description": "The encryption properties.", + "allOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "ACI" + }, + "AKSServiceCreateRequest": { + "description": "The request to create an AKS service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateEndpointVariantRequest" + }, + { + "type": "object", + "properties": { + "numReplicas": { + "format": "int32", + "description": "The number of replicas on the cluster.", + "type": "integer", + "example": 1 + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "computeName": { + "description": "The name of the compute resource.", + "type": "string" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "autoScaler": { + "description": "The auto scaler properties.", + "allOf": [ + { + "$ref": "#/definitions/AutoScaler" + } + ] + }, + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "maxConcurrentRequestsPerContainer": { + "format": "int32", + "description": "The maximum number of concurrent requests per container.", + "type": "integer", + "example": 100 + }, + "maxQueueWaitMs": { + "format": "int32", + "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)", + "type": "integer", + "example": 250 + }, + "namespace": { + "description": "Kubernetes namespace for the service.", + "type": "string", + "example": "default" + }, + "scoringTimeoutMs": { + "format": "int32", + "description": "The scoring timeout in milliseconds.", + "type": "integer", + "example": 100 + }, + "authEnabled": { + "description": "Whether or not authentication is enabled.", + "type": "boolean" + }, + "livenessProbeRequirements": { + "description": "The liveness probe requirements.", + "allOf": [ + { + "$ref": "#/definitions/LivenessProbeRequirements" + } + ] + }, + "aadAuthEnabled": { + "description": "Whether or not AAD authentication is enabled.", + "type": "boolean" + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "CreateEndpointVariantRequest": { + "description": "The Variant properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateServiceRequest" + }, + { + "type": "object", + "properties": { + "isDefault": { + "description": "Is this the default variant.", + "type": "boolean" + }, + "trafficPercentile": { + "format": "float", + "description": "The amount of traffic variant receives.", + "type": "number", + "example": 100 + }, + "type": { + "description": "The type of the variant.", + "enum": [ + "Control", + "Treatment" + ], + "type": "string", + "example": "Control", + "x-ms-enum": { + "name": "VariantType", + "modelAsString": true + } + } + } + } + ], + "x-ms-discriminator-value": "Custom" + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListSkus.json new file mode 100644 index 000000000000..0248a5f57df6 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListSkus.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-05-15-preview", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "workspaces", + "name": "Basic", + "tier": "Basic", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ02", + "westus-AZ01" + ] + } + ], + "capabilities": [ + { + "name": "automatedml_readhyperdrivesdk", + "value": "{\n \"id\": \"automatedml_ readhyperdrivesdk\",\n \"name\": \"Read hyperdrive SDK\",\n \"description\": \"Read only access to Hyperdrive in the SDK\"\n}" + }, + { + "name": "workspace_upgradeworkspacesdk", + "value": "{\n \"id\": \"workspace_upgradeworkspacesdk\",\n \"name\": \"Upgrade workspace SDK\",\n \"description\": \"Upgrade workspace from Basic to enterprise from the SDK\"\n}" + } + ], + "restrictions": [] + }, + { + "resourceType": "workspaces", + "name": "Enterprise", + "tier": "Enterprise", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ01" + ], + "zoneDetails": [ + { + "name": [ + "westus-AZ01" + ], + "capabilities": [ + { + "name": "automatedml_createeditexperimentssdk", + "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + } + ] + } + ] + } + ], + "capabilities": [ + { + "name": "automatedml_createeditexperimentssdk", + "value": "{\n \"id\": \"automatedml_createeditexperimentssdk\",\n \"name\": \"Create edit experiments SDK\",\n \"description\": \"Create, edit or delete AutoML experiments in the SDK\"\n}" + } + ], + "restrictions": [] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListUsages.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListUsages.json new file mode 100644 index 000000000000..8531e09146e5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListUsages.json @@ -0,0 +1,400 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/totalCores/usages", + "currentValue": 7, + "limit": 100, + "name": { + "localizedValue": "Clusters", + "value": "Clusters" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/dedicatedCores/usages", + "currentValue": 14, + "limit": 24, + "name": { + "localizedValue": "Total Cluster Dedicated Regional vCPUs", + "value": "Total Cluster Dedicated Regional vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_dsv2/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster2_dsv2/usages/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 12, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_nc/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluser1_nc/usages/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/computes/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages", + "type": "Microsoft.MachineLearningServices/lowPriorityCores/usages", + "currentValue": 18, + "limit": 50, + "name": { + "localizedValue": "Total Cluster LowPriority Regional vCPUs", + "value": "Total Cluster LowPriority Regional vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_D_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "value": "Standard D Family Cluster LowPriority vCPUs", + "localizedValue": "Standard D Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_DSv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard DSv2 Family Cluster LowPriority vCPUs", + "value": "Standard DSv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_Dv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard Dv2 Family Cluster LowPriority vCPUs", + "value": "Standard Dv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_FSv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard FSv2 Family Cluster LowPriority vCPUs", + "value": "Standard FSv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 18, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/usages", + "currentValue": 12, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster2_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster3_lowPriority_nc/usages/Standard_NC_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/workspace/computes/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "Standard NC Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv2 Family Cluster LowPriority vCPUs", + "value": "Standard NCv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NCv3_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv3 Family Cluster LowPriority vCPUs", + "value": "Standard NCv3 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_ND_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard ND Family Cluster LowPriority vCPUs", + "value": "Standard ND Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NDv2_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NDv2 Family Cluster LowPriority vCPUs", + "value": "Standard NDv2 Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/Standard_NV_Family_Cluster_LowPriority_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NV Family Cluster LowPriority vCPUs", + "value": "Standard NV Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListVMSizesResult.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListVMSizesResult.json new file mode 100644 index 000000000000..2ddc7f03fa3d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListVMSizesResult.json @@ -0,0 +1,348 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-05-15-preview", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "amlCompute": [ + { + "name": "Standard_D1_v2", + "family": "standardDv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 51200, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.12, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_D2_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 7, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.09, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.23, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.11, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + } + ] + } + }, + { + "name": "Standard_D11_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 14, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.15, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.1, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.03, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.24, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_DS1_v2", + "family": "standardDSv2Family", + "vCPUs": 1, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 7168, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.05, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.12, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.01, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.06, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_F2s_v2", + "family": "standardFSv2Family", + "vCPUs": 2, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 16384, + "memoryGB": 4, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.02, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.08, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.06, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.16, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_M32-8ms", + "family": "standardMSFamily", + "vCPUs": 32, + "gpus": 0, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1024000, + "memoryGB": 875, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 8.43, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 1.23, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 3.37, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 6.15, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_NC6", + "family": "standardNCFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 0.18, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.43, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.9, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 1.08, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_NV6", + "family": "standardNVFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56, + "lowPriorityCapable": true, + "premiumIO": false, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 1.28, + "osType": "Windows", + "vmTier": "Standard" + }, + { + "retailPrice": 0.51, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.22, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 1.09, + "osType": "Linux", + "vmTier": "Standard" + } + ] + } + }, + { + "name": "Standard_ND6s", + "family": "standardNDSFamily", + "vCPUs": 6, + "gpus": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112, + "lowPriorityCapable": true, + "premiumIO": true, + "estimatedVMPrices": { + "billingCurrency": "USD", + "unitOfMeasure": "OneHour", + "values": [ + { + "retailPrice": 2.07, + "osType": "Linux", + "vmTier": "Standard" + }, + { + "retailPrice": 0.36, + "osType": "Linux", + "vmTier": "LowPriority" + }, + { + "retailPrice": 0.87, + "osType": "Windows", + "vmTier": "LowPriority" + }, + { + "retailPrice": 2.49, + "osType": "Windows", + "vmTier": "Standard" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceFeatures.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceFeatures.json new file mode 100644 index 000000000000..411004c04e69 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceFeatures.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "testworkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "automatedml_createeditexperimentsui", + "displayName": "Create edit experiments UI", + "description": "Create, edit or delete AutoML experiments in the SDK" + }, + { + "id": "workspace_upgradeworkspaceui", + "displayName": "Upgrade workspace UI", + "description": "Upgrade workspace from Basic to enterprise from the UI" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceQuotasByVMFamily.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceQuotasByVMFamily.json new file mode 100644 index 000000000000..704c580db801 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/ListWorkspaceQuotasByVMFamily.json @@ -0,0 +1,415 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_D_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard D Family Cluster Dedicated vCPUs", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quota", + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard DSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_Dv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard Dv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_FSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 12, + "name": { + "value": "Standard FSv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NC_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NC Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NCv3_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NCv3 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_ND_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard ND Family Cluster Dedicated vCPUs", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NDv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 0, + "name": { + "value": "Standard NDv2 Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/vmFamily/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/Standard_NV_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 24, + "name": { + "value": "Standard NV Family Cluster Dedicated vCPUs", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/amlComputeListNodes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/amlComputeListNodes.json new file mode 100644 index 000000000000..c292f4502ce9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/amlComputeListNodes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "computeType": "AmlCompute", + "nodes": [ + { + "nodeId": "tvm-3601533753_1-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50000, + "nodeState": "running", + "runId": "2f378a44-38f2-443a-9f0d-9909d0b47890" + }, + { + "nodeId": "tvm-3601533753_2-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50001, + "nodeState": "idle" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAKSCompute.json new file mode 100644 index 000000000000..93764b087005 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAKSCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AKS" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAmlCompute.json new file mode 100644 index 000000000000..56ef4ab5977d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicAmlCompute.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "osType": "Windows", + "virtualMachineImage": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myImageGallery/images/myImageDefinition/versions/0.0.1" + }, + "isolatedNetwork": false, + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "NotSpecified", + "enableNodePublicIp": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicDataFactoryCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicDataFactoryCompute.json new file mode 100644 index 000000000000..af899ccebdc5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createBasicDataFactoryCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "DataFactory" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstance.json new file mode 100644 index 000000000000..5548500d58c7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstance.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "properties": { + "vmSize": "STANDARD_NC6", + "subnet": "test-subnet-resource-id", + "applicationSharingPolicy": "Personal", + "sshSettings": { + "sshPublicAccess": "Disabled" + }, + "computeInstanceAuthorizationType": "personal", + "personalComputeInstanceSettings": { + "assignedUser": { + "objectId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstanceMinimal.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstanceMinimal.json new file mode 100644 index 000000000000..472b0af583df --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createComputeInstanceMinimal.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "properties": { + "vmSize": "STANDARD_NC6" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createLinkedService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createLinkedService.json new file mode 100644 index 000000000000..930701d6f441 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createLinkedService.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview", + "parameters": { + "name": "link-1", + "location": "westus", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/Syn-1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedServices/link-1", + "name": "link-1", + "location": "westus", + "type": "Microsoft.MachineLearningServices/workspaces/linkedServices", + "identity": { + "type": "SystemAssigned", + "principalId": "aaaaaaaa-1111-2222-3333-444444444444", + "tenantId": "bbbbbbbb-1111-2222-3333-444444444444" + }, + "properties": { + "createdTime": "2020-07-28T16:33:05.8246167-07:00", + "modifiedTime": "2020-07-28T16:33:06.1050872-07:00", + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.Synapse/workspaces/Syn-1", + "linkType": "Synapse" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createOrUpdateService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createOrUpdateService.json new file mode 100644 index 000000000000..421f33aac3de --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createOrUpdateService.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview", + "serviceName": "service456", + "properties": { + "computeType": "ACI", + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://storage/azureml/score.py", + "unpack": false + } + ], + "models": [ + { + "name": "sklearn_regression_model.pkl", + "url": "aml://storage/azureml/sklearn_regression_model.pkl", + "mimeType": "application/x-python" + } + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null, + "username": null, + "password": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "containerResourceRequirements": { + "cpu": 1, + "memoryInGB": 1 + }, + "location": "eastus2", + "authEnabled": true, + "appInsightsEnabled": true + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service456", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service456", + "properties": { + "computeType": "ACI", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "scoringUri": "http://ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io/score", + "location": "eastus2", + "authEnabled": true, + "sslEnabled": false, + "appInsightsEnabled": true, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "sslCertificate": "", + "sslKey": "", + "cname": null, + "publicIp": "52.177.232.98", + "publicFqdn": "ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Transitioning" + } + } + }, + "201": { + "description": "The request was accepted.", + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspace.json new file mode 100644 index 000000000000..1edd946727e7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/createWorkspace.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "friendlyName": "HelloName", + "description": "test description", + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "identity": { + "principalId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "type": "SystemAssigned" + }, + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteCompute.json new file mode 100644 index 000000000000..cad967267d66 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "underlyingResourceAction": "Delete" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/...pathToOperationResult..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteLinkedService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteLinkedService.json new file mode 100644 index 000000000000..e6e30e2b4bdd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteLinkedService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteService.json new file mode 100644 index 000000000000..9bb65ac74a3c --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "serviceName": "service123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspace.json new file mode 100644 index 000000000000..3064541e0b2a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/deleteWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAKSCompute.json new file mode 100644 index 000000000000..e67680830235 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAKSCompute.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAmlCompute.json new file mode 100644 index 000000000000..bcd93f48347a --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getAmlCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "osType": "Windows", + "virtualMachineImage": null, + "isolatedNetwork": null, + "subnet": "test-subnet-resource-id", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "Enabled", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "errors": null, + "currentNodeCount": 0, + "targetNodeCount": 1, + "nodeStateCounts": { + "preparingNodeCount": 0, + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "leavingNodeCount": 0, + "preemptedNodeCount": 0 + }, + "enableNodePublicIp": true + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputeInstance.json new file mode 100644 index 000000000000..567eac6173e2 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputeInstance.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "ComputeInstance", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "subnet": "test-subnet-resource-id", + "applicationSharingPolicy": "Shared", + "sshSettings": { + "sshPublicAccess": "Enabled", + "adminUserName": "azureuser", + "sshPort": 22 + }, + "computeInstanceAuthorizationType": "personal", + "personalComputeInstanceSettings": { + "assignedUser": { + "objectId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + } + }, + "createdBy": { + "userName": "foobar@microsoft.com", + "userOrgId": "00000000-0000-0000-0000-000000000000", + "userId": "00000000-0000-0000-0000-000000000000" + }, + "connectivityEndpoints": { + "publicIpAddress": "10.0.0.1", + "privateIpAddress": "10.0.0.1" + }, + "applications": [ + { + "displayName": "Jupyter", + "endpointUri": "https://compute123.eastus2.azureml.net/jupyter" + } + ], + "errors": null, + "state": "Running" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputes.json new file mode 100644 index 000000000000..7bddddd83ca7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getComputes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute1234", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute1234", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute1234-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getLinkedService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getLinkedService.json new file mode 100644 index 000000000000..d2a8c1d213ea --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getLinkedService.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "linkName": "link-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedServices/link-1", + "name": "link-1", + "location": "westus", + "type": "Microsoft.MachineLearningServices/workspaces/linkedServices", + "identity": { + "type": "SystemAssigned", + "principalId": "aaaaaaaa-1111-2222-3333-444444444444", + "tenantId": "bbbbbbbb-1111-2222-3333-444444444444" + }, + "properties": { + "createdTime": "2020-07-28T16:33:05.8246167-07:00", + "modifiedTime": "2020-07-28T16:33:06.1050872-07:00", + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-1/providers/Microsoft.Synapse/workspaces/Syn-1", + "linkType": "Synapse" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getService.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getService.json new file mode 100644 index 000000000000..f4cb175a4050 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getService.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview", + "serviceName": "service123" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service123", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service123", + "properties": { + "computeType": "AKS", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "maxConcurrentRequestsPerContainer": 1, + "maxQueueWaitMs": 500, + "computeName": "my-aks-compute", + "namespace": "azureml-workspaces123", + "numReplicas": 1, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "appInsightsEnabled": true, + "autoScaler": { + "autoscaleEnabled": false, + "minReplicas": null, + "maxReplicas": null, + "targetUtilization": null, + "refreshPeriodInSeconds": null + }, + "scoringUri": "http://192.168.1.5:80/api/v1/service/service123/score", + "scoringTimeoutMs": null, + "livenessProbeRequirements": { + "failureThreshold": 3, + "successThreshold": 1, + "timeoutSeconds": 120, + "periodSeconds": 5, + "initialDelaySeconds": 310 + }, + "authEnabled": true, + "aadAuthEnabled": false, + "swaggerUri": "http://192.168.1.5/api/v1/service/service123/swagger.json", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getServices.json new file mode 100644 index 000000000000..0db921d12456 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getServices.json @@ -0,0 +1,274 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service123", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service123", + "properties": { + "computeType": "AKS", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "maxConcurrentRequestsPerContainer": 1, + "maxQueueWaitMs": 500, + "computeName": "my-aks-compute", + "namespace": "azureml-workspaces123", + "numReplicas": 1, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "appInsightsEnabled": true, + "autoScaler": { + "autoscaleEnabled": false, + "minReplicas": null, + "maxReplicas": null, + "targetUtilization": null, + "refreshPeriodInSeconds": null + }, + "scoringUri": "http://192.168.1.5:80/api/v1/service/service123/score", + "scoringTimeoutMs": null, + "livenessProbeRequirements": { + "failureThreshold": 3, + "successThreshold": 1, + "timeoutSeconds": 120, + "periodSeconds": 5, + "initialDelaySeconds": 310 + }, + "authEnabled": true, + "aadAuthEnabled": false, + "swaggerUri": "http://192.168.1.5/api/v1/service/service123/swagger.json", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + }, + { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/services/service456", + "type": "Microsoft.MachineLearningServices/workspaces/services", + "name": "service456", + "properties": { + "computeType": "ACI", + "containerResourceRequirements": { + "cpu": 0.1, + "memoryInGB": 0.5, + "gpu": null, + "fpga": null + }, + "scoringUri": "http://ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io/score", + "location": "eastus2", + "authEnabled": true, + "sslEnabled": false, + "appInsightsEnabled": true, + "dataCollection": { + "eventHubEnabled": false, + "storageEnabled": false + }, + "sslCertificate": "", + "sslKey": "", + "cname": null, + "publicIp": "52.177.232.98", + "publicFqdn": "ddde8e29-3e3a-42d2-980d-8fb7e005ab81.eastus2.azurecontainer.io", + "modelConfigMap": { + "accountContext": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "accountName": "workspaces123", + "workspaceId": "57b243e8-3d24-4427-90e0-8dc47f41c387" + }, + "models": { + "sklearn_regression_model1.pkl": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc" + } + }, + "modelsInfo": { + "sklearn_regression_model1.pkl": { + "2": { + "version": 2, + "id": "sklearn_regression_model1.pkl:2", + "internalId": "3ab27a5b0d0e48d99f18a5195cc258bc", + "dataCollectorStoragePath": "/modeldata/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/testrg123/workspaces123/service123/sklearn_regression_model1.pkl/2/" + } + } + } + }, + "environmentImageRequest": { + "driverProgram": "score.py", + "assets": [ + { + "id": null, + "mimeType": "application/x-python", + "url": "aml://artifact/LocalUpload/200518T200218a1a8c0af/score.py", + "unpack": false + } + ], + "modelIds": [ + "sklearn_regression_model1.pkl:2" + ], + "environment": { + "name": "AzureML-Scikit-learn-0.20.3", + "version": "3", + "python": { + "interpreterPath": "python", + "userManagedDependencies": false, + "condaDependencies": { + "channels": [ + "conda-forge" + ], + "dependencies": [ + "python=3.6.2", + { + "pip": [ + "azureml-core==1.0.69", + "azureml-defaults==1.0.69", + "azureml-telemetry==1.0.69", + "azureml-train-restclients-hyperdrive==1.0.69", + "azureml-train-core==1.0.69", + "scikit-learn==0.20.3", + "scipy==1.2.1", + "numpy==1.16.2", + "joblib==0.13.2" + ] + } + ], + "name": "azureml_ae1acbe6e1e6aabbad900b53c491a17c" + }, + "baseCondaEnvironment": null + }, + "environmentVariables": { + "EXAMPLE_ENV_VAR": "EXAMPLE_VALUE" + }, + "docker": { + "baseImage": "mcr.microsoft.com/azureml/base:openmpi3.1.2-ubuntu16.04", + "baseDockerfile": null, + "baseImageRegistry": { + "address": null + } + }, + "spark": { + "repositories": [], + "packages": [], + "precachePackages": true + }, + "inferencingStackVersion": null + } + }, + "description": null, + "kvTags": {}, + "properties": { + "hasInferenceSchema": "False", + "hasHttps": "False" + }, + "state": "Healthy" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspace.json new file mode 100644 index 000000000000..6e7461be23ca --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspace.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "serviceProvisionedResourceGroup": "testworkspace_0000111122223333", + "privateLinkCount": 0, + "allowPublicAccessWhenBehindVnet": false, + "imageBuildCompute": "testcompute", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/testprivatelinkconnection", + "name": "testprivatelinkconnection", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ], + "sharedPrivateLinkResources": [ + { + "name": "testcosmosdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testcosmosdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesByResourceGroup.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesByResourceGroup.json new file mode 100644 index 000000000000..8b71299c739d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace1", + "name": "testworkspace1", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName 1", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesBySubscription.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesBySubscription.json new file mode 100644 index 000000000000..3032881f12d2 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/getWorkspacesBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-5678/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listKeysAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listKeysAKSCompute.json new file mode 100644 index 000000000000..4d0543e95c68 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listKeysAKSCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "computeType": "AKS", + "userKubeConfig": "user kube config...", + "adminKubeConfig": "admin kube config...", + "imagePullSecretName": "the image pull secret name" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listLinkedServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listLinkedServices.json new file mode 100644 index 000000000000..f231946917ce --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listLinkedServices.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedServices/link-1", + "name": "link-1", + "location": "westus", + "type": "Microsoft.MachineLearningServices/workspaces/linkedServices", + "identity": { + "type": "SystemAssigned", + "principalId": "aaaaaaaa-1111-2222-3333-444444444444", + "tenantId": "bbbbbbbb-1111-2222-3333-444444444444" + }, + "properties": { + "createdTime": "2020-07-28T16:33:05.8246167-07:00", + "modifiedTime": "2020-07-28T16:33:06.1050872-07:00", + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-1/providers/Microsoft.Synapse/workspaces/Syn-1", + "linkType": "Synapse" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedServices/link-2", + "name": "link-2", + "location": "westus", + "type": "Microsoft.MachineLearningServices/workspaces/linkedServices", + "identity": { + "type": "SystemAssigned", + "principalId": "cccccccc-1111-2222-3333-444444444444", + "tenantId": "bbbbbbbb-1111-2222-3333-444444444444" + }, + "properties": { + "createdTime": "2020-07-29T16:33:05.8246167-07:00", + "modifiedTime": "2020-07-29T16:33:06.1050872-07:00", + "linkedServiceResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/linkRg-2/providers/Microsoft.Synapse/workspaces/Syn-2", + "linkType": "Synapse" + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceKeys.json new file mode 100644 index 000000000000..5aafd35b8f1f --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/listWorkspaceKeys.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": { + "body": { + "userStorageKey": "r5rKCJ018TLk+bdAi/9YaVzgcQ0nkLsUqGyUN03KsdCFtqG0SjFGPV8+vT1frWqkvBL0bGoPpLc1BlZSSaZmOA==", + "userStorageResourceId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ragargeastus2euap/providers/Microsoft.Storage/storageAccounts/testdemoworkazashomr", + "appInsightsInstrumentationKey": null, + "containerRegistryCredentials": { + "location": null, + "username": "testdemoworkjmjmeykp", + "passwords": [ + { + "name": "password", + "value": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw" + }, + { + "name": "password2", + "value": "0KARRQoQHSUq1yViPWg7YFernOS=Ic/t" + } + ] + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/patchAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/patchAmlCompute.json new file mode 100644 index 000000000000..9896152b5883 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/patchAmlCompute.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/restartComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/restartComputeInstance.json new file mode 100644 index 000000000000..86ffe54a0079 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/restartComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/resyncWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/resyncWorkspaceKeys.json new file mode 100644 index 000000000000..d292d6494e2e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/resyncWorkspaceKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-05-15-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/startComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/startComputeInstance.json new file mode 100644 index 000000000000..86ffe54a0079 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/startComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/stopComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/stopComputeInstance.json new file mode 100644 index 000000000000..86ffe54a0079 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/stopComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAKSCompute.json new file mode 100644 index 000000000000..4ede3a3d75f9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAKSCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "properties": { + "agentCount": 4 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAmlCompute.json new file mode 100644 index 000000000000..786175fe9a16 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateAmlCompute.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-05-15-preview", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "description": "some compute", + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateQuota.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateQuota.json new file mode 100644 index 000000000000..418097cf9ebb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateQuota.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-05-15-preview", + "parameters": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 100, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 200, + "unit": "Count" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 100, + "unit": "Count", + "status": "Success" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/Standard_DSv2_Family_Cluster_Dedicated_vCPUs", + "type": "Microsoft.MachineLearningServices/workspaces/quotas", + "limit": 200, + "unit": "Count", + "status": "Success" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateWorkspace.json new file mode 100644 index 000000000000..b2de5e85f874 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/updateWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "parameters": { + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "friendlyName": "New friendly name", + "description": "new description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "New friendly name", + "description": "new description" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceDeletePrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..177f06c4bf79 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceGetPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..72d0177e2a48 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceListPrivateLinkResources.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceListPrivateLinkResources.json new file mode 100644 index 000000000000..2115b10da341 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspaceListPrivateLinkResources.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "api-version": "2020-05-15-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateLinkResources/amlworkspace", + "name": "amlworkspace", + "type": "Microsoft.Storage/workspaces/privateLinkResources", + "properties": { + "groupId": "amlworkspace", + "requiredMembers": [ + "default" + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePutPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..d0189346cf31 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/examples/workspacePutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-05-15-preview", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json new file mode 100644 index 000000000000..dc61a4cb656b --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json @@ -0,0 +1,6008 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Machine Learning Workspaces", + "description": "These APIs allow end users to operate on Azure Machine Learning Workspace resources.", + "version": "2020-09-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.MachineLearningServices/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Machine Learning Workspaces REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Gets the properties of the specified machine learning workspace.", + "operationId": "Workspaces_Get", + "x-ms-examples": { + "Get Workspace": { + "$ref": "./examples/getWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "Workspaces" + ], + "description": "Creates or updates a workspace with the specified parameters.", + "operationId": "Workspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Workspace": { + "$ref": "./examples/createWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for creating or updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "Workspaces" + ], + "description": "Deletes a machine learning workspace.", + "operationId": "Workspaces_Delete", + "x-ms-examples": { + "Delete Workspace": { + "$ref": "./examples/deleteWorkspace.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, + "204": { + "description": "The machine learning workspace does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "Workspaces" + ], + "description": "Updates a machine learning workspace with the specified parameters.", + "operationId": "Workspaces_Update", + "x-ms-examples": { + "Update Workspace": { + "$ref": "./examples/updateWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all enabled features for a workspace", + "operationId": "WorkspaceFeatures_List", + "x-ms-examples": { + "List Workspace features": { + "$ref": "./examples/ListWorkspaceFeatures.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListAmlUserFeatureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified resource group.", + "operationId": "Workspaces_ListByResourceGroup", + "x-ms-examples": { + "Get Workspaces by Resource Group": { + "$ref": "./examples/getWorkspacesByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ListKeys", + "x-ms-examples": { + "List Workspace Keys": { + "$ref": "./examples/listWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListWorkspaceKeysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Resync all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ResyncKeys", + "x-ms-examples": { + "Resync Workspace Keys": { + "$ref": "./examples/resyncWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages": { + "get": { + "tags": [ + "Usage" + ], + "operationId": "Usages_List", + "description": "Gets the current usage information as well as limits for AML resources for given subscription and location.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes": { + "get": { + "tags": [ + "VirtualMachineSizes" + ], + "operationId": "VirtualMachineSizes_List", + "description": "Returns supported VM Sizes in a location", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-examples": { + "List VM Sizes": { + "$ref": "./examples/ListVMSizesResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas": { + "post": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_Update", + "description": "Update quota for each VM family in workspace.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for update quota is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaUpdateParameters" + }, + "description": "Quota update parameters." + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful.", + "schema": { + "$ref": "#/definitions/UpdateWorkspaceQuotasResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "update quotas": { + "$ref": "./examples/updateQuota.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/Quotas": { + "get": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_List", + "description": "Gets the currently assigned Workspace Quotas based on VMFamily.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListWorkspaceQuotas" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List workspace quotas by VMFamily": { + "$ref": "./examples/ListWorkspaceQuotasByVMFamily.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified subscription.", + "operationId": "Workspaces_ListBySubscription", + "x-ms-examples": { + "Get Workspaces by subscription": { + "$ref": "./examples/getWorkspacesBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningCompute_ListByWorkspace", + "description": "Gets computes in specified workspace.", + "x-ms-examples": { + "Get Computes": { + "$ref": "./examples/getComputes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedComputeResourcesList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Get", + "description": "Gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are not returned - use 'keys' nested resource to get them.", + "x-ms-examples": { + "Get a AKS Compute": { + "$ref": "./examples/getAKSCompute.json" + }, + "Get a AML Compute": { + "$ref": "./examples/getAmlCompute.json" + }, + "Get an ComputeInstance": { + "$ref": "./examples/getComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_CreateOrUpdate", + "description": "Creates or updates compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation. If your intent is to create a new compute, do a GET first to verify that it does not exist yet.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a AML Compute": { + "$ref": "./examples/createBasicAmlCompute.json" + }, + "Create an ComputeInstance Compute with minimal inputs": { + "$ref": "./examples/createComputeInstanceMinimal.json" + }, + "Create an ComputeInstance Compute": { + "$ref": "./examples/createComputeInstance.json" + }, + "Create AKS Compute": { + "$ref": "./examples/createBasicAKSCompute.json" + }, + "Create a DataFactory Compute": { + "$ref": "./examples/createBasicDataFactoryCompute.json" + }, + "Update a AML Compute": { + "$ref": "./examples/updateAmlCompute.json" + }, + "Update a AKS Compute": { + "$ref": "./examples/updateAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/ComputeDefinitionParameter" + } + ], + "responses": { + "200": { + "description": "Compute creation or update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "201": { + "description": "Compute creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Update", + "description": "Updates properties of a compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a AmlCompute Compute": { + "$ref": "./examples/patchAmlCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdateParameters" + }, + "description": "Additional parameters for cluster update." + } + ], + "responses": { + "200": { + "description": "Compute update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Delete", + "description": "Deletes specified Machine Learning compute.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Compute": { + "$ref": "./examples/deleteCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/UnderlyingResourceActionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "Compute deletion initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + }, + "Location": { + "description": "URI to poll for asynchronous operation result.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes": { + "post": { + "tags": [ + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListNodes", + "description": "Get the details (e.g IP address, port etc) of all the compute nodes in the compute.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of IP addresses.", + "schema": { + "$ref": "#/definitions/AmlComputeNodesInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "Get compute nodes information for a compute": { + "$ref": "./examples/amlComputeListNodes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListKeys", + "description": "Gets secrets related to Machine Learning compute (storage keys, service credentials, etc).", + "x-ms-examples": { + "List AKS Compute Keys": { + "$ref": "./examples/listKeysAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeSecrets" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Start", + "description": "Posts a start action to a compute instance", + "x-ms-examples": { + "Start ComputeInstance Compute": { + "$ref": "./examples/startComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Stop", + "description": "Posts a stop action to a compute instance", + "x-ms-examples": { + "Stop ComputeInstance Compute": { + "$ref": "./examples/stopComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Restart", + "description": "Posts a restart action to a compute instance", + "x-ms-examples": { + "Restart ComputeInstance Compute": { + "$ref": "./examples/restartComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces/skus": { + "get": { + "tags": [ + "WorkspaceSkus" + ], + "description": "Lists all skus with associated features", + "operationId": "ListSkus", + "x-ms-examples": { + "List Skus": { + "$ref": "./examples/ListSkus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/SkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceGetPrivateEndpointConnection": { + "$ref": "./examples/workspaceGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspacePutPrivateEndpointConnection": { + "$ref": "./examples/workspacePutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceDeletePrivateEndpointConnection": { + "$ref": "./examples/workspaceDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "WorkspacePrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "Gets the private link resources that need to be created for a workspace.", + "x-ms-examples": { + "WorkspaceListPrivateLinkResources": { + "$ref": "./examples/workspaceListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/linkedServices": { + "get": { + "tags": [ + "LinkedServices" + ], + "x-ms-examples": { + "ListLinkedServices": { + "$ref": "./examples/listLinkedServices.json" + } + }, + "operationId": "LinkedServices_List", + "description": "List all linked services under an AML workspace.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the linked services.", + "schema": { + "$ref": "#/definitions/LinkedServiceList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/linkedServices/{linkName}": { + "put": { + "tags": [ + "LinkedServices" + ], + "operationId": "LinkedServices_Create", + "description": "Add a new linked service.", + "x-ms-examples": { + "CreateLinkedService": { + "$ref": "./examples/createLinkedService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The object for creating or updating a linked service", + "required": true, + "schema": { + "$ref": "#/definitions/LinkedServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the linked service.", + "schema": { + "$ref": "#/definitions/LinkedServiceResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "get": { + "tags": [ + "LinkedServices" + ], + "operationId": "LinkedServices_Get", + "description": "Get the detail of a linked service.", + "x-ms-examples": { + "GetLinkedService": { + "$ref": "./examples/getLinkedService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the detail of the linked service.", + "schema": { + "$ref": "#/definitions/LinkedServiceResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "LinkedServices" + ], + "operationId": "LinkedServices_Delete", + "description": "Delete a linked service.", + "x-ms-examples": { + "DeleteLinkedService": { + "$ref": "./examples/deleteLinkedService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/LinkName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the linked service." + }, + "204": { + "description": "Specific linked service not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/services": { + "get": { + "tags": [ + "MachineLearningServices" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningService_ListByWorkspace", + "description": "Gets services in specified workspace.", + "x-ms-examples": { + "Get Services": { + "$ref": "./examples/getServices.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + }, + { + "$ref": "#/parameters/ModelIdParameter" + }, + { + "$ref": "#/parameters/ModelNameParameter" + }, + { + "$ref": "#/parameters/WebServiceTagParameter" + }, + { + "$ref": "#/parameters/WebServiceTagsParameter" + }, + { + "$ref": "#/parameters/WebServicePropertiesParameter" + }, + { + "$ref": "#/parameters/WebServiceRunIdParameter" + }, + { + "$ref": "#/parameters/WebServiceExpandParameter" + }, + { + "$ref": "#/parameters/WebServiceOrderByParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning services and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedServiceList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/services/{serviceName}": { + "get": { + "tags": [ + "MachineLearningServices" + ], + "operationId": "MachineLearningService_Get", + "description": "Get a Service by name.", + "x-ms-examples": { + "Get Service": { + "$ref": "./examples/getService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Set to True to include Model details.", + "type": "boolean", + "default": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "MachineLearningServices" + ], + "operationId": "MachineLearningService_Delete", + "description": "Delete a specific Service..", + "x-ms-examples": { + "Delete Service": { + "$ref": "./examples/deleteService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The resource exists and was deleted successfully." + }, + "204": { + "description": "The resource does not exist and the request was well formed." + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "MachineLearningServices" + ], + "description": "Creates or updates service. This call will update a service if it exists. This is a nonrecoverable operation. If your intent is to create a new service, do a GET first to verify that it does not exist yet.", + "operationId": "MachineLearningService_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Or Update service": { + "$ref": "./examples/createOrUpdateService.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/WebServiceNameParameter" + }, + { + "in": "body", + "name": "properties", + "description": "The payload that is used to create or update the Service.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "Service creation or update initiated.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "201": { + "description": "Service creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "description": "Azure subscription identifier.", + "in": "path", + "type": "string", + "required": true + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "description": "Name of the resource group in which workspace is located.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "description": "Name of Azure Machine Learning workspace.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "ComputeNameParameter": { + "name": "computeName", + "description": "Name of the Azure Machine Learning compute.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "AsyncOperationIdParameter": { + "name": "asyncOperationId", + "description": "Identifier of an asynchronous Azure Machine Learning compute operation.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "description": "The name of the Azure location/region.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "APIVersionParameter": { + "in": "query", + "name": "api-version", + "type": "string", + "description": "Version of Azure Machine Learning resource provider API.", + "required": true + }, + "PaginationParameter": { + "in": "query", + "name": "$skiptoken", + "type": "string", + "description": "Continuation token for pagination.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ComputeDefinitionParameter": { + "in": "body", + "name": "parameters", + "description": "Payload with Machine Learning compute definition.", + "required": true, + "schema": { + "$ref": "#/definitions/ComputeResource" + }, + "x-ms-parameter-location": "method" + }, + "ComputeTypeParameter": { + "in": "query", + "name": "compute-type", + "type": "string", + "description": "Type of compute to filter by.", + "required": false, + "x-ms-parameter-location": "method" + }, + "UnderlyingResourceActionParameter": { + "in": "query", + "name": "underlyingResourceAction", + "type": "string", + "description": "Delete the underlying compute if 'Delete', or detach the underlying compute from workspace if 'Detach'.", + "required": true, + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "UnderlyingResourceAction", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the workspace", + "x-ms-parameter-location": "method" + }, + "LinkName": { + "name": "linkName", + "in": "path", + "required": true, + "type": "string", + "description": "Friendly name of the linked workspace", + "x-ms-parameter-location": "method" + }, + "ModelIdParameter": { + "in": "query", + "name": "modelId", + "type": "string", + "description": "The Model Id.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ModelNameParameter": { + "in": "query", + "name": "modelName", + "type": "string", + "description": "The Model name.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceNameParameter": { + "name": "serviceName", + "description": "Name of the Azure Machine Learning service.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WebServiceTagParameter": { + "in": "query", + "name": "tag", + "type": "string", + "description": "The object tag.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceCountParameter": { + "in": "query", + "name": "count", + "type": "integer", + "format": "int32", + "description": "The number of items to retrieve in a page.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceTagsParameter": { + "in": "query", + "name": "tags", + "type": "string", + "description": "A set of tags with which to filter the returned services. It is a comma separated string of tags key or tags key=value Example: tagKey1,tagKey2,tagKey3=value3 .", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServicePropertiesParameter": { + "in": "query", + "name": "properties", + "type": "string", + "description": "A set of properties with which to filter the returned services. It is a comma separated string of properties key and/or properties key=value Example: propKey1,propKey2,propKey3=value3 .", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceRunIdParameter": { + "in": "query", + "name": "runId", + "type": "string", + "description": "runId for model associated with service.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceExpandParameter": { + "in": "query", + "name": "expand", + "type": "boolean", + "description": "Set to True to include Model details.", + "required": false, + "x-ms-parameter-location": "method" + }, + "WebServiceOrderByParameter": { + "in": "query", + "name": "orderby", + "type": "string", + "description": "The option to order the response.", + "required": false, + "default": "UpdatedAtDesc", + "enum": [ + "CreatedAtDesc", + "CreatedAtAsc", + "UpdatedAtDesc", + "UpdatedAtAsc" + ], + "x-ms-enum": { + "name": "OrderString", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Operation": { + "description": "Azure Machine Learning workspace REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display name of operation", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.MachineLearningExperimentation", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "An array of operations supported by the resource provider.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of AML workspace operations supported by the AML workspace resource provider." + } + } + }, + "Workspace": { + "type": "object", + "description": "An object that represents a machine learning workspace.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceProperties", + "description": "The properties of the machine learning workspace.", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceProperties": { + "type": "object", + "description": "The properties of a machine learning workspace.", + "properties": { + "workspaceId": { + "description": "The immutable id associated with this workspace.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace. This name in mutable", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of the machine learning workspace in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "keyVault": { + "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "applicationInsights": { + "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "containerRegistry": { + "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "storageAccount": { + "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "discoveryUrl": { + "description": "Url for the discovery service to identify regional endpoints for machine learning experimentation services", + "type": "string" + }, + "provisioningState": { + "type": "string", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of Azure ML workspace." + }, + "hbiWorkspace": { + "type": "boolean", + "description": "The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service", + "default": false + }, + "serviceProvisionedResourceGroup": { + "type": "string", + "description": "The name of the managed resource group created by workspace RP in customer subscription if the workspace is CMK workspace", + "readOnly": true + }, + "privateLinkCount": { + "type": "integer", + "format": "int32", + "description": "Count of private connections in the workspace", + "readOnly": true + }, + "imageBuildCompute": { + "description": "The compute name for image build", + "type": "string" + }, + "allowPublicAccessWhenBehindVnet": { + "type": "boolean", + "description": "The flag to indicate whether to allow public access when behind VNet.", + "default": false + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections in the workspace." + }, + "sharedPrivateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources in this workspace." + } + } + }, + "WorkspaceUpdateParameters": { + "description": "The parameters for updating a machine learning workspace.", + "properties": { + "tags": { + "description": "The resource tags for the machine learning workspace.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + }, + "properties": { + "$ref": "#/definitions/WorkspacePropertiesUpdateParameters", + "description": "The properties that the machine learning workspace will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WorkspacePropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a machine learning workspace.", + "properties": { + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace.", + "type": "string" + } + } + }, + "AmlUserFeature": { + "description": "Features enabled for a workspace", + "type": "object", + "properties": { + "id": { + "description": "Specifies the feature ID", + "type": "string" + }, + "displayName": { + "description": "Specifies the feature name ", + "type": "string" + }, + "description": { + "description": "Describes the feature for user experience", + "type": "string" + } + } + }, + "ListAmlUserFeatureResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlUserFeature" + }, + "description": "The list of AML user facing features." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML user features information. Call ListNext() with this to fetch the next page of AML user features information." + } + }, + "description": "The List Aml user feature operation response." + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The current usage of the resource." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "description": "Describes AML Resource Usage." + }, + "ListUsagesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of AML resource usages." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML resource usage information. Call ListNext() with this to fetch the next page of AML resource usage information." + } + }, + "description": "The List Usages operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "title": "Virtual Machine size name", + "description": "The name of the virtual machine size.", + "readOnly": true + }, + "family": { + "type": "string", + "title": "Virtual Machine family name", + "description": "The family name of the virtual machine size.", + "readOnly": true + }, + "vCPUs": { + "type": "integer", + "format": "int32", + "title": "Number of vPUs", + "description": "The number of vCPUs supported by the virtual machine size.", + "readOnly": true + }, + "gpus": { + "type": "integer", + "format": "int32", + "title": "Number of gPUs", + "description": "The number of gPUs supported by the virtual machine size.", + "readOnly": true + }, + "osVhdSizeMB": { + "type": "integer", + "format": "int32", + "title": "OS VHD Disk size", + "description": "The OS VHD disk size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "maxResourceVolumeMB": { + "type": "integer", + "format": "int32", + "title": "Resource volume size", + "description": "The resource volume size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "memoryGB": { + "type": "number", + "format": "double", + "title": "Memory size", + "description": "The amount of memory, in GB, supported by the virtual machine size.", + "readOnly": true + }, + "lowPriorityCapable": { + "type": "boolean", + "title": "Low priority capable", + "description": "Specifies if the virtual machine size supports low priority VMs.", + "readOnly": true + }, + "premiumIO": { + "type": "boolean", + "title": "Premium IO supported", + "description": "Specifies if the virtual machine size supports premium IO.", + "readOnly": true + }, + "estimatedVMPrices": { + "title": "Estimated VM prices", + "description": "The estimated price information for using a VM.", + "$ref": "#/definitions/EstimatedVMPrices" + } + }, + "description": "Describes the properties of a VM size." + }, + "EstimatedVMPrices": { + "properties": { + "billingCurrency": { + "type": "string", + "title": "Billing currency", + "description": "Three lettered code specifying the currency of the VM price. Example: USD", + "enum": [ + "USD" + ], + "x-ms-enum": { + "name": "BillingCurrency", + "modelAsString": true + } + }, + "unitOfMeasure": { + "type": "string", + "title": "Unit of time measure", + "description": "The unit of time measurement for the specified VM price. Example: OneHour", + "enum": [ + "OneHour" + ], + "x-ms-enum": { + "name": "UnitOfMeasure", + "modelAsString": true + } + }, + "values": { + "type": "array", + "items": { + "$ref": "#/definitions/EstimatedVMPrice" + }, + "title": "List of estimated VM prices.", + "description": "The list of estimated prices for using a VM of a particular OS type, tier, etc." + } + }, + "required": [ + "billingCurrency", + "unitOfMeasure", + "values" + ], + "description": "The estimated price info for using a VM." + }, + "EstimatedVMPrice": { + "properties": { + "retailPrice": { + "type": "number", + "format": "double", + "title": "Retail price", + "description": "The price charged for using the VM." + }, + "osType": { + "type": "string", + "title": "OS type", + "description": "Operating system type used by the VM.", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "VMPriceOSType", + "modelAsString": true + } + }, + "vmTier": { + "type": "string", + "title": "VM tier", + "description": "The type of the VM.", + "enum": [ + "Standard", + "LowPriority", + "Spot" + ], + "x-ms-enum": { + "name": "VMTier", + "modelAsString": true + } + } + }, + "required": [ + "retailPrice", + "osType", + "vmTier" + ], + "description": "The estimated price info for using a VM of a particular OS type, tier, etc." + }, + "VirtualMachineSizeListResult": { + "properties": { + "amlCompute": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineSize" + }, + "description": "The list of virtual machine sizes supported by AmlCompute." + } + }, + "description": "The List Virtual Machine size operation response." + }, + "WorkspaceListResult": { + "description": "The result of a request to list machine learning workspaces.", + "properties": { + "value": { + "description": "The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces.", + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of machine learning workspaces.", + "type": "string" + } + } + }, + "QuotaBaseProperties": { + "properties": { + "id": { + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The properties for Quota update or retrieval." + }, + "QuotaUpdateParameters": { + "properties": { + "value": { + "description": "The list for update quota.", + "type": "array", + "items": { + "$ref": "#/definitions/QuotaBaseProperties" + } + } + }, + "description": "Quota update parameters." + }, + "UpdateWorkspaceQuotasResult": { + "properties": { + "value": { + "description": "The list of workspace quota update result.", + "items": { + "$ref": "#/definitions/UpdateWorkspaceQuotas" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.", + "readOnly": true, + "type": "string" + } + }, + "description": "The result of update workspace quota." + }, + "UpdateWorkspaceQuotas": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": false, + "title": "Update Workspace Quota Status.", + "description": "Status of update workspace quota.", + "enum": [ + "Undefined", + "Success", + "Failure", + "InvalidQuotaBelowClusterMinimum", + "InvalidQuotaExceedsSubscriptionLimit", + "InvalidVMFamilyName", + "OperationNotSupportedForSku", + "OperationNotEnabledForRegion" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + } + }, + "description": "The properties for update Quota response." + }, + "ResourceName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Resource Name." + }, + "ResourceQuota": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "name": { + "$ref": "#/definitions/ResourceName", + "description": "Name of the resource.", + "readOnly": true + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The quota assigned to a resource." + }, + "ListWorkspaceQuotas": { + "properties": { + "value": { + "description": "The list of Workspace Quotas by VM Family", + "items": { + "$ref": "#/definitions/ResourceQuota" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.", + "readOnly": true, + "type": "string" + } + }, + "description": "The List WorkspaceQuotasByVMFamily operation response." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "SystemAssigned,UserAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentities", + "description": "The user assigned identities associated with the resource." + } + }, + "description": "Identity for the resource." + }, + "UserAssignedIdentities": { + "description": "dictionary containing all the user assigned identities, with resourceId of the UAI as key.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "UserAssignedIdentity": { + "description": "User Assigned Identity", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the user assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The clientId(aka appId) of the user assigned identity." + } + } + }, + "Resource": { + "description": "Azure Resource Manager resource envelope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Specifies the resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Specifies the name of the resource.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "location": { + "description": "Specifies the location of the resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + } + } + }, + "ResourceId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the resource" + } + }, + "required": [ + "id" + ], + "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", + "x-ms-azure-resource": true + }, + "ListWorkspaceKeysResult": { + "type": "object", + "properties": { + "userStorageKey": { + "readOnly": true, + "type": "string" + }, + "userStorageResourceId": { + "readOnly": true, + "type": "string" + }, + "appInsightsInstrumentationKey": { + "readOnly": true, + "type": "string" + }, + "containerRegistryCredentials": { + "readOnly": true, + "$ref": "#/definitions/RegistryListCredentialsResult" + } + } + }, + "RegistryListCredentialsResult": { + "type": "object", + "properties": { + "location": { + "readOnly": true, + "type": "string" + }, + "username": { + "readOnly": true, + "type": "string" + }, + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/Password" + } + } + } + }, + "Password": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string" + }, + "value": { + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedComputeResourcesList": { + "type": "object", + "description": "Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ComputeResource" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ComputeResource": { + "type": "object", + "description": "Machine Learning compute object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute properties", + "$ref": "#/definitions/Compute" + } + } + } + ] + }, + "Compute": { + "type": "object", + "description": "Machine Learning compute object.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "computeLocation": { + "description": "Location for the underlying compute", + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed.", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "description": { + "type": "string", + "description": "The description of the Machine Learning compute." + }, + "createdOn": { + "type": "string", + "description": "The date and time when the compute was created.", + "format": "date-time", + "readOnly": true + }, + "modifiedOn": { + "type": "string", + "description": "The date and time when the compute was last modified.", + "format": "date-time", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "ARM resource id of the underlying compute" + }, + "provisioningErrors": { + "type": "array", + "description": "Errors during provisioning", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + }, + "readOnly": true + }, + "isAttachedCompute": { + "type": "boolean", + "description": "Indicating whether the compute was provisioned by user and brought from outside if true, or machine learning service provisioned it if false.", + "readOnly": true + } + }, + "required": [ + "computeType" + ] + }, + "AKS": { + "description": "A Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AKS properties", + "properties": { + "clusterFqdn": { + "description": "Cluster full qualified domain name", + "type": "string" + }, + "systemServices": { + "type": "array", + "description": "System services", + "items": { + "$ref": "#/definitions/SystemService" + }, + "readOnly": true + }, + "agentCount": { + "description": "Number of agents", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "agentVMSize": { + "description": "Agent virtual machine size", + "type": "string" + }, + "sslConfiguration": { + "description": "SSL configuration", + "$ref": "#/definitions/SslConfiguration" + }, + "aksNetworkingConfiguration": { + "description": "AKS networking configuration for vnet", + "$ref": "#/definitions/AksNetworkingConfiguration" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AmlCompute": { + "description": "An Azure Machine Learning compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AML Compute properties", + "properties": { + "osType": { + "description": "Compute OS Type", + "type": "string", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OsType", + "modelAsString": true + } + }, + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "vmPriority": { + "description": "Virtual Machine priority", + "type": "string", + "enum": [ + "Dedicated", + "LowPriority" + ], + "x-ms-enum": { + "name": "VmPriority", + "modelAsString": true + } + }, + "virtualMachineImage": { + "description": "Virtual Machine image for AML Compute - windows only", + "$ref": "#/definitions/VirtualMachineImage" + }, + "isolatedNetwork": { + "description": "Network is isolated or not", + "type": "boolean" + }, + "scaleSettings": { + "description": "Scale settings for AML Compute", + "$ref": "#/definitions/ScaleSettings" + }, + "userAccountCredentials": { + "title": "User account credentials.", + "description": "Credentials for an administrator user account that will be created on each compute node.", + "$ref": "#/definitions/UserAccountCredentials" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "remoteLoginPortPublicAccess": { + "type": "string", + "default": "NotSpecified", + "title": "Close remote Login Access Port", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled", + "NotSpecified" + ], + "x-ms-enum": { + "name": "remoteLoginPortPublicAccess", + "modelAsString": true + } + }, + "allocationState": { + "type": "string", + "readOnly": true, + "title": "Allocation state.", + "description": "Allocation state of the compute. Possible values are: steady - Indicates that the compute is not resizing. There are no changes to the number of compute nodes in the compute in progress. A compute enters this state when it is created and when no operations are being performed on the compute to change the number of compute nodes. resizing - Indicates that the compute is resizing; that is, compute nodes are being added to or removed from the compute.", + "enum": [ + "Steady", + "Resizing" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": true + } + }, + "allocationStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Allocation state transition time.", + "description": "The time at which the compute entered its current allocation state." + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered by various compute nodes during node setup.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "currentNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Current node count.", + "description": "The number of compute nodes currently assigned to the compute." + }, + "targetNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Target node count.", + "description": "The target number of compute nodes for the compute. If the allocationState is resizing, this property denotes the target node count for the ongoing resize operation. If the allocationState is steady, this property denotes the target node count for the previous resize operation." + }, + "nodeStateCounts": { + "title": "Node state counts.", + "description": "Counts of various node states on the compute.", + "readOnly": true, + "$ref": "#/definitions/NodeStateCounts" + }, + "enableNodePublicIp": { + "type": "boolean", + "default": true, + "title": "Enable node public IP.", + "description": "Enable or disable node public IP address provisioning. Possible values are: Possible values are: true - Indicates that the compute nodes will have public IPs provisioned. false - Indicates that the compute nodes will have a private endpoint and no public IPs." + } + } + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "ComputeInstance": { + "description": "An Azure Machine Learning compute instance.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute Instance properties", + "type": "object", + "properties": { + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "applicationSharingPolicy": { + "type": "string", + "default": "Shared", + "title": "Sharing policy for applications on this compute instance", + "description": "Policy for sharing applications on this compute instance among users of parent workspace. If Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access applications on this instance depending on his/her assigned role.", + "enum": [ + "Personal", + "Shared" + ], + "x-ms-enum": { + "name": "applicationSharingPolicy", + "modelAsString": true + } + }, + "sshSettings": { + "description": "Specifies policy and settings for SSH access.", + "$ref": "#/definitions/ComputeInstanceSshSettings" + }, + "connectivityEndpoints": { + "readOnly": true, + "description": "Describes all connectivity endpoints available for this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceConnectivityEndpoints" + }, + "applications": { + "type": "array", + "readOnly": true, + "description": "Describes available applications and their endpoints on this ComputeInstance.", + "items": { + "$ref": "#/definitions/ComputeInstanceApplication" + } + }, + "createdBy": { + "readOnly": true, + "description": "Describes information on user who created this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceCreatedBy" + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered on this ComputeInstance.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "state": { + "description": "The current state of this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceState", + "readOnly": true + }, + "computeInstanceAuthorizationType": { + "type": "string", + "title": "Compute Instance Authorization type.", + "description": "The Compute Instance Authorization type. Available values are personal (default).", + "default": "personal", + "enum": [ + "personal" + ], + "x-ms-enum": { + "name": "ComputeInstanceAuthorizationType", + "modelAsString": true + } + }, + "personalComputeInstanceSettings": { + "title": "Personal Compute Instance settings.", + "description": "Settings for a personal compute instance.", + "$ref": "#/definitions/PersonalComputeInstanceSettings" + }, + "lastOperation": { + "description": "The last operation on ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceLastOperation", + "readOnly": true + } + } + } + } + } + ], + "x-ms-discriminator-value": "ComputeInstance" + }, + "VirtualMachine": { + "description": "A Machine Learning compute based on Azure Virtual Machines.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "virtualMachineSize": { + "description": "Virtual Machine size", + "type": "string" + }, + "sshPort": { + "description": "Port open for ssh connections.", + "type": "integer", + "format": "int32" + }, + "address": { + "description": "Public IP address of the virtual machine.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for virtual machine", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "HDInsight": { + "description": "A HDInsight compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "sshPort": { + "description": "Port open for ssh connections on the master node of the cluster.", + "type": "integer", + "format": "int32" + }, + "address": { + "description": "Public IP address of the master node of the cluster.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for master node of the cluster", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "HDInsight" + }, + "DataFactory": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + } + ], + "x-ms-discriminator-value": "DataFactory" + }, + "Databricks": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "Databricks access token", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "DataLakeAnalytics": { + "description": "A DataLakeAnalytics compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "dataLakeStoreAccountName": { + "description": "DataLake Store Account Name", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "DataLakeAnalytics" + }, + "ServicePrincipalCredentials": { + "type": "object", + "description": "Service principal credentials.", + "properties": { + "clientId": { + "description": "Client Id", + "type": "string" + }, + "clientSecret": { + "description": "Client secret", + "type": "string" + } + }, + "required": [ + "clientId", + "clientSecret" + ] + }, + "SystemService": { + "type": "object", + "description": "A system service running on a compute.", + "properties": { + "systemServiceType": { + "description": "The type of this system service.", + "readOnly": true, + "type": "string" + }, + "publicIpAddress": { + "type": "string", + "description": "Public IP address", + "readOnly": true + }, + "version": { + "description": "The version for this type.", + "readOnly": true, + "type": "string" + } + } + }, + "SslConfiguration": { + "type": "object", + "description": "The ssl configuration for scoring", + "properties": { + "status": { + "description": "Enable or disable ssl for scoring", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + "cert": { + "description": "Cert data", + "type": "string" + }, + "key": { + "description": "Key data", + "type": "string" + }, + "cname": { + "description": "CNAME of the cert", + "type": "string" + } + } + }, + "AksNetworkingConfiguration": { + "type": "object", + "description": "Advance configuration for AKS networking", + "properties": { + "subnetId": { + "description": "Virtual network subnet resource ID the compute nodes belong to", + "type": "string" + }, + "serviceCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.", + "type": "string" + }, + "dnsServiceIP": { + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.", + "type": "string" + }, + "dockerBridgeCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.", + "type": "string" + } + } + }, + "UserAccountCredentials": { + "properties": { + "adminUserName": { + "type": "string", + "title": "User name.", + "description": "Name of the administrator user account which can be used to SSH to nodes." + }, + "adminUserSshPublicKey": { + "type": "string", + "title": "SSH public key.", + "description": "SSH public key of the administrator user account." + }, + "adminUserPassword": { + "type": "string", + "title": "Password.", + "description": "Password of the administrator user account." + } + }, + "required": [ + "adminUserName" + ], + "description": "Settings for user account that gets created on each on the nodes of a compute." + }, + "ScaleSettings": { + "type": "object", + "description": "scale settings for AML Compute", + "properties": { + "maxNodeCount": { + "description": "Max number of nodes to use", + "type": "integer", + "format": "int32" + }, + "minNodeCount": { + "description": "Min number of nodes to use", + "type": "integer", + "format": "int32", + "default": 0 + }, + "nodeIdleTimeBeforeScaleDown": { + "type": "string", + "format": "duration", + "description": "Node Idle Time before scaling down amlCompute. This string needs to be in the RFC Format." + } + }, + "required": [ + "maxNodeCount" + ] + }, + "VirtualMachineImage": { + "type": "object", + "description": "Virtual Machine image for Windows AML Compute", + "properties": { + "id": { + "description": "Virtual Machine image path", + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "NodeStateCounts": { + "properties": { + "idleNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Idle node count.", + "description": "Number of compute nodes in idle state." + }, + "runningNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Running node count.", + "description": "Number of compute nodes which are running jobs." + }, + "preparingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preparing node count.", + "description": "Number of compute nodes which are being prepared." + }, + "unusableNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Unusable node count.", + "description": "Number of compute nodes which are in unusable state." + }, + "leavingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Leaving node count.", + "description": "Number of compute nodes which are leaving the amlCompute." + }, + "preemptedNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preempted node count.", + "description": "Number of compute nodes which are in preempted state." + } + }, + "description": "Counts of various compute node states on the amlCompute." + }, + "ClusterUpdateProperties": { + "properties": { + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Scale settings.", + "description": "Desired scale settings for the amlCompute." + } + }, + "description": "The properties of a amlCompute that need to be updated." + }, + "ClusterUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterUpdateProperties", + "description": "The properties of the amlCompute." + } + }, + "description": "AmlCompute update parameters." + }, + "ComputeNodesInformation": { + "type": "object", + "description": "Compute nodes information related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The continuation token." + } + }, + "required": [ + "computeType" + ] + }, + "AmlComputeNodesInformation": { + "description": "Compute node information related to a AmlCompute.", + "allOf": [ + { + "$ref": "#/definitions/ComputeNodesInformation" + }, + { + "type": "object", + "properties": { + "nodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlComputeNodeInformation" + }, + "description": "The collection of returned AmlCompute nodes details." + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "AmlComputeNodeInformation": { + "description": "Compute node information related to a AmlCompute.", + "properties": { + "nodeId": { + "readOnly": true, + "type": "string", + "title": "Node ID.", + "description": "ID of the compute node." + }, + "privateIpAddress": { + "readOnly": true, + "type": "string", + "title": "Private IP address.", + "description": "Private IP address of the compute node." + }, + "publicIpAddress": { + "readOnly": true, + "type": "string", + "title": "Public IP address.", + "description": "Public IP address of the compute node." + }, + "port": { + "readOnly": true, + "type": "number", + "format": "int32", + "title": "Port.", + "description": "SSH port number of the node." + }, + "nodeState": { + "readOnly": true, + "type": "string", + "enum": [ + "idle", + "running", + "preparing", + "unusable", + "leaving", + "preempted" + ], + "description": "State of the compute node. Values are idle, running, preparing, unusable, leaving and preempted.", + "x-ms-enum": { + "name": "nodeState", + "modelAsString": true + } + }, + "runId": { + "readOnly": true, + "type": "string", + "title": "Run ID.", + "description": "ID of the Experiment running on the node, if any else null." + } + }, + "x-ms-discriminator-value": "AmlCompute" + }, + "VirtualMachineSshCredentials": { + "type": "object", + "description": "Admin credentials for virtual machine", + "properties": { + "username": { + "description": "Username of admin account", + "type": "string" + }, + "password": { + "description": "Password of admin account", + "type": "string" + }, + "publicKeyData": { + "description": "Public key data", + "type": "string" + }, + "privateKeyData": { + "description": "Private key data", + "type": "string" + } + } + }, + "ComputeSecrets": { + "type": "object", + "description": "Secrets related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + } + }, + "required": [ + "computeType" + ] + }, + "AksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "userKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "adminKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "imagePullSecretName": { + "type": "string", + "description": "Image registry pull secret." + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "VirtualMachineSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "administratorAccount": { + "description": "Admin credentials for virtual machine.", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "DatabricksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on Databricks.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "access token for databricks account.", + "type": "string" + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "ComputeType": { + "type": "string", + "description": "The type of compute", + "enum": [ + "AKS", + "AmlCompute", + "ComputeInstance", + "DataFactory", + "VirtualMachine", + "HDInsight", + "Databricks", + "DataLakeAnalytics" + ], + "x-ms-enum": { + "name": "ComputeType", + "modelAsString": true + } + }, + "MachineLearningServiceError": { + "type": "object", + "description": "Wrapper for error response to follow ARM guidelines.", + "properties": { + "error": { + "description": "The error response.", + "$ref": "#/definitions/ErrorResponse", + "readOnly": true + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response information.", + "properties": { + "code": { + "type": "string", + "description": "Error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Error message.", + "readOnly": true + }, + "details": { + "type": "array", + "description": "An array of error detail objects.", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "readOnly": true + } + } + }, + "ErrorDetail": { + "type": "object", + "description": "Error detail information.", + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "code", + "message" + ] + }, + "SKUCapability": { + "description": "Features/user capabilities associated with the sku", + "type": "object", + "properties": { + "name": { + "description": "Capability/Feature ID", + "type": "string" + }, + "value": { + "description": "Details about the feature/capability", + "type": "string" + } + } + }, + "ResourceSkuLocationInfo": { + "properties": { + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the SKU" + }, + "zones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is supported." + }, + "zoneDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuZoneDetails" + }, + "description": "Details of capabilities available to a SKU in specific zones." + } + } + }, + "ResourceSkuZoneDetails": { + "properties": { + "name": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of zones that the SKU is available in with the specified capabilities." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "description": "A list of capabilities that are available for the SKU in the specified list of zones." + } + }, + "description": "Describes The zonal capabilities of a SKU." + }, + "WorkspaceSku": { + "description": "Describes Workspace Sku details and features", + "type": "object", + "properties": { + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + }, + "description": "A list of locations and availability zones in those locations where the SKU is available." + }, + "tier": { + "description": "Sku Tier like Basic or Enterprise", + "type": "string", + "readOnly": true + }, + "resourceType": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + }, + "capabilities": { + "description": "List of features/user capabilities associated with the sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "readOnly": true + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + } + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "NotSpecified", + "NotAvailableForRegion", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "SkuListResult": { + "description": "List of skus with features", + "type": "object", + "properties": { + "value": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/WorkspaceSku" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Workspace Skus. Call ListNext() with this URI to fetch the next page of Workspace Skus" + } + } + }, + "Sku": { + "description": "Sku of the resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the sku", + "type": "string" + }, + "tier": { + "description": "Tier of the sku like Basic or Enterprise", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "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", + "Timeout" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "SharedPrivateLinkResource": { + "properties": { + "name": { + "description": "Unique name of the private link.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperty", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "SharedPrivateLinkResourceProperty": { + "properties": { + "privateLinkResourceId": { + "description": "The resource id that private link links to.", + "type": "string" + }, + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requestMessage": { + "description": "Request message.", + "type": "string" + }, + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "Properties of a shared private link resource." + }, + "EncryptionProperty": { + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for the workspace.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Customer Key vault properties." + } + }, + "required": [ + "status", + "keyVaultProperties" + ], + "type": "object" + }, + "KeyVaultProperties": { + "properties": { + "keyVaultArmId": { + "description": "The ArmId of the keyVault where the customer owned encryption key is present.", + "type": "string" + }, + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "identityClientId": { + "description": "For future use - The client id of the identity which will be used to access key vault.", + "type": "string" + } + }, + "required": [ + "keyIdentifier", + "keyVaultArmId" + ], + "type": "object" + }, + "LinkedServiceResponse": { + "description": "Linked service.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the link of the linked service.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the linked service.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of linked service.", + "readOnly": true + }, + "location": { + "description": "location of the linked service.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "properties": { + "$ref": "#/definitions/LinkedServiceProps" + } + } + }, + "LinkedServiceRequest": { + "type": "object", + "description": "object used for creating linked service.", + "properties": { + "name": { + "description": "Friendly name of the linked service", + "type": "string" + }, + "location": { + "description": "location of the linked service.", + "type": "string" + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "properties": { + "$ref": "#/definitions/LinkedServiceProps" + } + } + }, + "LinkedServiceProps": { + "type": "object", + "description": "LinkedService specific properties.", + "required": [ + "linkedServiceResourceId" + ], + "properties": { + "linkedServiceResourceId": { + "description": "ResourceId of the link target of the linked service.", + "type": "string" + }, + "linkType": { + "description": "Type of the link target.", + "type": "string", + "enum": [ + "Synapse" + ], + "x-ms-enum": { + "name": "LinkedServiceLinkType", + "modelAsString": false + } + }, + "createdTime": { + "format": "date-time", + "description": "The creation time of the linked service.", + "type": "string" + }, + "modifiedTime": { + "format": "date-time", + "description": "The last modified time of the linked service.", + "type": "string" + } + } + }, + "LinkedServiceList": { + "type": "object", + "description": "List response of linked service.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "Array of linked service.", + "items": { + "$ref": "#/definitions/LinkedServiceResponse" + } + } + } + }, + "ServiceResource": { + "type": "object", + "description": "Machine Learning service object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Service properties", + "$ref": "#/definitions/ServiceResponseBase" + } + } + } + ] + }, + "ServiceResponseBase": { + "description": "The base service response. The correct inherited response based on computeType will be returned (ex. ACIServiceResponse)", + "required": [ + "computeType" + ], + "type": "object", + "properties": { + "description": { + "description": "The service description.", + "type": "string" + }, + "kvTags": { + "description": "The service tag dictionary. Tags are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The service property dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "state": { + "description": "The current state of the service.", + "enum": [ + "Transitioning", + "Healthy", + "Unhealthy", + "Failed", + "Unschedulable" + ], + "type": "string", + "example": "Healthy", + "x-ms-enum": { + "name": "WebServiceState", + "modelAsString": true + }, + "readOnly": true + }, + "error": { + "description": "The error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorResponse" + } + ], + "readOnly": true + }, + "computeType": { + "description": "The compute environment type for the service.", + "enum": [ + "ACI", + "AKS" + ], + "type": "string", + "example": "AKS", + "x-ms-enum": { + "name": "ComputeEnvironmentType", + "modelAsString": true + } + }, + "deploymentType": { + "description": "The deployment type for the service.", + "enum": [ + "GRPCRealtimeEndpoint", + "HttpRealtimeEndpoint", + "Batch" + ], + "type": "string", + "example": "HttpRealtimeEndpoint", + "x-ms-enum": { + "name": "DeploymentType", + "modelAsString": true + } + } + }, + "discriminator": "computeType" + }, + "PaginatedServiceList": { + "type": "object", + "description": "Paginated list of Machine Learning service objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ACIServiceResponse": { + "description": "The response for an ACI service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ServiceResponseBase" + }, + { + "type": "object", + "properties": { + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "scoringUri": { + "description": "The Uri for sending scoring requests.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The name of the Azure location/region.", + "type": "string" + }, + "authEnabled": { + "description": "Whether or not authentication is enabled on the service.", + "type": "boolean" + }, + "sslEnabled": { + "description": "Whether or not SSL is enabled.", + "type": "boolean" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "sslCertificate": { + "description": "The public SSL certificate in PEM format to use if SSL is enabled.", + "type": "string" + }, + "sslKey": { + "description": "The public SSL key in PEM format for the certificate.", + "type": "string" + }, + "cname": { + "description": "The CName for the service.", + "type": "string" + }, + "publicIp": { + "description": "The public IP address for the service.", + "type": "string" + }, + "publicFqdn": { + "description": "The public Fqdn for the service.", + "type": "string" + }, + "swaggerUri": { + "description": "The Uri for sending swagger requests.", + "type": "string", + "readOnly": true + }, + "modelConfigMap": { + "description": "Details on the models and configurations.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environmentImageRequest": { + "description": "The Environment, models and assets used for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageResponse" + } + ] + }, + "vnetConfiguration": { + "description": "The virtual network configuration.", + "allOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + } + ] + }, + "encryptionProperties": { + "description": "The encryption properties.", + "allOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "ACI" + }, + "ContainerResourceRequirements": { + "description": "The resource requirements for the container (cpu and memory).", + "type": "object", + "properties": { + "cpu": { + "format": "double", + "description": "The number of CPU cores on the container.", + "type": "number", + "example": 4 + }, + "memoryInGB": { + "format": "double", + "description": "The amount of memory on the container in GB.", + "type": "number", + "example": 64 + }, + "gpu": { + "format": "int32", + "description": "The number of GPU cores in the container.", + "type": "integer" + }, + "fpga": { + "format": "int32", + "description": "The number of FPGA PCIE devices exposed to the container. Must be multiple of 2.", + "type": "integer" + } + } + }, + "ModelDataCollection": { + "description": "The Model data collection properties.", + "type": "object", + "properties": { + "eventHubEnabled": { + "description": "Option for enabling/disabling Event Hub.", + "type": "boolean" + }, + "storageEnabled": { + "description": "Option for enabling/disabling storage.", + "type": "boolean" + } + } + }, + "VnetConfiguration": { + "type": "object", + "properties": { + "vnetName": { + "description": "The name of the virtual network.", + "type": "string" + }, + "subnetName": { + "description": "The name of the virtual network subnet.", + "type": "string" + } + } + }, + "EncryptionProperties": { + "type": "object", + "properties": { + "vaultBaseUrl": { + "description": "vault base Url", + "type": "string" + }, + "keyName": { + "description": "Encryption Key name", + "type": "string" + }, + "keyVersion": { + "description": "Encryption Key Version", + "type": "string" + } + }, + "required": [ + "vaultBaseUrl", + "keyName", + "keyVersion" + ] + }, + "Model": { + "description": "An Azure Machine Learning Model.", + "required": [ + "mimeType", + "name", + "url" + ], + "type": "object", + "properties": { + "id": { + "description": "The Model Id.", + "type": "string", + "example": "sklearn_mnist:1" + }, + "name": { + "description": "The Model name.", + "type": "string", + "example": "sklearn_mnist" + }, + "framework": { + "description": "The Model framework.", + "type": "string" + }, + "frameworkVersion": { + "description": "The Model framework version.", + "type": "string" + }, + "version": { + "format": "int64", + "description": "The Model version assigned by Model Management Service.", + "type": "integer", + "example": 1 + }, + "datasets": { + "description": "The list of datasets associated with the model.", + "type": "array", + "items": { + "$ref": "#/definitions/DatasetReference" + } + }, + "url": { + "description": "The URL of the Model. Usually a SAS URL.", + "type": "string" + }, + "mimeType": { + "description": "The MIME type of Model content. For more details about MIME type, please open https://www.iana.org/assignments/media-types/media-types.xhtml", + "type": "string" + }, + "description": { + "description": "The Model description text.", + "type": "string", + "example": "A mnist model, first version." + }, + "createdTime": { + "format": "date-time", + "description": "The Model creation time (UTC).", + "type": "string" + }, + "modifiedTime": { + "format": "date-time", + "description": "The Model last modified time (UTC).", + "type": "string" + }, + "unpack": { + "description": "Indicates whether we need to unpack the Model during docker Image creation.", + "type": "boolean" + }, + "parentModelId": { + "description": "The Parent Model Id.", + "type": "string", + "example": "sklearn_mnist_root:1" + }, + "runId": { + "description": "The RunId that created this model.", + "type": "string" + }, + "experimentName": { + "description": "The name of the experiment where this model was created.", + "type": "string" + }, + "kvTags": { + "description": "The Model tag dictionary. Items are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The Model property dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "derivedModelIds": { + "description": "Models derived from this model", + "type": "array", + "items": { + "type": "string" + } + }, + "sampleInputData": { + "description": "Sample Input Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId}", + "type": "string" + }, + "sampleOutputData": { + "description": "Sample Output Data for the Model. A reference to a dataset in the workspace in the format aml://dataset/{datasetId}", + "type": "string" + }, + "resourceRequirements": { + "description": "Resource requirements for the model", + "$ref": "#/definitions/ContainerResourceRequirements" + } + } + }, + "EnvironmentImageRequest": { + "description": "Request to create a Docker image based on Environment.", + "type": "object", + "properties": { + "driverProgram": { + "description": "The name of the driver file.", + "type": "string" + }, + "assets": { + "description": "The list of assets.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageAsset" + } + }, + "modelIds": { + "description": "The list of model Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environment": { + "description": "The details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelEnvironmentDefinition" + } + ] + }, + "environmentReference": { + "description": "The unique identifying details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentReference" + } + ] + } + } + }, + "EnvironmentImageResponse": { + "description": "Request to create a Docker image based on Environment.", + "type": "object", + "properties": { + "driverProgram": { + "description": "The name of the driver file.", + "type": "string" + }, + "assets": { + "description": "The list of assets.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageAsset" + } + }, + "modelIds": { + "description": "The list of model Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "environment": { + "description": "The details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelEnvironmentDefinitionResponse" + } + ] + }, + "environmentReference": { + "description": "The unique identifying details of the AZURE ML environment.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentReference" + } + ] + } + } + }, + "ImageAsset": { + "description": "An Image asset.", + "type": "object", + "properties": { + "id": { + "description": "The Asset Id.", + "type": "string" + }, + "mimeType": { + "description": "The mime type.", + "type": "string" + }, + "url": { + "description": "The Url of the Asset.", + "type": "string" + }, + "unpack": { + "description": "Whether the Asset is unpacked.", + "type": "boolean" + } + } + }, + "ModelEnvironmentDefinition": { + "type": "object", + "properties": { + "name": { + "description": "The name of the environment.", + "type": "string", + "example": "mydevenvironment" + }, + "version": { + "description": "The environment version.", + "type": "string", + "example": "1" + }, + "python": { + "description": "Settings for a Python environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelPythonSection" + } + ] + }, + "environmentVariables": { + "description": "Definition of environment variables to be defined in the environment.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "docker": { + "description": "The definition of a Docker container.", + "allOf": [ + { + "$ref": "#/definitions/ModelDockerSection" + } + ] + }, + "spark": { + "description": "The configuration for a Spark environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelSparkSection" + } + ] + }, + "r": { + "description": "Settings for a R environment.", + "allOf": [ + { + "$ref": "#/definitions/RSection" + } + ] + }, + "inferencingStackVersion": { + "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".", + "type": "string", + "example": "latest" + } + } + }, + "ModelEnvironmentDefinitionResponse": { + "type": "object", + "properties": { + "name": { + "description": "The name of the environment.", + "type": "string", + "example": "mydevenvironment" + }, + "version": { + "description": "The environment version.", + "type": "string", + "example": "1" + }, + "python": { + "description": "Settings for a Python environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelPythonSection" + } + ] + }, + "environmentVariables": { + "description": "Definition of environment variables to be defined in the environment.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "docker": { + "description": "The definition of a Docker container.", + "allOf": [ + { + "$ref": "#/definitions/ModelDockerSectionResponse" + } + ] + }, + "spark": { + "description": "The configuration for a Spark environment.", + "allOf": [ + { + "$ref": "#/definitions/ModelSparkSection" + } + ] + }, + "r": { + "description": "Settings for a R environment.", + "allOf": [ + { + "$ref": "#/definitions/RSectionResponse" + } + ] + }, + "inferencingStackVersion": { + "description": "The inferencing stack version added to the image. To avoid adding an inferencing stack, do not set this value. Valid values: \"latest\".", + "type": "string", + "example": "latest" + } + } + }, + "EnvironmentReference": { + "type": "object", + "properties": { + "name": { + "description": "Name of the environment.", + "type": "string" + }, + "version": { + "description": "Version of the environment.", + "type": "string" + } + } + }, + "ModelPythonSection": { + "type": "object", + "properties": { + "interpreterPath": { + "description": "The python interpreter path to use if an environment build is not required. The path specified gets used to call the user script.", + "type": "string" + }, + "userManagedDependencies": { + "description": "True means that AzureML reuses an existing python environment; False means that AzureML will create a python environment based on the Conda dependencies specification.", + "type": "boolean" + }, + "condaDependencies": { + "description": "A JObject containing Conda dependencies.", + "type": "object" + }, + "baseCondaEnvironment": { + "type": "string" + } + } + }, + "ContainerRegistry": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "username": { + "type": "string", + "x-ms-secret": true + }, + "password": { + "type": "string", + "x-ms-secret": true + } + } + }, + "ContainerRegistryResponse": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "ModelDockerSection": { + "type": "object", + "properties": { + "baseImage": { + "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.", + "type": "string", + "example": "ubuntu:latest" + }, + "baseDockerfile": { + "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.", + "type": "string", + "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"" + }, + "baseImageRegistry": { + "description": "Image registry that contains the base image.", + "allOf": [ + { + "$ref": "#/definitions/ContainerRegistry" + } + ] + } + } + }, + "ModelDockerSectionResponse": { + "type": "object", + "properties": { + "baseImage": { + "description": "Base image used for Docker-based runs. Mutually exclusive with BaseDockerfile.", + "type": "string", + "example": "ubuntu:latest" + }, + "baseDockerfile": { + "description": "Base Dockerfile used for Docker-based runs. Mutually exclusive with BaseImage.", + "type": "string", + "example": "FROM ubuntu:latest\r\nRUN echo \"Hello world!\"" + }, + "baseImageRegistry": { + "description": "Image registry that contains the base image.", + "allOf": [ + { + "$ref": "#/definitions/ContainerRegistryResponse" + } + ] + } + } + }, + "SparkMavenPackage": { + "type": "object", + "properties": { + "group": { + "type": "string" + }, + "artifact": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "ModelSparkSection": { + "type": "object", + "properties": { + "repositories": { + "description": "The list of spark repositories.", + "type": "array", + "items": { + "type": "string" + } + }, + "packages": { + "description": "The Spark packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/SparkMavenPackage" + } + }, + "precachePackages": { + "description": "Whether to precache the packages.", + "type": "boolean" + } + } + }, + "RCranPackage": { + "type": "object", + "properties": { + "name": { + "description": "The package name.", + "type": "string" + }, + "repository": { + "description": "The repository name.", + "type": "string" + } + } + }, + "RGitHubPackage": { + "type": "object", + "properties": { + "repository": { + "description": "Repository address in the format username/repo[/subdir][@ref|#pull].", + "type": "string" + }, + "authToken": { + "description": "Personal access token to install from a private repo", + "type": "string", + "x-ms-secret": true + } + } + }, + "RGitHubPackageResponse": { + "type": "object", + "properties": { + "repository": { + "description": "Repository address in the format username/repo[/subdir][@ref|#pull].", + "type": "string" + } + } + }, + "RSection": { + "type": "object", + "properties": { + "rVersion": { + "description": "The version of R to be installed", + "type": "string" + }, + "userManaged": { + "description": "Indicates whether the environment is managed by user or by AzureML.", + "type": "boolean" + }, + "rscriptPath": { + "description": "The Rscript path to use if an environment build is not required.\r\nThe path specified gets used to call the user script.", + "type": "string" + }, + "snapshotDate": { + "description": "Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. \"2019-04-17\"", + "type": "string" + }, + "cranPackages": { + "description": "The CRAN packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/RCranPackage" + } + }, + "gitHubPackages": { + "description": "The packages directly from GitHub.", + "type": "array", + "items": { + "$ref": "#/definitions/RGitHubPackage" + } + }, + "customUrlPackages": { + "description": "The packages from custom urls.", + "type": "array", + "items": { + "type": "string" + } + }, + "bioConductorPackages": { + "description": "The packages from Bioconductor.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "RSectionResponse": { + "type": "object", + "properties": { + "rVersion": { + "description": "The version of R to be installed", + "type": "string" + }, + "userManaged": { + "description": "Indicates whether the environment is managed by user or by AzureML.", + "type": "boolean" + }, + "rscriptPath": { + "description": "The Rscript path to use if an environment build is not required.\r\nThe path specified gets used to call the user script.", + "type": "string" + }, + "snapshotDate": { + "description": "Date of MRAN snapshot to use in YYYY-MM-DD format, e.g. \"2019-04-17\"", + "type": "string" + }, + "cranPackages": { + "description": "The CRAN packages to use.", + "type": "array", + "items": { + "$ref": "#/definitions/RCranPackage" + } + }, + "gitHubPackages": { + "description": "The packages directly from GitHub.", + "type": "array", + "items": { + "$ref": "#/definitions/RGitHubPackageResponse" + } + }, + "customUrlPackages": { + "description": "The packages from custom urls.", + "type": "array", + "items": { + "type": "string" + } + }, + "bioConductorPackages": { + "description": "The packages from Bioconductor.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatasetReference": { + "description": "The dataset reference object.", + "type": "object", + "properties": { + "name": { + "description": "The name of the dataset reference.", + "type": "string" + }, + "id": { + "description": "The id of the dataset reference.", + "type": "string" + } + } + }, + "AKSVariantResponse": { + "description": "The response for an AKS variant.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ServiceResponseBase" + }, + { + "type": "object", + "properties": { + "isDefault": { + "description": "Is this the default variant.", + "type": "boolean" + }, + "trafficPercentile": { + "format": "float", + "description": "The amount of traffic variant receives.", + "type": "number", + "example": 100 + }, + "type": { + "description": "The type of the variant.", + "enum": [ + "Control", + "Treatment" + ], + "type": "string", + "example": "Control", + "x-ms-enum": { + "name": "VariantType", + "modelAsString": true + } + } + } + } + ], + "x-ms-discriminator-value": "Custom" + }, + "AutoScaler": { + "description": "The Auto Scaler properties.", + "type": "object", + "properties": { + "autoscaleEnabled": { + "description": "Option to enable/disable auto scaling.", + "type": "boolean" + }, + "minReplicas": { + "format": "int32", + "description": "The minimum number of replicas to scale down to.", + "type": "integer", + "example": 1 + }, + "maxReplicas": { + "format": "int32", + "description": "The maximum number of replicas in the cluster.", + "type": "integer", + "example": 3 + }, + "targetUtilization": { + "format": "int32", + "description": "The target utilization percentage to use for determining whether to scale the cluster.", + "type": "integer", + "example": 70 + }, + "refreshPeriodInSeconds": { + "format": "int32", + "description": "The amount of seconds to wait between auto scale updates.", + "type": "integer", + "example": 120 + } + } + }, + "AKSReplicaStatus": { + "type": "object", + "properties": { + "desiredReplicas": { + "format": "int32", + "description": "The desired number of replicas.", + "type": "integer", + "example": 2 + }, + "updatedReplicas": { + "format": "int32", + "description": "The number of updated replicas.", + "type": "integer", + "example": 1 + }, + "availableReplicas": { + "format": "int32", + "description": "The number of available replicas.", + "type": "integer", + "example": 1 + }, + "error": { + "description": "The error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorResponse" + } + ] + } + } + }, + "LivenessProbeRequirements": { + "description": "The liveness probe requirements.", + "type": "object", + "properties": { + "failureThreshold": { + "format": "int32", + "description": "The number of failures to allow before returning an unhealthy status.", + "type": "integer" + }, + "successThreshold": { + "format": "int32", + "description": "The number of successful probes before returning a healthy status.", + "type": "integer" + }, + "timeoutSeconds": { + "format": "int32", + "description": "The probe timeout in seconds.", + "type": "integer" + }, + "periodSeconds": { + "format": "int32", + "description": "The length of time between probes in seconds.", + "type": "integer" + }, + "initialDelaySeconds": { + "format": "int32", + "description": "The delay before the first probe in seconds.", + "type": "integer" + } + } + }, + "AKSServiceResponse": { + "description": "The response for an AKS service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AKSVariantResponse" + }, + { + "type": "object", + "properties": { + "models": { + "description": "The list of models.", + "type": "array", + "items": { + "$ref": "#/definitions/Model" + } + }, + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "maxConcurrentRequestsPerContainer": { + "format": "int32", + "description": "The maximum number of concurrent requests per container.", + "type": "integer", + "example": 100 + }, + "maxQueueWaitMs": { + "format": "int32", + "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)", + "type": "integer", + "example": 250 + }, + "computeName": { + "description": "The name of the compute resource.", + "type": "string" + }, + "namespace": { + "description": "The Kubernetes namespace of the deployment.", + "type": "string", + "example": "default" + }, + "numReplicas": { + "format": "int32", + "description": "The number of replicas on the cluster.", + "type": "integer", + "example": 1 + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "autoScaler": { + "description": "The auto scaler properties.", + "allOf": [ + { + "$ref": "#/definitions/AutoScaler" + } + ] + }, + "scoringUri": { + "description": "The Uri for sending scoring requests.", + "type": "string", + "readOnly": true + }, + "deploymentStatus": { + "description": "The deployment status.", + "readOnly": true, + "allOf": [ + { + "$ref": "#/definitions/AKSReplicaStatus" + } + ] + }, + "scoringTimeoutMs": { + "format": "int32", + "description": "The scoring timeout in milliseconds.", + "type": "integer", + "example": 100 + }, + "livenessProbeRequirements": { + "description": "The liveness probe requirements.", + "allOf": [ + { + "$ref": "#/definitions/LivenessProbeRequirements" + } + ] + }, + "authEnabled": { + "description": "Whether or not authentication is enabled.", + "type": "boolean" + }, + "aadAuthEnabled": { + "description": "Whether or not AAD authentication is enabled.", + "type": "boolean" + }, + "swaggerUri": { + "description": "The Uri for sending swagger requests.", + "type": "string", + "readOnly": true + }, + "modelConfigMap": { + "description": "Details on the models and configurations.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "environmentImageRequest": { + "description": "The Environment, models and assets used for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageResponse" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AuthKeys": { + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key.", + "type": "string" + } + } + }, + "CreateServiceRequest": { + "description": "The base class for creating a service.", + "required": [ + "computeType" + ], + "type": "object", + "properties": { + "description": { + "description": "The description of the service.", + "type": "string" + }, + "kvTags": { + "description": "The service tag dictionary. Tags are mutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "The service properties dictionary. Properties are immutable.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "keys": { + "description": "The authentication keys.", + "allOf": [ + { + "$ref": "#/definitions/AuthKeys" + } + ] + }, + "computeType": { + "description": "The compute environment type for the service.", + "enum": [ + "ACI", + "AKS" + ], + "type": "string", + "example": "AKS", + "x-ms-enum": { + "name": "ComputeEnvironmentType", + "modelAsString": true + } + }, + "environmentImageRequest": { + "description": "The Environment, models and assets needed for inferencing.", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentImageRequest" + } + ] + }, + "location": { + "description": "The name of the Azure location/region.", + "type": "string" + } + }, + "discriminator": "computeType" + }, + "ACIServiceCreateRequest": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateServiceRequest" + }, + { + "type": "object", + "properties": { + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "authEnabled": { + "description": "Whether or not authentication is enabled on the service.", + "default": false, + "type": "boolean" + }, + "sslEnabled": { + "description": "Whether or not SSL is enabled.", + "default": false, + "type": "boolean" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "default": false, + "type": "boolean" + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "sslCertificate": { + "description": "The public SSL certificate in PEM format to use if SSL is enabled.", + "type": "string" + }, + "sslKey": { + "description": "The public SSL key in PEM format for the certificate.", + "type": "string" + }, + "cname": { + "description": "The CName for the service.", + "type": "string" + }, + "dnsNameLabel": { + "description": "The Dns label for the service.", + "type": "string" + }, + "vnetConfiguration": { + "description": "The virtual network configuration.", + "allOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + } + ] + }, + "encryptionProperties": { + "description": "The encryption properties.", + "allOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + } + ] + } + } + } + ], + "x-ms-discriminator-value": "ACI" + }, + "AKSServiceCreateRequest": { + "description": "The request to create an AKS service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateEndpointVariantRequest" + }, + { + "type": "object", + "properties": { + "numReplicas": { + "format": "int32", + "description": "The number of replicas on the cluster.", + "type": "integer", + "example": 1 + }, + "dataCollection": { + "description": "Details of the data collection options specified.", + "allOf": [ + { + "$ref": "#/definitions/ModelDataCollection" + } + ] + }, + "computeName": { + "description": "The name of the compute resource.", + "type": "string" + }, + "appInsightsEnabled": { + "description": "Whether or not Application Insights is enabled.", + "type": "boolean" + }, + "autoScaler": { + "description": "The auto scaler properties.", + "allOf": [ + { + "$ref": "#/definitions/AutoScaler" + } + ] + }, + "containerResourceRequirements": { + "description": "The container resource requirements.", + "$ref": "#/definitions/ContainerResourceRequirements" + }, + "maxConcurrentRequestsPerContainer": { + "format": "int32", + "description": "The maximum number of concurrent requests per container.", + "type": "integer", + "example": 100 + }, + "maxQueueWaitMs": { + "format": "int32", + "description": "Maximum time a request will wait in the queue (in milliseconds). After this time, the service will return 503 (Service Unavailable)", + "type": "integer", + "example": 250 + }, + "namespace": { + "description": "Kubernetes namespace for the service.", + "type": "string", + "example": "default" + }, + "scoringTimeoutMs": { + "format": "int32", + "description": "The scoring timeout in milliseconds.", + "type": "integer", + "example": 100 + }, + "authEnabled": { + "description": "Whether or not authentication is enabled.", + "type": "boolean" + }, + "livenessProbeRequirements": { + "description": "The liveness probe requirements.", + "allOf": [ + { + "$ref": "#/definitions/LivenessProbeRequirements" + } + ] + }, + "aadAuthEnabled": { + "description": "Whether or not AAD authentication is enabled.", + "type": "boolean" + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "CreateEndpointVariantRequest": { + "description": "The Variant properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateServiceRequest" + }, + { + "type": "object", + "properties": { + "isDefault": { + "description": "Is this the default variant.", + "type": "boolean" + }, + "trafficPercentile": { + "format": "float", + "description": "The amount of traffic variant receives.", + "type": "number", + "example": 100 + }, + "type": { + "description": "The type of the variant.", + "enum": [ + "Control", + "Treatment" + ], + "type": "string", + "example": "Control", + "x-ms-enum": { + "name": "VariantType", + "modelAsString": true + } + } + } + } + ], + "x-ms-discriminator-value": "Custom" + }, + "ComputeInstanceSshSettings": { + "type": "object", + "description": "Specifies policy and settings for SSH access.", + "properties": { + "sshPublicAccess": { + "type": "string", + "default": "Disabled", + "title": "Access policy for SSH", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the VNet/subnet policy if applicable.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "sshPublicAccess", + "modelAsString": true + } + }, + "adminUserName": { + "type": "string", + "readOnly": true, + "description": "Describes the admin user name." + }, + "sshPort": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Describes the port for connecting through SSH." + }, + "adminPublicKey": { + "type": "string", + "description": "Specifies the SSH rsa public key file as a string. Use \"ssh-keygen -t rsa -b 2048\" to generate your SSH key pairs." + } + } + }, + "ComputeInstanceState": { + "type": "string", + "description": "Current state of an ComputeInstance.", + "enum": [ + "Creating", + "CreateFailed", + "Deleting", + "Running", + "Restarting", + "JobRunning", + "SettingUp", + "SetupFailed", + "Starting", + "Stopped", + "Stopping", + "UserSettingUp", + "UserSetupFailed", + "Unknown", + "Unusable" + ], + "x-ms-enum": { + "name": "ComputeInstanceState", + "modelAsString": true + } + }, + "ComputeInstanceLastOperation": { + "type": "object", + "description": "The last operation on ComputeInstance.", + "properties": { + "operationName": { + "type": "string", + "description": "Name of the last operation.", + "enum": [ + "Create", + "Start", + "Stop", + "Restart", + "Reimage", + "Delete" + ], + "x-ms-enum": { + "name": "OperationName", + "modelAsString": true + } + }, + "operationTime": { + "type": "string", + "format": "date-time", + "description": "Time of the last operation." + }, + "operationStatus": { + "type": "string", + "description": "Operation status.", + "enum": [ + "InProgress", + "Succeeded", + "CreateFailed", + "StartFailed", + "StopFailed", + "RestartFailed", + "ReimageFailed", + "DeleteFailed" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true + } + } + } + }, + "ComputeInstanceApplication": { + "type": "object", + "description": "Defines an Aml Instance application and its connectivity endpoint URI.", + "properties": { + "displayName": { + "type": "string", + "description": "Name of the ComputeInstance application." + }, + "endpointUri": { + "type": "string", + "description": "Application' endpoint URI." + } + } + }, + "ComputeInstanceConnectivityEndpoints": { + "type": "object", + "readOnly": true, + "description": "Defines all connectivity endpoints and properties for an ComputeInstance.", + "properties": { + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "Public IP Address of this ComputeInstance." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "Private IP Address of this ComputeInstance (local to the VNET in which the compute instance is deployed)." + } + } + }, + "ComputeInstanceCreatedBy": { + "type": "object", + "readOnly": true, + "description": "Describes information on user who created this ComputeInstance.", + "properties": { + "userName": { + "type": "string", + "readOnly": true, + "description": "Name of the user." + }, + "userOrgId": { + "type": "string", + "readOnly": true, + "description": "Uniquely identifies user' Azure Active Directory organization." + }, + "userId": { + "type": "string", + "readOnly": true, + "description": "Uniquely identifies the user within his/her organization." + } + } + }, + "PersonalComputeInstanceSettings": { + "type": "object", + "properties": { + "assignedUser": { + "$ref": "#/definitions/AssignedUser", + "title": "Assigned User.", + "description": "A user explicitly assigned to a personal compute instance." + } + }, + "description": "Settings for a personal compute instance." + }, + "AssignedUser": { + "type": "object", + "description": "A user that can be assigned to a compute instance.", + "properties": { + "objectId": { + "type": "string", + "description": "User’s AAD Object Id." + }, + "tenantId": { + "type": "string", + "description": "User’s AAD Tenant Id." + } + }, + "required": [ + "objectId", + "tenantId" + ] + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/deleteWorkspace.json index df23a8b03400..3bbf285d179f 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/updateAKSCompute.json index cf0a568baef6..64cf0238e98a 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/updateAKSCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/updateAKSCompute.json @@ -6,7 +6,6 @@ "computeName": "compute123", "api-version": "2018-11-19", "parameters": { - "id": "compute123", "location": "eastus", "properties": { "description": "some compute", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/updateAmlCompute.json index 760f79ab8979..9f004603fee5 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/updateAmlCompute.json @@ -10,14 +10,10 @@ "properties": { "computeType": "AmlCompute", "properties": { - "description": "some compute", - "computeType": "AmlCompute", - "properties": { - "scaleSettings": { - "maxNodeCount": 4, - "minNodeCount": 4, - "nodeIdleTimeBeforeScaleDown": "PT5M" - } + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json index 0178bb7c73d3..6f46121ab2a0 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json @@ -179,6 +179,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -197,6 +198,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/deleteWorkspace.json index 690c28f0d699..7a5ad5daab6f 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/updateAKSCompute.json index 01f0f9684575..d3eade578cde 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/updateAKSCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/updateAKSCompute.json @@ -6,7 +6,6 @@ "computeName": "compute123", "api-version": "2019-05-01", "parameters": { - "id": "compute123", "location": "eastus", "properties": { "description": "some compute", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/updateAmlCompute.json index bcb7cf3c8c31..78c9b90b7c5e 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/examples/updateAmlCompute.json @@ -10,14 +10,10 @@ "properties": { "computeType": "AmlCompute", "properties": { - "description": "some compute", - "computeType": "AmlCompute", - "properties": { - "scaleSettings": { - "maxNodeCount": 4, - "minNodeCount": 4, - "nodeIdleTimeBeforeScaleDown": "PT5M" - } + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/machineLearningServices.json index 03836d3773af..c7a4eb0bf9cb 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-05-01/machineLearningServices.json @@ -179,6 +179,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -197,6 +198,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/deleteWorkspace.json index 7c045e6ba190..5766708520d4 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateAKSCompute.json index 06d4d48cc9d0..c6fca0871dfc 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateAKSCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateAKSCompute.json @@ -6,7 +6,6 @@ "computeName": "compute123", "api-version": "2019-06-01", "parameters": { - "id": "compute123", "location": "eastus", "properties": { "description": "some compute", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateAmlCompute.json index e382eaaf4291..13d25772019d 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/examples/updateAmlCompute.json @@ -10,14 +10,10 @@ "properties": { "computeType": "AmlCompute", "properties": { - "description": "some compute", - "computeType": "AmlCompute", - "properties": { - "scaleSettings": { - "maxNodeCount": 4, - "minNodeCount": 4, - "nodeIdleTimeBeforeScaleDown": "PT5M" - } + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json index 8f6d8aa125f2..45d5b91d5962 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json @@ -179,6 +179,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -197,6 +198,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/deleteWorkspace.json index b9e0d6fd045c..47d865aa4bca 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/updateAKSCompute.json index 98cc1580c1a5..256483e2f0a0 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/updateAKSCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/updateAKSCompute.json @@ -6,7 +6,6 @@ "computeName": "compute123", "api-version": "2019-11-01", "parameters": { - "id": "compute123", "location": "eastus", "properties": { "description": "some compute", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/updateAmlCompute.json index a724186e04cb..8ce20dc8c9a4 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/examples/updateAmlCompute.json @@ -10,14 +10,10 @@ "properties": { "computeType": "AmlCompute", "properties": { - "description": "some compute", - "computeType": "AmlCompute", - "properties": { - "scaleSettings": { - "maxNodeCount": 4, - "minNodeCount": 4, - "nodeIdleTimeBeforeScaleDown": "PT5M" - } + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json index dbd23458bf96..502516ec031b 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json @@ -179,6 +179,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -197,6 +198,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/deleteWorkspace.json index 713ec2db9120..d63ffcd7442c 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/updateAKSCompute.json index 1496c63962ed..4130c8597bda 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/updateAKSCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/updateAKSCompute.json @@ -6,7 +6,6 @@ "computeName": "compute123", "api-version": "2020-01-01", "parameters": { - "id": "compute123", "location": "eastus", "properties": { "description": "some compute", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/updateAmlCompute.json index cd1485a874da..7483abcecead 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/updateAmlCompute.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/examples/updateAmlCompute.json @@ -10,14 +10,10 @@ "properties": { "computeType": "AmlCompute", "properties": { - "description": "some compute", - "computeType": "AmlCompute", - "properties": { - "scaleSettings": { - "maxNodeCount": 4, - "minNodeCount": 4, - "nodeIdleTimeBeforeScaleDown": "PT5M" - } + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json index 1336b63c5e89..9401b1a3060f 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json @@ -179,6 +179,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -197,6 +198,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/deleteWorkspace.json index 9b433ad2b4c6..a0d061baa0b5 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json index d4c9ffc24905..33dfae205955 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json @@ -176,6 +176,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -194,6 +195,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createWorkspace.json index bea2168be906..456af90f383a 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/createWorkspace.json @@ -80,7 +80,15 @@ "status": "Approved" } } - ] + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } } } }, @@ -123,7 +131,15 @@ "status": "Approved" } } - ] + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } } } }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/deleteWorkspace.json index 3544758731c8..e73ff7b6601a 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/deleteWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/deleteWorkspace.json @@ -7,6 +7,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/getWorkspace.json index 99c934fbcd42..8e49baeddff5 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/getWorkspace.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/getWorkspace.json @@ -66,7 +66,15 @@ "status": "Approved" } } - ] + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/listWorkspaceKeys.json index 52b699fbae08..2b2077543b66 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/listWorkspaceKeys.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/listWorkspaceKeys.json @@ -24,6 +24,10 @@ "value": "0KARRQoQHSUq1yViPWg7YFernOS=Ic/t" } ] + }, + "notebookAccessKeys": { + "primaryAccessKey": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw", + "secondaryAccessKey": "0KARRQoQHSUq1yViPWg7YFernOS" } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/workspacePrepareNotebook.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/workspacePrepareNotebook.json new file mode 100644 index 000000000000..93bc71201231 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/examples/workspacePrepareNotebook.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-04-01" + }, + "responses": { + "200": { + "body": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json index f51a3a500861..7bd035bdff35 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json @@ -176,6 +176,7 @@ "$ref": "./examples/deleteWorkspace.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/APIVersionParameter" @@ -194,6 +195,9 @@ "200": { "description": "The request was successful; the request was well-formed and received properly." }, + "202": { + "description": "The request was accepted; the request was well-formed and received properly." + }, "204": { "description": "The machine learning workspace does not exist in the subscription." }, @@ -300,6 +304,54 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook": { + "post": { + "tags": [ + "ProxyOperations" + ], + "operationId": "Notebooks_Prepare", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Prepare Notebook": { + "$ref": "./examples/workspacePrepareNotebook.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NotebookResourceInfo" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces": { "get": { "tags": [ @@ -1368,6 +1420,45 @@ } } }, + "NotebookListCredentialsResult": { + "type": "object", + "properties": { + "primaryAccessKey": { + "type": "string" + }, + "secondaryAccessKey": { + "type": "string" + } + } + }, + "NotebookResourceInfo": { + "type": "object", + "properties": { + "fqdn": { + "type": "string" + }, + "resourceId": { + "type": "string", + "description": "the data plane resourceId that used to initialize notebook component" + }, + "notebookPreparationError": { + "$ref": "#/definitions/NotebookPreparationError", + "description": "The error that occurs when preparing notebook." + } + } + }, + "NotebookPreparationError": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string" + }, + "statusCode": { + "format": "int32", + "type": "integer" + } + } + }, "OperationListResult": { "description": "An array of operations supported by the resource provider.", "properties": { @@ -1500,6 +1591,11 @@ "$ref": "#/definitions/SharedPrivateLinkResource" }, "description": "The list of shared private link resources in this workspace." + }, + "notebookInfo": { + "readOnly": true, + "$ref": "#/definitions/NotebookResourceInfo", + "description": "The notebook info of Azure ML workspace." } } }, @@ -2050,6 +2146,9 @@ "containerRegistryCredentials": { "readOnly": true, "$ref": "#/definitions/RegistryListCredentialsResult" + }, + "notebookAccessKeys": { + "$ref": "#/definitions/NotebookListCredentialsResult" } } }, @@ -2230,6 +2329,14 @@ "aksNetworkingConfiguration": { "description": "AKS networking configuration for vnet", "$ref": "#/definitions/AksNetworkingConfiguration" + }, + "clusterPurpose": { + "type": "string", + "enum": [ + "FastProd", + "DenseProd", + "DevTest" + ] } } } @@ -2522,7 +2629,8 @@ "type": "string", "enum": [ "Disabled", - "Enabled" + "Enabled", + "Auto" ] }, "cert": { @@ -2536,6 +2644,15 @@ "cname": { "description": "CNAME of the cert", "type": "string" + }, + "leafDomainLabel": { + "description": "The leaf domain label name", + "type": "string" + }, + "overwriteExistingDomain": { + "description": "Boolean value for overwriting the domain", + "type": "boolean", + "default": false } } }, diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListSkus.json new file mode 100644 index 000000000000..f3d57d4a6891 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListSkus.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "{subscription-id}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "workspaces", + "skus": [ + { + "name": "Basic", + "tier": "Basic", + "locations": [ + "westus" + ], + "locationInfo": [ + { + "location": "westus", + "zones": [ + "westus-AZ02", + "westus-AZ01" + ] + } + ], + "capabilities": [ + { + "name": "automatedml_readhyperdrivesdk", + "value": "{\n \"id\": \"automatedml_ readhyperdrivesdk\",\n \"name\": \"Read hyperdrive SDK\",\n \"description\": \"Read only access to Hyperdrive in the SDK\"\n}" + }, + { + "name": "workspace_upgradeworkspacesdk", + "value": "{\n \"id\": \"workspace_upgradeworkspacesdk\",\n \"name\": \"Upgrade workspace SDK\",\n \"description\": \"Upgrade workspace from Basic to enterprise from the SDK\"\n}" + } + ], + "restrictions": [] + } + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListUsages.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListUsages.json new file mode 100644 index 000000000000..8527c93e5796 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListUsages.json @@ -0,0 +1,400 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.MachineLearningServices/totalCores/usages", + "currentValue": 7, + "limit": 100, + "name": { + "localizedValue": "Total Cluster vCPUs", + "value": "TotalCores" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.MachineLearningServices/totalDedicatedCores/usages", + "currentValue": 14, + "limit": 24, + "name": { + "localizedValue": "Total Cluster Dedicated Regional vCPUs", + "value": "TotalDedicatedCores" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "StandardDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_dsv2/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/computes/dedicatedCores/usages", + "currentValue": 2, + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster2_dsv2/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/computes/dedicatedCores/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "StandardDv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 24, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 12, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/dedicatedCores/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/computes/dedicatedCores/usages", + "currentValue": 6, + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluser1_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/computes/dedicatedCores/usages", + "currentValue": 6, + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "StandardNCv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "StandardNCv3Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "StandardNDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/usages", + "currentValue": 0, + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "StandardNVFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.MachineLearningServices/totalLowPriorityCores/usages", + "currentValue": 18, + "limit": 50, + "name": { + "localizedValue": "Total Cluster LowPriority Regional vCPUs", + "value": "TotalLowPriorityCores" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "value": "StandardDFamily", + "localizedValue": "Standard D Family Cluster LowPriority vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard DSv2 Family Cluster LowPriority vCPUs", + "value": "StandardDSv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard Dv2 Family Cluster LowPriority vCPUs", + "value": "StandardDv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard FSv2 Family Cluster LowPriority vCPUs", + "value": "StandardFSv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 18, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/lowPriorityCores/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/computes/demo_cluster1_lowPriority_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/computes/lowPriorityCores/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/lowPriorityCores/usages", + "currentValue": 12, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster2_lowPriority_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/computes/lowPriorityCores/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/computes/demo_cluster3_lowPriority_nc/usages/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspace/computes/lowPriorityCores/usages", + "currentValue": 6, + "limit": -1, + "name": { + "localizedValue": "Standard NC Family Cluster LowPriority vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv2 Family Cluster LowPriority vCPUs", + "value": "StandardNCv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NCv3 Family Cluster LowPriority vCPUs", + "value": "StandardNCv3Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard ND Family Cluster LowPriority vCPUs", + "value": "StandardNDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NDv2 Family Cluster LowPriority vCPUs", + "value": "StandardNDv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/usages/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/lowPriorityCores/usages", + "currentValue": 0, + "limit": -1, + "name": { + "localizedValue": "Standard NV Family Cluster LowPriority vCPUs", + "value": "StandardNVFamily" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListVMSizesResult.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListVMSizesResult.json new file mode 100644 index 000000000000..b7c658842ef7 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListVMSizesResult.json @@ -0,0 +1,455 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-06-01", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "amlCompute": [ + { + "name": "Standard_F2s_v2", + "family": "standardFSv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 16384, + "memoryGB": 4.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F4s_v2", + "family": "standardFSv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 32768, + "memoryGB": 8.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F8s_v2", + "family": "standardFSv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 65536, + "memoryGB": 16.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F16s_v2", + "family": "standardFSv2Family", + "vCPUs": 16, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 131072, + "memoryGB": 32.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F32s_v2", + "family": "standardFSv2Family", + "vCPUs": 32, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 262144, + "memoryGB": 64.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F64s_v2", + "family": "standardFSv2Family", + "vCPUs": 64, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 524288, + "memoryGB": 128.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_F72s_v2", + "family": "standardFSv2Family", + "vCPUs": 72, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 589824, + "memoryGB": 144.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_D1_v2", + "family": "standardDv2Family", + "vCPUs": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 51200, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D2_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 7.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D3_v2", + "family": "standardDv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 204800, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D4_v2", + "family": "standardDv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 409600, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D11_v2", + "family": "standardDv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 102400, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D12_v2", + "family": "standardDv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 204800, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D13_v2", + "family": "standardDv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 409600, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_D14_v2", + "family": "standardDv2Family", + "vCPUs": 16, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 819200, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_DS1_v2", + "family": "standardDSv2Family", + "vCPUs": 1, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 7168, + "memoryGB": 3.5, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS2_v2", + "family": "standardDSv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 14336, + "memoryGB": 7.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS3_v2", + "family": "standardDSv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 28672, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS4_v2", + "family": "standardDSv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 57344, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS5_v2", + "family": "standardDSv2Family", + "vCPUs": 16, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 114688, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS11_v2", + "family": "standardDSv2Family", + "vCPUs": 2, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 28672, + "memoryGB": 14.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS12_v2", + "family": "standardDSv2Family", + "vCPUs": 4, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 57344, + "memoryGB": 28.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS13_v2", + "family": "standardDSv2Family", + "vCPUs": 8, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 114688, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS14_v2", + "family": "standardDSv2Family", + "vCPUs": 16, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 229376, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_DS15_v2", + "family": "standardDSv2Family", + "vCPUs": 20, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 286720, + "memoryGB": 140.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC6s_v2", + "family": "standardNCSv2Family", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC12s_v2", + "family": "standardNCSv2Family", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 688128, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC24rs_v2", + "family": "standardNCSv2Family", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC24s_v2", + "family": "standardNCSv2Family", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC6s_v3", + "family": "standardNCSv3Family", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC12s_v3", + "family": "standardNCSv3Family", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 688128, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC24rs_v3", + "family": "standardNCSv3Family", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC24s_v3", + "family": "standardNCSv3Family", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_NC6", + "family": "standardNCFamily", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NC12", + "family": "standardNCFamily", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 696320, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NC24", + "family": "standardNCFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NC24r", + "family": "standardNCFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NV6", + "family": "standardNVFamily", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 389120, + "memoryGB": 56.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NV12", + "family": "standardNVFamily", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 696320, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_NV24", + "family": "standardNVFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1474560, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": false + }, + { + "name": "Standard_ND6s", + "family": "standardNDSFamily", + "vCPUs": 6, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 344064, + "memoryGB": 112.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_ND12s", + "family": "standardNDSFamily", + "vCPUs": 12, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 688128, + "memoryGB": 224.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_ND24rs", + "family": "standardNDSFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + }, + { + "name": "Standard_ND24s", + "family": "standardNDSFamily", + "vCPUs": 24, + "osVhdSizeMB": 1047552, + "maxResourceVolumeMB": 1376256, + "memoryGB": 448.0, + "lowPriorityCapable": true, + "premiumIO": true + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListWorkspaceFeatures.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListWorkspaceFeatures.json new file mode 100644 index 000000000000..6ab06854f3bd --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListWorkspaceFeatures.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "testworkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "automatedml_createeditexperimentsui", + "displayName": "Create edit experiments UI", + "description": "Create, edit or delete AutoML experiments in the SDK" + }, + { + "id": "workspace_upgradeworkspaceui", + "displayName": "Upgrade workspace UI", + "description": "Upgrade workspace from Basic to enterprise from the UI" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListWorkspaceQuotasByVMFamily.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListWorkspaceQuotasByVMFamily.json new file mode 100644 index 000000000000..a81090adc166 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/ListWorkspaceQuotasByVMFamily.json @@ -0,0 +1,415 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 48, + "name": { + "localizedValue": "Standard D Family Cluster Dedicated vCPUs", + "value": "StandardDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardDFamily", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardDFamily", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardDFamily", + "localizedValue": "Standard D Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardDSv2Family", + "localizedValue": "Standard DSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs", + "value": "StandardDv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardDv2Family", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardDv2Family", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardDv2Family", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardFSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 12, + "name": { + "value": "StandardFSv2Family", + "localizedValue": "Standard FSv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs", + "value": "StandardNCFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNCFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNCFamily", + "localizedValue": "Standard NC Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs", + "value": "StandardNCv2Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv2Family", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv2Family", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNCv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv2Family", + "localizedValue": "Standard NCv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs", + "value": "StandardNCv3Family" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv3Family", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv3Family", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNCv3Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNCv3Family", + "localizedValue": "Standard NCv3 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 0, + "name": { + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs", + "value": "StandardNDFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDFamily", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDFamily", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNDFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDFamily", + "localizedValue": "Standard ND Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNDv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 0, + "name": { + "value": "StandardNDv2Family", + "localizedValue": "Standard NDv2 Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/quotas/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/vmFamily/dedicatedCores/quotas", + "limit": 24, + "name": { + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs", + "value": "StandardNVFamily" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNVFamily", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNVFamily", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace3/quotas/StandardNVFamily", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 24, + "name": { + "value": "StandardNVFamily", + "localizedValue": "Standard NV Family Cluster Dedicated vCPUs" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/amlComputeListNodes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/amlComputeListNodes.json new file mode 100644 index 000000000000..a36d2da3aaad --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/amlComputeListNodes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "computeType": "AmlCompute", + "nodes": [ + { + "nodeId": "tvm-3601533753_1-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50000, + "nodeState": "running", + "runId": "2f378a44-38f2-443a-9f0d-9909d0b47890" + }, + { + "nodeId": "tvm-3601533753_2-20170719t162906z", + "privateIpAddress": "13.84.190.124", + "publicIpAddress": "13.84.190.134", + "port": 50001, + "nodeState": "idle" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAKSCompute.json new file mode 100644 index 000000000000..db401df9d57d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAKSCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AKS" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AKS", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAmlCompute.json new file mode 100644 index 000000000000..88894b353429 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicAmlCompute.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "NotSpecified" + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicDataFactoryCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicDataFactoryCompute.json new file mode 100644 index 000000000000..f3a2a07f91e5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createBasicDataFactoryCompute.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "DataFactory" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "DataFactory", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createComputeInstance.json new file mode 100644 index 000000000000..5379775c2b89 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createComputeInstance.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "properties": { + "vmSize": "STANDARD_NC6", + "subnet": "test-subnet-resource-id", + "applicationSharingPolicy": "Personal", + "sshSettings": { + "sshPublicAccess": "Disabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createComputeInstanceMinimal.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createComputeInstanceMinimal.json new file mode 100644 index 000000000000..5cd739c27b81 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createComputeInstanceMinimal.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "properties": { + "vmSize": "STANDARD_NC6" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "computeType": "ComputeInstance", + "provisioningState": "Creating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspace.json new file mode 100644 index 000000000000..14b0251270ee --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspace.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "friendlyName": "HelloName", + "description": "test description", + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "allowPublicAccessWhenBehindVnet": false, + "sharedPrivateLinkResources": [ + { + "name": "testdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspaceConnection.json new file mode 100644 index 000000000000..521acd0c4494 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/createWorkspaceConnection.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-06-01", + "parameters": { + "name": "connection-1", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/connections/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteCompute.json new file mode 100644 index 000000000000..ab1edfae7e82 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "underlyingResourceAction": "Delete" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/...pathToOperationResult..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteWorkspace.json new file mode 100644 index 000000000000..c0425965629d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteWorkspaceConnection.json new file mode 100644 index 000000000000..e1aafd381e53 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/deleteWorkspaceConnection.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAKSCompute.json new file mode 100644 index 000000000000..c337b0d23372 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAKSCompute.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAmlCompute.json new file mode 100644 index 000000000000..e432876e24d6 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getAmlCompute.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "vmPriority": "Dedicated", + "subnet": "test-subnet-resource-id", + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + }, + "remoteLoginPortPublicAccess": "Enabled", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-09-27T22:28:08.998Z", + "errors": null, + "currentNodeCount": 0, + "targetNodeCount": 1, + "nodeStateCounts": { + "preparingNodeCount": 0, + "runningNodeCount": 0, + "idleNodeCount": 0, + "unusableNodeCount": 0, + "leavingNodeCount": 0, + "preemptedNodeCount": 0 + } + } + }, + "identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getComputeInstance.json new file mode 100644 index 000000000000..c00d60feb202 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getComputeInstance.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "ComputeInstance", + "createdOn": "2017-09-26T22:28:08.327Z", + "provisioningState": "Succeeded", + "properties": { + "vmSize": "STANDARD_NC6", + "subnet": "test-subnet-resource-id", + "applicationSharingPolicy": "Shared", + "sshSettings": { + "sshPublicAccess": "Enabled", + "adminUserName": "azureuser", + "sshPort": 22 + }, + "createdBy": { + "userName": "foobar@microsoft.com", + "userOrgId": "00000000-0000-0000-0000-000000000000", + "userId": "00000000-0000-0000-0000-000000000000" + }, + "connectivityEndpoints": { + "publicIpAddress": "10.0.0.1", + "privateIpAddress": "10.0.0.1" + }, + "applications": [ + { + "displayName": "Jupyter", + "endpointUri": "https://compute123.eastus2.azureml.net/jupyter" + } + ], + "errors": null, + "state": "Running" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getComputes.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getComputes.json new file mode 100644 index 000000000000..b4c4fa9882ac --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getComputes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute1234", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute1234", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute1234-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspace.json new file mode 100644 index 000000000000..25abf40c63df --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspace.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description", + "encryption": { + "status": "Enabled", + "keyVaultProperties": { + "keyVaultArmId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "keyIdentifier": "https://testkv.vault.azure.net/keys/testkey/aabbccddee112233445566778899aabb", + "identityClientId": "" + } + }, + "hbiWorkspace": false, + "serviceProvisionedResourceGroup": "testworkspace_0000111122223333", + "privateLinkCount": 0, + "allowPublicAccessWhenBehindVnet": false, + "imageBuildCompute": "testcompute", + "privateEndpointConnections": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/testprivatelinkconnection", + "name": "testprivatelinkconnection", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ], + "sharedPrivateLinkResources": [ + { + "name": "testcosmosdbresource", + "properties": { + "privateLinkResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.DocumentDB/databaseAccounts/testcosmosdbresource/privateLinkResources/Sql", + "groupId": "Sql", + "requestMessage": "Please approve", + "status": "Approved" + } + } + ], + "notebookInfo": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspaceConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspaceConnection.json new file mode 100644 index 000000000000..159d811c43b8 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspaceConnection.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "connectionName": "connection-1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/connections/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspacesByResourceGroup.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspacesByResourceGroup.json new file mode 100644 index 000000000000..de21ed344abe --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspacesByResourceGroup.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace1", + "name": "testworkspace1", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName 1", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspacesBySubscription.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspacesBySubscription.json new file mode 100644 index 000000000000..a06cd53137bb --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/getWorkspacesBySubscription.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-5678/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistryNew", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkvNew", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccountOld", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "HelloName", + "description": "test description" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listKeysAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listKeysAKSCompute.json new file mode 100644 index 000000000000..94b43cb7163d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listKeysAKSCompute.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "computeType": "AKS", + "userKubeConfig": "user kube config...", + "adminKubeConfig": "admin kube config...", + "imagePullSecretName": "the image pull secret name" + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listWorkspaceConnections.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listWorkspaceConnections.json new file mode 100644 index 000000000000..3cf89397b61e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listWorkspaceConnections.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup-1", + "workspaceName": "workspace-1", + "api-version": "2020-06-01", + "target": "www.facebook.com", + "category": "ACR" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/connection-1", + "name": "connection-1", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1/providers/Microsoft.MachineLearningServices/workspaces/workspace-1/linkedWorkspaces/connection-2", + "name": "connection-2", + "type": "Microsoft.MachineLearningServices/workspaces/connections", + "properties": { + "category": "ACR", + "target": "www.facebook.com", + "authType": "PAT", + "value": "secrets" + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listWorkspaceKeys.json new file mode 100644 index 000000000000..be0190b71d69 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/listWorkspaceKeys.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "userStorageKey": "r5rKCJ018TLk+bdAi/9YaVzgcQ0nkLsUqGyUN03KsdCFtqG0SjFGPV8+vT1frWqkvBL0bGoPpLc1BlZSSaZmOA==", + "userStorageResourceId": "/subscriptions/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/resourceGroups/ragargeastus2euap/providers/Microsoft.Storage/storageAccounts/testdemoworkazashomr", + "appInsightsInstrumentationKey": null, + "containerRegistryCredentials": { + "location": null, + "username": "testdemoworkjmjmeykp", + "passwords": [ + { + "name": "password", + "value": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw" + }, + { + "name": "password2", + "value": "0KARRQoQHSUq1yViPWg7YFernOS=Ic/t" + } + ] + }, + "notebookAccessKeys": { + "primaryAccessKey": "vBvVhYgAGtUSewVCUv3w95p4/q5Yrsnw", + "secondaryAccessKey": "0KARRQoQHSUq1yViPWg7YFernOS" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/patchAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/patchAmlCompute.json new file mode 100644 index 000000000000..88f65f776d80 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/patchAmlCompute.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "scaleSettings": { + "maxNodeCount": 4, + "minNodeCount": 4, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/restartComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/restartComputeInstance.json new file mode 100644 index 000000000000..71e86d428edc --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/restartComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/resyncWorkspaceKeys.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/resyncWorkspaceKeys.json new file mode 100644 index 000000000000..7494624f6c74 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/resyncWorkspaceKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-06-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/startComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/startComputeInstance.json new file mode 100644 index 000000000000..71e86d428edc --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/startComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/stopComputeInstance.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/stopComputeInstance.json new file mode 100644 index 000000000000..71e86d428edc --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/stopComputeInstance.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAKSCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAKSCompute.json new file mode 100644 index 000000000000..7c1f3d13d84d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAKSCompute.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "properties": { + "agentCount": 4 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus", + "properties": { + "description": "some compute", + "resourceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/testrg123/providers/Microsoft.ContainerService/managedClusters/compute123-56826-c9b00420020b2", + "computeType": "AKS", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAmlCompute.json new file mode 100644 index 000000000000..a5c4ed1fed2d --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateAmlCompute.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "computeName": "compute123", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "computeType": "AmlCompute", + "properties": { + "scaleSettings": { + "maxNodeCount": 1, + "minNodeCount": 0, + "nodeIdleTimeBeforeScaleDown": "PT5M" + } + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.MachineLearningServices/workspaces/workspaces123/computes/compute123", + "type": "Microsoft.MachineLearningServices/workspaces/computes", + "name": "compute123", + "location": "eastus2", + "properties": { + "description": "some compute", + "computeType": "AmlCompute", + "provisioningState": "Updating" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateQuota.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateQuota.json new file mode 100644 index 000000000000..12ccc2bb1cb5 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateQuota.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2020-06-01", + "parameters": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 100, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 200, + "unit": "Count" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace1/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 100, + "unit": "Count", + "status": "Success" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.MachineLearningServices/workspaces/demo_workspace2/quotas/StandardDSv2Family", + "type": "Microsoft.MachineLearningServices/workspaces/dedicatedCores/quotas", + "limit": 200, + "unit": "Count", + "status": "Success" + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateWorkspace.json new file mode 100644 index 000000000000..a6166e476d50 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/updateWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-1234", + "workspaceName": "testworkspace", + "api-version": "2020-06-01", + "parameters": { + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "friendlyName": "New friendly name", + "description": "new description" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace", + "name": "testworkspace", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "eastus2euap", + "sku": { + "name": "Enterprise", + "tier": "Enterprise" + }, + "properties": { + "containerRegistry": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.ContainerRegistry/registries/testRegistry", + "keyVault": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/Microsoft.KeyVault/vaults/testkv", + "applicationInsights": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-1234/providers/microsoft.insights/components/testinsights", + "storageAccount": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/accountcrud-1234/providers/Microsoft.Storage/storageAccounts/testStorageAccount", + "discoveryUrl": "http://example.com", + "creationTime": "2017-03-01T23:14:37.0707808Z", + "friendlyName": "New friendly name", + "description": "new description" + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceDeletePrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..b493ea44b56e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceDeletePrivateEndpointConnection.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-06-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceGetPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..82af3249a962 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-06-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceListPrivateLinkResources.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceListPrivateLinkResources.json new file mode 100644 index 000000000000..2757062dd036 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspaceListPrivateLinkResources.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "api-version": "2020-06-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateLinkResources/amlworkspace", + "name": "amlworkspace", + "type": "Microsoft.Storage/workspaces/privateLinkResources", + "properties": { + "groupId": "amlworkspace", + "requiredMembers": [ + "default" + ] + } + } + ] + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspacePrepareNotebook.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspacePrepareNotebook.json new file mode 100644 index 000000000000..93f38156f95e --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspacePrepareNotebook.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "resourceGroupName": "testrg123", + "workspaceName": "workspaces123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "resourceId": "aabbccddee112233445566778899", + "fqdn": "testnotebook.notebooks.azure.com", + "notebookPreparationError": { + "statusCode": 500, + "errorMessage": "general error" + } + } + }, + "202": {} + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspacePutPrivateEndpointConnection.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspacePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..8521b3e53ab9 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/examples/workspacePutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg-1234", + "workspaceName": "testworkspace", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-06-01", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.MachineLearningServices/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/rg-1234/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json new file mode 100644 index 000000000000..9641d26adc27 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json @@ -0,0 +1,4104 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Machine Learning Workspaces", + "description": "These APIs allow end users to operate on Azure Machine Learning Workspace resources.", + "version": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.MachineLearningServices/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Machine Learning Workspaces REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Gets the properties of the specified machine learning workspace.", + "operationId": "Workspaces_Get", + "x-ms-examples": { + "Get Workspace": { + "$ref": "./examples/getWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "Workspaces" + ], + "description": "Creates or updates a workspace with the specified parameters.", + "operationId": "Workspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create Workspace": { + "$ref": "./examples/createWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for creating or updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "Workspaces" + ], + "description": "Deletes a machine learning workspace.", + "operationId": "Workspaces_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Workspace": { + "$ref": "./examples/deleteWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "204": { + "description": "The machine learning workspace does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "Workspaces" + ], + "description": "Updates a machine learning workspace with the specified parameters.", + "operationId": "Workspaces_Update", + "x-ms-examples": { + "Update Workspace": { + "$ref": "./examples/updateWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters for updating a machine learning workspace.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/features": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all enabled features for a workspace", + "operationId": "WorkspaceFeatures_List", + "x-ms-examples": { + "List Workspace features": { + "$ref": "./examples/ListWorkspaceFeatures.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListAmlUserFeatureResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/prepareNotebook": { + "post": { + "tags": [ + "ProxyOperations" + ], + "operationId": "Notebooks_Prepare", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Prepare Notebook": { + "$ref": "./examples/workspacePrepareNotebook.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NotebookResourceInfo" + } + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified resource group.", + "operationId": "Workspaces_ListByResourceGroup", + "x-ms-examples": { + "Get Workspaces by Resource Group": { + "$ref": "./examples/getWorkspacesByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ListKeys", + "x-ms-examples": { + "List Workspace Keys": { + "$ref": "./examples/listWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/ListWorkspaceKeysResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Resync all the keys associated with this workspace. This includes keys for the storage account, app insights and password for container registry", + "operationId": "Workspaces_ResyncKeys", + "x-ms-examples": { + "Resync Workspace Keys": { + "$ref": "./examples/resyncWorkspaceKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/usages": { + "get": { + "tags": [ + "Usage" + ], + "operationId": "Usages_List", + "description": "Gets the current usage information as well as limits for AML resources for given subscription and location.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/vmSizes": { + "get": { + "tags": [ + "VirtualMachineSizes" + ], + "operationId": "VirtualMachineSizes_List", + "description": "Returns supported VM Sizes in a location", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } + } + }, + "x-ms-examples": { + "List VM Sizes": { + "$ref": "./examples/ListVMSizesResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas": { + "post": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_Update", + "description": "Update quota for each VM family in workspace.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for update quota is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaUpdateParameters" + }, + "description": "Quota update parameters." + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful.", + "schema": { + "$ref": "#/definitions/UpdateWorkspaceQuotasResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "update quotas": { + "$ref": "./examples/updateQuota.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/Quotas": { + "get": { + "tags": [ + "Quota" + ], + "operationId": "Quotas_List", + "description": "Gets the currently assigned Workspace Quotas based on VMFamily.", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListWorkspaceQuotas" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List workspace quotas by VMFamily": { + "$ref": "./examples/ListWorkspaceQuotasByVMFamily.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available machine learning workspaces under the specified subscription.", + "operationId": "Workspaces_ListBySubscription", + "x-ms-examples": { + "Get Workspaces by subscription": { + "$ref": "./examples/getWorkspacesBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections": { + "get": { + "tags": [ + "WorkspaceConnections" + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ListWorkspaceConnections": { + "$ref": "./examples/listWorkspaceConnections.json" + } + }, + "operationId": "WorkspaceConnections_List", + "description": "List all connections under a AML workspace.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/TargetParameter" + }, + { + "$ref": "#/parameters/CategoryParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Workspace connections and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedWorkspaceConnectionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/connections/{connectionName}": { + "put": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Create", + "description": "Add a new workspace connection.", + "x-ms-examples": { + "CreateWorkspaceConnection": { + "$ref": "./examples/createWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The object for creating or updating a new workspace connection", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspaceConnectionDto" + } + } + ], + "responses": { + "200": { + "description": "Successfully created the workspace connection.", + "schema": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "get": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Get", + "description": "Get the detail of a workspace connection.", + "x-ms-examples": { + "GetWorkspaceConnection": { + "$ref": "./examples/getWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the detail of the linked workspace.", + "schema": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "WorkspaceConnections" + ], + "operationId": "WorkspaceConnections_Delete", + "description": "Delete a workspace connection.", + "x-ms-examples": { + "DeleteWorkspaceConnection": { + "$ref": "./examples/deleteWorkspaceConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the workspace connection." + }, + "204": { + "description": "Specific workspace connection not found." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "MachineLearningCompute_ListByWorkspace", + "description": "Gets computes in specified workspace.", + "x-ms-examples": { + "Get Computes": { + "$ref": "./examples/getComputes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/PaginationParameter" + } + ], + "responses": { + "200": { + "description": "The response includes a paginated array of Machine Learning computes and a URI to the next set of results, if any. For the more information the limits of the number of items in a resource group, see https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/.", + "schema": { + "$ref": "#/definitions/PaginatedComputeResourcesList" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}": { + "get": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Get", + "description": "Gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are not returned - use 'keys' nested resource to get them.", + "x-ms-examples": { + "Get a AKS Compute": { + "$ref": "./examples/getAKSCompute.json" + }, + "Get a AML Compute": { + "$ref": "./examples/getAmlCompute.json" + }, + "Get a ComputeInstance": { + "$ref": "./examples/getComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_CreateOrUpdate", + "description": "Creates or updates compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation. If your intent is to create a new compute, do a GET first to verify that it does not exist yet.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a AML Compute": { + "$ref": "./examples/createBasicAmlCompute.json" + }, + "Create a ComputeInstance Compute with minimal inputs": { + "$ref": "./examples/createComputeInstanceMinimal.json" + }, + "Create a ComputeInstance Compute": { + "$ref": "./examples/createComputeInstance.json" + }, + "Create AKS Compute": { + "$ref": "./examples/createBasicAKSCompute.json" + }, + "Create a DataFactory Compute": { + "$ref": "./examples/createBasicDataFactoryCompute.json" + }, + "Update a AML Compute": { + "$ref": "./examples/updateAmlCompute.json" + }, + "Update a AKS Compute": { + "$ref": "./examples/updateAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/ComputeDefinitionParameter" + } + ], + "responses": { + "200": { + "description": "Compute creation or update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "201": { + "description": "Compute creation or update initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "patch": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Update", + "description": "Updates properties of a compute. This call will overwrite a compute if it exists. This is a nonrecoverable operation.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a AmlCompute Compute": { + "$ref": "./examples/patchAmlCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdateParameters" + }, + "description": "Additional parameters for cluster update." + } + ], + "responses": { + "200": { + "description": "Compute update initiated.", + "schema": { + "$ref": "#/definitions/ComputeResource" + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Delete", + "description": "Deletes specified Machine Learning compute.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Compute": { + "$ref": "./examples/deleteCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/UnderlyingResourceActionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "Compute deletion initiated.", + "headers": { + "Azure-AsyncOperation": { + "description": "URI to poll for asynchronous operation status.", + "type": "string" + }, + "Location": { + "description": "URI to poll for asynchronous operation result.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the request failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listNodes": { + "post": { + "tags": [ + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListNodes", + "description": "Get the details (e.g IP address, port etc) of all the compute nodes in the compute.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of IP addresses.", + "schema": { + "$ref": "#/definitions/AmlComputeNodesInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-examples": { + "Get compute nodes information for a compute": { + "$ref": "./examples/amlComputeListNodes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_ListKeys", + "description": "Gets secrets related to Machine Learning compute (storage keys, service credentials, etc).", + "x-ms-examples": { + "List AKS Compute Keys": { + "$ref": "./examples/listKeysAKSCompute.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/ComputeSecrets" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces/skus": { + "get": { + "tags": [ + "WorkspaceSkus" + ], + "description": "Lists all skus with associated features", + "operationId": "ListSkus", + "x-ms-examples": { + "List Skus": { + "$ref": "./examples/ListSkus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/SkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspaceGetPrivateEndpointConnection": { + "$ref": "./examples/workspaceGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "put": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the workspace.", + "x-ms-examples": { + "WorkspacePutPrivateEndpointConnection": { + "$ref": "./examples/workspacePutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + }, + "delete": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the workspace.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "WorkspaceDeletePrivateEndpointConnection": { + "$ref": "./examples/workspaceDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "202": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "WorkspacePrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "Gets the private link resources that need to be created for a workspace.", + "x-ms-examples": { + "WorkspaceListPrivateLinkResources": { + "$ref": "./examples/workspaceListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/start": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Start", + "description": "Posts a start action to a compute instance", + "x-ms-examples": { + "Start ComputeInstance Compute": { + "$ref": "./examples/startComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/stop": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Stop", + "description": "Posts a stop action to a compute instance", + "x-ms-examples": { + "Stop ComputeInstance Compute": { + "$ref": "./examples/stopComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/restart": { + "post": { + "tags": [ + "OperationalizationClusters", + "MachineLearningComputes" + ], + "operationId": "MachineLearningCompute_Restart", + "description": "Posts a restart action to a compute instance", + "x-ms-examples": { + "Restart ComputeInstance Compute": { + "$ref": "./examples/restartComputeInstance.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ComputeNameParameter" + }, + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/MachineLearningServiceError" + } + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "description": "Azure subscription identifier.", + "in": "path", + "type": "string", + "required": true + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "description": "Name of the resource group in which workspace is located.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "description": "Name of Azure Machine Learning workspace.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "ComputeNameParameter": { + "name": "computeName", + "description": "Name of the Azure Machine Learning compute.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "AsyncOperationIdParameter": { + "name": "asyncOperationId", + "description": "Identifier of an asynchronous Azure Machine Learning compute operation.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "description": "The name of the Azure location/region.", + "in": "path", + "type": "string", + "required": true, + "x-ms-parameter-location": "method" + }, + "APIVersionParameter": { + "in": "query", + "name": "api-version", + "type": "string", + "description": "Version of Azure Machine Learning resource provider API.", + "required": true + }, + "PaginationParameter": { + "in": "query", + "name": "$skiptoken", + "type": "string", + "description": "Continuation token for pagination.", + "required": false, + "x-ms-parameter-location": "method" + }, + "ComputeDefinitionParameter": { + "in": "body", + "name": "parameters", + "description": "Payload with Machine Learning compute definition.", + "required": true, + "schema": { + "$ref": "#/definitions/ComputeResource" + }, + "x-ms-parameter-location": "method" + }, + "ComputeTypeParameter": { + "in": "query", + "name": "compute-type", + "type": "string", + "description": "Type of compute to filter by.", + "required": false, + "x-ms-parameter-location": "method" + }, + "UnderlyingResourceActionParameter": { + "in": "query", + "name": "underlyingResourceAction", + "type": "string", + "description": "Delete the underlying compute if 'Delete', or detach the underlying compute from workspace if 'Detach'.", + "required": true, + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "UnderlyingResourceAction", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the workspace", + "x-ms-parameter-location": "method" + }, + "ConnectionName": { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Friendly name of the workspace connection", + "x-ms-parameter-location": "method" + }, + "TargetParameter": { + "in": "query", + "name": "target", + "type": "string", + "description": "Target of the workspace connection.", + "required": false, + "x-ms-parameter-location": "method" + }, + "CategoryParameter": { + "in": "query", + "name": "category", + "type": "string", + "description": "Category of the workspace connection.", + "required": false, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Operation": { + "description": "Azure Machine Learning workspace REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display name of operation", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.MachineLearningExperimentation", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + } + } + }, + "NotebookListCredentialsResult": { + "type": "object", + "properties": { + "primaryAccessKey": { + "type": "string" + }, + "secondaryAccessKey": { + "type": "string" + } + } + }, + "NotebookResourceInfo": { + "type": "object", + "properties": { + "fqdn": { + "type": "string" + }, + "resourceId": { + "type": "string", + "description": "the data plane resourceId that used to initialize notebook component" + }, + "notebookPreparationError": { + "$ref": "#/definitions/NotebookPreparationError", + "description": "The error that occurs when preparing notebook." + } + } + }, + "NotebookPreparationError": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string" + }, + "statusCode": { + "format": "int32", + "type": "integer" + } + } + }, + "OperationListResult": { + "description": "An array of operations supported by the resource provider.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of AML workspace operations supported by the AML workspace resource provider." + } + } + }, + "Workspace": { + "type": "object", + "description": "An object that represents a machine learning workspace.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkspaceProperties", + "description": "The properties of the machine learning workspace.", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceProperties": { + "type": "object", + "description": "The properties of a machine learning workspace.", + "properties": { + "workspaceId": { + "description": "The immutable id associated with this workspace.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace. This name in mutable", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of the machine learning workspace in ISO8601 format.", + "type": "string", + "readOnly": true + }, + "keyVault": { + "description": "ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "applicationInsights": { + "description": "ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "containerRegistry": { + "description": "ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "storageAccount": { + "description": "ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created", + "type": "string" + }, + "discoveryUrl": { + "description": "Url for the discovery service to identify regional endpoints for machine learning experimentation services", + "type": "string" + }, + "provisioningState": { + "type": "string", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true, + "description": "The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperty", + "description": "The encryption settings of Azure ML workspace." + }, + "hbiWorkspace": { + "type": "boolean", + "description": "The flag to signal HBI data in the workspace and reduce diagnostic data collected by the service", + "default": false + }, + "serviceProvisionedResourceGroup": { + "type": "string", + "description": "The name of the managed resource group created by workspace RP in customer subscription if the workspace is CMK workspace", + "readOnly": true + }, + "privateLinkCount": { + "type": "integer", + "format": "int32", + "description": "Count of private connections in the workspace", + "readOnly": true + }, + "imageBuildCompute": { + "description": "The compute name for image build", + "type": "string" + }, + "allowPublicAccessWhenBehindVnet": { + "type": "boolean", + "description": "The flag to indicate whether to allow public access when behind VNet.", + "default": false + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections in the workspace." + }, + "sharedPrivateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources in this workspace." + }, + "notebookInfo": { + "readOnly": true, + "$ref": "#/definitions/NotebookResourceInfo", + "description": "The notebook info of Azure ML workspace." + } + } + }, + "WorkspaceUpdateParameters": { + "description": "The parameters for updating a machine learning workspace.", + "properties": { + "tags": { + "description": "The resource tags for the machine learning workspace.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + }, + "properties": { + "$ref": "#/definitions/WorkspacePropertiesUpdateParameters", + "description": "The properties that the machine learning workspace will be updated with.", + "x-ms-client-flatten": true + } + } + }, + "WorkspacePropertiesUpdateParameters": { + "description": "The parameters for updating the properties of a machine learning workspace.", + "properties": { + "description": { + "description": "The description of this workspace.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for this workspace.", + "type": "string" + } + } + }, + "AmlUserFeature": { + "description": "Features enabled for a workspace", + "type": "object", + "properties": { + "id": { + "description": "Specifies the feature ID", + "type": "string" + }, + "displayName": { + "description": "Specifies the feature name ", + "type": "string" + }, + "description": { + "description": "Describes the feature for user experience", + "type": "string" + } + } + }, + "ListAmlUserFeatureResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlUserFeature" + }, + "description": "The list of AML user facing features." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML user features information. Call ListNext() with this to fetch the next page of AML user features information." + } + }, + "description": "The List Aml user feature operation response." + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The current usage of the resource." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "description": "Describes AML Resource Usage." + }, + "ListUsagesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of AML resource usages." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page of AML resource usage information. Call ListNext() with this to fetch the next page of AML resource usage information." + } + }, + "description": "The List Usages operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "title": "Virtual Machine size name", + "description": "The name of the virtual machine size.", + "readOnly": true + }, + "family": { + "type": "string", + "title": "Virtual Machine family name", + "description": "The family name of the virtual machine size.", + "readOnly": true + }, + "vCPUs": { + "type": "integer", + "format": "int32", + "title": "Number of vPUs", + "description": "The number of vCPUs supported by the virtual machine size.", + "readOnly": true + }, + "gpus": { + "type": "integer", + "format": "int32", + "title": "Number of gPUs", + "description": "The number of gPUs supported by the virtual machine size.", + "readOnly": true + }, + "osVhdSizeMB": { + "type": "integer", + "format": "int32", + "title": "OS VHD Disk size", + "description": "The OS VHD disk size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "maxResourceVolumeMB": { + "type": "integer", + "format": "int32", + "title": "Resource volume size", + "description": "The resource volume size, in MB, allowed by the virtual machine size.", + "readOnly": true + }, + "memoryGB": { + "type": "number", + "format": "double", + "title": "Memory size", + "description": "The amount of memory, in GB, supported by the virtual machine size.", + "readOnly": true + }, + "lowPriorityCapable": { + "type": "boolean", + "title": "Low priority capable", + "description": "Specifies if the virtual machine size supports low priority VMs.", + "readOnly": true + }, + "premiumIO": { + "type": "boolean", + "title": "Premium IO supported", + "description": "Specifies if the virtual machine size supports premium IO.", + "readOnly": true + } + }, + "description": "Describes the properties of a VM size." + }, + "VirtualMachineSizeListResult": { + "properties": { + "amlCompute": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineSize" + }, + "description": "The list of virtual machine sizes supported by AmlCompute." + } + }, + "description": "The List Virtual Machine size operation response." + }, + "WorkspaceListResult": { + "description": "The result of a request to list machine learning workspaces.", + "properties": { + "value": { + "description": "The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces.", + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "description": "The URI that can be used to request the next list of machine learning workspaces.", + "type": "string" + } + } + }, + "QuotaBaseProperties": { + "properties": { + "id": { + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The properties for Quota update or retrieval." + }, + "QuotaUpdateParameters": { + "properties": { + "value": { + "description": "The list for update quota.", + "type": "array", + "items": { + "$ref": "#/definitions/QuotaBaseProperties" + } + } + }, + "description": "Quota update parameters." + }, + "UpdateWorkspaceQuotasResult": { + "properties": { + "value": { + "description": "The list of workspace quota update result.", + "items": { + "$ref": "#/definitions/UpdateWorkspaceQuotas" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result.", + "readOnly": true, + "type": "string" + } + }, + "description": "The result of update workspace quota." + }, + "UpdateWorkspaceQuotas": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": false, + "title": "Update Workspace Quota Status.", + "description": "Status of update workspace quota.", + "enum": [ + "Undefined", + "Success", + "Failure", + "InvalidQuotaBelowClusterMinimum", + "InvalidQuotaExceedsSubscriptionLimit", + "InvalidVMFamilyName", + "OperationNotSupportedForSku", + "OperationNotEnabledForRegion" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + } + }, + "description": "The properties for update Quota response." + }, + "ResourceName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Resource Name." + }, + "ResourceQuota": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource ID." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Specifies the resource type." + }, + "name": { + "$ref": "#/definitions/ResourceName", + "description": "Name of the resource.", + "readOnly": true + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int64", + "title": "Limit.", + "description": "The maximum permitted quota of the resource." + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "An enum describing the unit of quota measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "QuotaUnit", + "modelAsString": true + } + } + }, + "description": "The quota assigned to a resource." + }, + "ListWorkspaceQuotas": { + "properties": { + "value": { + "description": "The list of Workspace Quotas by VM Family", + "items": { + "$ref": "#/definitions/ResourceQuota" + }, + "readOnly": true, + "type": "array" + }, + "nextLink": { + "description": "The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information.", + "readOnly": true, + "type": "string" + } + }, + "description": "The List WorkspaceQuotasByVMFamily operation response." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource.", + "required": [ + "type" + ] + }, + "Resource": { + "description": "Azure Resource Manager resource envelope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "Specifies the resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Specifies the name of the resource.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "location": { + "description": "Specifies the location of the resource.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the resource.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Contains resource tags defined as key/value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the workspace." + } + } + }, + "ResourceId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the resource" + } + }, + "required": [ + "id" + ], + "description": "Represents a resource ID. For example, for a subnet, it is the resource URL for the subnet.", + "x-ms-azure-resource": true + }, + "ListWorkspaceKeysResult": { + "type": "object", + "properties": { + "userStorageKey": { + "readOnly": true, + "type": "string" + }, + "userStorageResourceId": { + "readOnly": true, + "type": "string" + }, + "appInsightsInstrumentationKey": { + "readOnly": true, + "type": "string" + }, + "containerRegistryCredentials": { + "readOnly": true, + "$ref": "#/definitions/RegistryListCredentialsResult" + }, + "notebookAccessKeys": { + "$ref": "#/definitions/NotebookListCredentialsResult" + } + } + }, + "RegistryListCredentialsResult": { + "type": "object", + "properties": { + "location": { + "readOnly": true, + "type": "string" + }, + "username": { + "readOnly": true, + "type": "string" + }, + "passwords": { + "type": "array", + "items": { + "$ref": "#/definitions/Password" + } + } + } + }, + "Password": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string" + }, + "value": { + "readOnly": true, + "type": "string" + } + } + }, + "PaginatedComputeResourcesList": { + "type": "object", + "description": "Paginated list of Machine Learning compute objects wrapped in ARM resource envelope.", + "properties": { + "value": { + "type": "array", + "description": "An array of Machine Learning compute objects wrapped in ARM resource envelope.", + "items": { + "$ref": "#/definitions/ComputeResource" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "ComputeResource": { + "type": "object", + "description": "Machine Learning compute object wrapped into ARM resource envelope.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute properties", + "$ref": "#/definitions/Compute" + } + } + } + ] + }, + "Compute": { + "type": "object", + "description": "Machine Learning compute object.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "computeLocation": { + "description": "Location for the underlying compute", + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed.", + "enum": [ + "Unknown", + "Updating", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "description": { + "type": "string", + "description": "The description of the Machine Learning compute." + }, + "createdOn": { + "type": "string", + "description": "The date and time when the compute was created.", + "format": "date-time", + "readOnly": true + }, + "modifiedOn": { + "type": "string", + "description": "The date and time when the compute was last modified.", + "format": "date-time", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "ARM resource id of the underlying compute" + }, + "provisioningErrors": { + "type": "array", + "description": "Errors during provisioning", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + }, + "readOnly": true + }, + "isAttachedCompute": { + "type": "boolean", + "description": "Indicating whether the compute was provisioned by user and brought from outside if true, or machine learning service provisioned it if false.", + "readOnly": true + } + }, + "required": [ + "computeType" + ] + }, + "AKS": { + "description": "A Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "AKS properties", + "properties": { + "clusterFqdn": { + "description": "Cluster full qualified domain name", + "type": "string" + }, + "systemServices": { + "type": "array", + "description": "System services", + "items": { + "$ref": "#/definitions/SystemService" + }, + "readOnly": true + }, + "agentCount": { + "description": "Number of agents", + "type": "integer", + "minimum": 1 + }, + "agentVMSize": { + "description": "Agent virtual machine size", + "type": "string" + }, + "sslConfiguration": { + "description": "SSL configuration", + "$ref": "#/definitions/SslConfiguration" + }, + "aksNetworkingConfiguration": { + "description": "AKS networking configuration for vnet", + "$ref": "#/definitions/AksNetworkingConfiguration" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "AmlCompute": { + "description": "An Azure Machine Learning compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "AML Compute properties", + "type": "object", + "properties": { + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "vmPriority": { + "description": "Virtual Machine priority", + "type": "string", + "enum": [ + "Dedicated", + "LowPriority" + ], + "x-ms-enum": { + "name": "VmPriority", + "modelAsString": true + } + }, + "scaleSettings": { + "description": "Scale settings for AML Compute", + "$ref": "#/definitions/ScaleSettings" + }, + "userAccountCredentials": { + "title": "User account credentials.", + "description": "Credentials for an administrator user account that will be created on each compute node.", + "$ref": "#/definitions/UserAccountCredentials" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "remoteLoginPortPublicAccess": { + "type": "string", + "default": "NotSpecified", + "title": "Close remote Login Access Port", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on all nodes of the cluster. Enabled - Indicates that the public ssh port is open on all nodes of the cluster. NotSpecified - Indicates that the public ssh port is closed on all nodes of the cluster if VNet is defined, else is open all public nodes. It can be default only during cluster creation time, after creation it will be either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled", + "NotSpecified" + ], + "x-ms-enum": { + "name": "remoteLoginPortPublicAccess", + "modelAsString": true + } + }, + "allocationState": { + "type": "string", + "readOnly": true, + "title": "Allocation state.", + "description": "Allocation state of the compute. Possible values are: steady - Indicates that the compute is not resizing. There are no changes to the number of compute nodes in the compute in progress. A compute enters this state when it is created and when no operations are being performed on the compute to change the number of compute nodes. resizing - Indicates that the compute is resizing; that is, compute nodes are being added to or removed from the compute.", + "enum": [ + "Steady", + "Resizing" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": true + } + }, + "allocationStateTransitionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "title": "Allocation state transition time.", + "description": "The time at which the compute entered its current allocation state." + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered by various compute nodes during node setup.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "currentNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Current node count.", + "description": "The number of compute nodes currently assigned to the compute." + }, + "targetNodeCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "title": "Target node count.", + "description": "The target number of compute nodes for the compute. If the allocationState is resizing, this property denotes the target node count for the ongoing resize operation. If the allocationState is steady, this property denotes the target node count for the previous resize operation." + }, + "nodeStateCounts": { + "title": "Node state counts.", + "description": "Counts of various node states on the compute.", + "readOnly": true, + "$ref": "#/definitions/NodeStateCounts" + } + } + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "ComputeInstance": { + "description": "An Azure Machine Learning compute instance.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "description": "Compute Instance properties", + "type": "object", + "properties": { + "vmSize": { + "description": "Virtual Machine Size", + "type": "string" + }, + "subnet": { + "title": "Subnet.", + "description": "Virtual network subnet resource ID the compute nodes belong to.", + "$ref": "#/definitions/ResourceId" + }, + "applicationSharingPolicy": { + "type": "string", + "default": "Shared", + "title": "Sharing policy for applications on this compute instance", + "description": "Policy for sharing applications on this compute instance among users of parent workspace. If Personal, only the creator can access applications on this compute instance. When Shared, any workspace user can access applications on this instance depending on his/her assigned role.", + "enum": [ + "Personal", + "Shared" + ], + "x-ms-enum": { + "name": "applicationSharingPolicy", + "modelAsString": true + } + }, + "sshSettings": { + "description": "Specifies policy and settings for SSH access.", + "$ref": "#/definitions/ComputeInstanceSshSettings" + }, + "connectivityEndpoints": { + "readOnly": true, + "description": "Describes all connectivity endpoints available for this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceConnectivityEndpoints" + }, + "applications": { + "type": "array", + "readOnly": true, + "description": "Describes available applications and their endpoints on this ComputeInstance.", + "items": { + "$ref": "#/definitions/ComputeInstanceApplication" + } + }, + "createdBy": { + "readOnly": true, + "description": "Describes information on user who created this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceCreatedBy" + }, + "errors": { + "readOnly": true, + "title": "Errors.", + "description": "Collection of errors encountered on this ComputeInstance.", + "type": "array", + "items": { + "$ref": "#/definitions/MachineLearningServiceError" + } + }, + "state": { + "description": "The current state of this ComputeInstance.", + "$ref": "#/definitions/ComputeInstanceState", + "readOnly": true + } + } + } + } + } + ], + "x-ms-discriminator-value": "ComputeInstance" + }, + "VirtualMachine": { + "description": "A Machine Learning compute based on Azure Virtual Machines.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "virtualMachineSize": { + "description": "Virtual Machine size", + "type": "string" + }, + "sshPort": { + "description": "Port open for ssh connections.", + "type": "integer" + }, + "address": { + "description": "Public IP address of the virtual machine.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for virtual machine", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "HDInsight": { + "description": "A HDInsight compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "sshPort": { + "description": "Port open for ssh connections on the master node of the cluster.", + "type": "integer" + }, + "address": { + "description": "Public IP address of the master node of the cluster.", + "type": "string" + }, + "administratorAccount": { + "description": "Admin credentials for master node of the cluster", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + } + } + ], + "x-ms-discriminator-value": "HDInsight" + }, + "DataFactory": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + } + ], + "x-ms-discriminator-value": "DataFactory" + }, + "Databricks": { + "description": "A DataFactory compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "Databricks access token", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "DataLakeAnalytics": { + "description": "A DataLakeAnalytics compute.", + "allOf": [ + { + "$ref": "#/definitions/Compute" + }, + { + "type": "object", + "properties": { + "properties": { + "type": "object", + "properties": { + "dataLakeStoreAccountName": { + "description": "DataLake Store Account Name", + "type": "string" + } + } + } + } + } + ], + "x-ms-discriminator-value": "DataLakeAnalytics" + }, + "ServicePrincipalCredentials": { + "type": "object", + "description": "Service principal credentials.", + "properties": { + "clientId": { + "description": "Client Id", + "type": "string" + }, + "clientSecret": { + "description": "Client secret", + "type": "string" + } + }, + "required": [ + "clientId", + "clientSecret" + ] + }, + "SystemService": { + "type": "object", + "description": "A system service running on a compute.", + "properties": { + "systemServiceType": { + "description": "The type of this system service.", + "readOnly": true, + "type": "string" + }, + "publicIpAddress": { + "type": "string", + "description": "Public IP address", + "readOnly": true + }, + "version": { + "description": "The version for this type.", + "readOnly": true, + "type": "string" + } + } + }, + "SslConfiguration": { + "type": "object", + "description": "The ssl configuration for scoring", + "properties": { + "status": { + "description": "Enable or disable ssl for scoring", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + "cert": { + "description": "Cert data", + "type": "string" + }, + "key": { + "description": "Key data", + "type": "string" + }, + "cname": { + "description": "CNAME of the cert", + "type": "string" + } + } + }, + "AksNetworkingConfiguration": { + "type": "object", + "description": "Advance configuration for AKS networking", + "properties": { + "subnetId": { + "description": "Virtual network subnet resource ID the compute nodes belong to", + "type": "string" + }, + "serviceCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.", + "type": "string" + }, + "dnsServiceIP": { + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.", + "type": "string" + }, + "dockerBridgeCidr": { + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.", + "type": "string" + } + } + }, + "UserAccountCredentials": { + "properties": { + "adminUserName": { + "type": "string", + "title": "User name.", + "description": "Name of the administrator user account which can be used to SSH to nodes." + }, + "adminUserSshPublicKey": { + "type": "string", + "title": "SSH public key.", + "description": "SSH public key of the administrator user account." + }, + "adminUserPassword": { + "type": "string", + "title": "Password.", + "description": "Password of the administrator user account." + } + }, + "required": [ + "adminUserName" + ], + "description": "Settings for user account that gets created on each on the nodes of a compute." + }, + "ScaleSettings": { + "type": "object", + "description": "scale settings for AML Compute", + "properties": { + "maxNodeCount": { + "description": "Max number of nodes to use", + "type": "integer" + }, + "minNodeCount": { + "description": "Min number of nodes to use", + "type": "integer", + "default": 0 + }, + "nodeIdleTimeBeforeScaleDown": { + "type": "string", + "format": "duration", + "description": "Node Idle Time before scaling down amlCompute" + } + }, + "required": [ + "maxNodeCount" + ] + }, + "NodeStateCounts": { + "properties": { + "idleNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Idle node count.", + "description": "Number of compute nodes in idle state." + }, + "runningNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Running node count.", + "description": "Number of compute nodes which are running jobs." + }, + "preparingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preparing node count.", + "description": "Number of compute nodes which are being prepared." + }, + "unusableNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Unusable node count.", + "description": "Number of compute nodes which are in unusable state." + }, + "leavingNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Leaving node count.", + "description": "Number of compute nodes which are leaving the amlCompute." + }, + "preemptedNodeCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "title": "Preempted node count.", + "description": "Number of compute nodes which are in preempted state." + } + }, + "description": "Counts of various compute node states on the amlCompute." + }, + "ClusterUpdateProperties": { + "properties": { + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Scale settings.", + "description": "Desired scale settings for the amlCompute." + } + }, + "description": "The properties of a amlCompute that need to be updated." + }, + "ClusterUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterUpdateProperties", + "description": "The properties of the amlCompute." + } + }, + "description": "AmlCompute update parameters." + }, + "ComputeNodesInformation": { + "type": "object", + "description": "Compute nodes information related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The continuation token." + } + }, + "required": [ + "computeType" + ] + }, + "AmlComputeNodesInformation": { + "description": "Compute node information related to a AmlCompute.", + "allOf": [ + { + "$ref": "#/definitions/ComputeNodesInformation" + }, + { + "type": "object", + "properties": { + "nodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AmlComputeNodeInformation" + }, + "description": "The collection of returned AmlCompute nodes details." + } + } + } + ], + "x-ms-discriminator-value": "AmlCompute" + }, + "AmlComputeNodeInformation": { + "description": "Compute node information related to a AmlCompute.", + "properties": { + "nodeId": { + "readOnly": true, + "type": "string", + "title": "Node ID.", + "description": "ID of the compute node." + }, + "privateIpAddress": { + "readOnly": true, + "type": "string", + "title": "Private IP address.", + "description": "Private IP address of the compute node." + }, + "publicIpAddress": { + "readOnly": true, + "type": "string", + "title": "Public IP address.", + "description": "Public IP address of the compute node." + }, + "port": { + "readOnly": true, + "type": "number", + "format": "int32", + "title": "Port.", + "description": "SSH port number of the node." + }, + "nodeState": { + "readOnly": true, + "type": "string", + "enum": [ + "idle", + "running", + "preparing", + "unusable", + "leaving", + "preempted" + ], + "description": "State of the compute node. Values are idle, running, preparing, unusable, leaving and preempted.", + "x-ms-enum": { + "name": "nodeState", + "modelAsString": true + } + }, + "runId": { + "readOnly": true, + "type": "string", + "title": "Run ID.", + "description": "ID of the Experiment running on the node, if any else null." + } + }, + "x-ms-discriminator-value": "AmlCompute" + }, + "VirtualMachineSshCredentials": { + "type": "object", + "description": "Admin credentials for virtual machine", + "properties": { + "username": { + "description": "Username of admin account", + "type": "string" + }, + "password": { + "description": "Password of admin account", + "type": "string" + }, + "publicKeyData": { + "description": "Public key data", + "type": "string" + }, + "privateKeyData": { + "description": "Private key data", + "type": "string" + } + } + }, + "ComputeSecrets": { + "type": "object", + "description": "Secrets related to a Machine Learning compute. Might differ for every type of compute.", + "discriminator": "computeType", + "properties": { + "computeType": { + "description": "The type of compute", + "$ref": "#/definitions/ComputeType" + } + }, + "required": [ + "computeType" + ] + }, + "AksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "userKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "adminKubeConfig": { + "type": "string", + "description": "Content of kubeconfig file that can be used to connect to the Kubernetes cluster." + }, + "imagePullSecretName": { + "type": "string", + "description": "Image registry pull secret." + } + } + } + ], + "x-ms-discriminator-value": "AKS" + }, + "VirtualMachineSecrets": { + "description": "Secrets related to a Machine Learning compute based on AKS.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "administratorAccount": { + "description": "Admin credentials for virtual machine.", + "$ref": "#/definitions/VirtualMachineSshCredentials" + } + } + } + ], + "x-ms-discriminator-value": "VirtualMachine" + }, + "DatabricksComputeSecrets": { + "description": "Secrets related to a Machine Learning compute based on Databricks.", + "allOf": [ + { + "$ref": "#/definitions/ComputeSecrets" + }, + { + "type": "object", + "properties": { + "databricksAccessToken": { + "description": "access token for databricks account.", + "type": "string" + } + } + } + ], + "x-ms-discriminator-value": "Databricks" + }, + "ComputeType": { + "type": "string", + "description": "The type of compute", + "enum": [ + "AKS", + "AmlCompute", + "ComputeInstance", + "DataFactory", + "VirtualMachine", + "HDInsight", + "Databricks", + "DataLakeAnalytics" + ], + "x-ms-enum": { + "name": "ComputeType", + "modelAsString": true + } + }, + "MachineLearningServiceError": { + "type": "object", + "description": "Wrapper for error response to follow ARM guidelines.", + "properties": { + "error": { + "description": "The error response.", + "$ref": "#/definitions/ErrorResponse", + "readOnly": true + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response information.", + "properties": { + "code": { + "type": "string", + "description": "Error code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Error message.", + "readOnly": true + }, + "details": { + "type": "array", + "description": "An array of error detail objects.", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "readOnly": true + } + } + }, + "ErrorDetail": { + "type": "object", + "description": "Error detail information.", + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "code", + "message" + ] + }, + "SKUCapability": { + "description": "Features/user capabilities associated with the sku", + "type": "object", + "properties": { + "name": { + "description": "Capability/Feature ID", + "type": "string" + }, + "value": { + "description": "Details about the feature/capability", + "type": "string" + } + } + }, + "ResourceSkuLocationInfo": { + "properties": { + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the SKU" + }, + "zones": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is supported." + }, + "zoneDetails": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuZoneDetails" + }, + "description": "Details of capabilities available to a SKU in specific zones." + } + } + }, + "ResourceSkuZoneDetails": { + "properties": { + "name": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of zones that the SKU is available in with the specified capabilities." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "description": "A list of capabilities that are available for the SKU in the specified list of zones." + } + }, + "description": "Describes The zonal capabilities of a SKU." + }, + "WorkspaceSku": { + "type": "object", + "description": "AML workspace sku information", + "properties": { + "resourceType": { + "readOnly": true, + "type": "string" + }, + "skus": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuSettings" + }, + "description": "The list of workspace sku settings" + } + } + }, + "SkuSettings": { + "description": "Describes Workspace Sku details and features", + "type": "object", + "properties": { + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + }, + "description": "A list of locations and availability zones in those locations where the SKU is available." + }, + "tier": { + "description": "Sku Tier like Basic or Enterprise", + "type": "string", + "readOnly": true + }, + "resourceType": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + }, + "capabilities": { + "description": "List of features/user capabilities associated with the sku", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "readOnly": true + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + } + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "NotSpecified", + "NotAvailableForRegion", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "SkuListResult": { + "description": "List of skus with features", + "type": "object", + "properties": { + "value": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/WorkspaceSku" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Workspace Skus. Call ListNext() with this URI to fetch the next page of Workspace Skus" + } + } + }, + "Sku": { + "description": "Sku of the resource", + "type": "object", + "properties": { + "name": { + "description": "Name of the sku", + "type": "string" + }, + "tier": { + "description": "Tier of the sku like Basic or Enterprise", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "x-ms-azure-resource": true, + "description": "The Private Endpoint Connection resource.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the private endpoint connection.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the private endpoint connection.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of private endpoint connection.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "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", + "Timeout" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "SharedPrivateLinkResource": { + "properties": { + "name": { + "description": "Unique name of the private link.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperty", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + } + }, + "SharedPrivateLinkResourceProperty": { + "properties": { + "privateLinkResourceId": { + "description": "The resource id that private link links to.", + "type": "string" + }, + "groupId": { + "description": "The private link resource group id.", + "type": "string" + }, + "requestMessage": { + "description": "Request message.", + "type": "string" + }, + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "Properties of a shared private link resource." + }, + "EncryptionProperty": { + "properties": { + "status": { + "description": "Indicates whether or not the encryption is enabled for the workspace.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Customer Key vault properties." + } + }, + "required": [ + "status", + "keyVaultProperties" + ], + "type": "object" + }, + "KeyVaultProperties": { + "properties": { + "keyVaultArmId": { + "description": "The ArmId of the keyVault where the customer owned encryption key is present.", + "type": "string" + }, + "keyIdentifier": { + "description": "Key vault uri to access the encryption key.", + "type": "string" + }, + "identityClientId": { + "description": "For future use - The client id of the identity which will be used to access key vault.", + "type": "string" + } + }, + "required": [ + "keyIdentifier", + "keyVaultArmId" + ], + "type": "object" + }, + "PaginatedWorkspaceConnectionsList": { + "type": "object", + "description": "Paginated list of Workspace connection objects.", + "properties": { + "value": { + "type": "array", + "description": "An array of Workspace connection objects.", + "items": { + "$ref": "#/definitions/WorkspaceConnection" + } + }, + "nextLink": { + "type": "string", + "description": "A continuation link (absolute URI) to the next page of results in the list." + } + } + }, + "WorkspaceConnection": { + "x-ms-azure-resource": true, + "description": "Workspace connection.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ResourceId of the workspace connection.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Friendly name of the workspace connection.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Resource type of workspace connection.", + "readOnly": true + }, + "properties": { + "type": "object", + "description": "Properties of workspace connection.", + "$ref": "#/definitions/WorkspaceConnectionProps", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceConnectionDto": { + "type": "object", + "description": "object used for creating workspace connection.", + "properties": { + "name": { + "description": "Friendly name of the workspace connection", + "type": "string" + }, + "properties": { + "type": "object", + "description": "Properties of workspace connection.", + "$ref": "#/definitions/WorkspaceConnectionProps", + "x-ms-client-flatten": true + } + } + }, + "WorkspaceConnectionProps": { + "type": "object", + "description": "Workspace Connection specific properties.", + "properties": { + "category": { + "description": "Category of the workspace connection.", + "type": "string" + }, + "target": { + "description": "Target of the workspace connection.", + "type": "string" + }, + "authType": { + "description": "Authorization type of the workspace connection.", + "type": "string" + }, + "value": { + "description": "Value details of the workspace connection.", + "type": "string" + } + } + }, + "ComputeInstanceSshSettings": { + "type": "object", + "description": "Specifies policy and settings for SSH access.", + "properties": { + "sshPublicAccess": { + "type": "string", + "default": "Disabled", + "title": "Access policy for SSH", + "description": "State of the public SSH port. Possible values are: Disabled - Indicates that the public ssh port is closed on this instance. Enabled - Indicates that the public ssh port is open and accessible according to the VNet/subnet policy if applicable.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "sshPublicAccess", + "modelAsString": true + } + }, + "adminUserName": { + "type": "string", + "readOnly": true, + "description": "Describes the admin user name." + }, + "sshPort": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Describes the port for connecting through SSH." + }, + "adminPublicKey": { + "type": "string", + "description": "Specifies the SSH rsa public key file as a string. Use \"ssh-keygen -t rsa -b 2048\" to generate your SSH key pairs." + } + } + }, + "ComputeInstanceState": { + "type": "string", + "description": "Current state of a ComputeInstance.", + "enum": [ + "Creating", + "CreateFailed", + "Deleting", + "Running", + "Restarting", + "RestartFailed", + "JobRunning", + "SettingUp", + "Starting", + "StartFailed", + "StopFailed", + "Stopped", + "Stopping", + "UserSettingUp", + "Unknown", + "Unusable" + ], + "x-ms-enum": { + "name": "ComputeInstanceState", + "modelAsString": true + } + }, + "ComputeInstanceApplication": { + "type": "object", + "description": "Defines an Aml Instance application and its connectivity endpoint URI.", + "properties": { + "displayName": { + "type": "string", + "description": "Name of the ComputeInstance application." + }, + "endpointUri": { + "type": "string", + "description": "Application' endpoint URI." + } + } + }, + "ComputeInstanceConnectivityEndpoints": { + "type": "object", + "readOnly": true, + "description": "Defines all connectivity endpoints and properties for a ComputeInstance.", + "properties": { + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "Public IP Address of this ComputeInstance." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "Private IP Address of this ComputeInstance (local to the VNET in which the compute instance is deployed)." + } + } + }, + "ComputeInstanceCreatedBy": { + "type": "object", + "readOnly": true, + "description": "Describes information on user who created this ComputeInstance.", + "properties": { + "userName": { + "type": "string", + "readOnly": true, + "description": "Name of the user." + }, + "userOrgId": { + "type": "string", + "readOnly": true, + "description": "Uniquely identifies user' Azure Active Directory organization." + }, + "userId": { + "type": "string", + "readOnly": true, + "description": "Uniquely identifies the user within his/her organization." + } + } + } + } +} diff --git a/specification/machinelearningservices/resource-manager/readme.azureresourceschema.md b/specification/machinelearningservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0a9ab416c8d0 --- /dev/null +++ b/specification/machinelearningservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,180 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-machinelearningservices-2020-09-01-preview + - tag: schema-machinelearningservices-2020-06-01 + - tag: schema-machinelearningservices-2020-05-15-preview + - tag: schema-machinelearningservices-2020-05-01-preview + - tag: schema-machinelearningservices-2020-04-01-preview + - tag: schema-machinelearningservices-2020-04-01 + - tag: schema-machinelearningservices-2020-03-01 + - tag: schema-machinelearningservices-2020-02-18-preview + - tag: schema-machinelearningservices-2020-01-01 + - tag: schema-machinelearningservices-2019-11-01 + - tag: schema-machinelearningservices-2019-06-01 + - tag: schema-machinelearningservices-2019-05-01 + - tag: schema-machinelearningservices-2018-11-19 + - tag: schema-machinelearningservices-2018-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-machinelearningservices-2020-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-05-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-05-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-05-15-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-02-18-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-02-18-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2019-05-01/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2018-11-19 and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2018-11-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json + +``` + +### Tag: schema-machinelearningservices-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-machinelearningservices-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MachineLearningServices/preview/2018-03-01-preview/machineLearningServices.json + +``` diff --git a/specification/machinelearningservices/resource-manager/readme.md b/specification/machinelearningservices/resource-manager/readme.md index 04e81a82b676..b966a1de34be 100644 --- a/specification/machinelearningservices/resource-manager/readme.md +++ b/specification/machinelearningservices/resource-manager/readme.md @@ -26,14 +26,32 @@ These are the global settings for the Machine Learning Services API. ``` yaml openapi-type: arm -tag: package-2020-04-01 +tag: package-2020-06-01 ``` +### Tag: package-2020-06-01 + +These settings apply only when `--tag=package-2020-06` is specified on the command line. + +```yaml $(tag) == 'package-2020-06-01' +input-file: + - Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json +``` + + +### Tag: package-preview-2020-05 + +These settings apply only when `--tag=package-preview-2020-05` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-05' +input-file: + - Microsoft.MachineLearningServices/preview/2020-05-15-preview/machineLearningServices.json +``` ### Tag: package-2020-04-01 These settings apply only when `--tag=package-2020-04` is specified on the command line. -```yaml $(tag) == 'package-2020-04-01' +``` yaml $(tag) == 'package-2020-04-01' input-file: - Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json ``` @@ -42,7 +60,7 @@ input-file: These settings apply only when `--tag=package-2020-03` is specified on the command line. -```yaml $(tag) == 'package-2020-03-01' +``` yaml $(tag) == 'package-2020-03-01' input-file: - Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json ``` @@ -51,7 +69,7 @@ input-file: These settings apply only when `--tag=package-2020-01` is specified on the command line. -```yaml $(tag) == 'package-2020-01-01' +``` yaml $(tag) == 'package-2020-01-01' input-file: - Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json ``` @@ -60,7 +78,7 @@ input-file: These settings apply only when `--tag=package-2019-11` is specified on the command line. -```yaml $(tag) == 'package-2019-11-01' +``` yaml $(tag) == 'package-2019-11-01' input-file: - Microsoft.MachineLearningServices/stable/2019-11-01/machineLearningServices.json ``` @@ -92,6 +110,24 @@ input-file: - Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json ``` +### Tag: package-2020-09-01-preview + +These settings apply only when `--tag=package-2020-09-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-09-01-preview' +input-file: +- Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json +``` + +### Tag: package-2020-05-01-preview + +These settings apply only when `--tag=package-2020-05-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05-01-preview' +input-file: +- Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json +``` + ### Tag: package-2020-04-01-preview These settings apply only when `--tag=package-2020-04-01-preview` is specified on the command line. @@ -136,6 +172,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js machinelearningservices/resource-manager ``` ## C# @@ -174,6 +213,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-machinelearning/ser ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-06-01 - tag: package-2020-04-01 - tag: package-2020-03-01 - tag: package-2020-01-01 @@ -181,10 +221,25 @@ batch: - tag: package-2019-06-01 - tag: package-2019-05-01 - tag: package-2018-11-19 + - tag: package-2020-09-01-preview + - tag: package-2020-05-01-preview - tag: package-2020-04-01-preview - tag: package-2020-02-18-preview - tag: package-2018-03-preview ``` +### Tag: package-2020-06-01 and java + +These settings apply only when `--tag=package-2020-06-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-06-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.machinelearningservices.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2020_06_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-04-01 and java These settings apply only when `--tag=package-2020-04-01 --java` is specified on the command line. @@ -276,6 +331,32 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-09-01-preview and java + +These settings apply only when `--tag=package-2020-09-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-09-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.machinelearningservices.v2020_09_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2020_09_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2020-05-01-preview and java + +These settings apply only when `--tag=package-2020-05-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-05-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.machinelearningservices.v2020_05_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/machinelearningservices/mgmt-v2020_05_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-04-01-preview and java These settings apply only when `--tag=package-2020-04-01-preview --java` is specified on the command line. @@ -302,6 +383,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -314,6 +399,8 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.MachineLearningServices/stable/2020-06-01/machineLearningServices.json + - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-05-15-preview/machineLearningServices.json - $(this-folder)/Microsoft.MachineLearningServices/stable/2020-04-01/machineLearningServices.json - $(this-folder)/Microsoft.MachineLearningServices/stable/2020-03-01/machineLearningServices.json - $(this-folder)/Microsoft.MachineLearningServices/stable/2020-01-01/machineLearningServices.json @@ -321,6 +408,8 @@ input-file: - $(this-folder)/Microsoft.MachineLearningServices/stable/2019-06-01/machineLearningServices.json - $(this-folder)/Microsoft.MachineLearningServices/stable/2019-05-01/machineLearningServices.json - $(this-folder)/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json + - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-09-01-preview/machineLearningServices.json + - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-05-01-preview/machineLearningServices.json - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-04-01-preview/machineLearningServices.json - $(this-folder)/Microsoft.MachineLearningServices/preview/2020-02-18-preview/machineLearningServices.json - $(this-folder)/Microsoft.MachineLearningServices/preview/2018-03-01-preview/machineLearningServices.json diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/Maintenance.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/Maintenance.json new file mode 100644 index 000000000000..27f506189e74 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/Maintenance.json @@ -0,0 +1,1775 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-01-preview", + "title": "MaintenanceManagementClient", + "description": "Azure Maintenance Management Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations": { + "get": { + "tags": [ + "PublicMaintenanceConfigurations" + ], + "summary": "Get Public Maintenance Configuration records", + "operationId": "PublicMaintenanceConfigurations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListMaintenanceConfigurationsResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "PublicMaintenanceConfigurations_List": { + "$ref": "./examples/PublicMaintenanceConfigurations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/{resourceName}": { + "get": { + "tags": [ + "PublicMaintenanceConfigurations" + ], + "summary": "Get Public Maintenance Configuration record", + "operationId": "PublicMaintenanceConfigurations_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource Identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "PublicMaintenanceConfigurations_GetForResource": { + "$ref": "./examples/PublicMaintenanceConfigurations_GetForResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}": { + "get": { + "tags": [ + "ApplyUpdates" + ], + "summary": "Track Updates to resource with parent", + "description": "Track maintenance updates to resource with parent", + "operationId": "ApplyUpdates_GetParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "applyUpdateName", + "in": "path", + "description": "applyUpdate Id", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + } + }, + "x-ms-examples": { + "ApplyUpdates_GetParent": { + "$ref": "./examples/ApplyUpdates_GetParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}": { + "get": { + "tags": [ + "ApplyUpdates" + ], + "summary": "Track Updates to resource", + "description": "Track maintenance updates to resource", + "operationId": "ApplyUpdates_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "applyUpdateName", + "in": "path", + "description": "applyUpdate Id", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + } + }, + "x-ms-examples": { + "ApplyUpdates_Get": { + "$ref": "./examples/ApplyUpdates_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default": { + "put": { + "tags": [ + "ApplyUpdates" + ], + "summary": "Apply Updates to resource with parent", + "description": "Apply maintenance updates to resource with parent", + "operationId": "ApplyUpdates_CreateOrUpdateParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + } + }, + "x-ms-examples": { + "ApplyUpdates_CreateOrUpdateParent": { + "$ref": "./examples/ApplyUpdates_CreateOrUpdateParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default": { + "put": { + "tags": [ + "ApplyUpdates" + ], + "summary": "Apply Updates to resource", + "description": "Apply maintenance updates to resource", + "operationId": "ApplyUpdates_CreateOrUpdate", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplyUpdate" + } + } + }, + "x-ms-examples": { + "ApplyUpdates_CreateOrUpdate": { + "$ref": "./examples/ApplyUpdates_CreateOrUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": { + "put": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Create configuration assignment", + "description": "Register configuration for resource.", + "operationId": "ConfigurationAssignments_CreateOrUpdateParent", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignment", + "in": "body", + "description": "The configurationAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_CreateOrUpdateParent": { + "$ref": "./examples/ConfigurationAssignments_CreateOrUpdateParent.json" + } + } + }, + "delete": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Unregister configuration for resource", + "description": "Unregister configuration for resource.", + "operationId": "ConfigurationAssignments_DeleteParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Unique configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_DeleteParent": { + "$ref": "./examples/ConfigurationAssignments_DeleteParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}": { + "put": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Create configuration assignment", + "description": "Register configuration for resource.", + "operationId": "ConfigurationAssignments_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Configuration assignment name", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignment", + "in": "body", + "description": "The configurationAssignment", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_CreateOrUpdate": { + "$ref": "./examples/ConfigurationAssignments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "Unregister configuration for resource", + "description": "Unregister configuration for resource.", + "operationId": "ConfigurationAssignments_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "name": "configurationAssignmentName", + "in": "path", + "description": "Unique configuration assignment name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationAssignment" + } + } + }, + "x-ms-examples": { + "ConfigurationAssignments_Delete": { + "$ref": "./examples/ConfigurationAssignments_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "List configurationAssignments for resource", + "description": "List configurationAssignments for resource.", + "operationId": "ConfigurationAssignments_ListParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListConfigurationAssignmentsResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ConfigurationAssignments_ListParent": { + "$ref": "./examples/ConfigurationAssignments_ListParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments": { + "get": { + "tags": [ + "ConfigurationAssignments" + ], + "summary": "List configurationAssignments for resource", + "description": "List configurationAssignments for resource.", + "operationId": "ConfigurationAssignments_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListConfigurationAssignmentsResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "ConfigurationAssignments_List": { + "$ref": "./examples/ConfigurationAssignments_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations/{resourceName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Get Configuration record", + "operationId": "MaintenanceConfigurations_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource Identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "MaintenanceConfigurations_GetForResource": { + "$ref": "./examples/MaintenanceConfigurations_GetForResource.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Create or Update configuration record", + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource Identifier", + "required": true, + "type": "string" + }, + { + "name": "configuration", + "in": "body", + "description": "The configuration", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "MaintenanceConfigurations_CreateOrUpdateForResource": { + "$ref": "./examples/MaintenanceConfigurations_CreateOrUpdateForResource.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Delete Configuration record", + "operationId": "MaintenanceConfigurations_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource Identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "MaintenanceConfigurations_DeleteForResource": { + "$ref": "./examples/MaintenanceConfigurations_DeleteForResource.json" + } + } + }, + "patch": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Patch configuration record", + "operationId": "MaintenanceConfigurations_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource Group Name", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource Identifier", + "required": true, + "type": "string" + }, + { + "name": "configuration", + "in": "body", + "description": "The configuration", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-examples": { + "MaintenanceConfigurations_UpdateForResource": { + "$ref": "./examples/MaintenanceConfigurations_UpdateForResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "summary": "Get Configuration records within a subscription", + "operationId": "MaintenanceConfigurations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListMaintenanceConfigurationsResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "MaintenanceConfigurations_List": { + "$ref": "./examples/MaintenanceConfigurations_List.json" + } + } + } + }, + "/providers/Microsoft.Maintenance/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List available operations", + "description": "List the available operations supported by the Microsoft.Maintenance resource provider", + "operationId": "Operations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/MaintenanceError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates": { + "get": { + "tags": [ + "Updates" + ], + "summary": "Get Updates to resource", + "description": "Get updates to resources.", + "operationId": "Updates_ListParent", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceParentType", + "in": "path", + "description": "Resource parent type", + "required": true, + "type": "string" + }, + { + "name": "resourceParentName", + "in": "path", + "description": "Resource parent identifier", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUpdatesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Updates_ListParent": { + "$ref": "./examples/Updates_ListParent.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates": { + "get": { + "tags": [ + "Updates" + ], + "summary": "Get Updates to resource", + "description": "Get updates to resources.", + "operationId": "Updates_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "Resource group name", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Resource provider name", + "required": true, + "type": "string" + }, + { + "name": "resourceType", + "in": "path", + "description": "Resource type", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Resource identifier", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUpdatesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Updates_List": { + "$ref": "./examples/Updates_List.json" + } + } + } + } + }, + "definitions": { + "ApplyUpdateProperties": { + "description": "Properties for apply update", + "type": "object", + "properties": { + "status": { + "description": "The status", + "enum": [ + "Pending", + "InProgress", + "Completed", + "RetryNow", + "RetryLater" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateStatus", + "modelAsString": true + } + }, + "resourceId": { + "description": "The resourceId", + "type": "string" + }, + "lastUpdateTime": { + "format": "date-time", + "description": "Last Update time", + "type": "string" + } + } + }, + "Resource": { + "description": "Definition of a Resource", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified identifier of the resource", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the resource", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ApplyUpdate": { + "description": "Apply Update request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ApplyUpdateProperties", + "description": "Properties of the apply update", + "x-ms-client-flatten": true + } + } + }, + "ConfigurationAssignmentProperties": { + "description": "Properties for configuration assignment", + "type": "object", + "properties": { + "maintenanceConfigurationId": { + "description": "The maintenance configuration Id", + "type": "string" + }, + "resourceId": { + "description": "The unique resourceId", + "type": "string" + } + } + }, + "ConfigurationAssignment": { + "description": "Configuration Assignment", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Location of the resource", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ConfigurationAssignmentProperties", + "description": "Properties of the configuration assignment", + "x-ms-client-flatten": true + } + } + }, + "ListConfigurationAssignmentsResult": { + "description": "Response for ConfigurationAssignments list", + "type": "object", + "properties": { + "value": { + "description": "The list of configuration Assignments", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationAssignment" + } + } + } + }, + "MaintenanceWindow": { + "description": "Definition of a MaintenanceWindow", + "type": "object", + "properties": { + "startDateTime": { + "description": "Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.", + "type": "string" + }, + "expirationDateTime": { + "description": "Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.", + "type": "string" + }, + "duration": { + "description": "Duration of the maintenance window in HH:mm format. If not provided, default value will be used based on maintenance scope provided. Example: 05:00.", + "type": "string" + }, + "timeZone": { + "description": "Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.", + "type": "string" + }, + "recurEvery": { + "description": "Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.", + "type": "string" + } + } + }, + "MaintenanceConfigurationProperties": { + "description": "Properties for maintenance configuration", + "type": "object", + "properties": { + "namespace": { + "description": "Gets or sets namespace of the resource", + "type": "string" + }, + "extensionProperties": { + "description": "Gets or sets extensionProperties of the maintenanceConfiguration", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "maintenanceScope": { + "description": "Gets or sets maintenanceScope of the configuration", + "enum": [ + "All", + "Host", + "Resource", + "InResource", + "OSImage", + "Extension", + "InGuestPatch", + "SQLDB", + "SQLManagedInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "MaintenanceScope", + "modelAsString": true + } + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Definition of a MaintenanceWindow", + "x-ms-client-flatten": true + }, + "visibility": { + "description": "Gets or sets the visibility of the configuration", + "enum": [ + "Custom", + "Public" + ], + "type": "string", + "x-ms-enum": { + "name": "Visibility", + "modelAsString": true + } + } + } + }, + "MaintenanceConfiguration": { + "description": "Maintenance configuration record type", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Gets or sets location of the resource", + "type": "string" + }, + "tags": { + "description": "Gets or sets tags of the resource", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "description": "Gets or sets properties of the resource", + "x-ms-client-flatten": true + } + } + }, + "MaintenanceError": { + "description": "An error response received from the Azure Maintenance service.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetails", + "description": "Details of the error" + } + } + }, + "ErrorDetails": { + "description": "An error response details received from the Azure Maintenance service.", + "type": "object", + "properties": { + "code": { + "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.", + "type": "string" + }, + "message": { + "description": "Human-readable representation of the error.", + "type": "string" + } + } + }, + "ListMaintenanceConfigurationsResult": { + "description": "Response for MaintenanceConfigurations list", + "type": "object", + "properties": { + "value": { + "description": "The list of maintenance Configurations", + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + } + } + }, + "OperationsListResult": { + "description": "Result of the List Operations operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of operations", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + } + } + }, + "Operation": { + "description": "Represents an operation returned by the GetOperations request", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationInfo", + "description": "Display name of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "description": "Properties of the operation", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "OperationInfo": { + "description": "Information about an operation", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider", + "type": "string" + }, + "resource": { + "description": "Name of the resource type", + "type": "string" + }, + "operation": { + "description": "Name of the operation", + "type": "string" + }, + "description": { + "description": "Description of the operation", + "type": "string" + } + } + }, + "ListUpdatesResult": { + "description": "Response for Updates list", + "type": "object", + "properties": { + "value": { + "description": "The pending updates", + "type": "array", + "items": { + "$ref": "#/definitions/Update" + } + } + } + }, + "Update": { + "description": "Maintenance update on a resource", + "type": "object", + "properties": { + "maintenanceScope": { + "description": "The impact area", + "enum": [ + "All", + "Host", + "Resource", + "InResource", + "OSImage", + "Extension", + "InGuestPatch", + "SQLDB", + "SQLManagedInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "MaintenanceScope", + "modelAsString": true + } + }, + "impactType": { + "description": "The impact type", + "enum": [ + "None", + "Freeze", + "Restart", + "Redeploy" + ], + "type": "string", + "x-ms-enum": { + "name": "ImpactType", + "modelAsString": true + } + }, + "status": { + "description": "The status", + "enum": [ + "Pending", + "InProgress", + "Completed", + "RetryNow", + "RetryLater" + ], + "type": "string", + "x-ms-enum": { + "name": "UpdateStatus", + "modelAsString": true + } + }, + "impactDurationInSec": { + "format": "int32", + "description": "Duration of impact in seconds", + "type": "integer" + }, + "notBefore": { + "format": "date-time", + "description": "Time when Azure will start force updates if not self-updated by customer before this time", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/UpdateProperties", + "description": "Properties of the apply update", + "x-ms-client-flatten": true + } + } + }, + "UpdateProperties": { + "description": "Properties for update", + "type": "object", + "properties": { + "resourceId": { + "description": "The resourceId", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Version of the API to be used with the client request.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_CreateOrUpdate.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_CreateOrUpdate.json new file mode 100644 index 000000000000..06e974e51f47 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_CreateOrUpdate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1", + "status": "Pending" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_CreateOrUpdateParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_CreateOrUpdateParent.json new file mode 100644 index 000000000000..8550b66fa18e --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_CreateOrUpdateParent.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1", + "status": "Pending" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_Get.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_Get.json new file mode 100644 index 000000000000..f4c4cfbd90ee --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "applyUpdateName": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1", + "status": "Completed" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_GetParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_GetParent.json new file mode 100644 index 000000000000..1af6b4fef17d --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ApplyUpdates_GetParent.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "applyUpdateName": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/applyUpdates/e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "name": "e9b9685d-78e4-44c4-a81c-64a14f9b87b6", + "type": "Microsoft.Maintenance/applyUpdates", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1", + "status": "Completed" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_CreateOrUpdate.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_CreateOrUpdate.json new file mode 100644 index 000000000000..1b25a8ff5508 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_CreateOrUpdate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2020-07-01-preview", + "configurationAssignment": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_CreateOrUpdateParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_CreateOrUpdateParent.json new file mode 100644 index 000000000000..f0a36ab14dca --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_CreateOrUpdateParent.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "configurationAssignmentName": "workervmPolicy", + "api-version": "2020-07-01-preview", + "configurationAssignment": { + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1/providers/Microsoft.Maintenance/configurationAssignments/workervmPolicy", + "name": "workervmPolicy", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdvm1" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_Delete.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_Delete.json new file mode 100644 index 000000000000..cce9e1b9d721 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_Delete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments" + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_DeleteParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_DeleteParent.json new file mode 100644 index 000000000000..76f039fe439c --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_DeleteParent.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdvm1", + "configurationAssignmentName": "workervmConfiguration", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments" + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_List.json new file mode 100644 index 000000000000..201417a4a10d --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/providers/Microsoft.Maintenance/configurationAssignments/workervmConfiguration", + "name": "workervmConfiguration", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_ListParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_ListParent.json new file mode 100644 index 000000000000..709b08c77cf1 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/ConfigurationAssignments_ListParent.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "smdtestvm1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdtestvm1/providers/Microsoft.Maintenance/configurationAssignments/workervmPolicy", + "name": "workervmPolicy", + "type": "Microsoft.Maintenance/configurationAssignments", + "properties": { + "maintenanceConfigurationId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1", + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/smdtestvm1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json new file mode 100644 index 000000000000..ecea09029ebc --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_CreateOrUpdateForResource.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "configuration1", + "api-version": "2020-07-01-preview", + "configuration": { + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "visibility": "Custom", + "maintenanceScope": "OSImage", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Day" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "visibility": "Custom", + "maintenanceScope": "OSImage", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Day" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_DeleteForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_DeleteForResource.json new file mode 100644 index 000000000000..9d8f3f00fde5 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_DeleteForResource.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "example1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance" + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_GetForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_GetForResource.json new file mode 100644 index 000000000000..29a0080a4455 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_GetForResource.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "configuration1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "5Days" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_List.json new file mode 100644 index 000000000000..844aac01bc32 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Week Saturday,Sunday" + } + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_UpdateForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_UpdateForResource.json new file mode 100644 index 000000000000..c66571d008de --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/MaintenanceConfigurations_UpdateForResource.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "resourceName": "configuration1", + "api-version": "2020-07-01-preview", + "configuration": { + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "visibility": "Custom", + "maintenanceScope": "OSImage", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Month Third Sunday" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", + "visibility": "Custom", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Month Third Sunday" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Operations_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..d5bf36418721 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Operations_List.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/PublicMaintenanceConfigurations_GetForResource.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/PublicMaintenanceConfigurations_GetForResource.json new file mode 100644 index 000000000000..477e2a295e7a --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/PublicMaintenanceConfigurations_GetForResource.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceName": "configuration1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "SQLDB", + "visibility": "Public", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00", + "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "2Weeks" + } + } + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/PublicMaintenanceConfigurations_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/PublicMaintenanceConfigurations_List.json new file mode 100644 index 000000000000..67313ccf7166 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/PublicMaintenanceConfigurations_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/configuration1", + "name": "configuration1", + "location": "westus2", + "properties": { + "namespace": "Microsoft.Maintenance", + "maintenanceScope": "SQLDB", + "visibility": "Public", + "maintenanceWindow": { + "startDateTime": "2020-04-30 08:00:00", + "expirationDateTime": "9999-12-31 00:00:00", + "duration": "05:00:00", + "timeZone": "Pacific Standard Time", + "recurEvery": "Week Saturday,Sunday" + } + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Updates_List.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Updates_List.json new file mode 100644 index 000000000000..835826e21e52 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Updates_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceType": "virtualMachineScaleSets", + "resourceName": "smdtest1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "maintenanceScope": "Resource", + "status": "Pending", + "impactType": "Reboot", + "impactDurationInSec": 1440, + "notBefore": "2018-10-09T06:17:44.235Z", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Updates_ListParent.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Updates_ListParent.json new file mode 100644 index 000000000000..329239a76a39 --- /dev/null +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2020-07-01-preview/examples/Updates_ListParent.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerName": "Microsoft.Compute", + "resourceParentType": "virtualMachineScaleSets", + "resourceParentName": "smdtest1", + "resourceType": "virtualMachines", + "resourceName": "1", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "maintenanceScope": "Resource", + "status": "Pending", + "impactType": "Reboot", + "impactDurationInSec": 1440, + "notBefore": "2018-10-09T06:17:44.235Z", + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Compute/virtualMachineScaleSets/smdtest1/virtualMachines/1" + } + } + ] + } + } + } +} diff --git a/specification/maintenance/resource-manager/readme.az.md b/specification/maintenance/resource-manager/readme.az.md new file mode 100644 index 000000000000..e59604efaca9 --- /dev/null +++ b/specification/maintenance/resource-manager/readme.az.md @@ -0,0 +1,31 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: maintenance + namespace: azure.mgmt.maintenance + package-name: azure-mgmt-maintenance +az-output-folder: $(azure-cli-extension-folder)/src/maintenance +python-sdk-output-folder: "$(az-output-folder)/azext_maintenance/vendored_sdks/maintenance" + +directive: + - where: + group: maintenance apply-update + set: + group: maintenance applyupdate + - where: + group: maintenance maintenance-configuration + set: + group: maintenance configuration + - where: + group: maintenance configuration-assignment + set: + group: maintenance assignment + - where: + group: maintenance public-maintenance-configuration + set: + group: maintenance public-configuration + +``` diff --git a/specification/maintenance/resource-manager/readme.azureresourceschema.md b/specification/maintenance/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..ca97bf10f738 --- /dev/null +++ b/specification/maintenance/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-maintenance-2020-07-01-preview + - tag: schema-maintenance-2020-04-01 + - tag: schema-maintenance-2018-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-maintenance-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-maintenance-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maintenance/preview/2020-07-01-preview/Maintenance.json + +``` + +### Tag: schema-maintenance-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-maintenance-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maintenance/stable/2020-04-01/Maintenance.json + +``` + +### Tag: schema-maintenance-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-maintenance-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maintenance/preview/2018-06-01-preview/Maintenance.json + +``` diff --git a/specification/maintenance/resource-manager/readme.cli.md b/specification/maintenance/resource-manager/readme.cli.md index 574aa55ff2e4..0327c7451143 100644 --- a/specification/maintenance/resource-manager/readme.cli.md +++ b/specification/maintenance/resource-manager/readme.cli.md @@ -6,23 +6,4 @@ These settings apply only when `--cli` is specified on the command line. cli: namespace: azure.mgmt.maintenance flatten-all: true - test-scenario: - - name: MaintenanceConfigurations_CreateOrUpdateForResource - - name: ApplyUpdates_CreateOrUpdate - - name: ConfigurationAssignments_CreateOrUpdate - - name: ApplyUpdates_CreateOrUpdateParent - - name: ConfigurationAssignments_CreateOrUpdateParent - - name: ApplyUpdates_GetParent - - name: ConfigurationAssignments_ListParent - - name: Updates_ListParent - - name: ApplyUpdates_Get - - name: ConfigurationAssignments_List - - name: Updates_List - - name: MaintenanceConfigurations_GetForResource - - name: MaintenanceConfigurations_List - - name: Operations_List - - name: MaintenanceConfigurations_UpdateForResource - - name: ConfigurationAssignments_DeleteParent - - name: ConfigurationAssignments_Delete - - name: MaintenanceConfigurations_DeleteForResource ``` diff --git a/specification/maintenance/resource-manager/readme.md b/specification/maintenance/resource-manager/readme.md index 733545333792..a92762d027f6 100644 --- a/specification/maintenance/resource-manager/readme.md +++ b/specification/maintenance/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Azure Maintenance. - - --- + ## Getting Started + To build the SDK for Azure Maintenance, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,20 +15,31 @@ To build the SDK for Azure Maintenance, simply [Install AutoRest](https://aka.ms To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the Azure Maintenance API. ``` yaml +title: MaintenanceClient +description: Maintenance Client openapi-type: arm -tag: package-2020-04 +tag: package-preview-2020-07 ``` + +### Tag: package-preview-2020-07 + +These settings apply only when `--tag=package-preview-2020-07` is specified on the command line. + +```yaml $(tag) == 'package-preview-2020-07' +input-file: + - Microsoft.Maintenance/preview/2020-07-01-preview/Maintenance.json +``` ### Tag: package-2020-04 These settings apply only when `--tag=package-2020-04` is specified on the command line. @@ -48,8 +59,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -62,9 +73,11 @@ swagger-to-sdk: - repo: azure-libraries-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js maintenance/resource-manager ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -82,31 +95,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.maintenance - package-name: azure-mgmt-maintenance - package-version: 1.1.0 - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/maintenance/azure-mgmt-maintenance/azure/mgmt/maintenance -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/maintenance/azure-mgmt-maintenance -``` +See configuration in [readme.python.md](./readme.python.md) ## Go @@ -116,7 +105,11 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -128,16 +121,16 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Maintenance/preview/2020-07-01-preview/Maintenance.json - $(this-folder)/Microsoft.Maintenance/stable/2020-04-01/Maintenance.json - $(this-folder)/Microsoft.Maintenance/preview/2018-06-01-preview/Maintenance.json ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/maintenance/resource-manager/readme.python.md b/specification/maintenance/resource-manager/readme.python.md new file mode 100644 index 000000000000..a7b9757057ea --- /dev/null +++ b/specification/maintenance/resource-manager/readme.python.md @@ -0,0 +1,29 @@ +## 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.maintenance + package-name: azure-mgmt-maintenance + package-version: 1.1.0 + clear-output-folder: true +``` + +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/maintenance/azure-mgmt-maintenance/azure/mgmt/maintenance +``` + +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/maintenance/azure-mgmt-maintenance +``` \ No newline at end of file diff --git a/specification/managednetwork/resource-manager/readme.azureresourceschema.md b/specification/managednetwork/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2a4dc2aa6f21 --- /dev/null +++ b/specification/managednetwork/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-managednetwork-2019-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-managednetwork-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managednetwork-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedNetwork/preview/2019-06-01-preview/managedNetwork.json + +``` diff --git a/specification/managednetwork/resource-manager/readme.md b/specification/managednetwork/resource-manager/readme.md index d728435d48d2..f0284d03e6a1 100644 --- a/specification/managednetwork/resource-manager/readme.md +++ b/specification/managednetwork/resource-manager/readme.md @@ -54,6 +54,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js managednetwork/resource-manager ``` ## C# @@ -73,6 +76,10 @@ csharp: See configuration in [readme.cli.md](./readme.cli.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinition.json index d85e52a4f545..be0edc4cc58e 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinition.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinition.json @@ -8,27 +8,26 @@ "200": { "body": { "properties": { - "description": "Test", "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", - "registrationDefinitionName": "DefinitionName", "authorizations": [ { "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" } ], - "provisioningState": "Succeeded", - "managedByTenantName": "Test Tenant" + "offerDisplayName": "Marketplace Test Offer", + "publisherDisplayName": "Marketplace Test Publisher", + "planDisplayName": "Test Plan" }, "plan": { - "name": "addesai-plan", + "name": "test-plan", "product": "test", "publisher": "marketplace-test", "version": "1.0.0" }, - "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2", - "type": "Microsoft.ManagedServices/registrationDefinitions", - "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2" + "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/marketplace-test.test.test-plan.1.0.0", + "type": "Microsoft.ManagedServices/marketplaceRegistrationDefinitions", + "name": "marketplace-test.test.test-plan.1.0.0" } } } diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinitions.json index 59623715d529..b511ed1128fd 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinitions.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetMarketplaceRegistrationDefinitions.json @@ -10,27 +10,26 @@ "value": [ { "properties": { - "description": "Test", "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", - "registrationDefinitionName": "DefinitionName", "authorizations": [ { "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" } ], - "provisioningState": "Succeeded", - "managedByTenantName": "Test Tenant" + "offerDisplayName": "Marketplace Test Offer", + "publisherDisplayName": "Marketplace Test Publisher", + "planDisplayName": "Test Plan" }, "plan": { - "name": "addesai-plan", + "name": "test-plan", "product": "test", "publisher": "marketplace-test", "version": "1.0.0" }, - "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2", - "type": "Microsoft.ManagedServices/registrationDefinitions", - "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2" + "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/marketplace-test.test.test-plan.1.0.0", + "type": "Microsoft.ManagedServices/marketplaceRegistrationDefinitions", + "name": "marketplace-test.test.test-plan.1.0.0" } ] } diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json index b3a19710450b..4c0da88970ae 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json @@ -444,7 +444,7 @@ "200": { "description": "OK - Returns the details of the marketplace registration definition.", "schema": { - "$ref": "#/definitions/RegistrationDefinition" + "$ref": "#/definitions/MarketplaceRegistrationDefinition" } }, "default": { @@ -779,13 +779,82 @@ }, "description": "List of registration assignments." }, + "MarketplaceRegistrationDefinition": { + "properties": { + "properties": { + "description": "Properties of a marketplace registration definition.", + "$ref": "#/definitions/MarketplaceRegistrationDefinitionProperties" + }, + "plan": { + "description": "Plan details for the managed services.", + "$ref": "#/definitions/Plan" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified path of the marketplace registration definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the marketplace registration definition." + } + }, + "x-ms-azure-resource": true, + "type": "object" + }, + "MarketplaceRegistrationDefinitionProperties": { + "properties": { + "managedByTenantId": { + "type": "string", + "description": "Id of the managedBy tenant." + }, + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/Authorization" + }, + "description": "Authorization tuple containing principal id of the user/security group or service principal and id of the build-in role." + }, + "eligibleAuthorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/EligibleAuthorization" + }, + "description": "Eligible PIM authorization tuple containing principal id of the user/security group or service principal, id of the built-in role, and just-in-time access policy setting" + }, + "offerDisplayName": { + "type": "string", + "description": "The marketplace offer display name." + }, + "publisherDisplayName": { + "type": "string", + "description": "The marketplace publisher display name." + }, + "planDisplayName": { + "type": "string", + "description": "The marketplace plan display name." + } + }, + "required": [ + "managedByTenantId", + "authorizations" + ], + "type": "object", + "description": "Properties of a marketplace registration definition." + }, "MarketplaceRegistrationDefinitionList": { "properties": { "value": { "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RegistrationDefinition" + "$ref": "#/definitions/MarketplaceRegistrationDefinition" }, "description": "List of marketplace registration definitions." }, diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinition.json index a8d48818f2a0..7d81dfc342fb 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinition.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinition.json @@ -8,27 +8,26 @@ "200": { "body": { "properties": { - "description": "Test", "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", - "registrationDefinitionName": "DefinitionName", "authorizations": [ { "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" } ], - "provisioningState": "Succeeded", - "managedByTenantName": "Test Tenant" + "offerDisplayName": "Marketplace Test Offer", + "publisherDisplayName": "Marketplace Test Publisher", + "planDisplayName": "Test Plan" }, "plan": { - "name": "addesai-plan", + "name": "test-plan", "product": "test", "publisher": "marketplace-test", "version": "1.0.0" }, - "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2", - "type": "Microsoft.ManagedServices/registrationDefinitions", - "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2" + "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/marketplace-test.test.test-plan.1.0.0", + "type": "Microsoft.ManagedServices/marketplaceRegistrationDefinitions", + "name": "marketplace-test.test.test-plan.1.0.0" } } } diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinitions.json index 39127fd4a5d3..bd2d422e11eb 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinitions.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/examples/GetMarketplaceRegistrationDefinitions.json @@ -10,27 +10,26 @@ "value": [ { "properties": { - "description": "Test", "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", - "registrationDefinitionName": "DefinitionName", "authorizations": [ { "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" } ], - "provisioningState": "Succeeded", - "managedByTenantName": "Test Tenant" + "offerDisplayName": "Marketplace Test Offer", + "publisherDisplayName": "Marketplace Test Publisher", + "planDisplayName": "Test Plan" }, "plan": { - "name": "addesai-plan", + "name": "test-plan", "product": "test", "publisher": "marketplace-test", "version": "1.0.0" }, - "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/26c128c2-fefa-4340-9bb1-6e081c90ada2", - "type": "Microsoft.ManagedServices/registrationDefinitions", - "name": "26c128c2-fefa-4340-9bb1-6e081c90ada2" + "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/marketplace-test.test.test-plan.1.0.0", + "type": "Microsoft.ManagedServices/marketplaceRegistrationDefinitions", + "name": "marketplace-test.test.test-plan.1.0.0" } ] } diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json index e51fa6947178..308312c1b835 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/stable/2019-09-01/managedservices.json @@ -444,7 +444,7 @@ "200": { "description": "OK - Returns the details of the marketplace registration definition.", "schema": { - "$ref": "#/definitions/RegistrationDefinition" + "$ref": "#/definitions/MarketplaceRegistrationDefinition" } }, "default": { @@ -765,13 +765,75 @@ }, "description": "List of registration assignments." }, + "MarketplaceRegistrationDefinition": { + "properties": { + "properties": { + "description": "Properties of a marketplace registration definition.", + "$ref": "#/definitions/MarketplaceRegistrationDefinitionProperties" + }, + "plan": { + "description": "Plan details for the managed services.", + "$ref": "#/definitions/Plan" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified path of the marketplace registration definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the marketplace registration definition." + } + }, + "x-ms-azure-resource": true, + "type": "object" + }, + "MarketplaceRegistrationDefinitionProperties": { + "properties": { + "managedByTenantId": { + "type": "string", + "description": "Id of the managedBy tenant." + }, + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/Authorization" + }, + "description": "Authorization tuple containing principal id of the user/security group or service principal and id of the build-in role." + }, + "offerDisplayName": { + "type": "string", + "description": "The marketplace offer display name." + }, + "publisherDisplayName": { + "type": "string", + "description": "The marketplace publisher display name." + }, + "planDisplayName": { + "type": "string", + "description": "The marketplace plan display name." + } + }, + "required": [ + "managedByTenantId", + "authorizations" + ], + "type": "object", + "description": "Properties of a marketplace registration definition." + }, "MarketplaceRegistrationDefinitionList": { "properties": { "value": { "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/RegistrationDefinition" + "$ref": "#/definitions/MarketplaceRegistrationDefinition" }, "description": "List of marketplace registration definitions." }, diff --git a/specification/managedservices/resource-manager/readme.azureresourceschema.md b/specification/managedservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..2c60bbe0f4c2 --- /dev/null +++ b/specification/managedservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,72 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-managedservices-2020-02-01-preview + - tag: schema-managedservices-2019-09-01 + - tag: schema-managedservices-2019-06-01 + - tag: schema-managedservices-2019-04-01-preview + - tag: schema-managedservices-2018-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-managedservices-2020-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2020-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json + +``` + +### Tag: schema-managedservices-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/stable/2019-09-01/managedservices.json + +``` + +### Tag: schema-managedservices-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/stable/2019-06-01/managedservices.json + +``` + +### Tag: schema-managedservices-2019-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2019-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/preview/2019-04-01-preview/managedservices.json + +``` + +### Tag: schema-managedservices-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managedservices-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedServices/preview/2018-06-01-preview/managedservices.json + +``` diff --git a/specification/managedservices/resource-manager/readme.md b/specification/managedservices/resource-manager/readme.md index 5273c2568abc..a85ba96d422c 100644 --- a/specification/managedservices/resource-manager/readme.md +++ b/specification/managedservices/resource-manager/readme.md @@ -94,6 +94,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_billing'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js managedservices/resource-manager ``` ## C# @@ -114,6 +117,10 @@ csharp: See configuration in [readme.go.md](./readme.go.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/AddManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/AddManagementGroupSubscription.json new file mode 100644 index 000000000000..d4c759b31eab --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/AddManagementGroupSubscription.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": " /providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "Group", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/CheckManagementGroupNameAvailability.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/CheckManagementGroupNameAvailability.json new file mode 100644 index 000000000000..a0889d0619da --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/CheckManagementGroupNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "checkNameAvailabilityRequest": { + "name": "nameTocheck", + "type": "Microsoft.Management/managementGroups" + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Error message" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/DeleteHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/DeleteHierarchySettings.json new file mode 100644 index 000000000000..8b7588ecd829 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/DeleteHierarchySettings.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "root" + }, + "responses": { + "200": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/DeleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/DeleteManagementGroup.json new file mode 100644 index 000000000000..8c4dd0f49cc1 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/DeleteManagementGroup.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "GroupToDelete", + "Cache-Control": "no-cache" + }, + "responses": { + "202": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/GroupToDelete", + "type": "Microsoft.Management/managementGroups", + "name": "GroupToDelete", + "status": "NotStarted" + } + }, + "204": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetAllSubscriptionsFromManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetAllSubscriptionsFromManagementGroup.json new file mode 100644 index 000000000000..3791b3bcc5d3 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetAllSubscriptionsFromManagementGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "Group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": "/providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "S5", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetDescendants.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetDescendants.json new file mode 100644 index 000000000000..d775122ad34d --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetDescendants.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "20000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "displayName": "Group 1", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + } + } + }, + { + "id": "/subscriptions/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups/subscriptions", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "displayName": "Subscription 4", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetEntities.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetEntities.json new file mode 100644 index 000000000000..bfa20d9843d5 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetEntities.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + }, + "permissions": "view", + "inheritedPermissions": "view", + "parentDisplayNameChain": [ + "Tenant Root Group", + "Group 1 Tenant 2 Parent" + ], + "parentNameChain": [ + "TenantRootGroup", + "Group1Tenant2Parent" + ], + "numberOfDescendants": 3, + "numberOfChildren": 2, + "numberOfChildGroups": 1 + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 4 Tenant 2", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000" + }, + "permissions": "delete", + "inheritedPermissions": "delete", + "parentDisplayNameChain": [ + "Tenant Root Group", + "Group 4 Tenant 2 Parent" + ], + "parentNameChain": [ + "TenantRootGroup", + "Group4 Tenant2Parent" + ], + "numberOfDescendants": 0, + "numberOfChildren": 0, + "numberOfChildGroups": 0 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetHierarchySettings.json new file mode 100644 index 000000000000..1e688ecc400e --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetHierarchySettings.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "root" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroup.json new file mode 100644 index 000000000000..bb61c372fc59 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "name": "RootGroup", + "displayName": "RootGroup" + } + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroupWithExpand.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroupWithExpand.json new file mode 100644 index 000000000000..bb16585ffd46 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroupWithExpand.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "children", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "Test", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "20000000-0000-0000-0000-000000000000" + } + }, + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0002-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0002-0000-0000-000000000000", + "displayName": "Group 2 Tenant 2" + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0003-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0003-0000-0000-000000000000", + "displayName": "Group 3 Tenant 2" + }, + { + "id": "/subscriptions/10000000-F004-0000-0000-000000000000", + "type": "/subscriptions", + "name": "10000000-F004-0000-0000-000000000000", + "displayName": "Subscription 4 Tenant 1" + }, + { + "id": "/subscriptions/20000000-F005-0000-0000-000000000000", + "type": "/subscriptions", + "name": "20000000-F005-0000-0000-000000000000", + "displayName": "Subscription 5 Tenant 2" + }, + { + "id": "/subscriptions/30000000-F003-0000-0000-000000000000", + "type": "/subscriptions", + "name": "30000000-F003-0000-0000-000000000000", + "displayName": "Subscription 3 Tenant 3" + } + ] + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroupWithExpandAndRecurse.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroupWithExpandAndRecurse.json new file mode 100644 index 000000000000..68325c992ac4 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetManagementGroupWithExpandAndRecurse.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "20000000-0001-0000-0000-000000000000", + "$expand": "children", + "$recurse": true, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "type": "Microsoft.Management/managementGroups", + "name": "RootGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "RootGroup", + "details": { + "version": 2, + "updatedTime": "2018-01-25T02:26:49.0022093Z", + "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "displayName": "20000000-0000-0000-0000-000000000000" + } + }, + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/Child", + "type": "Microsoft.Management/managementGroups", + "name": "Child", + "displayName": "Child", + "children": [ + { + "id": "/providers/Microsoft.Management/managementGroups/Leaf", + "type": "Microsoft.Management/managementGroups", + "name": "Leaf", + "displayName": "Leaf", + "children": [ + { + "id": "/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "/subscriptions", + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "displayName": "Pay-As-You-Go" + } + ] + } + ] + }, + { + "id": "/providers/Microsoft.Management/managementGroups/AnotherChild", + "type": "Microsoft.Management/managementGroups", + "name": "AnotherChild", + "displayName": "Leaf" + } + ] + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetSubscriptionFromManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetSubscriptionFromManagementGroup.json new file mode 100644 index 000000000000..d4c759b31eab --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/GetSubscriptionFromManagementGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "name": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "id": " /providers/Microsoft.Management/managementGroups/Group/subscriptions/728bcbe4-8d56-4510-86c2-4921b8beefbc", + "type": "Microsoft.Management/managementGroups/subscriptions", + "properties": { + "displayName": "Group", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/Group" + }, + "state": "Active", + "tenant": "e751ac82-623b-4913-8d74-22637c832373" + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/ListHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/ListHierarchySettings.json new file mode 100644 index 000000000000..feb1fbbd26a7 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/ListHierarchySettings.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "root" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/ListManagementGroups.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/ListManagementGroups.json new file mode 100644 index 000000000000..d855dc9f2a46 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/ListManagementGroups.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0001-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0001-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 1 Tenant 2" + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/20000000-0004-0000-0000-000000000000", + "type": "Microsoft.Management/managementGroups", + "name": "20000000-0004-0000-0000-000000000000", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "Group 4 Tenant 2" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PatchHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PatchHierarchySettings.json new file mode 100644 index 000000000000..3931b3661451 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PatchHierarchySettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "root", + "CreateTenantSettingsRequest": { + "properties": { + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PatchManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PatchManagementGroup.json new file mode 100644 index 000000000000..4d9628400444 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PatchManagementGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "ChildGroup", + "patchGroupRequest": { + "displayName": "AlternateDisplayName", + "parentGroupId": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup" + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "AlternateDisplayName", + "details": { + "version": 2, + "updatedTime": "2018-01-25T02:46:59.0545645Z", + "updatedBy": "bd490e30-04cb-433e-b8c8-6066959a8bab", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/AlternateRootGroup", + "name": "AlternateRootGroup", + "displayName": "AlternateRootGroup" + } + } + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PutHierarchySettings.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PutHierarchySettings.json new file mode 100644 index 000000000000..3931b3661451 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PutHierarchySettings.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "root", + "CreateTenantSettingsRequest": { + "properties": { + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/root/settings/default", + "type": "Microsoft.Management/managementGroups/settings", + "name": "root", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/DefaultGroup", + "requireAuthorizationForGroupCreation": true + } + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PutManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PutManagementGroup.json new file mode 100644 index 000000000000..69ee31905143 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/PutManagementGroup.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "ChildGroup", + "createManagementGroupRequest": { + "properties": { + "displayName": "ChildGroup", + "details": { + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup" + } + } + } + }, + "Cache-Control": "no-cache" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "properties": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "displayName": "ChildGroup", + "details": { + "version": 1, + "updatedTime": "2018-01-01T00:00:00.00Z", + "updatedBy": "16b8ef21-5c9f-420c-bcc9-e4f8c9f30b4b", + "parent": { + "id": "/providers/Microsoft.Management/managementGroups/RootGroup", + "name": "RootGroup", + "displayName": "RootGroup" + } + } + } + } + }, + "202": { + "body": { + "id": "/providers/Microsoft.Management/managementGroups/ChildGroup", + "type": "Microsoft.Management/managementGroups", + "name": "ChildGroup", + "status": "NotStarted" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/RemoveManagementGroupSubscription.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/RemoveManagementGroupSubscription.json new file mode 100644 index 000000000000..322c5afb52ec --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/RemoveManagementGroupSubscription.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "groupId": "Group", + "subscriptionId": "728bcbe4-8d56-4510-86c2-4921b8beefbc", + "Cache-Control": "no-cache" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/StartTenantBackfillRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/StartTenantBackfillRequest.json new file mode 100644 index 000000000000..67c92e2ee136 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/StartTenantBackfillRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "startTenantBackfillRequest": {} + }, + "responses": { + "200": { + "body": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "status": "Started" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/TenantBackfillStatusRequest.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/TenantBackfillStatusRequest.json new file mode 100644 index 000000000000..277472623076 --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/examples/TenantBackfillStatusRequest.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "tenantBackfillStatusRequest": {} + }, + "responses": { + "200": { + "body": { + "tenantId": "20000000-0000-0000-0000-000000000000", + "status": "Started" + } + } + } +} diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/management.json new file mode 100644 index 000000000000..6bd779cfd16d --- /dev/null +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2020-05-01/management.json @@ -0,0 +1,2112 @@ +{ + "swagger": "2.0", + "host": "management.azure.com", + "info": { + "version": "2020-05-01", + "title": "Management Groups API", + "description": "The Azure Management Groups API enables consolidation of multiple \nsubscriptions/resources into an organizational hierarchy and centrally \nmanage access control, policies, alerting and reporting for those resources.\n" + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "ManagementGroups", + "description": "A Management Group is a customer defined scope (grouping mechanism) that \nprovides access control (authorization), policy management and reporting. \nManagement Groups are organized in a strictly tree-based hierarchy.\n" + }, + { + "name": "Operations", + "description": "Management operations supported by the Microsoft.Management resource provider.\n" + }, + { + "name": "Entities", + "description": "A list of entities that belong to the Management Groups.\n" + } + ], + "paths": { + "/providers/Microsoft.Management/managementGroups": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_List", + "description": "List management groups for the authenticated user.\n", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroupListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListManagementGroups": { + "$ref": "./examples/ListManagementGroups.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Get", + "description": "Get the details of the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + }, + { + "$ref": "#/parameters/RecurseParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetManagementGroup": { + "$ref": "./examples/GetManagementGroup.json" + }, + "GetManagementGroupWithExpand": { + "$ref": "./examples/GetManagementGroupWithExpand.json" + }, + "GetManagementGroupsWithExpandAndRecurse": { + "$ref": "./examples/GetManagementGroupWithExpandAndRecurse.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_CreateOrUpdate", + "description": "Create or update a management group.\nIf a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/CreateManagementGroupRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AzureAsyncOperationResults" + }, + "headers": { + "Location": { + "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\nThe URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.\nTo get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations", + "type": "string" + } + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PutManagementGroup": { + "$ref": "./examples/PutManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Update", + "description": "Update a management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + }, + { + "$ref": "#/parameters/PatchGroupRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PatchManagementGroup": { + "$ref": "./examples/PatchManagementGroup.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_Delete", + "description": "Delete management group.\nIf a management group contains child resources, the request will fail.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AzureAsyncOperationResults" + }, + "headers": { + "Location": { + "description": "URL for determining when an operation has completed. Send a GET request to the URL in Location header.\nThe URI should return a 202 until the operation reaches a terminal state and 200 once it reaches a terminal state.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#202-accepted-and-location-headers", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "URL for checking the ongoing status of the operation.\nTo get the status of the asynchronous operation, send a GET request to the URL in Azure-AsyncOperation header value.\n\nFor more info: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#asynchronous-operations", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteManagementGroup": { + "$ref": "./examples/DeleteManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/descendants": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroups_GetDescendants", + "description": "List all entities that descend from a management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DescendantListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDescendants": { + "$ref": "./examples/GetDescendants.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions/{subscriptionId}": { + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_Create", + "description": "Associates existing subscription with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AddSubscriptionToManagementGroup": { + "$ref": "./examples/AddManagementGroupSubscription.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_Delete", + "description": "De-associates subscription from the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteSubscriptionFromManagementGroup": { + "$ref": "./examples/RemoveManagementGroupSubscription.json" + } + } + }, + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_GetSubscription", + "description": "Retrieves details about given subscription which is associated with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetSubscriptionFromManagementGroup": { + "$ref": "./examples/GetSubscriptionFromManagementGroup.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/subscriptions": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "ManagementGroupSubscriptions_GetSubscriptionsUnderManagementGroup", + "description": "Retrieves details about all subscriptions which are associated with the management group.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListSubscriptionUnderManagementGroup" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetAllSubscriptionsFromManagementGroup": { + "$ref": "./examples/GetAllSubscriptionsFromManagementGroup.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/settings": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_List", + "description": "Gets all the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettingsList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListGroupSettings": { + "$ref": "./examples/ListHierarchySettings.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/settings/default": { + "get": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Get", + "description": "Gets the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/GetHierarchySettings.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_CreateOrUpdate", + "description": "Creates or updates the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CreateOrUpdateManagementGroupSettingsRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/PutHierarchySettings.json" + } + } + }, + "patch": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Update", + "description": "Updates the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CreateOrUpdateManagementGroupSettingsRequestParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HierarchySettings" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/PatchHierarchySettings.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroups" + ], + "operationId": "HierarchySettings_Delete", + "description": "Deletes the hierarchy settings defined at the Management Group level.\n", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetGroupSettings": { + "$ref": "./examples/DeleteHierarchySettings.json" + } + } + } + }, + "/providers/Microsoft.Management/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Management REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability", + "description": "Checks if the specified management group name is valid and unique", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CheckNameAvailabilityParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckManagementGroupNameAvailability": { + "$ref": "./examples/CheckManagementGroupNameAvailability.json" + } + } + } + }, + "/providers/Microsoft.Management/getEntities": { + "post": { + "tags": [ + "Entities" + ], + "operationId": "Entities_List", + "description": "List all entities (Management Groups, Subscriptions, etc.) for the authenticated user.\n", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/SkipParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/SelectParameter" + }, + { + "$ref": "#/parameters/SearchParameter" + }, + { + "$ref": "#/parameters/EntityFilterParameter" + }, + { + "$ref": "#/parameters/EntityViewParameter" + }, + { + "$ref": "#/parameters/GroupNameParameter" + }, + { + "$ref": "#/parameters/CacheControlHeader" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetEntities": { + "$ref": "./examples/GetEntities.json" + } + } + } + }, + "/providers/Microsoft.Management/startTenantBackfill": { + "post": { + "tags": [ + "TenantBackfill" + ], + "operationId": "StartTenantBackfill", + "description": "Starts backfilling subscriptions for the Tenant.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TenantBackfillStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "StartTenantBackfill": { + "$ref": "./examples/StartTenantBackfillRequest.json" + } + } + } + }, + "/providers/Microsoft.Management/tenantBackfillStatus": { + "post": { + "tags": [ + "TenantBackfill" + ], + "operationId": "TenantBackfillStatus", + "description": "Gets tenant backfill status", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TenantBackfillStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TenantBackfillStatus": { + "$ref": "./examples/TenantBackfillStatusRequest.json" + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "The error object.", + "properties": { + "error": { + "title": "Error", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "type": "string" + }, + "message": { + "description": "A human-readable representation of the error.", + "type": "string" + }, + "details": { + "description": "A human-readable representation of the error's details.", + "type": "string" + } + } + }, + "Operation": { + "description": "Operation supported by the Microsoft.Management resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "title": "Display", + "$ref": "#/definitions/OperationDisplayProperties" + } + } + }, + "OperationDisplayProperties": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "The name of the provider.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The operation that can be performed.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Operation description.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Describes the result of the request to list Microsoft.Management operations.", + "properties": { + "value": { + "description": "List of operations supported by the Microsoft.Management resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "CheckNameAvailabilityResult": { + "description": "Describes the result of the request to check management group name availability.", + "properties": { + "nameAvailable": { + "description": "Required. True indicates name is valid and available. False indicates the name is invalid, unavailable, or both.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "Required if nameAvailable == false. Invalid indicates the name provided does not match the resource provider's naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false, + "values": [ + { + "value": "Invalid" + }, + { + "value": "AlreadyExists" + } + ] + }, + "readOnly": true + }, + "message": { + "description": "Required if nameAvailable == false. Localized. If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.", + "type": "string", + "readOnly": true + } + } + }, + "TenantBackfillStatusResult": { + "description": "The tenant backfill status", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "status": { + "description": "The status of the Tenant Backfill", + "type": "string", + "enum": [ + "NotStarted", + "NotStartedButGroupsExist", + "Started", + "Failed", + "Cancelled", + "Completed" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": false, + "values": [ + { + "value": "NotStarted" + }, + { + "value": "NotStartedButGroupsExist" + }, + { + "value": "Started" + }, + { + "value": "Failed" + }, + { + "value": "Cancelled" + }, + { + "value": "Completed" + } + ] + }, + "readOnly": true + } + } + }, + "ManagementGroupListResult": { + "description": "Describes the result of the request to list management groups.", + "properties": { + "value": { + "description": "The list of management groups.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagementGroupInfo": { + "description": "The management group resource.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties", + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "ManagementGroupInfoProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + } + } + }, + "ListSubscriptionUnderManagementGroup": { + "description": "The details of all subscriptions under management group.", + "properties": { + "value": { + "description": "The list of subscriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionUnderManagementGroup" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "SubscriptionUnderManagementGroup": { + "description": "The details of subscription under management group.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the subscription. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/subscriptions/0000000-0000-0000-0000-000000000001", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/subscriptions", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The stringified id of the subscription. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubscriptionUnderManagementGroupProperties" + } + } + }, + "SubscriptionUnderManagementGroupProperties": { + "description": "The generic properties of subscription under a management group.", + "type": "object", + "properties": { + "tenant": { + "type": "string", + "description": "The AAD Tenant ID associated with the subscription. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the subscription." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/DescendantParentGroupInfo", + "x-nullable": true + }, + "state": { + "type": "string", + "description": "The state of the subscription." + } + } + }, + "ManagementGroup": { + "description": "The management group details.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupProperties" + } + } + }, + "ManagementGroupProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + }, + "details": { + "title": "Details", + "$ref": "#/definitions/ManagementGroupDetails" + }, + "children": { + "description": "The list of children.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupChildInfo" + } + }, + "path": { + "description": "The path from the root to the current group.", + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupPathElement" + } + } + } + }, + "ManagementGroupDetails": { + "description": "The details of a management group.", + "type": "object", + "properties": { + "version": { + "type": "number", + "format": "int32", + "description": "The version number of the object." + }, + "updatedTime": { + "type": "string", + "format": "date-time", + "description": "The date and time when this object was last updated." + }, + "updatedBy": { + "type": "string", + "description": "The identity of the principal or process that updated the object." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/ParentGroupInfo" + } + } + }, + "ManagementGroupChildInfo": { + "description": "The child information of a management group.", + "properties": { + "type": { + "title": "The type of child resource.", + "$ref": "#/definitions/ManagementGroupChildType", + "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)" + }, + "id": { + "type": "string", + "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "description": "The name of the child entity." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the child resource." + }, + "children": { + "description": "The list of children.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupChildInfo" + } + } + } + }, + "ManagementGroupPathElement": { + "description": "A path element of a management group ancestors.", + "properties": { + "name": { + "type": "string", + "description": "The name of the group." + }, + "displayName": { + "type": "string", + "description": "The friendly name of the group." + } + } + }, + "ParentGroupInfo": { + "description": "(Optional) The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "description": "The name of the parent management group" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the parent management group." + } + } + }, + "ManagementGroupChildType": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups", + "/subscriptions" + ], + "description": "The type of child resource." + }, + "OperationResults": { + "description": "The results of an asynchronous operation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "AzureAsyncOperationResults": { + "description": "The results of Azure-AsyncOperation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The current status of the asynchronous operation performed . For example, Running, Succeeded, Failed", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupInfoProperties" + } + } + }, + "HierarchySettings": { + "description": "Settings defined at the Management Group scope.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/settings.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the object. In this case, default.", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HierarchySettingsProperties" + } + } + }, + "HierarchySettingsProperties": { + "description": "The generic properties of hierarchy settings.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the hierarchy settings. For example, 00000000-0000-0000-0000-000000000000" + }, + "requireAuthorizationForGroupCreation": { + "type": "boolean", + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + }, + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + } + } + }, + "HierarchySettingsList": { + "description": "Lists all hierarchy settings.", + "properties": { + "value": { + "description": "The list of hierarchy settings.", + "type": "array", + "items": { + "$ref": "#/definitions/HierarchySettingsInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "HierarchySettingsInfo": { + "description": "The hierarchy settings resource.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the settings object. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000/settings/default.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups/settings.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the object. In this case, default.", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "title": "Properties", + "$ref": "#/definitions/HierarchySettingsProperties" + } + } + }, + "CreateOrUpdateSettingsRequest": { + "description": "Parameters for creating or updating Management Group settings", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateOrUpdateSettingsProperties" + } + } + }, + "CreateOrUpdateSettingsProperties": { + "description": "The properties of the request to create or update Management Group settings", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "requireAuthorizationForGroupCreation": { + "type": "boolean", + "description": "Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access." + }, + "defaultManagementGroup": { + "type": "string", + "description": "Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup" + } + } + }, + "DescendantListResult": { + "description": "Describes the result of the request to view descendants.", + "properties": { + "value": { + "description": "The list of descendants.", + "type": "array", + "items": { + "$ref": "#/definitions/DescendantInfo" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "DescendantInfo": { + "description": "The descendant.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the descendant. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000 or /subscriptions/0000000-0000-0000-0000-000000000000", + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups or /subscriptions", + "readOnly": true, + "x-nullable": true + }, + "name": { + "type": "string", + "description": "The name of the descendant. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "x-nullable": true, + "$ref": "#/definitions/DescendantInfoProperties" + } + } + }, + "DescendantInfoProperties": { + "description": "The generic properties of an descendant.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/DescendantParentGroupInfo", + "x-nullable": true + } + } + }, + "DescendantParentGroupInfo": { + "description": "The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + } + }, + "EntityListResult": { + "description": "Describes the result of the request to view entities.", + "properties": { + "value": { + "description": "The list of entities.", + "type": "array", + "items": { + "$ref": "#/definitions/EntityInfo" + } + }, + "count": { + "description": "Total count of records that match the filter", + "type": "integer", + "readOnly": true + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + } + } + }, + "EntityInfo": { + "description": "The entity.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the entity. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true, + "x-nullable": true + }, + "name": { + "type": "string", + "description": "The name of the entity. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "x-nullable": true, + "$ref": "#/definitions/EntityInfoProperties" + } + } + }, + "EntityInfoProperties": { + "description": "The generic properties of an entity.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000", + "x-nullable": true + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/EntityParentGroupInfo", + "x-nullable": true + }, + "permissions": { + "title": "Permissions", + "x-nullable": true, + "$ref": "#/definitions/Permissions" + }, + "inheritedPermissions": { + "title": "Inherited Permissions", + "x-nullable": true, + "$ref": "#/definitions/Permissions" + }, + "numberOfDescendants": { + "title": "Number of Descendants", + "type": "integer", + "x-nullable": true + }, + "numberOfChildren": { + "title": "Number of Children", + "description": "Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group.", + "type": "integer", + "x-nullable": true + }, + "numberOfChildGroups": { + "title": "Number of Child Groups", + "description": "Number of children is the number of Groups that are exactly one level underneath the current Group.", + "type": "integer", + "x-nullable": true + }, + "parentDisplayNameChain": { + "type": "array", + "description": "The parent display name chain from the root group to the immediate parent", + "x-nullable": true, + "items": { + "type": "string" + } + }, + "parentNameChain": { + "type": "array", + "description": "The parent name chain from the root group to the immediate parent", + "x-nullable": true, + "items": { + "type": "string" + } + } + } + }, + "EntityParentGroupInfo": { + "description": "(Optional) The ID of the parent management group.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + } + } + }, + "EntityHierarchyItem": { + "description": "The management group details for the hierarchy view.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EntityHierarchyItemProperties" + } + } + }, + "EntityHierarchyItemProperties": { + "description": "The generic properties of a management group.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group." + }, + "permissions": { + "title": "Permissions", + "$ref": "#/definitions/Permissions" + }, + "children": { + "type": "array", + "description": "The list of children.", + "x-nullable": true, + "items": { + "$ref": "#/definitions/EntityHierarchyItem" + } + } + } + }, + "PatchManagementGroupRequest": { + "description": "Management group patch parameters.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The friendly name of the management group.", + "x-nullable": true + }, + "parentGroupId": { + "type": "string", + "description": "(Optional) The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "x-nullable": true + } + } + }, + "CreateManagementGroupRequest": { + "description": "Management group creation parameters.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. For example, Microsoft.Management/managementGroups", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateManagementGroupProperties" + } + } + }, + "CreateManagementGroupProperties": { + "description": "The generic properties of a management group used during creation.", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "readOnly": true, + "description": "The AAD Tenant ID associated with the management group. For example, 00000000-0000-0000-0000-000000000000" + }, + "displayName": { + "type": "string", + "description": "The friendly name of the management group. If no value is passed then this field will be set to the groupId.", + "x-nullable": true + }, + "details": { + "title": "Details", + "$ref": "#/definitions/CreateManagementGroupDetails" + }, + "children": { + "description": "The list of children.", + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/CreateManagementGroupChildInfo" + } + } + } + }, + "CreateManagementGroupDetails": { + "description": "The details of a management group used during creation.", + "type": "object", + "properties": { + "version": { + "type": "number", + "readOnly": true, + "format": "int32", + "description": "The version number of the object." + }, + "updatedTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date and time when this object was last updated." + }, + "updatedBy": { + "type": "string", + "readOnly": true, + "description": "The identity of the principal or process that updated the object." + }, + "parent": { + "title": "Parent", + "$ref": "#/definitions/CreateParentGroupInfo" + } + } + }, + "CreateManagementGroupChildInfo": { + "description": "The child information of a management group used during creation.", + "properties": { + "type": { + "title": "The type of child resource.", + "readOnly": true, + "$ref": "#/definitions/ManagementGroupChildType", + "description": "The fully qualified resource type which includes provider namespace (e.g. Microsoft.Management/managementGroups)" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The fully qualified ID for the child resource (management group or subscription). For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the child entity." + }, + "displayName": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the child resource." + }, + "children": { + "description": "The list of children.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CreateManagementGroupChildInfo" + } + } + } + }, + "CreateParentGroupInfo": { + "description": "(Optional) The ID of the parent management group used during creation.", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the parent management group" + }, + "displayName": { + "type": "string", + "readOnly": true, + "description": "The friendly name of the parent management group." + } + } + }, + "Permissions": { + "type": "string", + "enum": [ + "noaccess", + "view", + "edit", + "delete" + ], + "description": "The users specific permissions to this item." + }, + "CheckNameAvailabilityRequest": { + "description": "Management group name availability check parameters.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "the name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Management/managementGroups" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Management/managementGroups" + } + ] + }, + "description": "fully qualified resource type which includes provider namespace" + } + } + } + }, + "parameters": { + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "required": true, + "type": "string", + "description": "Management Group ID.", + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription ID.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. The current version is 2018-01-01-preview." + }, + "ExpandParameter": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "children", + "path" + ], + "x-ms-parameter-location": "method", + "description": "The $expand=children query string parameter allows clients to request inclusion of children in the response payload. $expand=path includes the path from the root group to the current group." + }, + "RecurseParameter": { + "name": "$recurse", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that $expand=children must be passed up if $recurse is set to true." + }, + "CreateManagementGroupRequestParameter": { + "name": "createManagementGroupRequest", + "in": "body", + "required": true, + "description": "Management group creation parameters.", + "schema": { + "$ref": "#/definitions/CreateManagementGroupRequest" + }, + "x-ms-parameter-location": "client" + }, + "PatchGroupRequestParameter": { + "name": "patchGroupRequest", + "in": "body", + "required": true, + "description": "Management group patch parameters.", + "schema": { + "$ref": "#/definitions/PatchManagementGroupRequest" + }, + "x-ms-parameter-location": "client" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "A filter which allows the exclusion of subscriptions from results (i.e. '$filter=children.childType ne Subscription')", + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "description": "The filter parameter allows you to filter on the the name or display name fields. You can check for equality on the name field (e.g. name eq '{entityName}') and you can check for substrings on either the name or display name fields(e.g. contains(name, '{substringToSearch}'), contains(displayName, '{substringToSearch')). Note that the '{entityName}' and '{substringToSearch}' fields are checked case insensitively.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SelectParameter": { + "name": "$select", + "in": "query", + "required": false, + "description": "This parameter specifies the fields to include in the response. Can include any combination of Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. '$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain'. When specified the $select parameter can override select in $skipToken.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SearchParameter": { + "name": "$search", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "AllowedParents", + "AllowedChildren", + "ParentAndFirstLevelChildren", + "ParentOnly", + "ChildrenOnly" + ], + "x-ms-parameter-location": "method", + "description": "The $search parameter is used in conjunction with the $filter parameter to return three different outputs depending on the parameter passed in. \nWith $search=AllowedParents the API will return the entity info of all groups that the requested entity will be able to reparent to as determined by the user's permissions.\nWith $search=AllowedChildren the API will return the entity info of all entities that can be added as children of the requested entity.\nWith $search=ParentAndFirstLevelChildren the API will return the parent and first level of children that the user has either direct access to or indirect access via one of their descendants.\nWith $search=ParentOnly the API will return only the group if the user has access to at least one of the descendants of the group.\nWith $search=ChildrenOnly the API will return only the first level of children of the group entity info specified in $filter. The user must have direct access to the children entities or one of it's descendants for it to show up in the results." + }, + "GroupNameParameter": { + "name": "groupName", + "in": "query", + "required": false, + "description": "A filter which allows the get entities call to focus on a particular group (i.e. \"$filter=name eq 'groupName'\")", + "type": "string", + "x-ms-parameter-location": "method" + }, + "CreateOrUpdateManagementGroupSettingsRequestParameter": { + "name": "CreateTenantSettingsRequest", + "in": "body", + "required": true, + "description": "Tenant level settings request parameter.", + "schema": { + "$ref": "#/definitions/CreateOrUpdateSettingsRequest" + }, + "x-ms-parameter-location": "client" + }, + "OperationResultIdParameter": { + "name": "operationResultId", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "create", + "delete" + ], + "description": "The id of the operation result.", + "x-ms-parameter-location": "client" + }, + "CheckNameAvailabilityParameter": { + "name": "checkNameAvailabilityRequest", + "in": "body", + "required": true, + "description": "Management group name availability check parameters.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + }, + "x-ms-parameter-location": "client" + }, + "SkipParameter": { + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "description": "Number of entities to skip over when retrieving results. Passing this in will override $skipToken.", + "x-ms-parameter-location": "client" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "Number of elements to return when retrieving results. Passing this in will override $skipToken.", + "x-ms-parameter-location": "client" + }, + "SkipTokenParameter": { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Page continuation token is only used if a previous operation returned a partial result. \nIf a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.\n", + "x-ms-parameter-location": "client" + }, + "CacheControlHeader": { + "name": "Cache-Control", + "in": "header", + "default": "no-cache", + "description": "Indicates that the request shouldn't utilize any caches.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityViewParameter": { + "name": "$view", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "FullHierarchy", + "GroupsOnly", + "SubscriptionsOnly", + "Audit" + ], + "x-ms-parameter-location": "method", + "description": "The view parameter allows clients to filter the type of data that is returned by the getEntities call." + } + } +} diff --git a/specification/managementgroups/resource-manager/readme.az.md b/specification/managementgroups/resource-manager/readme.az.md new file mode 100644 index 000000000000..3b55cd97e24c --- /dev/null +++ b/specification/managementgroups/resource-manager/readme.az.md @@ -0,0 +1,15 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) +az: + extensions: managementgroup + namespace: azure.mgmt.managementgroup + package-name: azure-mgmt-managementgroup + client-subscription-bound: false + client-base-url-bound: true +az-output-folder: $(azure-cli-extension-folder)/src/managementgroup +python-sdk-output-folder: "$(az-output-folder)/azext_managementgroup/vendored_sdks/managementgroup" + +``` diff --git a/specification/managementgroups/resource-manager/readme.azureresourceschema.md b/specification/managementgroups/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..5361de218b69 --- /dev/null +++ b/specification/managementgroups/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,96 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-management-2020-05-01 + - tag: schema-management-2020-02-01 + - tag: schema-management-2019-11-01 + - tag: schema-management-2018-03-01-preview + - tag: schema-management-2018-01-01-preview + - tag: schema-management-2017-11-01-preview + - tag: schema-management-2017-08-31-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-management-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-management-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/stable/2020-05-01/management.json + +``` + +### Tag: schema-management-2020-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-management-2020-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/stable/2020-02-01/management.json + +``` + +### Tag: schema-management-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-management-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/stable/2019-11-01/management.json + +``` + +### Tag: schema-management-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-management-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/preview/2018-03-01-preview/management.json + +``` + +### Tag: schema-management-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-management-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/preview/2018-01-01-preview/management.json + +``` + +### Tag: schema-management-2017-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-management-2017-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/preview/2017-11-01-preview/management.json + +``` + +### Tag: schema-management-2017-08-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-management-2017-08-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Management/preview/2017-08-31-preview/management.json + +``` diff --git a/specification/managementgroups/resource-manager/readme.cli.md b/specification/managementgroups/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c41d5e8d8f67 --- /dev/null +++ b/specification/managementgroups/resource-manager/readme.cli.md @@ -0,0 +1,5 @@ + CLI + +These settings apply only when `--cli` is specified on the command line. + + diff --git a/specification/managementgroups/resource-manager/readme.go.md b/specification/managementgroups/resource-manager/readme.go.md index 11598a3f2966..43c0be9f163f 100644 --- a/specification/managementgroups/resource-manager/readme.go.md +++ b/specification/managementgroups/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-05 - tag: package-2020-02 - tag: package-2019-11 - tag: package-2018-03 @@ -20,13 +21,22 @@ batch: - tag: package-2017-11 - tag: package-2017-08 ``` +### Tag: package-2020-05 and go + +These settings apply only when `--tag=package-2020-05 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-05' && $(go) +output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-05-01/$(namespace) +``` + ### Tag: package-2020-02 and go These settings apply only when `--tag=package-2020-02 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2020-02' && $(go) -output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2020-02-01/$(namespace) +output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-02-01/$(namespace) ``` ### Tag: package-2019-11 and go @@ -35,7 +45,7 @@ These settings apply only when `--tag=package-2019-11 --go` is specified on the Please also specify `--go-sdk-folder=`. ``` yaml $(tag)=='package-2019-11' && $(go) -output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2019-11-01/$(namespace) +output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-11-01/$(namespace) ``` ### Tag: package-2018-03 and go diff --git a/specification/managementgroups/resource-manager/readme.md b/specification/managementgroups/resource-manager/readme.md index a4124506a58a..13eda9a91e65 100644 --- a/specification/managementgroups/resource-manager/readme.md +++ b/specification/managementgroups/resource-manager/readme.md @@ -24,7 +24,15 @@ These are the global settings for the API. ``` yaml openapi-type: arm -tag: package-2020-02 +tag: package-2020-05 +``` + +### Tag: package-2020-05 +These settings apply only when `--tag=package-2020-05` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05' +input-file: + - Microsoft.Management/stable/2020-05-01/management.json ``` ### Tag: package-2020-02 @@ -92,6 +100,10 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js managementgroups/resource-manager ``` ## C# @@ -163,6 +175,7 @@ batch: - tag: package-2018-03 - tag: package-2019-11 - tag: package-2020-02 + - tag: package-2020-05 ``` ### Tag: package-2017-08 and java @@ -216,6 +229,7 @@ java: regenerate-manager: true generate-interface: true ``` + ### Tag: package-2019-11 and java These settings apply only when `--tag=package-2019-11 --java` is specified on the command line. @@ -228,6 +242,7 @@ java: regenerate-manager: true generate-interface: true ``` + ### Tag: package-2020-02 and java These settings apply only when `--tag=package-2020-02 --java` is specified on the command line. @@ -241,7 +256,23 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-05 and java + +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) +java: + namespace: com.microsoft.azure.management.managementgroups.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/managementgroups/mgmt-v2020_05_01 +regenerate-manager: true +generate-interface: true +``` + + +## AzureResourceSchema +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## Multi-API/Profile support for AutoRest v3 generators @@ -255,6 +286,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Management/stable/2020-05-01/management.json - $(this-folder)/Microsoft.Management/stable/2020-02-01/management.json - $(this-folder)/Microsoft.Management/stable/2019-11-01/management.json - $(this-folder)/Microsoft.Management/preview/2018-03-01-preview/management.json diff --git a/specification/managementgroups/resource-manager/readme.python.md b/specification/managementgroups/resource-manager/readme.python.md new file mode 100644 index 000000000000..e7723a3f525c --- /dev/null +++ b/specification/managementgroups/resource-manager/readme.python.md @@ -0,0 +1,25 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + namespace: azure.mgmt.managementgroup + package-name: azure-mgmt-managementgroup + package-version: 2019-05-01 + clear-output-folder: true +``` + +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/managementgroup/azure-mgmt-managementgroup/azure/mgmt/managementgroup +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/managementgroup/azure-mgmt-managementgroup +``` \ No newline at end of file diff --git a/specification/managementpartner/resource-manager/readme.azureresourceschema.md b/specification/managementpartner/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..57b48d05aee9 --- /dev/null +++ b/specification/managementpartner/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-managementpartner-2018-02-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-managementpartner-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-managementpartner-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json + +``` diff --git a/specification/managementpartner/resource-manager/readme.md b/specification/managementpartner/resource-manager/readme.md index 85c0c7e92354..ae1a91879032 100644 --- a/specification/managementpartner/resource-manager/readme.md +++ b/specification/managementpartner/resource-manager/readme.md @@ -76,6 +76,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js managementpartner/resource-manager ``` ## C# @@ -96,6 +99,10 @@ csharp: See configuration in [readme.go.md](./readme.go.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/CreateMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/CreateMapsCreator.json new file mode 100644 index 000000000000..ff1a37c2d61f --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/CreateMapsCreator.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "creatorName": "myCreator", + "CreatorCreateParameters": { + "location": "unitedstates", + "tags": { + "test": "true" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "unitedstates", + "tags": { + "test": "true" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "unitedstates", + "tags": { + "test": "true" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/DeleteMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/DeleteMapsCreator.json new file mode 100644 index 000000000000..198d65015791 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/DeleteMapsCreator.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "creatorName": "myCreator" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/GetMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/GetMapsCreator.json new file mode 100644 index 000000000000..bb86af059939 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/GetMapsCreator.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "creatorName": "myCreator" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "unitedstates", + "tags": { + "test": "true" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/GetOperations.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/GetOperations.json index 5b1c4177aa9f..e5b56304895f 100644 --- a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/GetOperations.json +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/GetOperations.json @@ -86,6 +86,33 @@ "operation": "Delete a Private Atlas.", "description": "Delete a Private Atlas." } + }, + { + "name": "Microsoft.Maps/accounts/creators/write", + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Create or update a Maps Creator.", + "description": "Create or update a Maps Creator." + } + }, + { + "name": "Microsoft.Maps/accounts/creators/read", + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Get a Maps Creator.", + "description": "Get a Maps Creator." + } + }, + { + "name": "Microsoft.Maps/accounts/creators/delete", + "display": { + "provider": "Microsoft Maps", + "resource": "Creator", + "operation": "Delete a Maps Creator.", + "description": "Delete a Maps Creator." + } } ] } diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/ListMapsCreatorsByAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/ListMapsCreatorsByAccount.json new file mode 100644 index 000000000000..9ddb5b09ce51 --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/ListMapsCreatorsByAccount.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "unitedstates", + "tags": { + "test": "true" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/UpdateMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/UpdateMapsCreator.json new file mode 100644 index 000000000000..5cfcc21f672a --- /dev/null +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/examples/UpdateMapsCreator.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-02-01-preview", + "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0", + "resourceGroupName": "myResourceGroup", + "accountName": "myMapsAccount", + "creatorName": "myCreator", + "CreatorUpdateParameters": { + "tags": { + "specialTag": "true" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator", + "name": "myCreator", + "type": "Microsoft.Maps/accounts/creators", + "location": "unitedstates", + "tags": { + "specialTag": "true" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/maps-management.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/maps-management.json index 97ee2bdf9b10..40e936ec0923 100644 --- a/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/maps-management.json +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2020-02-01-preview/maps-management.json @@ -51,13 +51,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -88,7 +88,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -106,13 +106,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -137,7 +137,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -155,13 +155,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -177,7 +177,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -195,13 +195,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -217,7 +217,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -241,13 +241,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -260,7 +260,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -284,10 +284,10 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -300,7 +300,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -320,13 +320,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -342,7 +342,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -362,13 +362,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -393,7 +393,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -417,7 +417,7 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -430,7 +430,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -450,13 +450,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -490,7 +490,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -508,13 +508,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -542,7 +542,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -560,13 +560,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -585,7 +585,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -603,13 +603,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -628,7 +628,7 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -652,13 +652,13 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" @@ -674,7 +674,251 @@ "default": { "description": "An unexpected error occurred.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators": { + "get": { + "tags": [ + "Creators" + ], + "description": "Get all Creator instances for an Azure Maps Account", + "operationId": "Creators_ListByAccount", + "x-ms-examples": { + "ListPrivateAtlasByAccount": { + "$ref": "./examples/ListMapsCreatorsByAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null, + "itemName": "value" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/CreatorList" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators/{creatorName}": { + "put": { + "tags": [ + "Creators" + ], + "description": "Create or update a Maps Creator resource. Creator resource will manage Azure resources required to populate a custom set of mapping data. It requires an account to exist before it can be created.", + "operationId": "Creators_CreateOrUpdate", + "x-ms-examples": { + "CreatePrivateAtlas": { + "$ref": "./examples/CreateMapsCreator.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CreatorNameParameter" + }, + { + "name": "CreatorCreateParameters", + "in": "body", + "description": "The new or updated parameters for the Creator resource.", + "required": true, + "schema": { + "$ref": "#/definitions/CreatorCreateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Creator was successfully updated.", + "schema": { + "$ref": "#/definitions/Creator" + } + }, + "201": { + "description": "The Creator was successfully created.", + "schema": { + "$ref": "#/definitions/Creator" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Creators" + ], + "description": "Updates the Maps Creator resource. Only a subset of the parameters may be updated after creation, such as Tags.", + "operationId": "Creators_Update", + "x-ms-examples": { + "UpdateAccount": { + "$ref": "./examples/UpdateMapsCreator.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CreatorNameParameter" + }, + { + "name": "CreatorUpdateParameters", + "in": "body", + "description": "The update parameters for Maps Creator.", + "required": true, + "schema": { + "$ref": "#/definitions/CreatorUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Maps Creator was successfully updated.", + "schema": { + "$ref": "#/definitions/Creator" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Creators" + ], + "description": "Delete a Maps Creator resource.", + "operationId": "Creators_Delete", + "x-ms-examples": { + "DeletePrivateAtlas": { + "$ref": "./examples/DeleteMapsCreator.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CreatorNameParameter" + } + ], + "responses": { + "200": { + "description": "The Maps Creator was deleted successfully." + }, + "204": { + "description": "The specified Maps Creator resource was not found. Nothing was deleted." + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Creators" + ], + "description": "Get a Maps Creator resource.", + "operationId": "Creators_Get", + "x-ms-examples": { + "GetPrivateAtlas": { + "$ref": "./examples/GetMapsCreator.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CreatorNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful.", + "schema": { + "$ref": "#/definitions/Creator" + } + }, + "default": { + "description": "An unexpected error occurred.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -697,6 +941,14 @@ "required": true, "type": "string", "x-ms-parameter-location": "method" + }, + "CreatorNameParameter": { + "name": "creatorName", + "in": "path", + "description": "The name of the Maps Creator instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" } }, "definitions": { @@ -711,7 +963,22 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "Creator": { + "description": "An Azure resource which represents Maps Creator product and provides ability to manage private location data.", + "type": "object", + "properties": { + "properties": { + "description": "The Creator resource properties.", + "$ref": "#/definitions/CreatorProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ] }, @@ -727,7 +994,7 @@ "systemData": { "readOnly": true, "description": "The system meta data relating to this resource.", - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" }, "properties": { "readOnly": true, @@ -737,7 +1004,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ] }, @@ -786,6 +1053,26 @@ "location" ] }, + "CreatorCreateParameters": { + "description": "Parameters used to create a new Maps Creator resource.", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters." + } + }, + "required": [ + "location" + ] + }, "MapsAccountUpdateParameters": { "description": "Parameters used to update an existing Maps Account.", "type": "object", @@ -816,6 +1103,19 @@ } } }, + "CreatorUpdateParameters": { + "description": "Parameters used to update an existing Creator resource.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters." + } + } + }, "MapsAccounts": { "description": "A list of Maps Accounts.", "type": "object", @@ -844,6 +1144,20 @@ } } }, + "CreatorList": { + "description": "A list of Creator resources.", + "type": "object", + "properties": { + "value": { + "description": "a Creator account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Creator" + } + } + } + }, "Sku": { "description": "The SKU of the Maps Account.", "properties": { @@ -972,6 +1286,15 @@ "type": "string" } } + }, + "CreatorProperties": { + "description": "Creator resource properties", + "properties": { + "provisioningState": { + "description": "The state of the resource provisioning, terminal states: Succeeded, Failed, Canceled", + "type": "string" + } + } } } } diff --git a/specification/maps/resource-manager/readme.azureresourceschema.md b/specification/maps/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a11c8976cf6d --- /dev/null +++ b/specification/maps/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-maps-2020-02-01-preview + - tag: schema-maps-2018-05-01 + - tag: schema-maps-2017-01-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-maps-2020-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-maps-2020-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maps/preview/2020-02-01-preview/maps-management.json + +``` + +### Tag: schema-maps-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-maps-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maps/stable/2018-05-01/maps-management.json + +``` + +### Tag: schema-maps-2017-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-maps-2017-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Maps/stable/2017-01-01-preview/maps-management.json + +``` diff --git a/specification/maps/resource-manager/readme.md b/specification/maps/resource-manager/readme.md index 6b8851d1d228..ea8338cf46f7 100644 --- a/specification/maps/resource-manager/readme.md +++ b/specification/maps/resource-manager/readme.md @@ -33,7 +33,7 @@ tag: package-preview-2020-02 These settings apply only when `--tag=package-preview-2020-02` is specified on the command line. -```yaml $(tag) == 'package-preview-2020-02' +``` yaml $(tag) == 'package-preview-2020-02' input-file: - Microsoft.Maps/preview/2020-02-01-preview/maps-management.json ``` @@ -72,6 +72,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js maps/resource-manager ``` ## C# @@ -162,51 +165,71 @@ generate-interface: true ``` yaml directive: - - suppress: R2017 # PutRequestResponseScheme + - suppress: R2017 where: - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/privateAtlases/{privateAtlasName}"].put - - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}"].put + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/privateAtlases/{privateAtlasName}"].put' + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}"].put' from: maps-management.json reason: - Common type models are inherited. - ClientId property will be ignored by requests - - suppress: R2001 # AvoidNestedProperties + - suppress: R2001 where: - $.definitions.PrivateAtlas.properties.properties - $.definitions.MapsAccount.properties.properties from: maps-management.json reason: - Flattening does not work well with polymorphic models. - - PrivateAtlas.properties is an arbitrary dictionary and cannot be flattened. - - MapsAccount.properties is an arbitrary dictionary and cannot be flattened. - - suppress: R3006 # BodyTopLevelProperties + - PrivateAtlas.properties is an arbitrary dictionary and cannot be flattened. + - MapsAccount.properties is an arbitrary dictionary and cannot be flattened. + - suppress: R3006 where: - $.definitions.MapsAccount.properties reason: - Currently systemData is not allowed. - - suppress: R3010 # TrackedResourceListByImmediateParent + - suppress: R3010 where: - $.definitions reason: - Pipeline runs are not listable. The operation PrivateAtlases_ListByAccount serves this purpose. - - suppress: R3027 # TrackedResourceListByResourceGroup + - suppress: R3027 where: - $.definitions.PrivateAtlas reason: - This is a nested tracked resource. - - suppress: R3028 # TrackedResourceListBySubscription + - suppress: R3028 where: - $.definitions.PrivateAtlas reason: - This is a nested tracked resource. - - suppress: R4000 # DescriptionAndTitleMissing + - suppress: R4000 where: - $.definitions.Resource from: types.json reason: - Common type models are inherited. + - suppress: AvoidNestedProperties + where: $.definitions.Creator.properties.properties + from: maps-management.json + reason: False positive. + - suppress: TrackedResourceListByResourceGroup + where: $.definitions.Creator + from: maps-management.json + reason: Don't need to list by resourceGroup because this is a nested resource. + - suppress: TrackedResourceListBySubscription + where: $.definitions.Creator + from: maps-management.json + reason: Doesn't apply because this is a nested resource. + - suppress: PutRequestResponseScheme + where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators/{creatorName}"].put' + from: maps-management.json + reason: False positive. Structure is the same with addition of provisioningStatus property. ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json index bedcb77ea9d4..ab42b506a658 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1108,7 +1108,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1147,7 +1147,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1267,7 +1267,7 @@ } } }, - "/providers/Microsoft.DBforMariaDB/operations": { + "/providers/Microsoft.DBForMariaDB/operations": { "get": { "tags": [ "Operations" @@ -1320,55 +1320,6 @@ "modelAsString": false } }, - "ProxyResource": { - "description": "Resource properties.", - "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." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1617,6 +1568,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -1666,7 +1620,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -1784,7 +1738,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -1842,7 +1796,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1895,7 +1849,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -1955,7 +1909,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2093,7 +2047,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -2267,7 +2221,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json index bbebc6ce6786..5677f4ba6c98 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json @@ -346,44 +346,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "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 - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateEndpointConnection": { "description": "A private endpoint connection", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json index 9e40fcfd7a25..15ba0297e005 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json @@ -168,44 +168,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "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 - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateLinkResource": { "description": "A private link resource", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json index 786f1c580abb..ab4d06779f92 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1108,7 +1108,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1147,7 +1147,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1267,7 +1267,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/queryTexts/{queryId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/queryTexts/{queryId}": { "get": { "tags": [ "QueryTexts" @@ -1306,7 +1306,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/queryTexts": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/queryTexts": { "get": { "tags": [ "QueryTexts" @@ -1356,7 +1356,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/topQueryStatistics/{queryStatisticId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/topQueryStatistics/{queryStatisticId}": { "get": { "tags": [ "TopQueryStatistics" @@ -1395,7 +1395,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/topQueryStatistics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/topQueryStatistics": { "get": { "tags": [ "TopQueryStatistics" @@ -1443,7 +1443,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/waitStatistics/{waitStatisticsId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/waitStatistics/{waitStatisticsId}": { "get": { "tags": [ "WaitStatistics" @@ -1482,7 +1482,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/waitStatistics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/waitStatistics": { "get": { "tags": [ "WaitStatistics" @@ -1530,7 +1530,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors/{advisorName}": { "get": { "tags": [ "Advisors" @@ -1569,7 +1569,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors": { "get": { "tags": [ "Advisors" @@ -1608,7 +1608,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession": { "post": { "tags": [ "RecommendedActionSessions" @@ -1655,7 +1655,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { "get": { "tags": [ "RecommendedActions" @@ -1697,7 +1697,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/advisors/{advisorName}/recommendedActions": { "get": { "tags": [ "RecommendedActions" @@ -1746,7 +1746,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}": { "get": { "tags": [ "LocationBasedRecommendedActionSessionsOperationStatus" @@ -1782,7 +1782,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}": { "get": { "tags": [ "LocationBasedRecommendedActionSessionsResult" @@ -1827,7 +1827,7 @@ } } }, - "/providers/Microsoft.DBforMariaDB/operations": { + "/providers/Microsoft.DBForMariaDB/operations": { "get": { "tags": [ "Operations" @@ -1880,55 +1880,6 @@ "modelAsString": false } }, - "ProxyResource": { - "description": "Resource properties.", - "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." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -2177,6 +2128,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2226,7 +2180,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2344,7 +2298,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -2402,7 +2356,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2455,7 +2409,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -2515,7 +2469,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2653,7 +2607,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -2827,7 +2781,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2895,7 +2849,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Query Text." @@ -3034,7 +2988,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Query Statistic." @@ -3152,7 +3106,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Wait Statistic." @@ -3190,7 +3144,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a recommendation action advisor." @@ -3267,7 +3221,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Recommendation Action." diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json index 1d83304cfc21..59bda202b839 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json @@ -223,27 +223,6 @@ } }, "definitions": { - "ProxyResource": { - "description": "Resource properties.", - "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." - } - }, - "x-ms-azure-resource": true - }, "ServerKeyListResult": { "description": "A list of MariaDB Server keys.", "type": "object", @@ -298,7 +277,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json new file mode 100644 index 000000000000..3d1caf70844a --- /dev/null +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json @@ -0,0 +1,242 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-06-01", + "title": "MariaDBManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MariaDB resources including servers, databases, firewall rules, VNET rules, security alert policies, log files, encryption keys, active directory administrator and configurations." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Get a server's security alert policy.", + "operationId": "ServerSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "Error response describing why the operation of getting security alert policies failed." + } + }, + "x-ms-examples": { + "Get a server's threat detection policy": { + "$ref": "./examples/ServerSecurityAlertsGet.json" + } + } + }, + "put": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Creates or updates a threat detection policy.", + "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the threat detection policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The server security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "Error response describing why the operation of setting security alert policies failed." + }, + "202": { + "description": "Created request to set the server threat detection policy." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server's threat detection policy with all parameters": { + "$ref": "./examples/ServerSecurityAlertsCreateMax.json" + }, + "Update a server's threat detection policy with minimal parameters": { + "$ref": "./examples/ServerSecurityAlertsCreateMin.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerSecurityAlertPolicyState", + "modelAsString": false + } + }, + "disabledAlerts": { + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly", + "type": "array", + "items": { + "type": "string" + } + }, + "emailAddresses": { + "description": "Specifies an array of e-mail addresses to which the alert is sent.", + "type": "array", + "items": { + "type": "string" + } + }, + "emailAccountAdmins": { + "description": "Specifies that the alert is sent to the account administrators.", + "type": "boolean" + }, + "storageEndpoint": { + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.", + "type": "string" + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the Threat Detection audit storage account.", + "type": "string" + }, + "retentionDays": { + "format": "int32", + "description": "Specifies the number of days to keep in the Threat Detection audit logs.", + "type": "integer" + } + } + }, + "ServerSecurityAlertPolicy": { + "description": "A server security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "x-ms-parameter-location": "method" + }, + "SecurityAlertPolicyNameParameter": { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json index 505dddb7cf92..efb2c9abf984 100644 --- a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -93,6 +93,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -140,6 +146,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -178,6 +190,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -213,11 +231,17 @@ "schema": { "$ref": "#/definitions/Server" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -246,6 +270,12 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -253,7 +283,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/servers": { "get": { "tags": [ "Servers" @@ -279,6 +309,12 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -286,7 +322,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +365,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -361,6 +397,12 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -368,7 +410,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -421,6 +463,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -462,6 +510,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -500,11 +554,17 @@ "schema": { "$ref": "#/definitions/FirewallRule" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -536,6 +596,12 @@ "schema": { "$ref": "#/definitions/FirewallRuleListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -543,7 +609,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +754,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +796,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -783,6 +849,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -824,6 +896,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -862,11 +940,17 @@ "schema": { "$ref": "#/definitions/Database" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -898,6 +982,12 @@ "schema": { "$ref": "#/definitions/DatabaseListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -905,7 +995,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -952,6 +1042,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -990,11 +1086,17 @@ "schema": { "$ref": "#/definitions/Configuration" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1026,6 +1128,12 @@ "schema": { "$ref": "#/definitions/ConfigurationListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -1033,7 +1141,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1065,6 +1173,12 @@ "schema": { "$ref": "#/definitions/LogFileListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -1072,7 +1186,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1101,6 +1215,12 @@ "schema": { "$ref": "#/definitions/PerformanceTierListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -1108,7 +1228,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1143,131 +1263,17 @@ "schema": { "$ref": "#/definitions/NameAvailability" } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get a server's security alert policy.", - "operationId": "ServerSecurityAlertPolicies_Get", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the security alert policy.", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "SecurityAlertPolicyName", - "modelAsString": true - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the server threat detection policy.", - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } }, "default": { - "description": "Error response describing why the operation of getting security alert policies failed." - } - }, - "x-ms-examples": { - "Get a server's threat detection policy": { - "$ref": "./examples/ServerSecurityAlertsGet.json" - } - } - }, - "put": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Creates or updates a threat detection policy.", - "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the threat detection policy.", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "SecurityAlertPolicyName", - "modelAsString": true - } - }, - { - "name": "parameters", - "in": "body", - "description": "The server security alert policy.", - "required": true, - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the threat detection policy.", + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" + "$ref": "#/definitions/CloudError" } - }, - "default": { - "description": "Error response describing why the operation of setting security alert policies failed." - }, - "202": { - "description": "Created request to set the server threat detection policy." - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Update a server's threat detection policy with all parameters": { - "$ref": "./examples/ServerSecurityAlertsCreateMax.json" - }, - "Update a server's threat detection policy with minimal parameters": { - "$ref": "./examples/ServerSecurityAlertsCreateMin.json" } } } }, - "/providers/Microsoft.DBforMariaDB/operations": { + "/providers/Microsoft.DBForMariaDB/operations": { "get": { "tags": [ "Operations" @@ -1290,6 +1296,12 @@ "schema": { "$ref": "#/definitions/OperationListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } @@ -1427,34 +1439,6 @@ } } }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1528,6 +1512,7 @@ "properties": { "backupRetentionDays": { "type": "integer", + "format": "int32", "description": "Backup retention days for the server." }, "geoRedundantBackup": { @@ -1719,6 +1704,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "Server": { @@ -1735,7 +1723,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2195,6 +2183,7 @@ }, "vCore": { "type": "integer", + "format": "int32", "description": "vCore associated with the service level objective" }, "hardwareGeneration": { @@ -2203,10 +2192,12 @@ }, "maxBackupRetentionDays": { "type": "integer", + "format": "int32", "description": "Maximum Backup retention in days for the performance tier edition" }, "minBackupRetentionDays": { "type": "integer", + "format": "int32", "description": "Minimum Backup retention in days for the performance tier edition" }, "maxStorageMB": { @@ -2283,74 +2274,6 @@ }, "description": "Represents a resource name availability." }, - "SecurityAlertPolicyProperties": { - "description": "Properties of a security alert policy.", - "required": [ - "state" - ], - "type": "object", - "properties": { - "state": { - "description": "Specifies the state of the policy, whether it is enabled or disabled.", - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "ServerSecurityAlertPolicyState", - "modelAsString": false - } - }, - "disabledAlerts": { - "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly", - "type": "array", - "items": { - "type": "string" - } - }, - "emailAddresses": { - "description": "Specifies an array of e-mail addresses to which the alert is sent.", - "type": "array", - "items": { - "type": "string" - } - }, - "emailAccountAdmins": { - "description": "Specifies that the alert is sent to the account administrators.", - "type": "boolean" - }, - "storageEndpoint": { - "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.", - "type": "string" - }, - "storageAccountAccessKey": { - "description": "Specifies the identifier key of the Threat Detection audit storage account.", - "type": "string" - }, - "retentionDays": { - "format": "int32", - "description": "Specifies the number of days to keep in the Threat Detection audit logs.", - "type": "integer" - } - } - }, - "ServerSecurityAlertPolicy": { - "description": "A server security alert policy.", - "type": "object", - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SecurityAlertPolicyProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - } - } - }, "CloudError": { "x-ms-external": true, "properties": { @@ -2409,17 +2332,6 @@ "type": "string", "description": "The name of the location.", "x-ms-parameter-location": "method" - }, - "SecurityAlertPolicyNameParameter": { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the security alert policy.", - "required": true, - "type": "string", - "enum": [ - "default" - ], - "x-ms-parameter-location": "method" } } } diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/Servers.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/Servers.json new file mode 100644 index 000000000000..d5fce31c1973 --- /dev/null +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/Servers.json @@ -0,0 +1,139 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-01-01", + "title": "MariaDBManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MariaDB resources including servers, databases, firewall rules, VNET rules, security alert policies, log files, encryption keys, active directory administrator and configurations." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/start": { + "post": { + "tags": [ + "ServerStart" + ], + "operationId": "Servers_Start", + "x-ms-examples": { + "ServerStart": { + "$ref": "./examples/ServerStart.json" + } + }, + "description": "Starts a stopped server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/stop": { + "post": { + "tags": [ + "ServerStop" + ], + "operationId": "Servers_Stop", + "x-ms-examples": { + "ServerStop": { + "$ref": "./examples/ServerStop.json" + } + }, + "description": "Stops a running server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "Error message" + } + }, + "description": "An error response from the Batch service." + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "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/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerStart.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerStart.json new file mode 100644 index 000000000000..0f0e59819577 --- /dev/null +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-01-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerStop.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerStop.json new file mode 100644 index 000000000000..0f0e59819577 --- /dev/null +++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2020-01-01/examples/ServerStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-01-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mariadb/resource-manager/readme.azureresourceschema.md b/specification/mariadb/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..24eaf7c99a9d --- /dev/null +++ b/specification/mariadb/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,53 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-dbformariadb-2020-01-01 + - tag: schema-dbformariadb-2018-06-01-preview + - tag: schema-dbformariadb-2018-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-dbformariadb-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformariadb-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMariaDB/stable/2020-01-01/Servers.json + +``` + +### Tag: schema-dbformariadb-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-dbformariadb-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMariaDB/preview/2018-06-01-preview/mariadb.json + +``` + +### Tag: schema-dbformariadb-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformariadb-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json + - Microsoft.DBforMariaDB/stable/2018-06-01/PerformanceRecommendations.json + - Microsoft.DBforMariaDB/stable/2018-06-01/PrivateEndpointConnections.json + - Microsoft.DBforMariaDB/stable/2018-06-01/PrivateLinkResources.json + - Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json + +``` diff --git a/specification/mariadb/resource-manager/readme.cli.md b/specification/mariadb/resource-manager/readme.cli.md index 007ce15453a7..94f581d8c485 100644 --- a/specification/mariadb/resource-manager/readme.cli.md +++ b/specification/mariadb/resource-manager/readme.cli.md @@ -61,4 +61,6 @@ cli: - name: FirewallRuleDelete - name: DatabaseDelete - name: ServerDelete + - name: ServerStart + - name: ServerStop ``` \ No newline at end of file diff --git a/specification/mariadb/resource-manager/readme.java.md b/specification/mariadb/resource-manager/readme.java.md index 4b146a046ac4..ee279ca406ab 100644 --- a/specification/mariadb/resource-manager/readme.java.md +++ b/specification/mariadb/resource-manager/readme.java.md @@ -18,6 +18,7 @@ service-name: MariaDB ``` yaml $(java) && $(multiapi) batch: - tag: package-2018-06-01 + - tag: package-2020-01-01 ``` ### Tag: package-2018-06-01 and java @@ -32,3 +33,16 @@ java: regenerate-manager: true generate-interface: true ``` + +### Tag: package-2020-01-01 and java + +These settings apply only when `--tag=package-2020-01-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-01-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.mariadb.v2020_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/mariadb/mgmt-v2020_01_01 +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/mariadb/resource-manager/readme.md b/specification/mariadb/resource-manager/readme.md index 509479004dc0..61fc6d377c47 100644 --- a/specification/mariadb/resource-manager/readme.md +++ b/specification/mariadb/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the MariaDB API. title: MariaDBManagementClient description: The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MariaDB resources including servers, databases, firewall rules, VNET rules, log files and configurations with new business model. openapi-type: arm -tag: package-2018-06-01 +tag: package-2020-01-01 ``` ### Tag: package-2018-06-01-preview @@ -52,6 +52,7 @@ input-file: - Microsoft.DBforMariaDB/stable/2018-06-01/PerformanceRecommendations.json - Microsoft.DBforMariaDB/stable/2018-06-01/PrivateEndpointConnections.json - Microsoft.DBforMariaDB/stable/2018-06-01/PrivateLinkResources.json +- Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json ``` @@ -76,6 +77,29 @@ input-file: - Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json ``` + +### Tag: package-2020-01-01 + +These settings apply only when `--tag=package-2020-01-01` is specified on the command line. + +``` yaml $(tag) == 'package-2020-01-01' +input-file: +- Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json +- Microsoft.DBforMariaDB/stable/2018-06-01/QueryPerformanceInsights.json +- Microsoft.DBforMariaDB/stable/2018-06-01/PerformanceRecommendations.json +- Microsoft.DBforMariaDB/stable/2018-06-01/PrivateEndpointConnections.json +- Microsoft.DBforMariaDB/stable/2018-06-01/PrivateLinkResources.json +- Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json +- Microsoft.DBforMariaDB/stable/2020-01-01/Servers.json +``` + +## Suppression +``` yaml +directive: + - suppress: PathResourceProviderNamePascalCase + reason: The name of the provider is Microsoft.DBforMariaDB +``` + --- # Code Generation @@ -93,6 +117,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js mariadb/resource-manager ``` @@ -146,6 +173,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -164,10 +195,12 @@ input-file: - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/PerformanceRecommendations.json - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/PrivateEndpointConnections.json - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/PrivateLinkResources.json + - $(this-folder)/Microsoft.DBforMariaDB/stable/2018-06-01/ServerSecurityAlertPolicies.json - $(this-folder)/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/mariadb.json - $(this-folder)/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json - $(this-folder)/Microsoft.DBforMariaDB/preview/2018-06-01-privatepreview/PrivateLinkResources.json - $(this-folder)/Microsoft.DBforMariaDB/preview/2020-01-01-privatepreview/DataEncryptionKeys.json + - $(this-folder)/Microsoft.DBforMariaDB/stable/2020-01-01/Servers.json ``` diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json index 89944456c4f9..03956116190d 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/Marketplace.json @@ -52,6 +52,51 @@ } } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/offers": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStorePrivateOffers_List", + "description": "Get a list of all private offers in the given private store", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OfferListResponse" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetPrivateStoreOffers": { + "$ref": "./examples/GetPrivateStorePrivateOffers.json" + } + } + } + }, "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/offers/{offerId}": { "parameters": [ { @@ -158,10 +203,99 @@ } } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/offers/{offerId}": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/OfferIdPathParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStorePrivateOffer_Get", + "description": "Gets information about a specific private offer.", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Private offer information retrieved", + "schema": { + "$ref": "#/definitions/Offer" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetPrivateStoreOffer": { + "$ref": "./examples/GetPrivateStorePrivateOffer.json" + } + } + }, + "put": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStorePrivateOffer_CreateOrUpdate", + "description": "Update or add a private offer to the default collection of the private store.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/Offer" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Offer" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "UpdatePrivateStoreOffer": { + "$ref": "./examples/UpdatePrivateStorePrivateOffer.json" + } + } + } + }, "/providers/Microsoft.Marketplace/privateStores": { "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UseCacheParameter" } ], "get": { @@ -346,6 +480,22 @@ "x-ms-parameter-location": "method", "required": true, "description": "The offer ID to update or delete" + }, + "UseCacheParameter": { + "name": "use-cache", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Determines if to use cache or DB for serving this request" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "type": "string", + "x-ms-parameter-location": "method", + "required": true, + "description": "Subscription id of the private offers" } }, "definitions": { diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffer.json new file mode 100644 index 000000000000..fbe2f70fa1d0 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffer.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "bc17bb69-1264-4f90-a9f6-0e51e29d5281", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "offerId": "marketplacetestthirdparty.md-test-third-party-pr-2", + "api-version": "2020-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bc17bb69-1264-4f90-a9f6-0e51e29d5281/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/offers/marketplacetestthirdparty.md-test-third-party-pr-2", + "type": "Microsoft.Marketplace/privateStores/offers", + "name": "marketplacetestthirdparty.md-test-third-party-pr-2", + "properties": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-pr-2", + "offerDisplayName": "md-test-third-party-pr-2", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350000\"", + "specificPlanIdsLimitation": [ + "0001", + "0002", + "0003" + ], + "createdDate": "05/29/2015 5:50", + "createdBy": "test@microsoft.com" + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffers.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffers.json new file mode 100644 index 000000000000..a0121c34d04d --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/GetPrivateStorePrivateOffers.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "bc17bb69-1264-4f90-a9f6-0e51e29d5281", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2020-01-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "", + "value": [ + { + "id": "/subscriptions/bc17bb69-1264-4f90-a9f6-0e51e29d5281/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/offers/marketplacetestthirdparty.md-test-third-party-pr-2", + "type": "Microsoft.Marketplace/privateStores/offers", + "name": "marketplacetestthirdparty.md-test-third-party-pr-2", + "properties": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-pr-2", + "offerDisplayName": "md-test-third-party-pr-2", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350000\"", + "specificPlanIdsLimitation": [ + "0001", + "0002", + "0003" + ], + "createdDate": "05/29/2015 5:50", + "createdBy": "test@microsoft.com" + } + }, + { + "id": "/subscriptions/bc17bb69-1264-4f90-a9f6-0e51e29d5281/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/offers/marketplacetestthirdparty.md-test-third-party-pr-3", + "type": "Microsoft.Marketplace/privateStores/offers", + "name": "marketplacetestthirdparty.md-test-third-party-pr-3", + "properties": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-pr-3", + "offerDisplayName": "md-test-third-party-pr-3", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0304-5e248b350043\"", + "specificPlanIdsLimitation": [ + "0001", + "0002" + ], + "createdDate": "05/29/2015 5:50", + "createdBy": "test@microsoft.com" + } + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStorePrivateOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStorePrivateOffer.json new file mode 100644 index 000000000000..f5f8f884c2b6 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2020-01-01/examples/UpdatePrivateStorePrivateOffer.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "bc17bb69-1264-4f90-a9f6-0e51e29d5281", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "offerId": "marketplacetestthirdparty.md-test-third-party-pr-2", + "api-version": "2020-01-01", + "Offer": { + "parameters": { + "properties": { + "specificPlanIdsLimitation": [ + "0001", + "0002" + ], + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350666\"" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bc17bb69-1264-4f90-a9f6-0e51e29d5281/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/offers/marketplacetestthirdparty.md-test-third-party-pr-2", + "type": "Microsoft.Marketplace/privateStores/offers", + "name": "marketplacetestthirdparty.md-test-third-party-pr-2", + "properties": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-pr-2", + "offerDisplayName": "md-test-third-party-pr-2", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350666\"", + "specificPlanIdsLimitation": [ + "0001", + "0002" + ], + "createdDate": "05/29/2015 5:50", + "createdBy": "test@microsoft.com" + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/readme.azureresourceschema.md b/specification/marketplace/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6c051e0c1b66 --- /dev/null +++ b/specification/marketplace/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-marketplace-2020-01-01 + - tag: schema-marketplace-2019-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-marketplace-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-marketplace-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Marketplace/stable/2020-01-01/Marketplace.json + +``` + +### Tag: schema-marketplace-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-marketplace-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Marketplace/stable/2019-12-01/Marketplace.json + +``` diff --git a/specification/marketplace/resource-manager/readme.md b/specification/marketplace/resource-manager/readme.md index 4796a969e8cf..b860e660ea71 100644 --- a/specification/marketplace/resource-manager/readme.md +++ b/specification/marketplace/resource-manager/readme.md @@ -60,6 +60,9 @@ swagger-to-sdk: - repo: azure-sdk-for-net after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_marketplace'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js marketplace/resource-manager ``` ## C# @@ -76,6 +79,10 @@ csharp: clear-output-folder: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/marketplaceordering/resource-manager/readme.azureresourceschema.md b/specification/marketplaceordering/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..03e5d9139526 --- /dev/null +++ b/specification/marketplaceordering/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-marketplaceordering-2015-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-marketplaceordering-2015-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-marketplaceordering-2015-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json + +``` diff --git a/specification/marketplaceordering/resource-manager/readme.md b/specification/marketplaceordering/resource-manager/readme.md index e9177ad54f45..862ab1178325 100644 --- a/specification/marketplaceordering/resource-manager/readme.md +++ b/specification/marketplaceordering/resource-manager/readme.md @@ -81,6 +81,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_marketplace_ordering'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js marketplaceordering/resource-manager ``` @@ -194,6 +197,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.json new file mode 100644 index 000000000000..25871e18d840 --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.json @@ -0,0 +1,1317 @@ +{ + "swagger": "2.0", + "info": { + "description": "Direct Methods for Live Video Analytics on IoT Edge.", + "version": "1.0", + "title": "Direct Methods for Live Video Analytics on IoT Edge", + "contact": { + "email": "amshelp@microsoft.com" + } + }, + "security": [ + { + "sharedAccessSignature": [] + } + ], + "paths": { + "/api/GraphTopology": { + "get": { + "summary": "Retrieves a list of graph topologies.", + "description": "Retrieves a list of graph topologies that have been added to the Live Video Analytics IoT Edge module.", + "operationId": "GraphTopologyList", + "produces": [ + "application/json" + ], + "parameters": [], + "responses": { + "200": { + "description": "Graph Topologies were successfully retrieved from the Live Video Analytics IoT Edge module.", + "schema": { + "$ref": "#/definitions/MediaGraphTopologyCollection" + } + } + }, + "x-ms-examples": { + "List all Graph Topologies": { + "$ref": "examples/GraphTopologyList.json" + } + } + }, + "put": { + "summary": "Creates or updates a graph topology.", + "description": "Creates a new topology or updates an existing one, with the given name. A topology is a blueprint defining what nodes are in a graph, and how they are interconnected.", + "operationId": "GraphTopologySet", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "topology", + "required": true, + "schema": { + "$ref": "#/definitions/MediaGraphTopology" + } + } + ], + "responses": { + "200": { + "description": "Existing graph topology updated.", + "schema": { + "$ref": "#/definitions/MediaGraphTopology" + } + }, + "201": { + "description": "New graph topology created.", + "schema": { + "$ref": "#/definitions/MediaGraphTopology" + } + } + }, + "x-ms-examples": { + "Create or Update a Graph Topology": { + "$ref": "examples/GraphTopologySet.json" + } + } + } + }, + "/api/GraphTopology/{name}": { + "get": { + "summary": "Gets a graph topology by name.", + "description": "Retrieves a graph topology by name. If a topology with that name has been previously set, then the call will return the JSON representation of that topology.", + "operationId": "GraphTopologyGet", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the graph topology to be retrieved.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Graph topology retrieved successfully.", + "schema": { + "$ref": "#/definitions/MediaGraphTopology" + } + }, + "404": { + "description": "Graph topology was not found." + } + }, + "x-ms-examples": { + "Get a Graph Topology": { + "$ref": "examples/GraphTopologyGet.json" + } + } + }, + "delete": { + "summary": "Deletes a graph topology.", + "description": "Deletes a graph topology with the given name. This method should be called after all instances of the topology have been stopped and deleted.", + "operationId": "GraphTopologyDelete", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the graph topology to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Graph topology deleted successfully." + }, + "204": { + "description": "Graph topology not found." + } + }, + "x-ms-examples": { + "Delete a Graph Topology": { + "$ref": "examples/GraphTopologyDelete.json" + } + } + } + }, + "/api/GraphInstance": { + "get": { + "summary": "Retrieves a list of graph instances.", + "description": "Retrieves a list of graph instances, if any, that have been created in the Live Video Analytics IoT Edge module.", + "operationId": "GraphInstanceList", + "produces": [ + "application/json" + ], + "parameters": [], + "responses": { + "200": { + "description": "List of graph instances that were successfully retrieved.", + "schema": { + "$ref": "#/definitions/MediaGraphInstanceCollection" + } + } + }, + "x-ms-examples": { + "List all Graph Instances": { + "$ref": "examples/GraphInstanceList.json" + } + } + }, + "put": { + "summary": "Creates or updates a graph instance.", + "description": "Creates or updates a graph instance.", + "operationId": "GraphInstanceSet", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "instance", + "required": true, + "schema": { + "$ref": "#/definitions/MediaGraphInstance" + } + } + ], + "responses": { + "200": { + "description": "Graph instance updated.", + "schema": { + "$ref": "#/definitions/MediaGraphInstance" + } + }, + "201": { + "description": "New graph instance created.", + "schema": { + "$ref": "#/definitions/MediaGraphInstance" + } + } + }, + "x-ms-examples": { + "Create or Update a Graph Instance": { + "$ref": "examples/GraphInstanceSet.json" + } + } + } + }, + "/api/GraphInstance/{name}": { + "get": { + "summary": "Gets a graph instance by name.", + "description": "Retrieves a graph instance by name. If a graph instance with that name has been previously created, then the direct method call will return the JSON representation of that instance.", + "operationId": "GraphInstanceGet", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the graph instance to be retrieved.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Graph instance retrieved successfully.", + "schema": { + "$ref": "#/definitions/MediaGraphInstance" + } + }, + "404": { + "description": "Graph instance not found." + } + }, + "x-ms-examples": { + "Get a Graph Instance": { + "$ref": "examples/GraphInstanceGet.json" + } + } + }, + "delete": { + "summary": "Deletes a graph instance.", + "description": "Deletes a graph instance.", + "operationId": "GraphInstanceDelete", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the graph instance to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Graph instance deleted successfully." + }, + "204": { + "description": "Graph instance not found." + } + }, + "x-ms-examples": { + "Delete a Graph Instance": { + "$ref": "examples/GraphInstanceDelete.json" + } + } + } + }, + "/api/GraphInstance/{name}/activate": { + "post": { + "summary": "Activate a given graph instance.", + "description": "Activates a graph instance with the name provided, if it exists.", + "operationId": "GraphInstanceActivate", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the graph instance to be activated.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Graph instance activated successfully." + } + }, + "x-ms-examples": { + "Activate a Graph Instance": { + "$ref": "examples/GraphInstanceStateChange.json" + } + } + } + }, + "/api/GraphInstance/{name}/deactivate": { + "post": { + "summary": "Deactivate a graph instance.", + "description": "Deactivates a graph instance with the name provided, if it is active.", + "operationId": "GraphInstanceDeactivate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the graph instance to be deactivated.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Graph instance deactivated successfully." + } + }, + "x-ms-examples": { + "Deactivate a Graph Instance": { + "$ref": "examples/GraphInstanceStateChange.json" + } + } + } + } + }, + "securityDefinitions": { + "sharedAccessSignature": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "definitions": { + "MediaGraphInstance": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "@apiVersion": { + "type": "string" + }, + "systemData": { + "$ref": "#/definitions/MediaGraphSystemData" + }, + "properties": { + "$ref": "#/definitions/MediaGraphInstanceProperties" + } + }, + "description": "Represents a Media Graph instance." + }, + "MediaGraphInstanceProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "An optional description for the instance." + }, + "topologyName": { + "type": "string", + "description": "The name of the graph topology that this instance will run. A topology with this name should already have been set in the Edge module." + }, + "parameters": { + "type": "array", + "description": "List of one or more graph instance parameters.", + "items": { + "$ref": "#/definitions/MediaGraphParameterDefinition" + } + }, + "state": { + "type": "string", + "description": "Allowed states for a graph Instance.", + "enum": [ + "Inactive", + "Activating", + "Active", + "Deactivating" + ], + "x-ms-enum": { + "name": "MediaGraphInstanceState", + "values": [ + { + "value": "Inactive", + "description": "Inactive state." + }, + { + "value": "Activating", + "description": "Activating state." + }, + { + "value": "Active", + "description": "Active state." + }, + { + "value": "Deactivating", + "description": "Deactivating state." + } + ], + "modelAsString": false + } + } + }, + "description": "Properties of a Media Graph instance." + }, + "MediaGraphParameterDefinition": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of parameter as defined in the graph topology." + }, + "value": { + "type": "string", + "description": "Value of parameter." + } + }, + "description": "A key, value pair. The graph topology can be authored with certain values with parameters. Then, during graph instance creation, the value for that parameters can be specified. This allows the same graph topology to be used as a blueprint for multiple graph instances with different values for the parameters." + }, + "MediaGraphInstanceCollection": { + "properties": { + "value": { + "type": "array", + "description": "Collection of graph instances.", + "items": { + "$ref": "#/definitions/MediaGraphInstance" + } + }, + "@continuationToken": { + "type": "string", + "description": "Continuation token to use in subsequent calls to enumerate through the graph instance collection (when the collection contains too many results to return in one response)." + } + }, + "description": "Collection of graph instances." + }, + "MediaGraphTopologyCollection": { + "properties": { + "value": { + "type": "array", + "description": "Collection of graph topologies.", + "items": { + "$ref": "#/definitions/MediaGraphTopology" + } + }, + "@continuationToken": { + "type": "string", + "description": "Continuation token to use in subsequent calls to enumerate through the graph topologies collection (when the collection contains too many results to return in one response)." + } + }, + "description": "Collection of graph topologies." + }, + "MediaGraphTopology": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "@apiVersion": { + "type": "string" + }, + "systemData": { + "$ref": "#/definitions/MediaGraphSystemData" + }, + "properties": { + "$ref": "#/definitions/MediaGraphTopologyProperties" + } + }, + "description": "Describes a graph topology." + }, + "MediaGraphTopologyProperties": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaGraphParameterDeclaration" + } + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaGraphSource" + } + }, + "processors": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaGraphProcessor" + } + }, + "sinks": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaGraphSink" + } + } + }, + "description": "Describes the properties of a graph topology." + }, + "MediaGraphSystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)." + } + }, + "description": "Graph system data." + }, + "MediaGraphParameterDeclaration": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the parameter.", + "maxLength": 64 + }, + "type": { + "type": "string", + "enum": [ + "String", + "SecretString", + "Int", + "Double", + "Bool" + ], + "x-ms-enum": { + "name": "MediaGraphParameterType", + "values": [ + { + "value": "String", + "description": "A string parameter value." + }, + { + "value": "SecretString", + "description": "A string to hold sensitive information as parameter value." + }, + { + "value": "Int", + "description": "A 32-bit signed integer as parameter value." + }, + { + "value": "Double", + "description": "A 64-bit double-precision floating point type as parameter value." + }, + { + "value": "Bool", + "description": "A boolean value that is either true or false." + } + ], + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "Description of the parameter." + }, + "default": { + "type": "string", + "description": "The default value for the parameter, to be used if the graph instance does not specify a value." + } + }, + "description": "The declaration of a parameter in the graph topology. A graph topology can be authored with parameters. Then, during graph instance creation, the value for those parameters can be specified. This allows the same graph topology to be used as a blueprint for multiple graph instances with different values for the parameters." + }, + "MediaGraphSource": { + "type": "object", + "required": [ + "@type", + "name" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The type of the source node. The discriminator for derived types." + }, + "name": { + "type": "string", + "description": "The name to be used for this source node." + } + }, + "description": "Media graph source." + }, + "MediaGraphRtspSource": { + "properties": { + "transport": { + "type": "string", + "description": "Underlying RTSP transport. This is used to enable or disable HTTP tunneling.", + "enum": [ + "Http", + "Tcp" + ], + "x-ms-enum": { + "name": "MediaGraphRtspTransport", + "values": [ + { + "value": "Http", + "description": "HTTP/HTTPS transport. This should be used when HTTP tunneling is desired." + }, + { + "value": "Tcp", + "description": "TCP transport. This should be used when HTTP tunneling is NOT desired." + } + ], + "modelAsString": true + } + }, + "endpoint": { + "description": "RTSP endpoint of the stream that is being connected to.", + "$ref": "#/definitions/MediaGraphEndpoint" + } + }, + "required": [ + "endpoint" + ], + "allOf": [ + { + "$ref": "#/definitions/MediaGraphSource" + }, + {} + ], + "description": "Enables a graph to capture media from a RTSP server.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphRtspSource" + }, + "MediaGraphIoTHubMessageSource": { + "properties": { + "hubInputName": { + "type": "string", + "description": "Name of the input path where messages can be routed to (via routes declared in the IoT Edge deployment manifest)." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphSource" + }, + {} + ], + "description": "Enables a graph to receive messages via routes declared in the IoT Edge deployment manifest.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphIoTHubMessageSource" + }, + "MediaGraphIoTHubMessageSink": { + "properties": { + "hubOutputName": { + "type": "string", + "description": "Name of the output path to which the graph will publish message. These messages can then be delivered to desired destinations by declaring routes referencing the output path in the IoT Edge deployment manifest." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphSink" + }, + {} + ], + "description": "Enables a graph to publish messages that can be delivered via routes declared in the IoT Edge deployment manifest.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphIoTHubMessageSink" + }, + "MediaGraphEndpoint": { + "type": "object", + "required": [ + "@type", + "url" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "credentials": { + "description": "Polymorphic credentials to be presented to the endpoint.", + "$ref": "#/definitions/MediaGraphCredentials" + }, + "url": { + "type": "string", + "description": "Url for the endpoint." + } + }, + "description": "Base class for endpoints." + }, + "MediaGraphCredentials": { + "type": "object", + "required": [ + "@type" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "description": "Credentials to present during authentication." + }, + "MediaGraphUsernamePasswordCredentials": { + "properties": { + "username": { + "type": "string", + "description": "Username for a username/password pair." + }, + "password": { + "type": "string", + "description": "Password for a username/password pair." + } + }, + "required": [ + "username" + ], + "allOf": [ + { + "$ref": "#/definitions/MediaGraphCredentials" + }, + {} + ], + "description": "Username/password credential pair.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials" + }, + "MediaGraphHttpHeaderCredentials": { + "properties": { + "headerName": { + "type": "string", + "description": "HTTP header name." + }, + "headerValue": { + "type": "string", + "description": "HTTP header value." + } + }, + "required": [ + "headerName", + "headerValue" + ], + "allOf": [ + { + "$ref": "#/definitions/MediaGraphCredentials" + }, + {} + ], + "description": "Http header service credentials.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphHttpHeaderCredentials" + }, + "MediaGraphUnsecuredEndpoint": { + "allOf": [ + { + "$ref": "#/definitions/MediaGraphEndpoint" + }, + {} + ], + "description": "An endpoint that the media graph can connect to, with no encryption in transit.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphUnsecuredEndpoint" + }, + "MediaGraphTlsEndpoint": { + "properties": { + "trustedCertificates": { + "description": "Trusted certificates when authenticating a TLS connection. Null designates that Azure Media Service's source of trust should be used.", + "$ref": "#/definitions/MediaGraphCertificateSource" + }, + "validationOptions": { + "description": "Validation options to use when authenticating a TLS connection. By default, strict validation is used.", + "$ref": "#/definitions/MediaGraphTlsValidationOptions" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphEndpoint" + }, + {} + ], + "description": "An endpoint that the graph can connect to, which must be connected over TLS/SSL.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphTlsEndpoint" + }, + "MediaGraphCertificateSource": { + "type": "object", + "required": [ + "@type" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "description": "Base class for certificate sources." + }, + "MediaGraphTlsValidationOptions": { + "type": "object", + "properties": { + "ignoreHostname": { + "type": "string", + "description": "Boolean value ignoring the host name (common name) during validation." + }, + "ignoreSignature": { + "type": "string", + "description": "Boolean value ignoring the integrity of the certificate chain at the current time." + } + }, + "description": "Options for controlling the authentication of TLS endpoints." + }, + "MediaGraphPemCertificateList": { + "properties": { + "certificates": { + "type": "array", + "description": "PEM formatted public certificates one per entry.", + "items": { + "type": "string" + } + } + }, + "required": [ + "certificates" + ], + "allOf": [ + { + "$ref": "#/definitions/MediaGraphCertificateSource" + }, + {} + ], + "description": "A list of PEM formatted certificates.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphPemCertificateList" + }, + "MediaGraphSink": { + "type": "object", + "required": [ + "@type", + "inputs", + "name" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "name": { + "type": "string", + "description": "Name to be used for the media graph sink." + }, + "inputs": { + "type": "array", + "description": "An array of the names of the other nodes in the media graph, the outputs of which are used as input for this sink node.", + "items": { + "$ref": "#/definitions/MediaGraphNodeInput" + } + } + }, + "description": "Enables a media graph to write media data to a destination outside of the Live Video Analytics IoT Edge module." + }, + "MediaGraphNodeInput": { + "type": "object", + "properties": { + "nodeName": { + "type": "string", + "description": "The name of another node in the media graph, the output of which is used as input to this node." + }, + "outputSelectors": { + "type": "array", + "description": "Allows for the selection of particular streams from another node.", + "items": { + "$ref": "#/definitions/MediaGraphOutputSelector" + } + } + }, + "description": "Represents the input to any node in a media graph." + }, + "MediaGraphOutputSelector": { + "properties": { + "property": { + "type": "string", + "description": "The stream property to compare with.", + "enum": [ + "mediaType" + ], + "x-ms-enum": { + "name": "MediaGraphOutputSelectorProperty", + "values": [ + { + "value": "mediaType", + "description": "The stream's MIME type or subtype." + } + ], + "modelAsString": false + } + }, + "operator": { + "type": "string", + "description": "The operator to compare streams by.", + "enum": [ + "is", + "isNot" + ], + "x-ms-enum": { + "name": "MediaGraphOutputSelectorOperator", + "values": [ + { + "value": "is", + "description": "A media type is the same type or a subtype." + }, + { + "value": "isNot", + "description": "A media type is not the same type or a subtype." + } + ], + "modelAsString": false + } + }, + "value": { + "type": "string", + "description": "Value to compare against." + } + }, + "description": "Allows for the selection of particular streams from another node." + }, + "MediaGraphFileSink": { + "properties": { + "filePathPattern": { + "type": "string", + "description": "Absolute file path pattern for creating new files on the Edge device.", + "minLength": 1 + } + }, + "required": [ + "filePathPattern" + ], + "allOf": [ + { + "$ref": "#/definitions/MediaGraphSink" + }, + {} + ], + "description": "Enables a media graph to write/store media (video and audio) to a file on the Edge device.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphFileSink" + }, + "MediaGraphAssetSink": { + "properties": { + "assetNamePattern": { + "type": "string", + "description": "A name pattern when creating new assets." + }, + "segmentLength": { + "type": "string", + "format": "duration", + "example": "PT30S", + "description": "When writing media to an asset, wait until at least this duration of media has been accumulated on the Edge. Expressed in increments of 30 seconds, with a minimum of 30 seconds and a recommended maximum of 5 minutes." + }, + "localMediaCachePath": { + "type": "string", + "description": "Path to a local file system directory for temporary caching of media, before writing to an Asset. Used when the Edge device is temporarily disconnected from Azure." + }, + "localMediaCacheMaximumSizeMiB": { + "type": "string", + "description": "Maximum amount of disk space that can be used for temporary caching of media." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphSink" + }, + {} + ], + "description": "Enables a graph to record media to an Azure Media Services asset, for subsequent playback.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphAssetSink" + }, + "MediaGraphProcessor": { + "type": "object", + "required": [ + "@type", + "inputs", + "name" + ], + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "name": { + "type": "string", + "description": "The name for this processor node." + }, + "inputs": { + "type": "array", + "description": "An array of the names of the other nodes in the media graph, the outputs of which are used as input for this processor node.", + "items": { + "$ref": "#/definitions/MediaGraphNodeInput" + } + } + }, + "description": "A node that represents the desired processing of media in a graph. Takes media and/or events as inputs, and emits media and/or event as output." + }, + "MediaGraphMotionDetectionProcessor": { + "properties": { + "sensitivity": { + "type": "string", + "description": "Enumeration that specifies the sensitivity of the motion detection processor.", + "enum": [ + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "MediaGraphMotionDetectionSensitivity", + "values": [ + { + "value": "Low", + "description": "Low Sensitivity." + }, + { + "value": "Medium", + "description": "Medium Sensitivity." + }, + { + "value": "High", + "description": "High Sensitivity." + } + ], + "modelAsString": true + } + }, + "outputMotionRegion": { + "type": "boolean", + "description": "Indicates whether the processor should detect and output the regions, within the video frame, where motion was detected. Default is true." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphProcessor" + }, + {} + ], + "description": "A node that accepts raw video as input, and detects if there are moving objects present. If so, then it emits an event, and allows frames where motion was detected to pass through. Other frames are blocked/dropped.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphMotionDetectionProcessor" + }, + "MediaGraphExtensionProcessorBase": { + "properties": { + "endpoint": { + "description": "Endpoint to which this processor should connect.", + "$ref": "#/definitions/MediaGraphEndpoint" + }, + "image": { + "description": "Describes the parameters of the image that is sent as input to the endpoint.", + "$ref": "#/definitions/MediaGraphImage" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphProcessor" + }, + {} + ], + "description": "Processor that allows for extensions, outside of the Live Video Analytics Edge module, to be integrated into the graph. It is the base class for various different kinds of extension processor types.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphExtensionProcessorBase" + }, + "MediaGraphHttpExtension": { + "allOf": [ + { + "$ref": "#/definitions/MediaGraphExtensionProcessorBase" + }, + {} + ], + "description": "A processor that allows the media graph to send video frames (mostly at low frame rates e.g. <5 fps) to external inference container by leveraging HTTP based RESTful API. It then retrieves the inference results and relays them downstream to the next node.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphHttpExtension" + }, + "MediaGraphImage": { + "type": "object", + "properties": { + "scale": { + "$ref": "#/definitions/MediaGraphImageScale" + }, + "format": { + "$ref": "#/definitions/MediaGraphImageFormat" + } + }, + "description": "Describes the properties of an image frame." + }, + "MediaGraphImageScale": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Describes the modes for scaling an input video frame into an image, before it is sent to an inference engine.", + "enum": [ + "PreserveAspectRatio", + "Pad", + "Stretch" + ], + "x-ms-enum": { + "name": "MediaGraphImageScaleMode", + "values": [ + { + "value": "PreserveAspectRatio", + "description": "Use the same aspect ratio as the input frame." + }, + { + "value": "Pad", + "description": "Center pad the input frame to match the given dimensions." + }, + { + "value": "Stretch", + "description": "Stretch input frame to match given dimensions." + } + ], + "modelAsString": true + } + }, + "width": { + "type": "string", + "description": "The desired output width of the image." + }, + "height": { + "type": "string", + "description": "The desired output height of the image." + } + }, + "description": "The scaling mode for the image." + }, + "MediaGraphImageFormat": { + "required": [ + "@type" + ], + "type": "object", + "discriminator": "@type", + "properties": { + "@type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "description": "Encoding settings for an image.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormat" + }, + "MediaGraphImageFormatRaw": { + "properties": { + "pixelFormat": { + "type": "string", + "enum": [ + "Yuv420p", + "Rgb565be", + "Rgb565le", + "Rgb555be", + "Rgb555le", + "Rgb24", + "Bgr24", + "Argb", + "Rgba", + "Abgr", + "Bgra" + ], + "x-ms-enum": { + "name": "MediaGraphImageFormatRawPixelFormat", + "values": [ + { + "value": "Yuv420p", + "description": "Planar YUV 4:2:0, 12bpp, (1 Cr and Cb sample per 2x2 Y samples)." + }, + { + "value": "Rgb565be", + "description": "Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian." + }, + { + "value": "Rgb565le", + "description": "Packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian." + }, + { + "value": "Rgb555be", + "description": "Packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined." + }, + { + "value": "Rgb555le", + "description": "Packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined." + }, + { + "value": "Rgb24", + "description": "Packed RGB 8:8:8, 24bpp, RGBRGB." + }, + { + "value": "Bgr24", + "description": "Packed RGB 8:8:8, 24bpp, BGRBGR." + }, + { + "value": "Argb", + "description": "Packed ARGB 8:8:8:8, 32bpp, ARGBARGB." + }, + { + "value": "Rgba", + "description": "Packed RGBA 8:8:8:8, 32bpp, RGBARGBA." + }, + { + "value": "Abgr", + "description": "Packed ABGR 8:8:8:8, 32bpp, ABGRABGR." + }, + { + "value": "Bgra", + "description": "Packed BGRA 8:8:8:8, 32bpp, BGRABGRA." + } + ], + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphImageFormat" + }, + {} + ], + "description": "Encoding settings for raw images.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatRaw" + }, + "MediaGraphImageFormatEncoded": { + "properties": { + "encoding": { + "type": "string", + "description": "The different encoding formats that can be used for the image.", + "default": "Jpeg", + "enum": [ + "Jpeg", + "Bmp", + "Png" + ], + "x-ms-enum": { + "name": "MediaGraphImageEncodingFormat", + "values": [ + { + "value": "Jpeg", + "description": "JPEG image format." + }, + { + "value": "Bmp", + "description": "BMP image format." + }, + { + "value": "Png", + "description": "PNG image format." + } + ], + "modelAsString": true + } + }, + "quality": { + "type": "string", + "description": "The image quality (used for JPEG only). Value must be between 0 to 100 (best quality)." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphImageFormat" + }, + {} + ], + "description": "Allowed formats for the image.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphImageFormatEncoded" + }, + "MediaGraphSignalGateProcessor": { + "properties": { + "activationEvaluationWindow": { + "type": "string", + "example": "PT1.0S", + "description": "The period of time over which the gate gathers input events, before evaluating them." + }, + "activationSignalOffset": { + "type": "string", + "example": "-PT1.0S", + "description": "Signal offset once the gate is activated (can be negative). It is an offset between the time the event is received, and the timestamp of the first media sample (eg. video frame) that is allowed through by the gate." + }, + "minimumActivationTime": { + "type": "string", + "example": "PT1S", + "description": "The minimum period for which the gate remains open, in the absence of subsequent triggers (events)." + }, + "maximumActivationTime": { + "type": "string", + "example": "PT2S", + "description": "The maximum period for which the gate remains open, in the presence of subsequent events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphProcessor" + }, + {} + ], + "description": "A signal gate determines when to block (gate) incoming media, and when to allow it through. It gathers input events over the activationEvaluationWindow, and determines whether to open or close the gate.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphSignalGateProcessor" + }, + "MediaGraphFrameRateFilterProcessor": { + "properties": { + "maximumFps": { + "type": "string", + "description": "Ensures that the frame rate of the video leaving this processor does not exceed this limit." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MediaGraphProcessor" + }, + {} + ], + "description": "Limits the frame rate on the input video stream based on the maximumFps property.", + "x-ms-discriminator-value": "#Microsoft.Media.MediaGraphFrameRateFilterProcessor" + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceDelete.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceDelete.json new file mode 100644 index 000000000000..76af8f4992db --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "name": "IngestAndRecordGraphInstance", + "@apiVersion": "1.0" + }, + "responses": { + "200": { + "payload": null, + "status": 200 + }, + "204": { + "payload": null, + "status": 204 + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceGet.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceGet.json new file mode 100644 index 000000000000..a83368fb92d1 --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "name": "IngestAndRecordGraphInstance", + "@apiVersion": "1.0" + }, + "responses": { + "200": { + "body": { + "name": "IngestAndRecordGraphInstance", + "properties": { + "description": "An updated description of the instance of the IngestAndRecordGraphTopology", + "parameters": [ + { + "name": "rtspUsername", + "value": "testusername" + }, + { + "name": "rtspPassword", + "value": "testpassword" + } + ], + "state": "Inactive", + "topologyName": "IngestAndRecordGraphTopology" + }, + "systemData": { + "createdAt": "2020-06-10T19:17:58.812Z", + "lastModifiedAt": "2020-06-10T19:19:07.960Z" + } + } + }, + "404": { + "payload": null, + "status": 404 + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceList.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceList.json new file mode 100644 index 000000000000..24829a459c28 --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "@apiVersion": "1.0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "IngestAndRecordGraphInstance", + "properties": { + "description": "An updated description of the instance of the IngestAndRecordGraphTopology", + "parameters": [ + { + "name": "rtspUsername", + "value": "testusername" + }, + { + "name": "rtspPassword", + "value": "testpassword" + } + ], + "state": "Inactive", + "topologyName": "IngestAndRecordGraphTopology" + }, + "systemData": { + "createdAt": "2020-06-10T19:17:58.812Z", + "lastModifiedAt": "2020-06-10T19:19:07.960Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceSet.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceSet.json new file mode 100644 index 000000000000..7798068fd654 --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceSet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "instance": { + "@apiVersion": "1.0", + "name": "IngestAndRecordGraphInstance", + "properties": { + "topologyName": "IngestAndRecorGraphTopology", + "description": "An instance of the IngestAndRecordGraphTopology" + } + } + }, + "responses": { + "200": { + "body": { + "name": "IngestAndRecordGraphInstance", + "properties": { + "description": "An updated description of the instance of the IngestAndRecordGraphTopology", + "parameters": [ + { + "name": "rtspUsername", + "value": "testusername" + }, + { + "name": "rtspPassword", + "value": "testpassword" + } + ], + "state": "Inactive", + "topologyName": "IngestAndRecorGraphTopology" + }, + "systemData": { + "createdAt": "2020-06-10T19:17:58.812Z", + "lastModifiedAt": "2020-06-10T19:19:07.960Z" + } + } + }, + "201": { + "body": { + "name": "IngestAndRecordGraphInstance", + "properties": { + "description": "An instance of the IngestAndRecordGraphTopology", + "parameters": [ + { + "name": "rtspUsername", + "value": "testusername" + }, + { + "name": "rtspPassword", + "value": "testpassword" + } + ], + "state": "Inactive", + "topologyName": "IngestAndRecordGraphTopology" + }, + "systemData": { + "createdAt": "2020-06-10T19:17:58.812Z", + "lastModifiedAt": "2020-06-10T19:17:58.812Z" + } + } + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceStateChange.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceStateChange.json new file mode 100644 index 000000000000..ac22ba64c121 --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphInstanceStateChange.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "name": "IngestAndRecordGraphInstance", + "@apiVersion": "1.0" + }, + "responses": { + "200": { + "payload": null, + "status": 200 + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyDelete.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyDelete.json new file mode 100644 index 000000000000..3efef8901cc8 --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "name": "IngestAndRecordGraphTopology", + "@apiVersion": "1.0" + }, + "responses": { + "200": { + "payload": null, + "status": 200 + }, + "204": { + "payload": null, + "status": 204 + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyGet.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyGet.json new file mode 100644 index 000000000000..02bcd4422f27 --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyGet.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "name": "IngestAndRecordGraphTopology", + "@apiVersion": "1.0" + }, + "responses": { + "200": { + "body": { + "name": "IngestAndRecordGraphTopology", + "properties": { + "description": "Simple ingest and record graph definition.", + "parameters": [ + { + "default": "dummyUsername", + "description": "RTSP source username", + "name": "rtspUsername", + "type": "String" + }, + { + "default": "dummyPassword", + "description": "RTSP source password", + "name": "rtspPassword", + "type": "String" + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.Media.MediaGraphAssetSink", + "assetNamePattern": "assetSinkTest", + "inputs": [ + { + "nodeName": "rtspSource", + "outputSelectors": [] + } + ], + "localMediaCacheMaximumSizeMiB": "1024", + "localMediaCachePath": "/tmp/test", + "name": "assetSink", + "segmentLength": "PT30S" + } + ], + "sources": [ + { + "@type": "#Microsoft.Media.MediaGraphRtspSource", + "endpoint": { + "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", + "credentials": { + "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", + "username": "${rtspUsername}" + }, + "url": "rtsp://testurl.com" + }, + "name": "rtspSource", + "transport": "Tcp" + } + ] + }, + "systemData": { + "createdAt": "2020-06-10T18:54:33.421Z", + "lastModifiedAt": "2020-06-10T18:55:43.901Z" + } + } + }, + "404": { + "payload": null, + "status": 404 + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyList.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyList.json new file mode 100644 index 000000000000..54f6b1eaa64c --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologyList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "@apiVersion": "1.0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "IngestAndRecordGraphTopology", + "properties": { + "description": "Simple ingest and record graph definition.", + "parameters": [ + { + "default": "dummyUsername", + "description": "RTSP source username", + "name": "rtspUsername", + "type": "String" + }, + { + "default": "dummyPassword", + "description": "RTSP source password", + "name": "rtspPassword", + "type": "String" + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.Media.MediaGraphAssetSink", + "assetNamePattern": "assetSinkTest", + "inputs": [ + { + "nodeName": "rtspSource", + "outputSelectors": [] + } + ], + "localMediaCacheMaximumSizeMiB": "1024", + "localMediaCachePath": "/tmp/test", + "name": "assetSink", + "segmentLength": "PT30S" + } + ], + "sources": [ + { + "@type": "#Microsoft.Media.MediaGraphRtspSource", + "endpoint": { + "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", + "credentials": { + "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", + "username": "${rtspUsername}" + }, + "url": "rtsp://testurl.com" + }, + "name": "rtspSource", + "transport": "Tcp" + } + ] + }, + "systemData": { + "createdAt": "2020-06-10T18:54:33.421Z", + "lastModifiedAt": "2020-06-10T18:55:43.901Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologySet.json b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologySet.json new file mode 100644 index 000000000000..97792c0e29c8 --- /dev/null +++ b/specification/mediaservices/data-plane/LiveVideoAnalytics.Edge/preview/1.0/examples/GraphTopologySet.json @@ -0,0 +1,173 @@ +{ + "parameters": { + "topology": { + "name": "IngestAndRecordGraphTopology", + "@apiVersion": "1.0", + "properties": { + "description": "Simple ingest and record graph definition.", + "parameters": [ + { + "default": "dummyUsername", + "description": "RTSP source username", + "name": "rtspUsername", + "type": "String" + }, + { + "default": "dummyPassword", + "description": "RTSP source password", + "name": "rtspPassword", + "type": "String" + } + ], + "sources": [ + { + "@type": "#Microsoft.Media.MediaGraphRtspSource", + "name": "rtspSource", + "endpoint": { + "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", + "url": "rtsp://testurl.com", + "credentials": { + "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", + "username": "${rtspUsername}", + "password": "${rtspPassword}" + } + } + } + ], + "sinks": [ + { + "@type": "#Microsoft.Media.MediaGraphAssetSink", + "name": "assetSink", + "assetNamePattern": "assetSinkTest", + "inputs": [ + { + "nodeName": "rtspSource" + } + ], + "localMediaCachePath": "/tmp", + "localMediaCacheMaximumSizeMiB": "1024", + "segmentLength": "PT30S" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "IngestAndRecordGraphTopology", + "properties": { + "description": "Simple ingest and record graph definition.", + "parameters": [ + { + "default": "dummyUsername", + "description": "RTSP source username", + "name": "rtspUsername", + "type": "String" + }, + { + "default": "dummyPassword", + "description": "RTSP source password", + "name": "rtspPassword", + "type": "String" + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.Media.MediaGraphAssetSink", + "assetNamePattern": "assetSinkTest", + "inputs": [ + { + "nodeName": "rtspSource", + "outputSelectors": [] + } + ], + "localMediaCacheMaximumSizeMiB": "1024", + "localMediaCachePath": "/tmp", + "name": "assetSink", + "segmentLength": "PT30S" + } + ], + "sources": [ + { + "@type": "#Microsoft.Media.MediaGraphRtspSource", + "endpoint": { + "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", + "credentials": { + "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", + "username": "${rtspUsername}" + }, + "url": "rtsp://testurl.com" + }, + "name": "rtspSource", + "transport": "Tcp" + } + ] + }, + "systemData": { + "createdAt": "2020-06-10T18:54:33.421Z", + "lastModifiedAt": "2020-06-10T18:54:33.421Z" + } + } + }, + "201": { + "body": { + "name": "IngestAndRecordGraphTopology", + "properties": { + "description": "Simple ingest and record graph definition.", + "parameters": [ + { + "default": "dummyUsername", + "description": "RTSP source username", + "name": "rtspUsername", + "type": "String" + }, + { + "default": "dummyPassword", + "description": "RTSP source password", + "name": "rtspPassword", + "type": "String" + } + ], + "processors": [], + "sinks": [ + { + "@type": "#Microsoft.Media.MediaGraphAssetSink", + "assetNamePattern": "assetSinkTest", + "inputs": [ + { + "nodeName": "rtspSource", + "outputSelectors": [] + } + ], + "localMediaCacheMaximumSizeMiB": "1024", + "localMediaCachePath": "/tmp/test", + "name": "assetSink", + "segmentLength": "PT30S" + } + ], + "sources": [ + { + "@type": "#Microsoft.Media.MediaGraphRtspSource", + "endpoint": { + "@type": "#Microsoft.Media.MediaGraphUnsecuredEndpoint", + "credentials": { + "@type": "#Microsoft.Media.MediaGraphUsernamePasswordCredentials", + "username": "${rtspUsername}" + }, + "url": "rtsp://testurl.com" + }, + "name": "rtspSource", + "transport": "Tcp" + } + ] + }, + "systemData": { + "createdAt": "2020-06-10T18:54:33.421Z", + "lastModifiedAt": "2020-06-10T18:55:43.901Z" + } + } + } + } +} diff --git a/specification/mediaservices/data-plane/readme.md b/specification/mediaservices/data-plane/readme.md new file mode 100644 index 000000000000..20ae5783b3b2 --- /dev/null +++ b/specification/mediaservices/data-plane/readme.md @@ -0,0 +1,97 @@ +# MediaServices - Live Video Analytics Edge + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Live video analytics edge. + +--- + +## Getting Started + +To build the SDK for Live video analytics edge, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` + +--- + +## Configuration + +### Basic Information + +These are the global settings for the Live video analytics API. + +``` yaml +openapi-type: data-plane +tag: package-lva-1-0-preview +``` + +### Tag: package-2018-07 + +These settings apply only when `--tag=package-lva-1-0-preview` is specified on the command line. + +``` yaml $(tag) == 'package-lva-1-0-preview' +input-file: + - LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-net + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_media_lva_edge'] +``` + +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +``` yaml $(csharp) +csharp: + azure-arm: false + payload-flattening-threshold: 2 + license-header: MICROSOFT_MIT_NO_VERSION + namespace: Microsoft.Azure.Media.LiveVideoAnalytics.Edge + output-folder: $(csharp-sdks-folder)/mediaservices/Microsoft.Azure.Media.LiveVideoAnalytics.Edge/src/Generated + clear-output-folder: true + use-internal-constructors: true + override-client-name: LiveVideoAnalyticsEdgeClient + use-datetimeoffset: true +``` +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/LiveVideoAnalytics.Edge/preview/1.0/LiveVideoAnalytics.json + +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AccountFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AccountFilters.json new file mode 100644 index 000000000000..af15b438982e --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AccountFilters.json @@ -0,0 +1,514 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2020-05-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "PresentationTimeRange": { + "properties": { + "startTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute start time boundary." + }, + "endTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute end time boundary." + }, + "presentationWindowDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end sliding window." + }, + "liveBackoffDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end right edge." + }, + "timescale": { + "type": "integer", + "format": "int64", + "description": "The time scale of time stamps." + }, + "forceEndTimestamp": { + "type": "boolean", + "description": "The indicator of forcing existing of end time stamp." + } + }, + "type": "object", + "description": "The presentation time range, this is asset related and not recommended for Account Filter." + }, + "FilterTrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "Type", + "Name", + "Language", + "FourCC", + "Bitrate" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "The unknown track property type." + }, + { + "value": "Type", + "description": "The type." + }, + { + "value": "Name", + "description": "The name." + }, + { + "value": "Language", + "description": "The language." + }, + { + "value": "FourCC", + "description": "The fourCC." + }, + { + "value": "Bitrate", + "description": "The bitrate." + } + ], + "modelAsString": true + }, + "description": "The track property type." + }, + "value": { + "type": "string", + "description": "The track property value." + }, + "operation": { + "type": "string", + "enum": [ + "Equal", + "NotEqual" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyCompareOperation", + "values": [ + { + "value": "Equal", + "description": "The equal operation." + }, + { + "value": "NotEqual", + "description": "The not equal operation." + } + ], + "modelAsString": true + }, + "description": "The track property condition operation." + } + }, + "type": "object", + "required": [ + "property", + "value", + "operation" + ], + "description": "The class to specify one track property condition." + }, + "FirstQuality": { + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The first quality bitrate." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Filter First Quality" + }, + "FilterTrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackPropertyCondition" + }, + "description": "The track selections." + } + }, + "type": "object", + "required": [ + "trackSelections" + ], + "description": "Representing a list of FilterTrackPropertyConditions to select a track. The filters are combined using a logical AND operation." + }, + "MediaFilterProperties": { + "properties": { + "presentationTimeRange": { + "$ref": "#/definitions/PresentationTimeRange", + "description": "The presentation time range." + }, + "firstQuality": { + "$ref": "#/definitions/FirstQuality", + "description": "The first quality." + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackSelection" + }, + "description": "The tracks selection conditions." + } + }, + "type": "object", + "description": "The Media Filter properties." + }, + "AccountFilter": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MediaFilterProperties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "An Account Filter." + }, + "AccountFilterCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "A collection of AccountFilter items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of AccountFilter items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters": { + "get": { + "summary": "List Account Filters", + "description": "List Account Filters in the Media Services account.", + "operationId": "AccountFilters_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilterCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Account Filters": { + "$ref": "examples/accountFilters-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName}": { + "get": { + "summary": "Get an Account Filter.", + "description": "Get the details of an Account Filter in the Media Services account.", + "operationId": "AccountFilters_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Account Filter by name": { + "$ref": "examples/accountFilters-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Account Filter", + "description": "Creates or updates an Account Filter in the Media Services account.", + "operationId": "AccountFilters_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Account Filter": { + "$ref": "examples/accountFilters-create.json" + } + } + }, + "delete": { + "summary": "Delete an Account Filter.", + "description": "Deletes an Account Filter in the Media Services account.", + "operationId": "AccountFilters_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Account Filter": { + "$ref": "examples/accountFilters-delete.json" + } + } + }, + "patch": { + "summary": "Update an Account Filter", + "description": "Updates an existing Account Filter in the Media Services account.", + "operationId": "AccountFilters_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Account Filter": { + "$ref": "examples/accountFilters-update.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Accounts.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Accounts.json new file mode 100644 index 000000000000..97965f6cbc65 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Accounts.json @@ -0,0 +1,1410 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2020-05-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "Provider": { + "description": "A resource provider.", + "properties": { + "providerName": { + "description": "The provider name.", + "type": "string" + } + }, + "type": "object", + "required": [ + "providerName" + ] + }, + "OperationDisplay": { + "properties": { + "provider": { + "type": "string", + "description": "The service provider." + }, + "resource": { + "type": "string", + "description": "Resource on which the operation is performed." + }, + "operation": { + "type": "string", + "description": "The operation type." + }, + "description": { + "type": "string", + "description": "The operation description." + } + }, + "type": "object", + "description": "Operation details." + }, + "MetricDimension": { + "properties": { + "name": { + "type": "string", + "description": "The metric dimension name.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The display name for the dimension.", + "readOnly": true + }, + "toBeExportedForShoebox": { + "type": "boolean", + "description": "Whether to export metric to shoebox.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "A metric dimension." + }, + "MetricSpecification": { + "properties": { + "name": { + "type": "string", + "description": "The metric name.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The metric display name.", + "readOnly": true + }, + "displayDescription": { + "type": "string", + "description": "The metric display description.", + "readOnly": true + }, + "unit": { + "type": "string", + "enum": [ + "Bytes", + "Count", + "Milliseconds" + ], + "x-ms-enum": { + "name": "MetricUnit", + "values": [ + { + "value": "Bytes", + "description": "The number of bytes." + }, + { + "value": "Count", + "description": "The count." + }, + { + "value": "Milliseconds", + "description": "The number of milliseconds." + } + ], + "modelAsString": true + }, + "description": "The metric unit", + "readOnly": true, + "x-nullable": false + }, + "aggregationType": { + "type": "string", + "enum": [ + "Average", + "Count", + "Total" + ], + "x-ms-enum": { + "name": "MetricAggregationType", + "values": [ + { + "value": "Average", + "description": "The average." + }, + { + "value": "Count", + "description": "The count of a number of items, usually requests." + }, + { + "value": "Total", + "description": "The sum." + } + ], + "modelAsString": true + }, + "description": "The metric aggregation type", + "readOnly": true, + "x-nullable": false + }, + "supportedAggregationTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Supported aggregation types." + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + }, + "description": "The metric dimensions.", + "readOnly": true + } + }, + "type": "object", + "description": "A metric emitted by service." + }, + "Properties": { + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "The service specifications.", + "readOnly": true + } + }, + "type": "object", + "description": "The service specification property." + }, + "ServiceSpecification": { + "properties": { + "logSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "description": "List of log specifications.", + "readOnly": true + }, + "metricSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "description": "List of metric specifications.", + "readOnly": true + } + }, + "type": "object", + "description": "The service metric specifications." + }, + "LogSpecification": { + "properties": { + "name": { + "type": "string", + "description": "The diagnostic log category name.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The diagnostic log category display name.", + "readOnly": true + }, + "blobDuration": { + "type": "string", + "description": "The time range for requests in each blob.", + "readOnly": true + } + }, + "type": "object", + "description": "A diagnostic log emitted by service." + }, + "Operation": { + "description": "An operation.", + "properties": { + "name": { + "type": "string", + "description": "The operation name." + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The operation display name." + }, + "origin": { + "type": "string", + "description": "Origin of the operation." + }, + "properties": { + "$ref": "#/definitions/Properties", + "description": "Operation properties format." + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "Location": { + "properties": { + "name": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "EntityNameAvailabilityCheckOutput": { + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "Specifies if the name is available." + }, + "reason": { + "type": "string", + "description": "Specifies the reason if the name is not available." + }, + "message": { + "type": "string", + "description": "Specifies the detailed reason if the name is not available." + } + }, + "type": "object", + "required": [ + "nameAvailable" + ], + "description": "The response from the check name availability request." + }, + "StorageAccount": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the storage account resource. Media Services relies on tables and queues as well as blobs, so the primary storage account must be a Standard Storage account (either Microsoft.ClassicStorage or Microsoft.Storage). Blob only storage accounts can be added as secondary storage accounts." + }, + "type": { + "type": "string", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "values": [ + { + "value": "Primary", + "description": "The primary storage account for the Media Services account." + }, + { + "value": "Secondary", + "description": "A secondary storage account for the Media Services account." + } + ], + "modelAsString": true + }, + "description": "The type of the storage account." + } + }, + "type": "object", + "required": [ + "type" + ], + "description": "The storage account details." + }, + "SyncStorageKeysInput": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the storage account resource." + } + }, + "type": "object", + "description": "The input to the sync storage keys request." + }, + "MediaServiceProperties": { + "properties": { + "mediaServiceId": { + "type": "string", + "format": "uuid", + "description": "The Media Services account ID.", + "readOnly": true, + "x-nullable": false + }, + "storageAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "The storage accounts for this resource." + }, + "storageAuthentication": { + "type": "string", + "enum": [ + "System", + "ManagedIdentity" + ], + "x-ms-enum": { + "name": "StorageAuthentication", + "values": [ + { + "value": "System", + "description": "System authentication." + }, + { + "value": "ManagedIdentity", + "description": "Managed Identity authentication." + } + ], + "modelAsString": true + }, + "x-nullable": true + }, + "encryption": { + "$ref": "#/definitions/AccountEncryption", + "description": "The account encryption properties." + } + }, + "type": "object", + "description": "Properties of the Media Services account." + }, + "MediaService": { + "description": "A Media Services account.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MediaServiceProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/MediaServiceIdentity", + "description": "The Managed Identity for the Media Services account." + } + }, + "type": "object" + }, + "ListEdgePoliciesInput": { + "properties": { + "deviceId": { + "type": "string", + "description": "Unique identifier of the edge device." + } + }, + "type": "object" + }, + "EdgeUsageDataEventHub": { + "properties": { + "name": { + "type": "string", + "description": "Name of the Event Hub where usage will be reported." + }, + "namespace": { + "type": "string", + "description": "Namespace of the Event Hub where usage will be reported." + }, + "token": { + "type": "string", + "description": "SAS token needed to interact with Event Hub." + } + }, + "type": "object" + }, + "EdgeUsageDataCollectionPolicy": { + "properties": { + "dataCollectionFrequency": { + "type": "string", + "description": "Usage data collection frequency in ISO 8601 duration format e.g. PT10M , PT5H." + }, + "dataReportingFrequency": { + "type": "string", + "description": "Usage data reporting frequency in ISO 8601 duration format e.g. PT10M , PT5H." + }, + "maxAllowedUnreportedUsageDuration": { + "type": "string", + "description": "Maximum time for which the functionality of the device will not be hampered for not reporting the usage data." + }, + "eventHubDetails": { + "$ref": "#/definitions/EdgeUsageDataEventHub", + "description": "Details of Event Hub where the usage will be reported." + } + }, + "type": "object" + }, + "EdgePolicies": { + "properties": { + "usageDataCollectionPolicy": { + "$ref": "#/definitions/EdgeUsageDataCollectionPolicy" + } + }, + "type": "object" + }, + "MediaServiceIdentity": { + "properties": { + "type": { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedIdentityType", + "values": [ + { + "value": "SystemAssigned", + "description": "A system-assigned managed identity." + }, + { + "value": "None", + "description": "No managed identity." + } + ], + "modelAsString": true + }, + "description": "The identity type." + }, + "principalId": { + "type": "string", + "description": "The Principal ID of the identity.", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "The Tenant ID of the identity.", + "readOnly": true + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "KeyVaultProperties": { + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The URL of the Key Vault key used to encrypt the account. The key may either be versioned (for example https://vault/keys/mykey/version1) or reference a key without a version (for example https://vault/keys/mykey)." + }, + "currentKeyIdentifier": { + "type": "string", + "description": "The current key used to encrypt the Media Services account, including the key version.", + "readOnly": true + } + }, + "type": "object" + }, + "AccountEncryption": { + "properties": { + "type": { + "type": "string", + "enum": [ + "SystemKey", + "CustomerKey" + ], + "x-ms-enum": { + "name": "AccountEncryptionKeyType", + "values": [ + { + "value": "SystemKey", + "description": "The Account Key is encrypted with a System Key." + }, + { + "value": "CustomerKey", + "description": "The Account Key is encrypted with a Customer Key." + } + ], + "modelAsString": true + }, + "description": "The type of key used to encrypt the Account Key." + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "The properties of the key used to encrypt the account." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "OperationCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "A collection of Operation items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of Operation items." + }, + "MediaServiceCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaService" + }, + "description": "A collection of MediaService items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of MediaService items." + }, + "CheckNameAvailabilityInput": { + "description": "The input to the check name availability request.", + "properties": { + "name": { + "description": "The account name.", + "type": "string" + }, + "type": { + "description": "The account type. For a Media Services account, this should be 'MediaServices'.", + "type": "string" + } + }, + "type": "object" + } + }, + "paths": { + "/providers/Microsoft.Media/operations": { + "get": { + "summary": "List Operations", + "description": "Lists all the Media Services operations.", + "operationId": "Operations_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List Operations": { + "$ref": "examples/operations-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices": { + "get": { + "summary": "List Media Services accounts", + "description": "List Media Services accounts in the resource group", + "operationId": "Mediaservices_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaServiceCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Media Services accounts": { + "$ref": "examples/accounts-list-all-accounts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}": { + "get": { + "summary": "Get a Media Services account", + "description": "Get the details of a Media Services account", + "operationId": "Mediaservices_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaService" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Media Services account by name": { + "$ref": "examples/accounts-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update a Media Services account", + "description": "Creates or updates a Media Services account", + "operationId": "Mediaservices_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaService" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MediaService" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MediaService" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create a Media Services account": { + "$ref": "examples/accounts-create.json" + } + } + }, + "delete": { + "summary": "Delete a Media Services account.", + "description": "Deletes a Media Services account", + "operationId": "Mediaservices_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Media Services account": { + "$ref": "examples/accounts-delete.json" + } + } + }, + "patch": { + "summary": "Update a Media Services account", + "description": "Updates an existing Media Services account", + "operationId": "Mediaservices_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaService" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MediaService" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update a Media Services accounts": { + "$ref": "examples/accounts-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/syncStorageKeys": { + "post": { + "summary": "Synchronizes Storage Account Keys", + "description": "Synchronizes storage account keys for a storage account associated with the Media Service account.", + "operationId": "Mediaservices_SyncStorageKeys", + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SyncStorageKeysInput" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Synchronizes Storage Account Keys": { + "$ref": "examples/accounts-sync-storage-keys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/listEdgePolicies": { + "post": { + "summary": "List the media edge policies associated with the Media Services account.", + "description": "List the media edge policies associated with the Media Services account.", + "operationId": "Mediaservices_ListEdgePolicies", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EdgePolicies" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ListEdgePoliciesInput" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List the media edge policies.": { + "$ref": "examples/accounts-list-media-edge-policies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateLinkResources": { + "get": { + "summary": "Get list of group IDs.", + "description": "Get list of group IDs.", + "operationId": "PrivateLinkResources_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get list of all group IDs.": { + "$ref": "examples/private-link-resources-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateLinkResources/{name}": { + "get": { + "summary": "Get group ID.", + "description": "Get group ID.", + "operationId": "PrivateLinkResources_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get details of a group ID.": { + "$ref": "examples/private-link-resources-get-by-name.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections": { + "get": { + "summary": "Get all private endpoint connections.", + "description": "Get all private endpoint connections.", + "operationId": "PrivateEndpointConnections_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get all private endpoint connections.": { + "$ref": "examples/private-endpoint-connection-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections/{name}": { + "get": { + "summary": "Get private endpoint connection.", + "description": "Get private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get private endpoint connection.": { + "$ref": "examples/private-endpoint-connection-get-by-name.json" + } + } + }, + "put": { + "summary": "Update private endpoint connection.", + "description": "Update private endpoint connection.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update private endpoint connection.": { + "$ref": "examples/private-endpoint-connection-put.json" + } + } + }, + "delete": { + "summary": "Delete private endpoint connection.", + "description": "Delete private endpoint connection.", + "operationId": "PrivateEndpointConnections_Delete", + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete private endpoint connection.": { + "$ref": "examples/private-endpoint-connection-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability": { + "post": { + "summary": "Check Name Availability", + "description": "Checks whether the Media Service resource name is available.", + "operationId": "Locations_CheckNameAvailability", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityNameAvailabilityCheckOutput" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the location" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Check Name Availability": { + "$ref": "examples/accounts-check-name-availability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices": { + "get": { + "summary": "List Media Services accounts", + "description": "List Media Services accounts in the subscription.", + "operationId": "Mediaservices_ListBySubscription", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaServiceCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Media Services accounts": { + "$ref": "examples/accounts-subscription-list-all-accounts.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}": { + "get": { + "summary": "Get a Media Services account", + "description": "Get the details of a Media Services account", + "operationId": "Mediaservices_GetBySubscription", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaService" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "description": "The Media Services account name.", + "name": "accountName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Media Services account by name": { + "$ref": "examples/accounts-subscription-get-by-name.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json new file mode 100644 index 000000000000..434cb58d9fe2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json @@ -0,0 +1,1238 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2020-05-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "AssetProperties": { + "properties": { + "assetId": { + "type": "string", + "format": "uuid", + "description": "The Asset ID.", + "readOnly": true, + "x-nullable": false + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation date of the Asset.", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The last modified date of the Asset.", + "readOnly": true, + "x-nullable": false + }, + "alternateId": { + "type": "string", + "description": "The alternate ID of the Asset." + }, + "description": { + "type": "string", + "description": "The Asset description." + }, + "container": { + "type": "string", + "description": "The name of the asset blob container." + }, + "storageAccountName": { + "type": "string", + "description": "The name of the storage account." + }, + "storageEncryptionFormat": { + "type": "string", + "enum": [ + "None", + "MediaStorageClientEncryption" + ], + "x-ms-enum": { + "name": "AssetStorageEncryptionFormat", + "values": [ + { + "value": "None", + "description": "The Asset does not use client-side storage encryption (this is the only allowed value for new Assets)." + }, + { + "value": "MediaStorageClientEncryption", + "description": "The Asset is encrypted with Media Services client-side encryption." + } + ], + "modelAsString": true + }, + "description": "The Asset encryption format. One of None or MediaStorageEncryption.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "The Asset properties." + }, + "AssetContainerSas": { + "properties": { + "assetContainerSasUrls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Asset container SAS URLs." + } + }, + "type": "object", + "description": "The Asset Storage container SAS URLs." + }, + "AssetFileEncryptionMetadata": { + "properties": { + "initializationVector": { + "type": "string", + "description": "The Asset File initialization vector." + }, + "assetFileName": { + "type": "string", + "description": "The Asset File name." + }, + "assetFileId": { + "type": "string", + "format": "uuid", + "description": "The Asset File Id." + } + }, + "type": "object", + "required": [ + "assetFileId" + ], + "description": "The Asset File Storage encryption metadata." + }, + "StorageEncryptedAssetDecryptionData": { + "properties": { + "key": { + "type": "string", + "format": "byte", + "description": "The Asset File storage encryption key." + }, + "assetFileEncryptionMetadata": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetFileEncryptionMetadata" + }, + "description": "Asset File encryption metadata." + } + }, + "type": "object", + "description": "Data needed to decrypt asset files encrypted with legacy storage encryption." + }, + "ListStreamingLocatorsResponse": { + "properties": { + "streamingLocators": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetStreamingLocator" + }, + "description": "The list of Streaming Locators.", + "readOnly": true + } + }, + "type": "object", + "description": "The Streaming Locators associated with this Asset." + }, + "AssetStreamingLocator": { + "properties": { + "name": { + "type": "string", + "description": "Streaming Locator name.", + "readOnly": true + }, + "assetName": { + "type": "string", + "description": "Asset Name.", + "readOnly": true + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "streamingLocatorId": { + "type": "string", + "format": "uuid", + "description": "StreamingLocatorId of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "streamingPolicyName": { + "type": "string", + "description": "Name of the Streaming Policy used by this Streaming Locator.", + "readOnly": true + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Name of the default ContentKeyPolicy used by this Streaming Locator.", + "readOnly": true + } + }, + "type": "object", + "description": "Properties of the Streaming Locator." + }, + "Asset": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AssetProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "An Asset." + }, + "PresentationTimeRange": { + "properties": { + "startTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute start time boundary." + }, + "endTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute end time boundary." + }, + "presentationWindowDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end sliding window." + }, + "liveBackoffDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end right edge." + }, + "timescale": { + "type": "integer", + "format": "int64", + "description": "The time scale of time stamps." + }, + "forceEndTimestamp": { + "type": "boolean", + "description": "The indicator of forcing existing of end time stamp." + } + }, + "type": "object", + "description": "The presentation time range, this is asset related and not recommended for Account Filter." + }, + "FilterTrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "Type", + "Name", + "Language", + "FourCC", + "Bitrate" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "The unknown track property type." + }, + { + "value": "Type", + "description": "The type." + }, + { + "value": "Name", + "description": "The name." + }, + { + "value": "Language", + "description": "The language." + }, + { + "value": "FourCC", + "description": "The fourCC." + }, + { + "value": "Bitrate", + "description": "The bitrate." + } + ], + "modelAsString": true + }, + "description": "The track property type." + }, + "value": { + "type": "string", + "description": "The track property value." + }, + "operation": { + "type": "string", + "enum": [ + "Equal", + "NotEqual" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyCompareOperation", + "values": [ + { + "value": "Equal", + "description": "The equal operation." + }, + { + "value": "NotEqual", + "description": "The not equal operation." + } + ], + "modelAsString": true + }, + "description": "The track property condition operation." + } + }, + "type": "object", + "required": [ + "property", + "value", + "operation" + ], + "description": "The class to specify one track property condition." + }, + "FirstQuality": { + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The first quality bitrate." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Filter First Quality" + }, + "FilterTrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackPropertyCondition" + }, + "description": "The track selections." + } + }, + "type": "object", + "required": [ + "trackSelections" + ], + "description": "Representing a list of FilterTrackPropertyConditions to select a track. The filters are combined using a logical AND operation." + }, + "MediaFilterProperties": { + "properties": { + "presentationTimeRange": { + "$ref": "#/definitions/PresentationTimeRange", + "description": "The presentation time range." + }, + "firstQuality": { + "$ref": "#/definitions/FirstQuality", + "description": "The first quality." + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackSelection" + }, + "description": "The tracks selection conditions." + } + }, + "type": "object", + "description": "The Media Filter properties." + }, + "AssetFilter": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MediaFilterProperties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "An Asset Filter." + }, + "AssetCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Asset" + }, + "description": "A collection of Asset items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of Asset items." + }, + "ListContainerSasInput": { + "description": "The parameters to the list SAS request.", + "properties": { + "permissions": { + "description": "The permissions to set on the SAS URL.", + "type": "string", + "enum": [ + "Read", + "ReadWrite", + "ReadWriteDelete" + ], + "x-ms-enum": { + "name": "AssetContainerPermission", + "values": [ + { + "value": "Read", + "description": "The SAS URL will allow read access to the container." + }, + { + "value": "ReadWrite", + "description": "The SAS URL will allow read and write access to the container." + }, + { + "value": "ReadWriteDelete", + "description": "The SAS URL will allow read, write and delete access to the container." + } + ], + "modelAsString": true + } + }, + "expiryTime": { + "description": "The SAS URL expiration time. This must be less than 24 hours from the current time.", + "type": "string", + "format": "date-time" + } + }, + "type": "object" + }, + "AssetFilterCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "A collection of AssetFilter items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of AssetFilter items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets": { + "get": { + "summary": "List Assets", + "description": "List Assets in the Media Services account with optional filtering and ordering", + "operationId": "Assets_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/Asset", + "x-ms-examples": { + "List all Assets": { + "$ref": "examples/assets-list-all.json" + }, + "List Asset ordered by date": { + "$ref": "examples/assets-list-by-date.json" + }, + "List Asset created in a date range": { + "$ref": "examples/assets-list-in-date-range.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}": { + "get": { + "summary": "Get an Asset", + "description": "Get the details of an Asset in the Media Services account", + "operationId": "Assets_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Asset by name": { + "$ref": "examples/assets-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Asset", + "description": "Creates or updates an Asset in the Media Services account", + "operationId": "Assets_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Asset" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Asset": { + "$ref": "examples/assets-create.json" + } + } + }, + "delete": { + "summary": "Delete an Asset.", + "description": "Deletes an Asset in the Media Services account", + "operationId": "Assets_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Asset": { + "$ref": "examples/assets-delete.json" + } + } + }, + "patch": { + "summary": "Update an Asset", + "description": "Updates an existing Asset in the Media Services account", + "operationId": "Assets_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Asset" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Asset": { + "$ref": "examples/assets-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas": { + "post": { + "summary": "List the Asset URLs", + "description": "Lists storage container URLs with shared access signatures (SAS) for uploading and downloading Asset content. The signatures are derived from the storage account keys.", + "operationId": "Assets_ListContainerSas", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetContainerSas" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ListContainerSasInput" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Asset SAS URLs": { + "$ref": "examples/assets-list-sas-urls.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey": { + "post": { + "summary": "Gets the Asset storage key", + "description": "Gets the Asset storage encryption keys used to decrypt content created by version 2 of the Media Services API", + "operationId": "Assets_GetEncryptionKey", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageEncryptedAssetDecryptionData" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get Asset Storage Encryption Keys": { + "$ref": "examples/assets-get-encryption-keys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listStreamingLocators": { + "post": { + "summary": "List Streaming Locators", + "description": "Lists Streaming Locators which are associated with this asset.", + "operationId": "Assets_ListStreamingLocators", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListStreamingLocatorsResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Asset SAS URLs": { + "$ref": "examples/assets-list-streaming-locators.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/assetFilters": { + "get": { + "summary": "List Asset Filters", + "description": "List Asset Filters associated with the specified Asset.", + "operationId": "AssetFilters_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilterCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Asset Filters": { + "$ref": "examples/assetFilters-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/assetFilters/{filterName}": { + "get": { + "summary": "Get an Asset Filter.", + "description": "Get the details of an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Asset Filter by name": { + "$ref": "examples/assetFilters-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Asset Filter", + "description": "Creates or updates an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Asset Filter": { + "$ref": "examples/assetFilters-create.json" + } + } + }, + "delete": { + "summary": "Delete an Asset Filter.", + "description": "Deletes an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Asset Filter": { + "$ref": "examples/assetFilters-delete.json" + } + } + }, + "patch": { + "summary": "Update an Asset Filter", + "description": "Updates an existing Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Asset Filter": { + "$ref": "examples/assetFilters-update.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Common.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Common.json new file mode 100644 index 000000000000..47062ce01dfd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Common.json @@ -0,0 +1,56 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "version": "2020-05-01" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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": { + "ODataError": { + "properties": { + "code": { + "type": "string", + "description": "A language-independent error name." + }, + "message": { + "type": "string", + "description": "The error message." + }, + "target": { + "type": "string", + "description": "The target of the error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ODataError" + }, + "description": "The error details." + } + }, + "type": "object", + "description": "Information about an error." + }, + "ApiError": { + "properties": { + "error": { + "$ref": "#/definitions/ODataError", + "description": "The error properties." + } + }, + "type": "object", + "description": "The API error." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json new file mode 100644 index 000000000000..806e5ed64f1d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json @@ -0,0 +1,1169 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2020-05-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction": { + "properties": { + "bestEffort": { + "type": "boolean", + "description": "Indicates whether this restriction is enforced on a Best Effort basis." + }, + "configurationData": { + "type": "integer", + "format": "int32", + "description": "Configures the restriction control bits. Must be between 0 and 3 inclusive." + } + }, + "type": "object", + "required": [ + "bestEffort", + "configurationData" + ], + "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules." + }, + "ContentKeyPolicyPlayReadyContentKeyLocation": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for content key ID location. A derived class must be used to represent the location." + }, + "ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation" + } + ], + "properties": {}, + "type": "object", + "description": "Specifies that the content key ID is in the PlayReady header." + }, + "ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation" + } + ], + "properties": { + "keyId": { + "type": "string", + "format": "uuid", + "description": "The content key ID.", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "keyId" + ], + "description": "Specifies that the content key ID is specified in the PlayReady configuration." + }, + "ContentKeyPolicyPlayReadyPlayRight": { + "properties": { + "firstPlayExpiration": { + "type": "string", + "format": "duration", + "description": "The amount of time that the license is valid after the license is first used to play content." + }, + "scmsRestriction": { + "type": "integer", + "format": "int32", + "description": "Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive." + }, + "agcAndColorStripeRestriction": { + "type": "integer", + "format": "int32", + "description": "Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive." + }, + "explicitAnalogTelevisionOutputRestriction": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction", + "description": "Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive." + }, + "digitalVideoOnlyContentRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "imageConstraintForAnalogComponentVideoRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "imageConstraintForAnalogComputerMonitorRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "allowPassingVideoContentToUnknownOutput": { + "type": "string", + "enum": [ + "Unknown", + "NotAllowed", + "Allowed", + "AllowedWithVideoConstriction" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyUnknownOutputPassingOption", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyUnknownOutputPassingOption that is unavailable in current API version." + }, + { + "value": "NotAllowed", + "description": "Passing the video portion of protected content to an Unknown Output is not allowed." + }, + { + "value": "Allowed", + "description": "Passing the video portion of protected content to an Unknown Output is allowed." + }, + { + "value": "AllowedWithVideoConstriction", + "description": "Passing the video portion of protected content to an Unknown Output is allowed but with constrained resolution." + } + ], + "modelAsString": true + }, + "description": "Configures Unknown output handling settings of the license." + }, + "uncompressedDigitalVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for uncompressed digital video." + }, + "compressedDigitalVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital video." + }, + "analogVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital audio." + }, + "compressedDigitalAudioOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital audio." + }, + "uncompressedDigitalAudioOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for uncompressed digital audio." + } + }, + "type": "object", + "required": [ + "digitalVideoOnlyContentRestriction", + "imageConstraintForAnalogComponentVideoRestriction", + "imageConstraintForAnalogComputerMonitorRestriction", + "allowPassingVideoContentToUnknownOutput" + ], + "description": "Configures the Play Right in the PlayReady license." + }, + "ContentKeyPolicyTokenClaim": { + "properties": { + "claimType": { + "type": "string", + "description": "Token claim type." + }, + "claimValue": { + "type": "string", + "description": "Token claim value." + } + }, + "type": "object", + "description": "Represents a token claim." + }, + "ContentKeyPolicyPlayReadyLicense": { + "properties": { + "allowTestDevices": { + "type": "boolean", + "description": "A flag indicating whether test devices can use the license." + }, + "beginDate": { + "type": "string", + "format": "date-time", + "description": "The begin date of license" + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The expiration date of license." + }, + "relativeBeginDate": { + "type": "string", + "format": "duration", + "description": "The relative begin date of license." + }, + "relativeExpirationDate": { + "type": "string", + "format": "duration", + "description": "The relative expiration date of license." + }, + "gracePeriod": { + "type": "string", + "format": "duration", + "description": "The grace period of license." + }, + "playRight": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyPlayRight", + "description": "The license PlayRight" + }, + "licenseType": { + "type": "string", + "enum": [ + "Unknown", + "NonPersistent", + "Persistent" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyLicenseType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyLicenseType that is unavailable in current API version." + }, + { + "value": "NonPersistent", + "description": "Non persistent license." + }, + { + "value": "Persistent", + "description": "Persistent license. Allows offline playback." + } + ], + "modelAsString": true + }, + "description": "The license type." + }, + "contentKeyLocation": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation", + "description": "The content key location." + }, + "contentType": { + "type": "string", + "enum": [ + "Unknown", + "Unspecified", + "UltraVioletDownload", + "UltraVioletStreaming" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyContentType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyContentType that is unavailable in current API version." + }, + { + "value": "Unspecified", + "description": "Unspecified content type." + }, + { + "value": "UltraVioletDownload", + "description": "Ultraviolet download content type." + }, + { + "value": "UltraVioletStreaming", + "description": "Ultraviolet streaming content type." + } + ], + "modelAsString": true + }, + "description": "The PlayReady content type." + } + }, + "type": "object", + "required": [ + "allowTestDevices", + "licenseType", + "contentKeyLocation", + "contentType" + ], + "description": "The PlayReady license" + }, + "ContentKeyPolicyRestriction": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction." + }, + "ContentKeyPolicyOpenRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyOpenRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": {}, + "type": "object", + "description": "Represents an open restriction. License or key will be delivered on every request." + }, + "ContentKeyPolicyUnknownRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyUnknownRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a ContentKeyPolicyRestriction that is unavailable in the current API version." + }, + "ContentKeyPolicyConfiguration": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration." + }, + "ContentKeyPolicyRestrictionTokenKey": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key." + }, + "ContentKeyPolicySymmetricTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "keyValue": { + "type": "string", + "format": "byte", + "description": "The key value of the key", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "keyValue" + ], + "description": "Specifies a symmetric key for token validation." + }, + "ContentKeyPolicyRsaTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "exponent": { + "type": "string", + "format": "byte", + "description": "The RSA Parameter exponent", + "x-nullable": true + }, + "modulus": { + "type": "string", + "format": "byte", + "description": "The RSA Parameter modulus", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "exponent", + "modulus" + ], + "description": "Specifies a RSA key for token validation" + }, + "ContentKeyPolicyX509CertificateTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "rawBody": { + "type": "string", + "format": "byte", + "description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "rawBody" + ], + "description": "Specifies a certificate for token validation." + }, + "ContentKeyPolicyTokenRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": { + "issuer": { + "type": "string", + "description": "The token issuer." + }, + "audience": { + "type": "string", + "description": "The audience for the token." + }, + "primaryVerificationKey": { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey", + "description": "The primary verification key." + }, + "alternateVerificationKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + }, + "description": "A list of alternative verification keys." + }, + "requiredClaims": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyTokenClaim" + }, + "description": "A list of required token claims." + }, + "restrictionTokenType": { + "type": "string", + "enum": [ + "Unknown", + "Swt", + "Jwt" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyRestrictionTokenType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyRestrictionTokenType that is unavailable in current API version." + }, + { + "value": "Swt", + "description": "Simple Web Token." + }, + { + "value": "Jwt", + "description": "JSON Web Token." + } + ], + "modelAsString": true + }, + "description": "The type of token." + }, + "openIdConnectDiscoveryDocument": { + "type": "string", + "description": "The OpenID connect discovery document." + } + }, + "type": "object", + "required": [ + "issuer", + "audience", + "primaryVerificationKey", + "restrictionTokenType" + ], + "description": "Represents a token restriction. Provided token must match these requirements for successful license or key delivery." + }, + "ContentKeyPolicyClearKeyConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a configuration for non-DRM keys." + }, + "ContentKeyPolicyUnknownConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a ContentKeyPolicyConfiguration that is unavailable in the current API version." + }, + "ContentKeyPolicyWidevineConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "widevineTemplate": { + "type": "string", + "description": "The Widevine template." + } + }, + "type": "object", + "required": [ + "widevineTemplate" + ], + "description": "Specifies a configuration for Widevine licenses." + }, + "ContentKeyPolicyPlayReadyConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "licenses": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyLicense" + }, + "description": "The PlayReady licenses." + }, + "responseCustomData": { + "type": "string", + "description": "The custom response data." + } + }, + "type": "object", + "required": [ + "licenses" + ], + "description": "Specifies a configuration for PlayReady licenses." + }, + "ContentKeyPolicyFairPlayOfflineRentalConfiguration": { + "properties": { + "playbackDurationSeconds": { + "type": "integer", + "format": "int64", + "description": "Playback duration" + }, + "storageDurationSeconds": { + "type": "integer", + "format": "int64", + "description": "Storage duration" + } + }, + "type": "object", + "required": [ + "playbackDurationSeconds", + "storageDurationSeconds" + ] + }, + "ContentKeyPolicyFairPlayConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "ask": { + "type": "string", + "format": "byte", + "description": "The key that must be used as FairPlay Application Secret key.", + "x-nullable": true + }, + "fairPlayPfxPassword": { + "type": "string", + "description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format.", + "x-nullable": true + }, + "fairPlayPfx": { + "type": "string", + "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).", + "x-nullable": true + }, + "rentalAndLeaseKeyType": { + "type": "string", + "enum": [ + "Unknown", + "Undefined", + "DualExpiry", + "PersistentUnlimited", + "PersistentLimited" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyFairPlayRentalAndLeaseKeyType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyFairPlayRentalAndLeaseKeyType that is unavailable in current API version." + }, + { + "value": "Undefined", + "description": "Key duration is not specified." + }, + { + "value": "DualExpiry", + "description": "Dual expiry for offline rental." + }, + { + "value": "PersistentUnlimited", + "description": "Content key can be persisted with an unlimited duration" + }, + { + "value": "PersistentLimited", + "description": "Content key can be persisted and the valid duration is limited by the Rental Duration value" + } + ], + "modelAsString": true + }, + "description": "The rental and lease key type." + }, + "rentalDuration": { + "type": "integer", + "format": "int64", + "description": "The rental duration. Must be greater than or equal to 0." + }, + "offlineRentalConfiguration": { + "$ref": "#/definitions/ContentKeyPolicyFairPlayOfflineRentalConfiguration", + "description": "Offline rental policy" + } + }, + "type": "object", + "required": [ + "ask", + "fairPlayPfxPassword", + "fairPlayPfx", + "rentalAndLeaseKeyType", + "rentalDuration" + ], + "description": "Specifies a configuration for FairPlay licenses." + }, + "ContentKeyPolicyOption": { + "properties": { + "policyOptionId": { + "type": "string", + "format": "uuid", + "description": "The legacy Policy Option ID.", + "readOnly": true, + "x-nullable": false + }, + "name": { + "type": "string", + "description": "The Policy Option description." + }, + "configuration": { + "$ref": "#/definitions/ContentKeyPolicyConfiguration", + "description": "The key delivery configuration." + }, + "restriction": { + "$ref": "#/definitions/ContentKeyPolicyRestriction", + "description": "The requirements that must be met to deliver keys with this configuration" + } + }, + "type": "object", + "required": [ + "configuration", + "restriction" + ], + "description": "Represents a policy option." + }, + "ContentKeyPolicyProperties": { + "properties": { + "policyId": { + "type": "string", + "format": "uuid", + "description": "The legacy Policy ID.", + "readOnly": true, + "x-nullable": false + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation date of the Policy", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The last modified date of the Policy", + "readOnly": true, + "x-nullable": false + }, + "description": { + "type": "string", + "description": "A description for the Policy." + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyOption" + }, + "description": "The Key Policy options." + } + }, + "type": "object", + "required": [ + "options" + ], + "description": "The properties of the Content Key Policy." + }, + "ContentKeyPolicy": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ContentKeyPolicyProperties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "A Content Key Policy resource." + }, + "ContentKeyPolicyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "A collection of ContentKeyPolicy items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of ContentKeyPolicy items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies": { + "get": { + "summary": "List Content Key Policies", + "description": "Lists the Content Key Policies in the account", + "operationId": "ContentKeyPolicies_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicyCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/ContentKeyPolicy", + "x-ms-examples": { + "Lists all Content Key Policies": { + "$ref": "examples/content-key-policies-list-all.json" + }, + "Lists Content Key Policies ordered by last modified.": { + "$ref": "examples/content-key-policies-list-by-lastModified.json" + }, + "Lists Content Key Policies with created and last modified filters.": { + "$ref": "examples/content-key-policies-list-in-date-range.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}": { + "get": { + "summary": "Get a Content Key Policy", + "description": "Get the details of a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Content Key Policy by name": { + "$ref": "examples/content-key-policies-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Content Key Policy", + "description": "Create or update a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Content Key Policy with PlayReady option and Open Restriction": { + "$ref": "examples/content-key-policies-create-playready-open.json" + }, + "Creates a Content Key Policy with Widevine option and Token Restriction": { + "$ref": "examples/content-key-policies-create-widevine-token.json" + }, + "Creates a Content Key Policy with ClearKey option and Token Restriction": { + "$ref": "examples/content-key-policies-create-nodrm-token.json" + }, + "Creates a Content Key Policy with multiple options": { + "$ref": "examples/content-key-policies-create-multiple-options.json" + } + } + }, + "delete": { + "summary": "Delete a Content Key Policy", + "description": "Deletes a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Key Policy": { + "$ref": "examples/content-key-policies-delete.json" + } + } + }, + "patch": { + "summary": "Update a Content Key Policy", + "description": "Updates an existing Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update a Content Key Policy": { + "$ref": "examples/content-key-policies-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets": { + "post": { + "summary": "Get a Content Key Policy with secrets", + "description": "Get a Content Key Policy including secret values", + "operationId": "ContentKeyPolicies_GetPolicyPropertiesWithSecrets", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicyProperties" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Content Key Policy with secrets": { + "$ref": "examples/content-key-policies-get-with-secrets.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Encoding.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Encoding.json new file mode 100644 index 000000000000..57052bf2fe4d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/Encoding.json @@ -0,0 +1,2445 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2020-05-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "Preset": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base type for all Presets, which define the recipe or instructions on how the input media files should be processed." + }, + "Codec": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "label": { + "type": "string", + "description": "An optional label for the codec. The label can be used to control muxing behavior." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Describes the basic properties of all codecs." + }, + "Audio": { + "x-ms-discriminator-value": "#Microsoft.Media.Audio", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": { + "channels": { + "type": "integer", + "format": "int32", + "description": "The number of channels in the audio." + }, + "samplingRate": { + "type": "integer", + "format": "int32", + "description": "The sampling rate to use for encoding in hertz." + }, + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The bitrate, in bits per second, of the output encoded audio." + } + }, + "type": "object", + "description": "Defines the common properties for all audio codecs." + }, + "AacAudio": { + "x-ms-discriminator-value": "#Microsoft.Media.AacAudio", + "allOf": [ + { + "$ref": "#/definitions/Audio" + } + ], + "properties": { + "profile": { + "type": "string", + "enum": [ + "AacLc", + "HeAacV1", + "HeAacV2" + ], + "x-ms-enum": { + "name": "AacAudioProfile", + "values": [ + { + "value": "AacLc", + "description": "Specifies that the output audio is to be encoded into AAC Low Complexity profile (AAC-LC)." + }, + { + "value": "HeAacV1", + "description": "Specifies that the output audio is to be encoded into HE-AAC v1 profile." + }, + { + "value": "HeAacV2", + "description": "Specifies that the output audio is to be encoded into HE-AAC v2 profile." + } + ], + "modelAsString": true + }, + "description": "The encoding profile to be used when encoding audio with AAC." + } + }, + "type": "object", + "description": "Describes Advanced Audio Codec (AAC) audio encoding settings." + }, + "FaceDetectorPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.FaceDetectorPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "resolution": { + "type": "string", + "enum": [ + "SourceResolution", + "StandardDefinition" + ], + "x-ms-enum": { + "name": "AnalysisResolution", + "values": [ + { + "value": "SourceResolution" + }, + { + "value": "StandardDefinition" + } + ], + "modelAsString": true + }, + "description": "Specifies the maximum resolution at which your video is analyzed. The default behavior is \"SourceResolution,\" which will keep the input video at its original resolution when analyzed. Using \"StandardDefinition\" will resize input videos to standard definition while preserving the appropriate aspect ratio. It will only resize if the video is of higher resolution. For example, a 1920x1080 input would be scaled to 640x360 before processing. Switching to \"StandardDefinition\" will reduce the time it takes to process high resolution video. It may also reduce the cost of using this component (see https://azure.microsoft.com/en-us/pricing/details/media-services/#analytics for details). However, faces that end up being too small in the resized video may not be detected." + }, + "experimentalOptions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Dictionary containing key value pairs for parameters not exposed in the preset itself" + } + }, + "type": "object", + "description": "Describes all the settings to be used when analyzing a video in order to detect all the faces present." + }, + "AudioAnalyzerPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.AudioAnalyzerPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "audioLanguage": { + "type": "string", + "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\" The list of supported languages is available here: https://go.microsoft.com/fwlink/?linkid=2109463" + }, + "experimentalOptions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Dictionary containing key value pairs for parameters not exposed in the preset itself" + } + }, + "type": "object", + "description": "The Audio Analyzer preset applies a pre-defined set of AI-based analysis operations, including speech transcription. Currently, the preset supports processing of content with a single audio track." + }, + "Overlay": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "inputLabel": { + "type": "string", + "description": "The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats." + }, + "start": { + "type": "string", + "format": "duration", + "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video." + }, + "end": { + "type": "string", + "format": "duration", + "description": "The position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media." + }, + "fadeInDuration": { + "type": "string", + "format": "duration", + "description": "The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S)." + }, + "fadeOutDuration": { + "type": "string", + "format": "duration", + "description": "The duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S)." + }, + "audioGainLevel": { + "type": "number", + "format": "double", + "description": "The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0." + } + }, + "type": "object", + "required": [ + "@odata.type", + "inputLabel" + ], + "description": "Base type for all overlays - image, audio or video." + }, + "AudioOverlay": { + "x-ms-discriminator-value": "#Microsoft.Media.AudioOverlay", + "allOf": [ + { + "$ref": "#/definitions/Overlay" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the properties of an audio overlay." + }, + "CopyVideo": { + "x-ms-discriminator-value": "#Microsoft.Media.CopyVideo", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": {}, + "type": "object", + "description": "A codec flag, which tells the encoder to copy the input video bitstream without re-encoding." + }, + "Video": { + "x-ms-discriminator-value": "#Microsoft.Media.Video", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": { + "keyFrameInterval": { + "type": "string", + "format": "duration", + "description": "The distance between two key frames. The value should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 format. The default is 2 seconds(PT2S). Note that this setting is ignored if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will follow the input source setting." + }, + "stretchMode": { + "type": "string", + "enum": [ + "None", + "AutoSize", + "AutoFit" + ], + "x-ms-enum": { + "name": "StretchMode", + "values": [ + { + "value": "None", + "description": "Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video." + }, + { + "value": "AutoSize", + "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." + }, + { + "value": "AutoFit", + "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." + } + ], + "modelAsString": true + }, + "description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize" + }, + "syncMode": { + "type": "string", + "enum": [ + "Auto", + "Passthrough", + "Cfr", + "Vfr" + ], + "x-ms-enum": { + "name": "VideoSyncMode", + "values": [ + { + "value": "Auto", + "description": "This is the default method. Chooses between Cfr and Vfr depending on muxer capabilities. For output format MP4, the default mode is Cfr." + }, + { + "value": "Passthrough", + "description": "The presentation timestamps on frames are passed through from the input file to the output file writer. Recommended when the input source has variable frame rate, and are attempting to produce multiple layers for adaptive streaming in the output which have aligned GOP boundaries. Note: if two or more frames in the input have duplicate timestamps, then the output will also have the same behavior" + }, + { + "value": "Cfr", + "description": "Input frames will be repeated and/or dropped as needed to achieve exactly the requested constant frame rate. Recommended when the output frame rate is explicitly set at a specified value" + }, + { + "value": "Vfr", + "description": "Similar to the Passthrough mode, but if the input has frames that have duplicate timestamps, then only one frame is passed through to the output, and others are dropped. Recommended when the number of output frames is expected to be equal to the number of input frames. For example, the output is used to calculate a quality metric like PSNR against the input" + } + ], + "modelAsString": true + }, + "description": "The Video Sync Mode" + } + }, + "type": "object", + "description": "Describes the basic properties for encoding the input video." + }, + "Image": { + "x-ms-discriminator-value": "#Microsoft.Media.Image", + "allOf": [ + { + "$ref": "#/definitions/Video" + } + ], + "properties": { + "start": { + "type": "string", + "description": "The position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video." + }, + "step": { + "type": "string", + "description": "The intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%)." + }, + "range": { + "type": "string", + "description": "The position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%)." + } + }, + "type": "object", + "required": [ + "start" + ], + "description": "Describes the basic properties for generating thumbnails from the input video" + }, + "Format": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "filenamePattern": { + "type": "string", + "description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename." + } + }, + "type": "object", + "required": [ + "@odata.type", + "filenamePattern" + ], + "description": "Base class for output." + }, + "ImageFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.ImageFormat", + "allOf": [ + { + "$ref": "#/definitions/Format" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the properties for an output image file." + }, + "JpgFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.JpgFormat", + "allOf": [ + { + "$ref": "#/definitions/ImageFormat" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the settings for producing JPEG thumbnails." + }, + "PngFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.PngFormat", + "allOf": [ + { + "$ref": "#/definitions/ImageFormat" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the settings for producing PNG thumbnails." + }, + "CopyAudio": { + "x-ms-discriminator-value": "#Microsoft.Media.CopyAudio", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": {}, + "type": "object", + "description": "A codec flag, which tells the encoder to copy the input audio bitstream." + }, + "Deinterlace": { + "properties": { + "parity": { + "type": "string", + "enum": [ + "Auto", + "TopFieldFirst", + "BottomFieldFirst" + ], + "x-ms-enum": { + "name": "DeinterlaceParity", + "values": [ + { + "value": "Auto", + "description": "Automatically detect the order of fields" + }, + { + "value": "TopFieldFirst", + "description": "Apply top field first processing of input video." + }, + { + "value": "BottomFieldFirst", + "description": "Apply bottom field first processing of input video." + } + ], + "modelAsString": true + }, + "description": "The field parity for de-interlacing, defaults to Auto." + }, + "mode": { + "type": "string", + "enum": [ + "Off", + "AutoPixelAdaptive" + ], + "x-ms-enum": { + "name": "DeinterlaceMode", + "values": [ + { + "value": "Off", + "description": "Disables de-interlacing of the source video." + }, + { + "value": "AutoPixelAdaptive", + "description": "Apply automatic pixel adaptive de-interlacing on each frame in the input video." + } + ], + "modelAsString": true + }, + "description": "The deinterlacing mode. Defaults to AutoPixelAdaptive." + } + }, + "type": "object", + "description": "Describes the de-interlacing settings." + }, + "Rectangle": { + "properties": { + "left": { + "type": "string", + "description": "The number of pixels from the left-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)." + }, + "top": { + "type": "string", + "description": "The number of pixels from the top-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)." + }, + "width": { + "type": "string", + "description": "The width of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)." + }, + "height": { + "type": "string", + "description": "The height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)." + } + }, + "type": "object", + "description": "Describes the properties of a rectangular window applied to the input media before processing it." + }, + "Filters": { + "properties": { + "deinterlace": { + "$ref": "#/definitions/Deinterlace", + "description": "The de-interlacing settings." + }, + "rotation": { + "type": "string", + "enum": [ + "Auto", + "None", + "Rotate0", + "Rotate90", + "Rotate180", + "Rotate270" + ], + "x-ms-enum": { + "name": "Rotation", + "values": [ + { + "value": "Auto", + "description": "Automatically detect and rotate as needed." + }, + { + "value": "None", + "description": "Do not rotate the video. If the output format supports it, any metadata about rotation is kept intact." + }, + { + "value": "Rotate0", + "description": "Do not rotate the video but remove any metadata about the rotation." + }, + { + "value": "Rotate90", + "description": "Rotate 90 degrees clockwise." + }, + { + "value": "Rotate180", + "description": "Rotate 180 degrees clockwise." + }, + { + "value": "Rotate270", + "description": "Rotate 270 degrees clockwise." + } + ], + "modelAsString": true + }, + "description": "The rotation, if any, to be applied to the input video, before it is encoded. Default is Auto" + }, + "crop": { + "$ref": "#/definitions/Rectangle", + "description": "The parameters for the rectangular window with which to crop the input video." + }, + "overlays": { + "type": "array", + "items": { + "$ref": "#/definitions/Overlay" + }, + "description": "The properties of overlays to be applied to the input video. These could be audio, image or video overlays." + } + }, + "type": "object", + "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding." + }, + "Layer": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "width": { + "type": "string", + "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input." + }, + "height": { + "type": "string", + "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input." + }, + "label": { + "type": "string", + "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "The encoder can be configured to produce video and/or images (thumbnails) at different resolutions, by specifying a layer for each desired resolution. A layer represents the properties for the video or image at a resolution." + }, + "VideoLayer": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoLayer", + "allOf": [ + { + "$ref": "#/definitions/Layer" + } + ], + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field." + }, + "maxBitrate": { + "type": "integer", + "format": "int32", + "description": "The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate." + }, + "bFrames": { + "type": "integer", + "format": "int32", + "description": "The number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level." + }, + "frameRate": { + "type": "string", + "description": "The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video." + }, + "slices": { + "type": "integer", + "format": "int32", + "description": "The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame." + }, + "adaptiveBFrame": { + "type": "boolean", + "description": "Whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer." + }, + "H264Layer": { + "x-ms-discriminator-value": "#Microsoft.Media.H264Layer", + "allOf": [ + { + "$ref": "#/definitions/VideoLayer" + } + ], + "properties": { + "profile": { + "type": "string", + "enum": [ + "Auto", + "Baseline", + "Main", + "High", + "High422", + "High444" + ], + "x-ms-enum": { + "name": "H264VideoProfile", + "values": [ + { + "value": "Auto", + "description": "Tells the encoder to automatically determine the appropriate H.264 profile." + }, + { + "value": "Baseline", + "description": "Baseline profile" + }, + { + "value": "Main", + "description": "Main profile" + }, + { + "value": "High", + "description": "High profile." + }, + { + "value": "High422", + "description": "High 4:2:2 profile." + }, + { + "value": "High444", + "description": "High 4:4:4 predictive profile." + } + ], + "modelAsString": true + }, + "description": "We currently support Baseline, Main, High, High422, High444. Default is Auto." + }, + "level": { + "type": "string", + "description": "We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer." + }, + "bufferWindow": { + "type": "string", + "format": "duration", + "description": "The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S)." + }, + "referenceFrames": { + "type": "integer", + "format": "int32", + "description": "The number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting." + }, + "entropyMode": { + "type": "string", + "enum": [ + "Cabac", + "Cavlc" + ], + "x-ms-enum": { + "name": "EntropyMode", + "values": [ + { + "value": "Cabac", + "description": "Context Adaptive Binary Arithmetic Coder (CABAC) entropy encoding." + }, + { + "value": "Cavlc", + "description": "Context Adaptive Variable Length Coder (CAVLC) entropy encoding." + } + ], + "modelAsString": true + }, + "description": "The entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level." + } + }, + "type": "object", + "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer with the H.264 video codec." + }, + "H264Video": { + "x-ms-discriminator-value": "#Microsoft.Media.H264Video", + "allOf": [ + { + "$ref": "#/definitions/Video" + } + ], + "properties": { + "sceneChangeDetection": { + "type": "boolean", + "description": "Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video." + }, + "complexity": { + "type": "string", + "enum": [ + "Speed", + "Balanced", + "Quality" + ], + "x-ms-enum": { + "name": "H264Complexity", + "values": [ + { + "value": "Speed", + "description": "Tells the encoder to use settings that are optimized for faster encoding. Quality is sacrificed to decrease encoding time." + }, + { + "value": "Balanced", + "description": "Tells the encoder to use settings that achieve a balance between speed and quality." + }, + { + "value": "Quality", + "description": "Tells the encoder to use settings that are optimized to produce higher quality output at the expense of slower overall encode time." + } + ], + "modelAsString": true + }, + "description": "Tells the encoder how to choose its encoding settings. The default value is Balanced." + }, + "layers": { + "type": "array", + "items": { + "$ref": "#/definitions/H264Layer" + }, + "description": "The collection of output H.264 layers to be produced by the encoder." + } + }, + "type": "object", + "description": "Describes all the properties for encoding a video with the H.264 codec." + }, + "JpgImage": { + "x-ms-discriminator-value": "#Microsoft.Media.JpgImage", + "allOf": [ + { + "$ref": "#/definitions/Image" + } + ], + "properties": { + "layers": { + "type": "array", + "items": { + "$ref": "#/definitions/JpgLayer" + }, + "description": "A collection of output JPEG image layers to be produced by the encoder." + } + }, + "type": "object", + "description": "Describes the properties for producing a series of JPEG images from the input video." + }, + "JpgLayer": { + "x-ms-discriminator-value": "#Microsoft.Media.JpgLayer", + "allOf": [ + { + "$ref": "#/definitions/Layer" + } + ], + "properties": { + "quality": { + "type": "integer", + "format": "int32", + "description": "The compression quality of the JPEG output. Range is from 0-100 and the default is 70." + } + }, + "type": "object", + "description": "Describes the settings to produce a JPEG image from the input video." + }, + "MultiBitrateFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.MultiBitrateFormat", + "allOf": [ + { + "$ref": "#/definitions/Format" + } + ], + "properties": { + "outputFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFile" + }, + "description": "The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together ." + } + }, + "type": "object", + "description": "Describes the properties for producing a collection of GOP aligned multi-bitrate files. The default behavior is to produce one output file for each video layer which is muxed together with all the audios. The exact output files produced can be controlled by specifying the outputFiles collection." + }, + "OutputFile": { + "properties": { + "labels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1." + } + }, + "type": "object", + "required": [ + "labels" + ], + "description": "Represents an output file produced." + }, + "Mp4Format": { + "x-ms-discriminator-value": "#Microsoft.Media.Mp4Format", + "allOf": [ + { + "$ref": "#/definitions/MultiBitrateFormat" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the properties for an output ISO MP4 file." + }, + "PngImage": { + "x-ms-discriminator-value": "#Microsoft.Media.PngImage", + "allOf": [ + { + "$ref": "#/definitions/Image" + } + ], + "properties": { + "layers": { + "type": "array", + "items": { + "$ref": "#/definitions/PngLayer" + }, + "description": "A collection of output PNG image layers to be produced by the encoder." + } + }, + "type": "object", + "description": "Describes the properties for producing a series of PNG images from the input video." + }, + "PngLayer": { + "x-ms-discriminator-value": "#Microsoft.Media.PngLayer", + "allOf": [ + { + "$ref": "#/definitions/Layer" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the settings to produce a PNG image from the input video." + }, + "BuiltInStandardEncoderPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "presetName": { + "type": "string", + "enum": [ + "H264SingleBitrateSD", + "H264SingleBitrate720p", + "H264SingleBitrate1080p", + "AdaptiveStreaming", + "AACGoodQualityAudio", + "ContentAwareEncodingExperimental", + "ContentAwareEncoding", + "H264MultipleBitrate1080p", + "H264MultipleBitrate720p", + "H264MultipleBitrateSD" + ], + "x-ms-enum": { + "name": "EncoderNamedPreset", + "values": [ + { + "value": "H264SingleBitrateSD", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "H264SingleBitrate720p", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "H264SingleBitrate1080p", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "AdaptiveStreaming", + "description": "Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution and bitrate. The auto-generated preset will never exceed the input resolution and bitrate. For example, if the input is 720p at 3 Mbps, output will remain 720p at best, and will start at rates lower than 3 Mbps. The output will have video and audio in separate MP4 files, which is optimal for adaptive streaming." + }, + { + "value": "AACGoodQualityAudio", + "description": "Produces a single MP4 file containing only stereo audio encoded at 192 kbps." + }, + { + "value": "ContentAwareEncodingExperimental", + "description": "Exposes an experimental preset for content-aware encoding. Given any input content, the service attempts to automatically determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. The underlying algorithms will continue to evolve over time. The output will contain MP4 files with video and audio interleaved." + }, + { + "value": "ContentAwareEncoding", + "description": "Produces a set of GOP-aligned MP4s by using content-aware encoding. Given any input content, the service performs an initial lightweight analysis of the input content, and uses the results to determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. This preset is particularly effective for low and medium complexity videos, where the output files will be at lower bitrates but at a quality that still delivers a good experience to viewers. The output will contain MP4 files with video and audio interleaved." + }, + { + "value": "H264MultipleBitrate1080p", + "description": "Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 180p." + }, + { + "value": "H264MultipleBitrate720p", + "description": "Produces a set of 6 GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 720p and goes down to 180p." + }, + { + "value": "H264MultipleBitrateSD", + "description": "Produces a set of 5 GOP-aligned MP4 files, ranging from 1900kbps to 400 kbps, and stereo AAC audio. Resolution starts at 480p and goes down to 240p." + } + ], + "modelAsString": true + }, + "description": "The built-in preset to be used for encoding videos." + } + }, + "type": "object", + "required": [ + "presetName" + ], + "description": "Describes a built-in preset for encoding the input video with the Standard Encoder." + }, + "StandardEncoderPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.StandardEncoderPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "filters": { + "$ref": "#/definitions/Filters", + "description": "One or more filtering operations that are applied to the input media before encoding." + }, + "codecs": { + "type": "array", + "items": { + "$ref": "#/definitions/Codec" + }, + "description": "The list of codecs to be used when encoding the input video." + }, + "formats": { + "type": "array", + "items": { + "$ref": "#/definitions/Format" + }, + "description": "The list of outputs to be produced by the encoder." + } + }, + "type": "object", + "required": [ + "codecs", + "formats" + ], + "description": "Describes all the settings to be used when encoding the input video with the Standard Encoder." + }, + "VideoAnalyzerPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoAnalyzerPreset", + "allOf": [ + { + "$ref": "#/definitions/AudioAnalyzerPreset" + } + ], + "properties": { + "insightsToExtract": { + "type": "string", + "enum": [ + "AudioInsightsOnly", + "VideoInsightsOnly", + "AllInsights" + ], + "x-ms-enum": { + "name": "InsightsType", + "values": [ + { + "value": "AudioInsightsOnly", + "description": "Generate audio only insights. Ignore video even if present. Fails if no audio is present." + }, + { + "value": "VideoInsightsOnly", + "description": "Generate video only insights. Ignore audio if present. Fails if no video is present." + }, + { + "value": "AllInsights", + "description": "Generate both audio and video insights. Fails if either audio or video Insights fail." + } + ], + "modelAsString": true + }, + "description": "Defines the type of insights that you want the service to generate. The allowed values are 'AudioInsightsOnly', 'VideoInsightsOnly', and 'AllInsights'. The default is AllInsights. If you set this to AllInsights and the input is audio only, then only audio insights are generated. Similarly if the input is video only, then only video insights are generated. It is recommended that you not use AudioInsightsOnly if you expect some of your inputs to be video only; or use VideoInsightsOnly if you expect some of your inputs to be audio only. Your Jobs in such conditions would error out." + } + }, + "type": "object", + "description": "A video analyzer preset that extracts insights (rich metadata) from both audio and video, and outputs a JSON format file." + }, + "TransportStreamFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.TransportStreamFormat", + "allOf": [ + { + "$ref": "#/definitions/MultiBitrateFormat" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the properties for generating an MPEG-2 Transport Stream (ISO/IEC 13818-1) output video file(s)." + }, + "VideoOverlay": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoOverlay", + "allOf": [ + { + "$ref": "#/definitions/Overlay" + } + ], + "properties": { + "position": { + "$ref": "#/definitions/Rectangle", + "description": "The location in the input video where the overlay is applied." + }, + "opacity": { + "type": "number", + "format": "double", + "description": "The opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque." + }, + "cropRectangle": { + "$ref": "#/definitions/Rectangle", + "description": "An optional rectangular window used to crop the overlay image or video." + } + }, + "type": "object", + "description": "Describes the properties of a video overlay." + }, + "TransformOutput": { + "properties": { + "onError": { + "type": "string", + "enum": [ + "StopProcessingJob", + "ContinueJob" + ], + "x-ms-enum": { + "name": "OnErrorType", + "values": [ + { + "value": "StopProcessingJob", + "description": "Tells the service that if this TransformOutput fails, then any other incomplete TransformOutputs can be stopped." + }, + { + "value": "ContinueJob", + "description": "Tells the service that if this TransformOutput fails, then allow any other TransformOutput to continue." + } + ], + "modelAsString": true + }, + "description": "A Transform can define more than one outputs. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The overall Job state will not reflect failures of outputs that are specified with 'ContinueJob'. The default is 'StopProcessingJob'." + }, + "relativePriority": { + "type": "string", + "enum": [ + "Low", + "Normal", + "High" + ], + "x-ms-enum": { + "name": "Priority", + "values": [ + { + "value": "Low", + "description": "Used for TransformOutputs that can be generated after Normal and High priority TransformOutputs." + }, + { + "value": "Normal", + "description": "Used for TransformOutputs that can be generated at Normal priority." + }, + { + "value": "High", + "description": "Used for TransformOutputs that should take precedence over others." + } + ], + "modelAsString": true + }, + "description": "Sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal." + }, + "preset": { + "$ref": "#/definitions/Preset", + "description": "Preset that describes the operations that will be used to modify, transcode, or extract insights from the source file to generate the output." + } + }, + "type": "object", + "required": [ + "preset" + ], + "description": "Describes the properties of a TransformOutput, which are the rules to be applied while generating the desired output." + }, + "TransformProperties": { + "properties": { + "created": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time when the Transform was created, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "readOnly": true, + "x-nullable": false + }, + "description": { + "type": "string", + "description": "An optional verbose description of the Transform." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time when the Transform was last updated, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "readOnly": true, + "x-nullable": false + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/TransformOutput" + }, + "description": "An array of one or more TransformOutputs that the Transform should generate." + } + }, + "type": "object", + "required": [ + "outputs" + ], + "description": "A Transform." + }, + "Transform": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TransformProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "A Transform encapsulates the rules or instructions for generating desired outputs from input media, such as by transcoding or by extracting insights. After the Transform is created, it can be applied to input media by creating Jobs." + }, + "JobInput": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for inputs to a Job." + }, + "JobInputClip": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputClip", + "allOf": [ + { + "$ref": "#/definitions/JobInput" + } + ], + "properties": { + "files": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of files. Required for JobInputHttp. Maximum of 4000 characters each." + }, + "start": { + "$ref": "#/definitions/ClipTime", + "description": "Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media." + }, + "end": { + "$ref": "#/definitions/ClipTime", + "description": "Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media." + }, + "label": { + "type": "string", + "description": "A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'." + } + }, + "type": "object", + "description": "Represents input files for a Job." + }, + "ClipTime": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for specifying a clip time. Use sub classes of this class to specify the time position in the media." + }, + "AbsoluteClipTime": { + "x-ms-discriminator-value": "#Microsoft.Media.AbsoluteClipTime", + "allOf": [ + { + "$ref": "#/definitions/ClipTime" + } + ], + "properties": { + "time": { + "type": "string", + "format": "duration", + "description": "The time position on the timeline of the input media. It is usually specified as an ISO8601 period. e.g PT30S for 30 seconds." + } + }, + "type": "object", + "required": [ + "time" + ], + "description": "Specifies the clip time as an absolute time position in the media file. The absolute time can point to a different position depending on whether the media file starts from a timestamp of zero or not." + }, + "JobInputs": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputs", + "allOf": [ + { + "$ref": "#/definitions/JobInput" + } + ], + "properties": { + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/JobInput" + }, + "description": "List of inputs to a Job." + } + }, + "type": "object", + "description": "Describes a list of inputs to a Job." + }, + "JobInputAsset": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputAsset", + "allOf": [ + { + "$ref": "#/definitions/JobInputClip" + } + ], + "properties": { + "assetName": { + "type": "string", + "description": "The name of the input Asset." + } + }, + "type": "object", + "required": [ + "assetName" + ], + "description": "Represents an Asset for input into a Job." + }, + "JobInputHttp": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputHttp", + "allOf": [ + { + "$ref": "#/definitions/JobInputClip" + } + ], + "properties": { + "baseUri": { + "type": "string", + "description": "Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters." + } + }, + "type": "object", + "description": "Represents HTTPS job input." + }, + "JobOutput": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "error": { + "$ref": "#/definitions/JobError", + "description": "If the JobOutput is in the Error state, it contains the details of the error.", + "readOnly": true + }, + "state": { + "type": "string", + "enum": [ + "Canceled", + "Canceling", + "Error", + "Finished", + "Processing", + "Queued", + "Scheduled" + ], + "x-ms-enum": { + "name": "JobState", + "values": [ + { + "value": "Canceled", + "description": "The job was canceled. This is a final state for the job." + }, + { + "value": "Canceling", + "description": "The job is in the process of being canceled. This is a transient state for the job." + }, + { + "value": "Error", + "description": "The job has encountered an error. This is a final state for the job." + }, + { + "value": "Finished", + "description": "The job is finished. This is a final state for the job." + }, + { + "value": "Processing", + "description": "The job is processing. This is a transient state for the job." + }, + { + "value": "Queued", + "description": "The job is in a queued state, waiting for resources to become available. This is a transient state." + }, + { + "value": "Scheduled", + "description": "The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states." + } + ], + "modelAsString": true + }, + "description": "Describes the state of the JobOutput.", + "readOnly": true, + "x-nullable": false + }, + "progress": { + "type": "integer", + "format": "int32", + "description": "If the JobOutput is in a Processing state, this contains the Job completion percentage. The value is an estimate and not intended to be used to predict Job completion times. To determine if the JobOutput is complete, use the State property.", + "readOnly": true, + "x-nullable": false + }, + "label": { + "type": "string", + "description": "A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job Output began processing.", + "readOnly": true, + "x-nullable": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job Output finished processing.", + "readOnly": true, + "x-nullable": true + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Describes all the properties of a JobOutput." + }, + "JobError": { + "properties": { + "code": { + "type": "string", + "enum": [ + "ServiceError", + "ServiceTransientError", + "DownloadNotAccessible", + "DownloadTransientError", + "UploadNotAccessible", + "UploadTransientError", + "ConfigurationUnsupported", + "ContentMalformed", + "ContentUnsupported" + ], + "x-ms-enum": { + "name": "JobErrorCode", + "values": [ + { + "value": "ServiceError", + "description": "Fatal service error, please contact support." + }, + { + "value": "ServiceTransientError", + "description": "Transient error, please retry, if retry is unsuccessful, please contact support." + }, + { + "value": "DownloadNotAccessible", + "description": "While trying to download the input files, the files were not accessible, please check the availability of the source." + }, + { + "value": "DownloadTransientError", + "description": "While trying to download the input files, there was an issue during transfer (storage service, network errors), see details and check your source." + }, + { + "value": "UploadNotAccessible", + "description": "While trying to upload the output files, the destination was not reachable, please check the availability of the destination." + }, + { + "value": "UploadTransientError", + "description": "While trying to upload the output files, there was an issue during transfer (storage service, network errors), see details and check your destination." + }, + { + "value": "ConfigurationUnsupported", + "description": "There was a problem with the combination of input files and the configuration settings applied, fix the configuration settings and retry with the same input, or change input to match the configuration." + }, + { + "value": "ContentMalformed", + "description": "There was a problem with the input content (for example: zero byte files, or corrupt/non-decodable files), check the input files." + }, + { + "value": "ContentUnsupported", + "description": "There was a problem with the format of the input (not valid media file, or an unsupported file/codec), check the validity of the input files." + } + ], + "modelAsString": true + }, + "description": "Error code describing the error.", + "readOnly": true, + "x-nullable": false + }, + "message": { + "type": "string", + "description": "A human-readable language-dependent representation of the error.", + "readOnly": true + }, + "category": { + "type": "string", + "enum": [ + "Service", + "Download", + "Upload", + "Configuration", + "Content" + ], + "x-ms-enum": { + "name": "JobErrorCategory", + "values": [ + { + "value": "Service", + "description": "The error is service related." + }, + { + "value": "Download", + "description": "The error is download related." + }, + { + "value": "Upload", + "description": "The error is upload related." + }, + { + "value": "Configuration", + "description": "The error is configuration related." + }, + { + "value": "Content", + "description": "The error is related to data in the input files." + } + ], + "modelAsString": true + }, + "description": "Helps with categorization of errors.", + "readOnly": true, + "x-nullable": false + }, + "retry": { + "type": "string", + "enum": [ + "DoNotRetry", + "MayRetry" + ], + "x-ms-enum": { + "name": "JobRetry", + "values": [ + { + "value": "DoNotRetry", + "description": "Issue needs to be investigated and then the job resubmitted with corrections or retried once the underlying issue has been corrected." + }, + { + "value": "MayRetry", + "description": "Issue may be resolved after waiting for a period of time and resubmitting the same Job." + } + ], + "modelAsString": true + }, + "description": "Indicates that it may be possible to retry the Job. If retry is unsuccessful, please contact Azure support via Azure Portal.", + "readOnly": true, + "x-nullable": false + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetail" + }, + "description": "An array of details about specific errors that led to this reported error.", + "readOnly": true + } + }, + "type": "object", + "description": "Details of JobOutput errors." + }, + "JobOutputAsset": { + "x-ms-discriminator-value": "#Microsoft.Media.JobOutputAsset", + "allOf": [ + { + "$ref": "#/definitions/JobOutput" + } + ], + "properties": { + "assetName": { + "type": "string", + "description": "The name of the output Asset." + } + }, + "type": "object", + "required": [ + "assetName" + ], + "description": "Represents an Asset used as a JobOutput." + }, + "JobErrorDetail": { + "properties": { + "code": { + "type": "string", + "description": "Code describing the error detail.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error.", + "readOnly": true + } + }, + "type": "object", + "description": "Details of JobOutput errors." + }, + "JobProperties": { + "properties": { + "created": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time when the Job was created, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "readOnly": true, + "x-nullable": false + }, + "state": { + "type": "string", + "enum": [ + "Canceled", + "Canceling", + "Error", + "Finished", + "Processing", + "Queued", + "Scheduled" + ], + "x-ms-enum": { + "name": "JobState", + "values": [ + { + "value": "Canceled", + "description": "The job was canceled. This is a final state for the job." + }, + { + "value": "Canceling", + "description": "The job is in the process of being canceled. This is a transient state for the job." + }, + { + "value": "Error", + "description": "The job has encountered an error. This is a final state for the job." + }, + { + "value": "Finished", + "description": "The job is finished. This is a final state for the job." + }, + { + "value": "Processing", + "description": "The job is processing. This is a transient state for the job." + }, + { + "value": "Queued", + "description": "The job is in a queued state, waiting for resources to become available. This is a transient state." + }, + { + "value": "Scheduled", + "description": "The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states." + } + ], + "modelAsString": true + }, + "description": "The current state of the job.", + "readOnly": true, + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Optional customer supplied description of the Job." + }, + "input": { + "$ref": "#/definitions/JobInput", + "description": "The inputs for the Job." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time when the Job was last updated, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "readOnly": true, + "x-nullable": false + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/JobOutput" + }, + "description": "The outputs for the Job." + }, + "priority": { + "type": "string", + "enum": [ + "Low", + "Normal", + "High" + ], + "x-ms-enum": { + "name": "Priority", + "values": [ + { + "value": "Low", + "description": "Used for TransformOutputs that can be generated after Normal and High priority TransformOutputs." + }, + { + "value": "Normal", + "description": "Used for TransformOutputs that can be generated at Normal priority." + }, + { + "value": "High", + "description": "Used for TransformOutputs that should take precedence over others." + } + ], + "modelAsString": true + }, + "description": "Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal." + }, + "correlationData": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Customer provided key, value pairs that will be returned in Job and JobOutput state events." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job began processing.", + "readOnly": true, + "x-nullable": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job finished processing.", + "readOnly": true, + "x-nullable": true + } + }, + "type": "object", + "required": [ + "input", + "outputs" + ], + "description": "Properties of the Job." + }, + "Job": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "A Job resource type. The progress and state can be obtained by polling a Job or subscribing to events using EventGrid." + }, + "TransformCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Transform" + }, + "description": "A collection of Transform items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of Transform items." + }, + "JobCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Job" + }, + "description": "A collection of Job items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of Job items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms": { + "get": { + "summary": "List Transforms", + "description": "Lists the Transforms in the account.", + "operationId": "Transforms_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TransformCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/Transform", + "x-ms-examples": { + "Lists the Transforms": { + "$ref": "examples/transforms-list-all.json" + }, + "Lists the Transforms filter by name": { + "$ref": "examples/transforms-list-all-filter-by-name.json" + }, + "Lists the Transforms filter by created": { + "$ref": "examples/transforms-list-all-filter-by-created.json" + }, + "Lists the Transforms filter by lastmodified": { + "$ref": "examples/transforms-list-all-filter-by-lastmodified.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}": { + "get": { + "summary": "Get Transform", + "description": "Gets a Transform.", + "operationId": "Transforms_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Transform" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Transform by name": { + "$ref": "examples/transforms-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or Update Transform", + "description": "Creates or updates a new Transform.", + "operationId": "Transforms_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Transform" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Transform" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Transform" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create or update a Transform": { + "$ref": "examples/transforms-create.json" + } + } + }, + "delete": { + "summary": "Delete Transform", + "description": "Deletes a Transform.", + "operationId": "Transforms_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Transform": { + "$ref": "examples/transforms-delete.json" + } + } + }, + "patch": { + "summary": "Update Transform", + "description": "Updates a Transform.", + "operationId": "Transforms_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Transform" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Transform" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update a Transform.": { + "$ref": "examples/transforms-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs": { + "get": { + "summary": "List Jobs", + "description": "Lists all of the Jobs for the Transform.", + "operationId": "Jobs_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/Job", + "x-ms-examples": { + "Lists all of the Jobs for the Transform.": { + "$ref": "examples/jobs-list-all.json" + }, + "Lists Jobs for the Transform filter by name.": { + "$ref": "examples/jobs-list-all-filter-by-name.json" + }, + "Lists Jobs for the Transform filter by state equal.": { + "$ref": "examples/jobs-list-all-filter-by-state-eq.json" + }, + "Lists Jobs for the Transform filter by state not equal.": { + "$ref": "examples/jobs-list-all-filter-by-state-ne.json" + }, + "Lists Jobs for the Transform filter by name and state.": { + "$ref": "examples/jobs-list-all-filter-by-name-and-state.json" + }, + "Lists Jobs for the Transform filter by created.": { + "$ref": "examples/jobs-list-all-filter-by-created.json" + }, + "Lists Jobs for the Transform filter by lastmodified.": { + "$ref": "examples/jobs-list-all-filter-by-lastmodified.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}": { + "get": { + "summary": "Get Job", + "description": "Gets a Job.", + "operationId": "Jobs_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Job by name": { + "$ref": "examples/jobs-get-by-name.json" + } + } + }, + "put": { + "summary": "Create Job", + "description": "Creates a Job.", + "operationId": "Jobs_Create", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Job" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create a Job": { + "$ref": "examples/jobs-create.json" + } + } + }, + "delete": { + "summary": "Delete Job", + "description": "Deletes a Job.", + "operationId": "Jobs_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Job": { + "$ref": "examples/jobs-delete.json" + } + } + }, + "patch": { + "summary": "Update Job", + "description": "Update is only supported for description and priority. Updating Priority will take effect when the Job state is Queued or Scheduled and depending on the timing the priority update may be ignored.", + "operationId": "Jobs_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Job" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update a Job": { + "$ref": "examples/jobs-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob": { + "post": { + "summary": "Cancel Job", + "description": "Cancel a Job.", + "operationId": "Jobs_CancelJob", + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Cancel a Job": { + "$ref": "examples/jobs-cancel.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json new file mode 100644 index 000000000000..37e7bd9ee454 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json @@ -0,0 +1,1254 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2020-05-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "TrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "FourCC" + ], + "x-ms-enum": { + "name": "TrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "Unknown track property" + }, + { + "value": "FourCC", + "description": "Track FourCC" + } + ], + "modelAsString": true + }, + "description": "Track property type" + }, + "operation": { + "type": "string", + "enum": [ + "Unknown", + "Equal" + ], + "x-ms-enum": { + "name": "TrackPropertyCompareOperation", + "values": [ + { + "value": "Unknown", + "description": "Unknown track property compare operation" + }, + { + "value": "Equal", + "description": "Equal operation" + } + ], + "modelAsString": true + }, + "description": "Track property condition operation" + }, + "value": { + "type": "string", + "description": "Track property value" + } + }, + "type": "object", + "required": [ + "property", + "operation" + ], + "description": "Class to specify one track property condition" + }, + "TrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackPropertyCondition" + }, + "description": "TrackSelections is a track property condition list which can specify track(s)" + } + }, + "type": "object", + "description": "Class to select a track" + }, + "DefaultKey": { + "properties": { + "label": { + "type": "string", + "description": "Label can be used to specify Content Key when creating a Streaming Locator" + }, + "policyName": { + "type": "string", + "description": "Policy used by Default Key" + } + }, + "type": "object", + "description": "Class to specify properties of default content key for each encryption scheme" + }, + "StreamingPolicyContentKey": { + "properties": { + "label": { + "type": "string", + "description": "Label can be used to specify Content Key when creating a Streaming Locator" + }, + "policyName": { + "type": "string", + "description": "Policy used by Content Key" + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "description": "Tracks which use this content key" + } + }, + "type": "object", + "description": "Class to specify properties of content key" + }, + "StreamingPolicyContentKeys": { + "properties": { + "defaultKey": { + "$ref": "#/definitions/DefaultKey", + "description": "Default content key for an encryption scheme" + }, + "keyToTrackMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPolicyContentKey" + }, + "description": "Representing tracks needs separate content key" + } + }, + "type": "object", + "description": "Class to specify properties of all content keys in Streaming Policy" + }, + "StreamingPolicyPlayReadyConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + }, + "playReadyCustomAttributes": { + "type": "string", + "description": "Custom attributes for PlayReady" + } + }, + "type": "object", + "description": "Class to specify configurations of PlayReady in Streaming Policy" + }, + "StreamingPolicyWidevineConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + } + }, + "type": "object", + "description": "Class to specify configurations of Widevine in Streaming Policy" + }, + "StreamingPolicyFairPlayConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + }, + "allowPersistentLicense": { + "type": "boolean", + "description": "All license to be persistent or not" + } + }, + "type": "object", + "required": [ + "allowPersistentLicense" + ], + "description": "Class to specify configurations of FairPlay in Streaming Policy" + }, + "CbcsDrmConfiguration": { + "properties": { + "fairPlay": { + "$ref": "#/definitions/StreamingPolicyFairPlayConfiguration", + "description": "FairPlay configurations" + }, + "playReady": { + "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration", + "description": "PlayReady configurations" + }, + "widevine": { + "$ref": "#/definitions/StreamingPolicyWidevineConfiguration", + "description": "Widevine configurations" + } + }, + "type": "object", + "description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy" + }, + "CencDrmConfiguration": { + "properties": { + "playReady": { + "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration", + "description": "PlayReady configurations" + }, + "widevine": { + "$ref": "#/definitions/StreamingPolicyWidevineConfiguration", + "description": "Widevine configurations" + } + }, + "type": "object", + "description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy" + }, + "EnabledProtocols": { + "properties": { + "download": { + "type": "boolean", + "description": "Enable Download protocol or not" + }, + "dash": { + "type": "boolean", + "description": "Enable DASH protocol or not" + }, + "hls": { + "type": "boolean", + "description": "Enable HLS protocol or not" + }, + "smoothStreaming": { + "type": "boolean", + "description": "Enable SmoothStreaming protocol or not" + } + }, + "type": "object", + "required": [ + "download", + "dash", + "hls", + "smoothStreaming" + ], + "description": "Class to specify which protocols are enabled" + }, + "NoEncryption": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + } + }, + "type": "object", + "description": "Class for NoEncryption scheme" + }, + "EnvelopeEncryption": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "$ref": "#/definitions/StreamingPolicyContentKeys", + "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks" + }, + "customKeyAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering keys to end user players. Not required when using Azure Media Services for issuing keys. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + } + }, + "type": "object", + "description": "Class for EnvelopeEncryption encryption scheme" + }, + "CommonEncryptionCenc": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "$ref": "#/definitions/StreamingPolicyContentKeys", + "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks" + }, + "drm": { + "$ref": "#/definitions/CencDrmConfiguration", + "description": "Configuration of DRMs for CommonEncryptionCenc encryption scheme" + } + }, + "type": "object", + "description": "Class for envelope encryption scheme" + }, + "CommonEncryptionCbcs": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "$ref": "#/definitions/StreamingPolicyContentKeys", + "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks" + }, + "drm": { + "$ref": "#/definitions/CbcsDrmConfiguration", + "description": "Configuration of DRMs for current encryption scheme" + } + }, + "type": "object", + "description": "Class for CommonEncryptionCbcs encryption scheme" + }, + "StreamingPolicyProperties": { + "properties": { + "created": { + "type": "string", + "format": "date-time", + "description": "Creation time of Streaming Policy", + "readOnly": true, + "x-nullable": false + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Default ContentKey used by current Streaming Policy" + }, + "envelopeEncryption": { + "$ref": "#/definitions/EnvelopeEncryption", + "description": "Configuration of EnvelopeEncryption" + }, + "commonEncryptionCenc": { + "$ref": "#/definitions/CommonEncryptionCenc", + "description": "Configuration of CommonEncryptionCenc" + }, + "commonEncryptionCbcs": { + "$ref": "#/definitions/CommonEncryptionCbcs", + "description": "Configuration of CommonEncryptionCbcs" + }, + "noEncryption": { + "$ref": "#/definitions/NoEncryption", + "description": "Configurations of NoEncryption" + } + }, + "type": "object", + "description": "Class to specify properties of Streaming Policy" + }, + "StreamingPolicy": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StreamingPolicyProperties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "A Streaming Policy resource" + }, + "StreamingLocatorContentKey": { + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "ID of Content Key" + }, + "type": { + "type": "string", + "enum": [ + "CommonEncryptionCenc", + "CommonEncryptionCbcs", + "EnvelopeEncryption" + ], + "x-ms-enum": { + "name": "StreamingLocatorContentKeyType", + "values": [ + { + "value": "CommonEncryptionCenc", + "description": "Common Encryption using CENC" + }, + { + "value": "CommonEncryptionCbcs", + "description": "Common Encryption using CBCS" + }, + { + "value": "EnvelopeEncryption", + "description": "Envelope Encryption" + } + ], + "modelAsString": true + }, + "description": "Encryption type of Content Key", + "readOnly": true, + "x-nullable": false + }, + "labelReferenceInStreamingPolicy": { + "type": "string", + "description": "Label of Content Key as specified in the Streaming Policy" + }, + "value": { + "type": "string", + "description": "Value of Content Key" + }, + "policyName": { + "type": "string", + "description": "ContentKeyPolicy used by Content Key", + "readOnly": true + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "description": "Tracks which use this Content Key", + "readOnly": true + } + }, + "type": "object", + "required": [ + "id" + ], + "description": "Class for content key in Streaming Locator" + }, + "StreamingPath": { + "properties": { + "streamingProtocol": { + "type": "string", + "enum": [ + "Hls", + "Dash", + "SmoothStreaming", + "Download" + ], + "x-ms-enum": { + "name": "StreamingPolicyStreamingProtocol", + "values": [ + { + "value": "Hls", + "description": "HLS protocol" + }, + { + "value": "Dash", + "description": "DASH protocol" + }, + { + "value": "SmoothStreaming", + "description": "SmoothStreaming protocol" + }, + { + "value": "Download", + "description": "Download protocol" + } + ], + "modelAsString": true + }, + "description": "Streaming protocol" + }, + "encryptionScheme": { + "type": "string", + "enum": [ + "NoEncryption", + "EnvelopeEncryption", + "CommonEncryptionCenc", + "CommonEncryptionCbcs" + ], + "x-ms-enum": { + "name": "EncryptionScheme", + "values": [ + { + "value": "NoEncryption", + "description": "NoEncryption scheme" + }, + { + "value": "EnvelopeEncryption", + "description": "EnvelopeEncryption scheme" + }, + { + "value": "CommonEncryptionCenc", + "description": "CommonEncryptionCenc scheme" + }, + { + "value": "CommonEncryptionCbcs", + "description": "CommonEncryptionCbcs scheme" + } + ], + "modelAsString": true + }, + "description": "Encryption scheme" + }, + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Streaming paths for each protocol and encryptionScheme pair" + } + }, + "type": "object", + "required": [ + "streamingProtocol", + "encryptionScheme" + ], + "description": "Class of paths for streaming" + }, + "StreamingLocatorProperties": { + "properties": { + "assetName": { + "type": "string", + "description": "Asset Name" + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the Streaming Locator." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the Streaming Locator." + }, + "streamingLocatorId": { + "type": "string", + "format": "uuid", + "description": "The StreamingLocatorId of the Streaming Locator." + }, + "streamingPolicyName": { + "type": "string", + "description": "Name of the Streaming Policy used by this Streaming Locator. Either specify the name of Streaming Policy you created or use one of the predefined Streaming Policies. The predefined Streaming Policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_MultiDrmCencStreaming' and 'Predefined_MultiDrmStreaming'" + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Name of the default ContentKeyPolicy used by this Streaming Locator." + }, + "contentKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocatorContentKey" + }, + "description": "The ContentKeys used by this Streaming Locator." + }, + "alternativeMediaId": { + "type": "string", + "description": "Alternative Media ID of this Streaming Locator" + }, + "filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of asset or account filters which apply to this streaming locator" + } + }, + "type": "object", + "required": [ + "assetName", + "streamingPolicyName" + ], + "description": "Properties of the Streaming Locator." + }, + "ListContentKeysResponse": { + "properties": { + "contentKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocatorContentKey" + }, + "description": "ContentKeys used by current Streaming Locator" + } + }, + "type": "object", + "description": "Class of response for listContentKeys action" + }, + "ListPathsResponse": { + "properties": { + "streamingPaths": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPath" + }, + "description": "Streaming Paths supported by current Streaming Locator" + }, + "downloadPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Download Paths supported by current Streaming Locator" + } + }, + "type": "object", + "description": "Class of response for listPaths action" + }, + "StreamingLocator": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StreamingLocatorProperties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "A Streaming Locator resource" + }, + "StreamingPolicyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPolicy" + }, + "description": "A collection of StreamingPolicy items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of StreamingPolicy items." + }, + "StreamingLocatorCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocator" + }, + "description": "A collection of StreamingLocator items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of StreamingLocator items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies": { + "get": { + "summary": "List Streaming Policies", + "description": "Lists the Streaming Policies in the account", + "operationId": "StreamingPolicies_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingPolicyCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/StreamingPolicy", + "x-ms-examples": { + "Lists Streaming Policies": { + "$ref": "examples/streaming-policies-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}": { + "get": { + "summary": "Get a Streaming Policy", + "description": "Get the details of a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingPolicy" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Streaming Policy by name": { + "$ref": "examples/streaming-policy-get-by-name.json" + } + } + }, + "put": { + "summary": "Create a Streaming Policy", + "description": "Create a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Create", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/StreamingPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Streaming Policy with clear streaming": { + "$ref": "examples/streaming-policies-create-clear.json" + }, + "Creates a Streaming Policy with envelopeEncryption only": { + "$ref": "examples/streaming-policies-create-envelopeEncryption-only.json" + }, + "Creates a Streaming Policy with commonEncryptionCenc only": { + "$ref": "examples/streaming-policies-create-commonEncryptionCenc-only.json" + }, + "Creates a Streaming Policy with commonEncryptionCbcs only": { + "$ref": "examples/streaming-policies-create-commonEncryptionCbcs-only.json" + }, + "Creates a Streaming Policy with secure streaming": { + "$ref": "examples/streaming-policies-create-secure-streaming.json" + } + } + }, + "delete": { + "summary": "Delete a Streaming Policy", + "description": "Deletes a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Streaming Policy": { + "$ref": "examples/streaming-policies-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators": { + "get": { + "summary": "List Streaming Locators", + "description": "Lists the Streaming Locators in the account", + "operationId": "StreamingLocators_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingLocatorCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/StreamingLocator", + "x-ms-examples": { + "Lists Streaming Locators": { + "$ref": "examples/streaming-locators-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}": { + "get": { + "summary": "Get a Streaming Locator", + "description": "Get the details of a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingLocator" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Streaming Locator by name": { + "$ref": "examples/streaming-locators-get-by-name.json" + } + } + }, + "put": { + "summary": "Create a Streaming Locator", + "description": "Create a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Create", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/StreamingLocator" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingLocator" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Streaming Locator with clear streaming": { + "$ref": "examples/streaming-locators-create-clear.json" + }, + "Creates a Streaming Locator with secure streaming": { + "$ref": "examples/streaming-locators-create-secure.json" + }, + "Creates a Streaming Locator with user defined content keys": { + "$ref": "examples/streaming-locators-create-secure-userDefinedContentKeys.json" + } + } + }, + "delete": { + "summary": "Delete a Streaming Locator", + "description": "Deletes a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Streaming Locator": { + "$ref": "examples/streaming-locators-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys": { + "post": { + "summary": "List Content Keys", + "description": "List Content Keys used by this Streaming Locator", + "operationId": "StreamingLocators_ListContentKeys", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListContentKeysResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Content Keys": { + "$ref": "examples/streaming-locators-list-content-keys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths": { + "post": { + "summary": "List Paths", + "description": "List Paths supported by this Streaming Locator", + "operationId": "StreamingLocators_ListPaths", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListPathsResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Paths which has streaming paths only": { + "$ref": "examples/streaming-locators-list-paths-streaming-only.json" + }, + "List Paths which has streaming paths and download paths": { + "$ref": "examples/streaming-locators-list-paths-streaming-and-download.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-create.json new file mode 100644 index 000000000000..77adbae7b6e8 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-create.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "newAccountFilter", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Audio" + }, + { + "property": "Language", + "operation": "NotEqual", + "value": "en" + }, + { + "property": "FourCC", + "operation": "NotEqual", + "value": "EC-3" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Video" + }, + { + "property": "Bitrate", + "operation": "Equal", + "value": "3000000-5000000" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "newAccountFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/newAccountFilter", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + }, + "200": { + "body": { + "name": "newAccountFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/newAccountFilter", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-delete.json new file mode 100644 index 000000000000..b8ce20a48042 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTimeWindowAndTrack", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-get-by-name.json new file mode 100644 index 000000000000..5a74560c990f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-get-by-name.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTrack", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "accountFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + }, + "404": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-list-all.json new file mode 100644 index 000000000000..3fea2d6b9abe --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-list-all.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "accountFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + }, + { + "name": "accountFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-update.json new file mode 100644 index 000000000000..a524fe83e770 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accountFilters-update.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTimeWindowAndTrack", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "accountFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-check-name-availability.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-check-name-availability.json new file mode 100644 index 000000000000..d706c1e825ec --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-check-name-availability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "locationName": "japaneast", + "parameters": { + "name": "contosonew", + "type": "Microsoft.Media/MediaService" + }, + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-create.json new file mode 100644 index 000000000000..8f761a357b83 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-create.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2020-05-01", + "parameters": { + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contososportsstore", + "type": "Primary" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "contososports", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contososports", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "42bea25f-1aa9-4f7a-82af-5a417592f22d", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contososportsstore", + "type": "Primary" + } + ] + } + } + }, + "200": { + "body": { + "name": "contososports", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contososports", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "42bea25f-1aa9-4f7a-82af-5a417592f22d", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contososportsstore", + "type": "Primary" + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-delete.json new file mode 100644 index 000000000000..70012feb623d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-get-by-name.json new file mode 100644 index 000000000000..7512c2a08c66 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-get-by-name.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosotv", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "contosotv", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosotv", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "6ac94f91-283c-4492-85a7-57976928c17d", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contosotvstore", + "type": "Primary" + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-list-all-accounts.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-list-all-accounts.json new file mode 100644 index 000000000000..04ff56babaec --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-list-all-accounts.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "contosotv", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosotv", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "6ac94f91-283c-4492-85a7-57976928c17d", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contosotvstore", + "type": "Primary" + } + ] + } + }, + { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomovies", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "72681c0f-9dd1-4f1c-95c9-8a8d7d31c4ee", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contosomoviesstore", + "type": "Primary" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-list-media-edge-policies.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-list-media-edge-policies.json new file mode 100644 index 000000000000..dff0e11b78cb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-list-media-edge-policies.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2020-05-01", + "parameters": { + "deviceId": "contosiothubhost_contosoiotdevice" + } + }, + "responses": { + "200": { + "body": { + "usageDataCollectionPolicy": { + "dataCollectionFrequency": "PT10M", + "dataReportingFrequency": "PT1H", + "maxAllowedUnreportedUsageDuration": "PT36H", + "eventHubDetails": { + "name": "ams-x", + "namespace": "ams-y-1-1", + "token": "SharedAccessSignature sr=sb%3a%2f%2fams-x.servicebus.windows.net%2fams-y-1-1%2fPublishers%2f96a510a1-0565-492a-a67f-83d1aed1d1f6_SampleDeviceId&sig=signature_value%3d&se=1584073736&skn=EdgeUsageData" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-subscription-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-subscription-get-by-name.json new file mode 100644 index 000000000000..c40be298ae98 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-subscription-get-by-name.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "contososports", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contososports", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "42bea25f-1aa9-4f7a-82af-5a417592f22d", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contososportsstore", + "type": "Primary" + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-subscription-list-all-accounts.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-subscription-list-all-accounts.json new file mode 100644 index 000000000000..ca18508aa67e --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-subscription-list-all-accounts.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "contosotv", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosotv", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "6ac94f91-283c-4492-85a7-57976928c17d", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contosotvstore", + "type": "Primary" + } + ] + } + }, + { + "name": "contosomovies", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomovies", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "72681c0f-9dd1-4f1c-95c9-8a8d7d31c4ee", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contosomoviesstore", + "type": "Primary" + } + ] + } + }, + { + "name": "fabrikamnews", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/fabrikamnews", + "type": "Microsoft.Media/mediaservices", + "location": "East US", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "mediaServiceId": "d96036f9-4e37-491d-8c29-5bc53a29dfcd", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Storage/storageAccounts/fabrikamnewsstore", + "type": "Primary" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-sync-storage-keys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-sync-storage-keys.json new file mode 100644 index 000000000000..453aaa7a88e8 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-sync-storage-keys.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2020-05-01", + "parameters": { + "id": "contososportsstore" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-update.json new file mode 100644 index 000000000000..d1d67e1cc9bb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/accounts-update.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2020-05-01", + "parameters": { + "location": "South Central US", + "tags": { + "key1": "value3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "contososports", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contososports", + "type": "Microsoft.Media/mediaservices", + "location": "South Central US", + "tags": { + "key1": "value3" + }, + "properties": { + "mediaServiceId": "42bea25f-1aa9-4f7a-82af-5a417592f22d", + "storageAccounts": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contososportsstore", + "type": "Primary" + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-create.json new file mode 100644 index 000000000000..f03f5d658dab --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-create.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "newAssetFilter", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Audio" + }, + { + "property": "Language", + "operation": "NotEqual", + "value": "en" + }, + { + "property": "FourCC", + "operation": "NotEqual", + "value": "EC-3" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Video" + }, + { + "property": "Bitrate", + "operation": "Equal", + "value": "3000000-5000000" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "newAssetFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/newAssetFilter", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + }, + "200": { + "body": { + "name": "newAssetFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/newAssetFilter", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-delete.json new file mode 100644 index 000000000000..da8d2fe16746 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-get-by-name.json new file mode 100644 index 000000000000..a3f46555e7f9 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-get-by-name.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + }, + "404": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-list-all.json new file mode 100644 index 000000000000..7a4244008adf --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-list-all.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + }, + { + "name": "assetFilterWithTimeWindow", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindow", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [] + } + }, + { + "name": "assetFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-update.json new file mode 100644 index 000000000000..448c28ac5bb2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assetFilters-update.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854775807, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-create.json new file mode 100644 index 000000000000..b15a6d7ecff2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-create.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountLogan", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "description": "A documentary showing the ascent of Mount Logan", + "storageAccountName": "storage0" + } + } + }, + "responses": { + "201": { + "body": { + "name": "ClimbingMountLogan", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountLogan", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "09194258-36ba-4403-abb3-68780e6bc545", + "created": "2018-08-08T18:29:26.08Z", + "lastModified": "2018-08-08T18:29:26.08Z", + "description": "A documentary showing the ascent of Mount Logan", + "container": "asset-09194258-36ba-4403-abb3-68780e6bc545", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + }, + "200": { + "body": { + "name": "ClimbingMountLogan", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountLogan", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "09194258-36ba-4403-abb3-68780e6bc545", + "created": "2018-08-08T18:29:26.08Z", + "lastModified": "2018-08-08T18:29:26.107Z", + "description": "A documentary showing the ascent of Mount Logan", + "container": "asset-09194258-36ba-4403-abb3-68780e6bc545", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-delete.json new file mode 100644 index 000000000000..0147afd32330 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountAdams", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-get-by-name.json new file mode 100644 index 000000000000..f4635b39442d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-get-by-name.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountAdams", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + } + }, + "404": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-get-encryption-keys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-get-encryption-keys.json new file mode 100644 index 000000000000..1b0ee2f1db86 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-get-encryption-keys.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountSaintHelens", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "key": "AAAAAAAAAAAAAAAAAAAAAA==", + "assetFileEncryptionMetadata": [ + { + "initializationVector": "-988929866", + "assetFileName": "AssetFile0", + "assetFileId": "a9536fa7-bd5d-4f84-a137-d1290982fe95" + }, + { + "initializationVector": "1604993689", + "assetFileName": "AssetFile1", + "assetFileId": "f4060046-94ac-422d-824c-3f1d6aa3ecf2" + }, + { + "initializationVector": "100082635", + "assetFileName": "AssetFile2", + "assetFileId": "485968d3-ddae-4b13-98e7-901201a9620b" + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-all.json new file mode 100644 index 000000000000..5bba32e159de --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-all.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingLittleTahoma", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingLittleTahoma", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "created": "2012-04-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00003", + "description": "A documentary showing the ascent of Little Tahoma", + "container": "asset-e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainer", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "258878ef-fe05-4518-988f-052e86dc19f6", + "created": "2018-08-08T18:29:24.3948982Z", + "lastModified": "2018-08-08T21:29:24.3948982Z", + "alternateId": "altClimbingMountRainer", + "description": "descClimbingMountRainer", + "container": "testasset0", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-by-date.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-by-date.json new file mode 100644 index 000000000000..fb2932e24145 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-by-date.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01", + "$orderby": "properties/created" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingLittleTahoma", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingLittleTahoma", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "created": "2012-04-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00003", + "description": "A documentary showing the ascent of Little Tahoma", + "container": "asset-e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + }, + { + "name": "ClimbingMountRainer", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "8cdacfe5-8473-413a-9aec-dd2a478b37c8", + "created": "2018-08-08T18:29:25.0514734Z", + "lastModified": "2018-08-08T21:29:25.0514734Z", + "alternateId": "altClimbingMountRainer", + "description": "descClimbingMountRainer", + "container": "testasset0", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-in-date-range.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-in-date-range.json new file mode 100644 index 000000000000..8c1e80ae23b8 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-in-date-range.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01", + "$orderby": "properties/created", + "$filter": "properties/created gt 2012-06-01 and properties/created lt 2013-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-sas-urls.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-sas-urls.json new file mode 100644 index 000000000000..e3ac6b3104dd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-sas-urls.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountBaker", + "api-version": "2020-05-01", + "parameters": { + "permissions": "ReadWrite", + "expiryTime": "2018-01-01T10:00:00.007Z" + } + }, + "responses": { + "200": { + "body": { + "assetContainerSasUrls": [ + "https://storage0.blob.core.windows.net/asset-89af1750-e681-4fbe-8c4c-9a5567867a6b?sr=b&sig=&se=2018-01-01T10:00:00Z&sp=lrw", + "https://storage0.blob.core.windows.net/asset-89af1750-e681-4fbe-8c4c-9a5567867a6b?sr=b&sig=&se=2018-01-01T10:00:00Z&sp=lrw" + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-streaming-locators.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-streaming-locators.json new file mode 100644 index 000000000000..4b99b6b6aae4 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-list-streaming-locators.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountSaintHelens", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "streamingLocators": [ + { + "name": "secureStreamingLocator", + "assetName": "ClimbingMountSaintHelens", + "created": "2018-08-08T18:29:26.9729344Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "36b74ce3-20b4-4de0-84f1-97e9138e886c", + "streamingPolicyName": "secureStreamingPolicy" + }, + { + "name": "clearStreamingLocator", + "assetName": "ClimbingMountSaintHelens", + "created": "2018-08-08T18:29:26.9487636Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "3e8d9ac3-50f6-4f6d-8482-078ceb56f23a", + "streamingPolicyName": "clearStreamingPolicy" + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-update.json new file mode 100644 index 000000000000..2e45ce22a21c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/assets-update.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountBaker", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "description": "A documentary showing the ascent of Mount Baker in HD" + } + } + }, + "responses": { + "200": { + "body": { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:26.503Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker in HD", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-multiple-options.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-multiple-options.json new file mode 100644 index 000000000000..fb8abf5c67f6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-multiple-options.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyCreatedWithMultipleOptions", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + }, + "restrictionTokenType": "Swt" + } + }, + { + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyCreatedWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyCreatedWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "07ad673b-dc14-4230-adab-716622f33992", + "created": "2018-08-08T18:29:29.98Z", + "lastModified": "2018-08-08T18:29:29.98Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "8dac9510-770a-401f-8f2b-f72640977ed0", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + }, + { + "policyOptionId": "fc121776-6ced-4135-be92-f928dedc029a", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyCreatedWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyCreatedWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "07ad673b-dc14-4230-adab-716622f33992", + "created": "2018-08-08T18:29:29.98Z", + "lastModified": "2018-08-08T18:29:29.98Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "8dac9510-770a-401f-8f2b-f72640977ed0", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + }, + { + "policyOptionId": "fc121776-6ced-4135-be92-f928dedc029a", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-nodrm-token.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-nodrm-token.json new file mode 100644 index 000000000000..13eca3bac701 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-nodrm-token.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + }, + "restrictionTokenType": "Swt" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndSwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "2926c1bc-4dec-4a11-9d19-3f99006530a9", + "created": "2018-08-08T18:29:29.837Z", + "lastModified": "2018-08-08T18:29:29.837Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "e7d4d465-b6f7-4830-9a21-74a7326ef797", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndSwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "2926c1bc-4dec-4a11-9d19-3f99006530a9", + "created": "2018-08-08T18:29:29.837Z", + "lastModified": "2018-08-08T18:29:29.837Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "e7d4d465-b6f7-4830-9a21-74a7326ef797", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-playready-open.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-playready-open.json new file mode 100644 index 000000000000..c1917240ee27 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-playready-open.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:29.51Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "c52f9af0-1f53-4775-8edb-af2d9a6e28cd", + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:29.51Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "c52f9af0-1f53-4775-8edb-af2d9a6e28cd", + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-widevine-token.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-widevine-token.json new file mode 100644 index 000000000000..8c88dc47c4ad --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-create-widevine-token.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "AQAB", + "modulus": "AQAD" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + } + ], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithWidevineOptionAndJwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "bad1d030-7d5c-4643-8f1e-49807a4bf64c", + "created": "2018-08-08T18:29:29.663Z", + "lastModified": "2018-08-08T18:29:29.663Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "26fee004-8dfa-4828-bcad-5e63c637534f", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "", + "modulus": "" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + } + ], + "requiredClaims": [], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithWidevineOptionAndJwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "bad1d030-7d5c-4643-8f1e-49807a4bf64c", + "created": "2018-08-08T18:29:29.663Z", + "lastModified": "2018-08-08T18:29:29.663Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "26fee004-8dfa-4828-bcad-5e63c637534f", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "", + "modulus": "" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + } + ], + "requiredClaims": [], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-delete.json new file mode 100644 index 000000000000..33eba3a15826 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-get-by-name.json new file mode 100644 index 000000000000..28c9e5dc131d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-get-by-name.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithMultipleOptions", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "404": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-get-with-secrets.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-get-with-secrets.json new file mode 100644 index 000000000000..0da829c2d657 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-get-with-secrets.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithMultipleOptions", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAA=" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + "404": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-all.json new file mode 100644 index 000000000000..a0e49ad9839b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-all.json @@ -0,0 +1,165 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "description": "A policy with one ClearKey option and Open Restriction.", + "options": [ + { + "policyOptionId": "a3448d09-567a-4642-8309-d17e846be59f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier", + "claimValue": null + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt", + "openIdConnectDiscoveryDocument": null + } + } + ] + } + }, + { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier", + "claimValue": null + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt", + "openIdConnectDiscoveryDocument": null + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "description": "A policy with one PlayReady option and Open Restriction.", + "options": [ + { + "policyOptionId": "294a833f-f128-48be-9edf-8d1bb5b35ff3", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": false, + "beginDate": null, + "expirationDate": null, + "relativeBeginDate": null, + "relativeExpirationDate": null, + "gracePeriod": null, + "playRight": { + "firstPlayExpiration": null, + "scmsRestriction": null, + "agcAndColorStripeRestriction": null, + "explicitAnalogTelevisionOutputRestriction": null, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": false, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed", + "uncompressedDigitalVideoOpl": null, + "compressedDigitalVideoOpl": null, + "analogVideoOpl": null, + "compressedDigitalAudioOpl": null, + "uncompressedDigitalAudioOpl": null + }, + "licenseType": "NonPersistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "Unspecified" + } + ], + "responseCustomData": "testCustomData" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-by-lastModified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-by-lastModified.json new file mode 100644 index 000000000000..6cb81fd7ad9f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-by-lastModified.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01", + "$orderby": "properties/lastModified" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "description": "A policy with one PlayReady option and Open Restriction.", + "options": [ + { + "policyOptionId": "294a833f-f128-48be-9edf-8d1bb5b35ff3", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": false, + "playRight": { + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": false, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "NonPersistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "Unspecified" + } + ], + "responseCustomData": "testCustomData" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "description": "A policy with one ClearKey option and Open Restriction.", + "options": [ + { + "policyOptionId": "a3448d09-567a-4642-8309-d17e846be59f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-in-date-range.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-in-date-range.json new file mode 100644 index 000000000000..179d30addc94 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-list-in-date-range.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01", + "$filter": "properties/lastModified gt 2016-06-01 and properties/created lt 2013-07-01" + }, + "responses": { + "200": { + "body": { + "value": [] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-update.json new file mode 100644 index 000000000000..33d98dab8af3 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/content-key-policies-update.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "description": "Updated Policy", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:30.303Z", + "description": "Updated Policy", + "options": [ + { + "policyOptionId": "7d3f4bc1-d2bf-43a3-b02e-a7e31ab15d43", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-cancel.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-cancel.json new file mode 100644 index 000000000000..550a8aaf77c8 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-cancel.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "job1" + }, + "responses": { + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-create.json new file mode 100644 index 000000000000..13195c89754a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-create.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "job1", + "parameters": { + "properties": { + "input": { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "assetName": "job1-InputAsset" + }, + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "assetName": "job1-OutputAsset" + } + ], + "correlationData": { + "key1": "value1", + "Key 2": "Value 2" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2019-10-10T22:38:03.4426085Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job1-InputAsset" + }, + "lastModified": "2019-10-10T22:38:03.4426085Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "BuiltInStandardEncoderPreset_0", + "assetName": "job1-OutputAsset" + } + ], + "priority": "Normal", + "correlationData": { + "key1": "value1", + "Key 2": "Value 2" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-delete.json new file mode 100644 index 000000000000..2b68932ec48f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "jobToDelete" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-get-by-name.json new file mode 100644 index 000000000000..b15e14539dbf --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-get-by-name.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "job1" + }, + "responses": { + "404": {}, + "200": { + "body": { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job1 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1 output" + } + ], + "priority": "Low", + "correlationData": {} + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-created.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-created.json new file mode 100644 index 000000000000..ab38522ad492 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-created.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "properties/created ge 2019-10-10T22:38:13.1259050Z and properties/created le 2019-10-10T22:38:23.1259050Z", + "$orderby": "properties/created" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2019-10-10T22:38:13.125905Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job2 input" + } + ] + }, + "lastModified": "2019-10-10T22:38:13.125905Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:03.125905Z", + "assetName": "job2 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:03.125905Z" + } + }, + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2019-10-10T22:38:23.125905Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job3 input" + } + ] + }, + "lastModified": "2019-10-10T22:38:23.125905Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:03.125905Z", + "endTime": "2019-10-10T22:38:03.125905Z", + "assetName": "job3 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:03.125905Z", + "endTime": "2019-10-10T22:38:03.125905Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-lastmodified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-lastmodified.json new file mode 100644 index 000000000000..6933bae85fdc --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-lastmodified.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "properties/lastmodified ge 2019-10-10T22:38:13.1931019Z and properties/lastmodified le 2019-10-10T22:38:23.1931019Z", + "$orderby": "properties/lastmodified desc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2019-10-10T22:38:23.1931019Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job3 input" + } + ] + }, + "lastModified": "2019-10-10T22:38:23.1931019Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:03.1931019Z", + "endTime": "2019-10-10T22:38:03.1931019Z", + "assetName": "job3 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:03.1931019Z", + "endTime": "2019-10-10T22:38:03.1931019Z" + } + }, + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2019-10-10T22:38:13.1931019Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job2 input" + } + ] + }, + "lastModified": "2019-10-10T22:38:13.1931019Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:03.1931019Z", + "assetName": "job2 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:03.1931019Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name-and-state.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name-and-state.json new file mode 100644 index 000000000000..201428425920 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name-and-state.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "name eq 'job3' and properties/state eq Microsoft.Media.JobState'finished'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job3 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:03.0624915Z", + "endTime": "2019-10-10T22:38:03.0624915Z", + "assetName": "job3 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:03.0624915Z", + "endTime": "2019-10-10T22:38:03.0624915Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name.json new file mode 100644 index 000000000000..2328cdd0e27d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-name.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "name eq 'job1' or name eq 'job2'", + "$orderby": "name" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job1 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1 output" + } + ], + "priority": "Low", + "correlationData": {} + } + }, + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job2 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:02.7835215Z", + "assetName": "job2 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:02.7835215Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-eq.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-eq.json new file mode 100644 index 000000000000..c8bdd90a1084 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-eq.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "properties/state eq Microsoft.Media.JobState'Processing'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job2 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:02.8754914Z", + "assetName": "job2 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:02.8754914Z" + } + }, + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job3 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:02.8754914Z", + "assetName": "job3 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:02.8754914Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-ne.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-ne.json new file mode 100644 index 000000000000..8271f7e9f526 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all-filter-by-state-ne.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "properties/state ne Microsoft.Media.JobState'processing'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job1 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1 output" + } + ], + "priority": "Low", + "correlationData": {} + } + }, + { + "name": "job4", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job4", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job4 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:02.9885137Z", + "endTime": "2019-10-10T22:38:02.9885137Z", + "assetName": "job4 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:02.9885137Z", + "endTime": "2019-10-10T22:38:02.9885137Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all.json new file mode 100644 index 000000000000..3ecc50aca0cc --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-list-all.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job1 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1 output" + } + ], + "priority": "Low", + "correlationData": {} + } + }, + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job2 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:02.6465994Z", + "assetName": "job2 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:02.6465994Z" + } + }, + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job3 input" + } + ] + }, + "lastModified": "0001-01-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2019-10-10T22:28:02.6465994Z", + "endTime": "2019-10-10T22:38:02.6465994Z", + "assetName": "job3 output" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2019-10-10T22:28:02.6465994Z", + "endTime": "2019-10-10T22:38:02.6465994Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-update.json new file mode 100644 index 000000000000..e4cb0593537c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/jobs-update.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "job1", + "parameters": { + "properties": { + "description": "Example job to illustrate update.", + "priority": "High", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job1 input" + } + ] + }, + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "label": "example-custom-label", + "assetName": "job1 output" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "0001-01-01T00:00:00Z", + "state": "Queued", + "description": "Example job to illustrate update.", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "assetName": "job1 input" + } + ] + }, + "lastModified": "2019-10-10T22:38:03.737608Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1 output" + } + ], + "priority": "High", + "correlationData": {} + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-create.json new file mode 100644 index 000000000000..a87311c83976 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-create.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01", + "parameters": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "input": { + "streamingProtocol": "RTMP", + "keyFrameIntervalDuration": "PT6S" + }, + "preview": { + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + } + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "resourceState": "Stopped", + "provisioningState": "InProgress", + "created": "2018-03-03T02:25:06.0982751Z", + "lastModified": "2018-03-03T02:25:06.0982751Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "0abf356884d74b4aacbd7b1ebd3da0f7", + "endpoints": [] + }, + "preview": { + "previewLocator": "c91726b4-880c-4090-94aa-e6ddb1384b37", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + }, + "endpoints": [] + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "crossSiteAccessPolicies": { + "clientAccessPolicy": null, + "crossDomainPolicy": null + } + } + } + }, + "200": { + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "resourceState": "Stopped", + "provisioningState": "InProgress", + "created": "2018-03-03T02:25:06.0982751Z", + "lastModified": "2018-03-03T02:25:06.0982751Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "0abf356884d74b4aacbd7b1ebd3da0f7", + "endpoints": [] + }, + "preview": { + "previewLocator": "c91726b4-880c-4090-94aa-e6ddb1384b37", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + }, + "endpoints": [] + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "crossSiteAccessPolicies": { + "clientAccessPolicy": null, + "crossDomainPolicy": null + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-delete.json new file mode 100644 index 000000000000..ffcbac281305 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-delete.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01", + "parameters": { + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "Name": "myLiveEvent1", + "Type": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourcegroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents", + "Location": "West US", + "Tags": { + "DynamicProperties": { + "tag1": "value1", + "tag2": "value2" + } + }, + "properties": { + "Description": "test event updated", + "Input": { + "StreamingProtocol": "FragmentedMP4", + "KeyFrameIntervalDuration": "PT6S", + "Endpoints": [], + "AccessToken": null + }, + "Preview": { + "Endpoints": [], + "AccessControl": { + "IP": { + "Allow": [ + { + "Name": "AllowOne", + "Address": "192.1.1.0", + "SubnetPrefixLength": null + } + ] + } + }, + "PreviewLocator": null, + "streamingPolicyName": null + }, + "Encoding": { + "EncodingType": "None", + "PresetName": null + }, + "ProvisioningState": null, + "ResourceState": "Stopped", + "CrossSiteAccessPolicies": null, + "useStaticHostname": false, + "StreamOptions": [], + "Created": "2018-03-02T18:25:07.5748853-08:00", + "LastModified": "2018-03-02T18:25:07.5748853-08:00" + } + } + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-list-all.json new file mode 100644 index 000000000000..d9543a6cafc0 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-list-all.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "resourceState": "Stopped", + "provisioningState": "Succeeded", + "created": "2018-03-03T02:25:08.5564064Z", + "lastModified": "2018-03-03T02:25:08.5564064Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "de153bb0814542d9b7e2339ce9430dc4", + "endpoints": [ + { + "protocol": "FragmentedMP4", + "url": "http://clouddeployment.media-test.net/de153bb0814542d9b7e2339ce9430dc4/ingest.isml" + } + ] + }, + "preview": { + "previewLocator": "a220e223-faf8-4e03-b9a9-2c2432f48025", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + }, + "endpoints": [ + { + "protocol": "FragmentedMP4", + "url": "https://myliveevent1-slitestmedia10.preview-usso.channel.mediaservices.windows.net/a220e223-faf8-4e03-b9a9-2c2432f48025/preview.ism/manifest" + } + ] + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "crossSiteAccessPolicies": { + "clientAccessPolicy": null, + "crossDomainPolicy": null + } + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-list-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-list-by-name.json new file mode 100644 index 000000000000..d7087ca92578 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-list-by-name.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01" + }, + "responses": { + "404": {}, + "200": { + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": {}, + "properties": { + "description": "", + "resourceState": "Stopped", + "provisioningState": "Succeeded", + "created": "2018-03-03T02:25:08.3474032Z", + "lastModified": "2018-03-03T02:25:08.3474032Z", + "useStaticHostname": false, + "streamOptions": [ + "Default" + ], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": null, + "endpoints": [ + { + "protocol": "FragmentedMP4", + "url": "http://clouddeployment.media-test.net/ingest.isml" + } + ] + }, + "preview": { + "previewLocator": "763f3ea4-d94f-441c-a634-c833f61a4e04", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + }, + "endpoints": [ + { + "protocol": "FragmentedMP4", + "url": "https://testeventopito4idh2r-weibzmedia05.preview-ts051.channel.media-test.windows-int.net/763f3ea4-d94f-441c-a634-c833f61a4e04/preview.ism/manifest" + } + ] + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "crossSiteAccessPolicies": { + "clientAccessPolicy": "", + "crossDomainPolicy": "" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-reset.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-reset.json new file mode 100644 index 000000000000..95fd7e6461e1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-reset.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-start.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-start.json new file mode 100644 index 000000000000..95fd7e6461e1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-start.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-stop.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-stop.json new file mode 100644 index 000000000000..a23df8bb0574 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-stop.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01", + "parameters": { + "removeOutputsOnStop": false + } + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-update.json new file mode 100644 index 000000000000..0e2416078954 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveevent-update.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01", + "parameters": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "properties": { + "description": "test event updated", + "input": { + "streamingProtocol": "FragmentedMP4", + "keyFrameIntervalDuration": "PT6S" + }, + "preview": { + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0" + } + ] + } + } + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "properties": { + "description": "test event updated", + "resourceState": "Running", + "provisioningState": "InProgress", + "created": "0001-01-01T00:00:00Z", + "lastModified": "0001-01-01T00:00:00Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "c638baac3195406a84d7ff3bcba8bde4", + "endpoints": [] + }, + "preview": { + "previewLocator": "c10ea3fc-587f-4daf-b2b2-fa8f647a9ed2", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0", + "subnetPrefixLength": null + } + ] + } + }, + "endpoints": [] + }, + "encoding": { + "encodingType": "None", + "presetName": null + } + } + } + }, + "200": { + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "properties": { + "description": "test event updated", + "resourceState": "Running", + "provisioningState": "InProgress", + "created": "0001-01-01T00:00:00Z", + "lastModified": "0001-01-01T00:00:00Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "c638baac3195406a84d7ff3bcba8bde4", + "endpoints": [] + }, + "preview": { + "previewLocator": "c10ea3fc-587f-4daf-b2b2-fa8f647a9ed2", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0", + "subnetPrefixLength": null + } + ] + } + }, + "endpoints": [] + }, + "encoding": { + "encodingType": "None", + "presetName": null + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-create.json new file mode 100644 index 000000000000..0289f1207488 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-create.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "liveOutputName": "myLiveOutput1", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "description": "test live output 1", + "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212", + "archiveWindowLength": "PT5M", + "manifestName": "testmanifest", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myLiveOutput1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/myLiveOutput1", + "type": "Microsoft.Media/mediaservices/liveevents/liveoutputs", + "properties": { + "description": "test live output 1", + "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212", + "archiveWindowLength": "PT5M", + "manifestName": "testmanifest", + "outputSnapTime": 0, + "resourceState": "Creating", + "provisioningState": "Succeeded", + "created": "2018-03-03T02:25:09.9431835Z", + "lastModified": "2018-03-03T02:25:09.9431835Z", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + }, + "202": { + "body": { + "name": "myLiveOutput1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/myLiveOutput1", + "type": "Microsoft.Media/mediaservices/liveevents/liveoutputs", + "properties": { + "description": "test live output 1", + "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212", + "archiveWindowLength": "PT5M", + "manifestName": "testmanifest", + "outputSnapTime": 0, + "resourceState": "Creating", + "provisioningState": "Succeeded", + "created": "2018-03-03T02:25:09.9431835Z", + "lastModified": "2018-03-03T02:25:09.9431835Z", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-delete.json new file mode 100644 index 000000000000..c4abf69dcc75 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "liveOutputName": "myLiveOutput1", + "api-version": "2020-05-01" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-list-all.json new file mode 100644 index 000000000000..ebf145bcd695 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-list-all.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "liveoutput1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/", + "type": "Microsoft.Media/mediaservices/liveevents/liveoutputs", + "properties": { + "description": null, + "assetName": "95dafce4-5320-464c-8597-909373854119", + "archiveWindowLength": "PT30S", + "manifestName": "c3a23d4b-02a6-4937-a1ad-6416f463fdca", + "outputSnapTime": 0, + "resourceState": "Running", + "provisioningState": "Succeeded", + "created": "0001-01-01T00:00:00-08:00", + "lastModified": "0001-01-01T00:00:00-08:00", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-list-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-list-by-name.json new file mode 100644 index 000000000000..fe3c9cfbe866 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/liveoutput-list-by-name.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "liveOutputName": "myLiveOutput1", + "api-version": "2020-05-01" + }, + "responses": { + "404": {}, + "200": { + "body": { + "name": "myLiveOutput1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/myLiveOutput1", + "type": "Microsoft.Media/mediaservices/liveevents/liveoutputs", + "properties": { + "description": null, + "assetName": "cb2ae0bc-677a-4830-9c8e-06ce4c4cb607", + "archiveWindowLength": "PT30S", + "manifestName": "fc7096f5-c488-4b86-8302-f3bfde53fc27", + "outputSnapTime": 0, + "resourceState": "Running", + "provisioningState": "Succeeded", + "created": "0001-01-01T00:00:00-08:00", + "lastModified": "0001-01-01T00:00:00-08:00", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/operations-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/operations-list-all.json new file mode 100644 index 000000000000..530eeb904efb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/operations-list-all.json @@ -0,0 +1,589 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Media/register/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Microsoft Media Services", + "operation": "Registers the Media Services Resource Provider", + "description": "Registers the subscription for the Media Services resource provider and enables the creation of Media Services accounts" + } + }, + { + "name": "Microsoft.Media/unregister/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Microsoft Media Services", + "operation": "Unregisters the Media Services Resource Provider", + "description": "Unregisters the subscription for the Media Services resource provider" + } + }, + { + "name": "Microsoft.Media/checknameavailability/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Microsoft Media Services", + "operation": "Check Name Availability", + "description": "Checks if a Media Services account name is available" + } + }, + { + "name": "Microsoft.Media/operations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Available Operations", + "operation": "Get Available Operations", + "description": "Get Available Operations" + } + }, + { + "name": "Microsoft.Media/mediaservices/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Read Media Services Account", + "description": "Read any Media Services Account" + } + }, + { + "name": "Microsoft.Media/mediaservices/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Create or Update Media Services Account", + "description": "Create or Update any Media Services Account" + } + }, + { + "name": "Microsoft.Media/mediaservices/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Delete Media Services Account", + "description": "Delete any Media Services Account" + } + }, + { + "name": "Microsoft.Media/mediaservices/syncStorageKeys/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Media Services Account", + "operation": "Synchronize Storage Keys", + "description": "Synchronize the Storage Keys for an attached Azure Storage account" + } + }, + { + "name": "Microsoft.Media/mediaservices/eventGridFilters/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Event Grid Filter", + "operation": "Read Event Grid Filter", + "description": "Read any Event Grid Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/eventGridFilters/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Event Grid Filter", + "operation": "Create or Update Event Grid Filter", + "description": "Create or Update any Event Grid Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/eventGridFilters/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Event Grid Filter", + "operation": "Delete Event Grid Filter", + "description": "Delete any Event Grid Filter" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "Read Asset", + "description": "Read any Asset" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "Create or Update Asset", + "description": "Create or Update any Asset" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "Delete Asset", + "description": "Delete any Asset" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/listContainerSas/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "List Asset Container SAS URLs", + "description": "List Asset Container SAS URLs" + } + }, + { + "name": "Microsoft.Media/mediaservices/assets/getEncryptionKey/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Asset", + "operation": "Get Asset Encryption Key", + "description": "Get Asset Encryption Key" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingPolicies/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Policy", + "operation": "Read Streaming Policy", + "description": "Read any Streaming Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingPolicies/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Policy", + "operation": "Create or Update Streaming Policy", + "description": "Create or Update any Streaming Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingPolicies/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Policy", + "operation": "Delete Streaming Policy", + "description": "Delete any Streaming Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "Read Streaming Locator", + "description": "Read any Streaming Locator" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "Create or Update Streaming Locator", + "description": "Create or Update any Streaming Locator" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "Delete Streaming Locator", + "description": "Delete any Streaming Locator" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/listContentKeys/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "List Content Keys", + "description": "List Content Keys" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingLocators/listPaths/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Locator", + "operation": "List Paths", + "description": "List Paths" + } + }, + { + "name": "Microsoft.Media/mediaservices/contentKeyPolicies/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Content Key Policy", + "operation": "Read Content Key Policy", + "description": "Read any Content Key Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/contentKeyPolicies/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Content Key Policy", + "operation": "Create or Update Content Key Policy", + "description": "Create or Update any Content Key Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/contentKeyPolicies/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Content Key Policy", + "operation": "Delete Content Key Policy", + "description": "Delete any Content Key Policy" + } + }, + { + "name": "Microsoft.Media/mediaservices/contentKeyPolicies/getPolicyPropertiesWithSecrets/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Content Key Policy", + "operation": "Get Policy Properties With Secrets", + "description": "Get Policy Properties With Secrets" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Transform", + "operation": "Read Transform", + "description": "Read any Transform" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Transform", + "operation": "Create or Update Transform", + "description": "Create or Update any Transform" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Transform", + "operation": "Delete Transform", + "description": "Delete any Transform" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/jobs/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Job", + "operation": "Read Job", + "description": "Read any Job" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/jobs/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Job", + "operation": "Create or Update Job", + "description": "Create or Update any Job" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/jobs/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Job", + "operation": "Delete Job", + "description": "Delete any Job" + } + }, + { + "name": "Microsoft.Media/mediaservices/transforms/jobs/cancelJob/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Job", + "operation": "Cancel Job", + "description": "Cancel Job" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Read Streaming Endpoint", + "description": "Read any Streaming Endpoint" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Create or Update Streaming Endpoint", + "description": "Create or Update any Streaming Endpoint" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Delete Streaming Endpoint", + "description": "Delete any Streaming Endpoint" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/start/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Start Streaming Endpoint Operation", + "description": "Start any Streaming Endpoint Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/stop/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Stop Streaming Endpoint Operation", + "description": "Stop any Streaming Endpoint Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/scale/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint", + "operation": "Scale Streaming Endpoint Operation", + "description": "Scale any Streaming Endpoint Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoints", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoints", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpoints/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoints", + "operation": "Get list of Media Services Streaming Endpoint Metrics definitions.", + "description": "Get list of Media Services Streaming Endpoint Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "Egress", + "displayName": "Egress", + "displayDescription": "The amount of Egress data, in bytes.", + "unit": "Bytes", + "aggregationType": "Total", + "dimensions": [ + { + "name": "OutputFormat", + "displayName": "Output Format", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "SuccessE2ELatency", + "displayName": "Success end to end Latency", + "displayDescription": "The average latency for successful requests in milliseconds.", + "unit": "Milliseconds", + "aggregationType": "Average", + "dimensions": [ + { + "name": "OutputFormat", + "displayName": "Output Format", + "toBeExportedForShoebox": true + } + ] + }, + { + "name": "Requests", + "displayName": "Requests", + "displayDescription": "Requests to a Streaming Endpoint.", + "unit": "Count", + "aggregationType": "Count", + "dimensions": [ + { + "name": "OutputFormat", + "displayName": "Output Format", + "toBeExportedForShoebox": true + }, + { + "name": "HttpStatusCode", + "displayName": "HTTP Status Code", + "toBeExportedForShoebox": true + }, + { + "name": "ErrorCode", + "displayName": "Error Code", + "toBeExportedForShoebox": false + } + ] + } + ] + } + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Read Live Event", + "description": "Read any Live Event" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Create or Update Live Event", + "description": "Create or Update any Live Event" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Delete Live Event", + "description": "Delete any Live Event" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/start/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Start Live Event Operation", + "description": "Start any Live Event Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/stop/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Stop Live Event Operation", + "description": "Stop any Live Event Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/reset/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event", + "operation": "Reset Live Event Operation", + "description": "Reset any Live Event Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/liveOutputs/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Output", + "operation": "Read Live Output", + "description": "Read any Live Output" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/liveOutputs/write", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Output", + "operation": "Create or Update Live Output", + "description": "Create or Update any Live Output" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEvents/liveOutputs/delete", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Output", + "operation": "Delete Live Output", + "description": "Delete any Live Output" + } + }, + { + "name": "Microsoft.Media/mediaservices/streamingEndpointOperations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Streaming Endpoint Operation", + "operation": "Read Streaming Endpoint Operation", + "description": "Read any Streaming Endpoint Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveEventOperations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Event Operation", + "operation": "Read Live Event Operation", + "description": "Read any Live Event Operation" + } + }, + { + "name": "Microsoft.Media/mediaservices/liveOutputOperations/read", + "display": { + "provider": "Microsoft Media Services", + "resource": "Live Output Operation", + "operation": "Read Live Output Operation", + "description": "Read any Live Output Operation" + } + }, + { + "name": "Microsoft.Media/locations/checkNameAvailability/action", + "display": { + "provider": "Microsoft Media Services", + "resource": "Microsoft Media Services", + "operation": "Check Name Availability", + "description": "Checks if a Media Services account name is available" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-delete.json new file mode 100644 index 000000000000..ddc3608e5cab --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "name": "connectionName1", + "api-version": "2020-05-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-get-by-name.json new file mode 100644 index 000000000000..859c2857b95a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-get-by-name.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "name": "connectionName1", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "connectionName1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/mediaservices/contososports/privateEndpointConnections/connectionName1", + "type": "Microsoft.Media/mediaservices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description." + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/privateEndpointName1" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-list.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-list.json new file mode 100644 index 000000000000..785b32db5fb0 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-list.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cn1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/mediaservices/contososports/privateEndpointConnections/cn1", + "type": "Microsoft.Media/mediaservices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description" + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/pe1" + } + } + }, + { + "name": "cn2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/mediaservices/contososports/privateEndpointConnections/cn2", + "type": "Microsoft.Media/mediaservices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Test description" + }, + "privateEndpoint": { + "id": "/subscriptions/22222222-2222-2222-2222-222222222222/resourceGroups/reosuceGroup2/providers/Microsoft.Network/privateEndpoints/pe2" + } + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-put.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-put.json new file mode 100644 index 000000000000..03ee510a3286 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-endpoint-connection-put.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "name": "connectionName1", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description." + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "connectionName1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/mediaservices/contososports/privateEndpointConnections/connectionName1", + "type": "Microsoft.Media/mediaservices/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Test description." + }, + "privateEndpoint": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/reosuceGroup1/providers/Microsoft.Network/privateEndpoints/privateEndpointName1" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-link-resources-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-link-resources-get-by-name.json new file mode 100644 index 000000000000..7ef5ee153fcd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-link-resources-get-by-name.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "name": "keydelivery", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "keydelivery", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/mediaservices/contososports/privateLinkResources/keydelivery", + "type": "Microsoft.Media/mediaservices/privateLinkResources", + "properties": { + "groupId": "keydelivery", + "requiredMembers": [ + "keydelivery" + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-link-resources-list.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-link-resources-list.json new file mode 100644 index 000000000000..5aa331ad27fd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/private-link-resources-list.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contososports", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "keydelivery", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fabrikam/providers/Microsoft.Media/mediaservices/contososports/privateLinkResources/keydelivery", + "type": "Microsoft.Media/mediaservices/privateLinkResources", + "properties": { + "groupId": "keydelivery", + "requiredMembers": [ + "keydelivery" + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-clear.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-clear.json new file mode 100644 index 000000000000..e5ef74a68e3b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-clear.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedClearStreamingLocator", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "streamingPolicyName": "clearStreamingPolicy", + "assetName": "ClimbingMountRainier" + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedClearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedClearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.4323237Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "e34b0fc4-3be0-4a3c-9793-1f6b7be5b013", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json new file mode 100644 index 000000000000..72f7bc7edcf2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "assetName": "ClimbingMountRainier", + "streamingPolicyName": "secureStreamingPolicy", + "streamingLocatorId": "90000000-0000-0000-0000-00000000000A", + "contentKeys": [ + { + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "id": "60000000-0000-0000-0000-000000000001", + "value": "1UqLohAfWsEGkULYxHjYZg==" + }, + { + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "id": "60000000-0000-0000-0000-000000000004", + "value": "4UqLohAfWsEGkULYxHjYZg==" + }, + { + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "id": "60000000-0000-0000-0000-000000000007", + "value": "7UqLohAfWsEGkULYxHjYZg==" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.7859424Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "90000000-0000-0000-0000-00000000000a", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [ + { + "id": "60000000-0000-0000-0000-000000000007", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "tracks": [] + }, + { + "id": "60000000-0000-0000-0000-000000000004", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "tracks": [] + }, + { + "id": "60000000-0000-0000-0000-000000000001", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "tracks": [] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-secure.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-secure.json new file mode 100644 index 000000000000..ac78cdfa4e47 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-create-secure.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedSecureStreamingLocator", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "streamingPolicyName": "secureStreamingPolicy", + "assetName": "ClimbingMountRainier", + "startTime": "2018-03-01T00:00:00Z", + "endTime": "2028-12-31T23:59:59.9999999Z" + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedSecureStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.6243295Z", + "startTime": "2018-03-01T00:00:00Z", + "endTime": "2028-12-31T23:59:59.9999999Z", + "streamingLocatorId": "962775be-41fb-452a-b0dc-72ca2543a945", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [ + { + "id": "1b2d5581-4518-4a51-ad8a-f55d3bf993d4", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "tracks": [] + }, + { + "id": "1a9858b1-3566-4bf1-9fee-60f2fb98e7e4", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "tracks": [] + }, + { + "id": "5faac86a-3aca-4d6b-99c0-6bb8cc3497a1", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "tracks": [] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-delete.json new file mode 100644 index 000000000000..ae40b3c0d91e --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-get-by-name.json new file mode 100644 index 000000000000..5cded2bd270e --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-get-by-name.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "clearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.1154071Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "7684043b-f6d1-44a7-8bed-8a4aa474c5a4", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + } + }, + "404": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-content-keys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-content-keys.json new file mode 100644 index 000000000000..e912886dbc2b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-content-keys.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "secureStreamingLocator", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "contentKeys": [ + { + "id": "9259eb06-eeee-4f77-987f-48f4ea5c649f", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "value": "QpiqeQROdN5xamnfUF2Wdw==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + }, + { + "id": "06bfeff1-2bb6-4f58-af27-a2767f058bca", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "value": "ZjgWhNnqnqcov/h+wrYusw==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + }, + { + "id": "799e78a0-ed6f-4179-9222-ed4ec4223cec", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "value": "FjZ3n3yRcVxRFftdYFbe9g==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-paths-streaming-and-download.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-paths-streaming-and-download.json new file mode 100644 index 000000000000..58c864fe4494 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-paths-streaming-and-download.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "streamingPaths": [ + { + "streamingProtocol": "Hls", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest(format=m3u8-aapl)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest(format=m3u8-aapl)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest(format=m3u8-aapl)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest(format=mpd-time-csf)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest(format=mpd-time-csf)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest(format=mpd-time-csf)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest" + ] + } + ], + "downloadPaths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/textTrack.vtt", + "/262a87b6-b538-4657-bac1-b6897924471d/video1.mp4", + "/262a87b6-b538-4657-bac1-b6897924471d/video2.mp4", + "/262a87b6-b538-4657-bac1-b6897924471d/video3.mp4" + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-paths-streaming-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-paths-streaming-only.json new file mode 100644 index 000000000000..d0fb861781bf --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list-paths-streaming-only.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "secureStreamingLocator", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "streamingPaths": [ + { + "streamingProtocol": "Hls", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbc)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cbc)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(encryption=cbc)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "CommonEncryptionCenc", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cenc)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "CommonEncryptionCenc", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(encryption=cenc)" + ] + }, + { + "streamingProtocol": "Hls", + "encryptionScheme": "CommonEncryptionCbcs", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)" + ] + } + ], + "downloadPaths": [] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list.json new file mode 100644 index 000000000000..e5a389fed597 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-locators-list.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:31.9341192Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "6a116ec6-0c85-441f-9c31-89a5bc3adf0a", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + }, + { + "name": "secureStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/secureStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:31.9544387Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "7338ef90-ffc8-42de-8bff-de8f99973300", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-clear.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-clear.json new file mode 100644 index 000000000000..bca0dd3c4eab --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-clear.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedClearStreamingPolicy", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedClearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedClearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.1535417Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json new file mode 100644 index 000000000000..4814bb3ca62a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + } + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.6197199Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-commonEncryptionCenc-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-commonEncryptionCenc-only.json new file mode 100644 index 000000000000..074818a1b1fc --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-commonEncryptionCenc-only.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + } + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.4678543Z", + "defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-envelopeEncryption-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-envelopeEncryption-only.json new file mode 100644 index 000000000000..d6c0cf3248b5 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-envelopeEncryption-only.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + } + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.3055712Z", + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-secure-streaming.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-secure-streaming.json new file mode 100644 index 000000000000..cdd2235204c3 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-create-secure-streaming.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicy", + "api-version": "2020-05-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + } + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + } + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + } + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.7715696Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-delete.json new file mode 100644 index 000000000000..8278daace0e4 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "api-version": "2020-05-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-list.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-list.json new file mode 100644 index 000000000000..5feec41b392f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policies-list.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.676067Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + }, + { + "name": "secureStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Unknown", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithCommonEncryptionCencOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCencOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Unknown", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithEnvelopeEncryptionOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithEnvelopeEncryptionOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + ], + "@odata.nextLink": "http://server/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies?api-version=2020-05-01&$skiptoken=secureStreamingPolicyWithEnvelopeEncryptionOnly" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policy-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policy-get-by-name.json new file mode 100644 index 000000000000..7772551258f0 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streaming-policy-get-by-name.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "clearStreamingPolicy", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "name": "clearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.8501486Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + }, + "404": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-create.json new file mode 100644 index 000000000000..8394c166bc54 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-create.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2020-05-01", + "parameters": { + "id": null, + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "accessControl": { + "akamai": { + "akamaiSignatureHeaderAuthenticationKeyList": [ + { + "identifier": "id1", + "expiration": "2029-12-31T16:00:00-08:00", + "base64Key": "dGVzdGlkMQ==" + }, + { + "identifier": "id2", + "expiration": "2030-12-31T16:00:00-08:00", + "base64Key": "dGVzdGlkMQ==" + } + ] + }, + "ip": { + "allow": [ + { + "name": "AllowedIp", + "address": "192.168.1.1" + } + ] + } + }, + "cdnEnabled": false + } + } + }, + "responses": { + "202": { + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": "", + "customHostNames": [], + "accessControl": { + "akamai": { + "akamaiSignatureHeaderAuthenticationKeyList": [ + { + "identifier": "id1", + "expiration": "2030-01-01T00:00:00Z", + "base64Key": "dGVzdGlkMQ==" + }, + { + "identifier": "id2", + "expiration": "2031-01-01T00:00:00Z", + "base64Key": "dGVzdGlkMQ==" + } + ] + }, + "ip": { + "allow": [ + { + "name": "AllowedIp", + "address": "192.168.1.1", + "subnetPrefixLength": null + } + ] + } + }, + "maxCacheAge": null, + "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T00:00:00-08:00", + "provisioningState": "InProgress", + "resourceState": "Stopped", + "created": "2018-03-03T02:25:09.7561389Z", + "lastModified": "2018-03-03T02:25:09.7561389Z" + } + } + }, + "200": { + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": "", + "customHostNames": [], + "accessControl": { + "akamai": { + "akamaiSignatureHeaderAuthenticationKeyList": [ + { + "identifier": "id1", + "expiration": "2030-01-01T00:00:00Z", + "base64Key": "dGVzdGlkMQ==" + }, + { + "identifier": "id2", + "expiration": "2031-01-01T00:00:00Z", + "base64Key": "dGVzdGlkMQ==" + } + ] + }, + "ip": { + "allow": [ + { + "name": "AllowedIp", + "address": "192.168.1.1", + "subnetPrefixLength": null + } + ] + } + }, + "maxCacheAge": null, + "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T00:00:00-08:00", + "provisioningState": "InProgress", + "resourceState": "Stopped", + "created": "2018-03-03T02:25:09.7561389Z", + "lastModified": "2018-03-03T02:25:09.7561389Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-delete.json new file mode 100644 index 000000000000..eebd53df788c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-delete.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2020-05-01", + "parameters": { + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "Name": "myStreamingEndpoint1", + "Type": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourcegroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints", + "Location": "West US", + "Tags": { + "DynamicProperties": { + "tag1": "value1", + "tag2": "value2" + } + }, + "properties": { + "Description": "test event 1", + "ScaleUnits": 1, + "AccessControl": null, + "AvailabilitySetName": "availableset", + "MaxCacheAge": null, + "CrossSiteAccessPolicies": null, + "CustomHostNames": [], + "HostName": null, + "CdnEnabled": false, + "CdnProvider": null, + "CdnProfile": null, + "FreeTrialEndTime": "0001-01-01T00:00:00-08:00", + "ProvisioningState": null, + "ResourceState": "Stopped", + "Created": "2018-03-02T18:25:09.4897514-08:00", + "LastModified": "2018-03-02T18:25:09.4897514-08:00" + } + } + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-list-all.json new file mode 100644 index 000000000000..4a08601fdf6f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-list-all.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": "", + "customHostNames": [], + "maxCacheAge": null, + "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T08:00:00Z", + "provisioningState": "Succeeded", + "resourceState": "Stopped", + "created": "2018-03-03T02:25:09.202013Z", + "lastModified": "2018-03-03T02:25:09.202013Z" + } + }, + { + "name": "default", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/default", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": {}, + "properties": { + "description": "", + "scaleUnits": 0, + "availabilitySetName": null, + "cdnEnabled": true, + "cdnProvider": "StandardVerizon", + "cdnProfile": "AzureMediaStreamingPlatformCdnProfile-StandardVerizon", + "customHostNames": [], + "maxCacheAge": null, + "hostName": "slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T00:00:00-08:00", + "provisioningState": "InProgress", + "resourceState": "Starting", + "created": "2018-03-03T02:25:09.2310128Z", + "lastModified": "2018-03-03T02:25:09.2310128Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-list-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-list-by-name.json new file mode 100644 index 000000000000..1aa22e2e8c4e --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-list-by-name.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2020-05-01" + }, + "responses": { + "404": {}, + "200": { + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": "", + "customHostNames": [], + "maxCacheAge": null, + "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T08:00:00Z", + "provisioningState": "Succeeded", + "resourceState": "Stopped", + "created": "2018-03-03T02:25:09.3500423Z", + "lastModified": "2018-03-03T02:25:09.3500423Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-scale.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-scale.json new file mode 100644 index 000000000000..4182c5ba595d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-scale.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2020-05-01", + "parameters": { + "scaleUnit": 5 + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-start.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-start.json new file mode 100644 index 000000000000..0edeff80c178 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-start.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2020-05-01" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-stop.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-stop.json new file mode 100644 index 000000000000..0edeff80c178 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-stop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2020-05-01" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-update.json new file mode 100644 index 000000000000..8633a2681e19 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/streamingendpoint-update.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2020-05-01", + "parameters": { + "id": null, + "location": "West US", + "tags": { + "tag3": "value3", + "tag5": "value5" + }, + "properties": { + "description": "test event 2", + "scaleUnits": 5, + "availabilitySetName": "availableset" + } + } + }, + "responses": { + "200": { + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag3": "value3", + "tag5": "value5" + }, + "properties": { + "description": "test event 2", + "scaleUnits": 5, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": null, + "customHostNames": [], + "maxCacheAge": null, + "hostName": null, + "freeTrialEndTime": "0001-01-01T00:00:00Z", + "provisioningState": "Succeeded", + "resourceState": null, + "created": "0001-01-01T00:00:00Z", + "lastModified": "0001-01-01T00:00:00Z" + } + } + }, + "202": { + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag3": "value3", + "tag5": "value5" + }, + "properties": { + "description": "test event 2", + "scaleUnits": 5, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": null, + "customHostNames": [], + "maxCacheAge": null, + "hostName": null, + "freeTrialEndTime": "0001-01-01T00:00:00Z", + "provisioningState": "Succeeded", + "resourceState": null, + "created": "0001-01-01T00:00:00Z", + "lastModified": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-create.json new file mode 100644 index 000000000000..3dd7b2c06dfd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-create.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "createdTransform", + "parameters": { + "properties": { + "description": "Example Transform to illustrate create and update.", + "outputs": [ + { + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "createdTransform", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/createdTransform", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:02.2021719-07:00", + "description": "Example Transform to illustrate create and update.", + "lastModified": "2019-10-10T22:38:02.2021719-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + } + } + }, + "200": { + "body": { + "name": "createdTransform", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/createdTransform", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:02.2021719-07:00", + "description": "Example Transform to illustrate create and update.", + "lastModified": "2019-10-10T22:38:02.2021719-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-delete.json new file mode 100644 index 000000000000..4a6cf2b6b7b3 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "sampleTransform" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-get-by-name.json new file mode 100644 index 000000000000..6e165e7b5b43 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-get-by-name.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "sampleTransform" + }, + "responses": { + "404": {}, + "200": { + "body": { + "name": "sampleTransform", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleTransform", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:01.9599144-07:00", + "description": "A sample Transform using the Standard Encoder with a built in preset.", + "lastModified": "2019-10-10T22:38:01.9599144-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "H264MultipleBitrate1080p" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-created.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-created.json new file mode 100644 index 000000000000..257c637422cb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-created.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "$filter": "properties/created gt 2019-10-10T22:38:01.7859346Z and properties/created le 2019-10-10T22:38:11.7859346Z", + "$orderby": "properties/created" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleEncodeAndVideoIndex", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:11.7859346-07:00", + "description": "A sample Transform using the Video Analyzer.", + "lastModified": "2019-10-10T22:38:11.7859346-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "insightsToExtract": "AllInsights" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-lastmodified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-lastmodified.json new file mode 100644 index 000000000000..cb97582fae9c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-lastmodified.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "$filter": "properties/lastmodified gt 2019-10-10T22:38:01.8751625Z and properties/lastmodified le 2019-10-10T22:38:11.8751625Z", + "$orderby": "properties/lastmodified desc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleEncodeAndVideoIndex", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:11.8751625-07:00", + "description": "A sample Transform using the Video Analyzer.", + "lastModified": "2019-10-10T22:38:11.8751625-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "insightsToExtract": "AllInsights" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-name.json new file mode 100644 index 000000000000..75a08549f9fa --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all-filter-by-name.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "$filter": "(name eq 'sampleEncode') or (name eq 'sampleEncodeAndVideoIndex')", + "$orderby": "name desc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleEncodeAndVideoIndex", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:01.5489351-07:00", + "description": "A sample Transform using the Standard Encoder with a built-in preset, as well as the Video Analyzer.", + "lastModified": "2019-10-10T22:38:01.5489351-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + }, + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "insightsToExtract": "AllInsights" + } + } + ] + } + }, + { + "name": "sampleEncode", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncode", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:01.5489351-07:00", + "description": "A sample Transform using the Standard Encoder with a built in preset.", + "lastModified": "2019-10-10T22:38:01.5489351-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all.json new file mode 100644 index 000000000000..7552799d9b22 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-list-all.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleEncode", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncode", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:01.0599386-07:00", + "description": "A sample Transform using the Standard Encoder with a built in preset.", + "lastModified": "2019-10-10T22:38:01.0599386-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + } + }, + { + "name": "sampleEncodeAndVideoIndex", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:01.0649389-07:00", + "description": "A sample Transform using the Standard Encoder with a built-in preset, as well as the Video Analyzer.", + "lastModified": "2019-10-10T22:38:01.0649389-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + }, + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "insightsToExtract": "AllInsights" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-update.json new file mode 100644 index 000000000000..5a9a2096bae5 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/examples/transforms-update.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "transformToUpdate", + "parameters": { + "properties": { + "description": "Example transform to illustrate update.", + "outputs": [ + { + "relativePriority": "High", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "H264MultipleBitrate720p" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "transformToUpdate", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/transformToUpdate", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2019-10-10T22:38:02.3591446-07:00", + "description": "Example transform to illustrate update.", + "lastModified": "2019-10-10T22:38:02.4291412-07:00", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "High", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "H264MultipleBitrate720p" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/streamingservice.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/streamingservice.json new file mode 100644 index 000000000000..3c7352ccae25 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2020-05-01/streamingservice.json @@ -0,0 +1,1757 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "Streaming resource management client for Azure Media Services", + "version": "2020-05-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents": { + "get": { + "tags": [ + "LiveEvents" + ], + "summary": "List Live Events", + "description": "Lists the Live Events in the account.", + "operationId": "LiveEvents_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveEventListResult" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all LiveEvents": { + "$ref": "examples/liveevent-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}": { + "get": { + "tags": [ + "LiveEvents" + ], + "summary": "Get Live Event", + "description": "Gets a Live Event.", + "operationId": "LiveEvents_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "Get a LiveEvent by name": { + "$ref": "examples/liveevent-list-by-name.json" + } + } + }, + "put": { + "tags": [ + "LiveEvents" + ], + "summary": "Create Live Event", + "description": "Creates a Live Event.", + "operationId": "LiveEvents_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/StreamingResourceAutoStart" + }, + { + "name": "parameters", + "description": "Live Event properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LiveEvent" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a LiveEvent": { + "$ref": "examples/liveevent-create.json" + } + } + }, + "patch": { + "tags": [ + "LiveEvents" + ], + "description": "Updates a existing Live Event.", + "operationId": "LiveEvents_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "Live Event properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LiveEvent" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a LiveEvent": { + "$ref": "examples/liveevent-update.json" + } + } + }, + "delete": { + "tags": [ + "LiveEvents" + ], + "summary": "Delete Live Event", + "description": "Deletes a Live Event.", + "operationId": "LiveEvents_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "204": { + "description": "No content. The request has been accepted but the Live Event was not found." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a LiveEvent": { + "$ref": "examples/liveevent-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Start Live Event", + "description": "Starts an existing Live Event.", + "operationId": "LiveEvents_Start", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start a LiveEvent": { + "$ref": "examples/liveevent-start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Stop Live Event", + "description": "Stops an existing Live Event.", + "operationId": "LiveEvents_Stop", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "LiveEvent stop parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LiveEventActionInput" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop a LiveEvent": { + "$ref": "examples/liveevent-stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Reset Live Event", + "description": "Resets an existing Live Event.", + "operationId": "LiveEvents_Reset", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reset a LiveEvent": { + "$ref": "examples/liveevent-reset.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs": { + "get": { + "tags": [ + "LiveOutputs" + ], + "summary": "List Live Outputs", + "description": "Lists the Live Outputs in the Live Event.", + "operationId": "LiveOutputs_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveOutputListResult" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all LiveOutputs": { + "$ref": "examples/liveoutput-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}": { + "get": { + "tags": [ + "LiveOutputs" + ], + "summary": "Get Live Output", + "description": "Gets a Live Output.", + "operationId": "LiveOutputs_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/LiveOutputName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveOutput" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "Get a LiveOutput by name": { + "$ref": "examples/liveoutput-list-by-name.json" + } + } + }, + "put": { + "tags": [ + "LiveOutputs" + ], + "summary": "Create Live Output", + "description": "Creates a Live Output.", + "operationId": "LiveOutputs_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/LiveOutputName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "Live Output properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LiveOutput" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveOutput" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "schema": { + "$ref": "#/definitions/LiveOutput" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a LiveOutput": { + "$ref": "examples/liveoutput-create.json" + } + } + }, + "delete": { + "tags": [ + "LiveOutputs" + ], + "summary": "Delete Live Output", + "description": "Deletes a Live Output.", + "operationId": "LiveOutputs_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/LiveOutputName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "204": { + "description": "No content. The request has been accepted but the Live Output was not found." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a LiveOutput": { + "$ref": "examples/liveoutput-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints": { + "get": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "List StreamingEndpoints", + "description": "Lists the StreamingEndpoints in the account.", + "operationId": "StreamingEndpoints_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpointListResult" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all StreamingEndpoints": { + "$ref": "examples/streamingendpoint-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}": { + "get": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Get StreamingEndpoint", + "description": "Gets a StreamingEndpoint.", + "operationId": "StreamingEndpoints_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "404": { + "description": "NotFound" + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "Get a StreamingEndpoint by name": { + "$ref": "examples/streamingendpoint-list-by-name.json" + } + } + }, + "put": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Create StreamingEndpoint", + "description": "Creates a StreamingEndpoint.", + "operationId": "StreamingEndpoints_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/StreamingResourceAutoStart" + }, + { + "name": "parameters", + "description": "StreamingEndpoint properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a StreamingEndpoint": { + "$ref": "examples/streamingendpoint-create.json" + } + } + }, + "patch": { + "tags": [ + "StreamingEndpoint" + ], + "summary": "Update StreamingEndpoint", + "description": "Updates a existing StreamingEndpoint.", + "operationId": "StreamingEndpoints_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "StreamingEndpoint properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a StreamingEndpoint": { + "$ref": "examples/streamingendpoint-update.json" + } + } + }, + "delete": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Delete StreamingEndpoint", + "description": "Deletes a StreamingEndpoint.", + "operationId": "StreamingEndpoints_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "204": { + "description": "No content. The request has been accepted but the Streaming Endpoint was not found." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a StreamingEndpoint": { + "$ref": "examples/streamingendpoint-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start": { + "post": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Start StreamingEndpoint", + "description": "Starts an existing StreamingEndpoint.", + "operationId": "StreamingEndpoints_Start", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start a StreamingEndpoint": { + "$ref": "examples/streamingendpoint-start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop": { + "post": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Stop StreamingEndpoint", + "description": "Stops an existing StreamingEndpoint.", + "operationId": "StreamingEndpoints_Stop", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop a StreamingEndpoint": { + "$ref": "examples/streamingendpoint-stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale": { + "post": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Scale StreamingEndpoint", + "description": "Scales an existing StreamingEndpoint.", + "operationId": "StreamingEndpoints_Scale", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "StreamingEndpoint scale parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingEntityScaleUnit" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "./Common.json#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Scale a StreamingEndpoint": { + "$ref": "examples/streamingendpoint-scale.json" + } + } + } + } + }, + "definitions": { + "Hls": { + "properties": { + "fragmentsPerTsSegment": { + "format": "int32", + "type": "integer", + "description": "The amount of fragments per HTTP Live Streaming (HLS) segment." + } + }, + "description": "The HLS configuration." + }, + "LiveOutputProperties": { + "required": [ + "assetName", + "archiveWindowLength" + ], + "properties": { + "description": { + "type": "string", + "description": "The description of the Live Output." + }, + "assetName": { + "type": "string", + "description": "The asset name." + }, + "archiveWindowLength": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content." + }, + "manifestName": { + "type": "string", + "description": "The manifest file name. If not provided, the service will generate one automatically." + }, + "hls": { + "type": "object", + "$ref": "#/definitions/Hls", + "description": "The HLS configuration." + }, + "outputSnapTime": { + "type": "integer", + "format": "int64", + "description": "The output snapshot time." + }, + "created": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the Live Output was created." + }, + "lastModified": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the Live Output was last modified." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the Live Output." + }, + "resourceState": { + "description": "The resource state of the Live Output.", + "readOnly": true, + "type": "string", + "enum": [ + "Creating", + "Running", + "Deleting" + ], + "x-ms-enum": { + "name": "LiveOutputResourceState", + "modelAsString": true + } + } + }, + "description": "The JSON object that contains the properties required to create a Live Output." + }, + "LiveOutput": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LiveOutputProperties", + "description": "The Live Output properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "The Live Output." + }, + "LiveOutputListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveOutput" + }, + "description": "The result of the List Live Output operation." + }, + "@odata.count": { + "type": "integer", + "format": "int32", + "description": "The number of result." + }, + "@odata.nextLink": { + "type": "string", + "description": "Th link to the next set of results. Not empty if value contains incomplete list of Live Outputs." + } + }, + "description": "The LiveOutput list result.", + "title": "LiveOutputListResult" + }, + "LiveEventEndpoint": { + "properties": { + "protocol": { + "type": "string", + "description": "The endpoint protocol." + }, + "url": { + "type": "string", + "description": "The endpoint URL." + } + }, + "description": "The Live Event endpoint." + }, + "LiveEventInputAccessControl": { + "properties": { + "ip": { + "type": "object", + "$ref": "#/definitions/IPAccessControl", + "description": "The IP access control properties." + } + }, + "description": "The IP access control for Live Event Input." + }, + "LiveEventInput": { + "required": [ + "streamingProtocol" + ], + "properties": { + "streamingProtocol": { + "type": "string", + "description": "The streaming protocol for the Live Event. This is specified at creation time and cannot be updated.", + "enum": [ + "FragmentedMP4", + "RTMP" + ], + "x-ms-enum": { + "name": "LiveEventInputProtocol", + "modelAsString": true + } + }, + "accessControl": { + "type": "object", + "$ref": "#/definitions/LiveEventInputAccessControl", + "description": "The access control for LiveEvent Input." + }, + "keyFrameIntervalDuration": { + "type": "string", + "description": "ISO 8601 timespan duration of the key frame interval duration." + }, + "accessToken": { + "type": "string", + "description": "A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value." + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEventEndpoint" + }, + "description": "The input endpoints for the Live Event." + } + }, + "description": "The Live Event input." + }, + "IPRange": { + "properties": { + "name": { + "type": "string", + "description": "The friendly name for the IP address range." + }, + "address": { + "type": "string", + "description": "The IP address." + }, + "subnetPrefixLength": { + "format": "int32", + "type": "integer", + "description": "The subnet mask prefix length (see CIDR notation)." + } + }, + "description": "The IP address range in the CIDR scheme." + }, + "IPAccessControl": { + "properties": { + "allow": { + "type": "array", + "items": { + "$ref": "#/definitions/IPRange" + }, + "description": "The IP allow list." + } + }, + "description": "The IP access control." + }, + "LiveEventPreviewAccessControl": { + "properties": { + "ip": { + "type": "object", + "$ref": "#/definitions/IPAccessControl", + "description": "The IP access control properties." + } + }, + "description": "The IP access control for Live Event preview." + }, + "LiveEventPreview": { + "properties": { + "endpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEventEndpoint" + }, + "description": "The endpoints for preview." + }, + "accessControl": { + "type": "object", + "$ref": "#/definitions/LiveEventPreviewAccessControl", + "description": "The access control for LiveEvent preview." + }, + "previewLocator": { + "type": "string", + "description": "The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created." + }, + "streamingPolicyName": { + "type": "string", + "description": "The name of streaming policy used for the LiveEvent preview. This value is specified at creation time and cannot be updated." + }, + "alternativeMediaId": { + "type": "string", + "description": "An Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field." + } + }, + "description": "The Live Event preview." + }, + "LiveEventEncoding": { + "properties": { + "encodingType": { + "type": "string", + "description": "The encoding type for Live Event. This value is specified at creation time and cannot be updated. When encodingType is set to None, the service simply passes through the incoming video and audio layer(s) to the output. When encodingType is set to Standard or Premium1080p, a live encoder transcodes the incoming stream into multiple bit rates or layers. See https://go.microsoft.com/fwlink/?linkid=2095101 for more information. The encodingType of Basic is obsolete – if specified, the service will treat this as a Standard Live Event.", + "enum": [ + "None", + "Basic", + "Standard", + "Premium1080p" + ], + "x-ms-enum": { + "name": "LiveEventEncodingType", + "modelAsString": true + } + }, + "presetName": { + "type": "string", + "description": "The optional encoding preset name, used when encodingType is not None. This value is specified at creation time and cannot be updated. If the encodingType is set to Standard, then the default preset name is ‘Default720p’. Else if the encodingType is set to Premium1080p, the default preset is ‘Default1080p’." + } + }, + "description": "The Live Event encoding." + }, + "CrossSiteAccessPolicies": { + "properties": { + "clientAccessPolicy": { + "type": "string", + "description": "The content of clientaccesspolicy.xml used by Silverlight." + }, + "crossDomainPolicy": { + "type": "string", + "description": "The content of crossdomain.xml used by Silverlight." + } + }, + "description": "The client access policy." + }, + "LiveEventActionInput": { + "properties": { + "removeOutputsOnStop": { + "type": "boolean", + "description": "The flag indicates if remove LiveOutputs on Stop." + } + }, + "description": "The LiveEvent action input parameter definition." + }, + "LiveEventProperties": { + "required": [ + "input" + ], + "properties": { + "description": { + "type": "string", + "description": "The Live Event description." + }, + "input": { + "type": "object", + "$ref": "#/definitions/LiveEventInput", + "description": "The Live Event input." + }, + "preview": { + "type": "object", + "$ref": "#/definitions/LiveEventPreview", + "description": "The Live Event preview." + }, + "encoding": { + "type": "object", + "$ref": "#/definitions/LiveEventEncoding", + "description": "The Live Event encoding." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the Live Event." + }, + "resourceState": { + "readOnly": true, + "type": "string", + "description": "The resource state of the Live Event.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping", + "Deleting" + ], + "x-ms-enum": { + "name": "LiveEventResourceState", + "modelAsString": true + } + }, + "crossSiteAccessPolicies": { + "type": "object", + "$ref": "#/definitions/CrossSiteAccessPolicies", + "description": "The Live Event access policies." + }, + "useStaticHostname": { + "type": "boolean", + "description": "Specifies whether to use a vanity url with the Live Event. This value is specified at creation time and cannot be updated." + }, + "streamOptions": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Default", + "LowLatency" + ], + "x-ms-enum": { + "name": "StreamOptionsFlag", + "modelAsString": true + } + }, + "description": "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'." + }, + "created": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the Live Event was created." + }, + "lastModified": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the Live Event was last modified." + } + }, + "description": "The Live Event properties." + }, + "LiveEvent": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LiveEventProperties", + "description": "The Live Event properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The Live Event." + }, + "LiveEventListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEvent" + }, + "description": "The result of the List Live Event operation." + }, + "@odata.count": { + "type": "integer", + "format": "int32", + "description": "The number of result." + }, + "@odata.nextLink": { + "type": "string", + "description": "Th link to the next set of results. Not empty if value contains incomplete list of Live Outputs." + } + }, + "description": "The LiveEvent list result.", + "title": "LiveEventListResult" + }, + "AkamaiSignatureHeaderAuthenticationKey": { + "properties": { + "identifier": { + "type": "string", + "description": "identifier of the key" + }, + "base64Key": { + "type": "string", + "description": "authentication key" + }, + "expiration": { + "format": "date-time", + "type": "string", + "description": "The expiration time of the authentication key." + } + }, + "description": "Akamai Signature Header authentication key." + }, + "AkamaiAccessControl": { + "properties": { + "akamaiSignatureHeaderAuthenticationKeyList": { + "type": "array", + "items": { + "$ref": "#/definitions/AkamaiSignatureHeaderAuthenticationKey" + }, + "description": "authentication key list" + } + }, + "description": "Akamai access control" + }, + "StreamingEndpointAccessControl": { + "properties": { + "akamai": { + "type": "object", + "$ref": "#/definitions/AkamaiAccessControl", + "description": "The access control of Akamai" + }, + "ip": { + "type": "object", + "$ref": "#/definitions/IPAccessControl", + "description": "The IP access control of the StreamingEndpoint." + } + }, + "description": "StreamingEndpoint access control definition." + }, + "StreamingEntityScaleUnit": { + "properties": { + "scaleUnit": { + "type": "integer", + "format": "int32", + "description": "The scale unit number of the StreamingEndpoint." + } + }, + "description": "scale units definition" + }, + "StreamingEndpointProperties": { + "required": [ + "scaleUnits" + ], + "properties": { + "description": { + "type": "string", + "description": "The StreamingEndpoint description." + }, + "scaleUnits": { + "type": "integer", + "format": "int32", + "description": "The number of scale units. Use the Scale operation to adjust this value." + }, + "availabilitySetName": { + "type": "string", + "description": "The name of the AvailabilitySet used with this StreamingEndpoint for high availability streaming. This value can only be set at creation time." + }, + "accessControl": { + "type": "object", + "$ref": "#/definitions/StreamingEndpointAccessControl", + "description": "The access control definition of the StreamingEndpoint." + }, + "maxCacheAge": { + "type": "integer", + "format": "int64", + "description": "Max cache age" + }, + "customHostNames": { + "type": "array", + "items": { + "type": "string", + "description": "custom host name" + }, + "description": "The custom host names of the StreamingEndpoint" + }, + "hostName": { + "readOnly": true, + "type": "string", + "description": "The StreamingEndpoint host name." + }, + "cdnEnabled": { + "type": "boolean", + "description": "The CDN enabled flag." + }, + "cdnProvider": { + "type": "string", + "description": "The CDN provider name." + }, + "cdnProfile": { + "type": "string", + "description": "The CDN profile name." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the StreamingEndpoint." + }, + "resourceState": { + "readOnly": true, + "type": "string", + "description": "The resource state of the StreamingEndpoint.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping", + "Deleting", + "Scaling" + ], + "x-ms-enum": { + "name": "StreamingEndpointResourceState", + "modelAsString": true + } + }, + "crossSiteAccessPolicies": { + "type": "object", + "$ref": "#/definitions/CrossSiteAccessPolicies", + "description": "The StreamingEndpoint access policies." + }, + "freeTrialEndTime": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The free trial expiration time." + }, + "created": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the StreamingEndpoint was created." + }, + "lastModified": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the StreamingEndpoint was last modified." + } + }, + "description": "The StreamingEndpoint properties." + }, + "StreamingEndpoint": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StreamingEndpointProperties", + "description": "The StreamingEndpoint properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The StreamingEndpoint." + }, + "StreamingEndpointListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingEndpoint" + }, + "description": "The result of the List StreamingEndpoint operation." + }, + "@odata.count": { + "type": "integer", + "format": "int32", + "description": "The number of result." + }, + "@odata.nextLink": { + "type": "string", + "description": "Th link to the next set of results. Not empty if value contains incomplete list of StreamingEndpoints." + } + }, + "description": "The StreamingEndpoint list result.", + "title": "StreamingEndpointListResult" + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "description": "The unique identifier for a Microsoft Azure subscription.", + "in": "path", + "required": true, + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "description": "The Version of the API to be used with the client request.", + "in": "query", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group within the Azure subscription.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "description": "The Media Services account name.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LiveEventName": { + "name": "liveEventName", + "description": "The name of the Live Event.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 32, + "x-ms-parameter-location": "method" + }, + "StreamingResourceAutoStart": { + "name": "autoStart", + "description": "The flag indicates if the resource should be automatically started on creation.", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "LiveOutputName": { + "name": "liveOutputName", + "description": "The name of the Live Output.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method" + }, + "StreamingEndpointName": { + "name": "streamingEndpointName", + "description": "The name of the StreamingEndpoint.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 24, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/mediaservices/resource-manager/readme.azureresourceschema.md b/specification/mediaservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7dd1ee754fbb --- /dev/null +++ b/specification/mediaservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,139 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-media-2020-05-01 + - tag: schema-media-2020-02-01-preview + - tag: schema-media-2019-09-01-preview + - tag: schema-media-2019-05-01-preview + - tag: schema-media-2018-07-01 + - tag: schema-media-2018-06-01-preview + - tag: schema-media-2018-03-30-preview + - tag: schema-media-2015-10-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-media-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-media-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/stable/2020-05-01/AccountFilters.json + - Microsoft.Media/stable/2020-05-01/Accounts.json + - Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json + - Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json + - Microsoft.Media/stable/2020-05-01/Encoding.json + - Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/stable/2020-05-01/streamingservice.json + - Microsoft.Media/stable/2020-05-01/Common.json + +``` + +### Tag: schema-media-2020-02-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2020-02-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2020-02-01-preview/MediaGraphs.json + +``` + +### Tag: schema-media-2019-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2019-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2019-09-01-preview/MediaGraphs.json + +``` + +### Tag: schema-media-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2019-05-01-preview/AccountFilters.json + - Microsoft.Media/preview/2019-05-01-preview/Accounts.json + - Microsoft.Media/preview/2019-05-01-preview/AssetsAndAssetFilters.json + - Microsoft.Media/preview/2019-05-01-preview/Common.json + - Microsoft.Media/preview/2019-05-01-preview/ContentKeyPolicies.json + - Microsoft.Media/preview/2019-05-01-preview/Encoding.json + - Microsoft.Media/preview/2019-05-01-preview/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/preview/2019-05-01-preview/streamingservice.json + +``` + +### Tag: schema-media-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-media-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/stable/2018-07-01/AccountFilters.json + - Microsoft.Media/stable/2018-07-01/Accounts.json + - Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json + - Microsoft.Media/stable/2018-07-01/ContentKeyPolicies.json + - Microsoft.Media/stable/2018-07-01/Encoding.json + - Microsoft.Media/stable/2018-07-01/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/stable/2018-07-01/streamingservice.json + - Microsoft.Media/stable/2018-07-01/Common.json + +``` + +### Tag: schema-media-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2018-06-01-preview/Accounts.json + - Microsoft.Media/preview/2018-06-01-preview/Assets.json + - Microsoft.Media/preview/2018-06-01-preview/ContentKeyPolicies.json + - Microsoft.Media/preview/2018-06-01-preview/Encoding.json + - Microsoft.Media/preview/2018-06-01-preview/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/preview/2018-06-01-preview/streamingservice.json + +``` + +### Tag: schema-media-2018-03-30-preview and azureresourceschema + +``` yaml $(tag) == 'schema-media-2018-03-30-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/preview/2018-03-30-preview/Accounts.json + - Microsoft.Media/preview/2018-03-30-preview/Assets.json + - Microsoft.Media/preview/2018-03-30-preview/ContentKeyPolicies.json + - Microsoft.Media/preview/2018-03-30-preview/Encoding.json + - Microsoft.Media/preview/2018-03-30-preview/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/preview/2018-03-30-preview/streamingservice.json + +``` + +### Tag: schema-media-2015-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-media-2015-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Media/stable/2015-10-01/media.json + +``` diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md index db3b5caa0fc4..8f1b6a467699 100644 --- a/specification/mediaservices/resource-manager/readme.md +++ b/specification/mediaservices/resource-manager/readme.md @@ -26,10 +26,30 @@ These are the global settings for the MediaServices API. ``` yaml openapi-type: arm -tag: package-2018-07 +tag: package-2020-05 opt-in-extensible-enums: true ``` + +### Tag: package-2020-05 + +These settings apply only when `--tag=package-2020-05` is specified on the command line. + +```yaml $(tag) == 'package-2020-05' +input-file: + - Microsoft.Media/stable/2020-05-01/AccountFilters.json + - Microsoft.Media/stable/2020-05-01/Accounts.json + - Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json + - Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json + - Microsoft.Media/stable/2020-05-01/Encoding.json + - Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/stable/2020-05-01/streamingservice.json + - Microsoft.Media/stable/2020-05-01/Common.json +directive: + - suppress: R2016 + where: $.definitions.TrackedResource.required + reason: location is a required property for our patch calls +``` ### Tag: package-2020-02-preview These settings apply only when `--tag=package-2020-02-preview` is specified on the command line. @@ -46,7 +66,6 @@ input-file: - Microsoft.Media/stable/2018-07-01/streamingservice.json ``` - ### Tag: package-2019-09-preview These settings apply only when `--tag=package-2019-09-preview` is specified on the command line. @@ -63,7 +82,6 @@ input-file: - Microsoft.Media/stable/2018-07-01/streamingservice.json ``` - ### Tag: package-2019-05-preview These settings apply only when `--tag=package-2019-05-preview` is specified on the command line. @@ -153,6 +171,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_media_services'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js mediaservices/resource-manager ``` ## C# @@ -308,7 +329,11 @@ directive: reason: Output not required for job update ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -320,6 +345,14 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Media/stable/2020-05-01/AccountFilters.json + - $(this-folder)/Microsoft.Media/stable/2020-05-01/Accounts.json + - $(this-folder)/Microsoft.Media/stable/2020-05-01/AssetsAndAssetFilters.json + - $(this-folder)/Microsoft.Media/stable/2020-05-01/ContentKeyPolicies.json + - $(this-folder)/Microsoft.Media/stable/2020-05-01/Encoding.json + - $(this-folder)/Microsoft.Media/stable/2020-05-01/StreamingPoliciesAndStreamingLocators.json + - $(this-folder)/Microsoft.Media/stable/2020-05-01/streamingservice.json + - $(this-folder)/Microsoft.Media/stable/2020-05-01/Common.json - $(this-folder)/Microsoft.Media/stable/2018-07-01/AccountFilters.json - $(this-folder)/Microsoft.Media/stable/2018-07-01/Accounts.json - $(this-folder)/Microsoft.Media/stable/2018-07-01/AssetsAndAssetFilters.json @@ -354,7 +387,7 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_UpdateMachines.json b/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_UpdateMachines.json new file mode 100644 index 000000000000..e8af3905becf --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/examples/Groups_UpdateMachines.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceGroupName": "abgoyal-westEurope", + "api-version": "2019-10-01", + "subscriptionId": "6393a73f-8d55-47ef-b6dd-179b3e0c7910", + "projectName": "abgoyalWEselfhostb72bproject", + "groupName": "Group2", + "group": { + "properties": { + "operationType": "Add", + "machines": [ + "/subscriptions/6393a73f-8d55-47ef-b6dd-179b3e0c7910/resourceGroups/abgoyal-westeurope/providers/Microsoft.Migrate/assessmentprojects/abgoyalWEselfhostb72bproject/machines/amansing_vm1" + ] + }, + "eTag": "\"1e000c2c-0000-0d00-0000-5cdaa4190000\"" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6393a73f-8d55-47ef-b6dd-179b3e0c7910/resourceGroups/abgoyal-westeurope/providers/Microsoft.Migrate/assessmentprojects/abgoyalWEselfhostb72bproject/groups/Test1", + "name": "Group2", + "eTag": "\"1e000c2c-0000-0d00-0000-5cdaa4190000\"", + "type": "Microsoft.Migrate/assessmentprojects/groups", + "properties": { + "groupStatus": "Completed", + "machineCount": 26, + "assessments": [ + "/subscriptions/6393a73f-8d55-47ef-b6dd-179b3e0c7910/resourceGroups/abgoyal-westeurope/providers/Microsoft.Migrate/assessmentprojects/abgoyalWEselfhostb72bproject/groups/Test1/assessments/assessment_5_9_2019_16_22_14" + ], + "areAssessmentsRunning": false, + "createdTimestamp": "2019-05-09T10:52:07.7368474Z", + "updatedTimestamp": "2019-05-10T14:07:41.752989Z" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json index 6d1fe5075e8c..69d6ce32caf7 100644 --- a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json @@ -108,12 +108,6 @@ "enum": [ "2019-10-01" ] - }, - "acceptLanguage": { - "description": "Standard request header. Used by service to respond to client in appropriate language.", - "name": "Accept-Language", - "type": "string", - "in": "header" } }, "securityDefinitions": { @@ -1800,6 +1794,9 @@ "items": { "$ref": "#/definitions/Project" } + }, + "nextLink": { + "type": "string" } } }, @@ -1922,6 +1919,7 @@ }, "HyperVCollector": { "type": "object", + "x-ms-azure-resource": true, "properties": { "eTag": { "type": "string" @@ -1989,6 +1987,7 @@ }, "VMwareCollector": { "type": "object", + "x-ms-azure-resource": true, "properties": { "eTag": { "type": "string" @@ -2184,9 +2183,6 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/acceptLanguage" } ], "responses": { @@ -2233,9 +2229,6 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/acceptLanguage" } ], "responses": { @@ -2285,9 +2278,6 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/acceptLanguage" } ], "responses": { @@ -2333,9 +2323,6 @@ { "$ref": "#/parameters/api-version" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "name": "project", "description": "New or Updated project object.", @@ -2400,9 +2387,6 @@ { "$ref": "#/parameters/api-version" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "name": "project", "description": "Updated project object.", @@ -2454,9 +2438,6 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/acceptLanguage" } ], "responses": { @@ -2490,7 +2471,7 @@ "get": { "summary": "Get all available options for the properties of an assessment on a project.", "description": "Get all available options for the properties of an assessment on a project.", - "operationId": "Project_AssessmentOptions", + "operationId": "Projects_AssessmentOptions", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2506,9 +2487,6 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/acceptLanguage" } ], "responses": { @@ -2542,7 +2520,7 @@ "get": { "summary": "Gets list of all available options for the properties of an assessment on a project.", "description": "Gets list of all available options for the properties of an assessment on a project.", - "operationId": "Project_AssessmentOptionsList", + "operationId": "Projects_AssessmentOptionsList", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2555,9 +2533,6 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/acceptLanguage" } ], "responses": { @@ -2581,7 +2556,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": null }, "x-ms-examples": { "AssessmentOptions_Get": { @@ -2605,9 +2580,6 @@ { "$ref": "#/parameters/projectName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -2660,9 +2632,6 @@ { "$ref": "#/parameters/machineName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -2709,9 +2678,6 @@ { "$ref": "#/parameters/projectName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -2737,7 +2703,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": null }, "x-ms-examples": { "Groups_ListByProject": { @@ -2764,9 +2730,6 @@ { "$ref": "#/parameters/groupName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -2814,9 +2777,6 @@ { "$ref": "#/parameters/groupName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" }, @@ -2884,9 +2844,6 @@ { "$ref": "#/parameters/groupName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -2939,9 +2896,6 @@ { "$ref": "#/parameters/api-version" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "name": "groupUpdateProperties", "description": "Machines list to be added or removed from group.", @@ -2970,6 +2924,11 @@ "$ref": "#/definitions/CloudError" } } + }, + "x-ms-examples": { + "Groups_UpdateMachines": { + "$ref": "./examples/Groups_UpdateMachines.json" + } } } }, @@ -2991,9 +2950,6 @@ { "$ref": "#/parameters/groupName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3019,7 +2975,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": null }, "x-ms-examples": { "Assessments_ListByGroup": { @@ -3043,9 +2999,6 @@ { "$ref": "#/parameters/projectName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3071,7 +3024,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": null }, "x-ms-examples": { "Assessments_ListByProject": { @@ -3101,9 +3054,6 @@ { "$ref": "#/parameters/assessmentName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3154,9 +3104,6 @@ { "$ref": "#/parameters/assessmentName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" }, @@ -3227,9 +3174,6 @@ { "$ref": "#/parameters/assessmentName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3284,9 +3228,6 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/acceptLanguage" } ], "responses": { @@ -3337,9 +3278,6 @@ { "$ref": "#/parameters/assessmentName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3398,9 +3336,6 @@ { "$ref": "#/parameters/assessedMachineName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3447,9 +3382,6 @@ { "$ref": "#/parameters/projectName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3475,7 +3407,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": null }, "x-ms-examples": { "HyperVCollectors_ListByProject": { @@ -3502,9 +3434,6 @@ { "$ref": "#/parameters/hyperVCollectorName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3552,9 +3481,6 @@ { "$ref": "#/parameters/hyperVCollectorName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" }, @@ -3622,9 +3548,6 @@ { "$ref": "#/parameters/hyperVCollectorName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3671,9 +3594,6 @@ { "$ref": "#/parameters/projectName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3699,7 +3619,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": null }, "x-ms-examples": { "VMwareCollectors_ListByProject": { @@ -3726,9 +3646,6 @@ { "$ref": "#/parameters/vmWareCollectorName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3776,9 +3693,6 @@ { "$ref": "#/parameters/vmWareCollectorName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" }, @@ -3846,9 +3760,6 @@ { "$ref": "#/parameters/vmWareCollectorName" }, - { - "$ref": "#/parameters/acceptLanguage" - }, { "$ref": "#/parameters/api-version" } @@ -3894,7 +3805,7 @@ } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": null }, "x-ms-examples": { "Operations_List": { diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json index 6811e6ce707d..49c50e05f7e5 100644 --- a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-01-01/migrate.json @@ -9,7 +9,7 @@ "email": "azuremigrate@microsoft.com" } }, - "host": "localhost", + "host": "management.azure.com", "schemes": [ "https" ], diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_Create.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_Create.json new file mode 100644 index 000000000000..eed41db83dd4 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_Create.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "clusterName": "cluster1", + "api-version": "2020-07-07", + "body": { + "properties": { + "fqdn": "10.10.10.30", + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/runasaccounts/Account1" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_Get.json new file mode 100644 index 000000000000..6c54f7b5c1f1 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "ipsahoo-RI-121119", + "siteName": "hyperv121319c813site", + "clusterName": "hypgqlclusrs1-ntdev-corp-micros-11e77b27-67cc-5e46-a5d8-0ff3dc2ef179", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/ipsahoo-RI-121119/providers/Microsoft.OffAzure/HyperVSites/hyperv121319c813site/clusters/hypgqlclusrs1-ntdev-corp-micros-11e77b27-67cc-5e46-a5d8-0ff3dc2ef179", + "name": "hypgqlclusrs1-ntdev-corp-micros-11e77b27-67cc-5e46-a5d8-0ff3dc2ef179", + "type": "Microsoft.OffAzure/HyperVSites/clusters", + "properties": { + "createdTimestamp": "2019-12-13T12:25:38.5392467Z", + "updatedTimestamp": "2019-12-13T12:27:00.6513315Z", + "fqdn": "HypGQLClusRS1.ntdev.corp.microsoft.com", + "functionalLevel": 9, + "status": null, + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/ipsahoo-RI-121119/providers/Microsoft.OffAzure/HyperVSites/hyperv121319c813site/runasaccounts/1aa83cc7-1391-566f-8fdb-c343761f7625", + "hostFqdnList": [ + "HypGQLClusN1", + "HypGQLClusN2" + ], + "errors": [] + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_ListBySite.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_ListBySite.json new file mode 100644 index 000000000000..958990dbcd17 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVCluster_ListBySite.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "ipsahoo-RI-121119", + "siteName": "hyperv121319c813site", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/ipsahoo-RI-121119/providers/Microsoft.OffAzure/HyperVSites/hyperv121319c813site/clusters/hypgqlclusrs1-ntdev-corp-micros-11e77b27-67cc-5e46-a5d8-0ff3dc2ef179", + "name": "hypgqlclusrs1-ntdev-corp-micros-11e77b27-67cc-5e46-a5d8-0ff3dc2ef179", + "type": "Microsoft.OffAzure/HyperVSites/clusters", + "properties": { + "createdTimestamp": "2019-12-13T12:25:38.5392467Z", + "updatedTimestamp": "2019-12-13T12:27:00.6513315Z", + "fqdn": "HypGQLClusRS1.ntdev.corp.microsoft.com", + "functionalLevel": 9, + "status": null, + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/ipsahoo-RI-121119/providers/Microsoft.OffAzure/HyperVSites/hyperv121319c813site/runasaccounts/1aa83cc7-1391-566f-8fdb-c343761f7625", + "hostFqdnList": [ + "HypGQLClusN1", + "HypGQLClusN2" + ], + "errors": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_Create.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_Create.json new file mode 100644 index 000000000000..4c4589656cdd --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_Create.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "hostName": "Host1", + "api-version": "2020-07-07", + "body": { + "properties": { + "fqdn": "10.10.10.20", + "runAsAccountId": "Account1" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_Get.json new file mode 100644 index 000000000000..e21c9d5c1370 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "hostName": "bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "name": "bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "type": "Microsoft.OffAzure/HyperVSites/hosts", + "properties": { + "createdTimestamp": "2019-05-09T07:53:58.2909088Z", + "updatedTimestamp": "2019-05-14T07:01:18.3589728Z", + "fqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/runasaccounts/c21a65e1-9d1d-59dd-ad6d-ae9e58a6798b", + "version": "10.0.14393", + "errors": [] + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_ListBySite.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_ListBySite.json new file mode 100644 index 000000000000..6137813005b7 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVHost_ListBySite.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "name": "bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "type": "Microsoft.OffAzure/HyperVSites/hosts", + "properties": { + "createdTimestamp": "2019-05-09T07:53:58.2909088Z", + "updatedTimestamp": "2019-05-14T07:01:18.3589728Z", + "fqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/runasaccounts/c21a65e1-9d1d-59dd-ad6d-ae9e58a6798b", + "version": "10.0.14393", + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "name": "bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "type": "Microsoft.OffAzure/HyperVSites/hosts", + "properties": { + "createdTimestamp": "2019-05-09T07:54:59.3681907Z", + "updatedTimestamp": "2019-05-14T07:01:18.3902502Z", + "fqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/runasaccounts/c21a65e1-9d1d-59dd-ad6d-ae9e58a6798b", + "version": "10.0.14393", + "errors": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVMachine_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVMachine_Get.json new file mode 100644 index 000000000000..022255be1751 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVMachine_Get.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "machineName": "96d27052-052b-48db-aa84-b9978eddbf5d", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/96d27052-052b-48db-aa84-b9978eddbf5d", + "name": "96d27052-052b-48db-aa84-b9978eddbf5d", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:96D27052-052B-48DB-AA84-B9978EDDBF5D\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverstandard_de-de", + "diskType": "Dynamic", + "lun": 0, + "path": "D:\\VHDs\\14393.0.amd64fre.rs1_release.160715-1616_server_serverstandard_de-de.vhd" + }, + { + "instanceId": "Microsoft:96D27052-052B-48DB-AA84-B9978EDDBF5D\\523DA04B-C02E-451F-AF58-46925E56213D\\0\\0\\L", + "vhdId": "5d45e8e9-7ab3-4999-915c-d62c70e5a39d", + "maxSizeInBytes": 110595407872, + "name": "22", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual hard disks\\22.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:96D27052-052B-48DB-AA84-B9978EDDBF5D\\89DF59CE-0C5D-4204-BADF-F41E3EA37821", + "macAddress": "00:15:5d:0c:92:7a", + "ipAddressList": [ + "10.150.10.139", + "fe80::e989:d351:54d7:42a6", + "2404:f801:4800:25:e989:d351:54d7:42a6" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "TestDeDe", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\96D27052-052B-48DB-AA84-B9978EDDBF5D.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Standard", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.498307Z", + "updatedTimestamp": "2019-05-14T07:01:18.4058859Z", + "instanceUuid": "96d27052-052b-48db-aa84-b9978eddbf5d", + "powerStatus": "Running", + "biosSerialNumber": "5656-6486-4089-5091-2740-7319-66", + "vmFqdn": "WIN-VDE4EPC5D52", + "isDeleted": false, + "errors": [] + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVMachines_ListBySite.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVMachines_ListBySite.json new file mode 100644 index 000000000000..74fa26f65b33 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVMachines_ListBySite.json @@ -0,0 +1,2764 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/96d27052-052b-48db-aa84-b9978eddbf5d", + "name": "96d27052-052b-48db-aa84-b9978eddbf5d", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:96D27052-052B-48DB-AA84-B9978EDDBF5D\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverstandard_de-de", + "diskType": "Dynamic", + "lun": 0, + "path": "D:\\VHDs\\14393.0.amd64fre.rs1_release.160715-1616_server_serverstandard_de-de.vhd" + }, + { + "instanceId": "Microsoft:96D27052-052B-48DB-AA84-B9978EDDBF5D\\523DA04B-C02E-451F-AF58-46925E56213D\\0\\0\\L", + "vhdId": "5d45e8e9-7ab3-4999-915c-d62c70e5a39d", + "maxSizeInBytes": 110595407872, + "name": "22", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual hard disks\\22.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:96D27052-052B-48DB-AA84-B9978EDDBF5D\\89DF59CE-0C5D-4204-BADF-F41E3EA37821", + "macAddress": "00:15:5d:0c:92:7a", + "ipAddressList": [ + "10.150.10.139", + "fe80::e989:d351:54d7:42a6", + "2404:f801:4800:25:e989:d351:54d7:42a6" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "TestDeDe", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\96D27052-052B-48DB-AA84-B9978EDDBF5D.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Standard", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.498307Z", + "updatedTimestamp": "2019-05-14T07:01:18.4058859Z", + "instanceUuid": "96d27052-052b-48db-aa84-b9978eddbf5d", + "powerStatus": "Running", + "biosSerialNumber": "5656-6486-4089-5091-2740-7319-66", + "vmFqdn": "WIN-VDE4EPC5D52", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/2f28e27b-d379-4dd4-98da-e14ce4b9a087", + "name": "2f28e27b-d379-4dd4-98da-e14ce4b9a087", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:2F28E27B-D379-4DD4-98DA-E14CE4B9A087\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "D:\\VHDs\\Downloaded0313\\AzureMigrateAppliance\\Virtual Hard Disks\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:2F28E27B-D379-4DD4-98DA-E14CE4B9A087\\215DB7BF-CC42-4DD6-AD40-455FCF6288D8", + "macAddress": "00:15:5d:0c:92:7c", + "ipAddressList": [ + "10.150.9.247", + "fe80::3505:9e40:364c:cd9e", + "2404:f801:4800:25:3505:9e40:364c:cd9e" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "rahasijaDND0313AzureMigrateAppliance0313", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "D:\\VHDs\\Downloaded0313\\AzureMigrateAppliance\\Virtual Machines\\2F28E27B-D379-4DD4-98DA-E14CE4B9A087.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.5451977Z", + "updatedTimestamp": "2019-05-14T07:01:18.4215296Z", + "instanceUuid": "2f28e27b-d379-4dd4-98da-e14ce4b9a087", + "powerStatus": "Running", + "biosSerialNumber": "8474-2615-5073-6267-9939-5325-20", + "vmFqdn": "WIN-U8D2GHNKCC3", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/593763f7-fb5f-4405-ab25-c1b5225cd4fc", + "name": "593763f7-fb5f-4405-ab25-c1b5225cd4fc", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:593763F7-FB5F-4405-AB25-C1B5225CD4FC\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "00000000-0000-0000-0000-000000000000", + "maxSizeInBytes": 0, + "name": "New Virtual Hard Disk", + "diskType": "Unknown", + "lun": 0, + "path": "\\\\priyank-z420\\share2\\New Virtual Hard Disk.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "", + "subnetName": "", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:593763F7-FB5F-4405-AB25-C1B5225CD4FC\\517B5569-A478-4B5E-9900-02BCBC7A0345", + "macAddress": "00:15:5d:0c:92:f9", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "NoVHD", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 1024, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\593763F7-FB5F-4405-AB25-C1B5225CD4FC.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.5451977Z", + "updatedTimestamp": "2019-05-15T17:32:02.0630729Z", + "instanceUuid": "593763f7-fb5f-4405-ab25-c1b5225cd4fc", + "powerStatus": "PowerOff", + "biosSerialNumber": "5106-6535-1471-2750-0872-1505-43", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/10178811-873a-4d13-bf1f-dfb48d46e809", + "name": "10178811-873a-4d13-bf1f-dfb48d46e809", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:10178811-873A-4D13-BF1F-DFB48D46E809\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks\\kuchaturBB01\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:10178811-873A-4D13-BF1F-DFB48D46E809\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0a:58:1e", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.09_Kunal", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\10178811-873A-4D13-BF1F-DFB48D46E809.xml", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.5607543Z", + "updatedTimestamp": "2019-05-14T07:01:18.4370947Z", + "instanceUuid": "10178811-873a-4d13-bf1f-dfb48d46e809", + "powerStatus": "PowerOff", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/6c00755a-90b2-427b-9343-c3fb088831a0", + "name": "6c00755a-90b2-427b-9343-c3fb088831a0", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:6C00755A-90B2-427B-9343-C3FB088831A0\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\VHDs\\vamsi\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:6C00755A-90B2-427B-9343-C3FB088831A0\\8959E4B6-FF79-4226-A096-BAB0F023A630", + "macAddress": "00:15:5d:0a:58:1a", + "ipAddressList": [ + "10.150.14.50", + "fe80::a8c2:1afa:648d:6e24", + "2404:f801:4800:25:a8c2:1afa:648d:6e24" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "Vamsi-AzureMigrateAppliance_v1.19.05.07", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\6C00755A-90B2-427B-9343-C3FB088831A0.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.5764063Z", + "updatedTimestamp": "2019-05-14T07:01:18.4370947Z", + "instanceUuid": "6c00755a-90b2-427b-9343-c3fb088831a0", + "powerStatus": "Running", + "biosSerialNumber": "8598-1456-4864-3355-6970-0716-71", + "vmFqdn": "WIN-K4NQGP8LD6S", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/caac8805-1489-4d56-9367-bc7a6eb9e7d5", + "name": "caac8805-1489-4d56-9367-bc7a6eb9e7d5", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:CAAC8805-1489-4D56-9367-BC7A6EB9E7D5\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "00000000-0000-0000-0000-000000000000", + "maxSizeInBytes": 0, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_3CCFC203-3908-4CDF-8491-0C51B10962FC", + "diskType": "Unknown", + "lun": 0, + "path": "c:\\VHDs\\AzureMigrateAppliance_v1.19.04.16\\Virtual Hard Disks\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_3CCFC203-3908-4CDF-8491-0C51B10962FC.avhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:CAAC8805-1489-4D56-9367-BC7A6EB9E7D5\\CAE91133-8704-481A-A51A-EF2F50102D9E", + "macAddress": "00:15:5d:0a:58:11", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "0331AiMA_v1.19.04.16", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "c:\\VHDs\\AzureMigrateAppliance_v1.19.04.16\\Virtual Machines\\CAAC8805-1489-4D56-9367-BC7A6EB9E7D5.xml", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.5764063Z", + "updatedTimestamp": "2019-05-15T17:32:02.0786997Z", + "instanceUuid": "caac8805-1489-4d56-9367-bc7a6eb9e7d5", + "powerStatus": "PowerOff", + "biosSerialNumber": "2115-0453-3079-1551-4796-8596-85", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/77981ca7-4e6c-4c20-ae6e-47ca141ce2bf", + "name": "77981ca7-4e6c-4c20-ae6e-47ca141ce2bf", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:77981CA7-4E6C-4C20-AE6E-47CA141CE2BF\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\ProgramData\\amitsriv2\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:77981CA7-4E6C-4C20-AE6E-47CA141CE2BF\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0a:58:1d", + "ipAddressList": [ + "10.150.13.206", + "fe80::8de5:b75e:1936:44e5", + "2404:f801:4800:25:8de5:b75e:1936:44e5" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.09_Amit2", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\amitsriv2\\Virtual Machines\\77981CA7-4E6C-4C20-AE6E-47CA141CE2BF.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.5920949Z", + "updatedTimestamp": "2019-05-14T07:01:18.4683946Z", + "instanceUuid": "77981ca7-4e6c-4c20-ae6e-47ca141ce2bf", + "powerStatus": "Running", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "WIN-3TMQPJBIV1C", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/3125d511-6799-48f5-a183-6607b9755425", + "name": "3125d511-6799-48f5-a183-6607b9755425", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:3125D511-6799-48F5-A183-6607B9755425\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\ProgramData\\amitsriv\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:3125D511-6799-48F5-A183-6607B9755425\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0a:58:1c", + "ipAddressList": [ + "10.150.13.171", + "fe80::f431:ed86:fc0c:b1b7", + "2404:f801:4800:25:f431:ed86:fc0c:b1b7" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.09_Amit", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\amitsriv\\Virtual Machines\\3125D511-6799-48F5-A183-6607B9755425.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.6076688Z", + "updatedTimestamp": "2019-05-14T07:01:18.4683946Z", + "instanceUuid": "3125d511-6799-48f5-a183-6607b9755425", + "powerStatus": "Running", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "WIN-400CL2HTGML", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/74428ece-d2ee-4904-afe2-27959f5eca3b", + "name": "74428ece-d2ee-4904-afe2-27959f5eca3b", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:74428ECE-D2EE-4904-AFE2-27959F5ECA3B\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "ee799e51-bd48-42cb-9098-3e41fcc9c795", + "maxSizeInBytes": 26843545600, + "name": "7601.23807.amd64fre.win7sp1_ldr.170512-0600_Server_ServerWeb_en-US", + "diskType": "Dynamic", + "lun": 0, + "path": "d:\\VHDs\\7601.23807.amd64fre.win7sp1_ldr.170512-0600_Server_ServerWeb_en-US.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:74428ECE-D2EE-4904-AFE2-27959F5ECA3B\\09AD1D8D-E44F-4C97-8E31-BA8AA63C03C8", + "macAddress": "00:15:5d:0c:92:3d", + "ipAddressList": [ + "10.150.13.31", + "fe80::187d:b8a9:8f1c:b009", + "2404:f801:4800:25:187d:b8a9:8f1c:b009" + ], + "networkName": null, + "ipAddressType": "Dynamic" + }, + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:74428ECE-D2EE-4904-AFE2-27959F5ECA3B\\718032DA-6EFB-4EF4-8152-9A2FBDA945BF\\0", + "macAddress": "00:15:5d:0c:92:65", + "ipAddressList": null, + "networkName": null, + "ipAddressType": null + } + ], + "displayName": "2008R2x64onRS1", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 1024, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\74428ECE-D2EE-4904-AFE2-27959F5ECA3B.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Web Server 2008 R2", + "osVersion": "6.1.7601" + }, + "createdTimestamp": "2019-05-09T07:56:11.6232763Z", + "updatedTimestamp": "2019-05-15T11:02:00.599084Z", + "instanceUuid": "74428ece-d2ee-4904-afe2-27959f5eca3b", + "powerStatus": "Running", + "biosSerialNumber": "3875-8495-3239-8004-0619-0137-51", + "vmFqdn": "WIN-CLPMJOIKIFU", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/5285ca21-8c2e-45fc-8579-255d8756f164", + "name": "5285ca21-8c2e-45fc-8579-255d8756f164", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 2, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "UEFI", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:5285CA21-8C2E-45FC-8579-255D8756F164\\98EDCA2C-8CF7-4532-8AE7-EC368FF0C74E\\0\\0\\L", + "vhdId": "92a511b2-587e-4d75-a62c-065c3f431599", + "maxSizeInBytes": 26843545600, + "name": "17763.1.amd64fre.rs5_release.180914-1434_server_serverdatacenter_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "D:\\RS5\\17763.1.amd64fre.rs5_release.180914-1434_server_serverdatacenter_en-us.vhdx" + }, + { + "instanceId": "Microsoft:5285CA21-8C2E-45FC-8579-255D8756F164\\98EDCA2C-8CF7-4532-8AE7-EC368FF0C74E\\0\\1\\L", + "vhdId": "d7a17760-c58a-42bd-a06c-97d6a0a558ce", + "maxSizeInBytes": 136365211648, + "name": "Data", + "diskType": "Dynamic", + "lun": 0, + "path": "D:\\RS5\\Data.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:5285CA21-8C2E-45FC-8579-255D8756F164\\6CC21D5F-06FE-4ABC-BB7F-B3DA459899D3", + "macAddress": "00:15:5d:0c:92:b7", + "ipAddressList": [ + "10.150.13.94", + "fe80::6459:92f6:9a30:2730", + "2404:f801:4800:25:df55:af15:8ba4:3d9", + "2404:f801:4800:25:927e:7120:d390:d88f", + "2404:f801:4800:25:6459:92f6:9a30:2730" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "2019Gen2", + "numberOfProcessorCore": 4, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\5285CA21-8C2E-45FC-8579-255D8756F164.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2019 Datacenter", + "osVersion": "10.0.17763" + }, + "createdTimestamp": "2019-05-09T07:56:11.6389274Z", + "updatedTimestamp": "2019-05-14T07:01:18.5309441Z", + "instanceUuid": "5285ca21-8c2e-45fc-8579-255d8756f164", + "powerStatus": "Running", + "biosSerialNumber": "3314-3263-8647-7142-5391-9114-13", + "vmFqdn": "WIN-OFFD4BFO804.ntdev.corp.microsoft.com", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/ef9def09-c4b7-4ee7-bc80-db31ae763d86", + "name": "ef9def09-c4b7-4ee7-bc80-db31ae763d86", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:EF9DEF09-C4B7-4EE7-BC80-DB31AE763D86\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual hard disks\\hyperv\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:EF9DEF09-C4B7-4EE7-BC80-DB31AE763D86\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0c:92:c9", + "ipAddressList": [ + "10.150.10.187", + "fe80::c9e0:8a7a:7fd2:80be", + "2404:f801:4800:25:c9e0:8a7a:7fd2:80be" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "pajind-AzureMigrateAppliance_v1.19.05.09", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\EF9DEF09-C4B7-4EE7-BC80-DB31AE763D86.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.6545775Z", + "updatedTimestamp": "2019-05-14T07:01:18.4995887Z", + "instanceUuid": "ef9def09-c4b7-4ee7-bc80-db31ae763d86", + "powerStatus": "Running", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "WIN-C7FE1AUQ8D2", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/ef15e94a-7be0-4780-ab49-d9812834077f", + "name": "ef15e94a-7be0-4780-ab49-d9812834077f", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:EF15E94A-7BE0-4780-AB49-D9812834077F\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "00000000-0000-0000-0000-000000000000", + "maxSizeInBytes": 0, + "name": "6002.18005.x86fre.lh_sp2rtm.090410-1830_Server_ServerDatacenter_en-US", + "diskType": "Unknown", + "lun": 0, + "path": "D:\\VHDs\\6002.18005.x86fre.lh_sp2rtm.090410-1830_Server_ServerDatacenter_en-US.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:EF15E94A-7BE0-4780-AB49-D9812834077F\\BA7F9965-AC32-4825-AEA3-E34566385C60", + "macAddress": "00:15:5d:0c:92:3f", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "W2K8SP2x86onRS1", + "numberOfProcessorCore": 2, + "allocatedMemoryInMB": 2024, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\EF15E94A-7BE0-4780-AB49-D9812834077F.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.6545775Z", + "updatedTimestamp": "2019-05-15T17:32:02.0786997Z", + "instanceUuid": "ef15e94a-7be0-4780-ab49-d9812834077f", + "powerStatus": "PowerOff", + "biosSerialNumber": "2007-3254-5199-9924-8248-6886-60", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/e7fb6b05-94e4-47b6-9f3a-e29f007a9622", + "name": "e7fb6b05-94e4-47b6-9f3a-e29f007a9622", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:E7FB6B05-94E4-47B6-9F3A-E29F007A9622\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "0cb2907e-1225-44fb-9059-9e004e7cd071", + "maxSizeInBytes": 42949672960, + "name": "LATEST-DATA-64", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\VHDs\\h2a-test-abgoyal\\LATEST-DATA-64.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:E7FB6B05-94E4-47B6-9F3A-E29F007A9622\\0F593E92-445E-43D0-8D2D-7B97A55D8E6F", + "macAddress": "00:15:5d:0a:58:13", + "ipAddressList": [ + "10.150.14.42", + "fe80::e8a5:3802:483f:21d6", + "2404:f801:4800:25:e8a5:3802:483f:21d6" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "h2a-test-abgoyal", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\E7FB6B05-94E4-47B6-9F3A-E29F007A9622.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server Datacenter", + "osVersion": "10.0.17600" + }, + "createdTimestamp": "2019-05-09T07:56:11.6702321Z", + "updatedTimestamp": "2019-05-14T07:01:18.5309441Z", + "instanceUuid": "e7fb6b05-94e4-47b6-9f3a-e29f007a9622", + "powerStatus": "Running", + "biosSerialNumber": "0529-6539-9178-3979-0839-5502-94", + "vmFqdn": "V91E69869EC4E4A", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/aba95db8-bc64-461e-87b6-0d11be61f090", + "name": "aba95db8-bc64-461e-87b6-0d11be61f090", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:ABA95DB8-BC64-461E-87B6-0D11BE61F090\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "00000000-0000-0000-0000-000000000000", + "maxSizeInBytes": 0, + "name": "9600.16384.amd64fre.winblue_rtm.130821-1623_server_serverstandard_en-us", + "diskType": "Unknown", + "lun": 0, + "path": "D:\\VHDs\\9600.16384.amd64fre.winblue_rtm.130821-1623_server_serverstandard_en-us.vhd" + }, + { + "instanceId": "Microsoft:ABA95DB8-BC64-461E-87B6-0D11BE61F090\\03A7EC65-4F69-4AA4-AFC4-FE85C348A222\\0\\0\\L", + "vhdId": "76883e1e-6e35-4c11-b7c8-1b3e65c025d2", + "maxSizeInBytes": 4294967296, + "name": "44", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks\\44.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:ABA95DB8-BC64-461E-87B6-0D11BE61F090\\9646805F-7259-4293-888F-42D182009C27", + "macAddress": "00:15:5d:0c:92:48", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "WS2012 R21", + "numberOfProcessorCore": 4, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\ABA95DB8-BC64-461E-87B6-0D11BE61F090.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.6861484Z", + "updatedTimestamp": "2019-05-15T17:32:02.0943228Z", + "instanceUuid": "aba95db8-bc64-461e-87b6-0d11be61f090", + "powerStatus": "PowerOff", + "biosSerialNumber": "3794-1628-1271-9986-9596-3948-70", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/6f0830f0-622c-4ca9-847a-c76b34af9a8f", + "name": "6f0830f0-622c-4ca9-847a-c76b34af9a8f", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:6F0830F0-622C-4CA9-847A-C76B34AF9A8F\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\VHDs\\AzureMigrateAppliance-abgoyal-2904\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:6F0830F0-622C-4CA9-847A-C76B34AF9A8F\\EB8335C4-8F6A-44EB-A9BE-448D626B389F", + "macAddress": "00:15:5d:0a:58:14", + "ipAddressList": [ + "10.150.14.46", + "fe80::dccd:c8cd:2539:5abf", + "2404:f801:4800:25:dccd:c8cd:2539:5abf" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance-abgoyal-2904", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\6F0830F0-622C-4CA9-847A-C76B34AF9A8F.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.6861484Z", + "updatedTimestamp": "2019-05-14T07:01:18.5465064Z", + "instanceUuid": "6f0830f0-622c-4ca9-847a-c76b34af9a8f", + "powerStatus": "Running", + "biosSerialNumber": "7266-4247-1943-7768-9547-5184-40", + "vmFqdn": "WIN-MFCQRVE5UA8", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/f8554602-0e81-425d-8751-aca4a21de118", + "name": "f8554602-0e81-425d-8751-aca4a21de118", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 2, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "UEFI", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:F8554602-0E81-425D-8751-ACA4A21DE118\\8E16F944-93A6-462F-9D36-800000DE75E7\\0\\0\\L", + "vhdId": "51f204b1-e6d0-43d7-a3a3-8ee472205c5d", + "maxSizeInBytes": 215822106624, + "name": "49Host-1", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\CriticalVMs\\Virtual Hard Disks\\49Host-1.vhdx" + }, + { + "instanceId": "Microsoft:F8554602-0E81-425D-8751-ACA4A21DE118\\8E16F944-93A6-462F-9D36-800000DE75E7\\0\\1\\L", + "vhdId": "237a96fe-4b30-4d74-bd44-cbce03093df6", + "maxSizeInBytes": 137438953472, + "name": "Data1", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\CriticalVMs\\Virtual Hard Disks\\Data1.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:F8554602-0E81-425D-8751-ACA4A21DE118\\57699473-62D6-4A6F-B26C-4667EC761CE7", + "macAddress": "00:15:5d:0c:92:50", + "ipAddressList": [ + "10.150.13.32", + "10.150.12.169", + "fe80::11f6:340c:cbf2:39a5", + "2404:f801:4800:25:918c:736:cd60:2747", + "2404:f801:4800:25:11f6:340c:cbf2:39a5" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "ClusterNode1", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 16384, + "vmConfigurationFileLocation": "E:\\CriticalVMs\\Virtual Machines\\F8554602-0E81-425D-8751-ACA4A21DE118.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.7013962Z", + "updatedTimestamp": "2019-05-17T01:32:04.5095247Z", + "instanceUuid": "f8554602-0e81-425d-8751-aca4a21de118", + "powerStatus": "Running", + "biosSerialNumber": "8576-9633-7376-1318-6484-3429-65", + "vmFqdn": "HypGQLClusN1.ntdev.corp.microsoft.com", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/bd9f48cd-03c6-43ff-aafd-5f58974db85b", + "name": "bd9f48cd-03c6-43ff-aafd-5f58974db85b", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:BD9F48CD-03C6-43FF-AAFD-5F58974DB85B\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "00000000-0000-0000-0000-000000000000", + "maxSizeInBytes": 0, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Unknown", + "lun": 0, + "path": "\\\\priyank-z420\\share2\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + }, + { + "instanceId": "Microsoft:BD9F48CD-03C6-43FF-AAFD-5F58974DB85B\\F52499C2-8940-412E-B798-ED9C225D2B15\\0\\0\\L", + "vhdId": "00000000-0000-0000-0000-000000000000", + "maxSizeInBytes": 0, + "name": "123", + "diskType": "Unknown", + "lun": 0, + "path": "\\\\priyank-z420\\share2\\123.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "", + "subnetName": "", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:BD9F48CD-03C6-43FF-AAFD-5F58974DB85B\\A541DA26-A51A-4E61-8FF7-2051D1CDE324", + "macAddress": "00:15:5d:0c:92:fa", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "SMB", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 1024, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\BD9F48CD-03C6-43FF-AAFD-5F58974DB85B.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.7170488Z", + "updatedTimestamp": "2019-05-15T17:32:02.0943228Z", + "instanceUuid": "bd9f48cd-03c6-43ff-aafd-5f58974db85b", + "powerStatus": "PowerOff", + "biosSerialNumber": "5149-0934-1689-6981-5357-7684-40", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/dcca6317-b8c7-4fa3-8e1f-9357b881650d", + "name": "dcca6317-b8c7-4fa3-8e1f-9357b881650d", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:DCCA6317-B8C7-4FA3-8E1F-9357B881650D\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "66513e67-0d56-4e77-aac2-b77eaba47558", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_2A9330F8-B08D-4A81-A9DC-800B0CA48800", + "diskType": "Differencing", + "lun": 0, + "path": "C:\\VHDs\\Priyank\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_2A9330F8-B08D-4A81-A9DC-800B0CA48800.avhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:DCCA6317-B8C7-4FA3-8E1F-9357B881650D\\FA3626BD-BB8B-4F82-8C2A-2876FA71C4F6", + "macAddress": "00:15:5d:0a:58:19", + "ipAddressList": [ + "10.150.13.204", + "fe80::41ea:d59a:e7ab:b06b", + "2404:f801:4800:25:41ea:d59a:e7ab:b06b" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.02_Priyank", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\DCCA6317-B8C7-4FA3-8E1F-9357B881650D.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.7326712Z", + "updatedTimestamp": "2019-05-14T07:01:18.5934347Z", + "instanceUuid": "dcca6317-b8c7-4fa3-8e1f-9357b881650d", + "powerStatus": "Running", + "biosSerialNumber": "7818-1323-0039-2182-5595-5550-42", + "vmFqdn": "WIN-5OPBUKJQG28", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/d28b6437-bc05-4399-90f8-62d286c33285", + "name": "d28b6437-bc05-4399-90f8-62d286c33285", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:D28B6437-BC05-4399-90F8-62D286C33285\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "00000000-0000-0000-0000-000000000000", + "maxSizeInBytes": 0, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverstandardeval_en-us", + "diskType": "Unknown", + "lun": 0, + "path": "D:\\VHDs\\14393.0.amd64fre.rs1_release.160715-1616_server_serverstandardeval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:D28B6437-BC05-4399-90F8-62D286C33285\\D06405C1-6F2A-4F7E-BD15-02975F3FCC5D", + "macAddress": "00:15:5d:0c:92:61", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "RS1-NoUpdates", + "numberOfProcessorCore": 4, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\D28B6437-BC05-4399-90F8-62D286C33285.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.7483029Z", + "updatedTimestamp": "2019-05-15T17:32:02.1099566Z", + "instanceUuid": "d28b6437-bc05-4399-90f8-62d286c33285", + "powerStatus": "PowerOff", + "biosSerialNumber": "2018-8141-1255-2053-1389-3960-25", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/98ce14ff-04f8-4191-af0b-69d592e7e04e", + "name": "98ce14ff-04f8-4191-af0b-69d592e7e04e", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:98CE14FF-04F8-4191-AF0B-69D592E7E04E\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "d1f22d98-a919-4a17-9007-92182a72b6e0", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_F74C5867-5673-48A0-B64A-841A191E7B85", + "diskType": "Differencing", + "lun": 0, + "path": "C:\\VHDs\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_F74C5867-5673-48A0-B64A-841A191E7B85.avhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:98CE14FF-04F8-4191-AF0B-69D592E7E04E\\FA3626BD-BB8B-4F82-8C2A-2876FA71C4F6", + "macAddress": "00:15:5d:0a:58:18", + "ipAddressList": [ + "10.150.9.156", + "fe80::fda4:7107:935e:d133", + "2404:f801:4800:25:fda4:7107:935e:d133" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.02_Kunal", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\98CE14FF-04F8-4191-AF0B-69D592E7E04E.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.7483029Z", + "updatedTimestamp": "2019-05-14T07:01:18.6245851Z", + "instanceUuid": "98ce14ff-04f8-4191-af0b-69d592e7e04e", + "powerStatus": "Running", + "biosSerialNumber": "7818-1323-0039-2182-5595-5550-42", + "vmFqdn": "WIN-H04APHO2P7P", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/bacb7d76-b663-42a0-90c2-a63ddf362b4d", + "name": "bacb7d76-b663-42a0-90c2-a63ddf362b4d", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:BACB7D76-B663-42A0-90C2-A63DDF362B4D\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "6e74566d-d852-4281-85d1-08f7f39b75c3", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_852E374B-A870-4510-95E3-92ECD3230805", + "diskType": "Differencing", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks\\rahulkum\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_852E374B-A870-4510-95E3-92ECD3230805.avhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:BACB7D76-B663-42A0-90C2-A63DDF362B4D\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0c:92:ca", + "ipAddressList": [ + "10.150.10.193", + "fe80::6572:9ae9:5362:f1b2", + "2404:f801:4800:25:6572:9ae9:5362:f1b2" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "RahulkumAppliance_v1.19.05.09", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\BACB7D76-B663-42A0-90C2-A63DDF362B4D.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.7639154Z", + "updatedTimestamp": "2019-05-14T07:01:18.6245851Z", + "instanceUuid": "bacb7d76-b663-42a0-90c2-a63ddf362b4d", + "powerStatus": "Running", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "WIN-HPVEMK1D3D8", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/17577b0b-f3cf-4c54-a409-298bc0a898a6", + "name": "17577b0b-f3cf-4c54-a409-298bc0a898a6", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:17577B0B-F3CF-4C54-A409-298BC0A898A6\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "00000000-0000-0000-0000-000000000000", + "maxSizeInBytes": 0, + "name": "VHDNotFound", + "diskType": "Unknown", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks\\VHDNotFound.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:17577B0B-F3CF-4C54-A409-298BC0A898A6\\A37FCC48-FA4B-4886-96BD-F48A397EF60E", + "macAddress": "00:11:22:33:44:88", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "VHDNotFound", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 1024, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\17577B0B-F3CF-4C54-A409-298BC0A898A6.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.779503Z", + "updatedTimestamp": "2019-05-15T17:32:02.1255781Z", + "instanceUuid": "17577b0b-f3cf-4c54-a409-298bc0a898a6", + "powerStatus": "PowerOff", + "biosSerialNumber": "4378-5168-7795-2379-2071-9034-81", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/4890d3ef-cd22-4001-ad61-44cfe30783bb", + "name": "4890d3ef-cd22-4001-ad61-44cfe30783bb", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 8196, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:4890D3EF-CD22-4001-AD61-44CFE30783BB\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual hard disks\\NN\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:4890D3EF-CD22-4001-AD61-44CFE30783BB\\2D913B79-CBFC-4E5F-BDD9-4BEB8B95305C", + "macAddress": "00:15:5d:0c:92:c8", + "ipAddressList": [ + "10.150.13.174", + "fe80::65bc:6654:b119:d63e", + "2404:f801:4800:25:65bc:6654:b119:d63e" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "Nikhil", + "numberOfProcessorCore": 4, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\4890D3EF-CD22-4001-AD61-44CFE30783BB.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.779503Z", + "updatedTimestamp": "2019-05-14T07:01:18.6559443Z", + "instanceUuid": "4890d3ef-cd22-4001-ad61-44cfe30783bb", + "powerStatus": "Running", + "biosSerialNumber": "9280-1017-7048-1199-7205-9151-54", + "vmFqdn": "WIN-RLHS81LFPG6", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/59bdeccd-3547-43d9-a17f-0a31f9139b6c", + "name": "59bdeccd-3547-43d9-a17f-0a31f9139b6c", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 2, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "UEFI", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:59BDECCD-3547-43D9-A17F-0A31F9139B6C\\5BF1E031-EAE7-429B-8033-1FB176400EB0\\0\\0\\L", + "vhdId": "51f204b1-e6d0-43d7-a3a3-8ee472205c5d", + "maxSizeInBytes": 76235669504, + "name": "49Host-2", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\CriticalVMs\\Virtual Hard Disks\\3\\49Host-2.vhdx" + }, + { + "instanceId": "Microsoft:59BDECCD-3547-43D9-A17F-0A31F9139B6C\\5BF1E031-EAE7-429B-8033-1FB176400EB0\\0\\1\\L", + "vhdId": "93ec225d-248b-45aa-b833-fa8ec33ca7b0", + "maxSizeInBytes": 136365211648, + "name": "Data2", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\CriticalVMs\\Virtual Hard Disks\\3\\Data2.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:59BDECCD-3547-43D9-A17F-0A31F9139B6C\\0CCAA68A-5376-455F-AE5F-59555C7A1B2F", + "macAddress": "00:15:5d:0c:92:b9", + "ipAddressList": [ + "10.150.10.160", + "fe80::a435:7768:efd:254a", + "2404:f801:4800:25:a435:7768:efd:254a" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "ClusterNode3", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 16384, + "vmConfigurationFileLocation": "E:\\CriticalVMs\\Virtual Machines\\59BDECCD-3547-43D9-A17F-0A31F9139B6C.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.7952011Z", + "updatedTimestamp": "2019-05-14T07:01:18.6715166Z", + "instanceUuid": "59bdeccd-3547-43d9-a17f-0a31f9139b6c", + "powerStatus": "Running", + "biosSerialNumber": "4524-2107-8227-3442-2618-2687-03", + "vmFqdn": "HypGQLClusN31.ntdev.corp.microsoft.com", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/297a418d-74c4-4602-a99d-7d96bd578e2b", + "name": "297a418d-74c4-4602-a99d-7d96bd578e2b", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 2, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "UEFI", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:297A418D-74C4-4602-A99D-7D96BD578E2B\\5BF1E031-EAE7-429B-8033-1FB176400EB0\\0\\0\\L", + "vhdId": "51f204b1-e6d0-43d7-a3a3-8ee472205c5d", + "maxSizeInBytes": 76235669504, + "name": "49Host-2", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\CriticalVMs\\Virtual Hard Disks\\49Host-2.vhdx" + }, + { + "instanceId": "Microsoft:297A418D-74C4-4602-A99D-7D96BD578E2B\\5BF1E031-EAE7-429B-8033-1FB176400EB0\\0\\1\\L", + "vhdId": "93ec225d-248b-45aa-b833-fa8ec33ca7b0", + "maxSizeInBytes": 136365211648, + "name": "Data2", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\CriticalVMs\\Virtual Hard Disks\\Data2.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:297A418D-74C4-4602-A99D-7D96BD578E2B\\0426D3E1-CF7C-47F3-AED1-5164CA01BB07", + "macAddress": "00:15:5d:0c:92:51", + "ipAddressList": [ + "10.150.12.209", + "10.150.12.207", + "fe80::f12b:a6eb:a910:48ac", + "2404:f801:4800:25:f12b:a6eb:a910:48ac", + "2404:f801:4800:25:aeb3:6659:945e:b291" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "ClusterNode2", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 16384, + "vmConfigurationFileLocation": "E:\\CriticalVMs\\Virtual Machines\\297A418D-74C4-4602-A99D-7D96BD578E2B.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.810794Z", + "updatedTimestamp": "2019-05-17T01:32:04.5251985Z", + "instanceUuid": "297a418d-74c4-4602-a99d-7d96bd578e2b", + "powerStatus": "Running", + "biosSerialNumber": "4524-2107-8227-3442-2618-2687-03", + "vmFqdn": "HypGQLClusN2.ntdev.corp.microsoft.com", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/e045bba8-38e6-4668-b98d-6fdd58391bfe", + "name": "e045bba8-38e6-4668-b98d-6fdd58391bfe", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:E045BBA8-38E6-4668-B98D-6FDD58391BFE\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:E045BBA8-38E6-4668-B98D-6FDD58391BFE\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0a:58:1b", + "ipAddressList": [ + "10.150.13.167", + "fe80::91a9:c8a8:a7ac:40c4", + "2404:f801:4800:25:91a9:c8a8:a7ac:40c4" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.09_Mahesh", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\E045BBA8-38E6-4668-B98D-6FDD58391BFE.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.810794Z", + "updatedTimestamp": "2019-05-14T07:01:18.7027161Z", + "instanceUuid": "e045bba8-38e6-4668-b98d-6fdd58391bfe", + "powerStatus": "Running", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "WIN-UNEVOMBE0FN", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/ed3324bb-d73f-4012-b5a7-58f3a5d44601", + "name": "ed3324bb-d73f-4012-b5a7-58f3a5d44601", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:ED3324BB-D73F-4012-B5A7-58F3A5D44601\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serveressentials_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "D:\\VHDs\\vhd_server_serveressentials_en-us\\14393.0.amd64fre.rs1_release.160715-1616_server_serveressentials_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:ED3324BB-D73F-4012-B5A7-58F3A5D44601\\5694A958-1E82-42A5-8EFB-85D77CAC763F", + "macAddress": "00:15:5d:0c:92:44", + "ipAddressList": [ + "10.150.13.137", + "fe80::44e2:af5d:fa6e:fcf9", + "2404:f801:4800:25:44e2:af5d:fa6e:fcf9" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "WSEssential", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\ED3324BB-D73F-4012-B5A7-58F3A5D44601.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Essentials", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.8263932Z", + "updatedTimestamp": "2019-05-14T07:01:18.7183952Z", + "instanceUuid": "ed3324bb-d73f-4012-b5a7-58f3a5d44601", + "powerStatus": "Running", + "biosSerialNumber": "4780-8967-4109-7601-4837-6793-66", + "vmFqdn": "WIN-TEASHKJT7DH", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/6ab71825-dd05-44f6-be0d-791bc0ee85d0", + "name": "6ab71825-dd05-44f6-be0d-791bc0ee85d0", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:6AB71825-DD05-44F6-BE0D-791BC0EE85D0\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "e5b03d4f-2b96-4d9d-b55b-81c7460eb207", + "maxSizeInBytes": 136365211648, + "name": "Linux-CentOS6.5-Gen1", + "diskType": "Dynamic", + "lun": 0, + "path": "c:\\VHDs\\Linux-CentOS6.5-Gen1.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:6AB71825-DD05-44F6-BE0D-791BC0EE85D0\\3068D962-E6C2-4FAB-B305-7B0FE6532E80", + "macAddress": "00:15:5d:0a:58:0c", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "CentOS", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 2048, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\6AB71825-DD05-44F6-BE0D-791BC0EE85D0.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.8420648Z", + "updatedTimestamp": "2019-05-14T07:01:18.7183952Z", + "instanceUuid": "6ab71825-dd05-44f6-be0d-791bc0ee85d0", + "powerStatus": "Running", + "biosSerialNumber": "9003-1248-9082-3222-2074-4726-50", + "vmFqdn": "", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/78be130c-418c-49cd-b89d-8f8f68371d05", + "name": "78be130c-418c-49cd-b89d-8f8f68371d05", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:78BE130C-418C-49CD-B89D-8F8F68371D05\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\VHDs\\AzureMigrateAppliance-mamudd\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:78BE130C-418C-49CD-B89D-8F8F68371D05\\183B5209-16F9-407E-86B8-377BB83A0C8E", + "macAddress": "00:15:5d:0a:58:17", + "ipAddressList": [ + "10.150.9.208", + "fe80::d57f:a068:2022:1c31", + "2404:f801:4800:25:d57f:a068:2022:1c31" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance-mammud", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 2048, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\78BE130C-418C-49CD-B89D-8F8F68371D05.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T07:56:11.8420648Z", + "updatedTimestamp": "2019-05-14T07:01:18.7339598Z", + "instanceUuid": "78be130c-418c-49cd-b89d-8f8f68371d05", + "powerStatus": "Running", + "biosSerialNumber": "7407-3604-4544-7930-7587-9857-32", + "vmFqdn": "WIN-OEF2MV9HBC0", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/9e912d68-06a7-4c76-b762-171e240bf09d", + "name": "9e912d68-06a7-4c76-b762-171e240bf09d", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:9E912D68-06A7-4C76-B762-171E240BF09D\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "84d519f0-b196-484a-8717-0e56235d8438", + "maxSizeInBytes": 136365211648, + "name": "ISOAttachedVM", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks\\ISOAttachedVM.vhdx" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:9E912D68-06A7-4C76-B762-171E240BF09D\\0880FE0B-A000-46EF-9B87-2F1E4E57F7EA", + "macAddress": "00:00:00:00:00:00", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + }, + { + "networkId": "", + "subnetName": "", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:9E912D68-06A7-4C76-B762-171E240BF09D\\787FB221-4AA8-444A-9A66-9F56E12D2B98", + "macAddress": "00:00:00:00:00:00", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + }, + { + "networkId": "", + "subnetName": "", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:9E912D68-06A7-4C76-B762-171E240BF09D\\718032DA-6EFB-4EF4-8152-9A2FBDA945BF\\0", + "macAddress": "00:00:00:00:00:00", + "ipAddressList": null, + "networkName": null, + "ipAddressType": null + } + ], + "displayName": "ISOAttachedVM", + "numberOfProcessorCore": 3, + "allocatedMemoryInMB": 1024, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\9E912D68-06A7-4C76-B762-171E240BF09D.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T07:56:11.8576382Z", + "updatedTimestamp": "2019-05-14T07:01:18.7496312Z", + "instanceUuid": "9e912d68-06a7-4c76-b762-171e240bf09d", + "powerStatus": "PowerOff", + "biosSerialNumber": "3715-6060-7222-2396-6105-4920-81", + "vmFqdn": "", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/59429fa6-644a-4b8a-9a2f-30b333919788", + "name": "59429fa6-644a-4b8a-9a2f-30b333919788", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:59429FA6-644A-4B8A-9A2F-30B333919788\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks\\Madhavi\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:59429FA6-644A-4B8A-9A2F-30B333919788\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0a:58:1f", + "ipAddressList": [ + "10.150.14.29", + "fe80::9dca:2b9d:d02a:64a3", + "2404:f801:4800:25:9dca:2b9d:d02a:64a3" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.09_Madhavi", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\59429FA6-644A-4B8A-9A2F-30B333919788.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T08:23:03.9890985Z", + "updatedTimestamp": "2019-05-14T07:01:18.6715166Z", + "instanceUuid": "59429fa6-644a-4b8a-9a2f-30b333919788", + "powerStatus": "Running", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "WIN-VC5PRVSDQUD", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/8f4a07fb-f0d1-41d9-8815-5fcdd5019595", + "name": "8f4a07fb-f0d1-41d9-8815-5fcdd5019595", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:8F4A07FB-F0D1-41D9-8815-5FCDD5019595\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "D:\\rahasija\\HyperV\\Virtual Hard Disks\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:8F4A07FB-F0D1-41D9-8815-5FCDD5019595\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0c:92:cb", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "rahasijaBugash0509", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "D:\\rahasija\\HyperV\\Virtual Machines\\8F4A07FB-F0D1-41D9-8815-5FCDD5019595.xml", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-09T09:03:53.2432706Z", + "updatedTimestamp": "2019-05-14T07:01:18.4995887Z", + "instanceUuid": "8f4a07fb-f0d1-41d9-8815-5fcdd5019595", + "powerStatus": "PowerOff", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/304eb784-bac5-4db6-a377-24073a5986d1", + "name": "304eb784-bac5-4db6-a377-24073a5986d1", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:304EB784-BAC5-4DB6-A377-24073A5986D1\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks\\kuchaturBB02\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:304EB784-BAC5-4DB6-A377-24073A5986D1\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0a:58:20", + "ipAddressList": [ + "10.150.9.159", + "fe80::510b:c816:e4c1:f64e", + "2404:f801:4800:25:510b:c816:e4c1:f64e" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.09_Kunal02", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\304EB784-BAC5-4DB6-A377-24073A5986D1.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T10:53:02.4465824Z", + "updatedTimestamp": "2019-05-14T07:01:18.7496312Z", + "instanceUuid": "304eb784-bac5-4db6-a377-24073a5986d1", + "powerStatus": "Running", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "WIN-A8K9I2PTPR2", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/ccbb851a-0e4e-4284-9e3f-1336bc62528d", + "name": "ccbb851a-0e4e-4284-9e3f-1336bc62528d", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-46.ntdev.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-46-ntdev-corp-micros-e4638031-3b19-5642-926d-385da60cfb8a", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:CCBB851A-0E4E-4284-9E3F-1336BC62528D\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "C:\\VHDs\\vamsi-ga-1\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "VmlydHVhbCBTd2l0Y2gtIE5JQzQ=", + "subnetName": "Virtual Switch- NIC4", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:CCBB851A-0E4E-4284-9E3F-1336BC62528D\\9621A776-FE27-4E22-B4B2-1B7B80568D63", + "macAddress": "00:15:5d:0a:58:21", + "ipAddressList": [ + "10.150.13.73", + "fe80::4097:bbda:cb91:94ee", + "2404:f801:4800:25:4097:bbda:cb91:94ee" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "Vamsi1-AzureMigrateAppliance_v1.19.05.09", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\CCBB851A-0E4E-4284-9E3F-1336BC62528D.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-09T12:53:02.7731781Z", + "updatedTimestamp": "2019-05-14T07:01:18.640232Z", + "instanceUuid": "ccbb851a-0e4e-4284-9e3f-1336bc62528d", + "powerStatus": "Running", + "biosSerialNumber": "6707-1095-4598-5876-9535-2181-00", + "vmFqdn": "WIN-4RS2CC5DSSO", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/df0c5121-164d-455e-9a20-2e9b0adb3a90", + "name": "df0c5121-164d-455e-9a20-2e9b0adb3a90", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:DF0C5121-164D-455E-9A20-2E9B0ADB3A90\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\VHDAutomation\\VHDPath\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:DF0C5121-164D-455E-9A20-2E9B0ADB3A90\\AC1AD8FB-F25A-41B1-A0CC-2DB129C18283", + "macAddress": "00:15:5d:0c:92:cc", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "Test", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\DF0C5121-164D-455E-9A20-2E9B0ADB3A90.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-10T11:53:06.3105265Z", + "updatedTimestamp": "2019-05-15T12:02:02.6815934Z", + "instanceUuid": "df0c5121-164d-455e-9a20-2e9b0adb3a90", + "powerStatus": "PowerOff", + "biosSerialNumber": "4103-3029-5928-5904-7855-3799-41", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/328ce110-bc29-449d-af6f-d57d0c16602c", + "name": "328ce110-bc29-449d-af6f-d57d0c16602c", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:328CE110-BC29-449D-AF6F-D57D0C16602C\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "10b70c27-0b16-4dea-83a2-baeb093514e7", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_2B73C7AA-EA47-48B8-91E4-C5F93225DA67", + "diskType": "Differencing", + "lun": 0, + "path": "E:\\VHDAutomation\\VHDPath\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_2B73C7AA-EA47-48B8-91E4-C5F93225DA67.avhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:328CE110-BC29-449D-AF6F-D57D0C16602C\\EB437799-FBAE-494E-ABB3-723120435537", + "macAddress": "00:15:5d:0c:92:cd", + "ipAddressList": [ + "10.150.9.220", + "fe80::d451:64ad:3b59:9136", + "2404:f801:4800:25:d451:64ad:3b59:9136" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.10", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\328CE110-BC29-449D-AF6F-D57D0C16602C.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-10T14:23:07.459259Z", + "updatedTimestamp": "2019-05-15T12:02:02.6972359Z", + "instanceUuid": "328ce110-bc29-449d-af6f-d57d0c16602c", + "powerStatus": "Running", + "biosSerialNumber": "1433-5871-9190-1858-3027-5681-64", + "vmFqdn": "WIN-O06N8M378GP", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/8f07e954-90fe-4567-a358-d6c6e9625503", + "name": "8f07e954-90fe-4567-a358-d6c6e9625503", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:8F07E954-90FE-4567-A358-D6C6E9625503\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\VHDAutomation\\VHDPath\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:8F07E954-90FE-4567-A358-D6C6E9625503\\66420E45-09C4-4285-80A4-415A4DE21770", + "macAddress": "00:15:5d:0c:92:ce", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "Test", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\8F07E954-90FE-4567-A358-D6C6E9625503.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-15T12:02:02.650338Z", + "updatedTimestamp": "2019-05-16T00:31:59.361658Z", + "instanceUuid": "8f07e954-90fe-4567-a358-d6c6e9625503", + "powerStatus": "PowerOff", + "biosSerialNumber": "6719-1523-3413-9109-3955-3485-46", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/7d43ce9c-20bc-4a78-a3a0-4e7b9670c591", + "name": "7d43ce9c-20bc-4a78-a3a0-4e7b9670c591", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:7D43CE9C-20BC-4A78-A3A0-4E7B9670C591\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "b7904dd4-5813-4354-85e1-056cafc41482", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_A9A82863-8AA6-4B4A-AA0D-524E62E64FFC", + "diskType": "Differencing", + "lun": 0, + "path": "E:\\VHDAutomation\\VHDPath\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us_A9A82863-8AA6-4B4A-AA0D-524E62E64FFC.avhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:7D43CE9C-20BC-4A78-A3A0-4E7B9670C591\\BC13125D-A56E-4CE4-AD47-DED3523DAB53", + "macAddress": "00:15:5d:0c:92:cf", + "ipAddressList": [ + "10.150.9.225", + "fe80::7026:aa77:f5a1:ac54", + "2404:f801:4800:25:7026:aa77:f5a1:ac54" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.15", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\7D43CE9C-20BC-4A78-A3A0-4E7B9670C591.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-15T14:02:04.1961757Z", + "updatedTimestamp": "2019-05-16T00:31:59.3460092Z", + "instanceUuid": "7d43ce9c-20bc-4a78-a3a0-4e7b9670c591", + "powerStatus": "Running", + "biosSerialNumber": "8340-4355-4482-4399-2569-2180-82", + "vmFqdn": "WIN-EHIVHPB2BVJ", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/b343b5ec-aa25-4c33-a55f-1ec7422700a8", + "name": "b343b5ec-aa25-4c33-a55f-1ec7422700a8", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:B343B5EC-AA25-4C33-A55F-1EC7422700A8\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\vaindana\\VHD\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:B343B5EC-AA25-4C33-A55F-1EC7422700A8\\BC13125D-A56E-4CE4-AD47-DED3523DAB53", + "macAddress": "00:15:5d:0c:92:d0", + "ipAddressList": [ + "10.150.13.145", + "fe80::584a:7b90:c043:257e", + "2404:f801:4800:25:584a:7b90:c043:257e" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "Vamsi-AzureMigrateAppliance_v1.19.05.15", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\B343B5EC-AA25-4C33-A55F-1EC7422700A8.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-15T16:32:05.6613468Z", + "updatedTimestamp": "2019-05-15T16:32:05.6613468Z", + "instanceUuid": "b343b5ec-aa25-4c33-a55f-1ec7422700a8", + "powerStatus": "Running", + "biosSerialNumber": "8340-4355-4482-4399-2569-2180-82", + "vmFqdn": "WIN-9KSSLIRK992", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/a0955ab6-eb5b-418a-9164-12f113e647d4", + "name": "a0955ab6-eb5b-418a-9164-12f113e647d4", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:A0955AB6-EB5B-418A-9164-12F113E647D4\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\VHDAutomation\\VHDPath\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:A0955AB6-EB5B-418A-9164-12F113E647D4\\C041D435-F83C-4B7C-8D0D-9979B21C789D", + "macAddress": "00:15:5d:0c:92:d1", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "Test", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\A0955AB6-EB5B-418A-9164-12F113E647D4.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-16T01:02:02.9558576Z", + "updatedTimestamp": "2019-05-17T00:32:02.5378357Z", + "instanceUuid": "a0955ab6-eb5b-418a-9164-12f113e647d4", + "powerStatus": "PowerOff", + "biosSerialNumber": "1588-2087-3284-3231-3594-2611-79", + "vmFqdn": "", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/ac334699-a6f6-4975-bac2-d24ee455962c", + "name": "ac334699-a6f6-4975-bac2-d24ee455962c", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:AC334699-A6F6-4975-BAC2-D24EE455962C\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\VHDAutomation\\VHDPath\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:AC334699-A6F6-4975-BAC2-D24EE455962C\\E34FE1C2-FEF7-46D0-B35A-7E9401B4C3CA", + "macAddress": "00:15:5d:0c:92:d2", + "ipAddressList": [ + "10.150.9.176", + "fe80::d25:c354:5be:9547", + "2404:f801:4800:25:d25:c354:5be:9547" + ], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.16", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\AC334699-A6F6-4975-BAC2-D24EE455962C.xml", + "operatingSystemDetails": { + "osType": null, + "osName": "Windows Server 2016 Datacenter Evaluation", + "osVersion": "10.0.14393" + }, + "createdTimestamp": "2019-05-16T02:32:01.7647451Z", + "updatedTimestamp": "2019-05-17T00:32:02.5378357Z", + "instanceUuid": "ac334699-a6f6-4975-bac2-d24ee455962c", + "powerStatus": "Running", + "biosSerialNumber": "0029-6339-8282-3741-9331-0247-99", + "vmFqdn": "WIN-L4SQKQV73T6", + "isDeleted": true, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/c6382927-93a4-4a9f-bb65-0630f3fdf713", + "name": "c6382927-93a4-4a9f-bb65-0630f3fdf713", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "8.0", + "highAvailability": "No", + "maxMemoryMB": 1048576, + "firmware": "BIOS", + "isDynamicMemoryEnabled": false, + "disks": [ + { + "instanceId": "Microsoft:C6382927-93A4-4A9F-BB65-0630F3FDF713\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\VHDAutomation\\VHDPath\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:C6382927-93A4-4A9F-BB65-0630F3FDF713\\051D0A1B-F760-4275-B42B-999CEE4443D8", + "macAddress": "00:15:5d:0c:92:d3", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "Test", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\C6382927-93A4-4A9F-BB65-0630F3FDF713.vmcx", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-17T01:02:04.0322711Z", + "updatedTimestamp": "2019-05-17T02:32:05.7227028Z", + "instanceUuid": "c6382927-93a4-4a9f-bb65-0630f3fdf713", + "powerStatus": "PowerOff", + "biosSerialNumber": "2572-6880-9740-7445-0045-5654-24", + "vmFqdn": "", + "isDeleted": false, + "errors": [] + } + }, + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/machines/a47c9ea9-4388-49fc-918b-4598f201190b", + "name": "a47c9ea9-4388-49fc-918b-4598f201190b", + "type": "Microsoft.OffAzure/HyperVSites/machines", + "properties": { + "hostFqdn": "BCDR-EWLAB-48.fareast.corp.microsoft.com", + "hostId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/hosts/bcdr-ewlab-48-fareast-corp-micr-691cb67f-3474-55ee-b376-63a93b276ed6", + "clusterFqdn": null, + "clusterId": null, + "managementServerType": "Host", + "generation": 1, + "version": "5.0", + "highAvailability": "No", + "maxMemoryMB": 16384, + "firmware": "BIOS", + "isDynamicMemoryEnabled": true, + "disks": [ + { + "instanceId": "Microsoft:A47C9EA9-4388-49FC-918B-4598F201190B\\83F8638B-8DCA-4152-9EDA-2CA8B33039B4\\0\\0\\L", + "vhdId": "4845656d-75b2-1246-bc8f-13d900000000", + "maxSizeInBytes": 42949672960, + "name": "14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us", + "diskType": "Dynamic", + "lun": 0, + "path": "E:\\VHDAutomation\\VHDPath\\14393.0.amd64fre.rs1_release.160715-1616_server_serverdatacentereval_en-us.vhd" + } + ], + "networkAdapters": [ + { + "networkId": "QnJvYWRjb20gTmV0WHRyZW1lIEdpZ2FiaXQgRXRoZXJuZXQgLSBWaXJ0dWFsIFN3aXRjaA==", + "subnetName": "Broadcom NetXtreme Gigabit Ethernet - Virtual Switch", + "staticIpAddress": null, + "nicType": "NicType", + "nicId": "Microsoft:A47C9EA9-4388-49FC-918B-4598F201190B\\E1D29E95-1D19-4F52-B2D9-C475211BC4F3", + "macAddress": "00:00:00:00:00:00", + "ipAddressList": [], + "networkName": null, + "ipAddressType": "Dynamic" + } + ], + "displayName": "AzureMigrateAppliance_v1.19.05.17", + "numberOfProcessorCore": 8, + "allocatedMemoryInMB": 8192, + "vmConfigurationFileLocation": "C:\\ProgramData\\Microsoft\\Windows\\Hyper-V\\Virtual Machines\\A47C9EA9-4388-49FC-918B-4598F201190B.xml", + "operatingSystemDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "createdTimestamp": "2019-05-17T02:32:05.7383069Z", + "updatedTimestamp": "2019-05-17T02:32:05.7383069Z", + "instanceUuid": "a47c9ea9-4388-49fc-918b-4598f201190b", + "powerStatus": "PowerOff", + "biosSerialNumber": "5276-4257-5155-5813-6540-4460-63", + "vmFqdn": "", + "isDeleted": false, + "errors": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVOperationsStatus_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVOperationsStatus_Get.json new file mode 100644 index 000000000000..2a1a65d2569d --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVOperationsStatus_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "operationStatusName": "996212ae-5c5f-419f-bb11-6f5c9b1ad90d", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/hypervsites/pajind10/operationsstatus/996212ae-5c5f-419f-bb11-6f5c9b1ad90d", + "name": "996212ae-5c5f-419f-bb11-6f5c9b1ad90d", + "status": "Running", + "startTime": null, + "endTime": null, + "error": null, + "properties": { + "result": null + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVRunAsAccount_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVRunAsAccount_Get.json new file mode 100644 index 000000000000..ff6d8f9215f7 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVRunAsAccount_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "accountName": "account1", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/runasaccounts/account1", + "name": "account1", + "type": "Microsoft.OffAzure/HyperVSites/runasaccounts", + "properties": { + "displayName": "account1", + "credentialType": "LinuxServer", + "createdTimestamp": "2019-05-14T07:01:18.3434076Z", + "updatedTimestamp": "2019-05-14T07:01:18.3434076Z" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVRunAsAccounts_ListBySite.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVRunAsAccounts_ListBySite.json new file mode 100644 index 000000000000..1e7bf50594c2 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVRunAsAccounts_ListBySite.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site/runasaccounts/account1", + "name": "account1", + "type": "Microsoft.OffAzure/HyperVSites/runasaccounts", + "properties": { + "displayName": "account1", + "credentialType": "LinuxServer", + "createdTimestamp": "2019-05-14T07:01:18.3434076Z", + "updatedTimestamp": "2019-05-14T07:01:18.3434076Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSiteHealthSummary_Post.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSiteHealthSummary_Post.json new file mode 100644 index 000000000000..42297c3b997c --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSiteHealthSummary_Post.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "8c3c936a-c09b-4de3-830b-3f5f244d72e9", + "resourceGroupName": "HMWalkthroughDay1-Scale", + "siteName": "HyperV1acf8site", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "applianceName": "HyperV1", + "errorMessage": "Server: 'WIN-BVO0984D4J6' The WinRM client cannot process the request because the server name cannot be resolved.", + "summaryMessage": "Unable to connect to host(s) or cluster as name cannot be resolved. WinRM error code: 0x803381B9.", + "errorId": 50004, + "errorCode": "NameResolutionFailed", + "affectedObjectsCount": 2, + "hitCount": 2, + "severity": "Error", + "remediationGuidance": "Update the hosts file on the appliance. Learn more (https://aka.ms/migrate/hyperv/nameresolution).", + "affectedResourceType": "Microsoft.OffAzure/HyperVSites/hosts", + "affectedResources": [ + "win-bvo0984d4j6-c738a150-0ec3-598f-b872-833bfcea2818", + "win-pps0bm5lv04-db27b8f3-8214-573c-985f-8e3026a7d34c" + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSiteSummary_Post.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSiteSummary_Post.json new file mode 100644 index 000000000000..92796cdc607b --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSiteSummary_Post.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "machineCount": 30, + "runAsAccountCount": 1, + "hostCount": 2, + "clusterCount": 0 + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Create.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Create.json new file mode 100644 index 000000000000..f44366ac00ed --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Create.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07", + "body": { + "location": "eastus", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site", + "name": "appliance1e39site", + "type": "Microsoft.OffAzure/HyperVSites", + "eTag": null, + "location": "eastus", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "string" + }, + "agentDetails": { + "id": "eb250c36-82e2-51f8-bdb8-0e35c6814cc0-agent", + "version": null, + "lastHeartBeatUtc": null, + "keyVaultUri": "string", + "keyVaultId": "string" + }, + "serviceEndpoint": "https://localhost", + "discoverySolutionId": "string", + "applianceName": "string" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site", + "name": "appliance1e39site", + "type": "Microsoft.OffAzure/HyperVSites", + "eTag": null, + "location": "eastus", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "string" + }, + "agentDetails": { + "id": "eb250c36-82e2-51f8-bdb8-0e35c6814cc0-agent", + "version": null, + "lastHeartBeatUtc": null, + "keyVaultUri": "string", + "keyVaultId": "string" + }, + "serviceEndpoint": "https://localhost", + "discoverySolutionId": "string", + "applianceName": "string" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Delete.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Delete.json new file mode 100644 index 000000000000..b997561caa11 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Get.json new file mode 100644 index 000000000000..ac19de744903 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site", + "name": "appliance1e39site", + "type": "Microsoft.OffAzure/HyperVSites", + "location": "westeurope", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "61635e77-1e11-4c57-86d1-a8bf45d027fe", + "objectId": "809f96f7-5c3b-45cf-a1ee-65b5d1689919", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/appliance1e39agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "MIIDNDCCAhygAwIBAgIQcG1waNhSQHq+QWMteouKoDANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDEwxBZ2VudFNwbkNlcnQwHhcNMTkwNTA5MDc0MDQ5WhcNMjIwNTA5MDc1MDQ5WjAXMRUwEwYDVQQDEwxBZ2VudFNwbkNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCovoqe6ey6QROBYESERRC8ZECO0jqsSDUWYtoFpEsgmvPa5ht3nqQAx7ODGzbV3eIPGHF2dRz2E4quvmo9g7DK4n5mukloE7zIVeo9WCdxF6ru13X6Q8aKCz6BLl10L9DpmKTeQwrbohKV+9HSE4K8wXB0flezTrcUzRZGQRbB3CInpPhRJfWVLIQuZngSJ3qZ/Y6ejYLA4dUdKHMyvjDcmc//VGczZPhfLxZc9t8bhxiiYopWyAkF6ZWCeEUsMcFuiBOft5lNHEFNRkRVgADBekDSK5iJqcvBIzOezbagZewvum2GviQEbe3yxQF+TygjLB8xLL1XVYop4Y4xRu2bAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSFDL/nQvfZoLGuuw+fwSiFMi8CSTAdBgNVHQ4EFgQUhQy/50L32aCxrrsPn8EohTIvAkkwDQYJKoZIhvcNAQELBQADggEBADxJp9gLn7x6tp4fmApAoMBIghIJb36KJjT6sjGz9wsXNfH4S0kHQbgj8EAJpz8TlSBpjNmJ7DkwxorNn1BeG/DrnBvUJ9sNeI3rISCXrrw89CHy86uGXtn7BZ+2Co1UTHy98nkWK/1pPyMrSM8HxneWQGAa1bLKTclp+QRJNnQwJ9pEPuAr5BaWJkT737YkiE5NNcaaGDA5nLW91ARL5HNumtpwIDoN+l7OtAfRIgu83HFLeiqlVaR6x+7wtnA7n+fomIznBQ4vsoIclSPZ9vSaudT98TXN8m8CkQGEZi6w4gpmjQnXTehzvpdTbv1H+9iKsuPIDkjwiiLmr6mUbXs=" + }, + "agentDetails": { + "id": "09c46a1c-15a7-45cf-b2de-77a2fc9dd091-agent", + "version": "1.0.8.227", + "lastHeartBeatUtc": "2019-05-17T06:46:16.8227519Z", + "keyVaultUri": "https://appliance1e39kv.vault.azure.net", + "keyVaultId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.KeyVault/vaults/appliance1e39kv" + }, + "serviceEndpoint": "https://discoverysrv-we.prod.migration.windowsazure.com", + "discoverySolutionId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.Migrate/MigrateProjects/WestEuropeTest/Solutions/Servers-Discovery-ServerDiscovery", + "applianceName": "appliance" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Patch.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Patch.json new file mode 100644 index 000000000000..9a6764ba1689 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Patch.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07", + "body": { + "location": "westeurope", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "61635e77-1e11-4c57-86d1-a8bf45d027fe", + "objectId": "809f96f7-5c3b-45cf-a1ee-65b5d1689919", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/appliance1e39agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "MIIDNDCCAhygAwIBAgIQcG1waNhSQHq+QWMteouKoDANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDEwxBZ2VudFNwbkNlcnQwHhcNMTkwNTA5MDc0MDQ5WhcNMjIwNTA5MDc1MDQ5WjAXMRUwEwYDVQQDEwxBZ2VudFNwbkNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCovoqe6ey6QROBYESERRC8ZECO0jqsSDUWYtoFpEsgmvPa5ht3nqQAx7ODGzbV3eIPGHF2dRz2E4quvmo9g7DK4n5mukloE7zIVeo9WCdxF6ru13X6Q8aKCz6BLl10L9DpmKTeQwrbohKV+9HSE4K8wXB0flezTrcUzRZGQRbB3CInpPhRJfWVLIQuZngSJ3qZ/Y6ejYLA4dUdKHMyvjDcmc//VGczZPhfLxZc9t8bhxiiYopWyAkF6ZWCeEUsMcFuiBOft5lNHEFNRkRVgADBekDSK5iJqcvBIzOezbagZewvum2GviQEbe3yxQF+TygjLB8xLL1XVYop4Y4xRu2bAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSFDL/nQvfZoLGuuw+fwSiFMi8CSTAdBgNVHQ4EFgQUhQy/50L32aCxrrsPn8EohTIvAkkwDQYJKoZIhvcNAQELBQADggEBADxJp9gLn7x6tp4fmApAoMBIghIJb36KJjT6sjGz9wsXNfH4S0kHQbgj8EAJpz8TlSBpjNmJ7DkwxorNn1BeG/DrnBvUJ9sNeI3rISCXrrw89CHy86uGXtn7BZ+2Co1UTHy98nkWK/1pPyMrSM8HxneWQGAa1bLKTclp+QRJNnQwJ9pEPuAr5BaWJkT737YkiE5NNcaaGDA5nLW91ARL5HNumtpwIDoN+l7OtAfRIgu83HFLeiqlVaR6x+7wtnA7n+fomIznBQ4vsoIclSPZ9vSaudT98TXN8m8CkQGEZi6w4gpmjQnXTehzvpdTbv1H+9iKsuPIDkjwiiLmr6mUbXs=" + }, + "agentDetails": { + "keyVaultUri": "https://appliance1e39kv.vault.azure.net", + "keyVaultId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.KeyVault/vaults/appliance1e39kv" + }, + "discoverySolutionId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.Migrate/MigrateProjects/WestEuropeTest/Solutions/Servers-Discovery-ServerDiscovery", + "applianceName": "appliance" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site", + "name": "appliance1e39site", + "location": "westeurope", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "61635e77-1e11-4c57-86d1-a8bf45d027fe", + "objectId": "809f96f7-5c3b-45cf-a1ee-65b5d1689919", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/appliance1e39agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "MIIDNDCCAhygAwIBAgIQcG1waNhSQHq+QWMteouKoDANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDEwxBZ2VudFNwbkNlcnQwHhcNMTkwNTA5MDc0MDQ5WhcNMjIwNTA5MDc1MDQ5WjAXMRUwEwYDVQQDEwxBZ2VudFNwbkNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCovoqe6ey6QROBYESERRC8ZECO0jqsSDUWYtoFpEsgmvPa5ht3nqQAx7ODGzbV3eIPGHF2dRz2E4quvmo9g7DK4n5mukloE7zIVeo9WCdxF6ru13X6Q8aKCz6BLl10L9DpmKTeQwrbohKV+9HSE4K8wXB0flezTrcUzRZGQRbB3CInpPhRJfWVLIQuZngSJ3qZ/Y6ejYLA4dUdKHMyvjDcmc//VGczZPhfLxZc9t8bhxiiYopWyAkF6ZWCeEUsMcFuiBOft5lNHEFNRkRVgADBekDSK5iJqcvBIzOezbagZewvum2GviQEbe3yxQF+TygjLB8xLL1XVYop4Y4xRu2bAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSFDL/nQvfZoLGuuw+fwSiFMi8CSTAdBgNVHQ4EFgQUhQy/50L32aCxrrsPn8EohTIvAkkwDQYJKoZIhvcNAQELBQADggEBADxJp9gLn7x6tp4fmApAoMBIghIJb36KJjT6sjGz9wsXNfH4S0kHQbgj8EAJpz8TlSBpjNmJ7DkwxorNn1BeG/DrnBvUJ9sNeI3rISCXrrw89CHy86uGXtn7BZ+2Co1UTHy98nkWK/1pPyMrSM8HxneWQGAa1bLKTclp+QRJNnQwJ9pEPuAr5BaWJkT737YkiE5NNcaaGDA5nLW91ARL5HNumtpwIDoN+l7OtAfRIgu83HFLeiqlVaR6x+7wtnA7n+fomIznBQ4vsoIclSPZ9vSaudT98TXN8m8CkQGEZi6w4gpmjQnXTehzvpdTbv1H+9iKsuPIDkjwiiLmr6mUbXs=" + }, + "agentDetails": { + "id": "09c46a1c-15a7-45cf-b2de-77a2fc9dd091-agent", + "version": "1.0.8.227", + "lastHeartBeatUtc": "2019-05-17T06:46:16.8227519Z", + "keyVaultUri": "https://appliance1e39kv.vault.azure.net", + "keyVaultId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.KeyVault/vaults/appliance1e39kv" + }, + "serviceEndpoint": "https://discoverysrv-we.prod.migration.windowsazure.com", + "discoverySolutionId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.Migrate/MigrateProjects/WestEuropeTest/Solutions/Servers-Discovery-ServerDiscovery", + "applianceName": "appliance" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site", + "name": "appliance1e39site", + "location": "westeurope", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "61635e77-1e11-4c57-86d1-a8bf45d027fe", + "objectId": "809f96f7-5c3b-45cf-a1ee-65b5d1689919", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/appliance1e39agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "MIIDNDCCAhygAwIBAgIQcG1waNhSQHq+QWMteouKoDANBgkqhkiG9w0BAQsFADAXMRUwEwYDVQQDEwxBZ2VudFNwbkNlcnQwHhcNMTkwNTA5MDc0MDQ5WhcNMjIwNTA5MDc1MDQ5WjAXMRUwEwYDVQQDEwxBZ2VudFNwbkNlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCovoqe6ey6QROBYESERRC8ZECO0jqsSDUWYtoFpEsgmvPa5ht3nqQAx7ODGzbV3eIPGHF2dRz2E4quvmo9g7DK4n5mukloE7zIVeo9WCdxF6ru13X6Q8aKCz6BLl10L9DpmKTeQwrbohKV+9HSE4K8wXB0flezTrcUzRZGQRbB3CInpPhRJfWVLIQuZngSJ3qZ/Y6ejYLA4dUdKHMyvjDcmc//VGczZPhfLxZc9t8bhxiiYopWyAkF6ZWCeEUsMcFuiBOft5lNHEFNRkRVgADBekDSK5iJqcvBIzOezbagZewvum2GviQEbe3yxQF+TygjLB8xLL1XVYop4Y4xRu2bAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBSFDL/nQvfZoLGuuw+fwSiFMi8CSTAdBgNVHQ4EFgQUhQy/50L32aCxrrsPn8EohTIvAkkwDQYJKoZIhvcNAQELBQADggEBADxJp9gLn7x6tp4fmApAoMBIghIJb36KJjT6sjGz9wsXNfH4S0kHQbgj8EAJpz8TlSBpjNmJ7DkwxorNn1BeG/DrnBvUJ9sNeI3rISCXrrw89CHy86uGXtn7BZ+2Co1UTHy98nkWK/1pPyMrSM8HxneWQGAa1bLKTclp+QRJNnQwJ9pEPuAr5BaWJkT737YkiE5NNcaaGDA5nLW91ARL5HNumtpwIDoN+l7OtAfRIgu83HFLeiqlVaR6x+7wtnA7n+fomIznBQ4vsoIclSPZ9vSaudT98TXN8m8CkQGEZi6w4gpmjQnXTehzvpdTbv1H+9iKsuPIDkjwiiLmr6mUbXs=" + }, + "agentDetails": { + "id": "09c46a1c-15a7-45cf-b2de-77a2fc9dd091-agent", + "version": "1.0.8.227", + "lastHeartBeatUtc": "2019-05-17T06:46:16.8227519Z", + "keyVaultUri": "https://appliance1e39kv.vault.azure.net", + "keyVaultId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.KeyVault/vaults/appliance1e39kv" + }, + "serviceEndpoint": "https://discoverysrv-we.prod.migration.windowsazure.com", + "discoverySolutionId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.Migrate/MigrateProjects/WestEuropeTest/Solutions/Servers-Discovery-ServerDiscovery", + "applianceName": "appliance" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Refresh.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Refresh.json new file mode 100644 index 000000000000..b3076f1ab21a --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/HyperVSite_Refresh.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07" + }, + "responses": { + "202": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Create.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Create.json new file mode 100644 index 000000000000..02baedd3d85e --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Create.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "poshukla", + "siteName": "masterSite1", + "api-version": "2020-07-07", + "body": { + "location": "eastus", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/poshukla/providers/Microsoft.OffAzure/MasterSites/masterSite1", + "name": "masterSite1", + "type": "Microsoft.OffAzure/MasterSites", + "eTag": null, + "location": "", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/masterSite1", + "name": "masterSite1", + "type": "Microsoft.OffAzure/VMwareSites", + "eTag": null, + "location": "", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Delete.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Delete.json new file mode 100644 index 000000000000..1acaef997821 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "poshukla", + "siteName": "masterSite1", + "api-version": "2020-07-07" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Get.json new file mode 100644 index 000000000000..ec2019d429a3 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "poshukla", + "siteName": "masterSite1", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/poshukla/providers/Microsoft.OffAzure/MasterSites/masterSite1", + "name": "masterSite1", + "type": "Microsoft.OffAzure/MasterSites", + "eTag": null, + "location": "", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Patch.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Patch.json new file mode 100644 index 000000000000..82639633fd4e --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSite_Patch.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "poshukla", + "siteName": "masterSite1", + "api-version": "2020-07-07", + "body": { + "name": "masterSite1", + "eTag": null, + "location": "eastus", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/poshukla/providers/Microsoft.OffAzure/MasterSites/masterSite1", + "name": "masterSite1", + "type": "Microsoft.OffAzure/MasterSites", + "eTag": null, + "location": "", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/masterSite1", + "name": "masterSite1", + "type": "Microsoft.OffAzure/VMwareSites", + "eTag": null, + "location": "", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSites_List.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSites_List.json new file mode 100644 index 000000000000..7213006d53bd --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSites_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "poshukla", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/poshukla/providers/Microsoft.OffAzure/MasterSites/masterSite1", + "name": "masterSite1", + "type": "Microsoft.OffAzure/MasterSites", + "eTag": null, + "location": "", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + ] + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSites_ListBySubscription.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSites_ListBySubscription.json new file mode 100644 index 000000000000..7215a24e3909 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/MasterSites_ListBySubscription.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/poshukla/providers/Microsoft.OffAzure/MasterSites/masterSite1", + "name": "masterSite1", + "type": "Microsoft.OffAzure/MasterSites", + "eTag": null, + "location": "", + "properties": { + "publicNetworkAccess": "Enabled", + "allowMultipleSites": false, + "sites": [ + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/HyperVSites/appliance1e39site" + ] + } + } + ] + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/Operations_List.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/Operations_List.json new file mode 100644 index 000000000000..cfeedfc9ab1c --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/Operations_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Read", + "display": { + "provider": "Microsoft.OffAzure", + "resource": "Microsoft.OffAzure/HyperVSites", + "operation": "Read", + "description": "Reads a site" + }, + "origin": "user,system" + }, + { + "name": "Write", + "display": { + "provider": "Microsoft.OffAzure", + "resource": "Microsoft.OffAzure/HyperVSites", + "operation": "Write", + "description": "Creates or updates a site" + }, + "origin": "user,system" + }, + { + "name": "Read", + "display": { + "provider": "Microsoft.OffAzure", + "resource": "Microsoft.OffAzure/VMwareSites", + "operation": "Read", + "description": "Reads a site" + }, + "origin": "user,system" + }, + { + "name": "Write", + "display": { + "provider": "Microsoft.OffAzure", + "resource": "Microsoft.OffAzure/VMwareSites", + "operation": "Write", + "description": "Creates or updates a site" + }, + "origin": "user,system" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareMachine_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareMachine_Get.json new file mode 100644 index 000000000000..9b4c1930ee80 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareMachine_Get.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "machineName": "machine1", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/VMwareSites/pajind_site1/machines/machine1", + "name": "machine1", + "type": "Microsoft.OffAzure/VMwareSites/machines", + "properties": { + "dataCenterScope": "vCenter60-2", + "firmware": "bios", + "description": "", + "vCenterFQDN": "10.150.8.52", + "vCenterId": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/VMwareSites/vcenters/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a", + "vMwareToolsStatus": "NotInstalled", + "changeTrackingSupported": true, + "changeTrackingEnabled": true, + "maxSnapshots": -1, + "disks": [ + { + "uuid": "6000C299-7390-714b-91c1-8af030cfadf9", + "label": "Hard disk 1", + "diskProvisioningPolicy": "ThinProvisioned", + "diskScrubbingPolicy": "LazilyScrubbed", + "diskMode": "persistent", + "maxSizeInBytes": 42949672960, + "name": "scsi0:0", + "diskType": "Static", + "lun": 0, + "path": "[DS-FC-5TB-38-4] FPLWIN8R264-03/FPLWIN8R264-03.vmdk" + } + ], + "appsAndRoles": null, + "hostInMaintenanceMode": false, + "hostName": "10.150.8.38", + "hostPowerState": "unknown", + "hostVersion": "6.0.0", + "networkAdapters": [ + { + "label": "Network adapter 1", + "nicId": "4000", + "macAddress": "00:50:56:88:0d:3c", + "ipAddressList": [], + "networkName": "VM Network", + "ipAddressType": "Static" + } + ], + "dependencyMapping": "Disabled", + "dependencyMappingStartTime": null, + "displayName": "FPLWIN8R264-03", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "[DS-FC-5TB-38-4] FPLWIN8R264-03/FPLWIN8R264-03.vmx", + "operatingSystemDetails": { + "osType": "windowsguest", + "osName": "Microsoft Windows Server 2008 R2 (64-bit)", + "osVersion": null + }, + "guestOSDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "numberOfApplications": 0, + "guestDetailsDiscoveryTimestamp": null, + "isGuestDetailsDiscoveryInProgress": true, + "createdTimestamp": "2019-10-14T08:52:34.0679641Z", + "updatedTimestamp": "2019-10-17T09:32:15.8814969Z", + "instanceUuid": "5008f0e5-71aa-84d6-6042-a118fb8e07c5", + "powerStatus": "ON", + "biosSerialNumber": "4208ef12-4a97-56d5-5fab-268058d3e3b5", + "biosGuid": "4208ef12-4a97-56d5-5fab-268058d3e3b5", + "vmFqdn": "", + "isDeleted": false, + "errors": [] + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareMachines_ListBySite.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareMachines_ListBySite.json new file mode 100644 index 000000000000..65590a660ed7 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareMachines_ListBySite.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/VMwareSites/pajind_site1/machines/machine1", + "name": "machine1", + "type": "Microsoft.OffAzure/VMwareSites/machines", + "properties": { + "dataCenterScope": "vCenter60-2", + "firmware": "bios", + "description": "", + "vCenterFQDN": "10.150.8.52", + "vCenterId": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/VMwareSites/pajind_site1/vcenters/10-150-8-52-b090bef3-b733-5e34-bc8f-eb6f2701432a", + "vMwareToolsStatus": "NotInstalled", + "changeTrackingSupported": true, + "changeTrackingEnabled": true, + "maxSnapshots": -1, + "disks": [ + { + "uuid": "6000C299-7390-714b-91c1-8af030cfadf9", + "label": "Hard disk 1", + "diskProvisioningPolicy": "ThinProvisioned", + "diskScrubbingPolicy": "LazilyScrubbed", + "diskMode": "persistent", + "maxSizeInBytes": 42949672960, + "name": "scsi0:0", + "diskType": "Static", + "lun": 0, + "path": "[DS-FC-5TB-38-4] FPLWIN8R264-03/FPLWIN8R264-03.vmdk" + } + ], + "appsAndRoles": null, + "hostInMaintenanceMode": false, + "hostName": "10.150.8.38", + "hostPowerState": "unknown", + "hostVersion": "6.0.0", + "networkAdapters": [ + { + "label": "Network adapter 1", + "nicId": "4000", + "macAddress": "00:50:56:88:0d:3c", + "ipAddressList": [], + "networkName": "VM Network", + "ipAddressType": "Static" + } + ], + "dependencyMapping": "Disabled", + "dependencyMappingStartTime": null, + "displayName": "FPLWIN8R264-03", + "numberOfProcessorCore": 1, + "allocatedMemoryInMB": 4096, + "vmConfigurationFileLocation": "[DS-FC-5TB-38-4] FPLWIN8R264-03/FPLWIN8R264-03.vmx", + "operatingSystemDetails": { + "osType": "windowsguest", + "osName": "Microsoft Windows Server 2008 R2 (64-bit)", + "osVersion": null + }, + "guestOSDetails": { + "osType": null, + "osName": null, + "osVersion": null + }, + "numberOfApplications": 0, + "guestDetailsDiscoveryTimestamp": null, + "isGuestDetailsDiscoveryInProgress": true, + "createdTimestamp": "2019-10-14T08:52:34.0679641Z", + "updatedTimestamp": "2019-10-17T09:32:15.8814969Z", + "instanceUuid": "5008f0e5-71aa-84d6-6042-a118fb8e07c5", + "powerStatus": "ON", + "biosSerialNumber": "4208ef12-4a97-56d5-5fab-268058d3e3b5", + "biosGuid": "4208ef12-4a97-56d5-5fab-268058d3e3b5", + "vmFqdn": "", + "isDeleted": false, + "errors": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareOperationsStatus_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareOperationsStatus_Get.json new file mode 100644 index 000000000000..c1cce5841a2f --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareOperationsStatus_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "operationStatusName": "996212ae-5c5f-419f-bb11-6f5c9b1ad90d", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/vmwaresites/pajind10/operationsstatus/996212ae-5c5f-419f-bb11-6f5c9b1ad90d", + "name": "996212ae-5c5f-419f-bb11-6f5c9b1ad90d", + "status": "Running", + "startTime": null, + "endTime": null, + "error": null, + "properties": { + "result": null + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareRunAsAccount_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareRunAsAccount_Get.json new file mode 100644 index 000000000000..d1ba26cd0912 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareRunAsAccount_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "accountName": "account1", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/vmwaresites/pajind_site1/runasaccounts/account1", + "name": "account1", + "type": "Microsoft.OffAzure/vmwaresites/runasaccounts", + "properties": { + "displayName": "account1", + "credentialType": "LinuxServer", + "createdTimestamp": "2018-10-09T12:09:38.9625535Z", + "updatedTimestamp": "2018-10-09T12:09:38.9625535Z" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareRunAsAccount_ListBySite.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareRunAsAccount_ListBySite.json new file mode 100644 index 000000000000..3df7d416d447 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareRunAsAccount_ListBySite.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/vmwaresites/pajind_site1/runasaccounts/account1", + "name": "account1", + "type": "Microsoft.OffAzure/vmwaresites/runasaccounts", + "properties": { + "displayName": "account1", + "credentialType": "LinuxServer", + "createdTimestamp": "2019-08-09T11:27:41.6015709Z", + "updatedTimestamp": "2019-08-09T11:27:41.6045624Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSiteHealthSummary_Post.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSiteHealthSummary_Post.json new file mode 100644 index 000000000000..ba64e93eee4e --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSiteHealthSummary_Post.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "rahasijaBugBash050919", + "siteName": "rahasapp122119d37csite", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "applianceName": "rahasapp122119", + "errorMessage": "Unable to discover applications due to VMware error: 'The operation is not allowed in the current state.'.", + "summaryMessage": "Action failed on vCenter/ESXi server.", + "errorId": 8084, + "errorCode": "VimException", + "affectedObjectsCount": 2, + "hitCount": 2, + "severity": "Error", + "remediationGuidance": "Review our documentation on how to fix the error.", + "affectedResourceType": "Microsoft.OffAzure/VMwareSites/machines", + "affectedResources": [ + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_5027298a-5c7c-b63e-d038-42a90ad0ef22", + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_5027dfb2-ecc3-47ad-e49c-3c6ebd685cc8" + ] + }, + { + "applianceName": "rahasapp122119", + "errorMessage": "Unable to discover the applications installed on the VM.", + "summaryMessage": "VMWare tool status is not Running.", + "errorId": 9002, + "errorCode": "VMWareToolStatusIsNotRunning", + "affectedObjectsCount": 7, + "hitCount": 7, + "severity": "Error", + "remediationGuidance": "Install/Reinstall the vmware tools in the VM and check if it is running.", + "affectedResourceType": "Microsoft.OffAzure/VMwareSites/machines", + "affectedResources": [ + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_50279091-162f-3802-695e-de9dc653b478", + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_5037b3e1-d9e9-e7a0-3c33-68786c1eb60d", + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_5027af9e-44a0-6551-2458-85f4e7cde22c", + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_5037163d-2fb5-4231-6a68-8bfdc59137db", + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_5037a350-9bae-235e-4a59-aefd282b866f", + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_50374089-90e7-d054-ba66-a7bd125cd39f", + "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31_5037f46d-c732-867f-0270-2ac61d936410" + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSiteSummary_Post.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSiteSummary_Post.json new file mode 100644 index 000000000000..a81672a722c9 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSiteSummary_Post.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "rahasijaBugBash050919", + "siteName": "rahasapp122119d37csite", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "runAsAccountCount": 1, + "machineCount": 6 + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Create.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Create.json new file mode 100644 index 000000000000..5f5e0ecff2be --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Create.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07", + "body": { + "location": "eastus", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "name": "appliance1e39site", + "type": "Microsoft.OffAzure/VMwareSites", + "eTag": null, + "location": "", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "string" + }, + "agentDetails": { + "id": "88762a5c-c43f-5a7a-ac2a-0abc594aa06e-agent", + "version": null, + "lastHeartBeatUtc": null, + "keyVaultUri": "string", + "keyVaultId": "string" + }, + "serviceEndpoint": "https://localhost", + "discoverySolutionId": "string", + "applianceName": "string" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site", + "name": "appliance1e39site", + "type": "Microsoft.OffAzure/VMwareSites", + "eTag": null, + "location": "", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "string" + }, + "agentDetails": { + "id": "88762a5c-c43f-5a7a-ac2a-0abc594aa06e-agent", + "version": null, + "lastHeartBeatUtc": null, + "keyVaultUri": "string", + "keyVaultId": "string" + }, + "serviceEndpoint": "https://localhost", + "discoverySolutionId": "string", + "applianceName": "string" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Delete.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Delete.json new file mode 100644 index 000000000000..309462ded0a7 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "api-version": "2020-07-07" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Get.json new file mode 100644 index 000000000000..4ce6b185470e --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/VMwareSites/pajind_site1", + "name": "pajind_site1", + "type": "Microsoft.OffAzure/vmwaresites", + "eTag": null, + "location": "", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "string" + }, + "agentDetails": { + "id": "6cf06006-b736-5081-9a10-41aa2f87bd84-agent", + "version": null, + "lastHeartBeatUtc": null, + "keyVaultUri": "string", + "keyVaultId": "string" + }, + "serviceEndpoint": "https://localhost", + "discoverySolutionId": "string", + "applianceName": "string" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Patch.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Patch.json new file mode 100644 index 000000000000..01b1635b4c09 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Patch.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "resourceGroupName": "myResourceGroup", + "siteName": "pajind_site1", + "api-version": "2020-07-07", + "body": { + "name": "pajind_site1", + "eTag": null, + "location": "", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "string" + }, + "agentDetails": { + "keyVaultUri": "https://keyVaultUri", + "keyVaultId": "string" + }, + "discoverySolutionId": "string", + "applianceName": "string" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/VMwareSites/pajind_site1", + "name": "pajind_site1", + "type": "Microsoft.OffAzure/vmwaresites", + "eTag": null, + "location": "", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "string" + }, + "agentDetails": { + "id": "6cf06006-b736-5081-9a10-41aa2f87bd84-agent", + "version": null, + "lastHeartBeatUtc": null, + "keyVaultUri": "https://keyVaultUri", + "keyVaultId": "string" + }, + "serviceEndpoint": "https://localhost", + "discoverySolutionId": "string", + "applianceName": "string" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.OffAzure/VMwareSites/pajind_site1", + "name": "pajind_site1", + "type": "Microsoft.OffAzure/vmwaresites", + "eTag": null, + "location": "", + "properties": { + "servicePrincipalIdentityDetails": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "e9f013df-2a2a-4871-b766-e79867f30348", + "objectId": "2cd492bc-7ef3-4ee0-b301-59a88108b47b", + "audience": "https://72f988bf-86f1-41af-91ab-2d7cd011db47/MaheshSite17ac9agentauthaadapp", + "aadAuthority": "https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + "rawCertData": "string" + }, + "agentDetails": { + "id": "6cf06006-b736-5081-9a10-41aa2f87bd84-agent", + "version": null, + "lastHeartBeatUtc": null, + "keyVaultUri": "https://keyVaultUri", + "keyVaultId": "string" + }, + "serviceEndpoint": "https://localhost", + "discoverySolutionId": "string", + "applianceName": "string" + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Refresh.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Refresh.json new file mode 100644 index 000000000000..b3076f1ab21a --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareSite_Refresh.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "api-version": "2020-07-07" + }, + "responses": { + "202": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Create.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Create.json new file mode 100644 index 000000000000..7c55c637f621 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Create.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "pajindTest", + "siteName": "appliance1e39site", + "vcenterName": "vcenter1", + "api-version": "2020-07-07", + "body": { + "properties": { + "fqdn": "idclab-a226vc6", + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/pajindTest/providers/Microsoft.OffAzure/VMwareSites/appliance1e39site/runasaccounts/account1" + } + } + }, + "responses": { + "202": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Delete.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Delete.json new file mode 100644 index 000000000000..9e349ef492e4 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "rahasijaBugBash050919", + "siteName": "rahasapp122119d37csite", + "vcenterName": "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31", + "api-version": "2020-07-07" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Get.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Get.json new file mode 100644 index 000000000000..c457e14c6b4a --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "rahasijaBugBash050919", + "siteName": "rahasapp122119d37csite", + "vcenterName": "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/rahasijaBugBash050919/providers/Microsoft.OffAzure/VMwareSites/rahasapp122119d37csite/vcenters/10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31", + "name": "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31", + "type": "Microsoft.OffAzure/VMwareSites/vcenters", + "properties": { + "createdTimestamp": "2019-12-21T07:00:52.0128932Z", + "updatedTimestamp": "2019-12-23T14:34:34.7509959Z", + "fqdn": "10.150.8.50", + "port": "443", + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/rahasijaBugBash050919/providers/Microsoft.OffAzure/VMwareSites/rahasapp122119d37csite/runasaccounts/6af5f800-e9f6-56ff-9c3c-7be56d242c31", + "version": "6.5.0", + "perfStatisticsLevel": "[{\"Level\":3,\"Name\":\"past day\",\"Enabled\":true,\"SamplingPeriod\":300,\"TimeLength\":86400},{\"Level\":3,\"Name\":\"past week\",\"Enabled\":true,\"SamplingPeriod\":1800,\"TimeLength\":604800},{\"Level\":3,\"Name\":\"past month\",\"Enabled\":true,\"SamplingPeriod \":7200,\"TimeLength\":2592000},{\"Level\":3,\"Name\":\"past year\",\"Enabled\":true,\"SamplingPeriod\":86400,\"TimeLength\":7776000}]", + "instanceUuid": "4c0e3b96-5e11-4574-b98a-2b868cd6950f", + "errors": [] + } + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_ListBySite.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_ListBySite.json new file mode 100644 index 000000000000..d031a92597fe --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/examples/VMwareVcenter_ListBySite.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "4bd2aa0f-2bd2-4d67-91a8-5a4533d58600", + "resourceGroupName": "rahasijaBugBash050919", + "siteName": "rahasapp122119d37csite", + "api-version": "2020-07-07" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/rahasijaBugBash050919/providers/Microsoft.OffAzure/VMwareSites/rahasapp122119d37csite/vcenters/10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31", + "name": "10-150-8-50-6af5f800-e9f6-56ff-9c3c-7be56d242c31", + "type": "Microsoft.OffAzure/VMwareSites/vcenters", + "properties": { + "createdTimestamp": "2019-12-21T07:00:52.0128932Z", + "updatedTimestamp": "2019-12-23T14:34:34.7509959Z", + "fqdn": "10.150.8.50", + "port": "443", + "runAsAccountId": "/subscriptions/4bd2aa0f-2bd2-4d67-91a8-5a4533d58600/resourceGroups/rahasijaBugBash050919/providers/Microsoft.OffAzure/VMwareSites/rahasapp122119d37csite/runasaccounts/6af5f800-e9f6-56ff-9c3c-7be56d242c31", + "version": "6.5.0", + "perfStatisticsLevel": "[{\"Level\":3,\"Name\":\"past day\",\"Enabled\":true,\"SamplingPeriod\":300,\"TimeLength\":86400},{\"Level\":3,\"Name\":\"past week\",\"Enabled\":true,\"SamplingPeriod\":1800,\"TimeLength\":604800},{\"Level\":3,\"Name\":\"past month\",\"Enabled\":true,\"SamplingPeriod \":7200,\"TimeLength\":2592000},{\"Level\":3,\"Name\":\"past year\",\"Enabled\":true,\"SamplingPeriod\":86400,\"TimeLength\":7776000}]", + "instanceUuid": "4c0e3b96-5e11-4574-b98a-2b868cd6950f", + "errors": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/migrate.json b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/migrate.json new file mode 100644 index 000000000000..68fbd32f52dd --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.OffAzure/stable/2020-07-07/migrate.json @@ -0,0 +1,5442 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-07", + "title": "Azure Migrate V2", + "description": "Discover your workloads for Azure.", + "contact": { + "name": "Microsoft", + "email": "azuremigrate@microsoft.com" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/clusters/{clusterName}": { + "get": { + "tags": [ + "HyperVCluster" + ], + "summary": "Method to get a Hyper-V cluster.", + "operationId": "HyperVCluster_GetCluster", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "clusterName", + "in": "path", + "description": "Cluster ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVCluster" + } + } + }, + "x-ms-examples": { + "Get cluster": { + "$ref": "./examples/HyperVCluster_Get.json" + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "HyperVCluster" + ], + "summary": "Method to create or update a cluster in site.", + "operationId": "HyperVCluster_PutCluster", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "clusterName", + "in": "path", + "description": "Cluster ARM name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Put cluster body.", + "required": true, + "schema": { + "$ref": "#/definitions/HyperVCluster" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "Tracking URL for long running operation.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Add new cluster": { + "$ref": "./examples/HyperVCluster_Create.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/clusters": { + "get": { + "tags": [ + "HyperVCluster" + ], + "summary": "Method to get all clusters in a site.", + "operationId": "HyperVCluster_GetAllClustersInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVClusterCollection" + } + } + }, + "x-ms-examples": { + "List cluster by site": { + "$ref": "./examples/HyperVCluster_ListBySite.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/hosts/{hostName}": { + "get": { + "tags": [ + "HyperVHost" + ], + "summary": "Method to get a Hyper-V host.", + "operationId": "HyperVHost_GetHost", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Host ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVHost" + } + } + }, + "x-ms-examples": { + "Get host": { + "$ref": "./examples/HyperVHost_Get.json" + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "HyperVHost" + ], + "summary": "Method to create or update a host in site.", + "operationId": "HyperVHost_PutHost", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Host ARM name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Put host body.", + "required": true, + "schema": { + "$ref": "#/definitions/HyperVHost" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "Tracking URL for long running operation.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Add new host": { + "$ref": "./examples/HyperVHost_Create.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/hosts": { + "get": { + "tags": [ + "HyperVHost" + ], + "summary": "Method to get all hosts in a site.", + "operationId": "HyperVHost_GetAllHostsInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVHostCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List hosts by site": { + "$ref": "./examples/HyperVHost_ListBySite.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/jobs/{jobName}": { + "get": { + "tags": [ + "HyperVJobs" + ], + "summary": "Method to get job.", + "operationId": "HyperVJobs_GetJob", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "Job ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVJob" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/jobs": { + "get": { + "tags": [ + "HyperVJobs" + ], + "summary": "Method to get all jobs in a site.", + "operationId": "HyperVJobs_GetAllJobsInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVJobCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/machines/{machineName}": { + "get": { + "tags": [ + "HyperVMachines" + ], + "summary": "Method to get machine.", + "operationId": "HyperVMachines_GetMachine", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "machineName", + "in": "path", + "description": "Machine ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVMachine" + } + } + }, + "x-ms-examples": { + "Get machine.": { + "$ref": "./examples/HyperVMachine_Get.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/machines": { + "get": { + "tags": [ + "HyperVMachines" + ], + "summary": "Method to get machine.", + "operationId": "HyperVMachines_GetAllMachinesInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "continuationToken", + "in": "query", + "description": "Optional parameter for continuation token.", + "required": false, + "type": "string" + }, + { + "name": "totalRecordCount", + "in": "query", + "description": "Total count of machines in the given site.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVMachineCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List hosts by site": { + "$ref": "./examples/HyperVMachines_ListBySite.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/operationsStatus/{operationStatusName}": { + "get": { + "tags": [ + "HyperVOperationsStatus" + ], + "summary": "Method to get operation status.", + "operationId": "HyperVOperationsStatus_GetOperationStatus", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "operationStatusName", + "in": "path", + "description": "Operation status ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "x-ms-examples": { + "Get operation status.": { + "$ref": "./examples/HyperVOperationsStatus_Get.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/runAsAccounts/{accountName}": { + "get": { + "tags": [ + "HyperVRunAsAccounts" + ], + "summary": "Method to get run as account.", + "operationId": "HyperVRunAsAccounts_GetRunAsAccount", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "accountName", + "in": "path", + "description": "Run as account ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVRunAsAccount" + } + } + }, + "x-ms-examples": { + "Get run as account.": { + "$ref": "./examples/HyperVRunAsAccount_Get.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/runAsAccounts": { + "get": { + "tags": [ + "HyperVRunAsAccounts" + ], + "summary": "Method to get run as accounts.", + "operationId": "HyperVRunAsAccounts_GetAllRunAsAccountsInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVRunAsAccountCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Run As Accounts by site": { + "$ref": "./examples/HyperVRunAsAccounts_ListBySite.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}": { + "get": { + "tags": [ + "HyperVSites" + ], + "summary": "Method to get a site.", + "operationId": "HyperVSites_GetSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVSite" + } + } + }, + "x-ms-examples": { + "Get Hyper-V site": { + "$ref": "./examples/HyperVSite_Get.json" + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "HyperVSites" + ], + "summary": "Method to create or update a site.", + "operationId": "HyperVSites_PutSite", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Body with site details.", + "required": true, + "schema": { + "$ref": "#/definitions/HyperVSite" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVSite" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/HyperVSite" + } + } + }, + "x-ms-examples": { + "Create Hyper-V site": { + "$ref": "./examples/HyperVSite_Create.json" + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "HyperVSites" + ], + "summary": "Method to delete a site.", + "operationId": "HyperVSites_DeleteSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Hyper-V site.": { + "$ref": "./examples/HyperVSite_Delete.json" + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "HyperVSites" + ], + "summary": "Method to patch an existing site.", + "operationId": "HyperVSites_PatchSite", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Body with site details.", + "required": true, + "schema": { + "$ref": "#/definitions/HyperVSite" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVSite" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/HyperVSite" + } + } + }, + "x-ms-examples": { + "Patch Hyper-V site.": { + "$ref": "./examples/HyperVSite_Patch.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/refresh": { + "post": { + "tags": [ + "HyperVSites" + ], + "summary": "Method to refresh a site.", + "operationId": "HyperVSites_RefreshSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "Tracking URL for long running operation.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Refresh Hyper-V site.": { + "$ref": "./examples/HyperVSite_Refresh.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/healthSummary": { + "post": { + "tags": [ + "HyperVSites" + ], + "summary": "Method to get site health summary.", + "operationId": "HyperVSites_GetSiteHealthSummary", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteHealthSummaryCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Hyper-V site health summary.": { + "$ref": "./examples/HyperVSiteHealthSummary_Post.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/jobs/{jobName}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Method to get job.", + "operationId": "Jobs_GetJob", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "jobName", + "in": "path", + "description": "Job ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareJob" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Method to get all jobs in a site.", + "operationId": "Jobs_GetAllJobsInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareJobCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/machines/{machineName}": { + "get": { + "tags": [ + "Machines" + ], + "summary": "Method to get machine.", + "operationId": "Machines_GetMachine", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "machineName", + "in": "path", + "description": "Machine ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareMachine" + } + } + }, + "x-ms-examples": { + "Get VMware machine.": { + "$ref": "./examples/VMwareMachine_Get.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/machines": { + "get": { + "tags": [ + "Machines" + ], + "summary": "Method to get machine.", + "operationId": "Machines_GetAllMachinesInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "continuationToken", + "in": "query", + "description": "Optional parameter for continuation token.", + "required": false, + "type": "string" + }, + { + "name": "totalRecordCount", + "in": "query", + "description": "Total count of machines in the given site.", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareMachineCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get VMware machines": { + "$ref": "./examples/VMwareMachines_ListBySite.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/machines/{machineName}/stop": { + "post": { + "tags": [ + "Machines" + ], + "summary": "Method to stop a machine.", + "operationId": "Machines_StopMachine", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "machineName", + "in": "path", + "description": "Machine ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "Tracking URL for long running operation.", + "type": "string" + } + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/machines/{machineName}/start": { + "post": { + "tags": [ + "Machines" + ], + "summary": "Method to start a machine.", + "operationId": "Machines_StartMachine", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "machineName", + "in": "path", + "description": "Machine ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "Tracking URL for long running operation.", + "type": "string" + } + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/runAsAccounts/{accountName}": { + "get": { + "tags": [ + "RunAsAccounts" + ], + "summary": "Method to get run as account.", + "operationId": "RunAsAccounts_GetRunAsAccount", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "accountName", + "in": "path", + "description": "Run as account ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareRunAsAccount" + } + } + }, + "x-ms-examples": { + "Get VMware run as account.": { + "$ref": "./examples/VMwareRunAsAccount_Get.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/runAsAccounts": { + "get": { + "tags": [ + "RunAsAccounts" + ], + "summary": "Method to get run as accounts.", + "operationId": "RunAsAccounts_GetAllRunAsAccountsInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareRunAsAccountCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List VMware run as account by site.": { + "$ref": "./examples/VMwareRunAsAccount_ListBySite.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}": { + "get": { + "tags": [ + "Sites" + ], + "summary": "Method to get a site.", + "operationId": "Sites_GetSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareSite" + } + } + }, + "x-ms-examples": { + "Get VMware site": { + "$ref": "./examples/VMwareSite_Get.json" + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Sites" + ], + "summary": "Method to create or update a site.", + "operationId": "Sites_PutSite", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Body with site details.", + "required": true, + "schema": { + "$ref": "#/definitions/VMwareSite" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareSite" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VMwareSite" + } + } + }, + "x-ms-examples": { + "Create VMware site": { + "$ref": "./examples/VMwareSite_Create.json" + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "Sites" + ], + "summary": "Method to delete a site.", + "operationId": "Sites_DeleteSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete VMware site": { + "$ref": "./examples/VMwareSite_Delete.json" + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "Sites" + ], + "summary": "Method to update an existing site.", + "operationId": "Sites_PatchSite", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Body with site details.", + "required": true, + "schema": { + "$ref": "#/definitions/VMwareSite" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareSite" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VMwareSite" + } + } + }, + "x-ms-examples": { + "Patch VMware site": { + "$ref": "./examples/VMwareSite_Patch.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/refresh": { + "post": { + "tags": [ + "Sites" + ], + "summary": "Method to refresh a site.", + "operationId": "Sites_RefreshSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "Tracking URL for long running operation.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Refresh VMware site": { + "$ref": "./examples/VMwareSite_Refresh.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/healthSummary": { + "post": { + "tags": [ + "Sites" + ], + "summary": "Method to get site health summary.", + "operationId": "Sites_GetSiteHealthSummary", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteHealthSummaryCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get VMware site health summary.": { + "$ref": "./examples/VMwareSiteHealthSummary_Post.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/vCenters/{vcenterName}": { + "get": { + "tags": [ + "VCenter" + ], + "summary": "Method to get a vCenter.", + "operationId": "VCenter_GetVCenter", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "VCenter ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + } + }, + "x-ms-examples": { + "Get VMware Vcenter.": { + "$ref": "./examples/VMwareVcenter_Get.json" + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "VCenter" + ], + "summary": "Method to create or update a vCenter in site.", + "operationId": "VCenter_PutVCenter", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "VCenter ARM name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Put vCenter body.", + "required": true, + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "Tracking URL for long running operation.", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "Create VMware Vcenter": { + "$ref": "./examples/VMwareVcenter_Create.json" + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "VCenter" + ], + "summary": "Method to delete vCenter in site.", + "operationId": "VCenter_DeleteVCenter", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "VCenter ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete VMware Vcenter.": { + "$ref": "./examples/VMwareVcenter_Delete.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/vCenters": { + "get": { + "tags": [ + "VCenter" + ], + "summary": "Method to get all vCenters in a site.", + "operationId": "VCenter_GetAllVCentersInSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenterCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List VMware vCenters by site": { + "$ref": "./examples/VMwareVcenter_ListBySite.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/operationsStatus/{operationStatusName}": { + "get": { + "tags": [ + "VMwareOperationsStatus" + ], + "summary": "Method to get operation status.", + "operationId": "VMwareOperationsStatus_GetOperationStatus", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "operationStatusName", + "in": "path", + "description": "Operation status ARM name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "x-ms-examples": { + "Get VMware operation status.": { + "$ref": "./examples/VMwareOperationsStatus_Get.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/HyperVSites/{siteName}/summary": { + "post": { + "tags": [ + "HyperVSites" + ], + "summary": "Method to get site usage.", + "operationId": "HyperVSites_GetSiteUsage", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HyperVSiteUsage" + } + } + }, + "x-ms-examples": { + "Get Hyper-V site summary/usage.": { + "$ref": "./examples/HyperVSiteSummary_Post.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/VMwareSites/{siteName}/summary": { + "post": { + "tags": [ + "Sites" + ], + "summary": "Method to get site usage/summary.", + "operationId": "Sites_GetSiteUsage", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VMwareSiteUsage" + } + } + }, + "x-ms-examples": { + "Get VMware site usage/summary.": { + "$ref": "./examples/VMwareSiteSummary_Post.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.OffAzure/MasterSites": { + "get": { + "tags": [ + "MasterSites" + ], + "summary": "Get all sites.", + "description": "Get all the sites in the subscription.", + "operationId": "MasterSites_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MasterSiteList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all Master site": { + "$ref": "./examples/MasterSites_ListBySubscription.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OffAzure/MasterSites": { + "get": { + "tags": [ + "MasterSites" + ], + "summary": "Get all sites.", + "description": "Get all the sites in the resource group.", + "operationId": "MasterSites_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MasterSiteList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all Master site": { + "$ref": "./examples/MasterSites_List.json" + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OffAzure/MasterSites/{siteName}": { + "get": { + "tags": [ + "MasterSites" + ], + "summary": "Method to get a site.", + "operationId": "MasterSites_GetSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MasterSite" + } + } + }, + "x-ms-examples": { + "Get Master site": { + "$ref": "./examples/MasterSite_Get.json" + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "MasterSites" + ], + "summary": "Method to create or update a site.", + "operationId": "MasterSites_PutSite", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Body with site details.", + "required": true, + "schema": { + "$ref": "#/definitions/MasterSite" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MasterSite" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MasterSite" + } + } + }, + "x-ms-examples": { + "Create Master site": { + "$ref": "./examples/MasterSite_Create.json" + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "MasterSites" + ], + "summary": "Method to delete a site.", + "operationId": "MasterSites_DeleteSite", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Master site": { + "$ref": "./examples/MasterSite_Delete.json" + } + }, + "deprecated": false + }, + "patch": { + "tags": [ + "MasterSites" + ], + "summary": "Method to patch an existing site.", + "operationId": "MasterSites_PatchSite", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "subscriptionId", + "in": "path", + "description": "The ID of the target subscription.", + "required": true, + "type": "string" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "description": "Body with site details.", + "required": true, + "schema": { + "$ref": "#/definitions/MasterSite" + } + }, + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MasterSite" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MasterSite" + } + } + }, + "x-ms-examples": { + "Patch Master site": { + "$ref": "./examples/MasterSite_Patch.json" + } + }, + "deprecated": false + } + }, + "/providers/Microsoft.OffAzure/operations": { + "get": { + "summary": "Get list of operations supported in the API.", + "operationId": "Operations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResultList" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + } + }, + "definitions": { + "Object": { + "type": "object", + "properties": {} + }, + "HyperVCluster": { + "description": "Cluster REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the cluster.", + "type": "string" + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/hyperVSites/clusters.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/HyperVClusterProperties", + "description": "Nested properties of the cluster." + } + } + }, + "HyperVClusterProperties": { + "description": "Class for cluster properties.", + "type": "object", + "properties": { + "createdTimestamp": { + "description": "Timestamp marking Hyper-V cluster creation.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "description": "Timestamp marking last updated on the Hyper-V cluster.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "FQDN/IPAddress of the Hyper-V cluster.", + "type": "string" + }, + "functionalLevel": { + "format": "int32", + "description": "Functional level of the Hyper-V cluster.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "Status of the Hyper-V cluster.", + "type": "string", + "readOnly": true + }, + "runAsAccountId": { + "description": "Run as account ID of the Hyper-V cluster.", + "type": "string" + }, + "hostFqdnList": { + "description": "List of hosts (FQDN) currently being tracked by the cluster.", + "type": "array", + "items": { + "type": "string" + } + }, + "errors": { + "description": "Errors for Hyper-V clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorDetails" + }, + "readOnly": true + } + } + }, + "HealthErrorDetails": { + "description": "Error contract returned when some exception occurs in Rest API.", + "type": "object", + "properties": { + "id": { + "format": "int64", + "description": "Error ID.", + "type": "integer", + "readOnly": true + }, + "code": { + "description": "Error name.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message.", + "type": "string", + "readOnly": true + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string", + "readOnly": true + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string", + "readOnly": true + }, + "severity": { + "description": "Error severity.", + "type": "string", + "readOnly": true + }, + "summaryMessage": { + "description": "Error summary message.", + "type": "string", + "readOnly": true + }, + "source": { + "description": "Error source.", + "type": "string", + "readOnly": true + }, + "messageParameters": { + "description": "Message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "HyperVClusterCollection": { + "description": "Collection of Hyper-V clusters.", + "type": "object", + "properties": { + "value": { + "description": "List of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVCluster" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVHost": { + "description": "Host REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the host.", + "type": "string" + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/hyperVSites/hosts.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/HyperVHostProperties", + "description": "Nested properties." + } + } + }, + "HyperVHostProperties": { + "description": "Class for host properties.", + "type": "object", + "properties": { + "createdTimestamp": { + "description": "Timestamp marking Hyper-V host creation.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "description": "Timestamp marking last updated on the Hyper-V host.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "FQDN/IPAddress of the Hyper-V host.", + "type": "string" + }, + "runAsAccountId": { + "description": "Run as account ID of the Hyper-V host.", + "type": "string" + }, + "version": { + "description": "Version of the Hyper-V host.", + "type": "string", + "readOnly": true + }, + "errors": { + "description": "Errors for Hyper-V hosts.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorDetails" + }, + "readOnly": true + } + } + }, + "HyperVHostCollection": { + "description": "Collection of Hyper-V hosts.", + "type": "object", + "properties": { + "value": { + "description": "List of hosts.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVHost" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVJob": { + "description": "Job REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the Job.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/HyperVSites/Jobs.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "nested properties of Hyper-V job.", + "readOnly": true + } + } + }, + "JobProperties": { + "description": "Class for machine properties.", + "type": "object", + "properties": { + "status": { + "description": "Operation status.", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "Operation start time.", + "type": "string", + "readOnly": true + }, + "endTime": { + "description": "Operation end time.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Display name of the Job.", + "type": "string", + "readOnly": true + }, + "clientRequestId": { + "description": "Client request Id used in the operation execution context.", + "type": "string", + "readOnly": true + }, + "activityId": { + "description": "Activity Id used in the operation execution context.", + "type": "string", + "readOnly": true + }, + "errors": { + "description": "Errors.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "readOnly": true + } + } + }, + "ErrorDetails": { + "description": "Error contract returned when some exception occurs in Rest API.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message.", + "type": "string", + "readOnly": true + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string", + "readOnly": true + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string", + "readOnly": true + }, + "severity": { + "description": "Error severity.", + "type": "string", + "readOnly": true + }, + "isAgentReportedError": { + "description": "Value indicating whether the error originated from a agent or not.", + "type": "boolean", + "readOnly": true + }, + "agentErrorCode": { + "description": "Agent error code.", + "type": "string", + "readOnly": true + }, + "agentErrorMessage": { + "description": "Error message from the agent.", + "type": "string", + "readOnly": true + }, + "agentErrorPossibleCauses": { + "description": "Possible causes for the agent error.", + "type": "string", + "readOnly": true + }, + "agentErrorRecommendedAction": { + "description": "Recommended action for the agent error.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVJobCollection": { + "description": "Collection of Hyper-V jobs.", + "type": "object", + "properties": { + "value": { + "description": "List of jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVJob" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVMachine": { + "description": "Machine REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the Sites.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/HyperVSites/Machines.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/HyperVMachineProperties", + "description": "Nested properties.", + "readOnly": true + } + } + }, + "HyperVMachineProperties": { + "description": "Class for machine properties.", + "type": "object", + "properties": { + "hostFqdn": { + "description": "Host FQDN/IPAddress.", + "type": "string", + "readOnly": true + }, + "hostId": { + "description": "Host ARM ID.", + "type": "string", + "readOnly": true + }, + "clusterFqdn": { + "description": "Cluster FQDN/IPAddress.", + "type": "string", + "readOnly": true + }, + "clusterId": { + "description": "Cluster ARM ID.", + "type": "string", + "readOnly": true + }, + "managementServerType": { + "description": "Management server type of the machine. It is either Host or Cluster.", + "type": "string", + "readOnly": true + }, + "generation": { + "format": "int32", + "description": "Generation of the virtual machine.", + "type": "integer", + "readOnly": true + }, + "version": { + "description": "VM version.", + "type": "string", + "readOnly": true + }, + "highAvailability": { + "description": "Value indicating whether the VM is highly available.", + "enum": [ + "Unknown", + "No", + "Yes" + ], + "x-ms-enum": { + "name": "HighlyAvailable", + "modelAsString": false + }, + "type": "string", + "readOnly": true + }, + "maxMemoryMB": { + "format": "int32", + "description": "Max memory of the virtual machine in MB.", + "type": "integer", + "readOnly": true + }, + "firmware": { + "description": "Firmware of the machine.", + "type": "string", + "readOnly": true + }, + "isDynamicMemoryEnabled": { + "description": "Value indicating whether dynamic memory is enabled for the VM.", + "type": "boolean", + "readOnly": true + }, + "disks": { + "description": "Disks attached to the machine.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVDisk" + }, + "readOnly": true + }, + "appsAndRoles": { + "$ref": "#/definitions/AppsAndRoles", + "description": "Apps and Roles of the VM.", + "readOnly": true + }, + "networkAdapters": { + "description": "Network adapters attached to the machine.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVNetworkAdapter" + }, + "readOnly": true + }, + "displayName": { + "description": "Display name of the machine.", + "type": "string", + "readOnly": true + }, + "numberOfProcessorCore": { + "format": "int32", + "description": "Number of Processor Cores allocated for the machine.", + "type": "integer", + "readOnly": true + }, + "allocatedMemoryInMB": { + "format": "double", + "description": "Allocated Memory in MB.", + "type": "number", + "readOnly": true + }, + "vmConfigurationFileLocation": { + "description": "Root location of the VM configuration file.", + "type": "string", + "readOnly": true + }, + "operatingSystemDetails": { + "$ref": "#/definitions/OperatingSystem", + "description": "Operating System Details installed on the machine.", + "readOnly": true + }, + "guestOSDetails": { + "$ref": "#/definitions/GuestOSDetails", + "description": "Operating System Details extracted from the guest by executing script inside the guest VM.", + "readOnly": true + }, + "numberOfApplications": { + "format": "int32", + "description": "Number of applications installed in the guest VM.", + "type": "integer", + "readOnly": true + }, + "guestDetailsDiscoveryTimestamp": { + "format": "date-time", + "description": "The last time at which the Guest Details of machine was discovered.", + "type": "string", + "readOnly": true + }, + "isGuestDetailsDiscoveryInProgress": { + "description": "Whether Refresh Fabric Layout Guest Details has been completed once. Portal will show discovery in progress, if this value is true.", + "type": "boolean", + "readOnly": true + }, + "createdTimestamp": { + "description": "Timestamp marking machine creation.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "description": "Timestamp marking last updated on the machine.", + "type": "string", + "readOnly": true + }, + "instanceUuid": { + "description": "On-premise Instance UUID of the machine.", + "type": "string", + "readOnly": true + }, + "powerStatus": { + "description": "Machine power status.", + "type": "string", + "readOnly": true + }, + "biosSerialNumber": { + "description": "Machine BIOS serial number.", + "type": "string", + "readOnly": true + }, + "biosGuid": { + "description": "Machine BIOS GUID.", + "type": "string", + "readOnly": true + }, + "vmFqdn": { + "description": "Machine FQDN.", + "type": "string", + "readOnly": true + }, + "isDeleted": { + "description": "Value indicating whether VM is deleted.", + "type": "boolean", + "readOnly": true + }, + "errors": { + "description": "Errors for machine.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorDetails" + }, + "readOnly": true + } + } + }, + "HyperVDisk": { + "description": "Second level object returned as part of Machine REST resource.", + "type": "object", + "properties": { + "instanceId": { + "description": "Id of the disk.", + "type": "string", + "readOnly": true + }, + "vhdId": { + "description": "VHD Id of the disk.", + "type": "string", + "readOnly": true + }, + "maxSizeInBytes": { + "format": "int64", + "description": "Bytes allocated for the disk.", + "type": "integer", + "readOnly": true + }, + "name": { + "description": "Name of the disk.", + "type": "string", + "readOnly": true + }, + "diskType": { + "description": "Type of the disk.", + "type": "string", + "readOnly": true + }, + "lun": { + "format": "int32", + "description": "LUN of the disk.", + "type": "integer", + "readOnly": true + }, + "path": { + "description": "Path of the disk.", + "type": "string", + "readOnly": true + } + } + }, + "AppsAndRoles": { + "description": "AppsAndRoles in the guest virtual machine.", + "type": "object", + "properties": { + "applications": { + "description": "Applications of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "readOnly": true + }, + "webApplications": { + "description": "WebApplications of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/WebApplication" + }, + "readOnly": true + }, + "features": { + "description": "Features of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/Feature" + }, + "readOnly": true + }, + "sqlServers": { + "description": "SQLServers of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLServer" + }, + "readOnly": true + }, + "sharePointServers": { + "description": "SharePointServers of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/SharePointServer" + }, + "readOnly": true + }, + "systemCenters": { + "description": "SystemCenters of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/SystemCenter" + }, + "readOnly": true + }, + "bizTalkServers": { + "description": "BizTalkServers of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/BizTalkServer" + }, + "readOnly": true + }, + "exchangeServers": { + "description": "ExchangeServers of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/ExchangeServer" + }, + "readOnly": true + }, + "otherDatabases": { + "description": "OtherDatabaseServers of the AppsAndRoles.", + "type": "array", + "items": { + "$ref": "#/definitions/OtherDatabase" + }, + "readOnly": true + } + } + }, + "HyperVNetworkAdapter": { + "description": "Second level object represented in responses as part of Machine REST resource.", + "type": "object", + "properties": { + "networkId": { + "description": "Network Id.", + "type": "string", + "readOnly": true + }, + "subnetName": { + "description": "Name of the VM subnet within the virtual network the NIC is attached to.", + "type": "string", + "readOnly": true + }, + "staticIpAddress": { + "description": "Static IP address.", + "type": "string", + "readOnly": true + }, + "nicType": { + "description": "Mac address of the NIC.", + "type": "string", + "readOnly": true + }, + "nicId": { + "description": "NIC Id.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "Mac address of the NIC.", + "type": "string", + "readOnly": true + }, + "ipAddressList": { + "description": "IP addresses for the machine.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "networkName": { + "description": "Network Name.", + "type": "string", + "readOnly": true + }, + "ipAddressType": { + "description": "Type of the IP address.", + "type": "string", + "readOnly": true + } + } + }, + "OperatingSystem": { + "description": "Second level object returned as part of Machine REST resource.", + "type": "object", + "properties": { + "osType": { + "description": "Type of the operating system.", + "type": "string", + "readOnly": true + }, + "osName": { + "description": "Name of the operating system.", + "type": "string", + "readOnly": true + }, + "osVersion": { + "description": "Version of the operating system.", + "type": "string", + "readOnly": true + } + } + }, + "GuestOSDetails": { + "description": "Data related to a machine's operating system. Serialized and stored as part of Machine Rest object.", + "type": "object", + "properties": { + "osType": { + "description": "Type of the operating system.", + "type": "string" + }, + "osName": { + "description": "Name of the operating system.", + "type": "string", + "readOnly": true + }, + "osVersion": { + "description": "Version of the operating system.", + "type": "string", + "readOnly": true + } + } + }, + "Application": { + "description": "Application in the guest virtual machine.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Application.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the Application.", + "type": "string", + "readOnly": true + }, + "provider": { + "description": "Provider of the Application.", + "type": "string", + "readOnly": true + } + } + }, + "WebApplication": { + "description": "WebApplication in the guest virtual machine.", + "type": "object", + "properties": { + "name": { + "description": "Name of the WebApplication.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the WebApplication.", + "type": "string", + "readOnly": true + }, + "platform": { + "description": "Platform of the WebApplication.", + "type": "string", + "readOnly": true + }, + "groupName": { + "description": "GroupName of the WebApplication.", + "type": "string", + "readOnly": true + }, + "webServer": { + "description": "WebServer of the WebApplication.", + "type": "string", + "readOnly": true + }, + "applicationPool": { + "description": "ApplicationPool of the WebApplication.", + "type": "string", + "readOnly": true + } + } + }, + "Feature": { + "description": "Feature in the guest virtual machine.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Feature.", + "type": "string", + "readOnly": true + }, + "featureType": { + "description": "FeatureType of the Feature.", + "type": "string", + "readOnly": true + }, + "parent": { + "description": "Parent of the Feature.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the Feature.", + "type": "string", + "readOnly": true + } + } + }, + "SQLServer": { + "description": "SQLServer in the guest virtual machine.", + "type": "object", + "properties": { + "name": { + "description": "Name of the SQLServer.", + "type": "string", + "readOnly": true + }, + "edition": { + "description": "Edition of the SQLServer.", + "type": "string", + "readOnly": true + }, + "servicePack": { + "description": "ServicePack of the SQLServer.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the SQLServer.", + "type": "string", + "readOnly": true + }, + "clustered": { + "description": "Clustered of the SQLServer.", + "type": "string", + "readOnly": true + }, + "clusterName": { + "description": "ClusterName of the SQLServer.", + "type": "string", + "readOnly": true + } + } + }, + "SharePointServer": { + "description": "SharePointServer in the guest virtual machine.", + "type": "object", + "properties": { + "productName": { + "description": "ProductName of the SharePointServer.", + "type": "string", + "readOnly": true + }, + "isEnterprise": { + "description": "Value indicating whether the SharePointServer is Enterprise.", + "type": "boolean", + "readOnly": true + }, + "status": { + "description": "Status of the SharePointServer.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the SharePointServer.", + "type": "string", + "readOnly": true + } + } + }, + "SystemCenter": { + "description": "SystemCenter in the guest virtual machine.", + "type": "object", + "properties": { + "productName": { + "description": "ProductName of the SystemCenter.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the SystemCenter.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the SystemCenter.", + "type": "string", + "readOnly": true + } + } + }, + "BizTalkServer": { + "description": "BizTalkServer in the guest virtual machine.", + "type": "object", + "properties": { + "productName": { + "description": "ProductName of the BizTalkServer.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the BizTalkServer.", + "type": "string", + "readOnly": true + } + } + }, + "ExchangeServer": { + "description": "ExchangeServer in the guest virtual machine.", + "type": "object", + "properties": { + "productName": { + "description": "ProductName of the ExchangeServer.", + "type": "string", + "readOnly": true + }, + "edition": { + "description": "Edition of the ExchangeServer.", + "type": "string", + "readOnly": true + }, + "roles": { + "description": "Roles of the ExchangeServer.", + "type": "string", + "readOnly": true + }, + "servicePack": { + "description": "ServicePack of the ExchangeServer.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the ExchangeServer.", + "type": "string", + "readOnly": true + } + } + }, + "OtherDatabase": { + "description": "OtherDatabase in the guest virtual machine.", + "type": "object", + "properties": { + "databaseType": { + "description": "DatabaseType of the OtherDatabase.", + "type": "string", + "readOnly": true + }, + "instance": { + "description": "Instance of the OtherDatabase.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the OtherDatabase.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVMachineCollection": { + "description": "Collection of Hyper-V machines.", + "type": "object", + "properties": { + "value": { + "description": "List of machines.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVMachine" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "OperationStatus": { + "description": "Operation status REST resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Operation name.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the operation. ARM expects the terminal status to be one of Succeeded/ Failed/ Canceled. All other values imply that the operation is still running.", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "Start time.", + "type": "string", + "readOnly": true + }, + "endTime": { + "description": "End time.", + "type": "string", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/OperationStatusError", + "description": "Error stating all error details for the operation.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OperationStatusProperties", + "description": "Custom data.", + "readOnly": true + } + } + }, + "OperationStatusError": { + "description": "Class for operation status errors.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message.", + "type": "string", + "readOnly": true + } + } + }, + "OperationStatusProperties": { + "description": "Class for operation result properties.", + "type": "object", + "properties": { + "result": { + "description": "Result or output of the workflow.", + "type": "string" + } + } + }, + "HyperVRunAsAccount": { + "description": "Run as account REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the Sites.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/HyperVSites/RunAsAccounts.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/RunAsAccountProperties", + "description": "Nested properties of run as account.", + "readOnly": true + } + } + }, + "RunAsAccountProperties": { + "description": "Class for run as account properties.", + "type": "object", + "properties": { + "displayName": { + "description": "Display name of the run as account.", + "type": "string", + "readOnly": true + }, + "credentialType": { + "description": "Credential type of the run as account.", + "enum": [ + "VMwareFabric", + "HyperVFabric", + "LinuxGuest", + "WindowsGuest", + "LinuxServer", + "WindowsServer" + ], + "x-ms-enum": { + "name": "CredentialType", + "modelAsString": true + }, + "type": "string", + "readOnly": true + }, + "createdTimestamp": { + "description": "Timestamp marking run as account creation.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "description": "Timestamp marking last updated on the run as account.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVRunAsAccountCollection": { + "description": "Collection of Hyper-V run as accounts.", + "type": "object", + "properties": { + "value": { + "description": "List of run as accounts.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVRunAsAccount" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVSite": { + "description": "Site REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the Hyper-V site.", + "type": "string" + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/HyperVSites.", + "type": "string", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "description": "eTag for concurrency control.", + "type": "string" + }, + "location": { + "description": "Azure location in which Sites is created.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SiteProperties", + "description": "Nested properties of Hyper-V site." + } + } + }, + "SiteProperties": { + "description": "Class for site properties.", + "type": "object", + "properties": { + "servicePrincipalIdentityDetails": { + "$ref": "#/definitions/SiteSpnProperties", + "description": "Service principal identity details used by agent for communication to the service." + }, + "agentDetails": { + "$ref": "#/definitions/SiteAgentProperties", + "description": "On-premises agent details." + }, + "serviceEndpoint": { + "description": "Service endpoint.", + "type": "string", + "readOnly": true + }, + "discoverySolutionId": { + "description": "ARM ID of migration hub solution for SDS.", + "type": "string" + }, + "applianceName": { + "description": "Appliance Name.", + "type": "string" + } + } + }, + "SiteSpnProperties": { + "description": "Class for site properties.", + "type": "object", + "properties": { + "tenantId": { + "description": "Tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "applicationId": { + "description": "Application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "objectId": { + "description": "Object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "audience": { + "description": "Intended audience for the service principal.", + "type": "string" + }, + "aadAuthority": { + "description": "AAD Authority URL which was used to request the token for the service principal.", + "type": "string" + }, + "rawCertData": { + "description": "Raw certificate data for building certificate expiry flows.", + "type": "string" + } + } + }, + "SiteAgentProperties": { + "description": "Class for site agent properties.", + "type": "object", + "properties": { + "id": { + "description": "ID of the agent.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "Version of the agent.", + "type": "string", + "readOnly": true + }, + "lastHeartBeatUtc": { + "format": "date-time", + "description": "Last heartbeat time of the agent in UTC.", + "type": "string", + "readOnly": true + }, + "keyVaultUri": { + "description": "Key vault URI.", + "type": "string" + }, + "keyVaultId": { + "description": "Key vault ARM Id.", + "type": "string" + } + } + }, + "HyperVSiteUsage": { + "description": "Hyper-V site usage.", + "type": "object", + "properties": { + "machineCount": { + "format": "int32", + "description": "Number of machines discovered in the site.", + "type": "integer" + }, + "runAsAccountCount": { + "format": "int32", + "description": "Number of run as accounts in the site.", + "type": "integer" + }, + "hostCount": { + "format": "int32", + "description": "Number of hosts part of the site.", + "type": "integer" + }, + "clusterCount": { + "format": "int32", + "description": "Number of clusters part of the site.", + "type": "integer" + } + } + }, + "SiteHealthSummaryCollection": { + "description": "Collection of SiteHealthSummary.", + "type": "object", + "properties": { + "value": { + "description": "List of SiteHealthSummary.", + "type": "array", + "items": { + "$ref": "#/definitions/SiteHealthSummary" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "SiteHealthSummary": { + "description": "Site health summary model.", + "type": "object", + "properties": { + "applianceName": { + "description": "Appliance name.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error message.", + "type": "string", + "readOnly": true + }, + "summaryMessage": { + "description": "Summary message.", + "type": "string", + "readOnly": true + }, + "errorId": { + "format": "int64", + "description": "Error Id.", + "type": "integer", + "readOnly": true + }, + "errorCode": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "affectedObjectsCount": { + "format": "int64", + "description": "Count of affected objects.", + "type": "integer" + }, + "hitCount": { + "format": "int64", + "description": "Hit count of the error.", + "type": "integer" + }, + "severity": { + "description": "Severity of error.", + "type": "string", + "readOnly": true + }, + "remediationGuidance": { + "description": "Remediation guidance.", + "type": "string", + "readOnly": true + }, + "affectedResourceType": { + "description": "Affected resource type.", + "type": "string", + "readOnly": true + }, + "affectedResources": { + "description": "Affected resources.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "VMwareJob": { + "description": "Job REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the job.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/VMWareSites/Jobs.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "Nested properties of job.", + "readOnly": true + } + } + }, + "VMwareJobCollection": { + "description": "Collection of VMware jobs.", + "type": "object", + "properties": { + "value": { + "description": "List of jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareJob" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "VMwareMachine": { + "description": "Machine REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the Sites.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/VMWareSites/Machines.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/VMwareMachineProperties", + "description": "Nested properties.", + "readOnly": true + } + } + }, + "VMwareMachineProperties": { + "description": "Class for machine properties.", + "type": "object", + "properties": { + "dataCenterScope": { + "description": "Scope of the data center.", + "type": "string", + "readOnly": true + }, + "firmware": { + "description": "Firmware of the machine.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "User description of the machine.", + "type": "string", + "readOnly": true + }, + "vCenterFQDN": { + "description": "VCenter FQDN/IPAddress.", + "type": "string", + "readOnly": true + }, + "vCenterId": { + "description": "VCenter ARM ID.", + "type": "string", + "readOnly": true + }, + "vMwareToolsStatus": { + "description": "VMware tools status.", + "type": "string", + "readOnly": true + }, + "changeTrackingSupported": { + "description": "Value indicating whether change tracking is supported.", + "type": "boolean", + "readOnly": true + }, + "changeTrackingEnabled": { + "description": "Value indicating whether change tracking is enabled.", + "type": "boolean", + "readOnly": true + }, + "maxSnapshots": { + "format": "int32", + "description": "Maximum number of snapshots for the VM. Default value is -1.", + "type": "integer", + "readOnly": true + }, + "disks": { + "description": "Disks attached to the machine.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareDisk" + }, + "readOnly": true + }, + "appsAndRoles": { + "$ref": "#/definitions/AppsAndRoles", + "description": "Apps And Roles of the VM.", + "readOnly": true + }, + "hostInMaintenanceMode": { + "description": "Indicates whether the host is in maintenance mode.", + "type": "boolean", + "readOnly": true + }, + "hostName": { + "description": "The host name.", + "type": "string", + "readOnly": true + }, + "hostPowerState": { + "description": "The host power state.", + "type": "string", + "readOnly": true + }, + "hostVersion": { + "description": "The host version.", + "type": "string", + "readOnly": true + }, + "networkAdapters": { + "description": "Network adapters attached to the machine.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareNetworkAdapter" + }, + "readOnly": true + }, + "dependencyMapping": { + "description": "If dependency mapping feature is enabled or not for the VM.", + "type": "string", + "readOnly": true + }, + "dependencyMappingStartTime": { + "format": "date-time", + "description": "When dependency mapping collection is last started.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Display name of the machine.", + "type": "string", + "readOnly": true + }, + "numberOfProcessorCore": { + "format": "int32", + "description": "Number of Processor Cores allocated for the machine.", + "type": "integer", + "readOnly": true + }, + "allocatedMemoryInMB": { + "format": "double", + "description": "Allocated Memory in MB.", + "type": "number", + "readOnly": true + }, + "vmConfigurationFileLocation": { + "description": "Root location of the VM configuration file.", + "type": "string", + "readOnly": true + }, + "operatingSystemDetails": { + "$ref": "#/definitions/OperatingSystem", + "description": "Operating System Details installed on the machine.", + "readOnly": true + }, + "guestOSDetails": { + "$ref": "#/definitions/GuestOSDetails", + "description": "Operating System Details extracted from the guest bu executing script inside the guest VM.", + "readOnly": true + }, + "numberOfApplications": { + "format": "int32", + "description": "Number of applications installed in the guest VM.", + "type": "integer", + "readOnly": true + }, + "guestDetailsDiscoveryTimestamp": { + "format": "date-time", + "description": "The last time at which the Guest Details was discovered or the error while discovering guest details based discovery of the machine.", + "type": "string", + "readOnly": true + }, + "isGuestDetailsDiscoveryInProgress": { + "description": "Whether Refresh Fabric Layout Guest Details has been completed once. Portal will show discovery in progress, if this value is true.", + "type": "boolean", + "readOnly": true + }, + "createdTimestamp": { + "description": "Timestamp marking machine creation.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "description": "Timestamp marking last updated on the machine.", + "type": "string", + "readOnly": true + }, + "instanceUuid": { + "description": "On-premise Instance UUID of the machine.", + "type": "string", + "readOnly": true + }, + "powerStatus": { + "description": "Machine power status.", + "type": "string", + "readOnly": true + }, + "biosSerialNumber": { + "description": "Machine BIOS serial number.", + "type": "string", + "readOnly": true + }, + "biosGuid": { + "description": "BIOS GUID.", + "type": "string", + "readOnly": true + }, + "vmFqdn": { + "description": "Machine FQDN.", + "type": "string", + "readOnly": true + }, + "isDeleted": { + "description": "Value indicating whether VM is deleted.", + "type": "boolean", + "readOnly": true + }, + "errors": { + "description": "Errors for machine.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorDetails" + }, + "readOnly": true + } + } + }, + "VMwareDisk": { + "description": "Second level object returned as part of Machine REST resource.", + "type": "object", + "properties": { + "uuid": { + "description": "Disk UUID.", + "type": "string", + "readOnly": true + }, + "label": { + "description": "Label of the disk.", + "type": "string", + "readOnly": true + }, + "diskProvisioningPolicy": { + "description": "The provisioning policy of the disk. It is Thin or Thick or Unknown for the VMWare.", + "type": "string", + "readOnly": true + }, + "diskScrubbingPolicy": { + "description": "The scrubbing policy of disks which can be eagerly zeroed or lazily zeroed.", + "type": "string", + "readOnly": true + }, + "diskMode": { + "description": "Disk mode property used for identifying independent disks.", + "enum": [ + "persistent", + "independent_persistent", + "independent_nonpersistent", + "nonpersistent", + "undoable", + "append" + ], + "x-ms-enum": { + "name": "VirtualDiskMode", + "modelAsString": true + }, + "type": "string", + "readOnly": true + }, + "maxSizeInBytes": { + "format": "int64", + "description": "Bytes allocated for the disk.", + "type": "integer", + "readOnly": true + }, + "name": { + "description": "Name of the disk.", + "type": "string", + "readOnly": true + }, + "diskType": { + "description": "Type of the disk.", + "type": "string", + "readOnly": true + }, + "lun": { + "format": "int32", + "description": "LUN of the disk.", + "type": "integer", + "readOnly": true + }, + "path": { + "description": "Path of the disk.", + "type": "string", + "readOnly": true + } + } + }, + "VMwareNetworkAdapter": { + "description": "Second level object represented in responses as part of Machine REST resource.", + "type": "object", + "properties": { + "label": { + "description": "Label of the NIC.", + "type": "string", + "readOnly": true + }, + "nicId": { + "description": "NIC Id.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "Mac address of the NIC.", + "type": "string", + "readOnly": true + }, + "ipAddressList": { + "description": "IP addresses for the machine.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "networkName": { + "description": "Network Name.", + "type": "string", + "readOnly": true + }, + "ipAddressType": { + "description": "Type of the IP address.", + "type": "string", + "readOnly": true + } + } + }, + "VMwareMachineCollection": { + "description": "Collection of VMware machines.", + "type": "object", + "properties": { + "value": { + "description": "List of machines.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareMachine" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "VMwareRunAsAccount": { + "description": "Run as account REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the Run as account.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/VMWareSites/RunAsAccounts.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/RunAsAccountProperties", + "description": "Nested properties of Run as account.", + "readOnly": true + } + } + }, + "VMwareRunAsAccountCollection": { + "description": "Collection of VMware run as accounts.", + "type": "object", + "properties": { + "value": { + "description": "List of run as accounts.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareRunAsAccount" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "VMwareSite": { + "description": "Site REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the VMware site.", + "type": "string" + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/VMWareSites.", + "type": "string", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "eTag": { + "description": "eTag for concurrency control.", + "type": "string" + }, + "location": { + "description": "Azure location in which Sites is created.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/SiteProperties", + "description": "Nested properties of VMWare site." + } + } + }, + "VMwareSiteUsage": { + "description": "VMware site usage.", + "type": "object", + "properties": { + "machineCount": { + "format": "int32", + "description": "Number of machines discovered in the site.", + "type": "integer" + }, + "runAsAccountCount": { + "format": "int32", + "description": "Number of run as accounts in the site.", + "type": "integer" + }, + "vCenterCount": { + "format": "int32", + "description": "Number of vCenters part of the site.", + "type": "integer" + } + } + }, + "MasterSite": { + "description": "Site REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the Master site.", + "type": "string" + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/MasterSites.", + "type": "string", + "readOnly": true + }, + "eTag": { + "description": "eTag for concurrency control.", + "type": "string" + }, + "location": { + "description": "Azure location in which Sites is created.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/MasterSiteProperties", + "description": "Nested properties of Master site." + } + } + }, + "MasterSiteProperties": { + "description": "Class for site properties.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "State of public network access.", + "type": "string" + }, + "allowMultipleSites": { + "description": "Value indicating whether multiple sites per site type are allowed.", + "type": "boolean" + }, + "sites": { + "description": "List of sites that are a part of Master Site.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "MasterSiteList": { + "description": "List of sites.", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List of projects.", + "items": { + "$ref": "#/definitions/MasterSite" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "VCenter": { + "description": "VCenter REST Resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the vCenter.", + "type": "string" + }, + "type": { + "description": "Type of resource. Type = Microsoft.OffAzure/VMWareSites/VCenters.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/VCenterProperties", + "description": "vCenter nested properties." + } + } + }, + "VCenterProperties": { + "description": "Class for vCenter properties.", + "type": "object", + "properties": { + "createdTimestamp": { + "description": "Timestamp marking vCenter creation.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "description": "Timestamp marking last updated on the vCenter.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "FQDN/IPAddress of the vCenter.", + "type": "string" + }, + "port": { + "description": "Port of the vCenter.", + "type": "string" + }, + "runAsAccountId": { + "description": "Run as account ID of the vCenter.", + "type": "string" + }, + "version": { + "description": "Version of the vCenter.", + "type": "string", + "readOnly": true + }, + "perfStatisticsLevel": { + "description": "Performance statistics enabled on the vCenter.", + "type": "string", + "readOnly": true + }, + "instanceUuid": { + "description": "Instance UUID of the vCenter.", + "type": "string", + "readOnly": true + }, + "errors": { + "description": "Error details.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorDetails" + }, + "readOnly": true + } + } + }, + "VCenterCollection": { + "description": "Collection of vCenter.", + "type": "object", + "properties": { + "value": { + "description": "List of vCenter.", + "type": "array", + "items": { + "$ref": "#/definitions/VCenter" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + }, + "Machine": { + "type": "object", + "properties": { + "properties.timestamp": { + "format": "date-time", + "type": "string" + }, + "properties.monitoringState": { + "enum": [ + "monitored", + "discovered" + ], + "type": "string" + }, + "properties.virtualizationState": { + "enum": [ + "unknown", + "physical", + "virtual", + "hypervisor" + ], + "type": "string" + }, + "properties.displayName": { + "type": "string" + }, + "properties.computerName": { + "type": "string" + }, + "properties.fullyQualifiedDomainName": { + "type": "string" + }, + "properties.bootTime": { + "format": "date-time", + "type": "string" + }, + "properties.timezone": { + "$ref": "#/definitions/Timezone" + }, + "properties.agent": { + "$ref": "#/definitions/AgentConfiguration" + }, + "properties.resources": { + "$ref": "#/definitions/MachineResourcesConfiguration" + }, + "properties.networking": { + "$ref": "#/definitions/NetworkConfiguration" + }, + "properties.operatingSystem": { + "$ref": "#/definitions/OperatingSystemConfiguration" + }, + "properties.virtualMachine": { + "$ref": "#/definitions/VirtualMachineConfiguration" + }, + "properties.hypervisor": { + "$ref": "#/definitions/HypervisorConfiguration" + }, + "properties.hosting": { + "$ref": "#/definitions/HostingConfiguration" + }, + "etag": { + "type": "string" + }, + "id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "Timezone": { + "type": "object", + "properties": { + "fullName": { + "type": "string" + } + } + }, + "AgentConfiguration": { + "type": "object", + "properties": { + "agentId": { + "type": "string" + }, + "dependencyAgentId": { + "type": "string" + }, + "dependencyAgentVersion": { + "type": "string" + }, + "dependencyAgentRevision": { + "type": "string" + }, + "rebootStatus": { + "enum": [ + "unknown", + "rebooted", + "notRebooted" + ], + "type": "string" + }, + "clockGranularity": { + "format": "int32", + "type": "integer" + } + } + }, + "MachineResourcesConfiguration": { + "type": "object", + "properties": { + "physicalMemory": { + "format": "int32", + "type": "integer" + }, + "cpus": { + "format": "int32", + "type": "integer" + }, + "cpuSpeed": { + "format": "int32", + "type": "integer" + }, + "cpuSpeedAccuracy": { + "enum": [ + "actual", + "estimated" + ], + "type": "string" + } + } + }, + "NetworkConfiguration": { + "type": "object", + "properties": { + "ipv4Interfaces": { + "type": "array", + "items": { + "$ref": "#/definitions/Ipv4NetworkInterface" + } + }, + "ipv6Interfaces": { + "type": "array", + "items": { + "$ref": "#/definitions/Ipv6NetworkInterface" + } + }, + "defaultIpv4Gateways": { + "type": "array", + "items": { + "type": "string" + } + }, + "macAddresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "dnsNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "dnsQuestions": { + "type": "array", + "items": { + "type": "string" + } + }, + "dnsCanonicalNames": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "OperatingSystemConfiguration": { + "type": "object", + "properties": { + "family": { + "enum": [ + "unknown", + "windows", + "linux", + "solaris", + "aix" + ], + "type": "string" + }, + "fullName": { + "type": "string" + }, + "bitness": { + "enum": [ + "32bit", + "64bit" + ], + "type": "string" + } + } + }, + "VirtualMachineConfiguration": { + "type": "object", + "properties": { + "virtualMachineType": { + "enum": [ + "unknown", + "hyperv", + "ldom", + "lpar", + "vmware", + "virtualPc", + "xen" + ], + "type": "string" + }, + "nativeMachineId": { + "type": "string" + }, + "virtualMachineName": { + "type": "string" + }, + "nativeHostMachineId": { + "type": "string" + } + } + }, + "HypervisorConfiguration": { + "type": "object", + "properties": { + "hypervisorType": { + "enum": [ + "unknown", + "hyperv" + ], + "type": "string" + }, + "nativeHostMachineId": { + "type": "string" + } + } + }, + "HostingConfiguration": { + "type": "object", + "properties": { + "provider": { + "type": "string" + } + } + }, + "Ipv4NetworkInterface": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string" + }, + "subnetMask": { + "type": "string" + } + } + }, + "Ipv6NetworkInterface": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string" + } + } + }, + "OperationDisplay": { + "type": "object", + "description": "Displayable properties of the operation.", + "readOnly": true, + "properties": { + "provider": { + "type": "string", + "description": "Provider of the operation.", + "readOnly": true + }, + "resource": { + "type": "string", + "description": "Resource operated on by the operation.", + "readOnly": true + }, + "operation": { + "type": "string", + "description": "Operation Type.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the operation.", + "readOnly": true + } + } + }, + "Operation": { + "type": "object", + "description": "A REST API operation supported by the provider.", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation.", + "readOnly": true + }, + "display": { + "description": "Displayable properties of the operation.", + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "type": "string", + "description": "Origin of the operation.", + "readOnly": true + } + } + }, + "OperationResultList": { + "type": "object", + "description": "List of API operations.", + "properties": { + "value": { + "type": "array", + "description": "List of operations.", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Value of next link.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/migrate/resource-manager/readme.azureresourceschema.md b/specification/migrate/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..48e3a39e8a41 --- /dev/null +++ b/specification/migrate/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-offazure-2020-07-07 + - tag: schema-offazure-2020-01-01 + - tag: schema-migrate-2019-10-01 + - tag: schema-migrate-2018-02-02 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-offazure-2020-07-07 and azureresourceschema + +``` yaml $(tag) == 'schema-offazure-2020-07-07' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OffAzure/stable/2020-07-07/migrate.json + +``` + +### Tag: schema-offazure-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-offazure-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OffAzure/stable/2020-01-01/migrate.json + +``` + +### Tag: schema-migrate-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-migrate-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Migrate/stable/2019-10-01/migrate.json + +``` + +### Tag: schema-migrate-2018-02-02 and azureresourceschema + +``` yaml $(tag) == 'schema-migrate-2018-02-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Migrate/stable/2018-02-02/migrate.json + +``` diff --git a/specification/migrate/resource-manager/readme.go.md b/specification/migrate/resource-manager/readme.go.md index cdf74f4c5db8..d520deeac2b2 100644 --- a/specification/migrate/resource-manager/readme.go.md +++ b/specification/migrate/resource-manager/readme.go.md @@ -15,6 +15,7 @@ go: batch: - tag: package-2018-02 - tag: package-2020-01 + - tag: package-2020-07 ``` ### Tag: package-2018-02 and go @@ -33,4 +34,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-07' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-07/$(namespace) ``` \ No newline at end of file diff --git a/specification/migrate/resource-manager/readme.md b/specification/migrate/resource-manager/readme.md index c88038586b1c..87e47b198f28 100644 --- a/specification/migrate/resource-manager/readme.md +++ b/specification/migrate/resource-manager/readme.md @@ -12,8 +12,18 @@ This is the AutoRest configuration file for Azure Migrate. batch: - tag: package-2018-02 - tag: package-2020-01 + - tag: package-2020-07 ``` + +### Tag: package-2020-07 + +These settings apply only when `--tag=package-2020-07` is specified on the command line. + +```yaml $(tag) == 'package-2020-07' +input-file: + - Microsoft.OffAzure/stable/2020-07-07/migrate.json +``` ### Tag: package-2018-02 and java These settings apply only when `--tag=package-2018-02 --java` is specified on the command line. @@ -41,6 +51,7 @@ generate-interface: true ``` ## Getting Started + To build the SDK for Migrate, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -48,20 +59,14 @@ To build the SDK for Migrate, 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 API. - -``` yaml -openapi-type: arm -tag: package-2018-02 -``` +These are the global settings for the API. ### Tag: package-2018-02 @@ -89,6 +94,21 @@ These settings apply only when `--tag=package-2020-01` is specified on the comma input-file: - Microsoft.OffAzure/stable/2020-01-01/migrate.json ``` + +## Suppression + +``` yaml +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + from: migrate.json + where: $.definitions.AssessedMachineProperties.properties.monthlyStandardSSDStorageCost + reason: SSD is short form. + - suppress: DefinitionsPropertiesNamesCamelCase + from: migrate.json + where: $.definitions.AssessmentProperties.properties.monthlyStandardSSDStorageCost + reason: SSD is short form. +``` + # Code Generation ## Swagger to SDK @@ -101,12 +121,20 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js migrate/resource-manager ``` ## Go See configuration in [readme.go.md](./readme.go.md) -## Multi-API/Profile support for AutoRest v3 generators + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -118,17 +146,17 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.OffAzure/stable/2020-07-07/migrate.json - $(this-folder)/Microsoft.Migrate/stable/2018-02-02/migrate.json - $(this-folder)/Microsoft.Migrate/stable/2019-10-01/migrate.json - $(this-folder)/Microsoft.OffAzure/stable/2020-01-01/migrate.json ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/migrateprojects/resource-manager/readme.azureresourceschema.md b/specification/migrateprojects/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..53d53c148b61 --- /dev/null +++ b/specification/migrateprojects/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-migrate-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-migrate-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-migrate-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Migrate/preview/2018-09-01-preview/migrate.json + +``` diff --git a/specification/migrateprojects/resource-manager/readme.md b/specification/migrateprojects/resource-manager/readme.md index 4a68c64f2d7e..79ca82ca7085 100644 --- a/specification/migrateprojects/resource-manager/readme.md +++ b/specification/migrateprojects/resource-manager/readme.md @@ -69,6 +69,9 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js migrateprojects/resource-manager ``` ## Go @@ -98,6 +101,10 @@ Please also specify `--go-sdk-folder=`. + +### Tag: schema-mixedreality-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-mixedreality-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MixedReality/stable/2020-05-01/proxy.json + - Microsoft.MixedReality/stable/2020-05-01/spatial-anchors.json + +``` + +### Tag: schema-mixedreality-2020-04-06-preview and azureresourceschema + +``` yaml $(tag) == 'schema-mixedreality-2020-04-06-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MixedReality/preview/2020-04-06-preview/remote-rendering.json + - Microsoft.MixedReality/preview/2020-04-06-preview/proxy.json + +``` + +### Tag: schema-mixedreality-2019-12-02-preview and azureresourceschema + +``` yaml $(tag) == 'schema-mixedreality-2019-12-02-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MixedReality/preview/2019-12-02-preview/proxy.json + - Microsoft.MixedReality/preview/2019-12-02-preview/remote-rendering.json + - Microsoft.MixedReality/preview/2019-12-02-preview/spatial-anchors.json + +``` + +### Tag: schema-mixedreality-2019-02-28-preview and azureresourceschema + +``` yaml $(tag) == 'schema-mixedreality-2019-02-28-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.MixedReality/preview/2019-02-28-preview/mixedreality.json + +``` diff --git a/specification/mixedreality/resource-manager/readme.md b/specification/mixedreality/resource-manager/readme.md index ccd310b211e6..100d68142ecd 100644 --- a/specification/mixedreality/resource-manager/readme.md +++ b/specification/mixedreality/resource-manager/readme.md @@ -93,6 +93,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-go - repo: azure-sdk-for-java + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js mixedreality/resource-manager ``` ## C# @@ -146,6 +149,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json new file mode 100644 index 000000000000..3311c2f48cfa --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json @@ -0,0 +1,540 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Monitor Data Collection Rule Associations API", + "description": "Provides operations for working with Azure Monitor data collection rule associations", + "version": "2019-11-01-preview", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations": { + "get": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Lists associations for the specified resource.", + "operationId": "DataCollectionRuleAssociations_ListByResource", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List associations for specified resource": { + "$ref": "./examples/DataCollectionRuleAssociationsListByResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}/associations": { + "get": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Lists associations for the specified data collection rule.", + "operationId": "DataCollectionRuleAssociations_ListByRule", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List associations for specified data collection rule": { + "$ref": "./examples/DataCollectionRuleAssociationsListByRule.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName}": { + "get": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Returns the specified association.", + "operationId": "DataCollectionRuleAssociations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get association": { + "$ref": "./examples/DataCollectionRuleAssociationsGet.json" + } + } + }, + "put": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Creates or updates an association.", + "operationId": "DataCollectionRuleAssociations_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The payload", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + } + ], + "responses": { + "200": { + "description": "Association was successfully updated", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + }, + "201": { + "description": "Association was successfully created", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update association": { + "$ref": "./examples/DataCollectionRuleAssociationsCreate.json" + } + } + }, + "delete": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Deletes an association.", + "operationId": "DataCollectionRuleAssociations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Association was successfully deleted" + }, + "204": { + "description": "Association did not exist" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete association": { + "$ref": "./examples/DataCollectionRuleAssociationsDelete.json" + } + } + } + } + }, + "definitions": { + "DataCollectionRuleAssociation": { + "description": "Definition of association of a data collection rule with a monitored Azure resource.", + "required": [ + "dataCollectionRuleId" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the association.", + "maxLength": 256, + "type": "string" + }, + "dataCollectionRuleId": { + "description": "The resource ID of the data collection rule that is to be associated.", + "type": "string", + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule" + }, + "provisioningState": { + "description": "The resource provisioning state.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "example": "Creating", + "x-ms-enum": { + "name": "KnownDataCollectionRuleAssociationProvisioningState", + "modelAsString": true + }, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "DataCollectionRuleAssociationProxyOnlyResource": { + "description": "Definition of generic ARM proxy resource.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "description": "Resource properties.", + "allOf": [ + { + "$ref": "#/definitions/DataCollectionRuleAssociation" + } + ], + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified ID of the resource.", + "type": "string", + "readOnly": true, + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "x-ms-mutability": [ + "read" + ] + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true, + "example": "myCollectionRule", + "x-ms-mutability": [ + "read" + ] + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true, + "example": "Microsoft.Insights/dataCollectionRules", + "x-ms-mutability": [ + "read" + ] + }, + "etag": { + "description": "Resource entity tag (ETag).", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + }, + "x-ms-azure-resource": true + }, + "DataCollectionRuleAssociationProxyOnlyResourceListResult": { + "description": "A pageable list of resources.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "A list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string" + } + } + }, + "ErrorAdditionalInfo": { + "description": "Additional information for common error response.", + "type": "object", + "properties": { + "type": { + "description": "The additional info type.", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "info": { + "description": "The additional info.", + "type": "object", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "ErrorDetails": { + "description": "Common error details.", + "type": "object", + "properties": { + "code": { + "description": "Error code which can be used to programmatically identify the class of error.", + "type": "string", + "readOnly": true, + "example": "BadArgument", + "x-ms-mutability": [ + "read" + ] + }, + "message": { + "description": "Describes the error in detail and provides debugging information.", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "target": { + "description": "The target of the particular error (for example, the name of the property in error).", + "type": "string", + "readOnly": true, + "example": "properties.provisioningState", + "x-ms-mutability": [ + "read" + ] + }, + "details": { + "description": "Additional nested error detail objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "additionalInfo": { + "description": "Additional error information.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "ErrorResponse": { + "description": "Common error response.", + "type": "object", + "properties": { + "error": { + "description": "Error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorDetails" + } + ], + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1 + }, + "AssociationNameParameter": { + "in": "path", + "name": "associationName", + "description": "The name of the association.", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "DataCollectionRuleNameParameter": { + "in": "path", + "name": "dataCollectionRuleName", + "description": "The name of the data collection rule. The name is case insensitive.", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "in": "path", + "name": "resourceGroupName", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "ResourceUriParameter": { + "in": "path", + "name": "resourceUri", + "description": "The identifier of the resource.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "SubscriptionIdParameter": { + "in": "path", + "name": "subscriptionId", + "description": "The ID of the target subscription.", + "required": true, + "type": "string", + "minLength": 1 + } + }, + "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/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json new file mode 100644 index 000000000000..00e46a55e65b --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json @@ -0,0 +1,1075 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Monitor Data Collection Rules API", + "description": "Provides operations for working with Azure Monitor data collection rules", + "version": "2019-11-01-preview", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules": { + "get": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Lists all data collection rules in the specified resource group.", + "operationId": "DataCollectionRules_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List data collection rules by resource group": { + "$ref": "./examples/DataCollectionRulesListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/dataCollectionRules": { + "get": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Lists all data collection rules in the specified subscription.", + "operationId": "DataCollectionRules_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List data collection rules by subscription": { + "$ref": "./examples/DataCollectionRulesListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}": { + "get": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Returns the specified data collection rule.", + "operationId": "DataCollectionRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get data collection rule": { + "$ref": "./examples/DataCollectionRulesGet.json" + } + } + }, + "put": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Creates or updates a data collection rule.", + "operationId": "DataCollectionRules_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The payload", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + } + ], + "responses": { + "200": { + "description": "Data collection rule was successfully updated", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "201": { + "description": "Data collection rule was successfully created", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update data collection rule": { + "$ref": "./examples/DataCollectionRulesCreate.json" + } + } + }, + "patch": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Updates part of a data collection rule.", + "operationId": "DataCollectionRules_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The payload", + "schema": { + "$ref": "#/definitions/ResourceForUpdate" + } + } + ], + "responses": { + "200": { + "description": "Data collection rule was successfully updated", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update data collection rule": { + "$ref": "./examples/DataCollectionRulesUpdate.json" + } + } + }, + "delete": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Deletes a data collection rule.", + "operationId": "DataCollectionRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Data collection rule was successfully deleted" + }, + "204": { + "description": "Data collection rule did not exist" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete data collection rule": { + "$ref": "./examples/DataCollectionRulesDelete.json" + } + } + } + } + }, + "definitions": { + "PerfCounterDataSource": { + "description": "Definition of which performance counters will be collected and how they will be collected by this data collection rule.\r\nCollected from both Windows and Linux machines where the counter is present.", + "required": [ + "counterSpecifiers", + "name", + "samplingFrequencyInSeconds", + "scheduledTransferPeriod", + "streams" + ], + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.", + "maxLength": 10, + "minLength": 1, + "type": "array", + "items": { + "enum": [ + "Microsoft-Perf", + "Microsoft-InsightsMetrics" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownPerfCounterDataSourceStreams", + "modelAsString": true + } + } + }, + "scheduledTransferPeriod": { + "description": "The interval between data uploads (scheduled transfers), rounded up to the nearest minute.", + "enum": [ + "PT1M", + "PT5M", + "PT15M", + "PT30M", + "PT60M" + ], + "type": "string", + "example": "PT1M", + "x-ms-enum": { + "name": "KnownPerfCounterDataSourceScheduledTransferPeriod", + "modelAsString": true + } + }, + "samplingFrequencyInSeconds": { + "format": "int32", + "description": "The number of seconds between consecutive counter measurements (samples).", + "maximum": 30, + "minimum": 1, + "type": "integer", + "example": 15 + }, + "counterSpecifiers": { + "description": "A list of specifier names of the performance counters you want to collect.\r\nUse a wildcard (*) to collect a counter for all instances.\r\nTo get a list of performance counters on Windows, run the command 'typeperf'.", + "maxLength": 100, + "minLength": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "maxLength": 32, + "minLength": 0, + "pattern": "^[-\\w\\._\\(\\)]+$", + "type": "string", + "example": "myDataSource1" + } + } + }, + "WindowsEventLogDataSource": { + "description": "Definition of which Windows Event Log events will be collected and how they will be collected.\r\nOnly collected from Windows machines.", + "required": [ + "name", + "scheduledTransferPeriod", + "streams", + "xPathQueries" + ], + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.", + "maxLength": 10, + "minLength": 1, + "type": "array", + "items": { + "enum": [ + "Microsoft-WindowsEvent", + "Microsoft-Event" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownWindowsEventLogDataSourceStreams", + "modelAsString": true + } + } + }, + "scheduledTransferPeriod": { + "description": "The interval between data uploads (scheduled transfers), rounded up to the nearest minute.", + "enum": [ + "PT1M", + "PT5M", + "PT15M", + "PT30M", + "PT60M" + ], + "type": "string", + "example": "PT5M", + "x-ms-enum": { + "name": "KnownWindowsEventLogDataSourceScheduledTransferPeriod", + "modelAsString": true + } + }, + "xPathQueries": { + "description": "A list of Windows Event Log queries in XPATH format.", + "maxLength": 100, + "minLength": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "maxLength": 32, + "minLength": 0, + "pattern": "^[-\\w\\._\\(\\)]+$", + "type": "string", + "example": "myDataSource1" + } + } + }, + "SyslogDataSource": { + "description": "Definition of which syslog data will be collected and how it will be collected.\r\nOnly collected from Linux machines.", + "required": [ + "facilityNames", + "name", + "streams" + ], + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.", + "maxLength": 10, + "minLength": 1, + "type": "array", + "items": { + "enum": [ + "Microsoft-Syslog" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownSyslogDataSourceStreams", + "modelAsString": true + } + } + }, + "facilityNames": { + "description": "The list of facility names.", + "maxLength": 20, + "minLength": 1, + "type": "array", + "items": { + "enum": [ + "auth", + "authpriv", + "cron", + "daemon", + "kern", + "lpr", + "mail", + "mark", + "news", + "syslog", + "user", + "UUCP", + "local0", + "local1", + "local2", + "local3", + "local4", + "local5", + "local6", + "local7" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownSyslogDataSourceFacilityNames", + "modelAsString": true + } + } + }, + "logLevels": { + "description": "The log levels to collect.", + "maxLength": 10, + "minLength": 1, + "type": "array", + "items": { + "enum": [ + "Debug", + "Info", + "Notice", + "Warning", + "Error", + "Critical", + "Alert", + "Emergency" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownSyslogDataSourceLogLevels", + "modelAsString": true + } + } + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "maxLength": 32, + "minLength": 0, + "pattern": "^[-\\w\\._\\(\\)]+$", + "type": "string", + "example": "myDataSource1" + } + } + }, + "ExtensionDataSource": { + "description": "Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor Agent.\r\nCollected from either Windows and Linux machines, depending on which extension is defined.", + "required": [ + "extensionName", + "name", + "streams" + ], + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.", + "maxLength": 10, + "minLength": 1, + "type": "array", + "items": { + "enum": [ + "Microsoft-AntiMalwareStatus", + "Microsoft-Auditd", + "Microsoft-CISCOASA", + "Microsoft-CommonSecurityLog", + "Microsoft-ComputerGroup", + "Microsoft-Event", + "Microsoft-FirewallLog", + "Microsoft-HealthStateChange", + "Microsoft-Heartbeat", + "Microsoft-InsightsMetrics", + "Microsoft-OperationLog", + "Microsoft-Perf", + "Microsoft-ProcessInvestigator", + "Microsoft-ProtectionStatus", + "Microsoft-RomeDetectionEvent", + "Microsoft-SecurityBaseline", + "Microsoft-SecurityBaselineSummary", + "Microsoft-SecurityEvent", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownExtensionDataSourceStreams", + "modelAsString": true + } + } + }, + "extensionName": { + "description": "The name of the VM extension.", + "maxLength": 64, + "minLength": 0, + "pattern": "^[-\\w\\._\\(\\)]+$", + "type": "string", + "example": "AzureSecurityLinuxAgent" + }, + "extensionSettings": { + "description": "The extension settings. The format is specific for particular extension.", + "type": "object" + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "maxLength": 32, + "minLength": 0, + "pattern": "^[-\\w\\._\\(\\)]+$", + "type": "string", + "example": "myDataSource1" + } + } + }, + "DataSourcesSpec": { + "description": "Specification of data sources that will be collected.", + "type": "object", + "properties": { + "performanceCounters": { + "description": "The list of performance counter data source configurations.", + "maxLength": 10, + "type": "array", + "items": { + "$ref": "#/definitions/PerfCounterDataSource" + } + }, + "windowsEventLogs": { + "description": "The list of Windows Event Log data source configurations.", + "maxLength": 10, + "type": "array", + "items": { + "$ref": "#/definitions/WindowsEventLogDataSource" + } + }, + "syslog": { + "description": "The list of Syslog data source configurations.", + "maxLength": 10, + "type": "array", + "items": { + "$ref": "#/definitions/SyslogDataSource" + } + }, + "extensions": { + "description": "The list of Azure VM extension data source configurations.", + "maxLength": 10, + "type": "array", + "items": { + "$ref": "#/definitions/ExtensionDataSource" + } + } + } + }, + "LogAnalyticsDestination": { + "description": "Log Analytics destination.", + "required": [ + "name", + "workspaceResourceId" + ], + "type": "object", + "properties": { + "workspaceResourceId": { + "description": "The resource ID of the Log Analytics workspace.", + "type": "string", + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace" + }, + "name": { + "description": "A friendly name for the destination. \r\nThis name should be unique across all destinations (regardless of type) within the data collection rule.", + "maxLength": 32, + "minLength": 0, + "pattern": "^[-\\w\\._\\(\\)]+$", + "type": "string", + "example": "myDest1" + } + } + }, + "AzureMonitorMetricsDestination": { + "description": "Azure Monitor Metrics destination.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "A friendly name for the destination. \r\nThis name should be unique across all destinations (regardless of type) within the data collection rule.", + "maxLength": 32, + "minLength": 0, + "pattern": "^[-\\w\\._\\(\\)]+$", + "type": "string", + "example": "myDest1" + } + } + }, + "DestinationsSpec": { + "description": "Specification of destinations that can be used in data flows.", + "type": "object", + "properties": { + "logAnalytics": { + "description": "List of Log Analytics destinations.", + "maxLength": 10, + "type": "array", + "items": { + "$ref": "#/definitions/LogAnalyticsDestination" + } + }, + "azureMonitorMetrics": { + "description": "Azure Monitor Metrics destination.", + "allOf": [ + { + "$ref": "#/definitions/AzureMonitorMetricsDestination" + } + ] + } + } + }, + "DataFlow": { + "description": "Definition of which streams are sent to which destinations.", + "required": [ + "destinations", + "streams" + ], + "type": "object", + "properties": { + "streams": { + "description": "List of streams for this data flow.", + "maxLength": 20, + "minLength": 1, + "type": "array", + "items": { + "enum": [ + "Microsoft-AntiMalwareStatus", + "Microsoft-Auditd", + "Microsoft-CISCOASA", + "Microsoft-CommonSecurityLog", + "Microsoft-ComputerGroup", + "Microsoft-Event", + "Microsoft-FirewallLog", + "Microsoft-HealthStateChange", + "Microsoft-Heartbeat", + "Microsoft-InsightsMetrics", + "Microsoft-OperationLog", + "Microsoft-Perf", + "Microsoft-ProcessInvestigator", + "Microsoft-ProtectionStatus", + "Microsoft-RomeDetectionEvent", + "Microsoft-SecurityBaseline", + "Microsoft-SecurityBaselineSummary", + "Microsoft-SecurityEvent", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownDataFlowStreams", + "modelAsString": true + } + } + }, + "destinations": { + "description": "List of destinations for this data flow.", + "maxLength": 10, + "minLength": 1, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DataCollectionRule": { + "description": "Definition of what monitoring data to collect and where that data should be sent.", + "required": [ + "dataFlows", + "destinations" + ], + "type": "object", + "properties": { + "description": { + "description": "Description of the data collection rule.", + "maxLength": 256, + "type": "string" + }, + "dataSources": { + "description": "The specification of data sources. \r\nThis property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.", + "allOf": [ + { + "$ref": "#/definitions/DataSourcesSpec" + } + ] + }, + "destinations": { + "description": "The specification of destinations.", + "allOf": [ + { + "$ref": "#/definitions/DestinationsSpec" + } + ] + }, + "dataFlows": { + "description": "The specification of data flows.", + "maxLength": 10, + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/DataFlow" + } + }, + "provisioningState": { + "description": "The resource provisioning state.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "example": "Creating", + "x-ms-enum": { + "name": "KnownDataCollectionRuleProvisioningState", + "modelAsString": true + }, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "DataCollectionRuleResource": { + "description": "Definition of ARM tracked top level resource.", + "required": [ + "location", + "properties" + ], + "type": "object", + "properties": { + "properties": { + "description": "Resource properties.", + "allOf": [ + { + "$ref": "#/definitions/DataCollectionRule" + } + ], + "x-ms-client-flatten": true + }, + "location": { + "description": "The geo-location where the resource lives.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "id": { + "description": "Fully qualified ID of the resource.", + "type": "string", + "readOnly": true, + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "x-ms-mutability": [ + "read" + ] + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true, + "example": "myCollectionRule", + "x-ms-mutability": [ + "read" + ] + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true, + "example": "Microsoft.Insights/dataCollectionRules", + "x-ms-mutability": [ + "read" + ] + }, + "etag": { + "description": "Resource entity tag (ETag).", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + }, + "x-ms-azure-resource": true + }, + "DataCollectionRuleResourceListResult": { + "description": "A pageable list of resources.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "A list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string" + } + } + }, + "ErrorAdditionalInfo": { + "description": "Additional information for common error response.", + "type": "object", + "properties": { + "type": { + "description": "The additional info type.", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "info": { + "description": "The additional info.", + "type": "object", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "ErrorDetails": { + "description": "Common error details.", + "type": "object", + "properties": { + "code": { + "description": "Error code which can be used to programmatically identify the class of error.", + "type": "string", + "readOnly": true, + "example": "BadArgument", + "x-ms-mutability": [ + "read" + ] + }, + "message": { + "description": "Describes the error in detail and provides debugging information.", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "target": { + "description": "The target of the particular error (for example, the name of the property in error).", + "type": "string", + "readOnly": true, + "example": "properties.provisioningState", + "x-ms-mutability": [ + "read" + ] + }, + "details": { + "description": "Additional nested error detail objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "additionalInfo": { + "description": "Additional error information.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "ErrorResponse": { + "description": "Common error response.", + "type": "object", + "properties": { + "error": { + "description": "Error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorDetails" + } + ], + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "ResourceForUpdate": { + "description": "Definition of ARM tracked top level resource properties for update operation.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1 + }, + "DataCollectionRuleNameParameter": { + "in": "path", + "name": "dataCollectionRuleName", + "description": "The name of the data collection rule. The name is case insensitive.", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "in": "path", + "name": "resourceGroupName", + "description": "The name of the resource group. The name is case insensitive.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "in": "path", + "name": "subscriptionId", + "description": "The ID of the target subscription.", + "required": true, + "type": "string", + "minLength": 1 + } + }, + "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/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsCreate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsCreate.json new file mode 100644 index 000000000000..4876e909994f --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm", + "associationName": "myAssociation", + "api-version": "2019-11-01-preview", + "body": { + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + }, + "201": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsDelete.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsDelete.json new file mode 100644 index 000000000000..c131dc605378 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsDelete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm", + "associationName": "myAssociation", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsGet.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsGet.json new file mode 100644 index 000000000000..a16f737e64d4 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm", + "associationName": "myAssociation", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByResource.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByResource.json new file mode 100644 index 000000000000..682b4fa3cec0 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByResource.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "herAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule", + "provisioningState": "Succeeded" + }, + "etag": "3afa167b-3255-432b-b66d-e74a348468af" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByRule.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByRule.json new file mode 100644 index 000000000000..4e4ebb8559de --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRuleAssociationsListByRule.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesCreate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesCreate.json new file mode 100644 index 000000000000..a610b8a6e132 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesCreate.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2019-11-01-preview", + "body": { + "location": "eastus", + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT5M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT5M", + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT5M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT5M", + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + }, + "201": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT5M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT5M", + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesDelete.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesDelete.json new file mode 100644 index 000000000000..7d3a366d0c80 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesGet.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesGet.json new file mode 100644 index 000000000000..0f97cfe6d944 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesGet.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT5M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT5M", + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListByResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListByResourceGroup.json new file mode 100644 index 000000000000..72eabe2037d6 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListByResourceGroup.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT5M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT5M", + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule", + "name": "herCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "westus", + "tags": { + "tag1": "C" + }, + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "herPerfCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + } + ], + "windowsEventLogs": [ + { + "name": "herWindowsEventLogs", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!*", + "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.OperationalInsights/workspaces/herTeamWorkspace", + "name": "herWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "herWorkspace" + ] + } + ], + "provisioningState": "Succeeded" + }, + "etag": "3afa167b-3255-432b-b66d-e74a348468af" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListBySubscription.json new file mode 100644 index 000000000000..e22378ae4ae7 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesListBySubscription.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT5M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT5M", + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule", + "name": "herCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "westus", + "tags": { + "tag1": "C" + }, + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "herPerfCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + } + ], + "windowsEventLogs": [ + { + "name": "herWindowsEventLogs", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!*", + "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.OperationalInsights/workspaces/herTeamWorkspace", + "name": "herWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "herWorkspace" + ] + } + ], + "provisioningState": "Succeeded" + }, + "etag": "3afa167b-3255-432b-b66d-e74a348468af" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesUpdate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesUpdate.json new file mode 100644 index 000000000000..f886de91f69c --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-11-01-preview/examples/DataCollectionRulesUpdate.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2019-11-01-preview", + "body": { + "tags": { + "tag1": "A", + "tag2": "B", + "tag3": "C" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B", + "tag3": "C" + }, + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT1M", + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "scheduledTransferPeriod": "PT5M", + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT1M", + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "scheduledTransferPeriod": "PT5M", + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/createOrUpdateManagementGroupDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/createOrUpdateManagementGroupDiagnosticSetting.json new file mode 100644 index 000000000000..c765841de5f9 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/createOrUpdateManagementGroupDiagnosticSetting.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "managementGroupId": "testChildMG7", + "name": "setting1", + "api-version": "2020-01-01-preview", + "parameters": { + "properties": { + "storageAccountId": "/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5", + "workspaceId": "/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "eventHubName": "myeventhub", + "logs": [ + { + "category": "Administrative", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "providers/Microsoft.Management/managementGroups/testChildMG7/providers/microsoft.insights/diagnosticSettings/setting1", + "type": "Microsoft.Insights/diagnosticSettings", + "name": "setting1", + "location": "global", + "properties": { + "storageAccountId": "/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5", + "workspaceId": "/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "logs": [ + { + "category": "Administrative", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/deleteManagementGroupDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/deleteManagementGroupDiagnosticSetting.json new file mode 100644 index 000000000000..5c1d1c0d10a2 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/deleteManagementGroupDiagnosticSetting.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "managementGroupId": "testChildMG7", + "name": "setting1", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/getManagementGroupDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/getManagementGroupDiagnosticSetting.json new file mode 100644 index 000000000000..1268d7325b59 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/getManagementGroupDiagnosticSetting.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "managementGroupId": "testChildMG7", + "name": "setting1", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "providers/Microsoft.Management/managementGroups/testChildMG7/providers/microsoft.insights/diagnosticSettings/setting1", + "type": "Microsoft.Insights/diagnosticSettings", + "name": "setting1", + "location": "global", + "properties": { + "storageAccountId": "/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5", + "workspaceId": "/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "logs": [ + { + "category": "Administrative", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/listManagementGroupDiagnosticSettings.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/listManagementGroupDiagnosticSettings.json new file mode 100644 index 000000000000..4da36a78f062 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/examples/listManagementGroupDiagnosticSettings.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "managementGroupId": "testChildMG7", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "providers/Microsoft.Management/managementGroups/testChildMG7/providers/microsoft.insights/diagnosticSettings/setting1", + "type": "Microsoft.Insights/diagnosticSettings", + "name": "setting1", + "properties": { + "storageAccountId": "/subscriptions/bfaef57f-297e-4210-bfe5-27c18cc671f7/resourceGroups/FuncAppRunners/providers/Microsoft.Storage/storageAccounts/testpersonalb6a5", + "workspaceId": "/subscriptions/9cf7cc0a-0ba1-4624-bc82-97e1ee25dc45/resourceGroups/mgTest/providers/Microsoft.OperationalInsights/workspaces/mgTestWorkspace", + "eventHubAuthorizationRuleId": "/subscriptions/fb9f25f9-5785-4510-a38f-a62f188eb9f8/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule", + "logs": [ + { + "category": "Administrative", + "enabled": true + }, + { + "category": "Policy", + "enabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/managementGroupDiagnosticSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/managementGroupDiagnosticSettings_API.json new file mode 100644 index 000000000000..c072d651d2f7 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-01-01-preview/managementGroupDiagnosticSettings_API.json @@ -0,0 +1,345 @@ +{ + "swagger": "2.0", + "info": { + "title": "MonitorManagementClient", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" + }, + "version": "2020-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/microsoft.management/managementGroups/{managementGroupId}/providers/microsoft.insights/diagnosticSettings/{name}": { + "get": { + "tags": [ + "ManagementGroupDiagnosticSettings" + ], + "operationId": "ManagementGroupDiagnosticSettings_Get", + "description": "Gets the active management group diagnostic settings for the specified resource.", + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/NameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Successful request to get more information about diagnostic setting.", + "schema": { + "$ref": "#/definitions/ManagementGroupDiagnosticSettingsResource" + } + } + }, + "x-ms-examples": { + "Gets the management group diagnostic setting": { + "$ref": "./examples/getManagementGroupDiagnosticSetting.json" + } + } + }, + "put": { + "tags": [ + "ManagementGroupDiagnosticSettings" + ], + "operationId": "ManagementGroupDiagnosticSettings_CreateOrUpdate", + "description": "Creates or updates management group diagnostic settings for the specified resource.", + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagementGroupDiagnosticSettingsResource" + }, + "description": "Parameters supplied to the operation." + }, + { + "$ref": "#/parameters/NameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Successful request to create a management group diagnostic setting", + "schema": { + "$ref": "#/definitions/ManagementGroupDiagnosticSettingsResource" + } + } + }, + "x-ms-examples": { + "Creates or Updates the management group diagnostic setting": { + "$ref": "./examples/createOrUpdateManagementGroupDiagnosticSetting.json" + } + } + }, + "delete": { + "tags": [ + "ManagementGroupDiagnosticSettings" + ], + "operationId": "ManagementGroupDiagnosticSettings_Delete", + "description": "Deletes existing management group diagnostic settings for the specified resource.", + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/NameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Successful request to remove a management group diagnostic setting" + }, + "204": { + "description": "Successful request to remove a management group diagnostic setting" + } + }, + "x-ms-examples": { + "Deletes the management group diagnostic setting": { + "$ref": "./examples/deleteManagementGroupDiagnosticSetting.json" + } + } + } + }, + "/providers/microsoft.management/managementGroups/{managementGroupId}/providers/microsoft.insights/diagnosticSettings": { + "get": { + "tags": [ + "ManagementGroupDiagnosticSettings" + ], + "operationId": "ManagementGroupDiagnosticSettings_List", + "description": "Gets the active management group diagnostic settings list for the specified management group.", + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Successful request to get more information about management group diagnostic setting", + "schema": { + "$ref": "#/definitions/ManagementGroupDiagnosticSettingsResourceCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Gets the management group diagnostic setting": { + "$ref": "./examples/listManagementGroupDiagnosticSettings.json" + } + } + } + } + }, + "definitions": { + "ManagementGroupProxyOnlyResource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "location": { + "type": "string", + "description": "Location of the resource" + } + }, + "x-ms-azure-resource": true, + "description": "A proxy only azure resource object" + }, + "ManagementGroupLogSettings": { + "properties": { + "category": { + "type": "string", + "description": "Name of a Management Group Diagnostic Log category for a resource type this setting is applied to." + }, + "enabled": { + "type": "boolean", + "description": "a value indicating whether this log is enabled." + } + }, + "required": [ + "category", + "enabled" + ], + "description": "Part of Management Group diagnostic setting. Specifies the settings for a particular log." + }, + "ManagementGroupDiagnosticSettings": { + "properties": { + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to which you would like to send Diagnostic Logs." + }, + "serviceBusRuleId": { + "type": "string", + "description": "The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility." + }, + "eventHubAuthorizationRuleId": { + "type": "string", + "description": "The resource Id for the event hub authorization rule." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub. If none is specified, the default event hub will be selected." + }, + "logs": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupLogSettings" + }, + "description": "The list of logs settings." + }, + "workspaceId": { + "type": "string", + "description": "The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2" + } + }, + "description": "The management group diagnostic settings." + }, + "ManagementGroupDiagnosticSettingsResource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagementGroupProxyOnlyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupDiagnosticSettings", + "description": "Properties of a Management Group Diagnostic Settings Resource." + } + }, + "description": "The management group diagnostic setting resource." + }, + "ManagementGroupDiagnosticSettingsResourceCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupDiagnosticSettingsResource" + }, + "description": "The collection of management group diagnostic settings resources." + } + }, + "description": "Represents a collection of management group diagnostic settings resources." + }, + "ErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The management group id.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "NameParameter": { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the diagnostic setting.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRule.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRule.json new file mode 100644 index 000000000000..8eacdd66cb18 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRule.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "perf", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1/providers/Microsoft.Compute/virtualMachines/vm1" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1/providers/Microsoft.Compute/virtualMachines/vm1" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1/providers/Microsoft.Compute/virtualMachines/vm1" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRuleResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRuleResourceGroup.json new file mode 100644 index 000000000000..c8480899d5b5 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRuleResourceGroup.json @@ -0,0 +1,147 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "heartbeat", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRuleSubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRuleSubscription.json new file mode 100644 index 000000000000..92fab45cdaf5 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/createOrUpdateScheduledQueryRuleSubscription.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "perf", + "api-version": "2020-05-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/deleteScheduledQueryRule.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/deleteScheduledQueryRule.json new file mode 100644 index 000000000000..4c1aa63528cf --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/deleteScheduledQueryRule.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "heartbeat", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/getScheduledQueryRule.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/getScheduledQueryRule.json new file mode 100644 index 000000000000..90001a5f741b --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/getScheduledQueryRule.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "perf", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1/providers/Microsoft.Compute/virtualMachines/vm1" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/listScheduledQueryRulesByResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/listScheduledQueryRulesByResourceGroup.json new file mode 100644 index 000000000000..b35e7da408d2 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/listScheduledQueryRulesByResourceGroup.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + }, + { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147/resourceGroups/scopeResourceGroup1" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/listScheduledQueryRulesBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/listScheduledQueryRulesBySubscription.json new file mode 100644 index 000000000000..5df7739d68ff --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/listScheduledQueryRulesBySubscription.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "api-version": "2020-05-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/perf", + "name": "perf", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Performance rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Perf | where ObjectName == \"Processor\"", + "timeAggregation": "Average", + "metricMeasureColumn": "% Processor Time", + "resourceIdColumn": "resourceId", + "dimensions": [ + { + "name": "ComputerIp", + "operator": "Exclude", + "values": [ + "192.168.1.1" + ] + }, + { + "name": "OSType", + "operator": "Include", + "values": [ + "*" + ] + } + ], + "operator": "GreaterThan", + "threshold": 70, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + }, + { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/MyResourceGroupName2/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": true, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/patchScheduledQueryRule.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/patchScheduledQueryRule.json new file mode 100644 index 000000000000..9a4810c7a9ce --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/examples/patchScheduledQueryRule.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "dd4bfc94-a096-412b-9c43-4bd13e35afbc", + "resourceGroupName": "QueryResourceGroupName", + "ruleName": "heartbeat", + "api-version": "2020-05-01-preview", + "parameters": { + "properties": { + "enabled": false + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/dd4bfc94-a096-412b-9c43-4bd13e35afbc/resourcegroups/QueryResourceGroupName/providers/microsoft.insights/scheduledqueryrules/heartbeat", + "name": "heartbeat", + "type": "microsoft.insights/scheduledqueryrules", + "location": "eastus", + "tags": {}, + "properties": { + "description": "Health check rule", + "severity": 4, + "enabled": false, + "evaluationFrequency": "PT5M", + "scopes": [ + "/subscriptions/aaf177ed-1330-a9f2-80ea-fd3d7783b147" + ], + "targetResourceTypes": [ + "Microsoft.Compute/virtualMachines" + ], + "windowSize": "PT10M", + "criteria": { + "allOf": [ + { + "query": "Heartbeat", + "timeAggregation": "Count", + "dimensions": [], + "operator": "GreaterThan", + "threshold": 360, + "failingPeriods": { + "numberOfEvaluationPeriods": 1, + "minFailingPeriodsToAlert": 1 + } + } + ] + }, + "muteActionsDuration": "PT30M", + "actions": [ + { + "actionGroupId": "/subscriptions/1cf177ed-1330-4692-80ea-fd3d7783b147/resourcegroups/sqrapi/providers/microsoft.insights/actiongroups/myactiongroup", + "webHookProperties": { + "key11": "value11", + "key12": "value12" + } + } + ] + } + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json new file mode 100644 index 000000000000..278a0a1a97ce --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json @@ -0,0 +1,622 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-01-preview", + "title": "Scheduled Query Rules API", + "description": "Azure Monitor client to create/update/delete Scheduled Query 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}/providers/Microsoft.Insights/scheduledQueryRules": { + "get": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Retrieve a scheduled query rule definitions in a subscription.", + "operationId": "ScheduledQueryRules_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of scheduled query rules", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResourceCollection" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List scheduled query rules": { + "$ref": "./examples/listScheduledQueryRulesBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules": { + "get": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Retrieve scheduled query rule definitions in a resource group.", + "operationId": "ScheduledQueryRules_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for a list of scheduled query rules", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResourceCollection" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List scheduled query rules": { + "$ref": "./examples/listScheduledQueryRulesByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}": { + "get": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Retrieve an scheduled query rule definition.", + "operationId": "ScheduledQueryRules_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful request to get a scheduled query rule", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-examples": { + "Get a scheduled query rule for single resource": { + "$ref": "./examples/getScheduledQueryRule.json" + } + } + }, + "put": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Creates or updates a scheduled query rule.", + "operationId": "ScheduledQueryRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + }, + "description": "The parameters of the rule to create or update." + } + ], + "responses": { + "200": { + "description": "Successful request to update a scheduled query rule", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + } + }, + "201": { + "description": "Created a scheduled query rule", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-examples": { + "Create or update a scheduled query rule for Single Resource": { + "$ref": "./examples/createOrUpdateScheduledQueryRule.json" + }, + "Create or update a scheduled query rule on Resource group(s)": { + "$ref": "./examples/createOrUpdateScheduledQueryRuleResourceGroup.json" + }, + "Create or update a scheduled query rule on Subscription ": { + "$ref": "./examples/createOrUpdateScheduledQueryRuleSubscription.json" + } + } + }, + "patch": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Update a scheduled query rule.", + "operationId": "ScheduledQueryRules_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResourcePatch" + }, + "description": "The parameters of the rule to update." + } + ], + "responses": { + "200": { + "description": "Successful request to update a scheduled query rule", + "schema": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-examples": { + "Create or update a scheduled query rule": { + "$ref": "./examples/patchScheduledQueryRule.json" + } + } + }, + "delete": { + "tags": [ + "ScheduledQueryRules" + ], + "description": "Deletes a scheduled query rule.", + "operationId": "ScheduledQueryRules_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RuleNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + }, + "200": { + "description": "Successful request to delete a scheduled query rule" + }, + "204": { + "description": "No content: the request was successful, but the response is empty" + } + }, + "x-ms-examples": { + "Delete a scheduled query rule": { + "$ref": "./examples/deleteScheduledQueryRule.json" + } + } + } + } + }, + "definitions": { + "Action": { + "type": "object", + "description": "Actions to invoke when the alert fires.", + "properties": { + "actionGroupId": { + "type": "string", + "description": "Action Group resource Id to invoke when the alert fires." + }, + "webHookProperties": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." + }, + "description": "The properties of a webhook object." + } + } + }, + "ScheduledQueryRuleProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of the scheduled query rule." + }, + "severity": { + "type": "number", + "description": "Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest", + "enum": [ + "0", + "1", + "2", + "3", + "4" + ], + "x-ms-enum": { + "name": "AlertSeverity", + "modelAsString": true + } + }, + "enabled": { + "type": "boolean", + "description": "The flag which indicates whether this scheduled query rule is enabled. Value should be true or false" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of resource id's that this scheduled query rule is scoped to." + }, + "evaluationFrequency": { + "type": "string", + "format": "duration", + "description": "How often the scheduled query rule is evaluated represented in ISO 8601 duration format." + }, + "windowSize": { + "type": "string", + "format": "duration", + "description": "The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size)." + }, + "targetResourceTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of resource type of the target resource(s) on which the alert is created/updated. For example if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual machine in the resource group which meet the alert criteria" + }, + "criteria": { + "$ref": "#/definitions/ScheduledQueryRuleCriteria", + "description": "The rule criteria that defines the conditions of the scheduled query rule." + }, + "muteActionsDuration": { + "type": "string", + "format": "duration", + "description": "Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired." + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/Action" + } + } + }, + "description": "scheduled query rule Definition" + }, + "ScheduledQueryRuleResource": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduledQueryRuleProperties", + "description": "The rule properties of the resource.", + "required": [ + "enabled", + "severity", + "evaluationFrequency", + "windowSize", + "criteria", + "scopes" + ] + } + }, + "description": "The scheduled query rule resource." + }, + "ScheduledQueryRuleResourcePatch": { + "type": "object", + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduledQueryRuleProperties", + "description": "The scheduled query rule properties of the resource." + } + }, + "description": "The scheduled query rule resource for patch operations." + }, + "ScheduledQueryRuleResourceCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ScheduledQueryRuleResource" + }, + "description": "The values for the scheduled query rule resources." + } + }, + "description": "Represents a collection of scheduled query rule resources." + }, + "ScheduledQueryRuleCriteria": { + "type": "object", + "description": "The rule criteria that defines the conditions of the scheduled query rule.", + "properties": { + "allOf": { + "type": "array", + "description": "A list of conditions to evaluate against the specified scopes", + "items": { + "$ref": "#/definitions/Condition" + } + } + } + }, + "Condition": { + "type": "object", + "description": "A condition of the scheduled query rule.", + "properties": { + "query": { + "type": "string", + "description": "Log query alert" + }, + "timeAggregation": { + "type": "string", + "description": "Aggregation type", + "enum": [ + "Count", + "Average", + "Minimum", + "Maximum", + "Total" + ], + "x-ms-enum": { + "name": "timeAggregation", + "modelAsString": true + } + }, + "metricMeasureColumn": { + "type": "string", + "description": "The column containing the metric measure number." + }, + "resourceIdColumn": { + "type": "string", + "description": "The column containing the resource id. The content of the column must be a uri formatted as resource id" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "description": "List of Dimensions conditions" + }, + "operator": { + "type": "string", + "enum": [ + "Equals", + "GreaterThan", + "GreaterThanOrEqual", + "LessThan", + "LessThanOrEqual" + ], + "x-ms-enum": { + "name": "Operator", + "modelAsString": true + }, + "description": "The criteria operator." + }, + "threshold": { + "type": "number", + "format": "double", + "description": "the criteria threshold value that activates the alert." + }, + "failingPeriods": { + "type": "object", + "description": "The minimum number of violations required within the selected lookback time window required to raise an alert.", + "properties": { + "numberOfEvaluationPeriods": { + "type": "number", + "description": "The number of aggregated lookback points. The lookback time window is calculated based on the aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1" + }, + "minFailingPeriodsToAlert": { + "type": "number", + "description": "The number of violations to trigger an alert. Should be smaller or equal to numberOfEvaluationPeriods. Default value is 1" + } + } + } + }, + "required": [ + "operator", + "threshold", + "timeAggregation" + ] + }, + "Dimension": { + "type": "object", + "description": "Dimension splitting and filtering definition", + "properties": { + "name": { + "type": "string", + "description": "Name of the dimension" + }, + "operator": { + "type": "string", + "description": "Operator for dimension values", + "enum": [ + "Include", + "Exclude" + ], + "x-ms-enum": { + "name": "operator", + "modelAsString": true + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of dimension values" + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, + "ErrorContract": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription Id." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "RuleNameParameter": { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the rule.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json index 857de7aa263c..2acae879f903 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json @@ -378,6 +378,10 @@ "type": "string", "description": "the name of the metric that defines what the rule monitors." }, + "metricNamespace": { + "type": "string", + "description": "the namespace of the metric that defines what the rule monitors." + }, "metricResourceUri": { "type": "string", "description": "the resource identifier of the resource the rule monitors." @@ -442,6 +446,13 @@ "type": "number", "format": "double", "description": "the threshold of the metric that triggers the scale action." + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleMetricDimension" + }, + "description": "List of dimension conditions. For example: [{\"DimensionName\":\"AppName\",\"Operator\":\"Equals\",\"Values\":[\"App1\"]},{\"DimensionName\":\"Deployment\",\"Operator\":\"Equals\",\"Values\":[\"default\"]}]." } }, "description": "The trigger that results in a scaling action." @@ -803,6 +814,39 @@ "type": "string" } } + }, + "ScaleRuleMetricDimension": { + "required": [ + "DimensionName", + "Operator", + "Values" + ], + "properties": { + "DimensionName": { + "type": "string", + "description": "Name of the dimension." + }, + "Operator": { + "type": "string", + "description": "the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the values. 'NotEquals' being not equal to all of the values", + "enum": [ + "Equals", + "NotEquals" + ], + "x-ms-enum": { + "name": "ScaleRuleMetricDimensionOperationType", + "modelAsString": true + } + }, + "Values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "list of dimension values. For example: [\"App1\",\"App2\"]." + } + }, + "description": "Specifies an auto scale rule metric dimension." } }, "parameters": { diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json index e88efc9a9349..a5f09da2e038 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json @@ -851,6 +851,10 @@ "$ref": "#/definitions/MetricDimension" }, "description": "List of dimension conditions." + }, + "skipMetricValidation": { + "type": "boolean", + "description": "Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric validation to be skipped." } }, "required": [ diff --git a/specification/monitor/resource-manager/readme.azureresourceschema.md b/specification/monitor/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..64d73c4be188 --- /dev/null +++ b/specification/monitor/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,285 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-insights-2020-05-01-preview + - tag: schema-insights-2020-01-01-preview + - tag: schema-insights-2019-11-01-preview + - tag: schema-insights-2019-10-17-preview + - tag: schema-insights-2019-06-01 + - tag: schema-insights-2019-03-01 + - tag: schema-insights-2018-11-27-preview + - tag: schema-insights-2018-09-01 + - tag: schema-insights-2018-06-01-preview + - tag: schema-insights-2018-04-16 + - tag: schema-insights-2018-03-01 + - tag: schema-insights-2018-01-01 + - tag: schema-insights-2017-12-01-preview + - tag: schema-insights-2017-11-01-preview + - tag: schema-insights-2017-05-01-preview + - tag: schema-insights-2017-04-01 + - tag: schema-insights-2017-03-01-preview + - tag: schema-insights-2016-09-01 + - tag: schema-insights-2016-03-01 + - tag: schema-insights-2015-07-01 + - tag: schema-insights-2015-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-insights-2020-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2020-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json + +``` + +### Tag: schema-insights-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2020-01-01-preview/managementGroupDiagnosticSettings_API.json + +``` + +### Tag: schema-insights-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json + - Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json + +``` + +### Tag: schema-insights-2019-10-17-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-10-17-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2019-10-17-preview/privateLinkScopes_API.json + +``` + +### Tag: schema-insights-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2019-06-01/actionGroups_API.json + +``` + +### Tag: schema-insights-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json + - Microsoft.Insights/stable/2019-03-01/actionGroups_API.json + +``` + +### Tag: schema-insights-2018-11-27-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-11-27-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json + +``` + +### Tag: schema-insights-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2018-09-01/actionGroups_API.json + - Microsoft.Insights/stable/2018-09-01/baseline_API.json + - Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json + +``` + +### Tag: schema-insights-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettingsAssociation_API.json + - Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettings_API.json + +``` + +### Tag: schema-insights-2018-04-16 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-04-16' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json + +``` + +### Tag: schema-insights-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2018-03-01/metricAlert_API.json + - Microsoft.Insights/stable/2018-03-01/actionGroups_API.json + +``` + +### Tag: schema-insights-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json + - Microsoft.Insights/stable/2018-01-01/metrics_API.json + +``` + +### Tag: schema-insights-2017-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json + +``` + +### Tag: schema-insights-2017-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json + - Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json + +``` + +### Tag: schema-insights-2017-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json + - Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json + - Microsoft.Insights/preview/2017-05-01-preview/subscriptionDiagnosticsSettings_API.json + - Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json + - Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json + +``` + +### Tag: schema-insights-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json + - Microsoft.Insights/stable/2017-04-01/actionGroups_API.json + +``` + +### Tag: schema-insights-2017-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2017-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/preview/2017-03-01-preview/activityLogAlerts_API.json + +``` + +### Tag: schema-insights-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2016-09-01/metrics_API.json + - Microsoft.Insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json + +``` + +### Tag: schema-insights-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json + - Microsoft.Insights/stable/2016-03-01/alertRules_API.json + - Microsoft.Insights/stable/2016-03-01/logProfiles_API.json + - Microsoft.Insights/stable/2016-03-01/metricDefinitions_API.json + +``` + +### Tag: schema-insights-2015-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2015-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2015-07-01/serviceDiagnosticsSettings_API.json + +``` + +### Tag: schema-insights-2015-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-insights-2015-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Insights/stable/2015-04-01/autoscale_API.json + - Microsoft.Insights/stable/2015-04-01/operations_API.json + - Microsoft.Insights/stable/2015-04-01/activityLogs_API.json + - Microsoft.Insights/stable/2015-04-01/eventCategories_API.json + - Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json + +``` diff --git a/specification/monitor/resource-manager/readme.md b/specification/monitor/resource-manager/readme.md index aa10b3d13604..f923df3f8a90 100644 --- a/specification/monitor/resource-manager/readme.md +++ b/specification/monitor/resource-manager/readme.md @@ -31,6 +31,24 @@ openapi-type: arm tag: package-2019-06 ``` +### Tag: package-2020-05-preview + +These settings apply only when `--tag=package-2020-05-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-05-preview' +input-file: +- Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json +``` + +### Tag: package-2020-01-01-preview-only + +These settings apply only when `--tag=package-2020-01-01-preview-only` is specified on the command line. + +```yaml $(tag) == 'package-2020-01-01-preview-only' +input-file: +- Microsoft.Insights/preview/2020-01-01-preview/managementGroupDiagnosticSettings_API.json +``` + ### Tag: package-2020-03 These settings apply only when `--tag=package-2020-03` is specified on the command line. @@ -329,6 +347,16 @@ input-file: - Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json ``` +### Tag: package-2019-11-preview-only + +These settings apply only when `--tag=package-2019-11-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2019-11-preview-only' +input-file: + - Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json + - Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json +``` + ### Tag: package-2019-06-01-only These settings apply only when `--tag=package-2019-06-01-only` is specified on the command line. @@ -541,6 +569,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_monitor'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js monitor/resource-manager ``` ## Python @@ -573,6 +604,14 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-monitor directive: - suppress: R3016 # DefinitionsPropertiesNamesCamelCase (to suppress the error due to odata.type) reason: The feature (polymorphic types) is in the process of deprecation and fixing this will require changes in the backend. + - suppress: OperationsAPIImplementation + from: dataCollectionRules_API.json + where: $.paths + reason: 'Operations API is defined in a separate swagger spec for Microsoft.Insights namespace (https://github.com/Azure/azure-rest-api-specs/blob/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json)' + - suppress: OperationsAPIImplementation + from: dataCollectionRuleAssociations_API.json + where: $.paths + reason: 'Operations API is defined in a separate swagger spec for Microsoft.Insights namespace (https://github.com/Azure/azure-rest-api-specs/blob/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json)' ``` ### Tag: profile-hybrid-2019-03-01 @@ -590,6 +629,10 @@ input-file: - Microsoft.Insights/stable/2015-04-01/operations_API.json ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -602,6 +645,8 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Insights/preview/2020-05-01-preview/scheduledQueryRule_API.json + - $(this-folder)/Microsoft.Insights/preview/2020-01-01-preview/managementGroupDiagnosticSettings_API.json - $(this-folder)/Microsoft.Insights/stable/2015-04-01/autoscale_API.json - $(this-folder)/Microsoft.Insights/stable/2015-04-01/operations_API.json - $(this-folder)/Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json @@ -631,6 +676,8 @@ input-file: - $(this-folder)/Microsoft.Insights/stable/2017-04-01/actionGroups_API.json - $(this-folder)/Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json - $(this-folder)/Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json + - $(this-folder)/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRuleAssociations_API.json + - $(this-folder)/Microsoft.Insights/preview/2019-11-01-preview/dataCollectionRules_API.json - $(this-folder)/Microsoft.Insights/stable/2018-09-01/baseline_API.json - $(this-folder)/Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json - $(this-folder)/Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettingsAssociation_API.json diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md index 6d84860e3278..8d483156a925 100644 --- a/specification/monitor/resource-manager/readme.python.md +++ b/specification/monitor/resource-manager/readme.python.md @@ -30,6 +30,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-2020-01-01-preview-only - tag: package-2019-10-17-preview-only - tag: package-2019-06-01-only - tag: package-2019-03-01-only @@ -53,6 +54,7 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2020-01-01-preview-only - tag: package-2019-10-17-preview-only - tag: package-2019-06-01-only - tag: package-2019-03-01-only @@ -80,6 +82,19 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2020-01-01-preview-only and python + +These settings apply only when `--tag=package-2020-01-01-preview-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-01-01-preview-only' +namespace: $(python-base-namespace).v2020_01_01_preview +output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_01_01_preview +python: + namespace: $(python-base-namespace).v2020_01_01_preview + output-folder: $(python-sdks-folder)/$(python-base-folder)/v2020_01_01_preview +``` + ### Tag: package-2019-10-17-preview-only and python These settings apply only when `--tag=package-2019-10-17-preview-only --python` is specified on the command line. diff --git a/specification/msi/resource-manager/readme.azureresourceschema.md b/specification/msi/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4ad17aca39dc --- /dev/null +++ b/specification/msi/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-managedidentity-2018-11-30 + - tag: schema-managedidentity-2015-08-31-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-managedidentity-2018-11-30 and azureresourceschema + +``` yaml $(tag) == 'schema-managedidentity-2018-11-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedIdentity/stable/2018-11-30/ManagedIdentity.json + +``` + +### Tag: schema-managedidentity-2015-08-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-managedidentity-2015-08-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ManagedIdentity/preview/2015-08-31-preview/ManagedIdentity.json + +``` diff --git a/specification/msi/resource-manager/readme.md b/specification/msi/resource-manager/readme.md index 6540b93517b2..b28f0e3f39cb 100644 --- a/specification/msi/resource-manager/readme.md +++ b/specification/msi/resource-manager/readme.md @@ -72,6 +72,9 @@ swagger-to-sdk: - bundle install && rake arm:regen_all_profiles['azure_mgmt_msi'] - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js msi/resource-manager ``` @@ -143,6 +146,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json index 930457495d0e..e0dcd9a26329 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,7 +1334,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1454,7 +1454,7 @@ } } }, - "/providers/Microsoft.DBforMySQL/operations": { + "/providers/Microsoft.DBForMySQL/operations": { "get": { "tags": [ "Operations" @@ -1617,51 +1617,6 @@ } } }, - "ProxyResource": { - "description": "Resource properties.", - "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." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1956,6 +1911,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2005,7 +1963,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2127,7 +2085,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -2185,7 +2143,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2238,7 +2196,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -2298,7 +2256,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2434,7 +2392,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -2608,7 +2566,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2699,7 +2657,7 @@ "description": "Represents a and external administrator to be created.", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ] }, diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json index af9601bf9324..57933912da9f 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json @@ -346,44 +346,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "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 - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateEndpointConnection": { "description": "A private endpoint connection", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json index 9773e4440b37..a9b356bc2e74 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json @@ -168,44 +168,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "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 - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateLinkResource": { "description": "A private link resource", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json index 8addd2520a3d..79e8e6e25313 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,7 +1334,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1454,7 +1454,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/queryTexts/{queryId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/queryTexts/{queryId}": { "get": { "tags": [ "QueryTexts" @@ -1493,7 +1493,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/queryTexts": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/queryTexts": { "get": { "tags": [ "QueryTexts" @@ -1543,7 +1543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/topQueryStatistics/{queryStatisticId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/topQueryStatistics/{queryStatisticId}": { "get": { "tags": [ "TopQueryStatistics" @@ -1582,7 +1582,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/topQueryStatistics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/topQueryStatistics": { "get": { "tags": [ "TopQueryStatistics" @@ -1630,7 +1630,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/waitStatistics/{waitStatisticsId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/waitStatistics/{waitStatisticsId}": { "get": { "tags": [ "WaitStatistics" @@ -1669,7 +1669,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/waitStatistics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/waitStatistics": { "get": { "tags": [ "WaitStatistics" @@ -1717,7 +1717,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors/{advisorName}": { "get": { "tags": [ "Advisors" @@ -1756,7 +1756,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors": { "get": { "tags": [ "Advisors" @@ -1795,7 +1795,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession": { "post": { "tags": [ "RecommendedActionSessions" @@ -1842,7 +1842,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors/{advisorName}/recommendedActions/{recommendedActionName}": { "get": { "tags": [ "RecommendedActions" @@ -1884,7 +1884,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}/recommendedActions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/advisors/{advisorName}/recommendedActions": { "get": { "tags": [ "RecommendedActions" @@ -1933,7 +1933,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}": { "get": { "tags": [ "LocationBasedRecommendedActionSessionsOperationStatus" @@ -1969,7 +1969,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}": { "get": { "tags": [ "LocationBasedRecommendedActionSessionsResult" @@ -2014,7 +2014,7 @@ } } }, - "/providers/Microsoft.DBforMySQL/operations": { + "/providers/Microsoft.DBForMySQL/operations": { "get": { "tags": [ "Operations" @@ -2176,51 +2176,6 @@ } } }, - "ProxyResource": { - "description": "Resource properties.", - "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." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -2511,6 +2466,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2560,7 +2518,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2682,7 +2640,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -2740,7 +2698,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2793,7 +2751,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -2853,7 +2811,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2989,7 +2947,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -3163,7 +3121,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3254,7 +3212,7 @@ "description": "Represents a and external administrator to be created.", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ] }, @@ -3293,7 +3251,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Query Text." @@ -3432,7 +3390,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Query Statistic." @@ -3550,7 +3508,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Wait Statistic." @@ -3588,7 +3546,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a recommendation action advisor." @@ -3665,7 +3623,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Recommendation Action." diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json index 68a43fcfc34a..e562c0bb5b0f 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json @@ -223,27 +223,6 @@ } }, "definitions": { - "ProxyResource": { - "description": "Resource properties.", - "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." - } - }, - "x-ms-azure-resource": true - }, "ServerKeyListResult": { "description": "A list of MySQL Server keys.", "type": "object", @@ -298,7 +277,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CapabilitiesByLocationList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CapabilitiesByLocationList.json new file mode 100644 index 000000000000..ac537987f888 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CapabilitiesByLocationList.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "zone": "none", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + }, + { + "name": "GeneralPurpose", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_D2ds_v4", + "vCores": 2, + "supportedIops": 3200, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D4ds_v4", + "vCores": 4, + "supportedIops": 6400, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D8ds_v4", + "vCores": 8, + "supportedIops": 12800, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D16ds_v4", + "vCores": 16, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D32ds_v4", + "vCores": 32, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D48ds_v4", + "vCores": 48, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + }, + { + "name": "Standard_D64ds_v4", + "vCores": 64, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 4096 + } + ] + } + ] + }, + { + "name": "MemoryOptimized", + "supportedStorageEditions": [ + { + "name": "PremiumFileShare", + "minStorageSize": { + "name": "10240", + "storageSizeMB": 10240 + }, + "maxStorageSize": { + "name": "16777216", + "storageSizeMB": 16777216 + }, + "minBackupRetentionDays": 7, + "maxBackupRetentionDays": 35 + } + ], + "supportedServerVersions": [ + { + "name": "5.7", + "supportedVcores": [ + { + "name": "Standard_E2ds_v4", + "vCores": 2, + "supportedIops": 3200, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E4ds_v4", + "vCores": 4, + "supportedIops": 6400, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E8ds_v4", + "vCores": 8, + "supportedIops": 12800, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E16ds_v4", + "vCores": 16, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E32ds_v4", + "vCores": 32, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E48ds_v4", + "vCores": 48, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + }, + { + "name": "Standard_E64ds_v4", + "vCores": 64, + "supportedIops": 20000, + "supportedMemoryPerVcoreMB": 8192 + } + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckNameAvailability.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..aa0844b5f22f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DBforMySQL" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "message": "", + "reason": "" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckVirtualNetworkSubnetUsage.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckVirtualNetworkSubnetUsage.json new file mode 100644 index 000000000000..2b82b6978e3a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/CheckVirtualNetworkSubnetUsage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS", + "parameters": { + "virtualNetworkArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/testvnet" + } + }, + "responses": { + "200": { + "body": { + "delegatedSubnetsUsage": [ + { + "subnetName": "test-subnet-1", + "usage": 2 + }, + { + "subnetName": "test-subnet-2", + "usage": 3 + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationGet.json new file mode 100644 index 000000000000..68bbdafca700 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "configurationName": "event_scheduler", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "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", + "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/preview/2020-07-01-privatepreview/examples/ConfigurationUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationUpdate.json new file mode 100644 index 000000000000..cdd4dc412a55 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "serverName": "testserver", + "configurationName": "event_scheduler", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "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.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "user-override", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationsListByServer.json new file mode 100644 index 000000000000..911e54400e0a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ConfigurationsListByServer.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "serverName": "mysqltestsvc1", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "value": "OFF", + "description": "Indicates the status of the Event Scheduler.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "4", + "description": "Number of digits by which to increase the scale of the result of division operations.", + "defaultValue": "4", + "dataType": "Integer", + "allowedValues": "0-30", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/div_precision_increment", + "name": "div_precision_increment", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1024", + "description": "Maximum allowed result length in bytes for the GROUP_CONCAT().", + "defaultValue": "1024", + "dataType": "Integer", + "allowedValues": "4-16777216", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/group_concat_max_len", + "name": "group_concat_max_len", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "ON", + "description": "Whether innodb adaptive hash indexes are enabled or disabled.", + "defaultValue": "ON", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/innodb_adaptive_hash_index", + "name": "innodb_adaptive_hash_index", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "50", + "description": "The length of time in seconds an InnoDB transaction waits for a row lock before giving up.", + "defaultValue": "50", + "dataType": "Integer", + "allowedValues": "1-3600", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1/configurations/innodb_lock_wait_timeout", + "name": "innodb_lock_wait_timeout", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseCreate.json new file mode 100644 index 000000000000..7c5ce7433497 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "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/preview/2020-07-01-privatepreview/examples/DatabaseDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseDelete.json new file mode 100644 index 000000000000..0cea2a749897 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseGet.json new file mode 100644 index 000000000000..4a0c51486617 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabaseGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "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/preview/2020-07-01-privatepreview/examples/DatabasesListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabasesListByServer.json new file mode 100644 index 000000000000..f4c905a6416f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/DatabasesListByServer.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "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/preview/2020-07-01-privatepreview/examples/FirewallRuleCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleCreate.json new file mode 100644 index 000000000000..32033729928a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleDelete.json new file mode 100644 index 000000000000..03cd8a8ae18d --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleGet.json new file mode 100644 index 000000000000..9552656bc388 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRuleGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRulesListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRulesListByServer.json new file mode 100644 index 000000000000..98e8a3db4b98 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/FirewallRulesListByServer.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/firewallRules/rule2", + "name": "rule2", + "type": "Microsoft.DBforMySQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "1.0.0.0", + "endIpAddress": "255.0.0.0" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/OperationsList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/OperationsList.json new file mode 100644 index 000000000000..850bf4852be2 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/OperationsList.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "api-version": "2020-07-01-privatepreview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DBforMySQL/locations/performanceTiers/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Performance Tiers", + "operation": "List Performance Tiers", + "description": "Returns the list of Performance Tiers available." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Firewall Rules", + "operation": "List/Get Firewall Rules", + "description": "Return the list of firewall rules for a server or gets the properties for the specified firewall rule." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/write", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Firewall Rules", + "operation": "Create/Update Firewall Rule", + "description": "Creates a firewall rule with the specified parameters or update an existing rule." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/firewallRules/delete", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Firewall Rules", + "operation": "Delete Firewall Rule", + "description": "Deletes an existing firewall rule." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "MySQL Server", + "operation": "List/Get MySQL Servers", + "description": "Return the list of servers or gets the properties for the specified server." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/write", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "MySQL Server", + "operation": "Create/Update MySQL Server", + "description": "Creates a server with the specified parameters or update the properties or tags for the specified server." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/delete", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "MySQL Server", + "operation": "Delete MySQL Server", + "description": "Deletes an existing server." + } + }, + { + "name": "Microsoft.DBforMySQL/performanceTiers/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Performance Tiers", + "operation": "List Performance Tiers", + "description": "Returns the list of Performance Tiers available." + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/recoverableServers/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Recoverable MySQL Server", + "operation": "Get Recoverable MySQL Server info", + "description": "Return the recoverable MySQL Server info" + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Database Metric Definition", + "operation": "Get database metric definitions", + "description": "Return types of metrics that are available for databases" + }, + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "cpu_percent", + "displayName": "CPU percent", + "displayDescription": "CPU percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "memory_percent", + "displayName": "Memory percent", + "displayDescription": "Memory percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "io_consumption_percent", + "displayName": "IO percent", + "displayDescription": "IO percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "storage_percent", + "displayName": "Storage percentage", + "displayDescription": "Storage percentage", + "unit": "Percent", + "aggregationType": "Average" + }, + { + "name": "storage_used", + "displayName": "Storage used", + "displayDescription": "Storage used", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "storage_limit", + "displayName": "Storage limit", + "displayDescription": "Storage limit", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "serverlog_storage_percent", + "displayName": "Server Log storage percent", + "displayDescription": "Server Log storage percent", + "unit": "Percent", + "aggregationType": "Average" + }, + { + "name": "serverlog_storage_usage", + "displayName": "Server Log storage used", + "displayDescription": "Server Log storage used", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "serverlog_storage_limit", + "displayName": "Server Log storage limit", + "displayDescription": "Server Log storage limit", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "active_connections", + "displayName": "Total active connections", + "displayDescription": "Total active connections", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "connections_failed", + "displayName": "Total failed connections", + "displayDescription": "Total failed connections", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "seconds_behind_master", + "displayName": "Replication lag in seconds", + "displayDescription": "Replication lag in seconds", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + } + ] + } + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Database Metric Definition", + "operation": "Read diagnostic setting", + "description": "Gets the disagnostic setting for the resource" + } + }, + { + "name": "Microsoft.DBforMySQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft DB for MySQL", + "resource": "Database Metric Definition", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json new file mode 100644 index 000000000000..81d22cd3151f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ReplicasListByServer.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "serverName": "testprimary", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver", + "name": "testserver", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "northeurope", + "tags": { + "elasticServer": "1" + }, + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "storageProfile": { + "storageMB": 256000, + "storageIops": 200, + "backupRetentionDays": 35 + }, + "administratorLogin": "cloudsa", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "testserver.mysql.database.azure.com", + "version": "5.7", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "replicaCapacity": 0 + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver1", + "name": "testserver1", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "northeurope", + "tags": { + "elasticServer": "1" + }, + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "storageProfile": { + "storageMB": 256000, + "storageIops": 200, + "backupRetentionDays": 35 + }, + "administratorLogin": "cloudsa", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "testserver1.mysql.database.azure.com", + "version": "5.7", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "replicaCapacity": 0 + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver2", + "name": "testserver2", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "northeurope", + "tags": { + "elasticServer": "1" + }, + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "storageProfile": { + "storageMB": 256000, + "storageIops": 200, + "backupRetentionDays": 35 + }, + "administratorLogin": "cloudsa", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "testserver2.mysql.database.azure.com", + "version": "5.7", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testprimary", + "replicaCapacity": 0 + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json new file mode 100644 index 000000000000..428b56c8f4bf --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreate.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "administratorLogin": "cloudsa", + "administratorLoginPassword": "pass$w0rd", + "sslEnforcement": "Enabled", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "createMode": "Default" + }, + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "tags": { + "ElasticServer": "1" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "westus", + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "tags": { + "elasticServer": "1" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json new file mode 100644 index 000000000000..bc1f9f6d98b5 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateReplica.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "serverName": "targetserver", + "resourceGroupName": "TargetResourceGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "createMode": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 14 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver", + "replicaCapacity": 0 + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/targetserver", + "name": "targetserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "200": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 14 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com", + "replicationRole": "Replica", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/PrimaryResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/primaryserver", + "replicaCapacity": 0 + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/targetserver", + "name": "targetserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateWithPointInTimeRestore.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateWithPointInTimeRestore.json new file mode 100644 index 000000000000..4b3990b72432 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerCreateWithPointInTimeRestore.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "serverName": "targetserver", + "resourceGroupName": "TargetResourceGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "brazilsouth", + "properties": { + "restorePointInTime": "2017-12-14T00:00:37.467Z", + "createMode": "PointInTimeRestore", + "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforMySQL/flexibleServers/sourceserver" + }, + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "tags": { + "ElasticServer": "1" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com" + }, + "location": "brazilsouth", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/targetserver", + "name": "targetserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/targetserver", + "name": "targetserver", + "type": "Microsoft.DBforMySQL/flexibleServers", + "location": "brazilsouth", + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "tags": { + "elasticServer": "1" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "targetserver.mysql.database.azure.com" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerDelete.json new file mode 100644 index 000000000000..11f8c32f160e --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json new file mode 100644 index 000000000000..7cbb5a26261b --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D14_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", + "earliestRestoreDate": "2020-03-14T18:02:41.577+00:00", + "replicationRole": "None", + "sourceServerId": "", + "replicaCapacity": 5, + "publicNetworkAccess": "Enabled", + "haEnabled": "Enabled", + "haState": "Healthy", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + }, + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json new file mode 100644 index 000000000000..389a8dd0ee29 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerGetWithVnet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "serverName": "mysqltestsrv", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsrv.mysql.database.azure.com", + "replicationRole": "None", + "sourceServerId": "", + "replicaCapacity": 5, + "publicNetworkAccess": "Disabled", + "haEnabled": "Disabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsrv", + "name": "mysqltestsrv", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyCreate.json new file mode 100644 index 000000000000..fa91152a79d9 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyCreate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-privatepreview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyDelete.json new file mode 100644 index 000000000000..09475f2b43b8 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-privatepreview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyGet.json new file mode 100644 index 000000000000..18d96d5f825b --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeyGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-07-01-privatepreview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeysListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeysListByServer.json new file mode 100644 index 000000000000..c54140e20c4f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerKeysListByServer.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "api-version": "2020-07-01-privatepreview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBForMySql/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforMySQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerRestart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerRestart.json new file mode 100644 index 000000000000..3d861c30dec3 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerRestart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStart.json new file mode 100644 index 000000000000..3d861c30dec3 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStop.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStop.json new file mode 100644 index 000000000000..3d861c30dec3 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json new file mode 100644 index 000000000000..5fc1612264ac --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "administratorLoginPassword": "newpa$$w0rd", + "sslEnforcement": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Disabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", + "haEnabled": "Enabled", + "haState": "Healthy", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + }, + "delegatedSubnetArguments": {} + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json new file mode 100644 index 000000000000..417d0843ccfb --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serverName": "mysqltestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "maintenanceWindow": { + "customWindow": "Enabled", + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0 + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storageProfile": { + "storageMB": 128000, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Disabled", + "publicNetworkAccess": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc4.mysql.database.azure.com", + "haEnabled": "Disabled", + "haState": "NotEnabled", + "availabilityZone": "1", + "standbyAvailabilityZone": null, + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + }, + "delegatedSubnetArguments": {} + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4", + "name": "mysqltestsvc4", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersList.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersList.json new file mode 100644 index 000000000000..07bb843e2ef6 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 5120, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc1.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1", + "name": "mysqltestsvc1", + "type": "Microsoft.DBforMySQL/flexibleServers" + }, + { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 5120, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltstsvc2.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltstsvc2", + "name": "mysqltstsvc2", + "type": "Microsoft.DBforMySQL/flexibleServers" + }, + { + "sku": { + "name": "Standard_D13_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 102400, + "storageIops": 200, + "backupRetentionDays": 35 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc3.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg1/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc3", + "name": "mysqltestsvc3", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersListByResourceGroup.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersListByResourceGroup.json new file mode 100644 index 000000000000..e782700573d2 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/examples/ServersListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_D12_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 5120, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestsvc1.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc1", + "name": "mysqltestsvc1", + "type": "Microsoft.DBforMySQL/flexibleServers" + }, + { + "sku": { + "name": "Standard_D13_v2", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "testuser", + "storageProfile": { + "storageMB": 5120, + "storageIops": 200, + "backupRetentionDays": 7 + }, + "version": "5.7", + "sslEnforcement": "Enabled", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltstsvc2.mysql.database.azure.com", + "publicNetworkAccess": "Enabled" + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltstsvc2", + "name": "mysqltstsvc2", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json new file mode 100644 index 000000000000..d7e237cea7cb --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json @@ -0,0 +1,2474 @@ +{ + "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": "2020-07-01-privatepreview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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}": { + "put": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Create", + "x-ms-examples": { + "Create a new server": { + "$ref": "./examples/ServerCreate.json" + }, + "Create a server as a point in time restore": { + "$ref": "./examples/ServerCreateWithPointInTimeRestore.json" + }, + "Create a replica server": { + "$ref": "./examples/ServerCreateReplica.json" + } + }, + "description": "Creates a new server or updates an existing server. The update action will overwrite the existing server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Server" + }, + "description": "The required parameters for creating or updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Update", + "x-ms-examples": { + "Update a server": { + "$ref": "./examples/ServerUpdate.json" + }, + "Update server customer maintenance window": { + "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" + } + }, + "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServerForUpdate" + }, + "description": "The required parameters for updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Delete", + "x-ms-examples": { + "Delete a server": { + "$ref": "./examples/ServerDelete.json" + } + }, + "description": "Deletes a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Get", + "x-ms-examples": { + "Get a server": { + "$ref": "./examples/ServerGet.json" + }, + "Get a server with vnet": { + "$ref": "./examples/ServerGetWithVnet.json" + } + }, + "description": "Gets information about a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_ListByResourceGroup", + "x-ms-examples": { + "List servers in a resource group": { + "$ref": "./examples/ServersListByResourceGroup.json" + } + }, + "description": "List all the servers in a given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/flexibleServers": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_List", + "x-ms-examples": { + "List servers in a subscription": { + "$ref": "./examples/ServersList.json" + } + }, + "description": "List all the servers in a given subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/restart": { + "post": { + "tags": [ + "ServerRestart" + ], + "operationId": "Servers_Restart", + "x-ms-examples": { + "Restart a server": { + "$ref": "./examples/ServerRestart.json" + } + }, + "description": "Restarts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/start": { + "post": { + "tags": [ + "ServerStart" + ], + "operationId": "Servers_Start", + "x-ms-examples": { + "Start a server": { + "$ref": "./examples/ServerStart.json" + } + }, + "description": "Starts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/stop": { + "post": { + "tags": [ + "ServerStop" + ], + "operationId": "Servers_Stop", + "x-ms-examples": { + "Stop a server": { + "$ref": "./examples/ServerStop.json" + } + }, + "description": "Stops a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/replicas": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Replicas_ListByServer", + "x-ms-examples": { + "List replicas for a server": { + "$ref": "./examples/ReplicasListByServer.json" + } + }, + "description": "List all the replicas for a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/keys/{keyName}": { + "put": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_CreateOrUpdate", + "x-ms-examples": { + "Creates or updates a MySQL Server key": { + "$ref": "./examples/ServerKeyCreate.json" + } + }, + "description": "Creates or updates a MySQL Server key.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested MySQL Server key resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerKey" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_Delete", + "x-ms-examples": { + "Delete the MySQL Server key": { + "$ref": "./examples/ServerKeyDelete.json" + } + }, + "description": "Deletes the MySQL Server key with the given name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_Get", + "x-ms-examples": { + "Get a server key": { + "$ref": "./examples/ServerKeyGet.json" + } + }, + "description": "Gets a server key.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/KeyNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/keys": { + "get": { + "tags": [ + "ServerKeys" + ], + "operationId": "ServerKeys_ListByServer", + "x-ms-examples": { + "List the keys for a server.": { + "$ref": "./examples/ServerKeysListByServer.json" + } + }, + "description": "Gets a list of Server keys.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/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": "#/definitions/CloudError" + } + } + }, + "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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/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": "#/definitions/CloudError" + } + } + }, + "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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/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": "#/definitions/CloudError" + } + } + }, + "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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/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": "#/definitions/CloudError" + } + } + }, + "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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySql/flexibleServers/{serverName}/configurations/{configurationName}": { + "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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/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": "#/definitions/CloudError" + } + } + }, + "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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/locations/{locationName}/capabilities": { + "get": { + "tags": [ + "LocationBasedCapabilities" + ], + "operationId": "LocationBasedCapabilities_List", + "x-ms-examples": { + "CapabilitiesList": { + "$ref": "./examples/CapabilitiesByLocationList.json" + } + }, + "description": "Get capabilities at specified location in a given subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + } + ], + "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}/providers/Microsoft.DBForMySql/locations/{locationName}/checkVirtualNetworkSubnetUsage": { + "post": { + "tags": [ + "CheckVirtualNetworkSubnetUsage" + ], + "operationId": "CheckVirtualNetworkSubnetUsage_Execute", + "x-ms-examples": { + "CapabilitiesList": { + "$ref": "./examples/CheckVirtualNetworkSubnetUsage.json" + } + }, + "description": "Get virtual network subnet usage for a given vNet resource id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageParameter" + }, + "description": "The required parameters for creating or updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySql/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability_Execute", + "x-ms-examples": { + "Check name availability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "description": "Check the availability of name for server", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityRequest" + }, + "description": "The required parameters for checking if server name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.DBForMySql/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationList": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "Lists all of the available REST API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ServerVersion": { + "type": "string", + "description": "The version of a server.", + "enum": [ + "5.7" + ], + "x-ms-enum": { + "name": "ServerVersion", + "modelAsString": true + } + }, + "SslEnforcement": { + "type": "string", + "description": "Enable ssl enforcement or not when connect to server.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SslEnforcementEnum", + "modelAsString": true + } + }, + "InfrastructureEncryption": { + "type": "string", + "description": "Add a second layer of encryption for your data using new encryption algorithm which gives additional data protection. Value is optional but if passed in, must be 'Disabled' or 'Enabled'.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InfrastructureEncryptionEnum", + "modelAsString": true + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessEnum", + "modelAsString": true + } + }, + "HaEnabled": { + "type": "string", + "description": "Whether or not HA is enabled for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HaEnabledEnum", + "modelAsString": true + } + }, + "DelegatedSubnetArguments": { + "properties": { + "subnetArmResourceId": { + "type": "string", + "description": "delegated subnet arm resource id." + } + }, + "description": "Delegated subnet arguments of a server" + }, + "MaintenanceWindow": { + "type": "object", + "description": "Maintenance window of a server.", + "properties": { + "customWindow": { + "type": "string", + "description": "indicates whether custom window is enabled or disabled" + }, + "startHour": { + "type": "integer", + "format": "int32", + "description": "start hour for maintenance window" + }, + "startMinute": { + "type": "integer", + "format": "int32", + "description": "start minute for maintenance window" + }, + "dayOfWeek": { + "type": "integer", + "format": "int32", + "description": "day of week for maintenance window" + } + } + }, + "StorageProfile": { + "properties": { + "backupRetentionDays": { + "type": "integer", + "format": "int32", + "description": "Backup retention days for the server." + }, + "storageMB": { + "type": "integer", + "format": "int32", + "description": "Max storage allowed for a server." + }, + "storageIops": { + "type": "integer", + "format": "int32", + "description": "Storage IOPS for a server." + }, + "storageAutogrow": { + "type": "string", + "description": "Enable Storage Auto Grow.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "StorageAutogrow", + "modelAsString": true + } + } + }, + "description": "Storage Profile properties of a server" + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the sku, e.g. Standard_D32s_v3." + }, + "tier": { + "type": "string", + "description": "The tier of the particular SKU, e.g. GeneralPurpose.", + "enum": [ + "Burstable", + "GeneralPurpose", + "MemoryOptimized" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + }, + "required": [ + "name", + "tier" + ], + "description": "Billing information related properties of a server." + }, + "ServerProperties": { + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "administratorLoginPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "description": "The password of the administrator login (required for server creation).", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "version": { + "$ref": "#/definitions/ServerVersion", + "description": "Server version." + }, + "sslEnforcement": { + "$ref": "#/definitions/SslEnforcement", + "description": "Enable ssl enforcement or not when connect to server." + }, + "infrastructureEncryption": { + "$ref": "#/definitions/InfrastructureEncryption", + "description": "Status showing whether the server enabled infrastructure encryption.", + "x-ms-mutability": [ + "create" + ] + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The state of a server.", + "enum": [ + "Ready", + "Dropping", + "Disabled", + "Starting", + "Stopping", + "Stopped", + "Updating" + ], + "x-ms-enum": { + "name": "ServerState", + "modelAsString": true + } + }, + "haState": { + "type": "string", + "readOnly": true, + "description": "The state of a HA server.", + "enum": [ + "NotEnabled", + "CreatingStandby", + "ReplicatingData", + "FailingOver", + "Healthy", + "RemovingStandby" + ], + "x-ms-enum": { + "name": "ServerHAState", + "modelAsString": true + } + }, + "haEnabled": { + "$ref": "#/definitions/HaEnabled", + "description": "Enable HA or not for a server." + }, + "fullyQualifiedDomainName": { + "type": "string", + "description": "The fully qualified domain name of a server.", + "readOnly": true + }, + "earliestRestoreDate": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Earliest restore point creation time (ISO8601 format)" + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage profile of a server." + }, + "replicationRole": { + "type": "string", + "description": "The replication role." + }, + "replicaCapacity": { + "type": "integer", + "format": "int32", + "minimum": 0, + "readOnly": true, + "description": "The maximum number of replicas that a primary server can have." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess", + "readOnly": true, + "description": "Whether or not public network access is allowed for this server. Value is optional but if passed in, must be 'Enabled' or 'Disabled'" + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, + "sourceServerId": { + "type": "string", + "description": "The source MySQL server id.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "restorePointInTime": { + "type": "string", + "format": "date-time", + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from.", + "x-ms-mutability": [ + "create" + ] + }, + "availabilityZone": { + "type": "string", + "description": "availability Zone information of the server." + }, + "standbyAvailabilityZone": { + "type": "string", + "description": "availability Zone information of the server.", + "readOnly": true + }, + "byokEnforcement": { + "type": "string", + "description": "Status showing whether the data encryption is enabled with customer-managed keys.", + "readOnly": true + }, + "delegatedSubnetArguments": { + "$ref": "#/definitions/DelegatedSubnetArguments", + "description": "Delegated subnet arguments." + }, + "createMode": { + "type": "string", + "description": "The mode to create a new MySQL server.", + "enum": [ + "Default", + "PointInTimeRestore", + "Replica" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + }, + "description": "The properties of a server." + }, + "Server": { + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity", + "description": "The Azure Active Directory identity of the server." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerProperties", + "x-ms-client-flatten": true, + "description": "Properties of the server." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Represents a server." + }, + "ServerPropertiesForUpdate": { + "properties": { + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage profile of a server." + }, + "administratorLoginPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "description": "The password of the administrator login." + }, + "sslEnforcement": { + "$ref": "#/definitions/SslEnforcement", + "description": "Enable ssl enforcement or not when connect to server." + }, + "delegatedSubnetArguments": { + "$ref": "#/definitions/DelegatedSubnetArguments", + "description": "Delegated subnet arguments." + }, + "haEnabled": { + "$ref": "#/definitions/HaEnabled", + "description": "Enable HA or not for a server." + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, + "replicationRole": { + "type": "string", + "description": "The replication role of the server." + } + }, + "description": "The properties that can be updated for a server." + }, + "ServerForUpdate": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerPropertiesForUpdate", + "x-ms-client-flatten": true, + "description": "The properties that can be updated for a server." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + }, + "description": "Parameters allowed to update for a server." + }, + "ServerListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Server" + }, + "description": "The list of servers" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of servers." + }, + "ServerKeyProperties": { + "description": "Properties for a key execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "serverKeyType": { + "description": "The key type like 'AzureKeyVault'.", + "enum": [ + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + } + }, + "uri": { + "description": "The URI of the key.", + "type": "string" + }, + "creationDate": { + "format": "date-time", + "description": "The key creation date.", + "type": "string", + "readOnly": true + } + } + }, + "ServerKey": { + "description": "A MySQL Server key.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector used to protect the key.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerKeyProperties", + "description": "Properties of the ServerKey Resource.", + "x-ms-client-flatten": true + } + } + }, + "ServerKeyListResult": { + "description": "A list of MySQL Server keys.", + "type": "object", + "properties": { + "value": { + "description": "A list of MySQL Server keys.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerKey" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "FirewallRuleProperties": { + "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": { + "properties": { + "properties": { + "$ref": "#/definitions/FirewallRuleProperties", + "x-ms-client-flatten": true, + "description": "The properties of a firewall rule." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/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." + }, + "DatabaseProperties": { + "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": { + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "x-ms-client-flatten": true, + "description": "The properties of a database." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/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." + }, + "ConfigurationProperties": { + "properties": { + "value": { + "type": "string", + "description": "Value of the configuration." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the configuration." + }, + "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." + }, + "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": { + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "x-ms-client-flatten": true, + "description": "The properties of a configuration." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/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." + }, + "VirtualNetworkSubnetUsageParameter": { + "type": "object", + "properties": { + "virtualNetworkArmResourceId": { + "type": "string", + "description": "Virtual network resource id." + } + }, + "description": "Virtual network subnet usage parameter" + }, + "DelegatedSubnetUsage": { + "type": "object", + "properties": { + "subnetName": { + "type": "string", + "readOnly": true, + "description": "name of the subnet" + }, + "usage": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Number of used delegated subnets" + } + }, + "description": "Delegated subnet usage data." + }, + "VirtualNetworkSubnetUsageResult": { + "type": "object", + "properties": { + "delegatedSubnetsUsage": { + "description": "A list of delegated subnet usage", + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedSubnetUsage" + }, + "readOnly": true + } + }, + "description": "Virtual network subnet usage data." + }, + "StorageMBCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "storage MB name", + "readOnly": true + }, + "storageSizeMB": { + "type": "integer", + "format": "int64", + "description": "storage size in MB", + "readOnly": true + } + }, + "description": "storage size in MB capability" + }, + "VcoreCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "vCore name", + "readOnly": true + }, + "vCores": { + "type": "integer", + "format": "int64", + "description": "supported vCores", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "supportedMemoryPerVcoreMB": { + "type": "integer", + "format": "int64", + "description": "supported memory per vCore in MB", + "readOnly": true + } + }, + "description": "Vcores capability" + }, + "ServerVersionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "server version", + "readOnly": true + }, + "supportedVcores": { + "description": "A list of supported Vcores", + "type": "array", + "items": { + "$ref": "#/definitions/VcoreCapability" + }, + "readOnly": true + } + }, + "description": "Server version capabilities." + }, + "StorageEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "storage edition name", + "readOnly": true + }, + "minStorageSize": { + "description": "The minimal supported storage size in MB", + "$ref": "#/definitions/StorageMBCapability", + "readOnly": true + }, + "maxStorageSize": { + "description": "The maximum supported storage size in MB", + "$ref": "#/definitions/StorageMBCapability", + "readOnly": true + }, + "minBackupRetentionDays": { + "type": "integer", + "format": "int64", + "description": "Minimal backup retention days", + "readOnly": true + }, + "maxBackupRetentionDays": { + "type": "integer", + "format": "int64", + "description": "Maximum backup retention days", + "readOnly": true + } + }, + "description": "storage edition capability" + }, + "ServerEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "Server edition name", + "readOnly": true + }, + "supportedStorageEditions": { + "description": "A list of supported storage editions", + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "readOnly": true + }, + "supportedServerVersions": { + "description": "A list of supported server versions.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "readOnly": true + } + }, + "description": "Server edition capabilities." + }, + "CapabilityProperties": { + "properties": { + "zone": { + "type": "string", + "description": "zone name", + "readOnly": true + }, + "supportedFlexibleServerEditions": { + "description": "A list of supported flexible server editions.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerEditionCapability" + }, + "readOnly": true + } + }, + "description": "Location capabilities." + }, + "CapabilitiesListResult": { + "type": "object", + "properties": { + "value": { + "description": "A list of supported capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + }, + "description": "location capability" + }, + "OperationDisplay": { + "properties": { + "provider": { + "type": "string", + "readOnly": true, + "description": "Operation resource provider name." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "Resource on which the operation is performed." + }, + "operation": { + "type": "string", + "readOnly": true, + "description": "Localized friendly name for the operation." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Operation description." + } + }, + "description": "Display metadata associated with the operation." + }, + "Operation": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation being performed on this particular object." + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "readOnly": true, + "description": "The localized display information for this particular operation or action." + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The intended executor of the operation.", + "enum": [ + "NotSpecified", + "user", + "system" + ], + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false, + "description": "Additional descriptions for the operation." + } + }, + "description": "REST API operation definition." + }, + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "The list of resource provider operations." + } + }, + "description": "A list of resource provider operations." + }, + "NameAvailabilityRequest": { + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Resource name to verify." + }, + "type": { + "type": "string", + "description": "Resource type used for verification." + } + }, + "description": "Request from client to check resource name availability." + }, + "NameAvailability": { + "properties": { + "message": { + "type": "string", + "description": "Error Message." + }, + "nameAvailable": { + "type": "boolean", + "description": "Indicates whether the resource name is available." + }, + "reason": { + "type": "string", + "description": "Reason for name being unavailable." + } + }, + "description": "Represents a resource name availability." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The resource management error response." + } + }, + "description": "An error response from the Batch service." + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "x-ms-parameter-location": "method" + }, + "FirewallRuleNameParameter": { + "name": "firewallRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server firewall rule.", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the database.", + "x-ms-parameter-location": "method" + }, + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server configuration.", + "x-ms-parameter-location": "method" + }, + "LocationNameParameter": { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the location.", + "x-ms-parameter-location": "method" + }, + "KeyNameParameter": { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server key.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json new file mode 100644 index 000000000000..3e7848ff5ee7 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json @@ -0,0 +1,242 @@ +{ + "swagger": "2.0", + "info": { + "version": "2017-12-01", + "title": "MySQLManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files, encryption keys, active directory administrator and configurations." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Get a server's security alert policy.", + "operationId": "ServerSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "Error response describing why the operation of getting security alert policies failed." + } + }, + "x-ms-examples": { + "Get a server's threat detection policy": { + "$ref": "./examples/ServerSecurityAlertsGet.json" + } + } + }, + "put": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Creates or updates a threat detection policy.", + "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the threat detection policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The server security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "Error response describing why the operation of setting security alert policies failed." + }, + "202": { + "description": "Created request to set the server threat detection policy." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server's threat detection policy with all parameters": { + "$ref": "./examples/ServerSecurityAlertsCreateMax.json" + }, + "Update a server's threat detection policy with minimal parameters": { + "$ref": "./examples/ServerSecurityAlertsCreateMin.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerSecurityAlertPolicyState", + "modelAsString": false + } + }, + "disabledAlerts": { + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly", + "type": "array", + "items": { + "type": "string" + } + }, + "emailAddresses": { + "description": "Specifies an array of e-mail addresses to which the alert is sent.", + "type": "array", + "items": { + "type": "string" + } + }, + "emailAccountAdmins": { + "description": "Specifies that the alert is sent to the account administrators.", + "type": "boolean" + }, + "storageEndpoint": { + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.", + "type": "string" + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the Threat Detection audit storage account.", + "type": "string" + }, + "retentionDays": { + "format": "int32", + "description": "Specifies the number of days to keep in the Threat Detection audit logs.", + "type": "integer" + } + } + }, + "ServerSecurityAlertPolicy": { + "description": "A server security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "x-ms-parameter-location": "method" + }, + "SecurityAlertPolicyNameParameter": { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json index 355fccb1b110..9a9febae0725 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -329,7 +329,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/replicas": { "get": { "tags": [ "Replicas" @@ -368,7 +368,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMySQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForMySQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,127 +1334,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get a server's security alert policy.", - "operationId": "ServerSecurityAlertPolicies_Get", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the security alert policy.", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "SecurityAlertPolicyName", - "modelAsString": true - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the server threat detection policy.", - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - "default": { - "description": "Error response describing why the operation of getting security alert policies failed." - } - }, - "x-ms-examples": { - "Get a server's threat detection policy": { - "$ref": "./examples/ServerSecurityAlertsGet.json" - } - } - }, - "put": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Creates or updates a threat detection policy.", - "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the threat detection policy.", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "SecurityAlertPolicyName", - "modelAsString": true - } - }, - { - "name": "parameters", - "in": "body", - "description": "The server security alert policy.", - "required": true, - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the threat detection policy.", - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - "default": { - "description": "Error response describing why the operation of setting security alert policies failed." - }, - "202": { - "description": "Created request to set the server threat detection policy." - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Update a server's threat detection policy with all parameters": { - "$ref": "./examples/ServerSecurityAlertsCreateMax.json" - }, - "Update a server's threat detection policy with minimal parameters": { - "$ref": "./examples/ServerSecurityAlertsCreateMin.json" - } - } - } - }, - "/providers/Microsoft.DBforMySQL/operations": { + "/providers/Microsoft.DBForMySQL/operations": { "get": { "tags": [ "Operations" @@ -1651,30 +1531,6 @@ } } }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1961,6 +1817,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2010,7 +1869,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2568,74 +2427,6 @@ }, "description": "Represents a resource name availability." }, - "SecurityAlertPolicyProperties": { - "description": "Properties of a security alert policy.", - "required": [ - "state" - ], - "type": "object", - "properties": { - "state": { - "description": "Specifies the state of the policy, whether it is enabled or disabled.", - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "ServerSecurityAlertPolicyState", - "modelAsString": false - } - }, - "disabledAlerts": { - "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly", - "type": "array", - "items": { - "type": "string" - } - }, - "emailAddresses": { - "description": "Specifies an array of e-mail addresses to which the alert is sent.", - "type": "array", - "items": { - "type": "string" - } - }, - "emailAccountAdmins": { - "description": "Specifies that the alert is sent to the account administrators.", - "type": "boolean" - }, - "storageEndpoint": { - "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.", - "type": "string" - }, - "storageAccountAccessKey": { - "description": "Specifies the identifier key of the Threat Detection audit storage account.", - "type": "string" - }, - "retentionDays": { - "format": "int32", - "description": "Specifies the number of days to keep in the Threat Detection audit logs.", - "type": "integer" - } - } - }, - "ServerSecurityAlertPolicy": { - "description": "A server security alert policy.", - "type": "object", - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SecurityAlertPolicyProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - } - } - }, "CloudError": { "x-ms-external": true, "properties": { @@ -2756,17 +2547,6 @@ "type": "string", "description": "The name of the location.", "x-ms-parameter-location": "method" - }, - "SecurityAlertPolicyNameParameter": { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the security alert policy.", - "required": true, - "type": "string", - "enum": [ - "default" - ], - "x-ms-parameter-location": "method" } } } diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/Servers.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/Servers.json new file mode 100644 index 000000000000..a14a3a2e4cfb --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/Servers.json @@ -0,0 +1,205 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-01-01", + "title": "MySQLManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files, encryption keys, active directory administrator and configurations." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/start": { + "post": { + "tags": [ + "ServerStart" + ], + "operationId": "Servers_Start", + "x-ms-examples": { + "ServerStart": { + "$ref": "./examples/ServerStart.json" + } + }, + "description": "Starts a stopped server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/stop": { + "post": { + "tags": [ + "ServerStop" + ], + "operationId": "Servers_Stop", + "x-ms-examples": { + "ServerStop": { + "$ref": "./examples/ServerStop.json" + } + }, + "description": "Stops a running server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/upgrade": { + "post": { + "tags": [ + "ServerUpgrade" + ], + "operationId": "Servers_Upgrade", + "x-ms-examples": { + "ServerUpgrade": { + "$ref": "./examples/ServerUpgrade.json" + } + }, + "description": "Upgrade server version.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServerUpgradeParameters" + }, + "description": "The required parameters for updating a server." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "Error message" + } + }, + "description": "An error response from the Batch service." + }, + "ServerUpgradeParameters": { + "properties": { + "properties": { + "properties": { + "targetServerVersion": { + "type": "string", + "description": "Represents an server storage profile." + } + }, + "x-ms-client-flatten": true, + "description": "The properties that can be updated for a server." + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "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/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerStart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerStart.json new file mode 100644 index 000000000000..0f0e59819577 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-01-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerStop.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerStop.json new file mode 100644 index 000000000000..0f0e59819577 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-01-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerUpgrade.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerUpgrade.json new file mode 100644 index 000000000000..ae59ddbce340 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2020-01-01/examples/ServerUpgrade.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-01-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "targetServerVersion": "5.7" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/readme.azureresourceschema.md b/specification/mysql/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c16bc7ae0e11 --- /dev/null +++ b/specification/mysql/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,65 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-dbformysql-2020-01-01 + - tag: schema-dbformysql-2018-06-01 + - tag: schema-dbformysql-2017-12-01-preview + - tag: schema-dbformysql-2017-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-dbformysql-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformysql-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMySQL/stable/2020-01-01/DataEncryptionKeys.json + - Microsoft.DBforMySQL/stable/2020-01-01/Servers.json + +``` + +### Tag: schema-dbformysql-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformysql-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json + - Microsoft.DBforMySQL/stable/2018-06-01/PerformanceRecommendations.json + - Microsoft.DBforMySQL/stable/2018-06-01/PrivateEndpointConnections.json + - Microsoft.DBforMySQL/stable/2018-06-01/PrivateLinkResources.json + +``` + +### Tag: schema-dbformysql-2017-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-dbformysql-2017-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json + +``` + +### Tag: schema-dbformysql-2017-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbformysql-2017-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforMySQL/stable/2017-12-01/mysql.json + - Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json + +``` diff --git a/specification/mysql/resource-manager/readme.cli.md b/specification/mysql/resource-manager/readme.cli.md index 18620233c14b..3b1199f24bc9 100644 --- a/specification/mysql/resource-manager/readme.cli.md +++ b/specification/mysql/resource-manager/readme.cli.md @@ -41,4 +41,7 @@ cli: - name: FirewallRuleDelete - name: DatabaseDelete - name: ServerDelete + - name: ServerStart + - name: ServerStop + - name: ServerUpgrade ``` \ No newline at end of file diff --git a/specification/mysql/resource-manager/readme.md b/specification/mysql/resource-manager/readme.md index eff821babee7..72098bc5cf51 100644 --- a/specification/mysql/resource-manager/readme.md +++ b/specification/mysql/resource-manager/readme.md @@ -49,6 +49,7 @@ These settings apply only when `--tag=package-2017-12-01` is specified on the co ``` yaml $(tag) == 'package-2017-12-01' input-file: - Microsoft.DBforMySQL/stable/2017-12-01/mysql.json +- Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json ``` @@ -71,6 +72,7 @@ These settings apply only when `--tag=package-2018-06-01` is specified on the co ``` yaml $(tag) == 'package-2018-06-01' input-file: - Microsoft.DBforMySQL/stable/2017-12-01/mysql.json +- Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json - Microsoft.DBforMySQL/stable/2018-06-01/PerformanceRecommendations.json - Microsoft.DBforMySQL/stable/2018-06-01/PrivateEndpointConnections.json @@ -94,11 +96,36 @@ These settings apply only when `--tag=package-2020-01-01` is specified on the co ``` yaml $(tag) == 'package-2020-01-01' input-file: - Microsoft.DBforMySQL/stable/2017-12-01/mysql.json +- Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - Microsoft.DBforMySQL/stable/2018-06-01/QueryPerformanceInsights.json - Microsoft.DBforMySQL/stable/2018-06-01/PerformanceRecommendations.json - Microsoft.DBforMySQL/stable/2018-06-01/PrivateEndpointConnections.json - Microsoft.DBforMySQL/stable/2018-06-01/PrivateLinkResources.json - Microsoft.DBforMySQL/stable/2020-01-01/DataEncryptionKeys.json +- Microsoft.DBforMySQL/stable/2020-01-01/Servers.json +``` + +### Tag: package-2020-07-01-privatepreview + +These settings apply only when `--tag=package-2020-07-01-privatepreview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-01-privatepreview' +input-file: +- Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json +``` + +## Suppression +``` yaml +directive: + - suppress: PathResourceProviderNamePascalCase + from: ServerSecurityAlertPolicies.json + reason: The name of the provider is Microsoft.DBforMySQL + - suppress: PathResourceProviderNamePascalCase + from: Servers.json + reason: The name of the provider is Microsoft.DBforMySQL + - suppress: OperationsApiResponseSchema + from: mysql.json + reason: Property isDataAction is not included in get operation reponse body ``` --- @@ -118,6 +145,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js mysql/resource-manager ``` @@ -171,6 +201,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -185,6 +219,7 @@ require: $(this-folder)/../../../profiles/readme.md input-file: - $(this-folder)/Microsoft.DBforMySQL/preview/2017-12-01-preview/mysql.json - $(this-folder)/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json + - $(this-folder)/Microsoft.DBforMySQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - $(this-folder)/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/mysql.json - $(this-folder)/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json - $(this-folder)/Microsoft.DBforMySQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json @@ -194,6 +229,8 @@ input-file: - $(this-folder)/Microsoft.DBforMySQL/stable/2018-06-01/PrivateLinkResources.json - $(this-folder)/Microsoft.DBforMySQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json - $(this-folder)/Microsoft.DBforMySQL/stable/2020-01-01/DataEncryptionKeys.json + - $(this-folder)/Microsoft.DBforMySQL/stable/2020-01-01/Servers.json + - $(this-folder)/Microsoft.DBforMySQL/preview/2020-07-01-privatepreview/mysql.json ``` diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-08-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-08-01/netapp.json index a3a8d6aa40a1..e71fd281e583 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-08-01/netapp.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-08-01/netapp.json @@ -1998,7 +1998,7 @@ "title": "replicationSchedule", "type": "string", "description": "Schedule", - "example": "10minutely, hourly, daily, weekly, monthly" + "example": "10minutely, hourly, daily" }, "remoteVolumeResourceId": { "title": "remoteVolumeResourceId", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json index 6a0529befb33..57334c79c13a 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-10-01/netapp.json @@ -2241,9 +2241,7 @@ "enum": [ "_10minutely", "hourly", - "daily", - "weekly", - "monthly" + "daily" ], "x-ms-enum": { "name": "ReplicationSchedule", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json index d5e2a155ee23..5c54e45f30f8 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2019-11-01/netapp.json @@ -2272,9 +2272,7 @@ "enum": [ "_10minutely", "hourly", - "daily", - "weekly", - "monthly" + "daily" ], "x-ms-enum": { "name": "ReplicationSchedule", diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..a92803c51866 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-02-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..73318329f900 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-02-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..650dae48ea96 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_List.json new file mode 100644 index 000000000000..20bf56f7ab11 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "api-version": "2020-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..6f490d914fab --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Accounts_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-02-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/CheckFilePathAvailability.json new file mode 100644 index 000000000000..d22d7fb12956 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/CheckFilePathAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-02-01", + "body": { + "name": "my-exact-filepth", + "type": "netAppAccount/capacityPools/volume", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..e88547f488f2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-02-01", + "body": { + "name": "accName", + "type": "netAppAccount", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_CreateOrUpdate.json new file mode 100644 index 000000000000..0c84941500f6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_CreateOrUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-02-01", + "body": { + "location": "eastus", + "properties": { + "size": 4398046511104, + "serviceLevel": "Premium" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Delete.json new file mode 100644 index 000000000000..ec4d53b2a043 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-02-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Get.json new file mode 100644 index 000000000000..7f51ad721b64 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_List.json new file mode 100644 index 000000000000..6041f5c45e29 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Update.json new file mode 100644 index 000000000000..22ff984d8db4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Pools_Update.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-02-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Create.json new file mode 100644 index 000000000000..9a91b1377ca4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-02-01", + "body": { + "location": "eastus" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Delete.json new file mode 100644 index 000000000000..bbebd4cc739d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-02-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Get.json new file mode 100644 index 000000000000..9c9788cb7003 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_List.json new file mode 100644 index 000000000000..e1addd43c6ac --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Update.json new file mode 100644 index 000000000000..68a38dca23c2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Snapshots_Update.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-02-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_AuthorizeReplication.json new file mode 100644 index 000000000000..872217886089 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_AuthorizeReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01", + "body": { + "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_BreakReplication.json new file mode 100644 index 000000000000..685aa75809e6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_BreakReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_CreateOrUpdate.json new file mode 100644 index 000000000000..b0e980a445bc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_CreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01", + "body": { + "location": "eastus", + "properties": { + "creationToken": "my-unique-file-path", + "serviceLevel": "Premium", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..a85d2dbf0ced --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_DeleteReplication.json new file mode 100644 index 000000000000..685aa75809e6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_DeleteReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..0c502a96678c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_List.json new file mode 100644 index 000000000000..c8db3c512780 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_ReplicationStatus.json new file mode 100644 index 000000000000..069d68c9e744 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_ReplicationStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Mirrored", + "totalProgress": "1048576", + "errorMessage": "" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_ResyncReplication.json new file mode 100644 index 000000000000..685aa75809e6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_ResyncReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Revert.json new file mode 100644 index 000000000000..fe15aa214f3b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Revert.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01", + "body": { + "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Update.json new file mode 100644 index 000000000000..41f296668ba0 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/examples/Volumes_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-02-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json new file mode 100644 index 000000000000..91bd33676782 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-02-01/netapp.json @@ -0,0 +1,2768 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft NetApp", + "description": "Microsoft NetApp Azure Resource Provider specification", + "version": "2020-02-01", + "x-ms-code-generation-settings": { + "name": "AzureNetAppFilesManagementClient" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "host": "management.azure.com", + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.NetApp/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Describes the Resource Provider", + "description": "Lists all of the available Microsoft.NetApp Rest API operations", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check resource name availability", + "description": "Check if a resource name is available.", + "operationId": "NetAppResource_CheckNameAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceNameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "examples/CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check file path availability", + "description": "Check if a file path is available.", + "operationId": "NetAppResource_CheckFilePathAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "File path availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceNameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckFilePathAvailability": { + "$ref": "examples/CheckFilePathAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a resource group", + "description": "List and describe all NetApp accounts in the resource group.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_List": { + "$ref": "examples/Accounts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": { + "get": { + "summary": "Describe a NetApp Account", + "description": "Get the NetApp account", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "summary": "Create or update a NetApp account", + "description": "Create or update the specified NetApp account within the resource group", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "Account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "examples/Accounts_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Delete", + "summary": "Delete a NetApp account", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "Delete the specified NetApp account", + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "examples/Accounts_Delete.json" + } + } + }, + "patch": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Update", + "summary": "Update a NetApp account", + "description": "Patch the specified NetApp account", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccountPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "OK - account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "examples/Accounts_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": { + "get": { + "summary": "Describe all Capacity Pools", + "description": "List all capacity pools in the NetApp Account", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_List": { + "$ref": "examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": { + "get": { + "summary": "Describe a Capacity Pool", + "description": "Get details of the specified capacity pool", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "examples/Pools_Get.json" + } + } + }, + "put": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_CreateOrUpdate", + "summary": "Create or Update the specified capacity pool within the resource group", + "description": "Create or Update a capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - pool updated", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "201": { + "description": "Pool created", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "examples/Pools_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Update", + "summary": "Update a capacity pool", + "description": "Patch the specified capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPoolPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Update": { + "$ref": "examples/Pools_Update.json" + } + } + }, + "delete": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Delete", + "summary": "Delete a capacity pool", + "description": "Delete the specified capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": { + "get": { + "summary": "Describe all volumes", + "description": "List all volumes within the capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volumes" + ], + "operationId": "Volumes_List", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_List": { + "$ref": "examples/Volumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": { + "get": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Get", + "summary": "Describe a volume", + "description": "Get the details of the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_Get": { + "$ref": "examples/Volumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_CreateOrUpdate", + "summary": "Create or Update a volume", + "description": "Create or update the specified volume within the capacity pool", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volume" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok - volume updated", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "201": { + "description": "Volume created", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_CreateOrUpdate": { + "$ref": "examples/Volumes_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Update", + "summary": "Update a volume", + "description": "Patch the specified volume", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumePatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Update": { + "$ref": "examples/Volumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Delete", + "summary": "Delete a volume", + "description": "Delete the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Delete": { + "$ref": "examples/Volumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": { + "post": { + "tags": [ + "Volumes Revert" + ], + "summary": "Revert a volume to one of its snapshots", + "description": "Revert a volume to the snapshot specified in the body", + "operationId": "Volumes_Revert", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Object for snapshot to revert supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeRevert" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Revert": { + "$ref": "examples/Volumes_Revert.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Break volume replication", + "description": "Break the replication connection on the destination volume", + "operationId": "Volumes_BreakReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_BreakReplication": { + "$ref": "examples/Volumes_BreakReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": { + "get": { + "tags": [ + "Volumes Replication" + ], + "summary": "Get volume replication status", + "description": "Get the status of the replication", + "operationId": "Volumes_ReplicationStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/replicationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_ReplicationStatus": { + "$ref": "examples/Volumes_ReplicationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Resync volume replication", + "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.", + "operationId": "Volumes_ResyncReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ResyncReplication": { + "$ref": "examples/Volumes_ResyncReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Delete volume replication", + "description": "Delete the replication connection on the destination volume, and send release to the source replication", + "operationId": "Volumes_DeleteReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_DeleteReplication": { + "$ref": "examples/Volumes_DeleteReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Authorize source volume replication", + "description": "Authorize the replication connection on the source volume", + "operationId": "Volumes_AuthorizeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Authorize request object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/authorizeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_AuthorizeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Describe all snapshots", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "List all snapshots associated with the volume", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_List": { + "$ref": "examples/Snapshots_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Describe a snapshot", + "description": "Get details of the specified snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_Get": { + "$ref": "examples/Snapshots_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Create", + "summary": "Create a snapshot", + "description": "Create the specified snapshot within the given volume", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Snapshot created", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Create": { + "$ref": "examples/Snapshots_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "summary": "Update a snapshot", + "description": "Patch a snapshot", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Update": { + "$ref": "examples/Snapshots_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Delete a snapshot", + "description": "Delete snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Delete": { + "$ref": "examples/Snapshots_Delete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Microsoft.NetApp REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft NetApp.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Operation description.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "ResourceNameAvailability": { + "description": "Information regarding availability of a resource name.", + "type": "object", + "properties": { + "isAvailable": { + "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.", + "type": "boolean" + }, + "reason": { + "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "InAvailabilityReasonType", + "modelAsString": true + } + }, + "message": { + "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name.", + "type": "string" + } + } + }, + "ResourceNameAvailabilityRequest": { + "description": "Resource name availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "netAppAccountList": { + "description": "List of NetApp account resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Multiple NetApp accounts", + "items": { + "$ref": "#/definitions/netAppAccount" + } + } + } + }, + "netAppAccount": { + "description": "NetApp account resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "netAppAccountPatch": { + "description": "NetApp account patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "accountProperties": { + "description": "NetApp account properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "activeDirectories": { + "description": "Active Directories", + "type": "array", + "items": { + "$ref": "#/definitions/activeDirectory" + } + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "dns": { + "type": "string", + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory" + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "backupOperators": { + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "example": [ + "user1", + "user2" + ] + } + } + } + }, + "capacityPoolList": { + "description": "List of capacity pool resources", + "type": "object", + "properties": { + "value": { + "description": "List of Capacity pools", + "type": "array", + "items": { + "$ref": "#/definitions/capacityPool" + } + } + } + }, + "capacityPool": { + "description": "Capacity pool resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolProperties", + "x-ms-client-flatten": true + } + } + }, + "poolProperties": { + "description": "Pool properties", + "type": "object", + "required": [ + "size", + "serviceLevel" + ], + "properties": { + "poolId": { + "title": "poolId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Pool", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "PoolServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "capacityPoolPatch": { + "description": "Capacity pool patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "poolPatchProperties": { + "description": "Patchable pool properties", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000, + "default": 4398046511104 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "PatchServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + } + } + }, + "volumeList": { + "description": "List of volume resources", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + } + } + }, + "volume": { + "description": "Volume resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Volume properties", + "$ref": "#/definitions/volumeProperties", + "x-ms-client-flatten": true + } + } + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "volumeProperties": { + "description": "Volume properties", + "type": "object", + "required": [ + "creationToken", + "usageThreshold", + "subnetId" + ], + "properties": { + "fileSystemId": { + "title": "FileSystem ID", + "type": "string", + "readOnly": true, + "description": "Unique FileSystem Identifier.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "creationToken": { + "title": "Creation Token or File Path", + "type": "string", + "description": "A unique file path for the volume. Used when creating mount targets", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80, + "example": "some-amazing-filepath" + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "VolumeServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "protocolTypes": { + "title": "protocolTypes", + "description": "Set of protocol types", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "NFSv4.1" + ] + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "snapshotId": { + "title": "Snapshot ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Snapshot.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "baremetalTenantId": { + "title": "Baremetal Tenant ID", + "type": "string", + "readOnly": true, + "description": "Unique Baremetal Tenant Identifier.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "mountTargets": { + "title": "mountTargets", + "type": "array", + "description": "List of mount targets", + "items": { + "$ref": "#/definitions/mountTargetProperties" + } + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this", + "example": "DataProtection" + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "replication": { + "title": "Replication", + "description": "Replication properties", + "type": "object", + "$ref": "#/definitions/replicationObject" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isRestoring": { + "type": "boolean", + "description": "Restoring" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + } + } + }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "type": "boolean", + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + } + } + }, + "replicationObject": { + "description": "Replication properties", + "type": "object", + "required": [ + "replicationSchedule", + "remoteVolumeResourceId" + ], + "properties": { + "replicationId": { + "type": "string", + "description": "Id" + }, + "endpointType": { + "type": "string", + "description": "Indicates whether the local volume is the source or destination for the Volume Replication", + "enum": [ + "src", + "dst" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "replicationSchedule": { + "type": "string", + "description": "Schedule", + "enum": [ + "_10minutely", + "hourly", + "daily" + ], + "x-ms-enum": { + "name": "ReplicationSchedule", + "modelAsString": true + } + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + } + } + }, + "volumeSnapshotProperties": { + "description": "Volume Snapshot Properties", + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + } + }, + "replicationStatus": { + "description": "Replication status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "description": "Replication health check" + }, + "relationshipStatus": { + "type": "string", + "description": "Status of the mirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "description": "The status of the replication", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "totalProgress": { + "type": "string", + "description": "The progress of the replication" + }, + "errorMessage": { + "type": "string", + "description": "Displays error message if the replication is in an error state" + } + } + }, + "volumePatch": { + "description": "Volume patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Patchable volume properties", + "$ref": "#/definitions/volumePatchProperties", + "x-ms-client-flatten": true + } + } + }, + "volumePatchProperties": { + "description": "Patchable volume properties", + "type": "object", + "properties": { + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + } + } + }, + "mountTarget": { + "description": "Mount Target", + "type": "object", + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags", + "x-ms-client-flatten": true + }, + "properties": { + "description": "Mount Target Properties", + "$ref": "#/definitions/mountTargetProperties", + "x-ms-client-flatten": true + } + } + }, + "mountTargetProperties": { + "description": "Mount target properties", + "type": "object", + "required": [ + "fileSystemId" + ], + "properties": { + "mountTargetId": { + "title": "mountTargetId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the MountTarget", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "fileSystemId": { + "title": "fileSystemId", + "type": "string", + "description": "UUID v4 used to identify the MountTarget", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "ipAddress": { + "title": "ipAddress", + "description": "The mount target's IPv4 address", + "type": "string", + "readOnly": true, + "example": "1.2.3.4" + }, + "subnet": { + "title": "subnet", + "type": "string", + "description": "The subnet", + "example": "1.2.3.4" + }, + "startIp": { + "title": "startIp", + "description": "The start of IPv4 address range to use when creating a new mount target", + "type": "string", + "example": "1.2.3.4" + }, + "endIp": { + "title": "endIp", + "description": "The end of IPv4 address range to use when creating a new mount target", + "type": "string", + "example": "1.2.3.4" + }, + "gateway": { + "title": "gateway", + "description": "The gateway of the IPv4 address range to use when creating a new mount target", + "type": "string", + "example": "1.2.3.4" + }, + "netmask": { + "title": "netmask", + "description": "The netmask of the IPv4 address range to use when creating a new mount target", + "type": "string", + "example": "255.255.255.0" + }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + } + } + }, + "snapshotsList": { + "description": "List of Snapshots", + "type": "object", + "properties": { + "value": { + "description": "A list of Snapshots", + "type": "array", + "items": { + "$ref": "#/definitions/snapshot" + } + } + } + }, + "snapshot": { + "description": "Snapshot of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Snapshot Properties", + "$ref": "#/definitions/snapshotProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPatch": { + "description": "Snapshot patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": {} + }, + "snapshotProperties": { + "description": "Snapshot properties", + "type": "object", + "properties": { + "snapshotId": { + "title": "snapshotId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Snapshot", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "created": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the snapshot", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "volumeRevert": { + "description": "revert a volume to the snapshot", + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "Resource id of the snapshot" + } + } + }, + "authorizeRequest": { + "description": "Authorize request", + "type": "object", + "properties": { + "remoteVolumeResourceId": { + "type": "string", + "description": "Resource id of the remote volume" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "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." + }, + "location": { + "name": "location", + "description": "The location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroup": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "AccountName": { + "name": "accountName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the NetApp account", + "x-ms-parameter-location": "method" + }, + "PoolName": { + "name": "poolName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the capacity pool", + "x-ms-parameter-location": "method" + }, + "VolumeName": { + "name": "volumeName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volume", + "x-ms-parameter-location": "method" + }, + "MountTargetName": { + "name": "mountTargetName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotName": { + "name": "snapshotName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "description": "Version of the API to be used with the client request.", + "in": "query", + "type": "string", + "required": true, + "default": "2020-02-01" + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..aba4960cdd29 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "activeDirectories": [ + { + "site": "SiteName", + "username": "ad_user_name", + "password": "ad_password", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "smbServerName": "SMBServer", + "organizationalUnit": "Engineering" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..d9604fb9072d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..f6d3dab994ac --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "activeDirectories": [ + { + "site": "SiteName", + "activeDirectoryId": "02da3711-6c58-2d64-098a-e3af7afaf936", + "username": "ad_user_name", + "password": "****************", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "status": "InUse", + "smbServerName": "SMBServer", + "organizationalUnit": "Engineering", + "statusDetails": "Status Details" + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_List.json new file mode 100644 index 000000000000..7d127ac8075c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..789d8913e603 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Accounts_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Create.json new file mode 100644 index 000000000000..90de6514aefc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Create.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Delete.json new file mode 100644 index 000000000000..598b534709d6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Get.json new file mode 100644 index 000000000000..da4828b8dec9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "name": "Policy 1", + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_List.json new file mode 100644 index 000000000000..232808ad6322 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicy1", + "name": "account1/backupPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "name": "Policy 1", + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Update.json new file mode 100644 index 000000000000..0258711a70a1 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/BackupPolicies_Update.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "yearlyBackupsToKeep": 0, + "volumesAssigned": 1, + "enabled": false, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Delete.json new file mode 100644 index 000000000000..63c3337ab97f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupName": "backupName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Get.json new file mode 100644 index 000000000000..a1c6de3d81fd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupName": "backup1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_List.json new file mode 100644 index 000000000000..ccec522d23f3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Account_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Create.json new file mode 100644 index 000000000000..5f2fbb5fe05b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Create.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "label": "myLabel" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Delete.json new file mode 100644 index 000000000000..cdfdd661cac9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "poolName": "poolName", + "volumeName": "volumeName", + "backupName": "backupName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Get.json new file mode 100644 index 000000000000..08946493d505 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_List.json new file mode 100644 index 000000000000..b3a2651411a9 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Update.json new file mode 100644 index 000000000000..adc5a8cfccf5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Backups_Update.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "adhoc" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckFilePathAvailability.json new file mode 100644 index 000000000000..cb880e3f0498 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckFilePathAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "my-exact-filepth", + "type": "netAppAccount/capacityPools/volume", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..6e145ad82a8d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "accName", + "type": "netAppAccount", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckQuotaAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckQuotaAvailability.json new file mode 100644 index 000000000000..8de7c440d298 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/CheckQuotaAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2020-06-01", + "body": { + "name": "resource1", + "type": "Microsoft.NetApp/netAppAccounts", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_CreateOrUpdate.json new file mode 100644 index 000000000000..0e461cdc649c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_CreateOrUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "size": 4398046511104, + "serviceLevel": "Premium", + "qosType": "Auto" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Delete.json new file mode 100644 index 000000000000..0f0193626f44 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Get.json new file mode 100644 index 000000000000..1ecee24e676c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_List.json new file mode 100644 index 000000000000..f866a365b251 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Update.json new file mode 100644 index 000000000000..364c3d3faa64 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Pools_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "name": "account1/pool1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "serviceLevel": "Premium", + "size": 4398046511104, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Create.json new file mode 100644 index 000000000000..1cda5bf08ca4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Create.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 10, + "minute": 10, + "usedBytes": 100000 + }, + "dailySchedule": { + "snapshotsToKeep": 10, + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "weeklySchedule": { + "snapshotsToKeep": 10, + "day": "Monday", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "monthlySchedule": { + "snapshotsToKeep": 10, + "DaysOfMonth": "1,5,11", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 10, + "minute": 10, + "usedBytes": 100000 + }, + "dailySchedule": { + "snapshotsToKeep": 10, + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "weeklySchedule": { + "snapshotsToKeep": 10, + "day": "Monday", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "monthlySchedule": { + "snapshotsToKeep": 10, + "DaysOfMonth": "1,5,11", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "enabled": true + } + } + }, + "201": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 10, + "minute": 10, + "usedBytes": 100000 + }, + "dailySchedule": { + "snapshotsToKeep": 10, + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "weeklySchedule": { + "snapshotsToKeep": 10, + "day": "Monday", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "monthlySchedule": { + "snapshotsToKeep": 10, + "DaysOfMonth": "1,5,11", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "enabled": true + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Delete.json new file mode 100644 index 000000000000..86283d16571e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Get.json new file mode 100644 index 000000000000..97d850a34092 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 10, + "minute": 10, + "usedBytes": 100000 + }, + "dailySchedule": { + "snapshotsToKeep": 10, + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "weeklySchedule": { + "snapshotsToKeep": 10, + "day": "Monday", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "monthlySchedule": { + "snapshotsToKeep": 10, + "DaysOfMonth": "1,5,11", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "enabled": true + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_List.json new file mode 100644 index 000000000000..a5baa96f65c8 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "location": "eastus", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 10, + "minute": 10, + "usedBytes": 100000 + }, + "dailySchedule": { + "snapshotsToKeep": 10, + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "weeklySchedule": { + "snapshotsToKeep": 10, + "day": "Monday", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "monthlySchedule": { + "snapshotsToKeep": 10, + "DaysOfMonth": "1,5,11", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "enabled": true + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_ListVolumes.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_ListVolumes.json new file mode 100644 index 000000000000..643c3020706e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_ListVolumes.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1" + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Update.json new file mode 100644 index 000000000000..ad355b510d2e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/SnapshotPolicies_Update.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 10, + "minute": 10, + "usedBytes": 100000 + }, + "dailySchedule": { + "snapshotsToKeep": 10, + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "weeklySchedule": { + "snapshotsToKeep": 10, + "day": "Monday", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "monthlySchedule": { + "snapshotsToKeep": 10, + "DaysOfMonth": "1,5,11", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "hourlySchedule": { + "snapshotsToKeep": 10, + "minute": 10, + "usedBytes": 100000 + }, + "dailySchedule": { + "snapshotsToKeep": 10, + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "weeklySchedule": { + "snapshotsToKeep": 10, + "day": "Monday", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "monthlySchedule": { + "snapshotsToKeep": 10, + "DaysOfMonth": "1,5,11", + "hour": 10, + "minute": 10, + "usedBytes": 100000 + }, + "enabled": true + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Create.json new file mode 100644 index 000000000000..ddb759222d07 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01", + "body": { + "location": "eastus" + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Delete.json new file mode 100644 index 000000000000..582444cb35b4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Get.json new file mode 100644 index 000000000000..87d49c41a4dd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_List.json new file mode 100644 index 000000000000..eb38145e0ce7 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Update.json new file mode 100644 index 000000000000..9af1e3a78dbb --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Snapshots_Update.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1", + "name": "account1/pool1/volume1/snapshot1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots", + "location": "eastus", + "properties": { + "snapshotId": "9760acf5-4638-11e7-9bdb-020073ca3333", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Vaults_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Vaults_List.json new file mode 100644 index 000000000000..52b58165235d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Vaults_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/vaults/vault1", + "name": "account1/vault1", + "type": "Microsoft.NetApp/netAppAccounts/vaults", + "location": "eastus", + "properties": { + "vaultName": "east US" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_AuthorizeReplication.json new file mode 100644 index 000000000000..283ff746cbe5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_AuthorizeReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_BreakReplication.json new file mode 100644 index 000000000000..53151656cb63 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_BreakReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "forceBreakReplication": false + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_CreateOrUpdate.json new file mode 100644 index 000000000000..6d579b547d3f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": { + "creationToken": "my-unique-file-path", + "serviceLevel": "Premium", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "throughputMibps": 128 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "location": "eastus", + "name": "account1/pool1/volume1", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..7ae07cec38d6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_DeleteReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_DeleteReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..03bd60e14b64 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_List.json new file mode 100644 index 000000000000..9e9a73f3859b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_PoolChange.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_PoolChange.json new file mode 100644 index 000000000000..d7e211df1707 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_PoolChange.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "newPoolResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReInitializeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReInitializeReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReInitializeReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReplicationStatus.json new file mode 100644 index 000000000000..d117dd6b20a6 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ReplicationStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Mirrored", + "totalProgress": "1048576", + "errorMessage": "" + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ResyncReplication.json new file mode 100644 index 000000000000..50181792855d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_ResyncReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Revert.json new file mode 100644 index 000000000000..285bcc71128f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Revert.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": { + "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Update.json new file mode 100644 index 000000000000..fc735427bbf8 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/examples/Volumes_Update.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2020-06-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1", + "name": "account1/pool1/volume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "location": "eastus", + "properties": { + "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778", + "creationToken": "some-amazing-filepath", + "usageThreshold": 107374182400, + "serviceLevel": "Premium", + "provisioningState": "Succeeded", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json new file mode 100644 index 000000000000..c6fce9bbcc39 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2020-06-01/netapp.json @@ -0,0 +1,4762 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft NetApp", + "description": "Microsoft NetApp Azure Resource Provider specification", + "version": "2020-06-01", + "x-ms-code-generation-settings": { + "name": "AzureNetAppFilesManagementClient" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "host": "management.azure.com", + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.NetApp/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Describes the Resource Provider", + "description": "Lists all of the available Microsoft.NetApp Rest API operations", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check resource name availability", + "description": "Check if a resource name is available.", + "operationId": "NetAppResource_CheckNameAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "examples/CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check file path availability", + "description": "Check if a file path is available.", + "operationId": "NetAppResource_CheckFilePathAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "File path availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckFilePathAvailability": { + "$ref": "examples/CheckFilePathAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkQuotaAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check quota availability", + "description": "Check if a quota is available.", + "operationId": "NetAppResource_CheckQuotaAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Quota availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckQuotaAvailability": { + "$ref": "examples/CheckQuotaAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a resource group", + "description": "List and describe all NetApp accounts in the resource group.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccountList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_List": { + "$ref": "examples/Accounts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": { + "get": { + "summary": "Describe a NetApp Account", + "description": "Get the NetApp account", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "summary": "Create or update a NetApp account", + "description": "Create or update the specified NetApp account within the resource group", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "Account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "examples/Accounts_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Delete", + "summary": "Delete a NetApp account", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "Delete the specified NetApp account", + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "examples/Accounts_Delete.json" + } + } + }, + "patch": { + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_Update", + "summary": "Update a NetApp account", + "description": "Patch the specified NetApp account", + "parameters": [ + { + "name": "body", + "description": "NetApp Account object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/netAppAccountPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "OK - account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "examples/Accounts_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": { + "get": { + "summary": "Describe all Capacity Pools", + "description": "List all capacity pools in the NetApp Account", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPoolList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_List": { + "$ref": "examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": { + "get": { + "summary": "Describe a Capacity Pool", + "description": "Get details of the specified capacity pool", + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "examples/Pools_Get.json" + } + } + }, + "put": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_CreateOrUpdate", + "summary": "Create or Update the specified capacity pool within the resource group", + "description": "Create or Update a capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - pool updated", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "201": { + "description": "Pool created", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "examples/Pools_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Update", + "summary": "Update a capacity pool", + "description": "Patch the specified capacity pool", + "parameters": [ + { + "name": "body", + "description": "Capacity pool object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/capacityPoolPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Update": { + "$ref": "examples/Pools_Update.json" + } + } + }, + "delete": { + "tags": [ + "Capacity Pools" + ], + "operationId": "Pools_Delete", + "summary": "Delete a capacity pool", + "description": "Delete the specified capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": { + "get": { + "summary": "Describe all volumes", + "description": "List all volumes within the capacity pool", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volumes" + ], + "operationId": "Volumes_List", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_List": { + "$ref": "examples/Volumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": { + "get": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Get", + "summary": "Describe a volume", + "description": "Get the details of the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_Get": { + "$ref": "examples/Volumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_CreateOrUpdate", + "summary": "Create or Update a volume", + "description": "Create or update the specified volume within the capacity pool", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volume" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok - volume updated", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "201": { + "description": "Volume created", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_CreateOrUpdate": { + "$ref": "examples/Volumes_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Update", + "summary": "Update a volume", + "description": "Patch the specified volume", + "parameters": [ + { + "name": "body", + "description": "Volume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumePatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Update": { + "$ref": "examples/Volumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Volumes" + ], + "operationId": "Volumes_Delete", + "summary": "Delete a volume", + "description": "Delete the specified volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Delete": { + "$ref": "examples/Volumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": { + "post": { + "tags": [ + "Volumes Revert" + ], + "summary": "Revert a volume to one of its snapshots", + "description": "Revert a volume to the snapshot specified in the body", + "operationId": "Volumes_Revert", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Object for snapshot to revert supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeRevert" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_Revert": { + "$ref": "examples/Volumes_Revert.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/breakReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Break volume replication", + "description": "Break the replication connection on the destination volume", + "operationId": "Volumes_BreakReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Optional body to force break the replication.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/breakReplicationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_BreakReplication": { + "$ref": "examples/Volumes_BreakReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/replicationStatus": { + "get": { + "tags": [ + "Volumes Replication" + ], + "summary": "Get volume replication status", + "description": "Get the status of the replication", + "operationId": "Volumes_ReplicationStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/replicationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_ReplicationStatus": { + "$ref": "examples/Volumes_ReplicationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/resyncReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Resync volume replication", + "description": "Resync the connection on the destination volume. If the operation is ran on the source volume it will reverse-resync the connection and sync from source to destination.", + "operationId": "Volumes_ResyncReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ResyncReplication": { + "$ref": "examples/Volumes_ResyncReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/deleteReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Delete volume replication", + "description": "Delete the replication connection on the destination volume, and send release to the source replication", + "operationId": "Volumes_DeleteReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_DeleteReplication": { + "$ref": "examples/Volumes_DeleteReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/authorizeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "Authorize source volume replication", + "description": "Authorize the replication connection on the source volume", + "operationId": "Volumes_AuthorizeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Authorize request object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/authorizeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_AuthorizeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reinitializeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "ReInitialize volume replication", + "description": "Re-Initializes the replication connection on the destination volume", + "operationId": "Volumes_ReInitializeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_ReInitializeReplication": { + "$ref": "examples/Volumes_ReInitializeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/poolChange": { + "post": { + "tags": [ + "Pool Change" + ], + "summary": "Change pool for volume", + "description": "Moves volume to another pool", + "operationId": "Volumes_PoolChange", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Move volume to the pool supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/poolChangeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_PoolChange.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Describe all snapshots", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "description": "List all snapshots associated with the volume", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_List": { + "$ref": "examples/Snapshots_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Describe a snapshot", + "description": "Get details of the specified snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Snapshots_Get": { + "$ref": "examples/Snapshots_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Create", + "summary": "Create a snapshot", + "description": "Create the specified snapshot within the given volume", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Snapshot created", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Create": { + "$ref": "examples/Snapshots_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "summary": "Update a snapshot", + "description": "Patch a snapshot", + "parameters": [ + { + "name": "body", + "description": "Snapshot object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshot" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Update": { + "$ref": "examples/Snapshots_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Delete a snapshot", + "description": "Delete snapshot", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create, update or delete request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_Delete": { + "$ref": "examples/Snapshots_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_List", + "description": "List snapshot policy", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_List": { + "$ref": "examples/SnapshotPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}": { + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "snapshotPolicies_Get", + "description": "Get a snapshot Policy", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Get": { + "$ref": "examples/SnapshotPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "snapshotPolicies_Create", + "description": "Create a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + } + ], + "responses": { + "200": { + "description": "OK - snapshot Policy updated", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "201": { + "description": "Snapshot Policy created", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "SnapshotPolicies_Create": { + "$ref": "examples/SnapshotPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "snapshotPolicies_Update", + "description": "Patch a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Update": { + "$ref": "examples/SnapshotPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "snapshotPolicies_Delete", + "description": "Delete snapshot policy", + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SnapshotPolicies_Delete": { + "$ref": "examples/SnapshotPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}/listVolumes": { + "get": { + "tags": [ + "Snapshot Policy List Volumes" + ], + "summary": "Get volumes associated with snapshot policy", + "description": "Get volumes associated with snapshot policy", + "operationId": "SnapshotPolicies_ListVolumes", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicyVolumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_ListVolumes": { + "$ref": "examples/SnapshotPolicies_ListVolumes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups for a Netapp Account", + "description": "List all Backups for a Netapp Account", + "operationId": "AccountBackups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_List": { + "$ref": "examples/Backups_Account_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get Backup for a Netapp Account", + "description": "Get Backup for a Netapp Account", + "operationId": "AccountBackups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_Get": { + "$ref": "examples/Backups_Account_Get.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete Backup for a Netapp Account", + "description": "Delete Backup for a Netapp Account", + "operationId": "AccountBackups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "AccountBackups_Delete": { + "$ref": "examples/Backups_Account_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups", + "description": "List all backups for a volume", + "operationId": "Backups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/Backups_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get a backup", + "description": "Get a particular backup of the volume", + "operationId": "Backups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/Backups_Get.json" + } + } + }, + "put": { + "tags": [ + "Backups" + ], + "summary": "Create a backup", + "description": "Create a backup for the volume", + "operationId": "Backups_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backup" + } + } + ], + "responses": { + "200": { + "description": "OK created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Create": { + "$ref": "examples/Backups_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backups" + ], + "summary": "Patch a backup", + "description": "Patch a backup for the volume", + "operationId": "Backups_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "schema": { + "$ref": "#/definitions/backupPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Update": { + "$ref": "examples/Backups_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete backup", + "description": "Delete a backup of the volume", + "operationId": "Backups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/Backups_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "List backup policies", + "description": "List backup policies for Netapp Account", + "operationId": "BackupPolicies_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/BackupPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies/{backupPolicyName}": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "Get a backup Policy", + "description": "Get a particular backup Policy", + "operationId": "backupPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/BackupPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Backup Policy" + ], + "summary": "Create a backup policy", + "description": "Create a backup policy for Netapp Account", + "operationId": "backupPolicies_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicy" + } + } + ], + "responses": { + "200": { + "description": "Backup Policy created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "202": { + "description": "Accepted -- Create request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BackupPolicies_Create": { + "$ref": "examples/BackupPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backup Policy" + ], + "summary": "Patch a backup policy", + "description": "Patch a backup policy for Netapp Account", + "operationId": "backupPolicies_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "BackupPolicies_Update": { + "$ref": "examples/BackupPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backup Policy" + ], + "summary": "Delete a backup policy", + "description": "Delete backup policy", + "operationId": "backupPolicies_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "204": { + "description": "NoContent -- Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/BackupPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "summary": "List vaults", + "description": "List vaults for a Netapp Account", + "operationId": "Vaults_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/vaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Vaults_List": { + "$ref": "examples/Vaults_List.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Cloud Volume operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Microsoft.NetApp REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft NetApp.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Operation description.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "CheckAvailabilityResponse": { + "description": "Information regarding availability of a resource.", + "type": "object", + "properties": { + "isAvailable": { + "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.", + "type": "boolean" + }, + "reason": { + "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "InAvailabilityReasonType", + "modelAsString": true + } + }, + "message": { + "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name.", + "type": "string" + } + } + }, + "ResourceNameAvailabilityRequest": { + "description": "Resource name availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "QuotaAvailabilityRequest": { + "description": "Quota availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the resource to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Microsoft.NetApp/netAppAccounts", + "Microsoft.NetApp/netAppAccounts/capacityPools", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes", + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckQuotaNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "netAppAccountList": { + "description": "List of NetApp account resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Multiple NetApp accounts", + "items": { + "$ref": "#/definitions/netAppAccount" + } + } + } + }, + "netAppAccount": { + "description": "NetApp account resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "netAppAccountPatch": { + "description": "NetApp account patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "NetApp Account properties", + "$ref": "#/definitions/accountProperties", + "x-ms-client-flatten": true + } + } + }, + "accountProperties": { + "description": "NetApp account properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "activeDirectories": { + "description": "Active Directories", + "type": "array", + "items": { + "$ref": "#/definitions/activeDirectory" + } + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + }, + "password": { + "type": "string", + "x-ms-secret": true, + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "dns": { + "type": "string", + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "example": "101.102.103.104,101.102.103.105" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory", + "readOnly": true, + "enum": [ + "Created", + "Updating", + "InUse", + "Deleted", + "Error" + ], + "x-ms-enum": { + "name": "ActiveDirectoryStatus", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Active Directory created but not in use" + }, + { + "value": "InUse", + "description": "Active Directory in use by SMB Volume" + }, + { + "value": "Deleted", + "description": "Active Directory Deleted" + }, + { + "value": "Error", + "description": "Error with the Active Directory" + }, + { + "value": "Updating", + "description": "Active Directory Updating" + } + ] + } + }, + "statusDetails": { + "type": "string", + "description": "Any details in regards to the Status of the Active Directory", + "readOnly": true + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "backupOperators": { + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1, + "example": [ + "user1", + "user2" + ] + } + }, + "kdcIP": { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.", + "example": "101.102.103.104" + }, + "adName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "example": "ADServerName" + }, + "serverRootCACertificate": { + "type": "string", + "maxLength": 10240, + "minLength": 1, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.", + "example": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9XZ0F3SUJBZ0lRR3FXdnRxeHBvSTFJV3Z4VGdJbElWREFOQmdrcWhraUc5dzBCQVFzRkFEQlYKTVJNd0VRWUtDWkltaVpQeUxHUUJHUllEWTI5dE1SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSGFHRnlhV3R5WWpFbApNQ01HQTFVRUF4TWNhR0Z5YVd0eVlpMVhTVTR0TWtKUFZrRkZTMEkwTkVJdFEwRXRNakFlRncweU1EQTFNRFV3Ck56TTVORGxhRncweU1EQTFNRFl3TnpRNU5EaGFNRlV4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05qYjIweEZ6QVYKQmdvSmtpYUprL0lzWkFFWkZnZG9ZWEpwYTNKaU1TVXdJd1lEVlFRREV4eG9ZWEpwYTNKaUxWZEpUaTB5UWs5VwpRVVZMUWpRMFFpMURRUzB5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFqMHByCnhaaXpNaDBqYnRwN1ZOc0JrRVJ2MVpZT0MzMEtqaGRWdEExRm1MeFM2cXlycmpMZUdXOXRSd2ZnUkR0eVBodTIKZVJTcVpTUjF6Z1hZR0s0Nys3Y3F0YnB2UElOektCb0dOWERIVTNxVWlleXJWSjFDVzRKNjJodUdrbUV1VVVkMApKMXBxNTVxbjk1SmRUbWh1dmZlTUxxeHB5c01nbGVnY281ZFhoN0hsQkhwaTNKMFN4ZnhVWmxKMVZiOFJZVEZhCkJiMGFlTVZaRzRKeVREaktiMlR1TmFXOG1aUE5vOFBMRDRocjdndFNZUEQvQ1dVVGV5QlpoZC9LTzNPczlWVEIKYmpLUGtWd0J2WEs2SlFMSGprNFBHS3VYZDhaWVFyajBtOWNIZDNmcWNYTXlQUnQ2TlJ4ak0yMTUxckFzSkVhNgpWZC9ta056akpXalBrT2VZUVFJREFRQUJvMmt3WnpBVEJna3JCZ0VFQVlJM0ZBSUVCaDRFQUVNQVFUQU9CZ05WCkhROEJBZjhFQkFNQ0FZWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVDVEc2ODJSay9kMysKWGtHa0VMakRFMjI4ZjNnd0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBR1RjTTNnWExIU05wS014RHEvUFpZbWZCMmNlN3VhMmxxbXpzZSt4QmthSTE0WXdzZE5ZQjZBVTNFWDM3QWpZCjd3bm9xQzY1N0U2RVhTODVDckoyNXJNTHo4OEtONGI3cUg5RUowSS9XVHg5YTdUT0ZENENWQThuL0xwNGh1Ym4KNlBFalY5NFlZWXBXTG1hTkkvbGFReWsxSHVJbDFSTCttVDFnSWQ4ZWZXZ1UvNmlVVEw3eGMrdjkyNHBuTHhISwpOSnNTV3c0NFk5a0R5SU9KOXFjWUlBN1lhTkxPZTRjSysvQlRvdDh0dVVKT1hHLzdBRmtxR2EyQVA4MmFZOStKCnkwSmU2OG5nTHJ1dVU4VHpneVpqdkFHcTRrVEVOdWFoaFdHVC9KWkEzOXhSNUV4MmNMUUplcE5NdnlZbUZ3Z1UKME8zYlA0OWNBVFVCMXoyQ3Y5aTRQbVk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + } + } + }, + "capacityPoolList": { + "description": "List of capacity pool resources", + "type": "object", + "properties": { + "value": { + "description": "List of Capacity pools", + "type": "array", + "items": { + "$ref": "#/definitions/capacityPool" + } + } + } + }, + "capacityPool": { + "description": "Capacity pool resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolProperties", + "x-ms-client-flatten": true + } + } + }, + "poolProperties": { + "description": "Pool properties", + "type": "object", + "required": [ + "size", + "serviceLevel" + ], + "properties": { + "poolId": { + "title": "poolId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Pool", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "totalThroughputMibps": { + "type": "number", + "description": "Total throughput of pool in Mibps", + "example": 164.221, + "readOnly": true, + "multipleOf": 0.001 + }, + "utilizedThroughputMibps": { + "type": "number", + "description": "Utilized throughput of pool in Mibps", + "example": 164.221, + "readOnly": true, + "multipleOf": 0.001 + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + } + } + }, + "capacityPoolPatch": { + "description": "Capacity pool patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Capacity pool properties", + "$ref": "#/definitions/poolPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "poolPatchProperties": { + "description": "Patchable pool properties", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).", + "minimum": 4398046511104, + "maximum": 549755813888000, + "default": 4398046511104 + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + } + } + }, + "volumeList": { + "description": "List of volume resources", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + } + } + }, + "volume": { + "description": "Volume resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Volume properties", + "$ref": "#/definitions/volumeProperties", + "x-ms-client-flatten": true + } + } + }, + "resourceTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "volumeProperties": { + "description": "Volume properties", + "type": "object", + "required": [ + "creationToken", + "usageThreshold", + "subnetId" + ], + "properties": { + "fileSystemId": { + "title": "FileSystem ID", + "type": "string", + "readOnly": true, + "description": "Unique FileSystem Identifier.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca7778" + }, + "creationToken": { + "title": "Creation Token or File Path", + "type": "string", + "description": "A unique file path for the volume. Used when creating mount targets", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80, + "example": "some-amazing-filepath" + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "protocolTypes": { + "title": "protocolTypes", + "description": "Set of protocol types", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "NFSv4.1" + ] + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "snapshotId": { + "title": "Snapshot ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Snapshot.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "backupId": { + "title": "Backup ID", + "type": "string", + "description": "UUID v4 or resource identifier used to identify the Backup.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "baremetalTenantId": { + "title": "Baremetal Tenant ID", + "type": "string", + "readOnly": true, + "description": "Unique Baremetal Tenant Identifier.", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9560acf5-4e3a-12e7-9bdb-02007cca7779" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "mountTargets": { + "title": "mountTargets", + "type": "array", + "description": "List of mount targets", + "items": { + "$ref": "#/definitions/mountTargetProperties" + } + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this", + "example": "DataProtection" + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + }, + "replication": { + "title": "Replication", + "description": "Replication properties", + "type": "object", + "$ref": "#/definitions/replicationObject" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isRestoring": { + "type": "boolean", + "description": "Restoring" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "kerberosEnabled": { + "type": "boolean", + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "securityStyle": { + "type": "string", + "description": "The security style of volume", + "enum": [ + "ntfs", + "unix" + ], + "x-ms-enum": { + "name": "SecurityStyle", + "modelAsString": true + } + }, + "throughputMibps": { + "title": "Maximum throughput in Mibps that can be achieved by this volume", + "type": "number", + "example": "128.22", + "maximum": 4500, + "minimum": 1, + "multipleOf": 0.001 + } + } + }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index", + "format": "int32" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "kerberos5ReadOnly": { + "type": "boolean", + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5ReadWrite": { + "type": "boolean", + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5iReadOnly": { + "type": "boolean", + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5iReadWrite": { + "type": "boolean", + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5pReadOnly": { + "type": "boolean", + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5pReadWrite": { + "type": "boolean", + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "type": "boolean", + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "hasRootAccess": { + "type": "boolean", + "description": "Has root access to volume", + "example": true, + "default": true + } + } + }, + "volumeBackupProperties": { + "description": "Volume Backup Properties", + "type": "object", + "properties": { + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "type": "boolean", + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + }, + "backupEnabled": { + "type": "boolean", + "description": "Backup Enabled" + } + } + }, + "replicationObject": { + "description": "Replication properties", + "type": "object", + "required": [ + "replicationSchedule", + "remoteVolumeResourceId" + ], + "properties": { + "replicationId": { + "type": "string", + "description": "Id" + }, + "endpointType": { + "type": "string", + "description": "Indicates whether the local volume is the source or destination for the Volume Replication", + "enum": [ + "src", + "dst" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + }, + "replicationSchedule": { + "type": "string", + "description": "Schedule", + "enum": [ + "_10minutely", + "hourly", + "daily" + ], + "x-ms-enum": { + "name": "ReplicationSchedule", + "modelAsString": true + } + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + } + } + }, + "volumeSnapshotProperties": { + "description": "Volume Snapshot Properties", + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + } + }, + "replicationStatus": { + "description": "Replication status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "description": "Replication health check" + }, + "relationshipStatus": { + "type": "string", + "description": "Status of the mirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "description": "The status of the replication", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "totalProgress": { + "type": "string", + "description": "The progress of the replication" + }, + "errorMessage": { + "type": "string", + "description": "Displays error message if the replication is in an error state" + } + } + }, + "volumePatch": { + "description": "Volume patch resource", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Patchable volume properties", + "$ref": "#/definitions/volumePatchProperties", + "x-ms-client-flatten": true + } + } + }, + "volumePatchProperties": { + "description": "Patchable volume properties", + "type": "object", + "properties": { + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra" + ], + "x-ms-enum": { + "name": "ServiceLevel", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard service level" + }, + { + "value": "Premium", + "description": "Premium service level" + }, + { + "value": "Ultra", + "description": "Ultra service level" + } + ] + }, + "example": "Ultra", + "default": "Premium" + }, + "usageThreshold": { + "title": "usageThreshold", + "type": "integer", + "format": "int64", + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": 107374182400, + "example": 107374182400 + }, + "exportPolicy": { + "title": "exportPolicy", + "description": "Set of export policy rules", + "properties": { + "rules": { + "title": "Export policy rule", + "description": "Export policy rule", + "type": "array", + "items": { + "$ref": "#/definitions/exportPolicyRule" + } + } + } + }, + "throughputMibps": { + "title": "Maximum throughput in Mibps that can be achieved by this volume", + "type": "number", + "example": "128.22", + "maximum": 4500, + "minimum": 1, + "multipleOf": 0.001 + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + } + } + } + } + }, + "mountTarget": { + "description": "Mount Target", + "type": "object", + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags", + "x-ms-client-flatten": true + }, + "properties": { + "description": "Mount Target Properties", + "$ref": "#/definitions/mountTargetProperties", + "x-ms-client-flatten": true + } + } + }, + "mountTargetProperties": { + "description": "Mount target properties", + "type": "object", + "required": [ + "fileSystemId" + ], + "properties": { + "mountTargetId": { + "title": "mountTargetId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the MountTarget", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "fileSystemId": { + "title": "fileSystemId", + "type": "string", + "description": "UUID v4 used to identify the MountTarget", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "ipAddress": { + "title": "ipAddress", + "description": "The mount target's IPv4 address", + "type": "string", + "readOnly": true, + "example": "1.2.3.4" + }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + } + } + }, + "snapshotsList": { + "description": "List of Snapshots", + "type": "object", + "properties": { + "value": { + "description": "A list of Snapshots", + "type": "array", + "items": { + "$ref": "#/definitions/snapshot" + } + } + } + }, + "snapshot": { + "description": "Snapshot of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Snapshot Properties", + "$ref": "#/definitions/snapshotProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPatch": { + "description": "Snapshot patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": {} + }, + "snapshotProperties": { + "description": "Snapshot properties", + "type": "object", + "properties": { + "snapshotId": { + "title": "snapshotId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Snapshot", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "maxLength": 36, + "minLength": 36, + "example": "9760acf5-4638-11e7-9bdb-020073ca3333" + }, + "created": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the snapshot", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicyProperties": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "hourlySchedule": { + "title": "hourlySchedule", + "description": "Schedule for hourly snapshots", + "type": "object", + "items": { + "$ref": "#/definitions/hourlySchedule" + } + }, + "dailySchedule": { + "title": "dailySchedule", + "description": "Schedule for daily snapshots", + "type": "object", + "items": { + "$ref": "#/definitions/dailySchedule" + } + }, + "weeklySchedule": { + "title": "weeklySchedule", + "description": "Schedule for weekly snapshots", + "type": "object", + "items": { + "$ref": "#/definitions/weeklySchedule" + } + }, + "monthlySchedule": { + "title": "monthlySchedule", + "description": "Schedule for monthly snapshots", + "type": "object", + "items": { + "$ref": "#/definitions/monthlySchedule" + } + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + } + } + }, + "snapshotPolicy": { + "description": "Snapshot policy information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPoliciesList": { + "description": "List of Snapshot Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of snapshot policies", + "type": "array", + "items": { + "$ref": "#/definitions/snapshotPolicy" + } + } + } + }, + "snapshotPolicyDetails": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyPatch": { + "description": "Snapshot policy Details for create and update", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot Policy properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyVolumeList": { + "description": "Volumes associated with snapshot policy", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "type": "object", + "readOnly": true, + "description": "Associated volume resource Id" + } + } + } + }, + "hourlySchedule": { + "description": "Hourly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Hourly snapshot count to keep", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "dailySchedule": { + "description": "Daily Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Daily snapshot count to keep", + "format": "int32" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "weeklySchedule": { + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Weekly snapshot count to keep", + "format": "int32" + }, + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english", + "example": "Sunday,Monday" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "monthlySchedule": { + "description": "Monthly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Monthly snapshot count to keep", + "format": "int32" + }, + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string.", + "example": "1,11,21" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": "11", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": "30", + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "volumeRevert": { + "description": "revert a volume to the snapshot", + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "Resource id of the snapshot" + } + } + }, + "authorizeRequest": { + "description": "Authorize request", + "type": "object", + "properties": { + "remoteVolumeResourceId": { + "type": "string", + "description": "Resource id of the remote volume" + } + } + }, + "breakReplicationRequest": { + "description": "Break replication request", + "type": "object", + "properties": { + "forceBreakReplication": { + "type": "boolean", + "description": "If replication is in status transferring and you want to force break the replication, set to true" + } + } + }, + "poolChangeRequest": { + "description": "Pool change request", + "type": "object", + "required": [ + "newPoolResourceId" + ], + "properties": { + "newPoolResourceId": { + "type": "string", + "description": "Resource id of the pool to move volume to" + } + } + }, + "backupsList": { + "description": "List of Backups", + "type": "object", + "properties": { + "value": { + "description": "A list of Backups", + "type": "array", + "items": { + "$ref": "#/definitions/backup" + } + } + } + }, + "backup": { + "description": "Backup of a Volume", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPatch": { + "description": "Backup patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupProperties": { + "description": "Backup properties", + "type": "object", + "properties": { + "creationDate": { + "title": "name", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the backup", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "size": { + "type": "integer", + "readOnly": true, + "description": "Size of backup", + "format": "int64" + }, + "label": { + "type": "string", + "description": "Label for backup" + }, + "backupType": { + "type": "string", + "readOnly": true, + "description": "Type of backup adhoc or scheduled" + } + } + }, + "backupPolicyProperties": { + "description": "Backup policy properties", + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of backup policy" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "dailyBackupsToKeep": { + "type": "integer", + "description": "Daily backups count to keep", + "format": "int32" + }, + "weeklyBackupsToKeep": { + "type": "integer", + "description": "Weekly backups count to keep", + "format": "int32" + }, + "monthlyBackupsToKeep": { + "type": "integer", + "description": "Monthly backups count to keep", + "format": "int32" + }, + "yearlyBackupsToKeep": { + "type": "integer", + "description": "Yearly backups count to keep", + "format": "int32" + }, + "volumesAssigned": { + "type": "integer", + "description": "Volumes using current backup policy", + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "volumeBackups": { + "description": "A list of volumes assigned to this policy", + "type": "array", + "items": { + "$ref": "#/definitions/volumeBackups" + } + } + } + }, + "backupPolicy": { + "description": "Backup policy information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPoliciesList": { + "description": "List of Backup Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of backup policies", + "type": "array", + "items": { + "$ref": "#/definitions/backupPolicy" + } + } + } + }, + "backupPolicyDetails": { + "description": "Backup policy properties", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPolicyPatch": { + "description": "Backup policy Details for create and update", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeBackups": { + "description": "Volume details using the backup policy", + "type": "object", + "readOnly": true, + "properties": { + "volumeName": { + "type": "string", + "description": "Volume name" + }, + "backupsCount": { + "type": "integer", + "description": "Total count of backups for volume", + "format": "int32" + }, + "policyEnabled": { + "type": "boolean", + "description": "Policy enabled" + } + } + }, + "vaultList": { + "description": "List of Vaults", + "type": "object", + "properties": { + "value": { + "description": "A list of vaults", + "type": "array", + "items": { + "$ref": "#/definitions/vault" + } + } + } + }, + "vault": { + "description": "Vault information", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "location", + "properties" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "Vault Properties", + "$ref": "#/definitions/vaultProperties", + "x-ms-client-flatten": true + } + } + }, + "vaultProperties": { + "description": "Vault properties", + "type": "object", + "properties": { + "vaultName": { + "type": "string", + "readOnly": false, + "description": "Vault Name" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "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." + }, + "location": { + "name": "location", + "description": "The location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroup": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "AccountName": { + "name": "accountName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the NetApp account", + "x-ms-parameter-location": "method" + }, + "PoolName": { + "name": "poolName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the capacity pool", + "x-ms-parameter-location": "method" + }, + "VolumeName": { + "name": "volumeName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volume", + "x-ms-parameter-location": "method" + }, + "MountTargetName": { + "name": "mountTargetName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotName": { + "name": "snapshotName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the mount target", + "x-ms-parameter-location": "method" + }, + "SnapshotPolicyName": { + "name": "snapshotPolicyName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the snapshot policy target", + "x-ms-parameter-location": "method" + }, + "BackupName": { + "name": "backupName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the backup", + "x-ms-parameter-location": "method" + }, + "BackupPolicyName": { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "description": "Version of the API to be used with the client request.", + "in": "query", + "type": "string", + "required": true, + "default": "2020-06-01" + } + } +} diff --git a/specification/netapp/resource-manager/readme.azureresourceschema.md b/specification/netapp/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c7d6389bac95 --- /dev/null +++ b/specification/netapp/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,120 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-netapp-2020-06-01 + - tag: schema-netapp-2020-02-01 + - tag: schema-netapp-2019-11-01 + - tag: schema-netapp-2019-10-01 + - tag: schema-netapp-2019-08-01 + - tag: schema-netapp-2019-07-01 + - tag: schema-netapp-2019-06-01 + - tag: schema-netapp-2019-05-01 + - tag: schema-netapp-2017-08-15 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-netapp-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2020-06-01/netapp.json + +``` + +### Tag: schema-netapp-2020-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2020-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2020-02-01/netapp.json + +``` + +### Tag: schema-netapp-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-11-01/netapp.json + +``` + +### Tag: schema-netapp-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-10-01/netapp.json + +``` + +### Tag: schema-netapp-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-08-01/netapp.json + +``` + +### Tag: schema-netapp-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-07-01/netapp.json + +``` + +### Tag: schema-netapp-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-06-01/netapp.json + +``` + +### Tag: schema-netapp-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/stable/2019-05-01/netapp.json + +``` + +### Tag: schema-netapp-2017-08-15 and azureresourceschema + +``` yaml $(tag) == 'schema-netapp-2017-08-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NetApp/preview/2017-08-15/netapp.json + +``` diff --git a/specification/netapp/resource-manager/readme.go.md b/specification/netapp/resource-manager/readme.go.md index 52d0f7d8cb50..6eaaa9b10164 100644 --- a/specification/netapp/resource-manager/readme.go.md +++ b/specification/netapp/resource-manager/readme.go.md @@ -13,6 +13,8 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-netapp-2020-06-01 + - tag: package-netapp-2020-02-01 - tag: package-netapp-2019-11-01 - tag: package-netapp-2019-10-01 - tag: package-netapp-2019-08-01 @@ -21,6 +23,22 @@ batch: - tag: package-netapp-2019-05-01 - tag: package-2017-08-15 ``` +### Tag: package-netapp-2020-06-01 and go + +These settings apply only when `--tag=package-netapp-2020-06-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-06-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +``` +### Tag: package-netapp-2020-02-01 and go + +These settings apply only when `--tag=package-netapp-2020-02-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-02-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-02-01/$(namespace) +``` ### Tag: package-netapp-2019-11-01 and go diff --git a/specification/netapp/resource-manager/readme.java.md b/specification/netapp/resource-manager/readme.java.md index e1cf32decd09..a63a93cc4baa 100644 --- a/specification/netapp/resource-manager/readme.java.md +++ b/specification/netapp/resource-manager/readme.java.md @@ -16,6 +16,8 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-netapp ``` yaml $(java) && $(multiapi) batch: + - tag: package-netapp-2020-06-01 + - tag: package-netapp-2020-02-01 - tag: package-netapp-2019-11-01 - tag: package-netapp-2019-10-01 - tag: package-netapp-2019-08-01 @@ -24,6 +26,31 @@ batch: - tag: package-netapp-2019-05-01 - tag: package-2017-08-15 ``` +### Tag: package-netapp-2020-06-01 and java + +These settings apply only when `--tag=package-netapp-2020-06-01 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-06-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2020_06_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-netapp-2020-02-01 and java + +These settings apply only when `--tag=package-netapp-2020-02-01 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-netapp-2020-02-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2020_02_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2020_02_01 +regenerate-manager: true +generate-interface: true +``` ### Tag: package-netapp-2019-11-01 and java diff --git a/specification/netapp/resource-manager/readme.md b/specification/netapp/resource-manager/readme.md index 4e5a285e4313..51a0709b1b27 100644 --- a/specification/netapp/resource-manager/readme.md +++ b/specification/netapp/resource-manager/readme.md @@ -28,7 +28,25 @@ These are the global settings for the Azure NetApp Files API. title: NetAppManagementClient description: Microsoft NetApp Azure Resource Provider specification openapi-type: arm -tag: package-netapp-2019-11-01 +tag: package-netapp-2020-06-01 +``` + +### Tag: package-netapp-2020-06-01 + +These settings apply only when `--tag=package-netapp-2020-06-01` is specified on the command line. + +``` yaml $(tag) == 'package-netapp-2020-06-01' +input-file: +- Microsoft.NetApp/stable/2020-06-01/netapp.json +``` + +### Tag: package-netapp-2020-02-01 + +These settings apply only when `--tag=package-netapp-2020-02-01` is specified on the command line. + +``` yaml $(tag) == 'package-netapp-2020-02-01' +input-file: +- Microsoft.NetApp/stable/2020-02-01/netapp.json ``` ### Tag: package-netapp-2019-11-01 @@ -111,7 +129,10 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-go - repo: azure-sdk-for-java - - repo: azure-sdk-for-trenton + - repo: azure-sdk-for-trenton + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js netapp/resource-manager ``` @@ -135,6 +156,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -147,6 +172,8 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.NetApp/stable/2020-06-01/netapp.json + - $(this-folder)/Microsoft.NetApp/stable/2020-02-01/netapp.json - $(this-folder)/Microsoft.NetApp/stable/2019-11-01/netapp.json - $(this-folder)/Microsoft.NetApp/stable/2019-10-01/netapp.json - $(this-folder)/Microsoft.NetApp/stable/2019-08-01/netapp.json @@ -156,15 +183,6 @@ input-file: - $(this-folder)/Microsoft.NetApp/preview/2017-08-15/netapp.json ``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` - ## trenton These settings apply only when `--trenton` is specified on the command line. @@ -179,3 +197,12 @@ trenton: package-name: netapp clear_output_folder: false ``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` + diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/CheckPrivateLinkServiceVisibility.json index 20a055c2c1f6..8cb5caa3931c 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index bf14cf2cc546..95f965f74e25 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json index 2c83b38d7560..50c461a20ad0 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-04-01/privateLinkService.json @@ -463,8 +463,15 @@ "schema": { "$ref": "#/definitions/PrivateLinkServiceVisibility" } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." } }, + "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" @@ -516,8 +523,15 @@ "schema": { "$ref": "#/definitions/PrivateLinkServiceVisibility" } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/CheckPrivateLinkServiceVisibility.json index b2a6af0b8579..063e1d401e3a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index 71aed28e49ff..692d337ec3a2 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/privateLinkService.json index e353c3b3854a..67470d8bcf7f 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-06-01/privateLinkService.json @@ -463,8 +463,15 @@ "schema": { "$ref": "#/definitions/PrivateLinkServiceVisibility" } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." } }, + "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" @@ -516,8 +523,15 @@ "schema": { "$ref": "#/definitions/PrivateLinkServiceVisibility" } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibility.json index d071067f2657..6e4a8313aa55 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index e8a83a3d9b13..8ad99c7c7214 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateLinkService.json index c773f0407dda..8a5f52168f92 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/privateLinkService.json @@ -463,8 +463,15 @@ "schema": { "$ref": "#/definitions/PrivateLinkServiceVisibility" } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." } }, + "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" @@ -516,8 +523,15 @@ "schema": { "$ref": "#/definitions/PrivateLinkServiceVisibility" } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibility.json index 2df87c4d8b80..f4bedb2a0270 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index 5ae8958bcb49..45bc8d5026ff 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateLinkService.json index 9d62becd6bdd..3f4e4bcee5ce 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-08-01/privateLinkService.json @@ -463,8 +463,15 @@ "schema": { "$ref": "#/definitions/PrivateLinkServiceVisibility" } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." } }, + "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" @@ -516,8 +523,15 @@ "schema": { "$ref": "#/definitions/PrivateLinkServiceVisibility" } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibility.json index c310e51407ea..4202a5a24138 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index 85cc866a1fc2..fdf7cea84c27 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/privateLinkService.json index 19096cbeeece..cec17b5902d2 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-09-01/privateLinkService.json @@ -579,6 +579,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -586,6 +589,10 @@ } } }, + "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" @@ -638,6 +645,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -645,6 +655,10 @@ } } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibility.json index 839d0dcb97ee..3ef322382eea 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index 3b0377a37bdc..6028c9b5c951 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/privateLinkService.json index 5f90e7b95d5f..0b53a6395ba7 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/privateLinkService.json @@ -579,6 +579,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -586,6 +589,10 @@ } } }, + "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" @@ -638,6 +645,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -645,6 +655,10 @@ } } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/examples/CheckPrivateLinkServiceVisibility.json index 20d242f7e96f..32314f36f0ba 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index d1cd2b0973e1..ce5df209a968 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/privateLinkService.json index 43c093cf8cb5..ddefe78a18bc 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2019-12-01/privateLinkService.json @@ -579,6 +579,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -586,6 +589,10 @@ } } }, + "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" @@ -638,6 +645,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -645,6 +655,10 @@ } } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/examples/CheckPrivateLinkServiceVisibility.json index 8a4799272297..4adf0b539783 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index 737a5872527e..1ff519b80f53 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/firewallPolicy.json index 856ee28bbed1..b3f020ae08c8 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/firewallPolicy.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/firewallPolicy.json @@ -614,10 +614,6 @@ "threatIntelMode": { "description": "The operation mode for Threat Intelligence.", "$ref": "./azureFirewall.json#/definitions/AzureFirewallThreatIntelMode" - }, - "intrusionSystemMode": { - "description": "The operation mode for Intrusion system.", - "$ref": "#/definitions/FirewallPolicyIntrusionSystemMode" } }, "description": "Firewall Policy definition." @@ -1058,18 +1054,6 @@ } }, "description": "Response for ListFirewallPolicyRuleGroups API service call." - }, - "FirewallPolicyIntrusionSystemMode": { - "type": "string", - "description": "The operation mode for Intrusion system mode.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "FirewallPolicyIntrusionSystemMode", - "modelAsString": true - } } } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/privateLinkService.json index d0fc0aba4b5d..8e6e8c2a7816 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-03-01/privateLinkService.json @@ -579,6 +579,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -586,6 +589,10 @@ } } }, + "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" @@ -638,6 +645,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -645,6 +655,10 @@ } } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckPrivateLinkServiceVisibility.json index 695f10456142..59136d23a2a7 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index 982f94e780c0..fe50aee4096c 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/firewallPolicy.json index e411a402a296..4eee92967be4 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/firewallPolicy.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/firewallPolicy.json @@ -566,10 +566,6 @@ "type": "string", "readOnly": true, "description": "A unique read-only string that changes whenever the resource is updated." - }, - "identity": { - "$ref": "./network.json#/definitions/ManagedServiceIdentity", - "description": "The identity of the firewall policy." } }, "allOf": [ @@ -622,88 +618,10 @@ "threatIntelWhitelist": { "description": "ThreatIntel Whitelist for Firewall Policy.", "$ref": "#/definitions/FirewallPolicyThreatIntelWhitelist" - }, - "intrusionSystemMode": { - "description": "The operation mode for Intrusion system.", - "$ref": "#/definitions/FirewallPolicyIntrusionSystemMode" - }, - "transportSecurity": { - "description": "TLS Configuration definition.", - "$ref": "#/definitions/FirewallPolicyTransportSecurity" } }, "description": "Firewall Policy definition." }, - "FirewallPolicyTransportSecurity": { - "properties": { - "certificateAuthority": { - "$ref": "#/definitions/FirewallPolicyCertificateAuthority", - "description": "The CA used for intermediate CA generation." - }, - "excludedDomains": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of domains which are excluded from TLS termination." - }, - "trustedRootCertificates": { - "type": "array", - "items": { - "$ref": "#/definitions/FirewallPolicyTrustedRootCertificate", - "description": "A list of certificates which are to be trusted by the firewall." - }, - "description": "Certificates which are to be trusted by the firewall." - } - }, - "description": "Configuration needed to perform TLS termination & initiation." - }, - "FirewallPolicyTrustedRootCertificate": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/FirewallPolicyTrustedRootCertificatePropertiesFormat", - "description": "Properties of the trusted root authorities." - }, - "name": { - "type": "string", - "description": "Name of the trusted root certificate that is unique within a firewall policy." - } - }, - "description": "Trusted Root certificates of a firewall policy." - }, - "FirewallPolicyTrustedRootCertificatePropertiesFormat": { - "properties": { - "keyVaultSecretId": { - "type": "string", - "description": "Secret Id of (base-64 encoded unencrypted pfx) the public certificate data stored in KeyVault." - } - }, - "description": "Trusted Root certificates properties for tls." - }, - "FirewallPolicyCertificateAuthority": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/FirewallPolicyCertificateAuthorityPropertiesFormat", - "description": "Properties of the certificate authority." - }, - "name": { - "type": "string", - "description": "Name of the CA certificate." - } - }, - "description": "Trusted Root certificates properties for tls." - }, - "FirewallPolicyCertificateAuthorityPropertiesFormat": { - "properties": { - "keyVaultSecretId": { - "type": "string", - "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." - } - }, - "description": "Trusted Root certificates properties for tls." - }, "FirewallPolicyRuleGroup": { "properties": { "properties": { @@ -901,13 +819,6 @@ }, "description": "Array of Application Protocols." }, - "targetUrls": { - "type": "array", - "description": "List of Urls for this rule condition.", - "items": { - "type": "string" - } - }, "targetFqdns": { "type": "array", "description": "List of FQDNs for this rule condition.", @@ -975,10 +886,6 @@ "items": { "type": "string" } - }, - "terminateTLS": { - "type": "boolean", - "description": "Terminate TLS connections for this rule." } } }, @@ -1152,18 +1059,6 @@ }, "description": "Response for ListFirewallPolicyRuleGroups API service call." }, - "FirewallPolicyIntrusionSystemMode": { - "type": "string", - "description": "The operation mode for Intrusion system mode.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "FirewallPolicyIntrusionSystemMode", - "modelAsString": true - } - }, "FirewallPolicyThreatIntelWhitelist": { "description": "ThreatIntel Whitelist for Firewall Policy.", "x-ms-discriminator-value": "FirewallPolicyThreatIntelWhitelist", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/loadBalancer.json index 01905101e2e3..34d350384587 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/loadBalancer.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/loadBalancer.json @@ -1524,20 +1524,20 @@ }, "BackendAddressPoolPropertiesFormat": { "properties": { - "backendIPConfigurations": { - "readOnly": true, + "loadBalancerBackendAddresses": { "type": "array", "items": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + "$ref": "#/definitions/LoadBalancerBackendAddress" }, - "description": "An array of references to IP addresses defined in network interfaces." + "description": "An array of backend addresses." }, - "loadBalancerBackendAddresses": { + "backendIPConfigurations": { + "readOnly": true, "type": "array", "items": { - "$ref": "#/definitions/LoadBalancerBackendAddress" + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" }, - "description": "An array of backend addresses." + "description": "An array of references to IP addresses defined in network interfaces." }, "loadBalancingRules": { "readOnly": true, diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/privateLinkService.json index 9af7deeed685..d10ad9249709 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/privateLinkService.json @@ -579,6 +579,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -586,6 +589,10 @@ } } }, + "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" @@ -638,6 +645,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -645,6 +655,10 @@ } } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/virtualWan.json index 3062c1da736d..2d59aedac7af 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/virtualWan.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-04-01/virtualWan.json @@ -4682,7 +4682,7 @@ "description": "List of all connections associated with this route table.", "readOnly": true, "items": { - "$ref": "./network.json#/definitions/SubResource" + "type": "string" } }, "propagatingConnections": { @@ -4690,7 +4690,7 @@ "description": "List of all connections that advertise to this route table.", "readOnly": true, "items": { - "$ref": "./network.json#/definitions/SubResource" + "type": "string" } }, "provisioningState": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/azureFirewall.json index c9ca5b08e37c..f16e80cd94c3 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/azureFirewall.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/azureFirewall.json @@ -466,7 +466,7 @@ "properties": { "addresses": { "type": "array", - "description": "The number of Public IP addresses associated with azure firewall.", + "description": "The list of Public IP addresses associated with azure firewall or IP addresses to be retained.", "items": { "$ref": "#/definitions/AzureFirewallPublicIPAddress" } @@ -474,7 +474,7 @@ "count": { "type": "integer", "format": "int32", - "description": "Private IP Address associated with azure firewall." + "description": "The number of Public IP addresses associated with azure firewall." } }, "description": "Public IP addresses associated with azure firewall." diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibility.json index 90eae91deb38..299c5dfe937a 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibility.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibility.json @@ -12,6 +12,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json index db32cdcb2184..2ee00862beb3 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -13,6 +13,7 @@ "body": { "visible": true } - } + }, + "202": {} } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetBastionHosts.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetBastionHosts.json new file mode 100644 index 000000000000..9b46fd4c2ff6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/examples/VirtualNetworkGetBastionHosts.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-05-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "vnet" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "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/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json index f15fb1e7a7b2..fca251108fb0 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/firewallPolicy.json @@ -566,10 +566,6 @@ "type": "string", "readOnly": true, "description": "A unique read-only string that changes whenever the resource is updated." - }, - "identity": { - "$ref": "./network.json#/definitions/ManagedServiceIdentity", - "description": "The identity of the firewall policy." } }, "allOf": [ @@ -623,14 +619,6 @@ "description": "ThreatIntel Whitelist for Firewall Policy.", "$ref": "#/definitions/FirewallPolicyThreatIntelWhitelist" }, - "intrusionSystemMode": { - "description": "The operation mode for Intrusion system.", - "$ref": "#/definitions/FirewallPolicyIntrusionSystemMode" - }, - "transportSecurity": { - "description": "TLS Configuration definition.", - "$ref": "#/definitions/FirewallPolicyTransportSecurity" - }, "dnsSettings": { "description": "DNS Proxy Settings definition.", "$ref": "#/definitions/DnsSettings" @@ -638,76 +626,6 @@ }, "description": "Firewall Policy definition." }, - "FirewallPolicyTransportSecurity": { - "properties": { - "certificateAuthority": { - "$ref": "#/definitions/FirewallPolicyCertificateAuthority", - "description": "The CA used for intermediate CA generation." - }, - "excludedDomains": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of domains which are excluded from TLS termination." - }, - "trustedRootCertificates": { - "type": "array", - "items": { - "$ref": "#/definitions/FirewallPolicyTrustedRootCertificate", - "description": "A list of certificates which are to be trusted by the firewall." - }, - "description": "Certificates which are to be trusted by the firewall." - } - }, - "description": "Configuration needed to perform TLS termination & initiation." - }, - "FirewallPolicyTrustedRootCertificate": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/FirewallPolicyTrustedRootCertificatePropertiesFormat", - "description": "Properties of the trusted root authorities." - }, - "name": { - "type": "string", - "description": "Name of the trusted root certificate that is unique within a firewall policy." - } - }, - "description": "Trusted Root certificates of a firewall policy." - }, - "FirewallPolicyTrustedRootCertificatePropertiesFormat": { - "properties": { - "keyVaultSecretId": { - "type": "string", - "description": "Secret Id of (base-64 encoded unencrypted pfx) the public certificate data stored in KeyVault." - } - }, - "description": "Trusted Root certificates properties for tls." - }, - "FirewallPolicyCertificateAuthority": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/FirewallPolicyCertificateAuthorityPropertiesFormat", - "description": "Properties of the certificate authority." - }, - "name": { - "type": "string", - "description": "Name of the CA certificate." - } - }, - "description": "Trusted Root certificates properties for tls." - }, - "FirewallPolicyCertificateAuthorityPropertiesFormat": { - "properties": { - "keyVaultSecretId": { - "type": "string", - "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." - } - }, - "description": "Trusted Root certificates properties for tls." - }, "FirewallPolicyRuleCollectionGroup": { "properties": { "properties": { @@ -900,13 +818,6 @@ }, "description": "Array of Application Protocols." }, - "targetUrls": { - "type": "array", - "description": "List of Urls for this rule condition.", - "items": { - "type": "string" - } - }, "targetFqdns": { "type": "array", "description": "List of FQDNs for this rule.", @@ -927,10 +838,6 @@ "items": { "type": "string" } - }, - "terminateTLS": { - "type": "boolean", - "description": "Terminate TLS connections for this rule." } }, "description": "Rule of type application." @@ -1166,18 +1073,6 @@ }, "description": "Response for ListFirewallPolicyRuleCollectionGroups API service call." }, - "FirewallPolicyIntrusionSystemMode": { - "type": "string", - "description": "The operation mode for Intrusion system mode.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "FirewallPolicyIntrusionSystemMode", - "modelAsString": true - } - }, "FirewallPolicyThreatIntelWhitelist": { "description": "ThreatIntel Whitelist for Firewall Policy.", "x-ms-discriminator-value": "FirewallPolicyThreatIntelWhitelist", diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/loadBalancer.json index 956b50a92d18..3cd051c520ef 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/loadBalancer.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/loadBalancer.json @@ -1524,20 +1524,20 @@ }, "BackendAddressPoolPropertiesFormat": { "properties": { - "backendIPConfigurations": { - "readOnly": true, + "loadBalancerBackendAddresses": { "type": "array", "items": { - "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + "$ref": "#/definitions/LoadBalancerBackendAddress" }, - "description": "An array of references to IP addresses defined in network interfaces." + "description": "An array of backend addresses." }, - "loadBalancerBackendAddresses": { + "backendIPConfigurations": { + "readOnly": true, "type": "array", "items": { - "$ref": "#/definitions/LoadBalancerBackendAddress" + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" }, - "description": "An array of backend addresses." + "description": "An array of references to IP addresses defined in network interfaces." }, "loadBalancingRules": { "readOnly": true, diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkWatcher.json index edeedd8b860e..0166ba1b75e7 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkWatcher.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/networkWatcher.json @@ -3397,10 +3397,10 @@ }, "context": { "readOnly": true, - "type": "array", - "description": "Provides additional context on the issue.", - "items": { - "$ref": "#/definitions/IssueContext" + "type": "object", + "description": "Provides additional context on links.", + "additionalProperties": { + "type": "string" } }, "resourceId": { @@ -3416,19 +3416,16 @@ "roundTripTimeMin": { "description": "Minimum roundtrip time in milliseconds.", "readOnly": true, - "format": "int32", "type": "integer" }, "roundTripTimeAvg": { "description": "Average roundtrip time in milliseconds.", "readOnly": true, - "format": "int32", "type": "integer" }, "roundTripTimeMax": { "description": "Maximum roundtrip time in milliseconds.", "readOnly": true, - "format": "int32", "type": "integer" } } diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/privateLinkService.json index cdaf84b39ac3..e99b351dae8d 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/privateLinkService.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/privateLinkService.json @@ -579,6 +579,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -586,6 +589,10 @@ } } }, + "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" @@ -638,6 +645,9 @@ "$ref": "#/definitions/PrivateLinkServiceVisibility" } }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -645,6 +655,10 @@ } } }, + "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" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/publicIpAddress.json index 6759277f77a5..6785b25ddc02 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/publicIpAddress.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/publicIpAddress.json @@ -54,7 +54,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the subnet." + "description": "The name of the public IP address." }, { "$ref": "./network.json#/parameters/ApiVersionParameter" @@ -109,7 +109,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the subnet." + "description": "The name of the public IP address." }, { "$ref": "./network.json#/parameters/ApiVersionParameter" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json index 783bab0768f8..61e1f2cdf1cb 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualNetwork.json @@ -1232,6 +1232,53 @@ "nextLinkName": "nextLink" } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/bastionHosts": { + "get": { + "operationId": "VirtualNetworks_GetBastionHosts", + "description": "Get a list of bastion hosts accessible from the given 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": "List of bastion hosts accessible that can connect to resources in the given virtual network", + "schema": { + "$ref": "./bastionHost.json#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check IP address availability": { + "$ref": "./examples/VirtualNetworkGetBastionHosts.json" + } + } + } } }, "definitions": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json index 59268c93c1b1..6b4190ba2e50 100644 --- a/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-05-01/virtualWan.json @@ -5512,7 +5512,7 @@ "description": "List of all connections associated with this route table.", "readOnly": true, "items": { - "$ref": "./network.json#/definitions/SubResource" + "type": "string" } }, "propagatingConnections": { @@ -5520,7 +5520,7 @@ "description": "List of all connections that advertise to this route table.", "readOnly": true, "items": { - "$ref": "./network.json#/definitions/SubResource" + "type": "string" } }, "provisioningState": { @@ -6587,7 +6587,7 @@ } } }, - "VirtualHubEffectiveRouteEffectiveRouteList": { + "VirtualHubEffectiveRouteList": { "description": "EffectiveRoutes List.", "properties": { "value": { diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/applicationGateway.json new file mode 100644 index 000000000000..95e3258db2d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/applicationGateway.json @@ -0,0 +1,3526 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}": { + "delete": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Delete", + "x-ms-examples": { + "Delete ApplicationGateway": { + "$ref": "./examples/ApplicationGatewayDelete.json" + } + }, + "description": "Deletes the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Get", + "x-ms-examples": { + "Get ApplicationGateway": { + "$ref": "./examples/ApplicationGatewayGet.json" + } + }, + "description": "Gets the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_CreateOrUpdate", + "description": "Creates or updates the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGateway" + }, + "description": "Parameters supplied to the create or update application gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Application Gateway": { + "$ref": "./examples/ApplicationGatewayCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_UpdateTags", + "x-ms-examples": { + "Update Application Gateway tags": { + "$ref": "./examples/ApplicationGatewayUpdateTags.json" + } + }, + "description": "Updates the specified application gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update application gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ApplicationGateway resource.", + "schema": { + "$ref": "#/definitions/ApplicationGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_List", + "x-ms-examples": { + "Lists all application gateways in a resource group": { + "$ref": "./examples/ApplicationGatewayList.json" + } + }, + "description": "Lists all application gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of ApplicationGateway resources.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAll", + "x-ms-examples": { + "Lists all application gateways in a subscription": { + "$ref": "./examples/ApplicationGatewayListAll.json" + } + }, + "description": "Gets all the application gateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of ApplicationGateway resources.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Start", + "x-ms-examples": { + "Start Application Gateway": { + "$ref": "./examples/ApplicationGatewayStart.json" + } + }, + "description": "Starts the specified application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation starts the ApplicationGateway resource." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_Stop", + "x-ms-examples": { + "Stop Application Gateway": { + "$ref": "./examples/ApplicationGatewayStop.json" + } + }, + "description": "Stops the specified application gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the ApplicationGateway resource." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_BackendHealth", + "description": "Gets the backend health of the specified application gateway in a resource group.", + "x-ms-examples": { + "Get Backend Health": { + "$ref": "./examples/ApplicationGatewayBackendHealthGet.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands BackendAddressPool and BackendHttpSettings referenced in backend health." + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayBackendHealth" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand": { + "post": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_BackendHealthOnDemand", + "description": "Gets the backend health for given combination of backend pool and http setting of the specified application gateway in a resource group.", + "x-ms-examples": { + "Test Backend Health": { + "$ref": "./examples/ApplicationGatewayBackendHealthTest.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands BackendAddressPool and BackendHttpSettings referenced in backend health." + }, + { + "name": "probeRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGatewayOnDemandProbe" + }, + "description": "Request body for on-demand test probe operation." + } + ], + "responses": { + "200": { + "description": "Request successful.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthOnDemand" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/privateLinkResources": { + "get": { + "tags": [ + "ApplicationGatewayPrivateLinkResources" + ], + "operationId": "ApplicationGatewayPrivateLinkResources_List", + "x-ms-examples": { + "Lists all private link resources on application gateway": { + "$ref": "./examples/ApplicationGatewayPrivateLinkResourceList.json" + } + }, + "description": "Lists all private link resources on an application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of private link resources on application gateway.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/privateEndpointConnections/{connectionName}": { + "delete": { + "tags": [ + "ApplicationGatewayPrivateEndpointConnections" + ], + "operationId": "ApplicationGatewayPrivateEndpointConnections_Delete", + "x-ms-examples": { + "Delete Application Gateway Private Endpoint Connection": { + "$ref": "./examples/ApplicationGatewayPrivateEndpointConnectionDelete.json" + } + }, + "description": "Deletes the specified private endpoint connection on application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway private endpoint connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "put": { + "tags": [ + "ApplicationGatewayPrivateEndpointConnections" + ], + "operationId": "ApplicationGatewayPrivateEndpointConnections_Update", + "description": "Updates the specified private endpoint connection on application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "Parameters supplied to update application gateway private endpoint connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting private endpoint connection on application gateway.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Application Gateway Private Endpoint Connection": { + "$ref": "./examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "ApplicationGatewayPrivateEndpointConnections" + ], + "operationId": "ApplicationGatewayPrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection on application gateway.", + "x-ms-examples": { + "Get Application Gateway Private Endpoint Connection": { + "$ref": "./examples/ApplicationGatewayPrivateEndpointConnectionGet.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway private endpoint connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an application gateway private endpoint connection.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/privateEndpointConnections": { + "get": { + "tags": [ + "ApplicationGatewayPrivateEndpointConnections" + ], + "operationId": "ApplicationGatewayPrivateEndpointConnections_List", + "x-ms-examples": { + "Lists all private endpoint connections on application gateway": { + "$ref": "./examples/ApplicationGatewayPrivateEndpointConnectionList.json" + } + }, + "description": "Lists all private endpoint connections on an application gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "applicationGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of private endpoint connections on application gateway.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableServerVariables", + "x-ms-examples": { + "Get Available Server Variables": { + "$ref": "./examples/ApplicationGatewayAvailableServerVariablesGet.json" + } + }, + "description": "Lists all available server variables.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available server variables.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableServerVariablesResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableRequestHeaders", + "x-ms-examples": { + "Get Available Request Headers": { + "$ref": "./examples/ApplicationGatewayAvailableRequestHeadersGet.json" + } + }, + "description": "Lists all available request headers.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available request headers.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableRequestHeadersResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableResponseHeaders", + "x-ms-examples": { + "Get Available Response Headers": { + "$ref": "./examples/ApplicationGatewayAvailableResponseHeadersGet.json" + } + }, + "description": "Lists all available response headers.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available response headers.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableResponseHeadersResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableWafRuleSets", + "x-ms-examples": { + "Get Available Waf Rule Sets": { + "$ref": "./examples/ApplicationGatewayAvailableWafRuleSetsGet.json" + } + }, + "description": "Lists all available web application firewall rule sets.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available web application firewall rule sets.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableWafRuleSetsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableSslOptions", + "x-ms-examples": { + "Get Available Ssl Options": { + "$ref": "./examples/ApplicationGatewayAvailableSslOptionsGet.json" + } + }, + "description": "Lists available Ssl options for configuring Ssl policy.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns all available Ssl options for configuring Ssl policy.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableSslOptions" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_ListAvailableSslPredefinedPolicies", + "x-ms-examples": { + "Get Available Ssl Predefined Policies": { + "$ref": "./examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "Lists all SSL predefined policies for configuring Ssl policy.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a lists of all Ssl predefined policies for configuring Ssl policy.", + "schema": { + "$ref": "#/definitions/ApplicationGatewayAvailableSslPredefinedPolicies" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}": { + "get": { + "tags": [ + "ApplicationGateways" + ], + "operationId": "ApplicationGateways_GetSslPredefinedPolicy", + "x-ms-examples": { + "Get Available Ssl Predefined Policy by name": { + "$ref": "./examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json" + } + }, + "description": "Gets Ssl predefined policy with the specified policy name.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "predefinedPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of Ssl predefined policy." + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a Ssl predefined policy with the specified policy name.", + "schema": { + "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ApplicationGatewayOnDemandProbe": { + "properties": { + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used for the probe." + }, + "host": { + "type": "string", + "description": "Host name to send the probe to." + }, + "path": { + "type": "string", + "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds." + }, + "pickHostNameFromBackendHttpSettings": { + "type": "boolean", + "description": "Whether the host header should be picked from the backend http settings. Default value is false." + }, + "match": { + "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch", + "description": "Criterion for classifying a healthy probe response." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to backend pool of application gateway to which probe request will be sent." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to backend http setting of application gateway to be used for test probe." + } + }, + "description": "Details of on demand test probe request." + }, + "ApplicationGatewayBackendHealthOnDemand": { + "properties": { + "backendAddressPool": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool", + "description": "Reference to an ApplicationGatewayBackendAddressPool resource." + }, + "backendHealthHttpSettings": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings", + "description": "Application gateway BackendHealthHttp settings." + } + }, + "description": "Result of on demand test probe." + }, + "ApplicationGatewayBackendHealth": { + "properties": { + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthPool" + }, + "description": "A list of ApplicationGatewayBackendHealthPool resources." + } + }, + "description": "Response for ApplicationGatewayBackendHealth API service call." + }, + "ApplicationGatewayBackendHealthPool": { + "properties": { + "backendAddressPool": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool", + "description": "Reference to an ApplicationGatewayBackendAddressPool resource." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthHttpSettings" + }, + "description": "List of ApplicationGatewayBackendHealthHttpSettings resources." + } + }, + "description": "Application gateway BackendHealth pool." + }, + "ApplicationGatewayBackendHealthHttpSettings": { + "properties": { + "backendHttpSettings": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings", + "description": "Reference to an ApplicationGatewayBackendHttpSettings resource." + }, + "servers": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHealthServer" + }, + "description": "List of ApplicationGatewayBackendHealthServer resources." + } + }, + "description": "Application gateway BackendHealthHttp settings." + }, + "ApplicationGatewayBackendHealthServer": { + "properties": { + "address": { + "type": "string", + "description": "IP address or FQDN of backend server." + }, + "ipConfiguration": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "Reference to IP configuration of backend server." + }, + "health": { + "type": "string", + "description": "Health of backend server.", + "enum": [ + "Unknown", + "Up", + "Down", + "Partial", + "Draining" + ], + "x-ms-enum": { + "name": "ApplicationGatewayBackendHealthServerHealth", + "modelAsString": true + } + }, + "healthProbeLog": { + "type": "string", + "description": "Health Probe Log." + } + }, + "description": "Application gateway backendhealth http settings." + }, + "ApplicationGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Name of an application gateway SKU.", + "enum": [ + "Standard_Small", + "Standard_Medium", + "Standard_Large", + "WAF_Medium", + "WAF_Large", + "Standard_v2", + "WAF_v2" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Tier of an application gateway.", + "enum": [ + "Standard", + "WAF", + "Standard_v2", + "WAF_v2" + ], + "x-ms-enum": { + "name": "ApplicationGatewayTier", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Capacity (instance count) of an application gateway." + } + }, + "description": "SKU of an application gateway." + }, + "ApplicationGatewaySslPolicy": { + "properties": { + "disabledSslProtocols": { + "type": "array", + "description": "Ssl protocols to be disabled on application gateway.", + "items": { + "type": "string", + "$ref": "#/definitions/ProtocolsEnum" + } + }, + "policyType": { + "type": "string", + "description": "Type of Ssl Policy.", + "enum": [ + "Predefined", + "Custom" + ], + "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." + } + }, + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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." + }, + "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 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." + }, + "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." + }, + "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 paramter to truth value with force the pattern to do a case in-sensitive comparison." + }, + "negate": { + "type": "boolean", + "description": "Setting this value as truth will force to check the negation of the condition given by the user." + } + }, + "description": "Set of conditions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayRewriteRuleActionSet": { + "properties": { + "requestHeaderConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + }, + "description": "Request Header Actions in the Action Set." + }, + "responseHeaderConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + }, + "description": "Response Header Actions in the Action Set." + }, + "urlConfiguration": { + "$ref": "#/definitions/ApplicationGatewayUrlConfiguration", + "description": "Url Configuration Action in the Action Set." + } + }, + "description": "Set of actions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayHeaderConfiguration": { + "properties": { + "headerName": { + "type": "string", + "description": "Header name of the header configuration." + }, + "headerValue": { + "type": "string", + "description": "Header value of the header configuration." + } + }, + "description": "Header configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayUrlConfiguration": { + "properties": { + "modifiedPath": { + "type": "string", + "description": "Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null." + }, + "modifiedQueryString": { + "type": "string", + "description": "Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null." + }, + "reroute": { + "type": "boolean", + "description": "If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false." + } + }, + "description": "Url configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayRedirectConfigurationPropertiesFormat": { + "properties": { + "redirectType": { + "type": "string", + "$ref": "#/definitions/RedirectTypeEnum", + "description": "HTTP redirection type." + }, + "targetListener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to a listener to redirect the request to." + }, + "targetUrl": { + "type": "string", + "description": "Url to redirect the request to." + }, + "includePath": { + "type": "boolean", + "description": "Include path in the redirected url." + }, + "includeQueryString": { + "type": "boolean", + "description": "Include query string in the redirected url." + }, + "requestRoutingRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Request routing specifying redirect configuration." + }, + "urlPathMaps": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Url path maps specifying default redirect configuration." + }, + "pathRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Path rules specifying redirect configuration." + } + }, + "description": "Properties of redirect configuration of the application gateway." + }, + "ApplicationGatewayRedirectConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRedirectConfigurationPropertiesFormat", + "description": "Properties of the application gateway redirect configuration." + }, + "name": { + "type": "string", + "description": "Name of the redirect configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Redirect configuration of an application gateway." + }, + "ApplicationGatewayPrivateLinkConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfigurationProperties", + "description": "Properties of the application gateway private link configuration." + }, + "name": { + "type": "string", + "description": "Name of the private link configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Private Link Configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkConfigurationProperties": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfiguration" + }, + "description": "An array of application gateway private link ip configurations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private link configuration." + } + }, + "description": "Properties of private link configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfigurationProperties", + "description": "Properties of an application gateway private link ip configuration." + }, + "name": { + "type": "string", + "description": "The name of application gateway private link ip configuration." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The application gateway private link ip configuration." + }, + "ApplicationGatewayPrivateLinkIpConfigurationProperties": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource." + }, + "primary": { + "type": "boolean", + "description": "Whether the ip configuration is primary or not." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private link IP configuration." + } + }, + "description": "Properties of an application gateway private link IP configuration." + }, + "ApplicationGatewayPrivateLinkResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResourceProperties", + "description": "Properties of the application gateway private link resource." + }, + "name": { + "type": "string", + "description": "Name of the private link resource that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateLink Resource of an application gateway." + }, + "ApplicationGatewayPrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "Group identifier of private link resource.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "Required member names of private link resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required DNS zone names of the the private link resource." + } + }, + "description": "Properties of a private link resource." + }, + "ApplicationGatewayPrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResource" + }, + "description": "List of private link resources of an application gateway." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGatewayPrivateLinkResources API service call. Gets all private link resources for an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnectionProperties", + "description": "Properties of the application gateway private endpoint connection." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection on an application gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Private Endpoint connection on an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "readOnly": true, + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private endpoint connection resource." + }, + "linkIdentifier": { + "readOnly": true, + "type": "string", + "description": "The consumer link id." + } + }, + "description": "Properties of Private Link Resource of an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "List of private endpoint connections on an application gateway." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGatewayPrivateEndpointConnection API service call. Gets all private endpoint connections for an application gateway." + }, + "ApplicationGatewayPropertiesFormat": { + "properties": { + "sku": { + "$ref": "#/definitions/ApplicationGatewaySku", + "description": "SKU of the application gateway resource." + }, + "sslPolicy": { + "$ref": "#/definitions/ApplicationGatewaySslPolicy", + "description": "SSL policy of the application gateway resource." + }, + "operationalState": { + "readOnly": true, + "type": "string", + "description": "Operational state of the application gateway resource.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping" + ], + "x-ms-enum": { + "name": "ApplicationGatewayOperationalState", + "modelAsString": true + } + }, + "gatewayIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayIPConfiguration" + }, + "description": "Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate" + }, + "description": "Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificate" + }, + "description": "Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedClientCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificate" + }, + "description": "Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "sslCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslCertificate" + }, + "description": "SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration" + }, + "description": "Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendPorts": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendPort" + }, + "description": "Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayProbe" + }, + "description": "Probes of the application gateway resource." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings" + }, + "description": "Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "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)." + }, + "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." + }, + "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." + } + }, + "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." + }, + "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." + } + }, + "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." + }, + "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 customer error.", + "enum": [ + "HttpStatus403", + "HttpStatus502" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCustomErrorStatusCode", + "modelAsString": true + } + }, + "customErrorPageUrl": { + "type": "string", + "description": "Error page URL of the application gateway customer error." + } + }, + "description": "Customer error of an application gateway." + }, + "PolicyNameEnum": { + "type": "string", + "description": "Ssl predefined policy name enums.", + "enum": [ + "AppGwSslPolicy20150501", + "AppGwSslPolicy20170401", + "AppGwSslPolicy20170401S" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslPolicyName", + "modelAsString": true + } + }, + "ProtocolsEnum": { + "type": "string", + "description": "Ssl protocol enums.", + "enum": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2" + ], + "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" + ], + "x-ms-enum": { + "name": "ApplicationGatewayProtocol", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/applicationSecurityGroup.json new file mode 100644 index 000000000000..17ae3893d4c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/availableDelegations.json new file mode 100644 index 000000000000..a30790872167 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/availableServiceAliases.json new file mode 100644 index 000000000000..5e22658efb39 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/azureFirewall.json new file mode 100644 index 000000000000..74aa507d0c9e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/azureFirewall.json @@ -0,0 +1,1085 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + } + } + }, + "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" + ], + "x-ms-enum": { + "name": "AzureFirewallSkuTier", + "modelAsString": true + } + } + }, + "description": "SKU of an Azure Firewall." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/azureFirewallFqdnTag.json new file mode 100644 index 000000000000..aa3677efc6ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/bastionHost.json new file mode 100644 index 000000000000..2bc293994255 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/bastionHost.json @@ -0,0 +1,869 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}": { + "delete": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_Delete", + "description": "Deletes the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Bastion Host": { + "$ref": "./examples/BastionHostDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_Get", + "description": "Gets the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an BastionHost resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Bastion Host": { + "$ref": "./examples/BastionHostGet.json" + } + } + }, + "put": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_CreateOrUpdate", + "description": "Creates or updates the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionHost" + }, + "description": "Parameters supplied to the create or update Bastion Host operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting Bastion Host resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting Bastion Host resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Bastion Host": { + "$ref": "./examples/BastionHostPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts": { + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_List", + "description": "Lists all Bastion Hosts in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Bastion Host resources.", + "schema": { + "$ref": "#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Bastion Hosts for a given subscription": { + "$ref": "./examples/BastionHostListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts": { + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_ListByResourceGroup", + "description": "Lists all Bastion Hosts in a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of BastionHost resources.", + "schema": { + "$ref": "#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Bastion Hosts for a given resource group": { + "$ref": "./examples/BastionHostListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "PutBastionShareableLink", + "description": "Creates a Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of shareable links for the specified VMs, giving appropriate error messages as needed.", + "schema": { + "$ref": "#/definitions/BastionShareableLinkListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "DeleteBastionShareableLink", + "description": "Deletes the Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation deleted the BastionShareableLinks associated with the VMs, if they existed. No return body." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "GetBastionShareableLink", + "description": "Return the Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of shareable links for the specified VMs, giving appropriate error messages as needed.", + "schema": { + "$ref": "#/definitions/BastionShareableLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns the Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getActiveSessions": { + "post": { + "tags": [ + "BastionHosts" + ], + "operationId": "GetActiveSessions", + "description": "Returns the list of currently active sessions on the Bastion.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of active sessions on the Bastion.", + "schema": { + "$ref": "#/definitions/BastionActiveSessionListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns a list of currently active sessions on the Bastion": { + "$ref": "./examples/BastionSessionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/disconnectActiveSessions": { + "post": { + "tags": [ + "BastionHosts" + ], + "operationId": "DisconnectActiveSessions", + "description": "Returns the list of currently active sessions on the Bastion.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/SessionIdsParameters" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of sessions with the state of deleted/failed/not found.", + "schema": { + "$ref": "#/definitions/BastionSessionDeleteResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deletes the specified active session": { + "$ref": "./examples/BastionSessionDelete.json" + } + } + } + } + }, + "definitions": { + "BastionHostIPConfigurationPropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the PublicIP resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the bastion host IP configuration resource." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "Private IP allocation method." + } + }, + "required": [ + "subnet", + "publicIPAddress" + ], + "description": "Properties of IP configuration of an Bastion Host." + }, + "BastionHostIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BastionHostIPConfigurationPropertiesFormat", + "description": "Represents the ip configuration associated with the resource." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Ip configuration type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an Bastion Host." + }, + "BastionHostPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHostIPConfiguration" + }, + "description": "IP configuration of the Bastion Host resource." + }, + "dnsName": { + "type": "string", + "description": "FQDN for the endpoint on which bastion host is accessible." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the bastion host resource." + } + }, + "description": "Properties of the Bastion Host." + }, + "BastionHost": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BastionHostPropertiesFormat", + "description": "Represents the bastion host resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Bastion Host resource." + }, + "BastionHostListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHost" + }, + "description": "List of Bastion Hosts in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListBastionHosts API service call." + }, + "BastionShareableLink": { + "properties": { + "vm": { + "$ref": "#/definitions/VM", + "description": "Reference of the virtual machine resource." + }, + "bsl": { + "type": "string", + "readOnly": true, + "description": "The unique Bastion Shareable Link to the virtual machine." + }, + "createdAt": { + "type": "string", + "readOnly": true, + "description": "The time when the link was created." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Optional field indicating the warning or error message related to the vm in case of partial failure." + } + }, + "required": [ + "vm" + ], + "description": "Bastion Shareable Link." + }, + "BastionShareableLinkListRequest": { + "properties": { + "vms": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionShareableLink" + }, + "description": "List of VM references." + } + }, + "description": "Post request for all the Bastion Shareable Link endpoints." + }, + "BastionShareableLinkListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionShareableLink" + }, + "description": "List of Bastion Shareable Links for the request." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for all the Bastion Shareable Link endpoints." + }, + "BastionActiveSession": { + "properties": { + "sessionId": { + "type": "string", + "readOnly": true, + "description": "A unique id for the session." + }, + "startTime": { + "type": "object", + "readOnly": true, + "description": "The time when the session started." + }, + "targetSubscriptionId": { + "type": "string", + "readOnly": true, + "description": "The subscription id for the target virtual machine." + }, + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The type of the resource." + }, + "targetHostName": { + "type": "string", + "readOnly": true, + "description": "The host name of the target." + }, + "targetResourceGroup": { + "type": "string", + "readOnly": true, + "description": "The resource group of the target." + }, + "userName": { + "type": "string", + "readOnly": true, + "description": "The user name who is active on this session." + }, + "targetIpAddress": { + "type": "string", + "readOnly": true, + "description": "The IP Address of the target." + }, + "protocol": { + "type": "string", + "readOnly": true, + "description": "The protocol used to connect to the target.", + "enum": [ + "SSH", + "RDP" + ], + "x-ms-enum": { + "name": "BastionConnectProtocol", + "modelAsString": true + } + }, + "targetResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource id of the target." + }, + "sessionDurationInMins": { + "type": "number", + "readOnly": true, + "description": "Duration in mins the session has been active." + } + }, + "description": "The session detail for a target." + }, + "BastionActiveSessionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionActiveSession" + }, + "description": "List of active sessions on the bastion." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for GetActiveSessions." + }, + "BastionSessionState": { + "properties": { + "sessionId": { + "type": "string", + "readOnly": true, + "description": "A unique id for the session." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Used for extra information." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the session. Disconnected/Failed/NotFound." + } + }, + "description": "The session state detail for a target." + }, + "BastionSessionDeleteResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionSessionState" + }, + "description": "List of sessions with their corresponding state." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for DisconnectActiveSessions." + }, + "VM": { + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine." + }, + "SessionIds": { + "properties": { + "sessionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of session IDs." + } + }, + "description": "List of session IDs." + } + }, + "parameters": { + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "BastionShareableLinkRequest": { + "name": "bslRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionShareableLinkListRequest" + }, + "description": "Post request for all the Bastion Shareable Link endpoints.", + "x-ms-parameter-location": "method" + }, + "BastionHostName": { + "name": "bastionHostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Bastion Host.", + "x-ms-parameter-location": "method" + }, + "SessionIdsParameters": { + "name": "sessionIds", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SessionIds" + }, + "description": "The list of sessionids to disconnect.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/checkDnsAvailability.json new file mode 100644 index 000000000000..f6a750f021d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/customIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/customIpPrefix.json new file mode 100644 index 000000000000..7cb997575572 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/customIpPrefix.json @@ -0,0 +1,447 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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": { + "cidr": { + "type": "string", + "description": "The prefix range in CIDR notation. Should include the start address and the prefix length." + }, + "commissionedState": { + "type": "string", + "description": "The commissioned state of the Custom IP Prefix.", + "enum": [ + "Provisioning", + "Provisioned", + "Commissioning", + "Commissioned", + "Decommissioning", + "Deprovisioning" + ], + "x-ms-enum": { + "name": "CommissionedState", + "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." + }, + "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": { + "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/2020-06-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ddosCustomPolicy.json new file mode 100644 index 000000000000..1a7db7d7b4cc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ddosCustomPolicy.json @@ -0,0 +1,364 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}": { + "delete": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_Delete", + "description": "Deletes the specified DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyDelete.json" + } + } + }, + "get": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_Get", + "description": "Gets information about the specified DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the specified DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_CreateOrUpdate", + "description": "Creates or updates a DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + }, + "description": "Parameters supplied to the create or update operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyCreate.json" + } + } + }, + "patch": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_UpdateTags", + "description": "Update a DDoS custom policy tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update DDoS custom policy resource tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DDoS Custom policy Update tags": { + "$ref": "./examples/DdosCustomPolicyUpdateTags.json" + } + } + } + } + }, + "definitions": { + "DdosCustomPolicy": { + "description": "A DDoS custom policy in a resource group.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DdosCustomPolicyPropertiesFormat", + "description": "Properties of the DDoS custom policy." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "DdosCustomPolicyPropertiesFormat": { + "properties": { + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the DDoS custom policy resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the DDoS custom policy resource." + }, + "publicIPAddresses": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The list of public IPs associated with the DDoS custom policy resource. This list is read-only." + }, + "protocolCustomSettings": { + "readOnly": false, + "type": "array", + "items": { + "$ref": "#/definitions/ProtocolCustomSettingsFormat" + }, + "description": "The protocol-specific DDoS policy customization parameters." + } + }, + "description": "DDoS custom policy properties." + }, + "ProtocolCustomSettingsFormat": { + "properties": { + "protocol": { + "readOnly": false, + "type": "string", + "enum": [ + "Tcp", + "Udp", + "Syn" + ], + "x-ms-enum": { + "name": "DdosCustomPolicyProtocol", + "modelAsString": true + }, + "description": "The protocol for which the DDoS protection policy is being customized." + }, + "triggerRateOverride": { + "readOnly": false, + "type": "string", + "description": "The customized DDoS protection trigger rate." + }, + "sourceRateOverride": { + "readOnly": false, + "type": "string", + "description": "The customized DDoS protection source rate." + }, + "triggerSensitivityOverride": { + "readOnly": false, + "type": "string", + "enum": [ + "Relaxed", + "Low", + "Default", + "High" + ], + "x-ms-enum": { + "name": "DdosCustomPolicyTriggerSensitivityOverride", + "modelAsString": true + }, + "description": "The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic." + } + }, + "description": "DDoS custom policy properties." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ddosProtectionPlan.json new file mode 100644 index 000000000000..4b1ff535a640 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ddosProtectionPlan.json @@ -0,0 +1,436 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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." + }, + "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." + }, + "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/2020-06-01/dscpConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/dscpConfiguration.json new file mode 100644 index 000000000000..daed6d05f9b9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/dscpConfiguration.json @@ -0,0 +1,445 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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": "DSCP Configuration in a resource group." + }, + "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." + }, + "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": "DSCP Configuration properties." + }, + "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/2020-06-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/endpointService.json new file mode 100644 index 000000000000..746a7058fd56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json new file mode 100644 index 000000000000..a94824ac7bb9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Accept-Charset" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json new file mode 100644 index 000000000000..12e53d3d5bf6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Access-Control-Allow-Origin" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableServerVariablesGet.json new file mode 100644 index 000000000000..34aefc2ab76d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableServerVariablesGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "request_query" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsGet.json new file mode 100644 index 000000000000..d3f674ea1310 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsGet.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json new file mode 100644 index 000000000000..ed38213aaca1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json new file mode 100644 index 000000000000..8f5d36776b12 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json new file mode 100644 index 000000000000..b0786e449fd9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "description": "Possible Multipart Unmatched Boundary." + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayBackendHealthGet.json new file mode 100644 index 000000000000..6f14cfdadfb1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayBackendHealthGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayBackendHealthTest.json new file mode 100644 index 000000000000..53c61899b5af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayBackendHealthTest.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayCreate.json new file mode 100644 index 000000000000..7d68f9d67e02 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayCreate.json @@ -0,0 +1,878 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + ] + } + } + ], + "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" + } + } + ], + "urlPathMaps": [ + { + "name": "pathMap1", + "properties": { + "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" + }, + "pathRules": [ + { + "name": "apiPaths", + "properties": { + "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" + } + } + } + ] + } + } + ], + "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" + } + } + }, + { + "name": "appgwPathBasedRule", + "properties": { + "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", + "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" + } + } + } + ] + } + } + ] + } + } + }, + "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": [] + } + } + ], + "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" + } + } + ], + "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" + }, + "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" + } + } + } + ] + } + } + ], + "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" + } + } + }, + { + "name": "appgwPathBasedRule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "PathBasedRouting", + "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", + "reroute": true + } + } + } + ] + } + } + ], + "probes": [] + } + } + }, + "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" + }, + "privateLinkConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLinkConfig1" + } + } + } + ], + "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": [] + } + } + ], + "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" + } + } + ], + "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" + }, + "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" + } + } + } + ] + } + } + ], + "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" + } + } + }, + { + "name": "appgwPathBasedRule", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule", + "properties": { + "provisioningState": "Succeeded", + "ruleType": "PathBasedRouting", + "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" + } + } + } + ] + } + } + ], + "probes": [], + "privateLinkConfigurations": [ + { + "name": "privateLinkConfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLinkConfig1", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "natNicIpconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/privateLinkConfigurations/privateLinkConfig1/ipConfigurations/natNicIpconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "primary": true, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet" + } + } + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayDelete.json new file mode 100644 index 000000000000..4345ff510ad0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayGet.json new file mode 100644 index 000000000000..c0cacc270d09 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayGet.json @@ -0,0 +1,331 @@ +{ + "parameters": { + "api-version": "2020-06-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": "****" + } + } + ], + "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": [] + } + } + ], + "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" + } + } + ], + "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" + }, + "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" + } + } + } + ] + } + } + ], + "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" + } + } + }, + { + "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": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayList.json new file mode 100644 index 000000000000..39dcf08e5397 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayList.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "properties": { + "data": "base64-pfxData", + "password": "pass1" + } + } + ], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "properties": { + "port": 443 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.1.1" + }, + { + "ipAddress": "10.0.1.2" + } + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "properties": { + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "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" + }, + "requireServerNameIndication": false + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "properties": { + "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" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayListAll.json new file mode 100644 index 000000000000..553707791eac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayListAll.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "appgw", + "type": "Microsoft.Network/applicationGateways", + "location": "southcentralus", + "properties": { + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 3 + }, + "gatewayIPConfigurations": [ + { + "name": "appgwipc", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet" + } + } + } + ], + "sslCertificates": [ + { + "name": "sslcert", + "properties": { + "data": "base64-pfxData", + "password": "pass1" + } + } + ], + "frontendIPConfigurations": [ + { + "name": "appgwfip", + "properties": { + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip" + } + } + } + ], + "frontendPorts": [ + { + "name": "appgwfp", + "properties": { + "port": 443 + } + } + ], + "backendAddressPools": [ + { + "name": "appgwpool", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.1.1" + }, + { + "ipAddress": "10.0.1.2" + } + ] + } + } + ], + "backendHttpSettingsCollection": [ + { + "name": "appgwbhs", + "properties": { + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Disabled", + "requestTimeout": 30 + } + } + ], + "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" + }, + "requireServerNameIndication": false + } + } + ], + "requestRoutingRules": [ + { + "name": "appgwrule", + "properties": { + "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" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..bddd8ef69ec0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw", + "connectionName": "connection1" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..6e0cdb71f122 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json new file mode 100644 index 000000000000..72f09e0cc403 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..a3dd7dfbc07a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "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/2020-06-01/examples/ApplicationGatewayPrivateLinkResourceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateLinkResourceList.json new file mode 100644 index 000000000000..0cd307dec769 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayPrivateLinkResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayStart.json new file mode 100644 index 000000000000..b0fefcb1263b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayStop.json new file mode 100644 index 000000000000..b0fefcb1263b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationGatewayName": "appgw" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayUpdateTags.json new file mode 100644 index 000000000000..e196311c5001 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationGatewayUpdateTags.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupCreate.json new file mode 100644 index 000000000000..a3ba640799dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupDelete.json new file mode 100644 index 000000000000..7a64410dd21d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupGet.json new file mode 100644 index 000000000000..1d36c694fa9f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupList.json new file mode 100644 index 000000000000..250eb2586cbc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupListAll.json new file mode 100644 index 000000000000..e341b542c0ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupListAll.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..4ac5885186a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ApplicationSecurityGroupUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AutoApprovedPrivateLinkServicesGet.json new file mode 100644 index 000000000000..bc1ba73ea9ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AutoApprovedPrivateLinkServicesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json new file mode 100644 index 000000000000..d5a89a0c513f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailableDelegationsResourceGroupGet.json new file mode 100644 index 000000000000..cd67cd60075c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailableDelegationsResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailableDelegationsSubscriptionGet.json new file mode 100644 index 000000000000..11c7d857455b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailableDelegationsSubscriptionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailablePrivateEndpointTypesGet.json new file mode 100644 index 000000000000..6d88df5c3013 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailablePrivateEndpointTypesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json new file mode 100644 index 000000000000..f17f9ed726c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailableServiceAliasesList.json new file mode 100644 index 000000000000..504fb5b6fb08 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailableServiceAliasesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailableServiceAliasesListByResourceGroup.json new file mode 100644 index 000000000000..2cd8225726d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AvailableServiceAliasesListByResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallDelete.json new file mode 100644 index 000000000000..4689a598d72a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallFqdnTagsListBySubscription.json new file mode 100644 index 000000000000..8bff2b3a8081 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallFqdnTagsListBySubscription.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGet.json new file mode 100644 index 000000000000..bdad8be78185 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGet.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallGetWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGetWithAdditionalProperties.json new file mode 100644 index 000000000000..2fa3a147b2dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGetWithAdditionalProperties.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallGetWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGetWithIpGroups.json new file mode 100644 index 000000000000..c5bdadf5457f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGetWithIpGroups.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallGetWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGetWithMgmtSubnet.json new file mode 100644 index 000000000000..a6aaa3d1b2ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGetWithMgmtSubnet.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGetWithZones.json new file mode 100644 index 000000000000..ecb2e1e9bc27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallGetWithZones.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallListByResourceGroup.json new file mode 100644 index 000000000000..c00a4e9753de --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallListByResourceGroup.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallListBySubscription.json new file mode 100644 index 000000000000..f323f8f01a91 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallListBySubscription.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPut.json new file mode 100644 index 000000000000..111fbad7a6b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPut.json @@ -0,0 +1,497 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutInHub.json new file mode 100644 index 000000000000..3a365f52c66b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutInHub.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallPutWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutWithAdditionalProperties.json new file mode 100644 index 000000000000..f5ac65a642ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutWithAdditionalProperties.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallPutWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutWithIpGroups.json new file mode 100644 index 000000000000..e688c6005c81 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutWithIpGroups.json @@ -0,0 +1,505 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallPutWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutWithMgmtSubnet.json new file mode 100644 index 000000000000..97e1105e1c6b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutWithMgmtSubnet.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutWithZones.json new file mode 100644 index 000000000000..680fa5d85182 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallPutWithZones.json @@ -0,0 +1,509 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallUpdateTags.json new file mode 100644 index 000000000000..873f9f21e3ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/AzureFirewallUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostDelete.json new file mode 100644 index 000000000000..d8895f2296e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostGet.json new file mode 100644 index 000000000000..7bb839affd6c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-06-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" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "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/2020-06-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostListByResourceGroup.json new file mode 100644 index 000000000000..2458f8f8c949 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostListByResourceGroup.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "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/2020-06-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostListBySubscription.json new file mode 100644 index 000000000000..04d77225bca0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostListBySubscription.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "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/2020-06-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostPut.json new file mode 100644 index 000000000000..01af26ffc76d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionHostPut.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant'", + "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", + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "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", + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "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/2020-06-01/examples/BastionSessionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionSessionDelete.json new file mode 100644 index 000000000000..b84b859a79ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionSessionDelete.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/BastionSessionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionSessionsList.json new file mode 100644 index 000000000000..f27cb5272b0b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionSessionsList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkCreate.json new file mode 100644 index 000000000000..ecd2d2a7b8c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkCreate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkDelete.json new file mode 100644 index 000000000000..23b0364f37d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkGet.json new file mode 100644 index 000000000000..a613bb1ad5a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/BastionShareableLinkGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CheckDnsNameAvailability.json new file mode 100644 index 000000000000..a0d445fc5a03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CheckDnsNameAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "location": "westus", + "domainNameLabel": "testdns" + }, + "responses": { + "200": { + "body": { + "available": false + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CheckPrivateLinkServiceVisibility.json new file mode 100644 index 000000000000..f626191e5f18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CheckPrivateLinkServiceVisibility.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json new file mode 100644 index 000000000000..705a3ed6b3fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/CustomIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..fb8e8331acb8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixCreateCustomizedValues.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "publicIpPrefixes": [] + }, + "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", + "publicIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixDelete.json new file mode 100644 index 000000000000..55b3b4fafe7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixGet.json new file mode 100644 index 000000000000..ab0cc73d1b43 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "publicIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixList.json new file mode 100644 index 000000000000..2d91448ea33a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "publicIpPrefixes": [] + }, + "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", + "publicIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixListAll.json new file mode 100644 index 000000000000..bb0d53f63631 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixListAll.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "publicIpPrefixes": [] + }, + "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.1.0/30", + "commissionedState": "Commissioned", + "publicIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + }, + { + "name": "test-customipprefix2", + "id": "/subscriptions/subid/resourceGroups/rg3/providers/Microsoft.Network/customIpPrefixes/test-customipprefix2", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "cidr": "0.0.1.0/22", + "commissionedState": "Provisioning", + "publicIpPrefixes": [] + }, + "type": "Microsoft.Network/customIpPrefixes" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixUpdateTags.json new file mode 100644 index 000000000000..b4de4cd847a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/CustomIpPrefixUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "publicIpPrefixes": [] + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/customIpPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyCreate.json new file mode 100644 index 000000000000..2af5281678a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyCreate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "location": "centraluseuap", + "properties": { + "protocolCustomSettings": [ + { + "protocol": "Tcp" + } + ] + } + } + }, + "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", + "publicIPAddresses": [], + "protocolCustomSettings": [ + { + "protocol": "Tcp", + "triggerRateOverride": "20000" + } + ] + } + } + }, + "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", + "publicIPAddresses": [], + "protocolCustomSettings": [ + { + "protocol": "Tcp", + "triggerRateOverride": "20000" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyDelete.json new file mode 100644 index 000000000000..9cfad29d2a71 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyGet.json new file mode 100644 index 000000000000..d9e579551178 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "publicIPAddresses": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyUpdateTags.json new file mode 100644 index 000000000000..08f3b4fe2928 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosCustomPolicyUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "publicIPAddresses": [], + "protocolCustomSettings": [ + { + "protocol": "Tcp", + "triggerRateOverride": "20000" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanCreate.json new file mode 100644 index 000000000000..02f8fcf091e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "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", + "virtualNetworks": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanDelete.json new file mode 100644 index 000000000000..d0dddd253f56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosProtectionPlanName": "test-plan" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanGet.json new file mode 100644 index 000000000000..d34e04fe9465 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanList.json new file mode 100644 index 000000000000..e7e8b84a5b60 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "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", + "virtualNetworks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanListAll.json new file mode 100644 index 000000000000..c844e1c6c8ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanListAll.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "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", + "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/2020-06-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanUpdateTags.json new file mode 100644 index 000000000000..b8105c6f7c12 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DdosProtectionPlanUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "virtualNetworks": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DefaultSecurityRuleGet.json new file mode 100644 index 000000000000..446fccc48a11 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DefaultSecurityRuleGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-06-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/2020-06-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DefaultSecurityRuleList.json new file mode 100644 index 000000000000..932df8fa2bae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DefaultSecurityRuleList.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-06-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/2020-06-01/examples/DscpConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationCreate.json new file mode 100644 index 000000000000..0420a0bdc862 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationCreate.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpconfig", + "parameters": { + "properties": { + "markings": [ + 46, + 10 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + }, + { + "startIP": "127.0.1.1", + "endIP": "127.0.1.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + }, + { + "startIP": "127.0.11.1", + "endIP": "127.0.11.2" + } + ], + "sourcePortRanges": [ + { + "start": 10, + "end": 11 + }, + { + "start": 20, + "end": 21 + } + ], + "destinationPortRanges": [ + { + "start": 15, + "end": 15 + }, + { + "start": 26, + "end": 27 + } + ], + "protocol": "Tcp" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "mydscpConfig", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/dscpConfiguration/mydscpConfig", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "markings": [ + 46, + 10 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + }, + { + "startIP": "127.0.1.1", + "endIP": "127.0.1.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + }, + { + "startIP": "127.0.11.1", + "endIP": "127.0.11.2" + } + ], + "sourcePortRanges": [ + { + "start": 10, + "end": 11 + }, + { + "start": 20, + "end": 21 + } + ], + "destinationPortRanges": [ + { + "start": 15, + "end": 15 + }, + { + "start": 26, + "end": 27 + } + ], + "protocol": "Tcp", + "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", + "markings": [ + 46, + 10 + ], + "sourceIpRanges": [ + { + "startIP": "127.0.0.1", + "endIP": "127.0.0.2" + }, + { + "startIP": "127.0.1.1", + "endIP": "127.0.1.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "127.0.10.1", + "endIP": "127.0.10.2" + }, + { + "startIP": "127.0.11.1", + "endIP": "127.0.11.2" + } + ], + "sourcePortRanges": [ + { + "start": 10, + "end": 11 + }, + { + "start": 20, + "end": 21 + } + ], + "destinationPortRanges": [ + { + "start": 15, + "end": 15 + }, + { + "start": 26, + "end": 27 + } + ], + "protocol": "Tcp", + "associatedNetworkInterfaces": [], + "qosCollectionId": "0f8fad5b-d9cb-469f-a165-70867728950e" + }, + "type": "Microsoft.Network/dscpConfiguration" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationDelete.json new file mode 100644 index 000000000000..398e1b3f0314 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpConfig" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationGet.json new file mode 100644 index 000000000000..51f3646cc547 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "markings": [ + 46, + 10 + ], + "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" + }, + "type": "Microsoft.Network/dscpConfiguration" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationList.json new file mode 100644 index 000000000000..691e3f38cd78 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationList.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "markings": [ + 46, + 10 + ], + "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" + }, + "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", + "markings": [ + 46, + 10 + ], + "sourceIpRanges": [ + { + "startIP": "128.0.0.1", + "endIP": "128.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "128.0.10.1", + "endIP": "128.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + "type": "Microsoft.Network/dscpConfiguration" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationListAll.json new file mode 100644 index 000000000000..72e0c54c8661 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/DscpConfigurationListAll.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "markings": [ + 46, + 10 + ], + "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" + }, + "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", + "markings": [ + 46, + 10 + ], + "sourceIpRanges": [ + { + "startIP": "128.0.0.1", + "endIP": "128.0.0.2" + } + ], + "destinationIpRanges": [ + { + "startIP": "128.0.10.1", + "endIP": "128.0.10.2" + } + ], + "sourcePortRanges": [ + { + "start": 11, + "end": 12 + } + ], + "destinationPortRanges": [ + { + "start": 61, + "end": 62 + } + ], + "protocol": "Tcp" + }, + "type": "Microsoft.Network/dscpConfiguration" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForConnection.json new file mode 100644 index 000000000000..94a669ce3e72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForConnection.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-06-01", + "effectiveRoutesParameters": { + "resourceId": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName", + "virtualWanResourceType": "ExpressRouteConnection" + } + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForRouteTable.json new file mode 100644 index 000000000000..6d530a9f7b4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForRouteTable.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-06-01", + "effectiveRoutesParameters": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1", + "virtualWanResourceType": "RouteTable" + } + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForVirtualHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForVirtualHub.json new file mode 100644 index 000000000000..9b0da24e75d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EffectiveRoutesListForVirtualHub.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2020-06-01", + "effectiveRoutesParameters": null + }, + "responses": { + "200": { + "description": "Request successful. Follow the location header for the effective routes list." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EndpointServicesList.json new file mode 100644 index 000000000000..28e814e64fd8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/EndpointServicesList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitARPTableList.json new file mode 100644 index 000000000000..842d8a4d74b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitARPTableList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "peeringName": "peeringName", + "devicePath": "devicePath" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "age": 0, + "interface": "Microsoft", + "ipAddress": "IPAddress", + "macAddress": "macAddress" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationCreate.json new file mode 100644 index 000000000000..7b5614decc51 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationDelete.json new file mode 100644 index 000000000000..4228ff9b0f54 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationGet.json new file mode 100644 index 000000000000..bdde598caaa5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationList.json new file mode 100644 index 000000000000..d4f8e5cca0b7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitAuthorizationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionCreate.json new file mode 100644 index 000000000000..c2671fe3b673 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionCreate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionDelete.json new file mode 100644 index 000000000000..1ea5fafd0797 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering", + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..456b90e7ff36 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..a82b0e89849c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitConnectionList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitCreate.json new file mode 100644 index 000000000000..2b1ee49b359e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitCreate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json new file mode 100644 index 000000000000..d724c7402d5a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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" + }, + "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" + }, + "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" + }, + "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/2020-06-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitDelete.json new file mode 100644 index 000000000000..f71051d6c9e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitGet.json new file mode 100644 index 000000000000..df2445a31272 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitListByResourceGroup.json new file mode 100644 index 000000000000..eba21148346d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitListByResourceGroup.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitListBySubscription.json new file mode 100644 index 000000000000..69aa3f4efb76 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitListBySubscription.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringCreate.json new file mode 100644 index 000000000000..cd69c1df878e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringDelete.json new file mode 100644 index 000000000000..211c4d932da6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "peeringName": "peeringName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringGet.json new file mode 100644 index 000000000000..186e128fc98c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringList.json new file mode 100644 index 000000000000..e27f90177c4a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringStats.json new file mode 100644 index 000000000000..165ff1ca5bb0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitPeeringStats.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitRouteTableList.json new file mode 100644 index 000000000000..87992f008869 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitRouteTableList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "peeringName": "peeringName", + "devicePath": "devicePath" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "network": "", + "nextHop": "", + "locPrf": "", + "weight": 0, + "path": "" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitRouteTableSummaryList.json new file mode 100644 index 000000000000..d53a721032c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitRouteTableSummaryList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitStats.json new file mode 100644 index 000000000000..5f1c35483411 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitStats.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primarybytesIn": 537408, + "primarybytesOut": 44032550, + "secondarybytesIn": 0, + "secondarybytesOut": 39002500 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitUpdateTags.json new file mode 100644 index 000000000000..de057e97648a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCircuitUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionCreate.json new file mode 100644 index 000000000000..84b2f0b83c44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionCreate.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-06-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" + } + } + } + }, + "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, + "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" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + }, + "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" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionDelete.json new file mode 100644 index 000000000000..4a1ff4185936 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "connectionName": "connectionName", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionGet.json new file mode 100644 index 000000000000..c8a6f6bb20a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionGet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-06-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, + "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" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionList.json new file mode 100644 index 000000000000..67989ae10a4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteConnectionList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "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" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json new file mode 100644 index 000000000000..d2c1b7a4a5aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json new file mode 100644 index 000000000000..c2b1982a31eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json new file mode 100644 index 000000000000..e5cd5f6e4e84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json new file mode 100644 index 000000000000..1e9a2be5aea1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionGet.json new file mode 100644 index 000000000000..5af1f1da1378 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionList.json new file mode 100644 index 000000000000..031dc06357a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "", + "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/", + "type": "Microsoft.Network/expressRouteCrossConnections", + "location": "brazilsouth", + "properties": { + "provisioningState": "Enabled", + "expressRouteCircuit": { + "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1" + }, + "peerings": [], + "peeringLocation": "SiliconValley", + "bandwidthInMbps": 1000, + "primaryAzurePort": "bvtazureixp01", + "secondaryAzurePort": "bvtazureixp01", + "sTag": 2, + "serviceProviderProvisioningState": "NotProvisioned" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json new file mode 100644 index 000000000000..dcb035d99b7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionUpdate.json new file mode 100644 index 000000000000..b63f0e0c409e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionUpdateTags.json new file mode 100644 index 000000000000..4488baf5f97a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionsArpTable.json new file mode 100644 index 000000000000..f5d761f2069e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionsArpTable.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "age": 0, + "interface": "Microsoft", + "ipAddress": "192.116.14.254", + "macAddress": "885a.9269.9110" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionsRouteTable.json new file mode 100644 index 000000000000..7f1a6f77985c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionsRouteTable.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "network": "10.6.0.0/16", + "nextHop": "10.6.1.12", + "locPrf": "", + "weight": 0, + "path": "65514" + }, + { + "network": "10.7.0.0/16", + "nextHop": "10.7.1.13", + "locPrf": "", + "weight": 0, + "path": "65514" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json new file mode 100644 index 000000000000..067aad228338 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "neighbor": "10.6.1.112", + "asn": 65514, + "upDown": "1d14h", + "stateOrPrefixesReceived": "Active" + }, + { + "neighbor": "10.6.1.113", + "asn": 65514, + "upDown": "1d14h", + "stateOrPrefixesReceived": "1" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayCreate.json new file mode 100644 index 000000000000..c83e3fec9bdb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayCreate.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "subscriptionId": "subid", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-06-01", + "putExpressRouteGatewayParameters": { + "location": "westus", + "properties": { + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/resourceGroupId/providers/Microsoft.Network/virtualHubs/virtualHubName" + }, + "autoScaleConfiguration": { + "bounds": { + "min": 3 + } + } + } + } + }, + "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 + } + } + } + } + }, + "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 + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayDelete.json new file mode 100644 index 000000000000..fa600c9a456c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayGet.json new file mode 100644 index 000000000000..24d0d8d5fd76 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2020-06-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" + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayListByResourceGroup.json new file mode 100644 index 000000000000..e6e33d9db44f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayListByResourceGroup.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + }, + "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/2020-06-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayListBySubscription.json new file mode 100644 index 000000000000..82531c7ba2a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteGatewayListBySubscription.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + }, + "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/2020-06-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteLinkGet.json new file mode 100644 index 000000000000..dc6d7aacf85f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteLinkGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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", + "connectorType": "LC", + "adminState": "Disabled" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteLinkList.json new file mode 100644 index 000000000000..66c346c444b9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteLinkList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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", + "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", + "connectorType": "LC", + "adminState": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortCreate.json new file mode 100644 index 000000000000..a0bf6e48568b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortCreate.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "location": "westus", + "properties": { + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "encapsulation": "QinQ" + } + } + }, + "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", + "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", + "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/2020-06-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortDelete.json new file mode 100644 index 000000000000..5c08e7124c57 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortGet.json new file mode 100644 index 000000000000..4cb71e692008 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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", + "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/2020-06-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortList.json new file mode 100644 index 000000000000..00d145cc9d88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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", + "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/2020-06-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortListByResourceGroup.json new file mode 100644 index 000000000000..d54f800725fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortListByResourceGroup.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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", + "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/2020-06-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortUpdateLink.json new file mode 100644 index 000000000000..f08930ed41c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortUpdateLink.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName", + "parameters": { + "location": "westus", + "properties": { + "peeringLocation": "peeringLocationName", + "bandwidthInGbps": 100, + "encapsulation": "QinQ", + "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", + "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", + "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/2020-06-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortUpdateTags.json new file mode 100644 index 000000000000..2189d4da3dff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortUpdateTags.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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", + "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/2020-06-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortsLocationGet.json new file mode 100644 index 000000000000..f0824941c390 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortsLocationGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortsLocationList.json new file mode 100644 index 000000000000..55083e931206 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRoutePortsLocationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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/2020-06-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteProviderList.json new file mode 100644 index 000000000000..68a34934c3b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ExpressRouteProviderList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyDelete.json new file mode 100644 index 000000000000..e67fb77ac76e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyGet.json new file mode 100644 index 000000000000..c0fe247b236d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "firewalls": [], + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyListByResourceGroup.json new file mode 100644 index 000000000000..d77d9e3b4fcc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-06-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": [], + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyListBySubscription.json new file mode 100644 index 000000000000..7dba1880de00 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyListBySubscription.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-06-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": [], + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyPut.json new file mode 100644 index 000000000000..c4d15299987b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyPut.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ] + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup2" + } + ], + "firewalls": [], + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + } + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup2" + } + ], + "firewalls": [], + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupDelete.json new file mode 100644 index 000000000000..b94ae311e20e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupGet.json new file mode 100644 index 000000000000..9535d4e2b66c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 200, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupList.json new file mode 100644 index 000000000000..dbae49a9db55 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/FirewallPolicyRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupPut.json new file mode 100644 index 000000000000..db5b015d3c46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2020-06-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-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "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/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json new file mode 100644 index 000000000000..846f73912997 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json new file mode 100644 index 000000000000..9de9f2eb40db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json new file mode 100644 index 000000000000..394d3218f310 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/GenerateExpressRoutePortsLOA.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/GenerateExpressRoutePortsLOA.json new file mode 100644 index 000000000000..5eb9983eaf12 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/GenerateExpressRoutePortsLOA.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-06-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/2020-06-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json new file mode 100644 index 000000000000..51660bf90468 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualWANName": "wan1", + "vpnClientParams": { + "vpnServerConfigurationResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnServerConfigurations/vpnconfig1", + "authenticationMethod": "EAPTLS" + } + }, + "responses": { + "202": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/GetVirtualWanVpnServerConfigurations.json new file mode 100644 index 000000000000..2edfc1087d5e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/GetVirtualWanVpnServerConfigurations.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/HubRouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTableDelete.json new file mode 100644 index 000000000000..9827a4326f69 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTableGet.json new file mode 100644 index 000000000000..804350c960a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTableGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/HubRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTableList.json new file mode 100644 index 000000000000..c08d5db874d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTableList.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/HubRouteTablePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTablePut.json new file mode 100644 index 000000000000..af603012b2c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubRouteTablePut.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/HubVirtualNetworkConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionDelete.json new file mode 100644 index 000000000000..159ba22190bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionGet.json new file mode 100644 index 000000000000..2383c299558a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionGet.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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": { + "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" + } + ] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionList.json new file mode 100644 index 000000000000..4d9e804a1236 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionList.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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": { + "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" + } + ] + } + } + } + }, + { + "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" + } + ] + } + } + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionPut.json new file mode 100644 index 000000000000..e40ae35d2660 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/HubVirtualNetworkConnectionPut.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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": { + "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" + } + ] + } + } + } + } + }, + "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": { + "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" + } + ] + } + } + } + } + }, + "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": { + "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" + } + ] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleCreate.json new file mode 100644 index 000000000000..3f7711b05d5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-06-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/2020-06-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleDelete.json new file mode 100644 index 000000000000..083a2eb542da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "loadBalancerName": "lb1", + "inboundNatRuleName": "natRule1.1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleGet.json new file mode 100644 index 000000000000..1cf9c28fb495 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-06-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/2020-06-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleList.json new file mode 100644 index 000000000000..db938a718d2e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundNatRuleList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-06-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/2020-06-01/examples/InboundSecurityRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundSecurityRulePut.json new file mode 100644 index 000000000000..5720bada9d5b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/InboundSecurityRulePut.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "ruleCollectionName": "rule1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "properties": { + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "provisioningState": "Succeeded", + "rules": [ + { + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22 + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationCreate.json new file mode 100644 index 000000000000..24395ea7cbf2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/IpAllocationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationDelete.json new file mode 100644 index 000000000000..c162c988f22f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationGet.json new file mode 100644 index 000000000000..dfc9722abab3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/IpAllocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationList.json new file mode 100644 index 000000000000..faf6fbf8d185 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/IpAllocationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationListByResourceGroup.json new file mode 100644 index 000000000000..0e1df85fcc7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/IpAllocationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationUpdateTags.json new file mode 100644 index 000000000000..627b57e298aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpAllocationUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/IpGroupsCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsCreate.json new file mode 100644 index 000000000000..c4c3e2dd2338 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsCreate.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + ] + }, + "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" + } + ] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsDelete.json new file mode 100644 index 000000000000..9e1c84b1e9f6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsGet.json new file mode 100644 index 000000000000..522c1fda130a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + ] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsListByResourceGroup.json new file mode 100644 index 000000000000..c68071721696 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + ] + }, + "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" + } + ] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsListBySubscription.json new file mode 100644 index 000000000000..25f7ab244e30 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + ] + }, + "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" + } + ] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsUpdateTags.json new file mode 100644 index 000000000000..907f3d047826 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/IpGroupsUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "ipGroupsName": "ipGroups1", + "resourceGroupName": "myResourceGroup", + "api-version": "2020-06-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" + } + ] + }, + "etag": "w/\\00000000-0000-0000-0000-000000000000\\" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json new file mode 100644 index 000000000000..d51bdae0216b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-06-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/2020-06-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json new file mode 100644 index 000000000000..ca5b5cf5c95e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-06-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/2020-06-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json new file mode 100644 index 000000000000..0c7878033125 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerBackendAddressPoolDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerBackendAddressPoolDelete.json new file mode 100644 index 000000000000..ef628a879190 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerBackendAddressPoolDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerBackendAddressPoolGet.json new file mode 100644 index 000000000000..23107dd75595 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerBackendAddressPoolGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerBackendAddressPoolList.json new file mode 100644 index 000000000000..1cd585c5bd5b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerBackendAddressPoolList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreate.json new file mode 100644 index 000000000000..b2b3e4fab652 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreate.json @@ -0,0 +1,339 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + } + ], + "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, + "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, + "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/2020-06-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreateStandardSku.json new file mode 100644 index 000000000000..d49a64b0f6fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreateStandardSku.json @@ -0,0 +1,339 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + } + ], + "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, + "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, + "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/2020-06-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreateWithInboundNatPool.json new file mode 100644 index 000000000000..b983905e0a95 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreateWithInboundNatPool.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreateWithOutboundRules.json new file mode 100644 index 000000000000..7fb15580774e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreateWithOutboundRules.json @@ -0,0 +1,423 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + } + ], + "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, + "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, + "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/2020-06-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreateWithZones.json new file mode 100644 index 000000000000..42a1218a5554 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerCreateWithZones.json @@ -0,0 +1,348 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + } + ], + "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, + "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, + "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/2020-06-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerDelete.json new file mode 100644 index 000000000000..c8f18ef10ae8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerFrontendIPConfigurationGet.json new file mode 100644 index 000000000000..9815fb85fe48 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerFrontendIPConfigurationGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "frontendIPConfigurationName": "frontend", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerFrontendIPConfigurationList.json new file mode 100644 index 000000000000..d38c1d8817c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerFrontendIPConfigurationList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerGet.json new file mode 100644 index 000000000000..07c29edc999e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerGet.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "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/2020-06-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerList.json new file mode 100644 index 000000000000..a0f909ee159f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerList.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "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/2020-06-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerListAll.json new file mode 100644 index 000000000000..c3791069b665 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerListAll.json @@ -0,0 +1,160 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "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/2020-06-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerLoadBalancingRuleGet.json new file mode 100644 index 000000000000..32d666f2976c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerLoadBalancingRuleGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "loadBalancingRuleName": "rule1", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerLoadBalancingRuleList.json new file mode 100644 index 000000000000..4c1362892a03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerLoadBalancingRuleList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerNetworkInterfaceListSimple.json new file mode 100644 index 000000000000..22c494d59580 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerNetworkInterfaceListSimple.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerNetworkInterfaceListVmss.json new file mode 100644 index 000000000000..b20287d65570 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerNetworkInterfaceListVmss.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerOutboundRuleGet.json new file mode 100644 index 000000000000..2903b2a436e9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerOutboundRuleGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "outboundRuleName": "rule1", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerOutboundRuleList.json new file mode 100644 index 000000000000..6b72cf08e5da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerOutboundRuleList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2020-06-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/2020-06-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerProbeGet.json new file mode 100644 index 000000000000..0d75765e728a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerProbeGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "probeName": "probe1", + "api-version": "2020-06-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, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerProbeList.json new file mode 100644 index 000000000000..264b5d612424 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerProbeList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2020-06-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, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerUpdateTags.json new file mode 100644 index 000000000000..b7cb5864b850 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LoadBalancerUpdateTags.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "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/2020-06-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayCreate.json new file mode 100644 index 000000000000..a60fb77f73a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayCreate.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayDelete.json new file mode 100644 index 000000000000..98f68067c779 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "localNetworkGatewayName": "localgw" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayGet.json new file mode 100644 index 000000000000..ee76e338c62c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayList.json new file mode 100644 index 000000000000..a1f2aa464282 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..10219c3b0d77 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/LocalNetworkGatewayUpdateTags.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayCreateOrUpdate.json new file mode 100644 index 000000000000..4c4763daf114 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayCreateOrUpdate.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayDelete.json new file mode 100644 index 000000000000..9cd58f9ff75b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayGet.json new file mode 100644 index 000000000000..72856af16219 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayList.json new file mode 100644 index 000000000000..dd43cec0d236 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayListAll.json new file mode 100644 index 000000000000..a76bc4e7bc08 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayListAll.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayUpdateTags.json new file mode 100644 index 000000000000..313981a0e6f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NatGatewayUpdateTags.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceCreate.json new file mode 100644 index 000000000000..7c0f2e5f5882 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceCreate.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + } + } + ] + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "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" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceDelete.json new file mode 100644 index 000000000000..4cb7db911a17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceEffectiveNSGList.json new file mode 100644 index 000000000000..2643d19b539e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceEffectiveNSGList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "nic1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "networkSecurityGroup": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/test-nsg" + }, + "association": { + "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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceEffectiveRouteTableList.json new file mode 100644 index 000000000000..cca8e0311a0e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceEffectiveRouteTableList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceGet.json new file mode 100644 index 000000000000..4c13c611912f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceGet.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-nic" + }, + "responses": { + "200": { + "body": { + "name": "test-nic", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [], + "internalDomainNameSuffix": "test.bx.internal.cloudapp.net" + }, + "macAddress": "00-0D-3A-1B-C7-21", + "enableAcceleratedNetworking": true, + "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" + } + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceIPConfigurationGet.json new file mode 100644 index 000000000000..45e77211dcca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceIPConfigurationGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "ipConfigurationName": "ipconfig1", + "api-version": "2020-06-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/2020-06-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceIPConfigurationList.json new file mode 100644 index 000000000000..cfe24e56e4ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceIPConfigurationList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2020-06-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/2020-06-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceList.json new file mode 100644 index 000000000000..5db3434fa01b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceList.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "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" + } + }, + "type": "Microsoft.Network/networkInterfaces" + }, + { + "name": "test-nic2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "ipConfigurations": [ + { + "name": "ipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic2/ipConfigurations/ipconfig1", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.4", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip2" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet2/subnets/default" + }, + "primary": true, + "privateIPAddressVersion": "IPv4" + } + } + ], + "dnsSettings": { + "dnsServers": [], + "appliedDnsServers": [] + }, + "enableAcceleratedNetworking": true, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceListAll.json new file mode 100644 index 000000000000..80ed0233d425 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceListAll.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "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" + } + }, + "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, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceLoadBalancerList.json new file mode 100644 index 000000000000..c5e9bdcbd8a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceLoadBalancerList.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2020-06-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, + "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/2020-06-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationCreate.json new file mode 100644 index 000000000000..232b524ad5ee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationCreate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2020-06-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/2020-06-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationDelete.json new file mode 100644 index 000000000000..c8ce42ceec85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkInterfaceName": "test-networkinterface", + "tapConfigurationName": "test-tapconfiguration" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationGet.json new file mode 100644 index 000000000000..4c2b1d544564 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2020-06-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/2020-06-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationList.json new file mode 100644 index 000000000000..57d5b9c8572b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceTapConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceUpdateTags.json new file mode 100644 index 000000000000..a86d3248a270 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkInterfaceUpdateTags.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "enableIPForwarding": false + }, + "type": "Microsoft.Network/networkInterfaces" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileCreateConfigOnly.json new file mode 100644 index 000000000000..90ae9c4e5061 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileCreateConfigOnly.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileDelete.json new file mode 100644 index 000000000000..a26de25ade1c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileGetConfigOnly.json new file mode 100644 index 000000000000..568323eb58da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileGetConfigOnly.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileGetWithContainerNic.json new file mode 100644 index 000000000000..3f73ea9090fa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileGetWithContainerNic.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileList.json new file mode 100644 index 000000000000..fbf9555179f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileList.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileListAll.json new file mode 100644 index 000000000000..7d4b0f534785 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileListAll.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileUpdateTags.json new file mode 100644 index 000000000000..31f969827cbf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkProfileUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupCreate.json new file mode 100644 index 000000000000..516d27982e1a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupCreate.json @@ -0,0 +1,233 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "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", + "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/2020-06-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupCreateWithRule.json new file mode 100644 index 000000000000..b3c708d4d519 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupCreateWithRule.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupDelete.json new file mode 100644 index 000000000000..8b9a86eda4ab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupGet.json new file mode 100644 index 000000000000..db5aa7187cf1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupGet.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupList.json new file mode 100644 index 000000000000..be7013d32944 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupList.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupListAll.json new file mode 100644 index 000000000000..ff08b0b6a17e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupListAll.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleCreate.json new file mode 100644 index 000000000000..98c3d246e84c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleDelete.json new file mode 100644 index 000000000000..67018bc0cfd6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkSecurityGroupName": "testnsg", + "securityRuleName": "rule1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleGet.json new file mode 100644 index 000000000000..97727129c8ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleList.json new file mode 100644 index 000000000000..d5f8d36b7514 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupRuleList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..7e8eb946ee3f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkSecurityGroupUpdateTags.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkVirtualApplianceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceDelete.json new file mode 100644 index 000000000000..eafec1c107e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceGet.json new file mode 100644 index 000000000000..7ca3eb906130 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + ], + "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/2020-06-01/examples/NetworkVirtualApplianceListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListByResourceGroup.json new file mode 100644 index 000000000000..e851dc12a0d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListBySubscription.json new file mode 100644 index 000000000000..5a6523d431d7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceListBySubscription.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualAppliancePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualAppliancePut.json new file mode 100644 index 000000000000..d26b15442147 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualAppliancePut.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + } + }, + "responses": { + "200": { + "body": { + "name": "nva", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva", + "type": "Microsoft.Network/networkVirtualAppliances", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + }, + "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": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "addressPrefix": "192.168.1.0/16", + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "virtualApplianceSites": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1" + } + ], + "inboundSecurityRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1" + } + ], + "provisioningState": "Succeeded", + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "virtualApplianceNics": [ + { + "name": "managementNic", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1" + }, + { + "name": "privateNic-1", + "privateIpAddress": "192.168.12.2" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSiteDelete.json new file mode 100644 index 000000000000..8fe27c135ca5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSiteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "siteName": "site1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSiteGet.json new file mode 100644 index 000000000000..ecdfa7a39665 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSiteGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkVirtualApplianceSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSiteList.json new file mode 100644 index 000000000000..909c44f43fc9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSiteList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkVirtualApplianceSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSitePut.json new file mode 100644 index 000000000000..924a683e16cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSitePut.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkVirtualApplianceSkuGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSkuGet.json new file mode 100644 index 000000000000..35399733468f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSkuGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkVirtualApplianceSkuList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSkuList.json new file mode 100644 index 000000000000..50f20ad4e223 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceSkuList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkVirtualApplianceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceUpdateTags.json new file mode 100644 index 000000000000..93ddd4549eaf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkVirtualApplianceUpdateTags.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherAvailableProvidersListGet.json new file mode 100644 index 000000000000..700a5ac5f029 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherAvailableProvidersListGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherAzureReachabilityReportGet.json new file mode 100644 index 000000000000..987b7bcf2b05 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherAzureReachabilityReportGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorCreate.json new file mode 100644 index 000000000000..95350c2fed87 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorCreate.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1", + "location": "centraluseuap", + "parameters": { + "properties": { + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "destination": { + "address": "bing.com", + "port": 80 + }, + "monitoringIntervalInSeconds": 60 + } + } + }, + "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", + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1", + "port": 0 + }, + "destination": { + "address": "bing.com", + "port": 80 + }, + "monitoringIntervalInSeconds": 60, + "autoStart": true, + "monitoringStatus": "NotStarted" + }, + "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": { + "provisioningState": "Updating", + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1", + "port": 0 + }, + "destination": { + "address": "bing.com", + "port": 80 + }, + "monitoringIntervalInSeconds": 60, + "autoStart": true, + "monitoringStatus": "NotStarted" + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorDelete.json new file mode 100644 index 000000000000..2f118f30418f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorGet.json new file mode 100644 index 000000000000..efb9c2ae87c0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1", + "port": 0 + }, + "destination": { + "address": "bing.com", + "port": 80 + }, + "monitoringIntervalInSeconds": 60, + "autoStart": true, + "startTime": "2018-01-08T03:42:33.3387305Z", + "monitoringStatus": "Running" + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorList.json new file mode 100644 index 000000000000..66cb0ff00256 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm1", + "port": 0 + }, + "destination": { + "address": "bing.com", + "port": 80 + }, + "monitoringIntervalInSeconds": 60, + "autoStart": true, + "startTime": "2018-01-08T03:42:33.3387305Z", + "monitoringStatus": "Running" + }, + "location": "centraluseuap", + "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", + "source": { + "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/vm2", + "port": 0 + }, + "destination": { + "address": "google.com", + "port": 80 + }, + "monitoringIntervalInSeconds": 30, + "autoStart": true, + "startTime": "2018-01-08T05:42:33.3387305Z", + "monitoringStatus": "Running" + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorQuery.json new file mode 100644 index 000000000000..8239b3681832 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorQuery.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorStart.json new file mode 100644 index 000000000000..0e7a78e6e0e9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorStop.json new file mode 100644 index 000000000000..0e7a78e6e0e9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json new file mode 100644 index 000000000000..d22604201d3e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherConnectionMonitorV2Create.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorV2Create.json new file mode 100644 index 000000000000..687a30cb8b08 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectionMonitorV2Create.json @@ -0,0 +1,206 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectivityCheck.json new file mode 100644 index 000000000000..17b3d813213f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherConnectivityCheck.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherCreate.json new file mode 100644 index 000000000000..72a9f9776116 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherDelete.json new file mode 100644 index 000000000000..743f483578e2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogConfigure.json new file mode 100644 index 000000000000..49d17085af5e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogConfigure.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "202": { + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogCreate.json new file mode 100644 index 000000000000..8d51759e19ab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogCreate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl", + "parameters": { + "location": "centraluseuap", + "properties": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "format": { + "type": "JSON", + "version": 1 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Updating", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + }, + "201": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogDelete.json new file mode 100644 index 000000000000..191e6aa1d442 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogGet.json new file mode 100644 index 000000000000..01644ed667dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "flowLog1" + }, + "responses": { + "200": { + "body": { + "name": "flowLog1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/тц1/FlowLogs/flowLog1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/vm5-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/wzstorage002", + "enabled": true, + "flowAnalyticsConfiguration": { + "networkWatcherFlowAnalyticsConfiguration": { + "enabled": false, + "workspaceId": "-", + "workspaceRegion": "-", + "trafficAnalyticsInterval": 60 + } + }, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/FlowLogs" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogList.json new file mode 100644 index 000000000000..f8f6edf1378f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogList.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "flowLog1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/тц1/FlowLogs/flowLog1", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/vm5-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/wzstorage002", + "enabled": true, + "flowAnalyticsConfiguration": { + "networkWatcherFlowAnalyticsConfiguration": { + "enabled": false, + "workspaceId": "-", + "workspaceRegion": "-", + "trafficAnalyticsInterval": 60 + } + }, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/FlowLogs" + }, + { + "name": "flowLog2", + "id": "/subscriptions/96e68903-0a56-4819-9987-8d08ad6a1f99/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_centraluseuap/FlowLogs/flowLog2", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/networkSecurityGroups/DSCP-test-vm1-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/iraflowlogtest2diag", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 2 + } + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centraluseuap" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogStatusQuery.json new file mode 100644 index 000000000000..f3bbe9a6654d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogStatusQuery.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "parameters": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1" + } + }, + "responses": { + "200": { + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + }, + "202": { + "body": { + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/nsg1", + "properties": { + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/st1", + "enabled": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogUpdateTags.json new file mode 100644 index 000000000000..f70c97e6f230 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherFlowLogUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw", + "flowLogName": "fl", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "Microsoft.Networkdesmond-rgdesmondcentral-nsg", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw/FlowLogs/fl", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "targetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/desmondcentral-nsg", + "targetResourceGuid": "00000000-0000-0000-0000-000000000000", + "storageId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/nwtest1mgvbfmqsigdxe", + "enabled": true, + "flowAnalyticsConfiguration": {}, + "retentionPolicy": { + "days": 0, + "enabled": false + }, + "format": { + "type": "JSON", + "version": 1 + } + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/networkWatchers/FlowLogs", + "location": "centralus" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherGet.json new file mode 100644 index 000000000000..ec6b2a6a7c41 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherIpFlowVerify.json new file mode 100644 index 000000000000..b0bb148438da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherIpFlowVerify.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "body": { + "access": "Allow", + "ruleName": "Rule1" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherList.json new file mode 100644 index 000000000000..d239fa464528 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherListAll.json new file mode 100644 index 000000000000..8227ee67796c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherListAll.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json new file mode 100644 index 000000000000..6f341b38f5fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherNextHopGet.json new file mode 100644 index 000000000000..44b36b223766 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherNextHopGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureCreate.json new file mode 100644 index 000000000000..e9ca0c4b31ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureDelete.json new file mode 100644 index 000000000000..a8357a380885 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureGet.json new file mode 100644 index 000000000000..6a0e25f3c5e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureQueryStatus.json new file mode 100644 index 000000000000..c1fa8f8e9534 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureQueryStatus.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureStop.json new file mode 100644 index 000000000000..50cf6c0d6cd2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCaptureStop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCapturesList.json new file mode 100644 index 000000000000..b9e77209edfe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherPacketCapturesList.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherSecurityGroupViewGet.json new file mode 100644 index 000000000000..bf2c656b88c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherSecurityGroupViewGet.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherTopologyGet.json new file mode 100644 index 000000000000..73c11e781362 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherTopologyGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherTroubleshootGet.json new file mode 100644 index 000000000000..f784d1177581 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherTroubleshootGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherTroubleshootResultQuery.json new file mode 100644 index 000000000000..2ad604b01e2c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherTroubleshootResultQuery.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-06-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": { + "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/2020-06-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherUpdateTags.json new file mode 100644 index 000000000000..d4401ded9e37 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/NetworkWatcherUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/OperationList.json new file mode 100644 index 000000000000..1b990137fd58 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/OperationList.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2020-06-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/2020-06-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayDelete.json new file mode 100644 index 000000000000..e42dfeb31bb3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..e923ef164fe6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGenerateVpnProfile.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "gatewayName": "p2sVpnGateway1", + "parameters": { + "authenticationMethod": "EAPTLS" + } + }, + "responses": { + "202": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGet.json new file mode 100644 index 000000000000..5a28feb52115 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ] + }, + "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 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGetConnectionHealth.json new file mode 100644 index 000000000000..3649f01f3536 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGetConnectionHealth.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ] + }, + "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 + } + } + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json new file mode 100644 index 000000000000..eb6251c40de4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "gatewayName": "p2svpngateway", + "api-version": "2020-06-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": "" + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayList.json new file mode 100644 index 000000000000..56ceb9307303 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayList.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ] + }, + "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 + } + } + }, + { + "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" + ] + }, + "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 + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..4bba7998c10b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayListByResourceGroup.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ] + }, + "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 + } + } + }, + { + "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" + ] + }, + "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 + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayPut.json new file mode 100644 index 000000000000..6960963c40a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayPut.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ] + } + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ] + } + } + }, + "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" + ] + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 0, + "allocatedIpAddresses": [], + "totalIngressBytesTransferred": 0, + "totalEgressBytesTransferred": 0 + } + } + } + }, + "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" + ] + }, + "enableInternetSecurity": false + } + } + ], + "vpnGatewayScaleUnit": 1, + "customDnsServers": [ + "1.1.1.1", + "2.2.2.2" + ], + "vpnClientConnectionHealth": { + "vpnClientConnectionsCount": 0, + "allocatedIpAddresses": [], + "totalIngressBytesTransferred": 0, + "totalEgressBytesTransferred": 0 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayReset.json new file mode 100644 index 000000000000..1ba17bb72399 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayReset.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ] + }, + "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 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayUpdateTags.json new file mode 100644 index 000000000000..4ca3eabcbafb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2SVpnGatewayUpdateTags.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ] + }, + "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 + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..22835e5786ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "p2sVpnGatewayName": "p2svpngateway", + "api-version": "2020-06-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PeerExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..b031d7064a1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PeerExpressRouteCircuitConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PeerExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..abb9e15986e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PeerExpressRouteCircuitConnectionList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointCreate.json new file mode 100644 index 000000000000..18ce94f26420 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointCreate.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "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" + } + } + } + }, + "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" + ] + } + ] + } + } + }, + "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" + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointCreateForManualApproval.json new file mode 100644 index 000000000000..bbb46c4f1827 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointCreateForManualApproval.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + } + } + }, + "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" + ] + } + ] + } + } + }, + "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" + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDelete.json new file mode 100644 index 000000000000..f74f2b95f3b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupCreate.json new file mode 100644 index 000000000000..6d6dfcac3c98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupCreate.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PrivateEndpointDnsZoneGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupDelete.json new file mode 100644 index 000000000000..2122b24c6ee0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupGet.json new file mode 100644 index 000000000000..590fb2139af5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PrivateEndpointDnsZoneGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupList.json new file mode 100644 index 000000000000..85683ba392ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointDnsZoneGroupList.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointGet.json new file mode 100644 index 000000000000..e746059888d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointGet.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointGetForManualApproval.json new file mode 100644 index 000000000000..294658234513 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointGetForManualApproval.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointList.json new file mode 100644 index 000000000000..3e64db82c7e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointList.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ] + } + ] + } + }, + { + "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" + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointListAll.json new file mode 100644 index 000000000000..77dc2ef59c0c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateEndpointListAll.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ] + } + ] + } + }, + { + "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" + ] + } + ] + } + }, + { + "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" + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceCreate.json new file mode 100644 index 000000000000..f7476ae251dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceCreate.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "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/2020-06-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceDelete.json new file mode 100644 index 000000000000..2bda5acdbd16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..b33085e447fe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceGet.json new file mode 100644 index 000000000000..7d89108bfc0b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceGet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..36ef209b7a09 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceList.json new file mode 100644 index 000000000000..204b6a05749b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceList.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceListAll.json new file mode 100644 index 000000000000..ea92741d62f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceListAll.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json new file mode 100644 index 000000000000..a3ce13403a48 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..1fa3cf6928a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressCreateCustomizedValues.json new file mode 100644 index 000000000000..52c1afe13c88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressCreateCustomizedValues.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip", + "zones": [ + "1" + ], + "parameters": { + "properties": { + "publicIPAllocationMethod": "Static", + "idleTimeoutInMinutes": 10, + "publicIPAddressVersion": "IPv4" + }, + "sku": { + "name": "Standard" + }, + "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" + } + }, + "sku": { + "name": "Standard" + }, + "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" + } + }, + "sku": { + "name": "Standard" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressCreateDefaults.json new file mode 100644 index 000000000000..3ce521f8d795 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressCreateDefaults.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressCreateDns.json new file mode 100644 index 000000000000..dbd4fe151a32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressCreateDns.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressDelete.json new file mode 100644 index 000000000000..9417eeb36c7e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpAddressName": "test-ip" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressGet.json new file mode 100644 index 000000000000..83672b918a6c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-06-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" + }, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + }, + { + "ipTagType": "FirstPartyUsage", + "tag": "Storage" + } + ] + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressList.json new file mode 100644 index 000000000000..a893439d5d62 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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" + }, + "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" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressListAll.json new file mode 100644 index 000000000000..ca5842b10878 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressListAll.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + }, + "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" + } + }, + "type": "Microsoft.Network/publicIPAddresses" + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressUpdateTags.json new file mode 100644 index 000000000000..aa59d4c28b57 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpAddressUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.Network/publicIPAddresses" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..0a934a7d84b9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix", + "zones": [ + "1" + ], + "parameters": { + "location": "westus", + "properties": { + "publicIPAddressVersion": "IPv4", + "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", + "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" + }, + "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" + }, + "type": "Microsoft.Network/publicIPPrefixes" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixCreateDefaults.json new file mode 100644 index 000000000000..a159ab9675c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixCreateDefaults.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixDelete.json new file mode 100644 index 000000000000..548831deed5a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixGet.json new file mode 100644 index 000000000000..8f00ce2fca0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixList.json new file mode 100644 index 000000000000..8fc7998a7c76 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixListAll.json new file mode 100644 index 000000000000..d3b4d6da5f9f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixListAll.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixUpdateTags.json new file mode 100644 index 000000000000..7d930e181b6e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/PublicIpPrefixUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterCreate.json new file mode 100644 index 000000000000..7eb4d02d7b8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterCreate.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterDelete.json new file mode 100644 index 000000000000..04101dfc8c2a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterGet.json new file mode 100644 index 000000000000..5c402b1b92f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterList.json new file mode 100644 index 000000000000..003ddcb535db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterListByResourceGroup.json new file mode 100644 index 000000000000..e6a39fb175af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterListByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleCreate.json new file mode 100644 index 000000000000..9bbcec66d6a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleDelete.json new file mode 100644 index 000000000000..54313b6ffb88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleGet.json new file mode 100644 index 000000000000..bb29b25bd73a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "ruleName": "filterName", + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleListByRouteFilter.json new file mode 100644 index 000000000000..620c4eec1adf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterRuleListByRouteFilter.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteFilterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterUpdateTags.json new file mode 100644 index 000000000000..f9c1b246da65 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteFilterUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableCreate.json new file mode 100644 index 000000000000..bfba8c848202 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableCreateWithRoute.json new file mode 100644 index 000000000000..ddb9489761ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableCreateWithRoute.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableDelete.json new file mode 100644 index 000000000000..b7982faac125 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableGet.json new file mode 100644 index 000000000000..b3d6cfcb74f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableList.json new file mode 100644 index 000000000000..94cb7aa1100f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableListAll.json new file mode 100644 index 000000000000..2afef50e605a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableListAll.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteCreate.json new file mode 100644 index 000000000000..bcf2388f2243 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteDelete.json new file mode 100644 index 000000000000..a2c4e1001704 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteGet.json new file mode 100644 index 000000000000..c44f68d9f791 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteList.json new file mode 100644 index 000000000000..b0520e3ca45b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableRouteList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableUpdateTags.json new file mode 100644 index 000000000000..814c7a1c26ab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/RouteTableUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/SecurityPartnerProviderDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderDelete.json new file mode 100644 index 000000000000..cc43d998a56e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderGet.json new file mode 100644 index 000000000000..6858f34a7a1a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/SecurityPartnerProviderListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderListByResourceGroup.json new file mode 100644 index 000000000000..fd5c4ad73acc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderListByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/SecurityPartnerProviderListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderListBySubscription.json new file mode 100644 index 000000000000..006c376c3cd2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderListBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/SecurityPartnerProviderPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderPut.json new file mode 100644 index 000000000000..7807a25b7ab5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderPut.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/SecurityPartnerProviderUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderUpdateTags.json new file mode 100644 index 000000000000..aff614c4f0ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SecurityPartnerProviderUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceCommunityList.json new file mode 100644 index 000000000000..fe5b0c1188e9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceCommunityList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyCreate.json new file mode 100644 index 000000000000..ea1067e2556c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyCreateWithDefinition.json new file mode 100644 index 000000000000..a3226fef74ad --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyCreateWithDefinition.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionCreate.json new file mode 100644 index 000000000000..19e57c6f49f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionDelete.json new file mode 100644 index 000000000000..bbb9c271dc5a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionGet.json new file mode 100644 index 000000000000..1d7c40d9da82 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionList.json new file mode 100644 index 000000000000..9d631fbc0637 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDefinitionList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDelete.json new file mode 100644 index 000000000000..2e961ea9c27e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "serviceEndpointPolicy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyGet.json new file mode 100644 index 000000000000..fecf589595db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyList.json new file mode 100644 index 000000000000..1f3a1eaca320 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyListAll.json new file mode 100644 index 000000000000..07715eb28b75 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyListAll.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyUpdateTags.json new file mode 100644 index 000000000000..75cd1db5a921 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceEndpointPolicyUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceTagsList.json new file mode 100644 index 000000000000..80365e86ebcf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/ServiceTagsList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetCreate.json new file mode 100644 index 000000000000..66950efd20d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-06-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/2020-06-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetCreateServiceEndpoint.json new file mode 100644 index 000000000000..32046cf7f2b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetCreateServiceEndpoint.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-06-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/2020-06-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetCreateWithDelegation.json new file mode 100644 index 000000000000..2fefec0f54ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetCreateWithDelegation.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-06-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/2020-06-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetDelete.json new file mode 100644 index 000000000000..9ac42aed2174 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetGet.json new file mode 100644 index 000000000000..4fd2602059dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-06-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/2020-06-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetGetWithDelegation.json new file mode 100644 index 000000000000..9107f2931217 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetGetWithDelegation.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-06-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/2020-06-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetList.json new file mode 100644 index 000000000000..11061d1d5075 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2020-06-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/2020-06-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetPrepareNetworkPolicies.json new file mode 100644 index 000000000000..05b5212861bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetPrepareNetworkPolicies.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "subnetName": "subnet1", + "prepareNetworkPoliciesRequestParameters": { + "serviceName": "Microsoft.Sql/managedInstances" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetUnprepareNetworkPolicies.json new file mode 100644 index 000000000000..89385ce0b227 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/SubnetUnprepareNetworkPolicies.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "subnetName": "subnet1", + "unprepareNetworkPoliciesRequestParameters": { + "serviceName": "Microsoft.Sql/managedInstances" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/UsageList.json new file mode 100644 index 000000000000..9aed2772739f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/UsageList.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2020-06-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/2020-06-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/UsageListSpacedLocation.json new file mode 100644 index 000000000000..5d551e63a150 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/UsageListSpacedLocation.json @@ -0,0 +1,335 @@ +{ + "parameters": { + "location": "West US", + "api-version": "2020-06-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/2020-06-01/examples/VirtualHubBgpConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionDelete.json new file mode 100644 index 000000000000..a30c2c8aff5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionGet.json new file mode 100644 index 000000000000..d0f866176f48 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionList.json new file mode 100644 index 000000000000..b87cdb5b9bea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionPut.json new file mode 100644 index 000000000000..2a23788d4fcc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubBgpConnectionPut.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1", + "parameters": { + "properties": { + "peerIp": "192.168.1.5", + "peerAsn": 20000 + } + } + }, + "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" + } + } + }, + "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" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubDelete.json new file mode 100644 index 000000000000..c4bf97a2e0d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubGet.json new file mode 100644 index 000000000000..bb710d5673c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ], + "enableVirtualRouterRoutePropogation": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationDelete.json new file mode 100644 index 000000000000..68e6c9dc2d42 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "ipConfigName": "ipconfig1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationGet.json new file mode 100644 index 000000000000..2e17266713bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualHubIpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationList.json new file mode 100644 index 000000000000..a404e4f20646 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualHubIpConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationPut.json new file mode 100644 index 000000000000..eec270c2f25e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubIpConfigurationPut.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubList.json new file mode 100644 index 000000000000..a159a5716f7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubList.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ], + "enableVirtualRouterRoutePropogation": false + } + }, + { + "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" + ], + "enableVirtualRouterRoutePropogation": false + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubListByResourceGroup.json new file mode 100644 index 000000000000..e3057aea13a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubListByResourceGroup.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2020-06-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" + ], + "enableVirtualRouterRoutePropogation": false + } + }, + { + "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" + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubPut.json new file mode 100644 index 000000000000..0d7ca4048ffd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubPut.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ], + "enableVirtualRouterRoutePropogation": false + } + } + }, + "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" + ], + "enableVirtualRouterRoutePropogation": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2Delete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2Delete.json new file mode 100644 index 000000000000..5a532da2e265 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2Get.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2Get.json new file mode 100644 index 000000000000..db9fe2d70ce4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VirtualHubRouteTableV2List.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2List.json new file mode 100644 index 000000000000..ddfee5f7f6f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2List.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VirtualHubRouteTableV2Put.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2Put.json new file mode 100644 index 000000000000..27388f4543fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubRouteTableV2Put.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubUpdateTags.json new file mode 100644 index 000000000000..72610baa582a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualHubUpdateTags.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ], + "enableVirtualRouterRoutePropogation": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCheckIPAddressAvailability.json new file mode 100644 index 000000000000..bab1251c2165 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCheckIPAddressAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreate.json new file mode 100644 index 000000000000..6d54d783cd6b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet", + "parameters": { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "10.0.0.0/16" + ] + } + }, + "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": [], + "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": [], + "virtualNetworkPeerings": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json new file mode 100644 index 000000000000..41dc8fbf3854 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateServiceEndpoints.json new file mode 100644 index 000000000000..e11b1eb102bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateServiceEndpoints.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateSubnet.json new file mode 100644 index 000000000000..de02e7b60efe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateSubnet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json new file mode 100644 index 000000000000..02ad14efb834 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateSubnetWithDelegation.json new file mode 100644 index 000000000000..cbfd742b256e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateSubnetWithDelegation.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateWithBgpCommunities.json new file mode 100644 index 000000000000..0cab53b8f25b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkCreateWithBgpCommunities.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkDelete.json new file mode 100644 index 000000000000..68fc942b35ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkName": "test-vnet" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionCreate.json new file mode 100644 index 000000000000..19c8fd19c539 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionCreate.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + }, + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [] + }, + "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": {} + }, + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + }, + "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": {} + }, + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionDelete.json new file mode 100644 index 000000000000..881f786e038c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionGet.json new file mode 100644 index 000000000000..a07e9ecdf2b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + }, + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "sharedKey": "Abc123", + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "connectionStatus": "Connecting", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json new file mode 100644 index 000000000000..3f5f7774798b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S" + }, + "responses": { + "200": { + "body": { + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json new file mode 100644 index 000000000000..402003286c2b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "conn1", + "parameters": { + "keyLength": 128 + } + }, + "responses": { + "200": { + "body": { + "keyLength": 128 + } + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json new file mode 100644 index 000000000000..d55f24d779e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S", + "parameters": { + "value": "AzureAbc123" + } + }, + "responses": { + "200": { + "body": { + "value": "AzureAbc123" + } + }, + "201": { + "body": { + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json new file mode 100644 index 000000000000..5431d7854527 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "vpngwcn1" + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..73c67f306d7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-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": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json new file mode 100644 index 000000000000..49e6f3c52e06 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-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": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json new file mode 100644 index 000000000000..45c800a0e613 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "test", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "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": {} + }, + "connectionType": "IPsec", + "routingWeight": 0, + "sharedKey": "temp1234", + "enableBgp": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "connectionStatus": "Unknown", + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionsList.json new file mode 100644 index 000000000000..c593c8873307 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayConnectionsList.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2020-06-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": {} + }, + "connectionType": "IPsec", + "connectionProtocol": "IKEv1", + "routingWeight": 0, + "dpdTimeoutSeconds": 30, + "enableBgp": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + }, + { + "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" + }, + "connectionType": "IPsec", + "connectionProtocol": "IKEv2", + "routingWeight": 0, + "dpdTimeoutSeconds": 20, + "enableBgp": false, + "useLocalAzureIpAddress": true, + "usePolicyBasedTrafficSelectors": false, + "ipsecPolicies": [], + "trafficSelectorPolicies": [], + "ingressBytesTransferred": 0, + "egressBytesTransferred": 0 + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayDelete.json new file mode 100644 index 000000000000..3c7e9c8cd6b9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json new file mode 100644 index 000000000000..809e601ab84f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": {} + }, + "responses": { + "200": { + "body": "" + }, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..10cb6ad2033d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": {} + }, + "responses": { + "202": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGet.json new file mode 100644 index 000000000000..8a80faa81322 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGet.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + } + } + ], + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": false, + "activeActive": 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" + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json new file mode 100644 index 000000000000..7071aa4000dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "peer": "test" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json new file mode 100644 index 000000000000..4f009ca82f48 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..2b329ea891aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json new file mode 100644 index 000000000000..f3ddf8f88c0c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json new file mode 100644 index 000000000000..3adb356118f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "resourceGroupName": "p2s-vnet-test", + "api-version": "2020-06-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": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayLearnedRoutes.json new file mode 100644 index 000000000000..4f009ca82f48 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayLearnedRoutes.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayList.json new file mode 100644 index 000000000000..c987468d3d32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayList.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + } + } + ], + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": false, + "activeActive": false, + "vpnClientConfiguration": { + "vpnClientProtocols": [], + "vpnClientRootCertificates": [], + "vpnClientRevokedCertificates": [] + }, + "bgpSettings": { + "asn": 65515, + "bgpPeeringAddress": "10.0.0.14", + "peerWeight": 0 + }, + "customRoutes": { + "addressPrefixes": [ + "101.168.0.6/32" + ] + } + } + }, + { + "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" + } + } + } + ], + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": true, + "activeActive": 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" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayReset.json new file mode 100644 index 000000000000..b67386581edb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayReset.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "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" + } + } + } + ], + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": 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/2020-06-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json new file mode 100644 index 000000000000..f9f6284d3538 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..bd72f618769b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-06-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": {}, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStartPacketCapture.json new file mode 100644 index 000000000000..8a7a675e8df9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "202": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..30f8cffeb981 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-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": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStopPacketCapture.json new file mode 100644 index 000000000000..2e41231a8942 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-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": {}, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json new file mode 100644 index 000000000000..e5baa7f88356 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayUpdate.json new file mode 100644 index 000000000000..b27d86a06f49 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayUpdate.json @@ -0,0 +1,220 @@ +{ + "parameters": { + "api-version": "2020-06-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, + "enableDnsForwarding": true, + "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" + ] + } + }, + "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" + } + } + } + ], + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "activeActive": 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" + ] + } + } + } + }, + "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" + } + } + } + ], + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 0 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "enableBgp": false, + "activeActive": 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" + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..f50560fecb34 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayUpdateTags.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "default", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/default", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/testpub1" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/GatewaySubnet" + } + } + } + ], + "sku": { + "name": "VpnGw1", + "tier": "VpnGw1", + "capacity": 2 + }, + "gatewayType": "Vpn", + "vpnType": "RouteBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "activeActive": 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" + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json new file mode 100644 index 000000000000..fddeb88c8a32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..a5251d674872 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "vpn-gateway-test", + "virtualNetworkGatewayName": "vpngateway", + "api-version": "2020-06-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaysListConnections.json new file mode 100644 index 000000000000..8ed0b5b4840b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGatewaysListConnections.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "virtualNetworkGatewayName": "test-vpn-gateway-1", + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGet.json new file mode 100644 index 000000000000..3018e0e3cc7c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGetResourceNavigationLinks.json new file mode 100644 index 000000000000..9fd32fc3dd9a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGetResourceNavigationLinks.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGetServiceAssociationLinks.json new file mode 100644 index 000000000000..35460520b23d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGetServiceAssociationLinks.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGetWithServiceAssociationLink.json new file mode 100644 index 000000000000..e2dec6d126c0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGetWithServiceAssociationLink.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGetWithSubnetDelegation.json new file mode 100644 index 000000000000..2223e0b1a86d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkGetWithSubnetDelegation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkList.json new file mode 100644 index 000000000000..809ec06be882 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkListAll.json new file mode 100644 index 000000000000..5d47ef8555df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkListAll.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkListUsage.json new file mode 100644 index 000000000000..15292abcf14d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkListUsage.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkName": "vnetName", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringCreate.json new file mode 100644 index 000000000000..764e437f5ef7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringCreate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2020-06-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" + }, + "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" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringDelete.json new file mode 100644 index 000000000000..2ddc0eae737f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringGet.json new file mode 100644 index 000000000000..ce87b0f05574 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2020-06-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" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringList.json new file mode 100644 index 000000000000..b16dd5d8992c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkPeeringList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2020-06-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" + }, + "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" + }, + "peeringState": "Initiated", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapCreate.json new file mode 100644 index 000000000000..22dd543cbddb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapCreate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapDelete.json new file mode 100644 index 000000000000..170fa314eadf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapGet.json new file mode 100644 index 000000000000..09bfe0d7e6a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapList.json new file mode 100644 index 000000000000..1545b0fa4e51 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapListAll.json new file mode 100644 index 000000000000..893937e8cbc2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapListAll.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapUpdateTags.json new file mode 100644 index 000000000000..b40d66b12113 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkTapUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkUpdateTags.json new file mode 100644 index 000000000000..41b9e138509d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualNetworkUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterDelete.json new file mode 100644 index 000000000000..39bdabcb3f15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterGet.json new file mode 100644 index 000000000000..93fa75cba464 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterListByResourceGroup.json new file mode 100644 index 000000000000..a9cca96c6027 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterListByResourceGroup.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterListBySubscription.json new file mode 100644 index 000000000000..b1b3eecd9cc0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterListBySubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualRouterPeerListAdvertisedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeerListAdvertisedRoute.json new file mode 100644 index 000000000000..306043112c01 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeerListAdvertisedRoute.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "hubName": "virtualRouter1", + "connectionName": "peer1" + }, + "responses": { + "202": {}, + "200": { + "body": { + "value": [ + { + "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/2020-06-01/examples/VirtualRouterPeerListLearnedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeerListLearnedRoute.json new file mode 100644 index 000000000000..8698df29e77c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeerListLearnedRoute.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "hubName": "virtualRouter1", + "connectionName": "peer1" + }, + "responses": { + "202": {}, + "200": { + "body": { + "value": [ + { + "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/2020-06-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringDelete.json new file mode 100644 index 000000000000..9afd22fd3070 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringGet.json new file mode 100644 index 000000000000..e61a3f5dfe86 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringList.json new file mode 100644 index 000000000000..b38d99dd8241 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringPut.json new file mode 100644 index 000000000000..dcad8049cd50 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPeeringPut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPut.json new file mode 100644 index 000000000000..ca83a622d2c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualRouterPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANDelete.json new file mode 100644 index 000000000000..15ddc752069c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "VirtualWANName": "virtualWan1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANGet.json new file mode 100644 index 000000000000..1caf050642e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANList.json new file mode 100644 index 000000000000..b3e97ca56adf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANListByResourceGroup.json new file mode 100644 index 000000000000..37e0494f18e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANPut.json new file mode 100644 index 000000000000..92008cb54d05 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANPut.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANUpdateTags.json new file mode 100644 index 000000000000..9aeaf7382e35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWANUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWanSupportedSecurityProviders.json new file mode 100644 index 000000000000..df6db276f94a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VirtualWanSupportedSecurityProviders.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VmssNetworkInterfaceGet.json new file mode 100644 index 000000000000..146f80e3d7f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VmssNetworkInterfaceIpConfigGet.json new file mode 100644 index 000000000000..5b7c23b7b56b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VmssNetworkInterfaceIpConfigList.json new file mode 100644 index 000000000000..e14de4e82a72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VmssNetworkInterfaceList.json new file mode 100644 index 000000000000..0ec937148391 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VmssPublicIpGet.json new file mode 100644 index 000000000000..229c15712a0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VmssPublicIpListAll.json new file mode 100644 index 000000000000..605e0b831869 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VmssVmNetworkInterfaceList.json new file mode 100644 index 000000000000..e4f1cbf14ebf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VmssVmPublicIpList.json new file mode 100644 index 000000000000..d21f5d40ed03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionDelete.json new file mode 100644 index 000000000000..3f971f1fec71 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionGet.json new file mode 100644 index 000000000000..a02a274a28a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionGet.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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, + "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 + } + }, + { + "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 + } + } + ], + "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" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionList.json new file mode 100644 index 000000000000..cf9ce1253d05 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionList.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2020-06-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, + "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 + } + }, + { + "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 + } + } + ], + "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" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionPut.json new file mode 100644 index 000000000000..627358faaf00 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionPut.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + } + } + ] + } + } + }, + "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 + } + } + ], + "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" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + }, + "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 + } + } + ], + "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" + } + ] + }, + "vnetRoutes": { + "staticRoutes": [] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionStartPacketCapture.json new file mode 100644 index 000000000000..44bb3557542c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionStartPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..acfafe17cebd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionStopPacketCapture.json new file mode 100644 index 000000000000..d8af4399bc7e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnConnectionStopPacketCapture.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayDelete.json new file mode 100644 index 000000000000..3be0c6beb0ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayGet.json new file mode 100644 index 000000000000..35da38b38ff8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayGet.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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 + } + }, + { + "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 + } + } + ], + "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" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayList.json new file mode 100644 index 000000000000..0af2783e8194 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayList.json @@ -0,0 +1,239 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + }, + { + "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 + } + } + ], + "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" + ] + } + ] + } + } + }, + { + "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" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..0af2783e8194 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayListByResourceGroup.json @@ -0,0 +1,239 @@ +{ + "parameters": { + "api-version": "2020-06-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 + } + }, + { + "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 + } + } + ], + "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" + ] + } + ] + } + } + }, + { + "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" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayPut.json new file mode 100644 index 000000000000..3285295690fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayPut.json @@ -0,0 +1,286 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + } + } + ] + } + } + ], + "bgpSettings": { + "asn": 65515, + "peerWeight": 0, + "bgpPeeringAddresses": [ + { + "ipconfigurationId": "Instance0", + "customBgpIpAddresses": [ + "169.254.21.5" + ] + }, + { + "ipconfigurationId": "Instance1", + "customBgpIpAddresses": [ + "169.254.21.10" + ] + } + ] + } + } + } + }, + "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 + } + } + ], + "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" + ] + } + ] + } + } + } + }, + "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 + } + } + ], + "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" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayReset.json new file mode 100644 index 000000000000..0c5681409ab5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayReset.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "gatewayName": "vpngw", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayStartPacketCapture.json new file mode 100644 index 000000000000..7ae1bfba6679 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..75b702b529e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayStopPacketCapture.json new file mode 100644 index 000000000000..7643b8d03460 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayUpdateTags.json new file mode 100644 index 000000000000..2d3e0e4f793f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnGatewayUpdateTags.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationDelete.json new file mode 100644 index 000000000000..303c33295f03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationGet.json new file mode 100644 index 000000000000..8141642efadd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationGet.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + } + ], + "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/2020-06-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationList.json new file mode 100644 index 000000000000..56ccc941bc16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationList.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + ], + "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": "123_abc", + "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" + } + ], + "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/2020-06-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationListByResourceGroup.json new file mode 100644 index 000000000000..d728a9c5cdcb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationListByResourceGroup.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "api-version": "2020-06-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" + } + ], + "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": "123_abc", + "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" + } + ], + "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": "123_abc", + "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/2020-06-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationPut.json new file mode 100644 index 000000000000..ba5a6e2d4da1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationPut.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + } + ], + "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" + } + ], + "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" + } + ], + "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/2020-06-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationUpdateTags.json new file mode 100644 index 000000000000..a33b52c1ca7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnServerConfigurationUpdateTags.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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" + } + ], + "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": "123_abc", + "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/2020-06-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteDelete.json new file mode 100644 index 000000000000..7ec9de0198c3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2020-06-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteGet.json new file mode 100644 index 000000000000..1bdb5e50fbac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkConnectionGet.json new file mode 100644 index 000000000000..deb74ba7a48d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkConnectionGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkConnectionList.json new file mode 100644 index 000000000000..741e6aaa102a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkConnectionList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2020-06-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, + "enableRateLimiting": false, + "useLocalAzureIpAddress": false, + "usePolicyBasedTrafficSelectors": false, + "routingWeight": 0 + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkGet.json new file mode 100644 index 000000000000..be45e8fc2cfe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "vpnSiteLinkName": "vpnSiteLink1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkListByVpnSite.json new file mode 100644 index 000000000000..73b2f7ef77f7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteLinkListByVpnSite.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteList.json new file mode 100644 index 000000000000..628c23de2e61 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteListByResourceGroup.json new file mode 100644 index 000000000000..337e640b2721 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteListByResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2020-06-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/2020-06-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSitePut.json new file mode 100644 index 000000000000..a9ea0355f6be --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSitePut.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteUpdateTags.json new file mode 100644 index 000000000000..06852aae4396 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSiteUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSitesConfigurationDownload.json new file mode 100644 index 000000000000..9d5a1e039280 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/VpnSitesConfigurationDownload.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2020-06-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/2020-06-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafListAllPolicies.json new file mode 100644 index 000000000000..ac2f737d5abb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafListAllPolicies.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "maxRequestBodySizeInKb": 128, + "fileUploadLimitInMb": 750, + "requestBodyCheck": true + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "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, + "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" + } + ], + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..d97b1ac6bd06 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafListPolicies.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "maxRequestBodySizeInKb": 128, + "fileUploadLimitInMb": 750, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "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, + "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" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..13ba39d2dde4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,258 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1", + "parameters": { + "location": "WestUs", + "properties": { + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + }, + "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" + } + ] + } + } + }, + "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", + "maxRequestBodySizeInKb": 128, + "fileUploadLimitInMb": 750, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "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, + "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" + } + ] + } + } + }, + "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", + "maxRequestBodySizeInKb": 128, + "fileUploadLimitInMb": 750, + "requestBodyCheck": true + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "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, + "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" + } + ] + } + } + } + } +} diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyDelete.json similarity index 84% rename from specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json rename to specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyDelete.json index c887714443bf..c33a717ae3c9 100644 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyDelete.json +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyDelete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-05-01", + "api-version": "2020-06-01", "subscriptionId": "subid", "resourceGroupName": "rg1", "policyName": "Policy1" diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..edc154249e32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/examples/WafPolicyGet.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2020-06-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", + "maxRequestBodySizeInKb": 128, + "fileUploadLimitInMb": 750, + "requestBodyCheck": true + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "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, + "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" + } + ], + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-942-APPLICATION-ATTACK-SQLI", + "rules": [ + { + "ruleId": "942130", + "state": "Disabled" + }, + { + "ruleId": "942110", + "state": "Disabled" + } + ] + }, + { + "ruleGroupName": "REQUEST-920-PROTOCOL-ENFORCEMENT", + "rules": [ + { + "ruleId": "920100", + "state": "Disabled" + }, + { + "ruleId": "920120", + "state": "Disabled" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestHeaderNames", + "selectorMatchOperator": "Equals", + "selector": "testHeader1" + }, + { + "matchVariable": "RequestHeaderNames", + "selectorMatchOperator": "StartsWith", + "selector": "testHeader2" + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCircuit.json new file mode 100644 index 000000000000..b8c85489df2a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCircuit.json @@ -0,0 +1,2507 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_Delete", + "description": "Deletes the specified authorization from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_Get", + "description": "Gets the specified authorization from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate", + "description": "Creates or updates an authorization in the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the authorization." + }, + { + "name": "authorizationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "Parameters supplied to the create or update express route circuit authorization operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations": { + "get": { + "tags": [ + "ExpressRouteCircuitAuthorizations" + ], + "operationId": "ExpressRouteCircuitAuthorizations_List", + "description": "Gets all authorizations in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitAuthorization resources.", + "schema": { + "$ref": "#/definitions/AuthorizationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Authorization": { + "$ref": "./examples/ExpressRouteCircuitAuthorizationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_Delete", + "description": "Deletes the specified peering from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_Get", + "description": "Gets the specified peering for the express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit Peering": { + "$ref": "./examples/ExpressRouteCircuitPeeringGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified express route circuits.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "peeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "Parameters supplied to the create or update express route circuit peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings": { + "get": { + "tags": [ + "ExpressRouteCircuitPeerings" + ], + "operationId": "ExpressRouteCircuitPeerings_List", + "description": "Gets all peerings in a specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitPeering resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Peerings": { + "$ref": "./examples/ExpressRouteCircuitPeeringList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}": { + "delete": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_Delete", + "description": "Deletes the specified Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_Get", + "description": "Gets the specified Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Express Route Circuit Connection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCircuitConnectionGet": { + "$ref": "./examples/ExpressRouteCircuitConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_CreateOrUpdate", + "description": "Creates or updates a Express Route Circuit Connection in the specified express route circuits.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit connection." + }, + { + "name": "expressRouteCircuitConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "Parameters supplied to the create or update express route circuit connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCircuitConnectionCreate": { + "$ref": "./examples/ExpressRouteCircuitConnectionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections": { + "get": { + "tags": [ + "ExpressRouteCircuitConnections" + ], + "operationId": "ExpressRouteCircuitConnections_List", + "description": "Gets all global reach connections associated with a private peering in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuitConnections resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuit Connection": { + "$ref": "./examples/ExpressRouteCircuitConnectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}": { + "get": { + "tags": [ + "PeerExpressRouteCircuitConnections" + ], + "operationId": "PeerExpressRouteCircuitConnections_Get", + "description": "Gets the specified Peer Express Route Circuit Connection from the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "connectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peer express route circuit connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Peer Express Route Circuit Connection resource.", + "schema": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PeerExpressRouteCircuitConnectionGet": { + "$ref": "./examples/PeerExpressRouteCircuitConnectionGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections": { + "get": { + "tags": [ + "PeerExpressRouteCircuitConnections" + ], + "operationId": "PeerExpressRouteCircuitConnections_List", + "description": "Gets all global reach peer connections associated with a private peering in an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of PeerExpressRouteCircuitConnections resources.", + "schema": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Peer ExpressRouteCircuit Connection": { + "$ref": "./examples/PeerExpressRouteCircuitConnectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}": { + "delete": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_Delete", + "description": "Deletes the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. Sets 'Disabling' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitDelete.json" + } + } + }, + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_Get", + "description": "Gets information about the specified express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_CreateOrUpdate", + "description": "Creates or updates an express route circuit.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + }, + "description": "Parameters supplied to the create or update express route circuit operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create ExpressRouteCircuit": { + "$ref": "./examples/ExpressRouteCircuitCreate.json" + }, + "Create ExpressRouteCircuit on ExpressRoutePort": { + "$ref": "./examples/ExpressRouteCircuitCreateOnExpressRoutePort.json" + } + } + }, + "patch": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_UpdateTags", + "description": "Updates an express route circuit tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the circuit." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update express route circuit tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCircuit resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Express Route Circuit Tags": { + "$ref": "./examples/ExpressRouteCircuitUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitArpTable" + ], + "operationId": "ExpressRouteCircuits_ListArpTable", + "description": "Gets the currently advertised ARP table associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsArpTable resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsArpTableListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List ARP Table": { + "$ref": "./examples/ExpressRouteCircuitARPTableList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitRoutesTable" + ], + "operationId": "ExpressRouteCircuits_ListRoutesTable", + "description": "Gets the currently advertised routes table associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRouteTable resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List Route Tables": { + "$ref": "./examples/ExpressRouteCircuitRouteTableList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCircuitRoutesTableSummary" + ], + "operationId": "ExpressRouteCircuits_ListRoutesTableSummary", + "description": "Gets the currently advertised routes table summary associated with the express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitsRoutesTableSummary resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitsRoutesTableSummaryListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "List Route Table Summary": { + "$ref": "./examples/ExpressRouteCircuitRouteTableSummaryList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats": { + "get": { + "tags": [ + "ExpressRouteCircuitStats" + ], + "operationId": "ExpressRouteCircuits_GetStats", + "description": "Gets all the stats from an express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitStats" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRoute Circuit Traffic Stats": { + "$ref": "./examples/ExpressRouteCircuitStats.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats": { + "get": { + "tags": [ + "ExpressRouteCircuitStats" + ], + "operationId": "ExpressRouteCircuits_GetPeeringStats", + "description": "Gets all stats from an express route circuit in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "circuitName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the express route circuit." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitStats" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ExpressRoute Circuit Peering Traffic Stats": { + "$ref": "./examples/ExpressRouteCircuitPeeringStats.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits": { + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_List", + "description": "Gets all the express route circuits in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuits in a resource group": { + "$ref": "./examples/ExpressRouteCircuitListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": { + "get": { + "tags": [ + "ExpressRouteCircuits" + ], + "operationId": "ExpressRouteCircuits_ListAll", + "description": "Gets all the express route circuits in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCircuit resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCircuitListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRouteCircuits in a subscription": { + "$ref": "./examples/ExpressRouteCircuitListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": { + "get": { + "tags": [ + "ExpressRouteServiceProviders" + ], + "operationId": "ExpressRouteServiceProviders_List", + "description": "Gets all the available express route service providers.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteServiceProvider resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteServiceProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List ExpressRoute providers": { + "$ref": "./examples/ExpressRouteProviderList.json" + } + } + } + } + }, + "definitions": { + "AuthorizationPropertiesFormat": { + "properties": { + "authorizationKey": { + "type": "string", + "description": "The authorization key." + }, + "authorizationUseStatus": { + "type": "string", + "description": "The authorization use status.", + "enum": [ + "Available", + "InUse" + ], + "x-ms-enum": { + "name": "AuthorizationUseStatus", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the authorization resource." + } + }, + "description": "Properties of ExpressRouteCircuitAuthorization." + }, + "ExpressRouteCircuitAuthorization": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AuthorizationPropertiesFormat", + "description": "Properties of the express route circuit authorization." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Authorization in an ExpressRouteCircuit resource." + }, + "AuthorizationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "The authorizations in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit." + }, + "ExpressRouteCircuitPeeringConfig": { + "properties": { + "advertisedPublicPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The reference to AdvertisedPublicPrefixes." + }, + "advertisedCommunities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The communities of bgp peering. Specified for microsoft peering." + }, + "advertisedPublicPrefixesState": { + "readOnly": true, + "type": "string", + "description": "The advertised public prefix state of the Peering resource.", + "enum": [ + "NotConfigured", + "Configuring", + "Configured", + "ValidationNeeded" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState", + "modelAsString": true + } + }, + "legacyMode": { + "type": "integer", + "format": "int32", + "description": "The legacy mode of the peering." + }, + "customerASN": { + "type": "integer", + "format": "int32", + "description": "The CustomerASN of the peering." + }, + "routingRegistryName": { + "type": "string", + "description": "The RoutingRegistryName of the configuration." + } + }, + "description": "Specifies the peering configuration." + }, + "Ipv6ExpressRouteCircuitPeeringConfig": { + "properties": { + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "microsoftPeeringConfig": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "routeFilter": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the RouteFilter resource." + }, + "state": { + "type": "string", + "description": "The state of peering.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitPeeringState", + "modelAsString": true + } + } + }, + "description": "Contains IPv6 peering config." + }, + "ExpressRouteCircuitStats": { + "properties": { + "primarybytesIn": { + "type": "integer", + "format": "int64", + "description": "The Primary BytesIn of the peering." + }, + "primarybytesOut": { + "type": "integer", + "format": "int64", + "description": "The primary BytesOut of the peering." + }, + "secondarybytesIn": { + "type": "integer", + "format": "int64", + "description": "The secondary BytesIn of the peering." + }, + "secondarybytesOut": { + "type": "integer", + "format": "int64", + "description": "The secondary BytesOut of the peering." + } + }, + "description": "Contains stats associated with the peering." + }, + "ExpressRouteCircuitPeeringPropertiesFormat": { + "properties": { + "peeringType": { + "$ref": "#/definitions/ExpressRoutePeeringType", + "description": "The peering type." + }, + "state": { + "$ref": "#/definitions/ExpressRoutePeeringState", + "description": "The peering state." + }, + "azureASN": { + "type": "integer", + "format": "int32", + "description": "The Azure ASN." + }, + "peerASN": { + "type": "integer", + "format": "int64", + "minimum": 1, + "maximum": 4294967295, + "description": "The peer ASN." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "primaryAzurePort": { + "type": "string", + "description": "The primary port." + }, + "secondaryAzurePort": { + "type": "string", + "description": "The secondary port." + }, + "sharedKey": { + "type": "string", + "description": "The shared key." + }, + "vlanId": { + "type": "integer", + "format": "int32", + "description": "The VLAN ID." + }, + "microsoftPeeringConfig": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "stats": { + "$ref": "#/definitions/ExpressRouteCircuitStats", + "description": "The peering stats of express route circuit." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit peering resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "lastModifiedBy": { + "readOnly": true, + "type": "string", + "description": "Who was the last to modify the peering." + }, + "routeFilter": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the RouteFilter resource." + }, + "ipv6PeeringConfig": { + "$ref": "#/definitions/Ipv6ExpressRouteCircuitPeeringConfig", + "description": "The IPv6 peering configuration." + }, + "expressRouteConnection": { + "$ref": "./virtualWan.json#/definitions/ExpressRouteConnectionId", + "description": "The ExpressRoute connection." + }, + "connections": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "The list of circuit connections associated with Azure Private Peering for this circuit." + }, + "peeredConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + }, + "readOnly": true, + "description": "The list of peered circuit connections associated with Azure Private Peering for this circuit." + } + }, + "description": "Properties of the express route circuit peering." + }, + "ExpressRouteCircuitPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCircuitPeeringPropertiesFormat", + "description": "Properties of the express route circuit peering." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peering in an ExpressRouteCircuit resource." + }, + "ExpressRouteCircuitPeeringListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "The peerings in an express route circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit." + }, + "ExpressRoutePeeringType": { + "type": "string", + "description": "The peering type.", + "enum": [ + "AzurePublicPeering", + "AzurePrivatePeering", + "MicrosoftPeering" + ], + "x-ms-enum": { + "name": "ExpressRoutePeeringType", + "modelAsString": true + } + }, + "ExpressRoutePeeringState": { + "type": "string", + "description": "The state of peering.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ExpressRoutePeeringState", + "modelAsString": true + } + }, + "Ipv6CircuitConnectionConfig": { + "description": "IPv6 Circuit Connection properties for global reach.", + "properties": { + "addressPrefix": { + "type": "string", + "description": "/125 IP address space to carve out customer addresses for global reach." + }, + "circuitConnectionStatus": { + "readOnly": true, + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + } + } + }, + "ExpressRouteCircuitConnectionPropertiesFormat": { + "properties": { + "expressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection." + }, + "peerExpressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit." + }, + "addressPrefix": { + "type": "string", + "description": "/29 IP address space to carve out Customer addresses for tunnels." + }, + "authorizationKey": { + "type": "string", + "description": "The authorization key." + }, + "ipv6CircuitConnectionConfig": { + "$ref": "#/definitions/Ipv6CircuitConnectionConfig", + "description": "IPv6 Address PrefixProperties of the express route circuit connection." + }, + "circuitConnectionStatus": { + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit connection resource." + } + }, + "description": "Properties of the express route circuit connection." + }, + "ExpressRouteCircuitConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat", + "description": "Properties of the express route circuit connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Express Route Circuit Connection in an ExpressRouteCircuitPeering resource." + }, + "ExpressRouteCircuitConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitConnection" + }, + "description": "The global reach connection associated with Private Peering in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for an ExpressRouteCircuit." + }, + "PeerExpressRouteCircuitConnectionPropertiesFormat": { + "properties": { + "expressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the circuit." + }, + "peerExpressRouteCircuitPeering": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit." + }, + "addressPrefix": { + "type": "string", + "description": "/29 IP address space to carve out Customer addresses for tunnels." + }, + "circuitConnectionStatus": { + "$ref": "#/definitions/CircuitConnectionStatus", + "description": "Express Route Circuit connection state." + }, + "connectionName": { + "type": "string", + "description": "The name of the express route circuit connection resource." + }, + "authResourceGuid": { + "type": "string", + "description": "The resource guid of the authorization used for the express route circuit connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the peer express route circuit connection resource." + } + }, + "description": "Properties of the peer express route circuit connection." + }, + "PeerExpressRouteCircuitConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PeerExpressRouteCircuitConnectionPropertiesFormat", + "description": "Properties of the peer express route circuit connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource." + }, + "PeerExpressRouteCircuitConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerExpressRouteCircuitConnection" + }, + "description": "The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections that belongs to a Private Peering for an ExpressRouteCircuit." + }, + "ExpressRouteCircuitSku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU." + }, + "tier": { + "type": "string", + "description": "The tier of the SKU.", + "enum": [ + "Standard", + "Premium", + "Basic", + "Local" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitSkuTier", + "modelAsString": true + } + }, + "family": { + "type": "string", + "description": "The family of the SKU.", + "enum": [ + "UnlimitedData", + "MeteredData" + ], + "x-ms-enum": { + "name": "ExpressRouteCircuitSkuFamily", + "modelAsString": true + } + } + }, + "description": "Contains SKU in an ExpressRouteCircuit." + }, + "ExpressRouteCircuitServiceProviderProperties": { + "properties": { + "serviceProviderName": { + "type": "string", + "description": "The serviceProviderName." + }, + "peeringLocation": { + "type": "string", + "description": "The peering location." + }, + "bandwidthInMbps": { + "type": "integer", + "format": "int32", + "description": "The BandwidthInMbps." + } + }, + "description": "Contains ServiceProviderProperties in an ExpressRouteCircuit." + }, + "ExpressRouteCircuitPropertiesFormat": { + "properties": { + "allowClassicOperations": { + "type": "boolean", + "description": "Allow classic operations." + }, + "circuitProvisioningState": { + "type": "string", + "description": "The CircuitProvisioningState state of the resource." + }, + "serviceProviderProvisioningState": { + "$ref": "#/definitions/ServiceProviderProvisioningState", + "description": "The ServiceProviderProvisioningState state of the resource." + }, + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitAuthorization" + }, + "description": "The list of authorizations." + }, + "peerings": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCircuitPeering" + }, + "description": "The list of peerings." + }, + "serviceKey": { + "type": "string", + "description": "The ServiceKey." + }, + "serviceProviderNotes": { + "type": "string", + "description": "The ServiceProviderNotes." + }, + "serviceProviderProperties": { + "$ref": "#/definitions/ExpressRouteCircuitServiceProviderProperties", + "description": "The ServiceProviderProperties." + }, + "expressRoutePort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource." + }, + "bandwidthInGbps": { + "type": "number", + "description": "The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource." + }, + "stag": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The identifier of the circuit traffic. Outer tag for QinQ encapsulation." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route circuit resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "globalReachEnabled": { + "type": "boolean", + "description": "Flag denoting global reach status." + } + }, + "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/2020-06-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json new file mode 100644 index 000000000000..b944482ff3f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json @@ -0,0 +1,1008 @@ +{ + "swagger": "2.0", + "info": { + "title": "ExpressRouteCrossConnection REST APIs", + "description": "The Microsoft Azure ExpressRouteCrossConnection Resource Provider REST APIs describes the operations for the connectivity provider to provision ExpressRoute circuit, create and modify BGP peering entities and troubleshoot connectivity on customer's ExpressRoute circuit.", + "version": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_List", + "description": "Retrieves all the ExpressRouteCrossConnections in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionList": { + "$ref": "./examples/ExpressRouteCrossConnectionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_ListByResourceGroup", + "description": "Retrieves all the ExpressRouteCrossConnections in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionListByResourceGroup": { + "$ref": "./examples/ExpressRouteCrossConnectionListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}": { + "get": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_Get", + "description": "Gets details about the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group (peering location of the circuit)." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection (service key of the circuit)." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnection": { + "$ref": "./examples/ExpressRouteCrossConnectionGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_CreateOrUpdate", + "description": "Update the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + }, + "description": "Parameters supplied to the update express route crossConnection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateExpressRouteCrossConnection": { + "$ref": "./examples/ExpressRouteCrossConnectionUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "ExpressRouteCrossConnections" + ], + "operationId": "ExpressRouteCrossConnections_UpdateTags", + "description": "Updates an express route cross connection tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cross connection." + }, + { + "name": "crossConnectionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update express route cross connection tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateExpressRouteCrossConnectionTags": { + "$ref": "./examples/ExpressRouteCrossConnectionUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings": { + "get": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_List", + "description": "Gets all peerings in a specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ExpressRouteCrossConnectionPeering resources.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionBgpPeeringList": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}": { + "delete": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_Delete", + "description": "Deletes the specified peering from the ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteExpressRouteCrossConnectionBgpPeering": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_Get", + "description": "Gets the specified peering for the ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionBgpPeering": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringGet.json" + } + } + }, + "put": { + "tags": [ + "ExpressRouteCrossConnectionPeerings" + ], + "operationId": "ExpressRouteCrossConnectionPeerings_CreateOrUpdate", + "description": "Creates or updates a peering in the specified ExpressRouteCrossConnection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "peeringParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "Parameters supplied to the create or update ExpressRouteCrossConnection peering operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ExpressRouteCrossConnectionBgpPeeringCreate": { + "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionArpTable" + ], + "operationId": "ExpressRouteCrossConnections_ListArpTable", + "description": "Gets the currently advertised ARP table associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsArpTable resource.", + "schema": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsArpTableListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionsArpTable": { + "$ref": "./examples/ExpressRouteCrossConnectionsArpTable.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionRouteTableSummary" + ], + "operationId": "ExpressRouteCrossConnections_ListRoutesTableSummary", + "description": "Gets the route table summary associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTableSummary resource.", + "schema": { + "$ref": "#/definitions/ExpressRouteCrossConnectionsRoutesTableSummaryListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionsRouteTableSummary": { + "$ref": "./examples/ExpressRouteCrossConnectionsRouteTableSummary.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}": { + "post": { + "tags": [ + "ExpressRouteCrossConnectionRouteTable" + ], + "operationId": "ExpressRouteCrossConnections_ListRoutesTable", + "description": "Gets the currently advertised routes table associated with the express route cross connection in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "crossConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ExpressRouteCrossConnection." + }, + { + "name": "peeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the peering." + }, + { + "name": "devicePath", + "in": "path", + "required": true, + "type": "string", + "description": "The path of the device." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTable resource.", + "schema": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsRoutesTableListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetExpressRouteCrossConnectionsRouteTable": { + "$ref": "./examples/ExpressRouteCrossConnectionsRouteTable.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "ExpressRouteCrossConnectionRoutesTableSummary": { + "properties": { + "neighbor": { + "type": "string", + "description": "IP address of Neighbor router." + }, + "asn": { + "type": "integer", + "format": "int32", + "description": "Autonomous system number." + }, + "upDown": { + "type": "string", + "description": "The length of time that the BGP session has been in the Established state, or the current status if not in the Established state." + }, + "stateOrPrefixesReceived": { + "type": "string", + "description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group." + } + }, + "description": "The routes table associated with the ExpressRouteCircuit." + }, + "ExpressRouteCrossConnectionsRoutesTableSummaryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionRoutesTableSummary" + }, + "description": "A list of the routes table." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListRoutesTable associated with the Express Route Cross Connections." + }, + "ExpressRouteCircuitReference": { + "properties": { + "id": { + "type": "string", + "description": "Corresponding Express Route Circuit Id." + } + }, + "description": "Reference to an express route circuit." + }, + "ExpressRouteCrossConnectionProperties": { + "properties": { + "primaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the primary port." + }, + "secondaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The name of the secondary port." + }, + "sTag": { + "readOnly": true, + "type": "integer", + "description": "The identifier of the circuit traffic." + }, + "peeringLocation": { + "readOnly": true, + "type": "string", + "description": "The peering location of the ExpressRoute circuit." + }, + "bandwidthInMbps": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The circuit bandwidth In Mbps." + }, + "expressRouteCircuit": { + "$ref": "#/definitions/ExpressRouteCircuitReference", + "description": "The ExpressRouteCircuit." + }, + "serviceProviderProvisioningState": { + "$ref": "./expressRouteCircuit.json#/definitions/ServiceProviderProvisioningState", + "description": "The provisioning state of the circuit in the connectivity provider system." + }, + "serviceProviderNotes": { + "type": "string", + "description": "Additional read only notes set by the connectivity provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route cross connection resource." + }, + "peerings": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "The list of peerings." + } + }, + "description": "Properties of ExpressRouteCrossConnection." + }, + "ExpressRouteCrossConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCrossConnectionProperties", + "description": "Properties of the express route cross connection." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRouteCrossConnection resource." + }, + "ExpressRouteCrossConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnection" + }, + "description": "A list of ExpressRouteCrossConnection resources." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListExpressRouteCrossConnection API service call." + }, + "ExpressRouteCrossConnectionPeeringProperties": { + "properties": { + "peeringType": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringType", + "description": "The peering type." + }, + "state": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringState", + "description": "The peering state." + }, + "azureASN": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The Azure ASN." + }, + "peerASN": { + "type": "integer", + "format": "int64", + "minimum": 1, + "maximum": 4294967295, + "description": "The peer ASN." + }, + "primaryPeerAddressPrefix": { + "type": "string", + "description": "The primary address prefix." + }, + "secondaryPeerAddressPrefix": { + "type": "string", + "description": "The secondary address prefix." + }, + "primaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The primary port." + }, + "secondaryAzurePort": { + "readOnly": true, + "type": "string", + "description": "The secondary port." + }, + "sharedKey": { + "type": "string", + "description": "The shared key." + }, + "vlanId": { + "type": "integer", + "format": "int32", + "description": "The VLAN ID." + }, + "microsoftPeeringConfig": { + "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeeringConfig", + "description": "The Microsoft peering configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route cross connection peering resource." + }, + "gatewayManagerEtag": { + "type": "string", + "description": "The GatewayManager Etag." + }, + "lastModifiedBy": { + "readOnly": true, + "type": "string", + "description": "Who was the last to modify the peering." + }, + "ipv6PeeringConfig": { + "$ref": "./expressRouteCircuit.json#/definitions/Ipv6ExpressRouteCircuitPeeringConfig", + "description": "The IPv6 peering configuration." + } + }, + "description": "Properties of express route cross connection peering." + }, + "ExpressRouteCrossConnectionPeering": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties", + "description": "Properties of the express route cross connection peering." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Peering in an ExpressRoute Cross Connection resource." + }, + "ExpressRouteCrossConnectionPeeringList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteCrossConnectionPeering" + }, + "description": "The peerings in an express route cross connection." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRoutePort.json new file mode 100644 index 000000000000..cbfcb03e1d44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/expressRoutePort.json @@ -0,0 +1,963 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + } + } + } + }, + "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." + }, + "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." + } + } + }, + "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." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/firewallPolicy.json new file mode 100644 index 000000000000..283b62426541 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/firewallPolicy.json @@ -0,0 +1,1119 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + } + }, + "/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" + } + } + }, + "put": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_CreateOrUpdate", + "description": "Creates or updates the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + }, + "description": "Parameters supplied to the create or update FirewallPolicyRuleCollectionGroup operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupPut.json" + }, + "Create FirewallPolicyRuleCollectionGroup With IpGroups": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json" + } + }, + "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" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "FirewallPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPolicyPropertiesFormat", + "description": "Properties of the firewall policy." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "FirewallPolicy Resource." + }, + "FirewallPolicyPropertiesFormat": { + "properties": { + "ruleCollectionGroups": { + "type": "array", + "readOnly": true, + "description": "List of references to FirewallPolicyRuleCollectionGroups.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the firewall policy resource." + }, + "basePolicy": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The parent firewall policy from which rules are inherited." + }, + "firewalls": { + "type": "array", + "readOnly": true, + "description": "List of references to Azure Firewalls that this Firewall Policy is associated with.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "childPolicies": { + "type": "array", + "readOnly": true, + "description": "List of references to Child Firewall Policies.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "threatIntelMode": { + "description": "The operation mode for Threat Intelligence.", + "$ref": "./azureFirewall.json#/definitions/AzureFirewallThreatIntelMode" + }, + "threatIntelWhitelist": { + "description": "ThreatIntel Whitelist for Firewall Policy.", + "$ref": "#/definitions/FirewallPolicyThreatIntelWhitelist" + }, + "dnsSettings": { + "description": "DNS Proxy Settings definition.", + "$ref": "#/definitions/DnsSettings" + } + }, + "description": "Firewall Policy definition." + }, + "FirewallPolicyRuleCollectionGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroupProperties", + "description": "The properties of the firewall policy rule collection group." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Rule Group type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Rule Collection Group resource." + }, + "FirewallPolicyRuleCollectionGroupProperties": { + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the Firewall Policy Rule Collection Group resource." + }, + "ruleCollections": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + }, + "description": "Group of Firewall Policy rule collections." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the firewall policy rule collection group resource." + } + }, + "description": "Properties of the rule collection group." + }, + "FirewallPolicyRuleCollection": { + "description": "Properties of the rule collection.", + "discriminator": "ruleCollectionType", + "required": [ + "ruleCollectionType" + ], + "properties": { + "ruleCollectionType": { + "type": "string", + "description": "The type of the rule collection.", + "enum": [ + "FirewallPolicyNatRuleCollection", + "FirewallPolicyFilterRuleCollection" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleCollectionType", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "The name of the rule collection." + }, + "priority": { + "type": "integer", + "format": "int32", + "maximum": 65000, + "exclusiveMaximum": false, + "minimum": 100, + "exclusiveMinimum": false, + "description": "Priority of the Firewall Policy Rule Collection resource." + } + } + }, + "FirewallPolicyNatRuleCollection": { + "properties": { + "action": { + "$ref": "#/definitions/FirewallPolicyNatRuleCollectionAction", + "description": "The action type of a Nat rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + }, + "description": "List of rules included in a rule collection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + } + ], + "x-ms-discriminator-value": "FirewallPolicyNatRuleCollection", + "description": "Firewall Policy NAT Rule Collection." + }, + "FirewallPolicyFilterRuleCollection": { + "properties": { + "action": { + "$ref": "#/definitions/FirewallPolicyFilterRuleCollectionAction", + "description": "The action type of a Filter rule collection." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRule" + }, + "description": "List of rules included in a rule collection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRuleCollection" + } + ], + "x-ms-discriminator-value": "FirewallPolicyFilterRuleCollection", + "description": "Firewall Policy Filter Rule Collection." + }, + "FirewallPolicyRule": { + "description": "Properties of a rule.", + "discriminator": "ruleType", + "required": [ + "ruleType" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the rule." + }, + "description": { + "type": "string", + "description": "Description of the rule." + }, + "ruleType": { + "type": "string", + "description": "Rule Type.", + "enum": [ + "ApplicationRule", + "NetworkRule", + "NatRule" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleType", + "modelAsString": true + } + } + } + }, + "ApplicationRule": { + "x-ms-discriminator-value": "ApplicationRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "protocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleApplicationProtocol" + }, + "description": "Array of Application Protocols." + }, + "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": "Rule of type application." + }, + "NatRule": { + "description": "Rule of type nat.", + "x-ms-discriminator-value": "NatRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "ipProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleNetworkProtocol" + }, + "description": "Array of FirewallPolicyRuleNetworkProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "translatedAddress": { + "type": "string", + "description": "The translated address for this NAT rule." + }, + "translatedPort": { + "type": "string", + "description": "The translated port for this NAT rule." + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + } + } + }, + "NetworkRule": { + "description": "Rule of type network.", + "x-ms-discriminator-value": "NetworkRule", + "allOf": [ + { + "$ref": "#/definitions/FirewallPolicyRule" + } + ], + "properties": { + "ipProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleNetworkProtocol" + }, + "description": "Array of FirewallPolicyRuleNetworkProtocols." + }, + "sourceAddresses": { + "type": "array", + "description": "List of source IP addresses for this rule.", + "items": { + "type": "string" + } + }, + "destinationAddresses": { + "type": "array", + "description": "List of destination IP addresses or Service Tags.", + "items": { + "type": "string" + } + }, + "destinationPorts": { + "type": "array", + "description": "List of destination ports.", + "items": { + "type": "string" + } + }, + "sourceIpGroups": { + "type": "array", + "description": "List of source IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationIpGroups": { + "type": "array", + "description": "List of destination IpGroups for this rule.", + "items": { + "type": "string" + } + }, + "destinationFqdns": { + "type": "array", + "description": "List of destination FQDNs.", + "items": { + "type": "string" + } + } + } + }, + "FirewallPolicyRuleApplicationProtocol": { + "properties": { + "protocolType": { + "description": "Protocol type.", + "$ref": "#/definitions/FirewallPolicyRuleApplicationProtocolType" + }, + "port": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false, + "description": "Port number for the protocol, cannot be greater than 64000." + } + }, + "description": "Properties of the application rule protocol." + }, + "FirewallPolicyRuleApplicationProtocolType": { + "type": "string", + "description": "The application protocol type of a Rule.", + "enum": [ + "Http", + "Https" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleApplicationProtocolType", + "modelAsString": true + } + }, + "FirewallPolicyNatRuleCollectionActionType": { + "type": "string", + "description": "The action type of a rule.", + "enum": [ + "DNAT" + ], + "x-ms-enum": { + "name": "FirewallPolicyNatRuleCollectionActionType", + "modelAsString": true + } + }, + "FirewallPolicyNatRuleCollectionAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/FirewallPolicyNatRuleCollectionActionType" + } + }, + "description": "Properties of the FirewallPolicyNatRuleCollectionAction." + }, + "FirewallPolicyFilterRuleCollectionActionType": { + "type": "string", + "description": "The action type of a rule.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "FirewallPolicyFilterRuleCollectionActionType", + "modelAsString": true + } + }, + "FirewallPolicyFilterRuleCollectionAction": { + "properties": { + "type": { + "description": "The type of action.", + "$ref": "#/definitions/FirewallPolicyFilterRuleCollectionActionType" + } + }, + "description": "Properties of the FirewallPolicyFilterRuleCollectionAction." + }, + "FirewallPolicyRuleNetworkProtocol": { + "type": "string", + "description": "The Network protocol of a Rule.", + "enum": [ + "TCP", + "UDP", + "Any", + "ICMP" + ], + "x-ms-enum": { + "name": "FirewallPolicyRuleNetworkProtocol", + "modelAsString": true + } + }, + "FirewallPolicyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicy" + }, + "description": "List of Firewall Policies in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListFirewallPolicies API service call." + }, + "FirewallPolicyRuleCollectionGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + }, + "description": "List of FirewallPolicyRuleCollectionGroups in a FirewallPolicy." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListFirewallPolicyRuleCollectionGroups API service call." + }, + "FirewallPolicyThreatIntelWhitelist": { + "description": "ThreatIntel Whitelist for Firewall Policy.", + "x-ms-discriminator-value": "FirewallPolicyThreatIntelWhitelist", + "properties": { + "ipAddresses": { + "type": "array", + "description": "List of IP addresses for the ThreatIntel Whitelist.", + "items": { + "type": "string" + } + }, + "fqdns": { + "type": "array", + "description": "List of FQDNs for the ThreatIntel Whitelist.", + "items": { + "type": "string" + } + } + } + }, + "DnsSettings": { + "description": "DNS Proxy Settings in Firewall Policy.", + "x-ms-discriminator-value": "DnsSettings", + "properties": { + "servers": { + "type": "array", + "description": "List of Custom DNS Servers.", + "items": { + "type": "string" + } + }, + "enableProxy": { + "type": "boolean", + "description": "Enable DNS Proxy on Firewalls attached to the Firewall Policy." + }, + "requireProxyForNetworkRules": { + "type": "boolean", + "description": "FQDNs in Network Rules are supported when set to true.", + "x-nullable": true + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ipAllocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ipAllocation.json new file mode 100644 index 000000000000..6c34f1125ffa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ipAllocation.json @@ -0,0 +1,454 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations/{ipAllocationName}": { + "delete": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_Delete", + "description": "Deletes the specified IpAllocation.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete IpAllocation": { + "$ref": "./examples/IpAllocationDelete.json" + } + } + }, + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_Get", + "description": "Gets the specified IpAllocation by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get IpAllocation": { + "$ref": "./examples/IpAllocationGet.json" + } + } + }, + "put": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_CreateOrUpdate", + "description": "Creates or updates an IpAllocation in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpAllocation" + }, + "description": "Parameters supplied to the create or update virtual network operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create IpAllocation": { + "$ref": "./examples/IpAllocationCreate.json" + } + } + }, + "patch": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_UpdateTags", + "description": "Updates a IpAllocation tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipAllocationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the IpAllocation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update IpAllocation tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting IpAllocation resource.", + "schema": { + "$ref": "#/definitions/IpAllocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update virtual network tags": { + "$ref": "./examples/IpAllocationUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/IpAllocations": { + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_List", + "description": "Gets all IpAllocations in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of IpAllocation resources.", + "schema": { + "$ref": "#/definitions/IpAllocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all IpAllocations": { + "$ref": "./examples/IpAllocationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/IpAllocations": { + "get": { + "tags": [ + "IpAllocations" + ], + "operationId": "IpAllocations_ListByResourceGroup", + "description": "Gets all IpAllocations in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of IpAllocation resources.", + "schema": { + "$ref": "#/definitions/IpAllocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List IpAllocations in resource group": { + "$ref": "./examples/IpAllocationListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "IpAllocationPropertiesFormat": { + "properties": { + "subnet": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Subnet that using the prefix of this IpAllocation resource." + }, + "virtualNetwork": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualNetwork that using the prefix of this IpAllocation resource." + }, + "type": { + "$ref": "#/definitions/IpAllocationType", + "description": "The type for the IpAllocation." + }, + "prefix": { + "type": "string", + "description": "The address prefix for the IpAllocation." + }, + "prefixLength": { + "type": "integer", + "x-nullable": true, + "default": 0, + "description": "The address prefix length for the IpAllocation." + }, + "prefixType": { + "$ref": "./network.json#/definitions/IPVersion", + "default": null, + "description": "The address prefix Type for the IpAllocation." + }, + "ipamAllocationId": { + "type": "string", + "description": "The IPAM allocation ID." + }, + "allocationTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "IpAllocation tags." + } + }, + "description": "Properties of the IpAllocation." + }, + "IpAllocation": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IpAllocationPropertiesFormat", + "description": "Properties of the IpAllocation." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "IpAllocation resource." + }, + "IpAllocationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpAllocation" + }, + "description": "A list of IpAllocation resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListIpAllocations API service call." + }, + "IpAllocationType": { + "type": "string", + "description": "IpAllocation type.", + "enum": [ + "Undefined", + "Hypernet" + ], + "x-ms-enum": { + "name": "IpAllocationType", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ipGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ipGroups.json new file mode 100644 index 000000000000..1b03f458c220 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/ipGroups.json @@ -0,0 +1,422 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups/{ipGroupsName}": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_Get", + "description": "Gets the specified ipGroups.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands resourceIds (of Firewalls/Network Security Groups etc.) back referenced by the IpGroups resource." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting IpGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Get_IpGroups": { + "$ref": "./examples/IpGroupsGet.json" + } + } + }, + "put": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_CreateOrUpdate", + "description": "Creates or updates an ipGroups in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpGroup" + }, + "description": "Parameters supplied to the create or update IpGroups operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CreateOrUpdate_IpGroups": { + "$ref": "./examples/IpGroupsCreate.json" + } + } + }, + "patch": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_UpdateGroups", + "description": "Updates tags of an IpGroups resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to the update ipGroups operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting ipGroups resource.", + "schema": { + "$ref": "#/definitions/IpGroup" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Update_IpGroups": { + "$ref": "./examples/IpGroupsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_Delete", + "description": "Deletes the specified ipGroups.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ipGroupsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ipGroups." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Delete_IpGroups": { + "$ref": "./examples/IpGroupsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ipGroups": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_ListByResourceGroup", + "description": "Gets all IpGroups in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ipGroups resources.", + "schema": { + "$ref": "#/definitions/IpGroupListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "ListByResourceGroup_IpGroups": { + "$ref": "./examples/IpGroupsListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups": { + "get": { + "tags": [ + "IpGroups" + ], + "operationId": "IpGroups_List", + "description": "Gets all IpGroups in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of ipGroups resources.", + "schema": { + "$ref": "#/definitions/IpGroupListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "List_IpGroups": { + "$ref": "./examples/IpGroupsListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "IpGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IpGroupPropertiesFormat", + "description": "Properties of the IpGroups." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The IpGroups resource information." + }, + "IpGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpGroup" + }, + "description": "The list of IpGroups information resources." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for the ListIpGroups API service call." + }, + "IpGroupPropertiesFormat": { + "properties": { + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the IpGroups resource.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IpAddresses/IpAddressPrefixes in the IpGroups resource." + }, + "firewalls": { + "type": "array", + "readOnly": true, + "description": "List of references to Azure resources that this IpGroups is associated with.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + }, + "description": "The IpGroups property information." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/loadBalancer.json new file mode 100644 index 000000000000..4d2810262e1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/loadBalancer.json @@ -0,0 +1,2240 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}": { + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_Delete", + "description": "Deletes the specified load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete load balancer": { + "$ref": "./examples/LoadBalancerDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_Get", + "description": "Gets the specified load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get load balancer": { + "$ref": "./examples/LoadBalancerGet.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_CreateOrUpdate", + "description": "Creates or updates a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LoadBalancer" + }, + "description": "Parameters supplied to the create or update load balancer operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create load balancer": { + "$ref": "./examples/LoadBalancerCreate.json" + }, + "Create load balancer with Standard SKU": { + "$ref": "./examples/LoadBalancerCreateStandardSku.json" + }, + "Create load balancer with Frontend IP in Zone 1": { + "$ref": "./examples/LoadBalancerCreateWithZones.json" + }, + "Create load balancer with inbound nat pool": { + "$ref": "./examples/LoadBalancerCreateWithInboundNatPool.json" + }, + "Create load balancer with outbound rules": { + "$ref": "./examples/LoadBalancerCreateWithOutboundRules.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_UpdateTags", + "description": "Updates a load balancer tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update load balancer tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting LoadBalancer resource.", + "schema": { + "$ref": "#/definitions/LoadBalancer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update load balancer tags": { + "$ref": "./examples/LoadBalancerUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_ListAll", + "description": "Gets all the load balancers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all load balancers": { + "$ref": "./examples/LoadBalancerListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_List", + "description": "Gets all the load balancers in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List load balancers in resource group": { + "$ref": "./examples/LoadBalancerList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_List", + "description": "Gets all the load balancer backed address pools.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer BackendAddressPool resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerBackendAddressPoolListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerBackendAddressPoolList": { + "$ref": "./examples/LoadBalancerBackendAddressPoolList.json" + }, + "Load balancer with BackendAddressPool containing BackendAddresses": { + "$ref": "./examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_Get", + "description": "Gets load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerBackendAddressPoolGet": { + "$ref": "./examples/LoadBalancerBackendAddressPoolGet.json" + }, + "LoadBalancer with BackendAddressPool with BackendAddresses": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesGet.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_CreateOrUpdate", + "description": "Creates or updates a load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "Parameters supplied to the create or update load balancer backend address pool operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting BackendAddressPool resource.", + "schema": { + "$ref": "#/definitions/BackendAddressPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update load balancer backend pool with backend addresses containing virtual network and IP address.": { + "$ref": "./examples/LBBackendAddressPoolWithBackendAddressesPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerBackendAddressPools_Delete", + "description": "Deletes the specified load balancer backend address pool.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendAddressPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backend address pool." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BackendAddressPoolDelete": { + "$ref": "./examples/LoadBalancerBackendAddressPoolDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerFrontendIPConfigurations_List", + "description": "Gets all the load balancer frontend IP configurations.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer FrontendIPConfiguration resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerFrontendIPConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerFrontendIPConfigurationList": { + "$ref": "./examples/LoadBalancerFrontendIPConfigurationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerFrontendIPConfigurations_Get", + "description": "Gets load balancer frontend IP configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "frontendIPConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the frontend IP configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer FrontendIPConfiguration resource.", + "schema": { + "$ref": "#/definitions/FrontendIPConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerFrontendIPConfigurationGet": { + "$ref": "./examples/LoadBalancerFrontendIPConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_List", + "description": "Gets all the inbound nat rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer InboundNatRule resources.", + "schema": { + "$ref": "#/definitions/InboundNatRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "InboundNatRuleList": { + "$ref": "./examples/InboundNatRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}": { + "delete": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_Delete", + "description": "Deletes the specified load balancer inbound nat rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "InboundNatRuleDelete": { + "$ref": "./examples/InboundNatRuleDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_Get", + "description": "Gets the specified load balancer inbound nat rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "InboundNatRuleGet": { + "$ref": "./examples/InboundNatRuleGet.json" + } + } + }, + "put": { + "tags": [ + "LoadBalancers" + ], + "operationId": "InboundNatRules_CreateOrUpdate", + "description": "Creates or updates a load balancer inbound nat rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "inboundNatRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound nat rule." + }, + { + "name": "inboundNatRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "Parameters supplied to the create or update inbound nat rule operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting InboundNatRule resource.", + "schema": { + "$ref": "#/definitions/InboundNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "InboundNatRuleCreate": { + "$ref": "./examples/InboundNatRuleCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerLoadBalancingRules_List", + "description": "Gets all the load balancing rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer LoadBalancingRule resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerLoadBalancingRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "LoadBalancerLoadBalancingRuleList": { + "$ref": "./examples/LoadBalancerLoadBalancingRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerLoadBalancingRules_Get", + "description": "Gets the specified load balancer load balancing rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "loadBalancingRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancing rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LoadBalancingRule resource.", + "schema": { + "$ref": "#/definitions/LoadBalancingRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerLoadBalancingRuleGet": { + "$ref": "./examples/LoadBalancerLoadBalancingRuleGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerOutboundRules_List", + "description": "Gets all the outbound rules in a load balancer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer OutboundRule resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerOutboundRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "LoadBalancerOutboundRuleList": { + "$ref": "./examples/LoadBalancerOutboundRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerOutboundRules_Get", + "description": "Gets the specified load balancer outbound rule.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "outboundRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the outbound rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting OutboundRule resource.", + "schema": { + "$ref": "#/definitions/OutboundRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerOutboundRuleGet": { + "$ref": "./examples/LoadBalancerOutboundRuleGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerNetworkInterfaces_List", + "description": "Gets associated load balancer network interfaces.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerNetworkInterfaceListVmss": { + "$ref": "./examples/LoadBalancerNetworkInterfaceListVmss.json" + }, + "LoadBalancerNetworkInterfaceListSimple": { + "$ref": "./examples/LoadBalancerNetworkInterfaceListSimple.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerProbes_List", + "description": "Gets all the load balancer probes.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LoadBalancer Probe resources.", + "schema": { + "$ref": "#/definitions/LoadBalancerProbeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerProbeList": { + "$ref": "./examples/LoadBalancerProbeList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}": { + "get": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancerProbes_Get", + "description": "Gets load balancer probe.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "probeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the probe." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns LoadBalancer Probe resource.", + "schema": { + "$ref": "#/definitions/Probe" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LoadBalancerProbeGet": { + "$ref": "./examples/LoadBalancerProbeGet.json" + } + } + } + } + }, + "definitions": { + "LoadBalancerSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of a load balancer SKU.", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "LoadBalancerSkuName", + "modelAsString": true + } + } + }, + "description": "SKU of a load balancer." + }, + "FrontendIPConfigurationPropertiesFormat": { + "properties": { + "inboundNatRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to inbound rules that use this frontend IP." + }, + "inboundNatPools": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to inbound pools that use this frontend IP." + }, + "outboundRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to outbound rules that use this frontend IP." + }, + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to load balancing rules that use this frontend IP." + }, + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The Private IP allocation method." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "The reference to the Public IP resource." + }, + "publicIPPrefix": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Public IP Prefix resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend IP configuration resource." + } + }, + "description": "Properties of Frontend IP Configuration of the load balancer." + }, + "FrontendIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FrontendIPConfigurationPropertiesFormat", + "description": "Properties of the load balancer probe." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the IP allocated for the resource needs to come from." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend IP address of the load balancer." + }, + "LoadBalancerBackendAddressPropertiesFormat": { + "properties": { + "virtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to an existing virtual network." + }, + "ipAddress": { + "type": "string", + "description": "IP Address belonging to the referenced virtual network.", + "x-ms-azure-resource": false + }, + "networkInterfaceIPConfiguration": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to IP address defined in network interfaces." + } + }, + "description": "Properties of the load balancer backend addresses." + }, + "LoadBalancerBackendAddress": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerBackendAddressPropertiesFormat", + "description": "Properties of load balancer backend address pool." + }, + "name": { + "type": "string", + "description": "Name of the backend address." + } + }, + "description": "Load balancer backend addresses." + }, + "BackendAddressPoolPropertiesFormat": { + "properties": { + "loadBalancerBackendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddress" + }, + "description": "An array of backend addresses." + }, + "backendIPConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "An array of references to IP addresses defined in network interfaces." + }, + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to load balancing rules that use this backend address pool." + }, + "outboundRule": { + "readOnly": true, + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to an outbound rule that uses this backend address pool." + }, + "outboundRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to outbound rules that use this backend address pool." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend address pool resource." + } + }, + "description": "Properties of the backend address pool." + }, + "BackendAddressPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BackendAddressPoolPropertiesFormat", + "description": "Properties of load balancer backend address pool." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Pool of backend IP addresses." + }, + "LoadBalancingRulePropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the load balancer probe used by the load balancing rule." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the load balancing rule." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule.", + "enum": [ + "Default", + "SourceIP", + "SourceIPProtocol" + ], + "x-ms-enum": { + "name": "LoadDistribution", + "modelAsString": true + } + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables \"Any Port\"." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables \"Any Port\"." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "type": "boolean", + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "disableOutboundSnat": { + "type": "boolean", + "description": "Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the load balancing rule resource." + } + }, + "required": [ + "protocol", + "frontendPort" + ], + "description": "Properties of the load balancer." + }, + "LoadBalancingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancingRulePropertiesFormat", + "description": "Properties of load balancer load balancing rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A load balancing rule for a load balancer." + }, + "ProbePropertiesFormat": { + "properties": { + "loadBalancingRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The load balancer rules that use this probe." + }, + "protocol": { + "type": "string", + "description": "The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.", + "enum": [ + "Http", + "Tcp", + "Https" + ], + "x-ms-enum": { + "name": "ProbeProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port for communicating the probe. Possible values range from 1 to 65535, inclusive." + }, + "intervalInSeconds": { + "type": "integer", + "format": "int32", + "description": "The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5." + }, + "numberOfProbes": { + "type": "integer", + "format": "int32", + "description": "The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure." + }, + "requestPath": { + "type": "string", + "description": "The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the probe resource." + } + }, + "required": [ + "protocol", + "port" + ], + "description": "Load balancer probe resource." + }, + "Probe": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProbePropertiesFormat", + "description": "Properties of load balancer probe." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "A load balancer probe." + }, + "InboundNatRulePropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "backendIPConfiguration": { + "readOnly": true, + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration", + "description": "A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the load balancing rule." + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for the internal endpoint. Acceptable values range from 1 to 65535." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "type": "boolean", + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the inbound NAT rule resource." + } + }, + "description": "Properties of the inbound NAT rule." + }, + "InboundNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundNatRulePropertiesFormat", + "description": "Properties of load balancer inbound nat rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Inbound NAT rule of the load balancer." + }, + "InboundNatPoolPropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to frontend IP addresses." + }, + "protocol": { + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the inbound NAT pool." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "description": "The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "description": "The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP." + }, + "enableFloatingIP": { + "type": "boolean", + "description": "Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint." + }, + "enableTcpReset": { + "type": "boolean", + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the inbound NAT pool resource." + } + }, + "required": [ + "protocol", + "frontendPortRangeStart", + "frontendPortRangeEnd", + "backendPort" + ], + "description": "Properties of Inbound NAT pool." + }, + "InboundNatPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundNatPoolPropertiesFormat", + "description": "Properties of load balancer inbound nat pool." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Inbound NAT pool of the load balancer." + }, + "OutboundRulePropertiesFormat": { + "properties": { + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "description": "The number of outbound ports to be used for NAT." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "The Frontend IP addresses of the load balancer." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the outbound rule resource." + }, + "protocol": { + "type": "string", + "description": "The protocol for the outbound rule in load balancer.", + "enum": [ + "Tcp", + "Udp", + "All" + ], + "x-ms-enum": { + "name": "LoadBalancerOutboundRuleProtocol", + "modelAsString": true + } + }, + "enableTcpReset": { + "type": "boolean", + "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "description": "The timeout for the TCP idle connection." + } + }, + "required": [ + "backendAddressPool", + "frontendIPConfigurations", + "protocol" + ], + "description": "Outbound rule of the load balancer." + }, + "OutboundRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OutboundRulePropertiesFormat", + "description": "Properties of load balancer outbound rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Outbound rule of the load balancer." + }, + "LoadBalancerPropertiesFormat": { + "properties": { + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + }, + "description": "Object representing the frontend IPs to be used for the load balancer." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "Collection of backend address pools used by a load balancer." + }, + "loadBalancingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "Object collection representing the load balancing rules Gets the provisioning." + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + }, + "description": "Collection of probe objects used in the load balancer." + }, + "inboundNatRules": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules." + }, + "inboundNatPools": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatPool" + }, + "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules." + }, + "outboundRules": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundRule" + }, + "description": "The outbound rules." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the load balancer resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the load balancer resource." + } + }, + "description": "Properties of the load balancer." + }, + "LoadBalancer": { + "properties": { + "sku": { + "$ref": "#/definitions/LoadBalancerSku", + "description": "The load balancer SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LoadBalancerPropertiesFormat", + "description": "Properties of load balancer." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "LoadBalancer resource." + }, + "LoadBalancerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancer" + }, + "description": "A list of load balancers in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLoadBalancers API service call." + }, + "InboundNatRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + }, + "description": "A list of inbound nat rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListInboundNatRule API service call." + }, + "LoadBalancerBackendAddressPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BackendAddressPool" + }, + "description": "A list of backend address pools in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListBackendAddressPool API service call." + }, + "LoadBalancerFrontendIPConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendIPConfiguration" + }, + "description": "A list of frontend IP configurations in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListFrontendIPConfiguration API service call." + }, + "LoadBalancerLoadBalancingRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "A list of load balancing rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListLoadBalancingRule API service call." + }, + "LoadBalancerOutboundRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OutboundRule" + }, + "description": "A list of outbound rules in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListOutboundRule API service call." + }, + "LoadBalancerProbeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Probe" + }, + "description": "A list of probes in a load balancer." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListProbe API service call." + }, + "TransportProtocol": { + "type": "string", + "description": "The transport protocol for the endpoint.", + "enum": [ + "Udp", + "Tcp", + "All" + ], + "x-ms-enum": { + "name": "TransportProtocol", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/natGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/natGateway.json new file mode 100644 index 000000000000..76240b24ca24 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/natGateway.json @@ -0,0 +1,472 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}": { + "delete": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_Delete", + "description": "Deletes the specified nat gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete nat gateway": { + "$ref": "./examples/NatGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_Get", + "description": "Gets the specified nat gateway in a specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get nat gateway": { + "$ref": "./examples/NatGatewayGet.json" + } + } + }, + "put": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_CreateOrUpdate", + "description": "Creates or updates a nat gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NatGateway" + }, + "description": "Parameters supplied to the create or update nat gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create nat gateway": { + "$ref": "./examples/NatGatewayCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_UpdateTags", + "description": "Updates nat gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "natGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update nat gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NatGateway resource.", + "schema": { + "$ref": "#/definitions/NatGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update nat gateway tags": { + "$ref": "./examples/NatGatewayUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways": { + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_ListAll", + "description": "Gets all the Nat Gateways in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NatGateway resources.", + "schema": { + "$ref": "#/definitions/NatGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all nat gateways": { + "$ref": "./examples/NatGatewayListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways": { + "get": { + "tags": [ + "NatGateways" + ], + "operationId": "NatGateways_List", + "description": "Gets all nat gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NatGateway resources.", + "schema": { + "$ref": "#/definitions/NatGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List nat gateways in resource group": { + "$ref": "./examples/NatGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NatGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Name of Nat Gateway SKU.", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "NatGatewaySkuName", + "modelAsString": true + } + } + }, + "description": "SKU of nat gateway." + }, + "NatGatewayPropertiesFormat": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the nat gateway." + }, + "publicIpAddresses": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of public ip addresses associated with the nat gateway resource." + }, + "publicIpPrefixes": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of public ip prefixes associated with the nat gateway resource." + }, + "subnets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to the subnets using this nat gateway resource." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the NAT gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT gateway resource." + } + }, + "description": "Nat Gateway properties." + }, + "NatGateway": { + "properties": { + "sku": { + "$ref": "#/definitions/NatGatewaySku", + "description": "The nat gateway SKU." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NatGatewayPropertiesFormat", + "description": "Nat Gateway properties." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting the zone in which Nat Gateway should be deployed." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Nat Gateway resource." + }, + "NatGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NatGateway" + }, + "description": "A list of Nat Gateways that exists in a resource group." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for ListNatGateways API service call." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/network.json new file mode 100644 index 000000000000..04d5812fcf07 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/network.json @@ -0,0 +1,335 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ErrorDetails": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "description": "Common error details representation." + }, + "Error": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "description": "Error details." + }, + "innerError": { + "type": "string", + "description": "Inner error message." + } + }, + "description": "Common error representation." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Cloud error body." + } + }, + "description": "An error response from the service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the service." + }, + "AzureAsyncOperationResult": { + "properties": { + "status": { + "type": "string", + "description": "Status of the Azure async operation.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "NetworkOperationStatus", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Details of the error occurred during specified asynchronous operation." + } + }, + "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous operation succeeded, the response body includes the HTTP status code for the successful request. If the asynchronous operation failed, the response body includes the HTTP status code for the failed request and error information regarding the failure." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Common resource representation.", + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ManagedServiceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Access": { + "type": "string", + "description": "Access to be allowed or denied.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "Access", + "modelAsString": true + } + }, + "AuthenticationMethod": { + "type": "string", + "description": "VPN client authentication method.", + "enum": [ + "EAPTLS", + "EAPMSCHAPv2" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "IPAllocationMethod": { + "type": "string", + "description": "IP address allocation method.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "IPVersion": { + "type": "string", + "description": "IP address version.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "ApiVersionVmssParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "2017-03-30" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "description": "Client API version." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkInterface.json new file mode 100644 index 000000000000..afe539372e33 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkInterface.json @@ -0,0 +1,1527 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}": { + "delete": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_Delete", + "description": "Deletes the specified network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete network interface": { + "$ref": "./examples/NetworkInterfaceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_Get", + "description": "Gets information about the specified network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get network interface": { + "$ref": "./examples/NetworkInterfaceGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_CreateOrUpdate", + "description": "Creates or updates a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkInterface" + }, + "description": "Parameters supplied to the create or update network interface operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network interface": { + "$ref": "./examples/NetworkInterfaceCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_UpdateTags", + "description": "Updates a network interface tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network interface tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting NetworkInterface resource.", + "schema": { + "$ref": "#/definitions/NetworkInterface" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update network interface tags": { + "$ref": "./examples/NetworkInterfaceUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListAll", + "description": "Gets all network interfaces in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all network interfaces": { + "$ref": "./examples/NetworkInterfaceListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_List", + "description": "Gets all network interfaces in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network interfaces in resource group": { + "$ref": "./examples/NetworkInterfaceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable": { + "post": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_GetEffectiveRouteTable", + "description": "Gets all route tables applied to a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of EffectRoute resources.", + "schema": { + "$ref": "#/definitions/EffectiveRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Show network interface effective route tables": { + "$ref": "./examples/NetworkInterfaceEffectiveRouteTableList.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups": { + "post": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaces_ListEffectiveNetworkSecurityGroups", + "description": "Gets all network security groups applied to a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkSecurityGroup resources.", + "schema": { + "$ref": "#/definitions/EffectiveNetworkSecurityGroupListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List network interface effective network security groups": { + "$ref": "./examples/NetworkInterfaceEffectiveNSGList.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceIPConfigurations_List", + "description": "Get all ip configurations in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface IPConfiguration resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceIPConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkInterfaceIPConfigurationList": { + "$ref": "./examples/NetworkInterfaceIPConfigurationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceIPConfigurations_Get", + "description": "Gets the specified network interface ip configuration.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "ipConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the ip configuration name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting NetworkInterface IPConfiguration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkInterfaceIPConfigurationGet": { + "$ref": "./examples/NetworkInterfaceIPConfigurationGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceLoadBalancers_List", + "description": "List all load balancers in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface LoadBalancer resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceLoadBalancerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkInterfaceLoadBalancerList": { + "$ref": "./examples/NetworkInterfaceLoadBalancerList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}": { + "delete": { + "tags": [ + "Network Interfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_Delete", + "description": "Deletes the specified tap configuration from the NetworkInterface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete tap configuration": { + "$ref": "./examples/NetworkInterfaceTapConfigurationDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_Get", + "description": "Get the specified tap configuration on a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a tap configuration.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Network Interface Tap Configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "Network Interfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_CreateOrUpdate", + "description": "Creates or updates a Tap configuration in the specified NetworkInterface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "name": "tapConfigurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the tap configuration." + }, + { + "name": "tapConfigurationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + }, + "description": "Parameters supplied to the create or update tap configuration operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Tap Configuration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Tap configuration resource.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Interface Tap Configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations": { + "get": { + "tags": [ + "NetworkInterfaces" + ], + "operationId": "NetworkInterfaceTapConfigurations_List", + "description": "Get all Tap configurations in a network interface.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkInterfaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network interface." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of NetworkInterface TapConfiguration resources.", + "schema": { + "$ref": "#/definitions/NetworkInterfaceTapConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual network tap configurations": { + "$ref": "./examples/NetworkInterfaceTapConfigurationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NetworkInterfaceTapConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceTapConfigurationPropertiesFormat", + "description": "Properties of the Virtual Network Tap configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Sub Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Tap configuration in a Network Interface." + }, + "NetworkInterfaceTapConfigurationPropertiesFormat": { + "properties": { + "virtualNetworkTap": { + "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap", + "description": "The reference to the Virtual Network Tap resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network interface tap configuration resource." + } + }, + "description": "Properties of Virtual Network Tap configuration." + }, + "NetworkInterfaceIPConfigurationPropertiesFormat": { + "properties": { + "virtualNetworkTaps": { + "type": "array", + "items": { + "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap" + }, + "description": "The reference to Virtual Network Taps." + }, + "applicationGatewayBackendAddressPools": { + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "The reference to ApplicationGatewayBackendAddressPool resource." + }, + "loadBalancerBackendAddressPools": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/BackendAddressPool" + }, + "description": "The reference to LoadBalancerBackendAddressPool resource." + }, + "loadBalancerInboundNatRules": { + "type": "array", + "items": { + "$ref": "./loadBalancer.json#/definitions/InboundNatRule" + }, + "description": "A list of references of LoadBalancerInboundNatRules." + }, + "privateIPAddress": { + "type": "string", + "description": "Private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "privateIPAddressVersion": { + "$ref": "./network.json#/definitions/IPVersion", + "description": "Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4." + }, + "subnet": { + "$ref": "./virtualNetwork.json#/definitions/Subnet", + "description": "Subnet bound to the IP configuration." + }, + "primary": { + "type": "boolean", + "description": "Whether this is a primary customer address on the network interface." + }, + "publicIPAddress": { + "$ref": "./publicIpAddress.json#/definitions/PublicIPAddress", + "description": "Public IP address bound to the IP configuration." + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "Application security groups in which the IP configuration is included." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network interface IP configuration." + }, + "privateLinkConnectionProperties": { + "$ref": "#/definitions/NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties", + "description": "PrivateLinkConnection properties for the network interface.", + "readOnly": true + } + }, + "description": "Properties of IP configuration." + }, + "NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties": { + "properties": { + "groupId": { + "type": "string", + "readOnly": true, + "description": "The group ID for current private link connection." + }, + "requiredMemberName": { + "type": "string", + "readOnly": true, + "description": "The required member name for current private link connection." + }, + "fqdns": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "List of FQDNs for current private link connection." + } + }, + "description": "PrivateLinkConnection properties for the network interface." + }, + "NetworkInterfaceIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceIPConfigurationPropertiesFormat", + "description": "Network interface IP configuration properties." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "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." + }, + "enableAcceleratedNetworking": { + "type": "boolean", + "description": "If the network interface is accelerated networking enabled." + }, + "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." + } + }, + "description": "NetworkInterface properties." + }, + "NetworkInterface": { + "properties": { + "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": { + "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." + }, + "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/2020-06-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkProfile.json new file mode 100644 index 000000000000..4b7cf8911c1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkSecurityGroup.json new file mode 100644 index 000000000000..0222cb72de7d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkSecurityGroup.json @@ -0,0 +1,982 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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", + "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." + } + }, + "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": { + "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/2020-06-01/networkVirtualAppliance.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json new file mode 100644 index 000000000000..b7ad4a5a71ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json @@ -0,0 +1,1170 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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." + }, + "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.", + "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" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances": { + "get": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_ListByResourceGroup", + "description": "Lists all Network Virtual Appliances in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliance for a given resource group": { + "$ref": "./examples/NetworkVirtualApplianceListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualAppliances": { + "get": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_List", + "description": "Gets all Network Virtual Appliances in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliances for a given subscription": { + "$ref": "./examples/NetworkVirtualApplianceListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites/{siteName}": { + "delete": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_Delete", + "description": "Deletes the specified site from a Virtual Appliance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Network Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSiteDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_Get", + "description": "Gets the specified Virtual Appliance Site.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetNetwork Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSiteGet.json" + } + } + }, + "put": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance Site.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the site." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance Site operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance Site resource.", + "schema": { + "$ref": "#/definitions/VirtualApplianceSite" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Virtual Appliance Site": { + "$ref": "./examples/NetworkVirtualApplianceSitePut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/virtualApplianceSites": { + "get": { + "tags": [ + "VirtualApplianceSites" + ], + "operationId": "VirtualApplianceSites_List", + "description": "Lists all Network Virtual Appliance Sites in a Network Virtual Appliance resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Network Virtual Appliance site resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSiteListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Network Virtual Appliance sites for a given Network Virtual Appliance": { + "$ref": "./examples/NetworkVirtualApplianceSiteList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualApplianceSkus": { + "get": { + "tags": [ + "VirtualApplianceSkus" + ], + "operationId": "VirtualApplianceSkus_List", + "description": "List all SKUs available for a virtual appliance.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the list of all virtual appliance skus.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkVirtualApplianceSkuListResult": { + "$ref": "./examples/NetworkVirtualApplianceSkuList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualApplianceSkus/{skuName}": { + "get": { + "tags": [ + "VirtualApplianceSkus" + ], + "operationId": "VirtualApplianceSkus_Get", + "description": "Retrieves a single available sku for network virtual appliance.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Sku." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested NetworkVirtualAppliance sku information.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceSku" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkVirtualApplianceSkuGet": { + "$ref": "./examples/NetworkVirtualApplianceSkuGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/inboundSecurityRules/{ruleCollectionName}": { + "put": { + "operationId": "InboundSecurityRule_CreateOrUpdate", + "description": "Creates or updates the specified Network Virtual Appliance Inbound Security Rules.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkVirtualApplianceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Virtual Appliance." + }, + { + "name": "ruleCollectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of security rule collection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + }, + "description": "Parameters supplied to the create or update Network Virtual Appliance Inbound Security Rules operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Network Virtual Appliance Inbound Security Rules resource.", + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + } + }, + "201": { + "description": "Request received successfully. The operation returns the resulting Network Virtual Appliance Inbound Security Rules resource.", + "schema": { + "$ref": "#/definitions/InboundSecurityRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Network Virtual Appliance Inbound Security Rules": { + "$ref": "./examples/InboundSecurityRulePut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "NetworkVirtualAppliance": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualAppliancePropertiesFormat", + "description": "Properties of the Network Virtual Appliance." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The service principal that has read access to cloud-init and config blob." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "NetworkVirtualAppliance Resource." + }, + "NetworkVirtualAppliancePropertiesFormat": { + "properties": { + "nvaSku": { + "readOnly": false, + "description": "Network Virtual Appliance SKU.", + "$ref": "#/definitions/VirtualApplianceSkuProperties" + }, + "addressPrefix": { + "type": "string", + "readOnly": true, + "description": "Address Prefix." + }, + "bootStrapConfigurationBlobs": { + "type": "array", + "readOnly": false, + "description": "BootStrapConfigurationBlobs storage URLs.", + "items": { + "type": "string" + } + }, + "virtualHub": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The Virtual Hub where Network Virtual Appliance is being deployed." + }, + "cloudInitConfigurationBlobs": { + "type": "array", + "readOnly": false, + "description": "CloudInitConfigurationBlob storage URLs.", + "items": { + "type": "string" + } + }, + "cloudInitConfiguration": { + "type": "string", + "readOnly": false, + "description": "CloudInitConfiguration string in plain text." + }, + "virtualApplianceAsn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "VirtualAppliance ASN." + }, + "virtualApplianceNics": { + "type": "array", + "readOnly": true, + "description": "List of Virtual Appliance Network Interfaces.", + "items": { + "$ref": "#/definitions/VirtualApplianceNicProperties" + } + }, + "virtualApplianceSites": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualApplianceSite.", + "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" + } + }, + "description": "Network Virtual Appliance definition." + }, + "VirtualApplianceSkuProperties": { + "properties": { + "vendor": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Vendor." + }, + "bundledScaleUnit": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Scale Unit." + }, + "marketPlaceVersion": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Version." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "VirtualApplianceNicProperties": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "NIC name." + }, + "publicIpAddress": { + "type": "string", + "readOnly": true, + "description": "Public IP address." + }, + "privateIpAddress": { + "type": "string", + "readOnly": true, + "description": "Private IP address." + } + }, + "description": "Network Virtual Appliance NIC properties." + }, + "VirtualApplianceSite": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualApplianceSiteProperties", + "description": "The properties of the Virtual Appliance Sites." + }, + "name": { + "type": "string", + "description": "Name of the virtual appliance site." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Site type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Appliance Site resource." + }, + "VirtualApplianceSiteProperties": { + "properties": { + "addressPrefix": { + "type": "string", + "readOnly": false, + "description": "Address Prefix." + }, + "o365Policy": { + "readOnly": false, + "description": "Office 365 Policy.", + "$ref": "#/definitions/Office365PolicyProperties" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the rule group." + }, + "Office365PolicyProperties": { + "properties": { + "breakOutCategories": { + "readOnly": false, + "description": "Office 365 breakout categories.", + "$ref": "#/definitions/BreakOutCategoryPolicies" + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "BreakOutCategoryPolicies": { + "properties": { + "allow": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 allow category." + }, + "optimize": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 optimize category." + }, + "default": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 default category." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "NetworkVirtualApplianceSku": { + "title": "Available NetworkVirtualApplianceSkus", + "description": "Definition of the NetworkVirtualApplianceSkus resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualApplianceSkuPropertiesFormat", + "description": "NetworkVirtualApplianceSku properties." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "NetworkVirtualApplianceSkuPropertiesFormat": { + "title": "Network Virtual Appliance Sku Properties", + "description": "Properties specific to NetworkVirtualApplianceSkus.", + "properties": { + "vendor": { + "type": "string", + "readOnly": true, + "description": "Network Virtual Appliance Sku vendor." + }, + "availableVersions": { + "type": "array", + "readOnly": true, + "description": "Available Network Virtual Appliance versions.", + "items": { + "type": "string" + } + }, + "availableScaleUnits": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceSkuInstances" + }, + "description": "The list of scale units available." + } + } + }, + "NetworkVirtualApplianceSkuInstances": { + "title": "Network Virtual Appliance Sku Instances", + "description": "List of available Sku and instances.", + "properties": { + "scaleUnit": { + "type": "string", + "readOnly": true, + "description": "Scale Unit." + }, + "instanceCount": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Instance Count." + } + } + }, + "NetworkVirtualApplianceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualAppliance" + }, + "description": "List of Network Virtual Appliances." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualAppliances API service call." + }, + "NetworkVirtualApplianceSiteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualApplianceSite" + }, + "description": "List of Network Virtual Appliance sites." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualApplianceSites API service call." + }, + "NetworkVirtualApplianceSkuListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceSku" + }, + "description": "List of Network Virtual Appliance Skus that are available." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualApplianceSkus API service call." + }, + "InboundSecurityRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundSecurityRuleProperties", + "description": "The properties of the Inbound Security Rules." + }, + "name": { + "type": "string", + "description": "Name of security rule collection." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "NVA inbound security rule type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NVA Inbound Security Rule resource." + }, + "InboundSecurityRuleProperties": { + "properties": { + "rules": { + "type": "array", + "readOnly": false, + "description": "List of allowed rules.", + "items": { + "$ref": "#/definitions/InboundSecurityRules" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the Inbound Security Rules resource." + }, + "InboundSecurityRules": { + "properties": { + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "InboundSecurityRulesProtocol", + "modelAsString": true + }, + "description": "Protocol. This should be either TCP or UDP." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "The CIDR or source IP range. Only /30, /31 and /32 Ip ranges are allowed." + }, + "destinationPortRange": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "NVA port ranges to be opened up. One needs to provide specific ports." + } + }, + "description": "Properties of the Inbound Security Rules resource." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkWatcher.json new file mode 100644 index 000000000000..42eafe935f3b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/networkWatcher.json @@ -0,0 +1,4671 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting network watcher resource.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create connection monitor V1": { + "$ref": "./examples/NetworkWatcherConnectionMonitorCreate.json" + }, + "Create connection monitor V2": { + "$ref": "./examples/NetworkWatcherConnectionMonitorV2Create.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Get", + "description": "Gets a connection monitor by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a connection monitor.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorGet.json" + } + } + }, + "delete": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Delete", + "description": "Deletes the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_UpdateTags", + "description": "Update tags of the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update connection monitor tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns updated connection monitor.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update connection monitor tags": { + "$ref": "./examples/NetworkWatcherConnectionMonitorUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Stop", + "description": "Stops the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation stops the connection monitor." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorStop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Start", + "description": "Starts the specified connection monitor.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation starts the connection monitor." + }, + "202": { + "description": "Accepted. The operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Start connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorStart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query": { + "post": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_Query", + "description": "Query a snapshot of the most recent connection states.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "name": "connectionMonitorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name given to the connection monitor." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful query of connection states.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorQueryResult" + } + }, + "202": { + "description": "Accepted query of connection states.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorQueryResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Query connection monitor": { + "$ref": "./examples/NetworkWatcherConnectionMonitorQuery.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors": { + "get": { + "tags": [ + "ConnectionMonitors" + ], + "operationId": "ConnectionMonitors_List", + "description": "Lists all connection monitors for the specified Network Watcher.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful connection monitor enumeration request.", + "schema": { + "$ref": "#/definitions/ConnectionMonitorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "List connection monitors": { + "$ref": "./examples/NetworkWatcherConnectionMonitorList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs/{flowLogName}": { + "put": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_CreateOrUpdate", + "description": "Create or update a flow log for the specified network security group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FlowLog" + }, + "description": "Parameters that define the create or update flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update flow log": { + "$ref": "./examples/NetworkWatcherFlowLogCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_UpdateTags", + "description": "Update tags of the specified flow log.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update flow log tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns updated flow log.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update flow log tags": { + "$ref": "./examples/NetworkWatcherFlowLogUpdateTags.json" + } + } + }, + "get": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_Get", + "description": "Gets a flow log resource by name.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a flow log resource.", + "schema": { + "$ref": "#/definitions/FlowLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get flow log": { + "$ref": "./examples/NetworkWatcherFlowLogGet.json" + } + } + }, + "delete": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_Delete", + "description": "Deletes the specified flow log resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network watcher." + }, + { + "name": "flowLogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the flow log resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete flow log": { + "$ref": "./examples/NetworkWatcherFlowLogDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/flowLogs": { + "get": { + "tags": [ + "FlowLogs" + ], + "operationId": "FlowLogs_List", + "description": "Lists all flow log resources for the specified Network Watcher.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing Network Watcher." + }, + { + "name": "networkWatcherName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Network Watcher resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful flow log enumeration request.", + "schema": { + "$ref": "#/definitions/FlowLogListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List connection monitors": { + "$ref": "./examples/NetworkWatcherFlowLogList.json" + } + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "The error object.", + "properties": { + "error": { + "title": "Error", + "$ref": "./network.json#/definitions/ErrorDetails", + "description": "The error details object." + } + } + }, + "NetworkWatcher": { + "properties": { + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkWatcherPropertiesFormat", + "description": "Properties of the network watcher." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Network watcher in a resource group." + }, + "NetworkWatcherPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network watcher resource." + } + }, + "description": "The network watcher properties." + }, + "NetworkWatcherListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkWatcher" + }, + "description": "List of network watcher resources." + } + }, + "description": "Response for ListNetworkWatchers API service call." + }, + "TopologyParameters": { + "properties": { + "targetResourceGroupName": { + "type": "string", + "description": "The name of the target resource group to perform topology on." + }, + "targetVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Virtual Network resource." + }, + "targetSubnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the Subnet resource." + } + }, + "description": "Parameters that define the representation of topology." + }, + "Topology": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "GUID representing the operation id." + }, + "createdDateTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The datetime when the topology was initially created for the resource group." + }, + "lastModified": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The datetime when the topology was last modified." + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/TopologyResource" + }, + "description": "A list of topology resources." + } + }, + "description": "Topology of the specified resource group." + }, + "TopologyResource": { + "properties": { + "name": { + "type": "string", + "description": "Name of the resource." + }, + "id": { + "type": "string", + "description": "ID of the resource." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "associations": { + "type": "array", + "description": "Holds the associations the resource has with other resources in the resource group.", + "items": { + "$ref": "#/definitions/TopologyAssociation" + } + } + }, + "description": "The network resource topology information for the given resource group." + }, + "TopologyAssociation": { + "properties": { + "name": { + "type": "string", + "description": "The name of the resource that is associated with the parent resource." + }, + "resourceId": { + "type": "string", + "description": "The ID of the resource that is associated with the parent resource." + }, + "associationType": { + "type": "string", + "enum": [ + "Associated", + "Contains" + ], + "x-ms-enum": { + "name": "AssociationType", + "modelAsString": true + }, + "description": "The association type of the child resource to the parent resource." + } + }, + "description": "Resources that have an association with the parent resource." + }, + "VerificationIPFlowParameters": { + "description": "Parameters that define the IP flow to be verified.", + "required": [ + "targetResourceId", + "direction", + "protocol", + "localPort", + "remotePort", + "localIPAddress", + "remoteIPAddress" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The ID of the target resource to perform next-hop on." + }, + "direction": { + "$ref": "#/definitions/Direction", + "description": "The direction of the packet represented as a 5-tuple." + }, + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "IpFlowProtocol", + "modelAsString": true + }, + "description": "Protocol to be verified on." + }, + "localPort": { + "type": "string", + "description": "The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction." + }, + "remotePort": { + "type": "string", + "description": "The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction." + }, + "localIPAddress": { + "type": "string", + "description": "The local IP address. Acceptable values are valid IPv4 addresses." + }, + "remoteIPAddress": { + "type": "string", + "description": "The remote IP address. Acceptable values are valid IPv4 addresses." + }, + "targetNicResourceId": { + "type": "string", + "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional)." + } + } + }, + "VerificationIPFlowResult": { + "description": "Results of IP flow verification on the target resource.", + "properties": { + "access": { + "$ref": "./network.json#/definitions/Access", + "description": "Indicates whether the traffic is allowed or denied." + }, + "ruleName": { + "type": "string", + "description": "Name of the rule. If input is not matched against any security rule, it is not displayed." + } + } + }, + "NextHopParameters": { + "description": "Parameters that define the source and destination endpoint.", + "required": [ + "targetResourceId", + "sourceIPAddress", + "destinationIPAddress" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "The resource identifier of the target resource against which the action is to be performed." + }, + "sourceIPAddress": { + "type": "string", + "description": "The source IP address." + }, + "destinationIPAddress": { + "type": "string", + "description": "The destination IP address." + }, + "targetNicResourceId": { + "type": "string", + "description": "The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional)." + } + } + }, + "NextHopResult": { + "description": "The information about next hop from the specified VM.", + "properties": { + "nextHopType": { + "type": "string", + "enum": [ + "Internet", + "VirtualAppliance", + "VirtualNetworkGateway", + "VnetLocal", + "HyperNetGateway", + "None" + ], + "x-ms-enum": { + "name": "NextHopType", + "modelAsString": true + }, + "description": "Next hop type." + }, + "nextHopIpAddress": { + "type": "string", + "description": "Next hop IP Address." + }, + "routeTableId": { + "type": "string", + "description": "The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created routes then this field will be the string 'System Route'." + } + } + }, + "SecurityGroupViewParameters": { + "description": "Parameters that define the VM to check security groups for.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "type": "string", + "description": "ID of the target VM." + } + } + }, + "SecurityGroupViewResult": { + "description": "The information about security rules applied to the specified VM.", + "properties": { + "networkInterfaces": { + "type": "array", + "description": "List of network interfaces on the specified VM.", + "items": { + "$ref": "#/definitions/SecurityGroupNetworkInterface" + } + } + } + }, + "SecurityGroupNetworkInterface": { + "description": "Network interface and all its associated security rules.", + "properties": { + "id": { + "type": "string", + "description": "ID of the network interface." + }, + "securityRuleAssociations": { + "$ref": "#/definitions/SecurityRuleAssociations", + "description": "All security rules associated with the network interface." + } + } + }, + "SecurityRuleAssociations": { + "description": "All security rules associated with the network interface.", + "properties": { + "networkInterfaceAssociation": { + "$ref": "#/definitions/NetworkInterfaceAssociation", + "description": "Network interface and it's custom security rules." + }, + "subnetAssociation": { + "$ref": "#/definitions/SubnetAssociation", + "description": "Subnet and it's custom security rules." + }, + "defaultSecurityRules": { + "type": "array", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + }, + "description": "Collection of default security rules of the network security group." + }, + "effectiveSecurityRules": { + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/EffectiveNetworkSecurityRule" + }, + "description": "Collection of effective security rules." + } + } + }, + "NetworkInterfaceAssociation": { + "description": "Network interface and its custom security rules.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Network interface ID." + }, + "securityRules": { + "type": "array", + "description": "Collection of custom security rules.", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + } + } + } + }, + "SubnetAssociation": { + "description": "Subnet and it's custom security rules.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Subnet ID." + }, + "securityRules": { + "type": "array", + "description": "Collection of custom security rules.", + "items": { + "$ref": "./networkSecurityGroup.json#/definitions/SecurityRule" + } + } + } + }, + "PacketCapture": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCaptureParameters", + "description": "Properties of the packet capture." + } + }, + "required": [ + "properties" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureParameters": { + "properties": { + "target": { + "type": "string", + "description": "The ID of the targeted resource, only VM is currently supported." + }, + "bytesToCapturePerPacket": { + "type": "integer", + "default": 0, + "description": "Number of bytes captured per packet, the remaining bytes are truncated." + }, + "totalBytesPerSession": { + "type": "integer", + "default": 1073741824, + "description": "Maximum size of the capture output." + }, + "timeLimitInSeconds": { + "type": "integer", + "default": 18000, + "description": "Maximum duration of the capture session in seconds." + }, + "storageLocation": { + "$ref": "#/definitions/PacketCaptureStorageLocation", + "description": "The storage location for a packet capture session." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureFilter" + }, + "description": "A list of packet capture filters." + } + }, + "required": [ + "target", + "storageLocation" + ], + "description": "Parameters that define the create packet capture operation." + }, + "PacketCaptureStorageLocation": { + "properties": { + "storageId": { + "type": "string", + "description": "The ID of the storage account to save the packet capture session. Required if no local file path is provided." + }, + "storagePath": { + "type": "string", + "description": "The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture." + }, + "filePath": { + "type": "string", + "description": "A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional." + } + }, + "description": "The storage location for a packet capture session." + }, + "PacketCaptureFilter": { + "properties": { + "protocol": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "Any" + ], + "x-ms-enum": { + "name": "PcProtocol", + "modelAsString": true + }, + "default": "Any", + "description": "Protocol to be filtered on." + }, + "localIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5\"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remoteIPAddress": { + "type": "string", + "description": "Local IP Address to be filtered on. Notation: \"127.0.0.1\" for single address entry. \"127.0.0.1-127.0.0.255\" for range. \"127.0.0.1;127.0.0.5;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "localPort": { + "type": "string", + "description": "Local port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + }, + "remotePort": { + "type": "string", + "description": "Remote port to be filtered on. Notation: \"80\" for single port entry.\"80-85\" for range. \"80;443;\" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null." + } + }, + "description": "Filter that is applied to packet capture request. Multiple filters can be applied." + }, + "PacketCaptureListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCaptureResult" + }, + "description": "Information about packet capture sessions." + } + }, + "description": "List of packet capture sessions." + }, + "PacketCaptureResult": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the packet capture session." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "ID of the packet capture operation." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCaptureResultProperties", + "description": "Properties of the packet capture result." + } + }, + "description": "Information about packet capture session." + }, + "PacketCaptureResultProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the packet capture session." + } + }, + "allOf": [ + { + "$ref": "#/definitions/PacketCaptureParameters" + } + ], + "description": "The properties of a packet capture session." + }, + "PacketCaptureQueryStatusResult": { + "properties": { + "name": { + "type": "string", + "description": "The name of the packet capture resource." + }, + "id": { + "type": "string", + "description": "The ID of the packet capture resource." + }, + "captureStartTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the packet capture session." + }, + "packetCaptureStatus": { + "type": "string", + "enum": [ + "NotStarted", + "Running", + "Stopped", + "Error", + "Unknown" + ], + "x-ms-enum": { + "name": "PcStatus", + "modelAsString": true + }, + "description": "The status of the packet capture session." + }, + "stopReason": { + "type": "string", + "description": "The reason the current packet capture session was stopped." + }, + "packetCaptureError": { + "type": "array", + "description": "List of errors of packet capture session.", + "items": { + "type": "string", + "enum": [ + "InternalError", + "AgentStopped", + "CaptureFailed", + "LocalFileFailed", + "StorageFailed" + ], + "x-ms-enum": { + "name": "PcError", + "modelAsString": true + } + } + } + }, + "description": "Status of packet capture session." + }, + "TroubleshootingParameters": { + "description": "Parameters that define the resource to troubleshoot.", + "required": [ + "targetResourceId", + "properties" + ], + "properties": { + "targetResourceId": { + "description": "The target resource to troubleshoot.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TroubleshootingProperties", + "description": "Properties of the troubleshooting resource." + } + } + }, + "QueryTroubleshootingParameters": { + "description": "Parameters that define the resource to query the troubleshooting result.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "description": "The target resource ID to query the troubleshooting result.", + "type": "string" + } + } + }, + "TroubleshootingProperties": { + "description": "Storage location provided for troubleshoot.", + "required": [ + "storageId", + "storagePath" + ], + "properties": { + "storageId": { + "description": "The ID for the storage account to save the troubleshoot result.", + "type": "string" + }, + "storagePath": { + "description": "The path to the blob to save the troubleshoot result in.", + "type": "string" + } + } + }, + "TroubleshootingResult": { + "description": "Troubleshooting information gained from specified resource.", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the troubleshooting." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the troubleshooting." + }, + "code": { + "type": "string", + "description": "The result code of the troubleshooting." + }, + "results": { + "type": "array", + "description": "Information from troubleshooting.", + "items": { + "$ref": "#/definitions/TroubleshootingDetails" + } + } + } + }, + "TroubleshootingDetails": { + "description": "Information gained from troubleshooting of specified resource.", + "properties": { + "id": { + "type": "string", + "description": "The id of the get troubleshoot operation." + }, + "reasonType": { + "type": "string", + "description": "Reason type of failure." + }, + "summary": { + "type": "string", + "description": "A summary of troubleshooting." + }, + "detail": { + "type": "string", + "description": "Details on troubleshooting results." + }, + "recommendedActions": { + "type": "array", + "description": "List of recommended actions.", + "items": { + "$ref": "#/definitions/TroubleshootingRecommendedActions" + } + } + } + }, + "TroubleshootingRecommendedActions": { + "description": "Recommended actions based on discovered issues.", + "properties": { + "actionId": { + "description": "ID of the recommended action.", + "type": "string" + }, + "actionText": { + "description": "Description of recommended actions.", + "type": "string" + }, + "actionUri": { + "description": "The uri linking to a documentation for the recommended troubleshooting actions.", + "type": "string" + }, + "actionUriText": { + "description": "The information from the URI for the recommended troubleshooting actions.", + "type": "string" + } + } + }, + "FlowLogListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FlowLog" + }, + "description": "Information about flow log resource." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "List of flow logs." + }, + "FlowLog": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowLogPropertiesFormat", + "description": "Properties of the flow log." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A flow log resource." + }, + "FlowLogPropertiesFormat": { + "description": "Parameters that define the configuration of flow log.", + "required": [ + "targetResourceId", + "storageId" + ], + "properties": { + "targetResourceId": { + "description": "ID of network security group to which flow log will be applied.", + "type": "string" + }, + "targetResourceGuid": { + "readOnly": true, + "description": "Guid of network security group to which flow log will be applied.", + "type": "string" + }, + "storageId": { + "description": "ID of the storage account which is used to store the flow log.", + "type": "string" + }, + "enabled": { + "description": "Flag to enable/disable flow logging.", + "type": "boolean" + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicyParameters", + "description": "Parameters that define the retention policy for flow log." + }, + "format": { + "$ref": "#/definitions/FlowLogFormatParameters", + "description": "Parameters that define the flow log format." + }, + "flowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsProperties", + "description": "Parameters that define the configuration of traffic analytics." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the flow log." + } + } + }, + "FlowLogProperties": { + "description": "Parameters that define the configuration of flow log.", + "required": [ + "storageId", + "enabled" + ], + "properties": { + "storageId": { + "description": "ID of the storage account which is used to store the flow log.", + "type": "string" + }, + "enabled": { + "description": "Flag to enable/disable flow logging.", + "type": "boolean" + }, + "retentionPolicy": { + "$ref": "#/definitions/RetentionPolicyParameters", + "description": "Parameters that define the retention policy for flow log." + }, + "format": { + "$ref": "#/definitions/FlowLogFormatParameters", + "description": "Parameters that define the flow log format." + } + } + }, + "FlowLogStatusParameters": { + "description": "Parameters that define a resource to query flow log and traffic analytics (optional) status.", + "required": [ + "targetResourceId" + ], + "properties": { + "targetResourceId": { + "description": "The target resource where getting the flow log and traffic analytics (optional) status.", + "type": "string" + } + } + }, + "RetentionPolicyParameters": { + "description": "Parameters that define the retention policy for flow log.", + "properties": { + "days": { + "description": "Number of days to retain flow log records.", + "type": "integer", + "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", + "default": 0 + } + } + }, + "FlowLogInformation": { + "description": "Information on the configuration of flow log and traffic analytics (optional) .", + "required": [ + "targetResourceId", + "properties" + ], + "properties": { + "targetResourceId": { + "description": "The ID of the resource to configure for flow log and traffic analytics (optional) .", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/FlowLogProperties", + "description": "Properties of the flow log." + }, + "flowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsProperties", + "description": "Parameters that define the configuration of traffic analytics." + } + } + }, + "TrafficAnalyticsProperties": { + "description": "Parameters that define the configuration of traffic analytics.", + "properties": { + "networkWatcherFlowAnalyticsConfiguration": { + "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties", + "description": "Parameters that define the configuration of traffic analytics." + } + } + }, + "TrafficAnalyticsConfigurationProperties": { + "description": "Parameters that define the configuration of traffic analytics.", + "properties": { + "enabled": { + "description": "Flag to enable/disable traffic analytics.", + "type": "boolean" + }, + "workspaceId": { + "description": "The resource guid of the attached workspace.", + "type": "string" + }, + "workspaceRegion": { + "description": "The location of the attached workspace.", + "type": "string" + }, + "workspaceResourceId": { + "description": "Resource Id of the attached workspace.", + "type": "string" + }, + "trafficAnalyticsInterval": { + "description": "The interval in minutes which would decide how frequently TA service should do flow analytics.", + "type": "integer" + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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" + }, + "minLatencyInMs": { + "description": "Minimum latency in milliseconds.", + "readOnly": true, + "type": "integer" + }, + "maxLatencyInMs": { + "description": "Maximum latency in milliseconds.", + "readOnly": true, + "type": "integer" + }, + "probesSent": { + "description": "Total number of probes sent.", + "readOnly": true, + "type": "integer" + }, + "probesFailed": { + "description": "Number of failed probes.", + "readOnly": true, + "type": "integer" + } + } + }, + "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" + }, + "roundTripTimeAvg": { + "description": "Average roundtrip time in milliseconds.", + "readOnly": true, + "type": "integer" + }, + "roundTripTimeMax": { + "description": "Maximum roundtrip time in milliseconds.", + "readOnly": true, + "type": "integer" + } + } + }, + "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" + }, + "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", + "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", + "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", + "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", + "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" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + }, + "description": "The endpoint type." + }, + "resourceId": { + "type": "string", + "description": "Resource ID of the connection monitor endpoint." + }, + "address": { + "type": "string", + "description": "Address of the connection monitor endpoint (IP or domain name)." + }, + "filter": { + "$ref": "#/definitions/ConnectionMonitorEndpointFilter", + "description": "Filter for sub-items within the endpoint." + }, + "scope": { + "$ref": "#/definitions/ConnectionMonitorEndpointScope", + "description": "Endpoint scope." + }, + "coverageLevel": { + "type": "string", + "enum": [ + "Default", + "Low", + "BelowAverage", + "Average", + "AboveAverage", + "Full" + ], + "x-ms-enum": { + "name": "CoverageLevel", + "modelAsString": true + }, + "description": "Test coverage for the endpoint." + } + }, + "required": [ + "name" + ], + "description": "Describes the connection monitor endpoint." + }, + "ConnectionMonitorEndpointScope": { + "properties": { + "include": { + "type": "array", + "description": "List of items which needs to be included to the endpoint scope.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointScopeItem" + } + }, + "exclude": { + "type": "array", + "description": "List of items which needs to be excluded from the endpoint scope.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointScopeItem" + } + } + }, + "description": "Describes the connection monitor endpoint scope." + }, + "ConnectionMonitorEndpointScopeItem": { + "properties": { + "address": { + "type": "string", + "description": "The address of the endpoint item. Supported types are IPv4/IPv6 subnet mask or IPv4/IPv6 IP address." + } + }, + "description": "Describes the connection monitor endpoint scope item." + }, + "ConnectionMonitorEndpointFilter": { + "properties": { + "type": { + "type": "string", + "enum": [ + "Include" + ], + "x-ms-enum": { + "name": "ConnectionMonitorEndpointFilterType", + "modelAsString": true + }, + "description": "The behavior of the endpoint filter. Currently only 'Include' is supported." + }, + "items": { + "type": "array", + "description": "List of items in the filter.", + "items": { + "$ref": "#/definitions/ConnectionMonitorEndpointFilterItem" + } + } + }, + "description": "Describes the connection monitor endpoint filter." + }, + "ConnectionMonitorEndpointFilterItem": { + "properties": { + "type": { + "type": "string", + "enum": [ + "AgentAddress" + ], + "x-ms-enum": { + "name": "ConnectionMonitorEndpointFilterItemType", + "modelAsString": true + }, + "description": "The type of item included in the filter. Currently only 'AgentAddress' is supported." + }, + "address": { + "type": "string", + "description": "The address of the filter item." + } + }, + "description": "Describes the connection monitor endpoint filter item." + }, + "ConnectionMonitorTestGroup": { + "properties": { + "name": { + "type": "string", + "description": "The name of the connection monitor test group." + }, + "disable": { + "type": "boolean", + "description": "Value indicating whether test group is disabled." + }, + "testConfigurations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of test configuration names." + }, + "sources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of source endpoint names." + }, + "destinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of destination endpoint names." + } + }, + "required": [ + "name", + "testConfigurations", + "sources", + "destinations" + ], + "description": "Describes the connection monitor test group." + }, + "ConnectionMonitorTestConfiguration": { + "properties": { + "name": { + "type": "string", + "description": "The name of the connection monitor test configuration." + }, + "testFrequencySec": { + "type": "integer", + "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", + "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", + "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", + "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", + "description": "Average latency in ms." + }, + "minLatencyInMs": { + "type": "integer", + "description": "Minimum latency in ms." + }, + "maxLatencyInMs": { + "type": "integer", + "description": "Maximum latency in ms." + }, + "probesSent": { + "type": "integer", + "description": "The number of sent probes." + }, + "probesFailed": { + "type": "integer", + "description": "The number of failed probes." + }, + "hops": { + "readOnly": true, + "type": "array", + "description": "List of hops between the source and the destination.", + "items": { + "$ref": "./networkWatcher.json#/definitions/ConnectivityHop" + } + } + }, + "description": "Connection state snapshot." + }, + "ConnectionMonitorListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorResult" + }, + "description": "Information about connection monitors." + } + }, + "description": "List of connection monitors." + }, + "ConnectionMonitorResult": { + "x-ms-azure-resource": true, + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the connection monitor." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "ID of the connection monitor." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Connection monitor type." + }, + "location": { + "type": "string", + "description": "Connection monitor location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Connection monitor tags." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectionMonitorResultProperties", + "description": "Properties of the connection monitor result." + } + }, + "description": "Information about the connection monitor." + }, + "ConnectionMonitorResultProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the connection monitor." + }, + "startTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The date and time when the connection monitor was started." + }, + "monitoringStatus": { + "readOnly": true, + "type": "string", + "description": "The monitoring status of the connection monitor." + }, + "connectionMonitorType": { + "readOnly": true, + "type": "string", + "enum": [ + "MultiEndpoint", + "SingleSourceDestination" + ], + "x-ms-enum": { + "name": "ConnectionMonitorType", + "modelAsString": true + }, + "description": "Type of connection monitor." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionMonitorParameters" + } + ], + "description": "Describes the properties of a connection monitor." + }, + "ConnectionMonitorQueryResult": { + "properties": { + "sourceStatus": { + "type": "string", + "enum": [ + "Unknown", + "Active", + "Inactive" + ], + "x-ms-enum": { + "name": "ConnectionMonitorSourceStatus", + "modelAsString": true + }, + "description": "Status of connection monitor source." + }, + "states": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionStateSnapshot" + }, + "description": "Information about connection states." + } + }, + "description": "List of connection states snapshots." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/operation.json new file mode 100644 index 000000000000..60f4b0560f6f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.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/2020-06-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/privateEndpoint.json new file mode 100644 index 000000000000..1434aee0a906 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/privateEndpoint.json @@ -0,0 +1,963 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + } + }, + "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" + } + } + } + }, + "/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": { + "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." + } + }, + "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." + } + }, + "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." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/privateLinkService.json new file mode 100644 index 000000000000..3149dd2890f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/privateLinkService.json @@ -0,0 +1,1082 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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": { + "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." + } + }, + "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/2020-06-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/publicIpAddress.json new file mode 100644 index 000000000000..b0acc84ec274 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/publicIpAddress.json @@ -0,0 +1,545 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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 subnet." + }, + { + "$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 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 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 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" + } + }, + "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" + } + } + } + }, + "definitions": { + "PublicIPAddressSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of a public IP address SKU.", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "PublicIPAddressSkuName", + "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." + } + }, + "description": "Public IP address properties." + }, + "PublicIPAddress": { + "properties": { + "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." + }, + "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": { + "ddosCustomPolicy": { + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource", + "description": "The DDoS custom policy associated with the public IP." + }, + "protectionCoverage": { + "readOnly": false, + "type": "string", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "DdosSettingsProtectionCoverage", + "modelAsString": true + }, + "description": "The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized." + }, + "protectedIP": { + "readOnly": false, + "type": "boolean", + "description": "Enables DDoS protection on the public IP." + } + }, + "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." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/publicIpPrefix.json new file mode 100644 index 000000000000..2dff5afd9e47 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/publicIpPrefix.json @@ -0,0 +1,489 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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 + } + } + }, + "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." + } + }, + "description": "Public IP prefix properties." + }, + "PublicIPPrefix": { + "properties": { + "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/2020-06-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/routeFilter.json new file mode 100644 index 000000000000..b3c63060117a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/routeTable.json new file mode 100644 index 000000000000..01b5407c2297 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/routeTable.json @@ -0,0 +1,755 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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." + } + }, + "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." + } + }, + "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." + } + }, + "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/2020-06-01/securityPartnerProvider.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/securityPartnerProvider.json new file mode 100644 index 000000000000..9909a91c0d04 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/serviceCommunity.json new file mode 100644 index 000000000000..8bb2e36ad97c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/serviceEndpointPolicy.json new file mode 100644 index 000000000000..4726c7b2a43f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/serviceEndpointPolicy.json @@ -0,0 +1,742 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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." + } + }, + "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." + } + }, + "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." + } + }, + "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/2020-06-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/serviceTags.json new file mode 100644 index 000000000000..e9319f5ee499 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/serviceTags.json @@ -0,0 +1,166 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + } + } + } + }, + "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." + } + }, + "description": "Response for the ListServiceTags API service call." + }, + "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." + } + }, + "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." + } + }, + "description": "Properties of the service tag information." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/usage.json new file mode 100644 index 000000000000..763e7071476d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualNetwork.json new file mode 100644 index 000000000000..4b7212f07230 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualNetwork.json @@ -0,0 +1,1970 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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" + } + } + }, + "patch": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_UpdateTags", + "description": "Updates a virtual network tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetwork resource.", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update virtual network tags": { + "$ref": "./examples/VirtualNetworkUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_ListAll", + "description": "Gets all virtual networks in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetwork resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all virtual networks": { + "$ref": "./examples/VirtualNetworkListAll.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "operationId": "VirtualNetworks_List", + "description": "Gets all virtual networks in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetwork resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List virtual networks in resource group": { + "$ref": "./examples/VirtualNetworkList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}": { + "delete": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_Delete", + "description": "Deletes the specified subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete subnet": { + "$ref": "./examples/SubnetDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_Get", + "description": "Gets the specified subnet by virtual network and resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get subnet": { + "$ref": "./examples/SubnetGet.json" + }, + "Get subnet with a delegation": { + "$ref": "./examples/SubnetGetWithDelegation.json" + } + } + }, + "put": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_CreateOrUpdate", + "description": "Creates or updates a subnet in the specified virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "subnetParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Subnet" + }, + "description": "Parameters supplied to the create or update subnet operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting Subnet resource.", + "schema": { + "$ref": "#/definitions/Subnet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create subnet": { + "$ref": "./examples/SubnetCreate.json" + }, + "Create subnet with service endpoints": { + "$ref": "./examples/SubnetCreateServiceEndpoint.json" + }, + "Create subnet with a delegation": { + "$ref": "./examples/SubnetCreateWithDelegation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies": { + "post": { + "operationId": "Subnets_PrepareNetworkPolicies", + "description": "Prepares a subnet by applying network intent policies.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "prepareNetworkPoliciesRequestParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareNetworkPoliciesRequest" + }, + "description": "Parameters supplied to prepare subnet by applying network intent policies." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Preparing subnet by applying network intent policies is successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Prepare Network Policies": { + "$ref": "./examples/SubnetPrepareNetworkPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies": { + "post": { + "operationId": "Subnets_UnprepareNetworkPolicies", + "description": "Unprepares a subnet by removing network intent policies.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "name": "unprepareNetworkPoliciesRequestParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UnprepareNetworkPoliciesRequest" + }, + "description": "Parameters supplied to unprepare subnet to remove network intent policies." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Unpreparing subnet by removing network intent policies is successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Unprepare Network Policies": { + "$ref": "./examples/SubnetUnprepareNetworkPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks": { + "get": { + "operationId": "ResourceNavigationLinks_List", + "description": "Gets a list of resource navigation links for a subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of resource navigation links for the subnet.", + "schema": { + "$ref": "#/definitions/ResourceNavigationLinksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Resource Navigation Links": { + "$ref": "./examples/VirtualNetworkGetResourceNavigationLinks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks": { + "get": { + "operationId": "ServiceAssociationLinks_List", + "description": "Gets a list of service association links for a subnet.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of service association links for the subnet.", + "schema": { + "$ref": "#/definitions/ServiceAssociationLinksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Service Association Links": { + "$ref": "./examples/VirtualNetworkGetServiceAssociationLinks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets": { + "get": { + "tags": [ + "Subnets" + ], + "operationId": "Subnets_List", + "description": "Gets all subnets in a virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of Subnet resources.", + "schema": { + "$ref": "#/definitions/SubnetListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List subnets": { + "$ref": "./examples/SubnetList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}": { + "delete": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_Delete", + "description": "Deletes the specified virtual network peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete peering": { + "$ref": "./examples/VirtualNetworkPeeringDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_Get", + "description": "Gets the specified virtual network peering.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "virtualNetworkPeeringName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network peering." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkPeering resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeering" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get peering": { + "$ref": "./examples/VirtualNetworkPeeringGet.json" + } + } + }, + "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." + }, + { + "$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" + } + }, + "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" + } + } + } + }, + "/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" + } + } + } + }, + "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." + } + }, + "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", + "description": "Enable or Disable apply network policies on private end point in the subnet." + }, + "privateLinkServiceNetworkPolicies": { + "type": "string", + "description": "Enable or Disable apply network policies on private link service in the subnet." + } + }, + "description": "Properties of the subnet." + }, + "ServiceEndpointPropertiesFormat": { + "properties": { + "service": { + "type": "string", + "description": "The type of the endpoint service." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service endpoint resource." + } + }, + "description": "The service endpoint properties." + }, + "VirtualNetworkPeeringPropertiesFormat": { + "properties": { + "allowVirtualNetworkAccess": { + "type": "boolean", + "description": "Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space." + }, + "allowForwardedTraffic": { + "type": "boolean", + "description": "Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network." + }, + "allowGatewayTransit": { + "type": "boolean", + "description": "If gateway links can be used in remote virtual networking to link to this virtual network." + }, + "useRemoteGateways": { + "type": "boolean", + "description": "If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway." + }, + "remoteVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering)." + }, + "remoteAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The reference to the remote virtual network address space." + }, + "remoteBgpCommunities": { + "$ref": "#/definitions/VirtualNetworkBgpCommunities", + "default": null, + "description": "The reference to the remote virtual network's Bgp Communities." + }, + "peeringState": { + "type": "string", + "description": "The status of the virtual network peering.", + "enum": [ + "Initiated", + "Connected", + "Disconnected" + ], + "x-ms-enum": { + "name": "VirtualNetworkPeeringState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network peering resource." + } + }, + "description": "Properties of the virtual network peering." + }, + "Subnet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SubnetPropertiesFormat", + "description": "Properties of the subnet." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "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." + } + }, + "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." + }, + "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." + }, + "ipAllocations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of IpAllocation which reference this VNET." + } + }, + "description": "Properties of the virtual network." + }, + "VirtualNetwork": { + "properties": { + "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." + }, + "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." + } + }, + "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." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualNetworkGateway.json new file mode 100644 index 000000000000..91017276c4e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualNetworkGateway.json @@ -0,0 +1,3717 @@ +{ + "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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": { + "put": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "Parameters supplied to create or update virtual network gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Get", + "description": "Gets the specified virtual network gateway by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Delete", + "description": "Deletes the specified virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_UpdateTags", + "description": "Updates a virtual network gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGatewayTags": { + "$ref": "./examples/VirtualNetworkGatewayUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_List", + "description": "Gets all virtual network gateways by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewaysinResourceGroup": { + "$ref": "./examples/VirtualNetworkGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_ListConnections", + "description": "Gets all the connections in a virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "VirtualNetworkGatewaysListConnections": { + "$ref": "./examples/VirtualNetworkGatewaysListConnections.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Reset", + "description": "Resets the primary of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "gatewayVip", + "in": "query", + "required": false, + "type": "string", + "description": "Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation reset the primary of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_ResetVpnClientSharedKey", + "description": "Resets the VPN client shared key of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation reset the vpn client shared key of the virtual network gateway." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVpnClientSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayResetVpnClientSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Generatevpnclientpackage", + "description": "Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN client package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateVPNClientPackage": { + "$ref": "./examples/VirtualNetworkGatewayGenerateVpnClientPackage.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GenerateVpnProfile", + "description": "Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateVirtualNetworkGatewayVPNProfile": { + "$ref": "./examples/VirtualNetworkGatewayGenerateVpnProfile.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnProfilePackageUrl", + "description": "Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayVPNProfilePackageURL": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetBgpPeerStatus", + "description": "The GetBgpPeerStatus operation retrieves the status of all BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": false, + "type": "string", + "description": "The IP address of the peer to retrieve the status of." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of BGP peer statuses.", + "schema": { + "$ref": "#/definitions/BgpPeerStatusListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayBGPPeerStatus": { + "$ref": "./examples/VirtualNetworkGatewayGetBGPPeerStatus.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_SupportedVpnDevices", + "description": "Gets a xml format representation for supported vpn devices.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Xml format representation for supported vpn devices.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewaySupportedVPNDevices": { + "$ref": "./examples/VirtualNetworkGatewaySupportedVpnDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetLearnedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of advertised BGP routes.", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayLearnedRoutes": { + "$ref": "./examples/VirtualNetworkGatewayLearnedRoutes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetAdvertisedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": true, + "type": "string", + "description": "The IP address of the peer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of learned BGP routes.", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayAdvertisedRoutes": { + "$ref": "./examples/VirtualNetworkGatewayGetAdvertisedRoutes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_SetVpnclientIpsecParameters", + "description": "The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "vpnclientIpsecParams", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + }, + "description": "Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Set VirtualNetworkGateway VpnClientIpsecParameters": { + "$ref": "./examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnclientIpsecParameters", + "description": "The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the set vpnclient ipsec parameters for P2S client of VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Get VirtualNetworkGateway VpnClientIpsecParameters": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_VpnDeviceConfigurationScript", + "description": "Gets a xml format representation for vpn device configuration script.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection for which the configuration script is generated." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnDeviceScriptParameters" + }, + "description": "Parameters supplied to the generate vpn device script operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Xml format representation for vpn device configuration script.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVPNDeviceConfigurationScript": { + "$ref": "./examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_StartPacketCapture", + "description": "Starts packet capture on virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStartParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on virtual network gateway.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Start packet capture on virtual network gateway without filter": { + "$ref": "./examples/VirtualNetworkGatewayStartPacketCapture.json" + }, + "Start packet capture on virtual network gateway with filter": { + "$ref": "./examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_StopPacketCapture", + "description": "Stops packet capture on virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStopParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on virtual network gateway.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Stop packet capture on virtual network gateway": { + "$ref": "./examples/VirtualNetworkGatewayStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + }, + "description": "Parameters supplied to the create or update virtual network gateway connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateVirtualNetworkGatewayConnection_S2S": { + "$ref": "./examples/VirtualNetworkGatewayConnectionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Get", + "description": "Gets the specified virtual network gateway connection by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Delete", + "description": "Deletes the specified virtual network Gateway connection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_UpdateTags", + "description": "Updates a virtual network gateway connection tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network gateway connection tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGatewayConnectionTags": { + "$ref": "./examples/VirtualNetworkGatewayConnectionUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_SetSharedKey", + "description": "The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + }, + "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionSetSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_GetSharedKey", + "description": "The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection shared key name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGetSharedKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": { + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_List", + "description": "The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation resets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewayConnectionsinResourceGroup": { + "$ref": "./examples/VirtualNetworkGatewayConnectionsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_ResetSharedKey", + "description": "The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection reset shared key Name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + }, + "description": "Parameters supplied to the begin reset virtual network gateway connection shared key operation through network resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + } + }, + "202": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionResetSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_StartPacketCapture", + "description": "Starts packet capture on virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStartParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Start packet capture on virtual network gateway connection without filter": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCapture.json" + }, + "Start packet capture on virtual network gateway connection with filter": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_StopPacketCapture", + "description": "Stops packet capture on virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStopParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Stop packet capture on virtual network gateway connection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/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" + } + } + } + }, + "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." + }, + "VirtualNetworkGatewayPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayIPConfiguration" + }, + "description": "IP configurations for virtual network gateway." + }, + "gatewayType": { + "type": "string", + "description": "The type of this virtual network gateway.", + "enum": [ + "Vpn", + "ExpressRoute" + ], + "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." + }, + "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." + }, + "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." + } + }, + "description": "VirtualNetworkGateway properties." + }, + "VpnClientRootCertificatePropertiesFormat": { + "properties": { + "publicCertData": { + "type": "string", + "description": "The certificate public data." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN client root certificate resource." + } + }, + "required": [ + "publicCertData" + ], + "description": "Properties of SSL certificates of application gateway." + }, + "VpnClientRootCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRootCertificatePropertiesFormat", + "description": "Properties of the vpn client root certificate." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "required": [ + "properties" + ], + "description": "VPN client root certificate of virtual network gateway." + }, + "VpnClientRevokedCertificatePropertiesFormat": { + "properties": { + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN client revoked certificate resource." + } + }, + "description": "Properties of the revoked VPN client certificate of virtual network gateway." + }, + "VpnClientRevokedCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRevokedCertificatePropertiesFormat", + "description": "Properties of the vpn client revoked certificate." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VPN client revoked certificate of virtual network gateway." + }, + "RadiusServer": { + "properties": { + "radiusServerAddress": { + "type": "string", + "description": "The address of this radius server." + }, + "radiusServerScore": { + "type": "integer", + "format": "int64", + "description": "The initial score assigned to this radius server." + }, + "radiusServerSecret": { + "type": "string", + "description": "The secret used for this radius server." + } + }, + "required": [ + "radiusServerAddress" + ], + "description": "Radius Server Settings." + }, + "VpnClientConfiguration": { + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents Address space for P2S VpnClient." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRootCertificate" + }, + "description": "VpnClientRootCertificate for virtual network gateway." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRevokedCertificate" + }, + "description": "VpnClientRevokedCertificate for Virtual network gateway." + }, + "vpnClientProtocols": { + "type": "array", + "items": { + "type": "string", + "description": "VPN client protocol enabled for the virtual network gateway.", + "enum": [ + "IkeV2", + "SSTP", + "OpenVPN" + ], + "x-ms-enum": { + "name": "VpnClientProtocol", + "modelAsString": true + } + }, + "description": "VpnClientProtocols for Virtual network gateway." + }, + "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." + } + }, + "description": "VpnClientConfiguration for P2S client." + }, + "VirtualNetworkGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Gateway SKU name.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Gateway SKU tier.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuTier", + "modelAsString": true + } + }, + "capacity": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The capacity." + } + }, + "description": "VirtualNetworkGatewaySku details." + }, + "BgpSettings": { + "properties": { + "asn": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + }, + "peerWeight": { + "type": "integer", + "format": "int32", + "description": "The weight added to routes learned from this BGP speaker." + }, + "bgpPeeringAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigurationBgpPeeringAddress" + }, + "description": "BGP peering address with IP configuration ID for virtual network gateway." + } + }, + "description": "BGP settings details." + }, + "BgpPeerStatus": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The virtual network gateway's local address." + }, + "neighbor": { + "type": "string", + "readOnly": true, + "description": "The remote BGP peer." + }, + "asn": { + "type": "integer", + "format": "int64", + "readOnly": true, + "minimum": 0, + "maximum": 4294967295, + "description": "The autonomous system number of the remote BGP peer." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The BGP peer state.", + "enum": [ + "Unknown", + "Stopped", + "Idle", + "Connecting", + "Connected" + ], + "x-ms-enum": { + "name": "BgpPeerState", + "modelAsString": true + } + }, + "connectedDuration": { + "type": "string", + "readOnly": true, + "description": "For how long the peering has been up." + }, + "routesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of routes learned from this peer." + }, + "messagesSent": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages sent." + }, + "messagesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages received." + } + }, + "description": "BGP peer status details." + }, + "GatewayRoute": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The gateway's local address." + }, + "network": { + "type": "string", + "readOnly": true, + "description": "The route's network prefix." + }, + "nextHop": { + "type": "string", + "readOnly": true, + "description": "The route's next hop." + }, + "sourcePeer": { + "type": "string", + "readOnly": true, + "description": "The peer this route was learned from." + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The source this route was learned from." + }, + "asPath": { + "type": "string", + "readOnly": true, + "description": "The route's AS path sequence." + }, + "weight": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The route's weight." + } + }, + "description": "Gateway routing details." + }, + "VirtualNetworkGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat", + "description": "Properties of the virtual network gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "description": "A common class for general resource information." + }, + "VpnClientParameters": { + "properties": { + "processorArchitecture": { + "type": "string", + "description": "VPN client Processor Architecture.", + "enum": [ + "Amd64", + "X86" + ], + "x-ms-enum": { + "name": "ProcessorArchitecture", + "modelAsString": true + } + }, + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + }, + "radiusServerAuthCertificate": { + "type": "string", + "description": "The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication has been configured with EAPTLS authentication." + }, + "clientRootCertificates": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with EAPTLS." + } + }, + "description": "Vpn Client Parameters for package generation." + }, + "VirtualNetworkGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "A list of VirtualNetworkGateway resources that exists in a resource group." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for the ListVirtualNetworkGateways API service call." + }, + "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." + }, + "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." + }, + "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." + }, + "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." + } + }, + "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." + }, + "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." + }, + "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." + }, + "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." + } + }, + "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 + } + }, + "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." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualNetworkTap.json new file mode 100644 index 000000000000..7f296795a449 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualRouter.json new file mode 100644 index 000000000000..a97b0aa955f7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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/2020-06-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualWan.json new file mode 100644 index 000000000000..e995b7ddf3da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/virtualWan.json @@ -0,0 +1,7290 @@ +{ + "swagger": "2.0", + "info": { + "title": "VirtualWANAsAServiceManagementClient", + "description": "REST API for Azure VirtualWAN As a Service.", + "version": "2020-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/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}/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}/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." + }, + { + "$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": { + "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/{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/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" + } + }, + "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/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. Follow the location header for the effective routes list." + }, + "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" + } + } + } + }, + "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" + } + }, + "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" + } + }, + "enableVirtualRouterRoutePropogation": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control route propogation for VirtualRouter hub." + } + }, + "description": "Parameters for VirtualHub." + }, + "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." + }, + "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": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PeerRoute" + }, + "description": "List of peer routes." + } + }, + "description": "List of virtual router 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." + } + }, + "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" + } + } + }, + "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." + } + } + }, + "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." + }, + "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." + }, + "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." + }, + "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." + } + }, + "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": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "propagatingConnections": { + "type": "array", + "description": "List of all connections that advertise to this route table.", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "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." + }, + "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." + }, + "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" + } + } + }, + "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." + }, + "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", + "readOnly": true, + "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." + } + }, + "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." + }, + "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." + }, + "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." + } + } + }, + "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": { + "staticRoutes": { + "type": "array", + "description": "List of all Static Routes.", + "items": { + "$ref": "#/definitions/StaticRoute" + } + } + } + }, + "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." + } + } + }, + "VirtualHubEffectiveRouteEffectiveRouteList": { + "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": { + "$ref": "./network.json#/definitions/Resource", + "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." + } + } + }, + "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." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/vmssNetworkInterface.json new file mode 100644 index 000000000000..89562aa3062c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/vmssPublicIpAddress.json new file mode 100644 index 000000000000..d100152e7711 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-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/2020-06-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/webapplicationfirewall.json new file mode 100644 index 000000000000..6a8be7215eda --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2020-06-01/webapplicationfirewall.json @@ -0,0 +1,743 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-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." + }, + "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." + } + } + }, + "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" + }, + "ruleType": { + "description": "The rule type.", + "type": "string", + "enum": [ + "MatchRule", + "Invalid" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallRuleType", + "modelAsString": true + } + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + "action": { + "description": "Type of Actions.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallAction", + "modelAsString": true + } + } + } + }, + "Transform": { + "description": "Transforms applied before matching.", + "type": "string", + "enum": [ + "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" + ], + "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" + } + } + } + }, + "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": { + "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": { + "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" + ], + "x-ms-enum": { + "name": "ManagedRuleEnabledState", + "modelAsString": true + } + } + } + }, + "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" + ], + "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." + } + } + } + } +} diff --git a/specification/network/resource-manager/readme.azureresourceschema.md b/specification/network/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..9b05f08c959c --- /dev/null +++ b/specification/network/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,1298 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2020-06-01 + - tag: schema-network-2020-05-01 + - tag: schema-network-2020-04-01 + - tag: schema-network-2020-03-01 + - tag: schema-network-2019-12-01 + - tag: schema-network-2019-11-01 + - tag: schema-network-2019-09-01 + - tag: schema-network-2019-08-01 + - tag: schema-network-2019-07-01 + - tag: schema-network-2019-06-01 + - tag: schema-network-2019-04-01 + - tag: schema-network-2019-02-01 + - tag: schema-network-2018-12-01 + - tag: schema-network-2018-11-01 + - tag: schema-network-2018-10-01 + - tag: schema-network-2018-08-01 + - tag: schema-network-2018-07-01 + - tag: schema-network-2018-06-01 + - tag: schema-network-2018-04-01 + - tag: schema-network-2018-02-01 + - tag: schema-network-2018-01-01 + - tag: schema-network-2017-11-01 + - tag: schema-network-2017-10-01 + - tag: schema-network-2017-09-01 + - tag: schema-network-2017-08-01 + - tag: schema-network-2017-06-01 + - tag: schema-network-2017-03-01 + - tag: schema-network-2016-12-01 + - tag: schema-network-2016-09-01 + - tag: schema-network-2016-06-01 + - tag: schema-network-2016-03-30 + - tag: schema-network-2015-06-15 + - tag: schema-network-2015-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-06-01/applicationGateway.json + - Microsoft.Network/stable/2020-06-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-06-01/availableDelegations.json + - Microsoft.Network/stable/2020-06-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-06-01/azureFirewall.json + - Microsoft.Network/stable/2020-06-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-06-01/bastionHost.json + - Microsoft.Network/stable/2020-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-06-01/customIpPrefix.json + - Microsoft.Network/stable/2020-06-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-06-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-06-01/dscpConfiguration.json + - Microsoft.Network/stable/2020-06-01/endpointService.json + - Microsoft.Network/stable/2020-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-06-01/expressRoutePort.json + - Microsoft.Network/stable/2020-06-01/firewallPolicy.json + - Microsoft.Network/stable/2020-06-01/ipAllocation.json + - Microsoft.Network/stable/2020-06-01/ipGroups.json + - Microsoft.Network/stable/2020-06-01/loadBalancer.json + - Microsoft.Network/stable/2020-06-01/natGateway.json + - Microsoft.Network/stable/2020-06-01/network.json + - Microsoft.Network/stable/2020-06-01/networkInterface.json + - Microsoft.Network/stable/2020-06-01/networkProfile.json + - Microsoft.Network/stable/2020-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-06-01/networkWatcher.json + - Microsoft.Network/stable/2020-06-01/operation.json + - Microsoft.Network/stable/2020-06-01/privateEndpoint.json + - Microsoft.Network/stable/2020-06-01/privateLinkService.json + - Microsoft.Network/stable/2020-06-01/publicIpAddress.json + - Microsoft.Network/stable/2020-06-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-06-01/routeFilter.json + - Microsoft.Network/stable/2020-06-01/routeTable.json + - Microsoft.Network/stable/2020-06-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-06-01/serviceCommunity.json + - Microsoft.Network/stable/2020-06-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-06-01/serviceTags.json + - Microsoft.Network/stable/2020-06-01/usage.json + - Microsoft.Network/stable/2020-06-01/virtualNetwork.json + - Microsoft.Network/stable/2020-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-06-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-06-01/virtualRouter.json + - Microsoft.Network/stable/2020-06-01/virtualWan.json + - Microsoft.Network/stable/2020-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-06-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-06-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-05-01/applicationGateway.json + - Microsoft.Network/stable/2020-05-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-05-01/availableDelegations.json + - Microsoft.Network/stable/2020-05-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-05-01/azureFirewall.json + - Microsoft.Network/stable/2020-05-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-05-01/bastionHost.json + - Microsoft.Network/stable/2020-05-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-05-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-05-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-05-01/endpointService.json + - Microsoft.Network/stable/2020-05-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-05-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-05-01/expressRoutePort.json + - Microsoft.Network/stable/2020-05-01/firewallPolicy.json + - Microsoft.Network/stable/2020-05-01/ipAllocation.json + - Microsoft.Network/stable/2020-05-01/ipGroups.json + - Microsoft.Network/stable/2020-05-01/loadBalancer.json + - Microsoft.Network/stable/2020-05-01/natGateway.json + - Microsoft.Network/stable/2020-05-01/network.json + - Microsoft.Network/stable/2020-05-01/networkInterface.json + - Microsoft.Network/stable/2020-05-01/networkProfile.json + - Microsoft.Network/stable/2020-05-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-05-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-05-01/networkWatcher.json + - Microsoft.Network/stable/2020-05-01/operation.json + - Microsoft.Network/stable/2020-05-01/privateEndpoint.json + - Microsoft.Network/stable/2020-05-01/privateLinkService.json + - Microsoft.Network/stable/2020-05-01/publicIpAddress.json + - Microsoft.Network/stable/2020-05-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-05-01/routeFilter.json + - Microsoft.Network/stable/2020-05-01/routeTable.json + - Microsoft.Network/stable/2020-05-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-05-01/serviceCommunity.json + - Microsoft.Network/stable/2020-05-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-05-01/serviceTags.json + - Microsoft.Network/stable/2020-05-01/usage.json + - Microsoft.Network/stable/2020-05-01/virtualNetwork.json + - Microsoft.Network/stable/2020-05-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-05-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-05-01/virtualRouter.json + - Microsoft.Network/stable/2020-05-01/virtualWan.json + - Microsoft.Network/stable/2020-05-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-05-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-04-01/applicationGateway.json + - Microsoft.Network/stable/2020-04-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-04-01/availableDelegations.json + - Microsoft.Network/stable/2020-04-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-04-01/azureFirewall.json + - Microsoft.Network/stable/2020-04-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-04-01/bastionHost.json + - Microsoft.Network/stable/2020-04-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-04-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-04-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-04-01/endpointService.json + - Microsoft.Network/stable/2020-04-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-04-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-04-01/expressRoutePort.json + - Microsoft.Network/stable/2020-04-01/firewallPolicy.json + - Microsoft.Network/stable/2020-04-01/ipAllocation.json + - Microsoft.Network/stable/2020-04-01/ipGroups.json + - Microsoft.Network/stable/2020-04-01/loadBalancer.json + - Microsoft.Network/stable/2020-04-01/natGateway.json + - Microsoft.Network/stable/2020-04-01/network.json + - Microsoft.Network/stable/2020-04-01/networkInterface.json + - Microsoft.Network/stable/2020-04-01/networkProfile.json + - Microsoft.Network/stable/2020-04-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-04-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-04-01/networkWatcher.json + - Microsoft.Network/stable/2020-04-01/operation.json + - Microsoft.Network/stable/2020-04-01/privateEndpoint.json + - Microsoft.Network/stable/2020-04-01/privateLinkService.json + - Microsoft.Network/stable/2020-04-01/publicIpAddress.json + - Microsoft.Network/stable/2020-04-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-04-01/routeFilter.json + - Microsoft.Network/stable/2020-04-01/routeTable.json + - Microsoft.Network/stable/2020-04-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-04-01/serviceCommunity.json + - Microsoft.Network/stable/2020-04-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-04-01/serviceTags.json + - Microsoft.Network/stable/2020-04-01/usage.json + - Microsoft.Network/stable/2020-04-01/virtualNetwork.json + - Microsoft.Network/stable/2020-04-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-04-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-04-01/virtualRouter.json + - Microsoft.Network/stable/2020-04-01/virtualWan.json + - Microsoft.Network/stable/2020-04-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-04-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2020-03-01/applicationGateway.json + - Microsoft.Network/stable/2020-03-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-03-01/availableDelegations.json + - Microsoft.Network/stable/2020-03-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-03-01/azureFirewall.json + - Microsoft.Network/stable/2020-03-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-03-01/bastionHost.json + - Microsoft.Network/stable/2020-03-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-03-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-03-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-03-01/endpointService.json + - Microsoft.Network/stable/2020-03-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-03-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-03-01/expressRoutePort.json + - Microsoft.Network/stable/2020-03-01/firewallPolicy.json + - Microsoft.Network/stable/2020-03-01/ipAllocation.json + - Microsoft.Network/stable/2020-03-01/ipGroups.json + - Microsoft.Network/stable/2020-03-01/loadBalancer.json + - Microsoft.Network/stable/2020-03-01/natGateway.json + - Microsoft.Network/stable/2020-03-01/network.json + - Microsoft.Network/stable/2020-03-01/networkInterface.json + - Microsoft.Network/stable/2020-03-01/networkProfile.json + - Microsoft.Network/stable/2020-03-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-03-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-03-01/networkWatcher.json + - Microsoft.Network/stable/2020-03-01/operation.json + - Microsoft.Network/stable/2020-03-01/privateEndpoint.json + - Microsoft.Network/stable/2020-03-01/privateLinkService.json + - Microsoft.Network/stable/2020-03-01/publicIpAddress.json + - Microsoft.Network/stable/2020-03-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-03-01/routeFilter.json + - Microsoft.Network/stable/2020-03-01/routeTable.json + - Microsoft.Network/stable/2020-03-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-03-01/serviceCommunity.json + - Microsoft.Network/stable/2020-03-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-03-01/serviceTags.json + - Microsoft.Network/stable/2020-03-01/usage.json + - Microsoft.Network/stable/2020-03-01/virtualNetwork.json + - Microsoft.Network/stable/2020-03-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-03-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-03-01/virtualRouter.json + - Microsoft.Network/stable/2020-03-01/virtualWan.json + - Microsoft.Network/stable/2020-03-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-03-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-03-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-12-01/applicationGateway.json + - Microsoft.Network/stable/2019-12-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-12-01/availableDelegations.json + - Microsoft.Network/stable/2019-12-01/availableServiceAliases.json + - Microsoft.Network/stable/2019-12-01/azureFirewall.json + - Microsoft.Network/stable/2019-12-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-12-01/bastionHost.json + - Microsoft.Network/stable/2019-12-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-12-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-12-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-12-01/endpointService.json + - Microsoft.Network/stable/2019-12-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-12-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-12-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-12-01/expressRoutePort.json + - Microsoft.Network/stable/2019-12-01/firewallPolicy.json + - Microsoft.Network/stable/2019-12-01/ipGroups.json + - Microsoft.Network/stable/2019-12-01/loadBalancer.json + - Microsoft.Network/stable/2019-12-01/natGateway.json + - Microsoft.Network/stable/2019-12-01/network.json + - Microsoft.Network/stable/2019-12-01/networkInterface.json + - Microsoft.Network/stable/2019-12-01/networkProfile.json + - Microsoft.Network/stable/2019-12-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-12-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2019-12-01/networkWatcher.json + - Microsoft.Network/stable/2019-12-01/operation.json + - Microsoft.Network/stable/2019-12-01/privateEndpoint.json + - Microsoft.Network/stable/2019-12-01/privateLinkService.json + - Microsoft.Network/stable/2019-12-01/publicIpAddress.json + - Microsoft.Network/stable/2019-12-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-12-01/routeFilter.json + - Microsoft.Network/stable/2019-12-01/routeTable.json + - Microsoft.Network/stable/2019-12-01/serviceCommunity.json + - Microsoft.Network/stable/2019-12-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-12-01/serviceTags.json + - Microsoft.Network/stable/2019-12-01/usage.json + - Microsoft.Network/stable/2019-12-01/virtualNetwork.json + - Microsoft.Network/stable/2019-12-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-12-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-12-01/virtualRouter.json + - Microsoft.Network/stable/2019-12-01/virtualWan.json + - Microsoft.Network/stable/2019-12-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-12-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-12-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-11-01/applicationGateway.json + - Microsoft.Network/stable/2019-11-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-11-01/availableDelegations.json + - Microsoft.Network/stable/2019-11-01/availableServiceAliases.json + - Microsoft.Network/stable/2019-11-01/azureFirewall.json + - Microsoft.Network/stable/2019-11-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-11-01/bastionHost.json + - Microsoft.Network/stable/2019-11-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-11-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-11-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-11-01/endpointService.json + - Microsoft.Network/stable/2019-11-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-11-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-11-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-11-01/expressRoutePort.json + - Microsoft.Network/stable/2019-11-01/firewallPolicy.json + - Microsoft.Network/stable/2019-11-01/ipGroups.json + - Microsoft.Network/stable/2019-11-01/loadBalancer.json + - Microsoft.Network/stable/2019-11-01/natGateway.json + - Microsoft.Network/stable/2019-11-01/network.json + - Microsoft.Network/stable/2019-11-01/networkInterface.json + - Microsoft.Network/stable/2019-11-01/networkProfile.json + - Microsoft.Network/stable/2019-11-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-11-01/networkWatcher.json + - Microsoft.Network/stable/2019-11-01/operation.json + - Microsoft.Network/stable/2019-11-01/privateEndpoint.json + - Microsoft.Network/stable/2019-11-01/privateLinkService.json + - Microsoft.Network/stable/2019-11-01/publicIpAddress.json + - Microsoft.Network/stable/2019-11-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-11-01/routeFilter.json + - Microsoft.Network/stable/2019-11-01/routeTable.json + - Microsoft.Network/stable/2019-11-01/serviceCommunity.json + - Microsoft.Network/stable/2019-11-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-11-01/serviceTags.json + - Microsoft.Network/stable/2019-11-01/usage.json + - Microsoft.Network/stable/2019-11-01/virtualNetwork.json + - Microsoft.Network/stable/2019-11-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-11-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-11-01/virtualRouter.json + - Microsoft.Network/stable/2019-11-01/virtualWan.json + - Microsoft.Network/stable/2019-11-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-11-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-11-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-09-01/applicationGateway.json + - Microsoft.Network/stable/2019-09-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-09-01/availableDelegations.json + - Microsoft.Network/stable/2019-09-01/availableServiceAliases.json + - Microsoft.Network/stable/2019-09-01/azureFirewall.json + - Microsoft.Network/stable/2019-09-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-09-01/bastionHost.json + - Microsoft.Network/stable/2019-09-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-09-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-09-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-09-01/endpointService.json + - Microsoft.Network/stable/2019-09-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-09-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-09-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-09-01/expressRoutePort.json + - Microsoft.Network/stable/2019-09-01/firewallPolicy.json + - Microsoft.Network/stable/2019-09-01/ipGroups.json + - Microsoft.Network/stable/2019-09-01/loadBalancer.json + - Microsoft.Network/stable/2019-09-01/natGateway.json + - Microsoft.Network/stable/2019-09-01/network.json + - Microsoft.Network/stable/2019-09-01/networkInterface.json + - Microsoft.Network/stable/2019-09-01/networkProfile.json + - Microsoft.Network/stable/2019-09-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-09-01/networkWatcher.json + - Microsoft.Network/stable/2019-09-01/networkWatcherConnectionMonitorV1.json + - Microsoft.Network/stable/2019-09-01/operation.json + - Microsoft.Network/stable/2019-09-01/privateEndpoint.json + - Microsoft.Network/stable/2019-09-01/privateLinkService.json + - Microsoft.Network/stable/2019-09-01/publicIpAddress.json + - Microsoft.Network/stable/2019-09-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-09-01/routeFilter.json + - Microsoft.Network/stable/2019-09-01/routeTable.json + - Microsoft.Network/stable/2019-09-01/serviceCommunity.json + - Microsoft.Network/stable/2019-09-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-09-01/serviceTags.json + - Microsoft.Network/stable/2019-09-01/usage.json + - Microsoft.Network/stable/2019-09-01/virtualNetwork.json + - Microsoft.Network/stable/2019-09-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-09-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-09-01/virtualRouter.json + - Microsoft.Network/stable/2019-09-01/virtualWan.json + - Microsoft.Network/stable/2019-09-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-09-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-09-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-08-01/applicationGateway.json + - Microsoft.Network/stable/2019-08-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-08-01/availableDelegations.json + - Microsoft.Network/stable/2019-08-01/availableServiceAliases.json + - Microsoft.Network/stable/2019-08-01/azureFirewall.json + - Microsoft.Network/stable/2019-08-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-08-01/bastionHost.json + - Microsoft.Network/stable/2019-08-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-08-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-08-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-08-01/endpointService.json + - Microsoft.Network/stable/2019-08-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-08-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-08-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-08-01/expressRoutePort.json + - Microsoft.Network/stable/2019-08-01/firewallPolicy.json + - Microsoft.Network/stable/2019-08-01/loadBalancer.json + - Microsoft.Network/stable/2019-08-01/natGateway.json + - Microsoft.Network/stable/2019-08-01/network.json + - Microsoft.Network/stable/2019-08-01/networkInterface.json + - Microsoft.Network/stable/2019-08-01/networkProfile.json + - Microsoft.Network/stable/2019-08-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-08-01/networkWatcher.json + - Microsoft.Network/stable/2019-08-01/networkWatcherConnectionMonitorV1.json + - Microsoft.Network/stable/2019-08-01/operation.json + - Microsoft.Network/stable/2019-08-01/privateEndpoint.json + - Microsoft.Network/stable/2019-08-01/privateLinkService.json + - Microsoft.Network/stable/2019-08-01/publicIpAddress.json + - Microsoft.Network/stable/2019-08-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-08-01/routeFilter.json + - Microsoft.Network/stable/2019-08-01/routeTable.json + - Microsoft.Network/stable/2019-08-01/serviceCommunity.json + - Microsoft.Network/stable/2019-08-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-08-01/serviceTags.json + - Microsoft.Network/stable/2019-08-01/usage.json + - Microsoft.Network/stable/2019-08-01/virtualNetwork.json + - Microsoft.Network/stable/2019-08-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-08-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-08-01/virtualRouter.json + - Microsoft.Network/stable/2019-08-01/virtualWan.json + - Microsoft.Network/stable/2019-08-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-08-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-08-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-07-01/applicationGateway.json + - Microsoft.Network/stable/2019-07-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-07-01/availableDelegations.json + - Microsoft.Network/stable/2019-07-01/azureFirewall.json + - Microsoft.Network/stable/2019-07-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-07-01/bastionHost.json + - Microsoft.Network/stable/2019-07-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-07-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-07-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-07-01/endpointService.json + - Microsoft.Network/stable/2019-07-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-07-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-07-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-07-01/expressRoutePort.json + - Microsoft.Network/stable/2019-07-01/firewallPolicy.json + - Microsoft.Network/stable/2019-07-01/loadBalancer.json + - Microsoft.Network/stable/2019-07-01/natGateway.json + - Microsoft.Network/stable/2019-07-01/network.json + - Microsoft.Network/stable/2019-07-01/networkInterface.json + - Microsoft.Network/stable/2019-07-01/networkProfile.json + - Microsoft.Network/stable/2019-07-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-07-01/networkWatcher.json + - Microsoft.Network/stable/2019-07-01/networkWatcherConnectionMonitorV1.json + - Microsoft.Network/stable/2019-07-01/operation.json + - Microsoft.Network/stable/2019-07-01/privateEndpoint.json + - Microsoft.Network/stable/2019-07-01/privateLinkService.json + - Microsoft.Network/stable/2019-07-01/publicIpAddress.json + - Microsoft.Network/stable/2019-07-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-07-01/routeFilter.json + - Microsoft.Network/stable/2019-07-01/routeTable.json + - Microsoft.Network/stable/2019-07-01/serviceCommunity.json + - Microsoft.Network/stable/2019-07-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-07-01/serviceTags.json + - Microsoft.Network/stable/2019-07-01/usage.json + - Microsoft.Network/stable/2019-07-01/virtualNetwork.json + - Microsoft.Network/stable/2019-07-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-07-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-07-01/virtualRouter.json + - Microsoft.Network/stable/2019-07-01/virtualWan.json + - Microsoft.Network/stable/2019-07-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-07-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-07-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-06-01/applicationGateway.json + - Microsoft.Network/stable/2019-06-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-06-01/availableDelegations.json + - Microsoft.Network/stable/2019-06-01/azureFirewall.json + - Microsoft.Network/stable/2019-06-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-06-01/bastionHost.json + - Microsoft.Network/stable/2019-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-06-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-06-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-06-01/endpointService.json + - Microsoft.Network/stable/2019-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-06-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-06-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-06-01/expressRoutePort.json + - Microsoft.Network/stable/2019-06-01/firewallPolicy.json + - Microsoft.Network/stable/2019-06-01/loadBalancer.json + - Microsoft.Network/stable/2019-06-01/natGateway.json + - Microsoft.Network/stable/2019-06-01/network.json + - Microsoft.Network/stable/2019-06-01/networkInterface.json + - Microsoft.Network/stable/2019-06-01/networkProfile.json + - Microsoft.Network/stable/2019-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-06-01/networkWatcher.json + - Microsoft.Network/stable/2019-06-01/networkWatcherConnectionMonitorV1.json + - Microsoft.Network/stable/2019-06-01/operation.json + - Microsoft.Network/stable/2019-06-01/privateEndpoint.json + - Microsoft.Network/stable/2019-06-01/privateLinkService.json + - Microsoft.Network/stable/2019-06-01/publicIpAddress.json + - Microsoft.Network/stable/2019-06-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-06-01/routeFilter.json + - Microsoft.Network/stable/2019-06-01/routeTable.json + - Microsoft.Network/stable/2019-06-01/serviceCommunity.json + - Microsoft.Network/stable/2019-06-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-06-01/serviceTags.json + - Microsoft.Network/stable/2019-06-01/usage.json + - Microsoft.Network/stable/2019-06-01/virtualNetwork.json + - Microsoft.Network/stable/2019-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-06-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-06-01/virtualWan.json + - Microsoft.Network/stable/2019-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-06-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-06-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-04-01/applicationGateway.json + - Microsoft.Network/stable/2019-04-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-04-01/availableDelegations.json + - Microsoft.Network/stable/2019-04-01/azureFirewall.json + - Microsoft.Network/stable/2019-04-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-04-01/bastionHost.json + - Microsoft.Network/stable/2019-04-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-04-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-04-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-04-01/endpointService.json + - Microsoft.Network/stable/2019-04-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-04-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-04-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-04-01/expressRoutePort.json + - Microsoft.Network/stable/2019-04-01/privateEndpoint.json + - Microsoft.Network/stable/2019-04-01/privateLinkService.json + - Microsoft.Network/stable/2019-04-01/loadBalancer.json + - Microsoft.Network/stable/2019-04-01/natGateway.json + - Microsoft.Network/stable/2019-04-01/network.json + - Microsoft.Network/stable/2019-04-01/networkInterface.json + - Microsoft.Network/stable/2019-04-01/networkProfile.json + - Microsoft.Network/stable/2019-04-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-04-01/networkWatcher.json + - Microsoft.Network/stable/2019-04-01/operation.json + - Microsoft.Network/stable/2019-04-01/publicIpAddress.json + - Microsoft.Network/stable/2019-04-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-04-01/routeFilter.json + - Microsoft.Network/stable/2019-04-01/routeTable.json + - Microsoft.Network/stable/2019-04-01/serviceCommunity.json + - Microsoft.Network/stable/2019-04-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-04-01/serviceTags.json + - Microsoft.Network/stable/2019-04-01/usage.json + - Microsoft.Network/stable/2019-04-01/virtualNetwork.json + - Microsoft.Network/stable/2019-04-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-04-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-04-01/virtualWan.json + - Microsoft.Network/stable/2019-04-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-04-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-04-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2019-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2019-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2019-02-01/applicationGateway.json + - Microsoft.Network/stable/2019-02-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2019-02-01/availableDelegations.json + - Microsoft.Network/stable/2019-02-01/azureFirewall.json + - Microsoft.Network/stable/2019-02-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2019-02-01/checkDnsAvailability.json + - Microsoft.Network/stable/2019-02-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2019-02-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2019-02-01/endpointService.json + - Microsoft.Network/stable/2019-02-01/expressRouteCircuit.json + - Microsoft.Network/stable/2019-02-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2019-02-01/expressRouteGateway.json + - Microsoft.Network/stable/2019-02-01/expressRoutePort.json + - Microsoft.Network/stable/2019-02-01/interfaceEndpoint.json + - Microsoft.Network/stable/2019-02-01/loadBalancer.json + - Microsoft.Network/stable/2019-02-01/natGateway.json + - Microsoft.Network/stable/2019-02-01/network.json + - Microsoft.Network/stable/2019-02-01/networkInterface.json + - Microsoft.Network/stable/2019-02-01/networkProfile.json + - Microsoft.Network/stable/2019-02-01/networkSecurityGroup.json + - Microsoft.Network/stable/2019-02-01/networkWatcher.json + - Microsoft.Network/stable/2019-02-01/operation.json + - Microsoft.Network/stable/2019-02-01/publicIpAddress.json + - Microsoft.Network/stable/2019-02-01/publicIpPrefix.json + - Microsoft.Network/stable/2019-02-01/routeFilter.json + - Microsoft.Network/stable/2019-02-01/routeTable.json + - Microsoft.Network/stable/2019-02-01/serviceCommunity.json + - Microsoft.Network/stable/2019-02-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2019-02-01/usage.json + - Microsoft.Network/stable/2019-02-01/virtualNetwork.json + - Microsoft.Network/stable/2019-02-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2019-02-01/virtualNetworkTap.json + - Microsoft.Network/stable/2019-02-01/virtualWan.json + - Microsoft.Network/stable/2019-02-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2019-02-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2019-02-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2018-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-12-01/applicationGateway.json + - Microsoft.Network/stable/2018-12-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-12-01/availableDelegations.json + - Microsoft.Network/stable/2018-12-01/azureFirewall.json + - Microsoft.Network/stable/2018-12-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2018-12-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-12-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2018-12-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-12-01/endpointService.json + - Microsoft.Network/stable/2018-12-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-12-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-12-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-12-01/expressRoutePort.json + - Microsoft.Network/stable/2018-12-01/interfaceEndpoint.json + - Microsoft.Network/stable/2018-12-01/loadBalancer.json + - Microsoft.Network/stable/2018-12-01/network.json + - Microsoft.Network/stable/2018-12-01/networkInterface.json + - Microsoft.Network/stable/2018-12-01/networkProfile.json + - Microsoft.Network/stable/2018-12-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-12-01/networkWatcher.json + - Microsoft.Network/stable/2018-12-01/operation.json + - Microsoft.Network/stable/2018-12-01/publicIpAddress.json + - Microsoft.Network/stable/2018-12-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-12-01/routeFilter.json + - Microsoft.Network/stable/2018-12-01/routeTable.json + - Microsoft.Network/stable/2018-12-01/serviceCommunity.json + - Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2018-12-01/usage.json + - Microsoft.Network/stable/2018-12-01/virtualNetwork.json + - Microsoft.Network/stable/2018-12-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-12-01/virtualNetworkTap.json + - Microsoft.Network/stable/2018-12-01/virtualWan.json + - Microsoft.Network/stable/2018-12-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-12-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2018-12-01/webapplicationfirewall.json + +``` + +### Tag: schema-network-2018-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-11-01/applicationGateway.json + - Microsoft.Network/stable/2018-11-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-11-01/availableDelegations.json + - Microsoft.Network/stable/2018-11-01/azureFirewall.json + - Microsoft.Network/stable/2018-11-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2018-11-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-11-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2018-11-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-11-01/endpointService.json + - Microsoft.Network/stable/2018-11-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-11-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-11-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-11-01/expressRoutePort.json + - Microsoft.Network/stable/2018-11-01/interfaceEndpoint.json + - Microsoft.Network/stable/2018-11-01/loadBalancer.json + - Microsoft.Network/stable/2018-11-01/network.json + - Microsoft.Network/stable/2018-11-01/networkInterface.json + - Microsoft.Network/stable/2018-11-01/networkProfile.json + - Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-11-01/networkWatcher.json + - Microsoft.Network/stable/2018-11-01/operation.json + - Microsoft.Network/stable/2018-11-01/publicIpAddress.json + - Microsoft.Network/stable/2018-11-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-11-01/routeFilter.json + - Microsoft.Network/stable/2018-11-01/routeTable.json + - Microsoft.Network/stable/2018-11-01/serviceCommunity.json + - Microsoft.Network/stable/2018-11-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2018-11-01/usage.json + - Microsoft.Network/stable/2018-11-01/virtualNetwork.json + - Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-11-01/virtualNetworkTap.json + - Microsoft.Network/stable/2018-11-01/virtualWan.json + - Microsoft.Network/stable/2018-11-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-11-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-10-01/applicationGateway.json + - Microsoft.Network/stable/2018-10-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-10-01/availableDelegations.json + - Microsoft.Network/stable/2018-10-01/azureFirewall.json + - Microsoft.Network/stable/2018-10-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2018-10-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-10-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-10-01/endpointService.json + - Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-10-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-10-01/expressRoutePort.json + - Microsoft.Network/stable/2018-10-01/interfaceEndpoint.json + - Microsoft.Network/stable/2018-10-01/loadBalancer.json + - Microsoft.Network/stable/2018-10-01/network.json + - Microsoft.Network/stable/2018-10-01/networkInterface.json + - Microsoft.Network/stable/2018-10-01/networkProfile.json + - Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-10-01/networkWatcher.json + - Microsoft.Network/stable/2018-10-01/operation.json + - Microsoft.Network/stable/2018-10-01/publicIpAddress.json + - Microsoft.Network/stable/2018-10-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-10-01/routeFilter.json + - Microsoft.Network/stable/2018-10-01/routeTable.json + - Microsoft.Network/stable/2018-10-01/serviceCommunity.json + - Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2018-10-01/usage.json + - Microsoft.Network/stable/2018-10-01/virtualNetwork.json + - Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-10-01/virtualNetworkTap.json + - Microsoft.Network/stable/2018-10-01/virtualWan.json + - Microsoft.Network/stable/2018-10-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-10-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-08-01/applicationGateway.json + - Microsoft.Network/stable/2018-08-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-08-01/availableDelegations.json + - Microsoft.Network/stable/2018-08-01/azureFirewall.json + - Microsoft.Network/stable/2018-08-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2018-08-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-08-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-08-01/endpointService.json + - Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-08-01/expressRouteGateway.json + - Microsoft.Network/stable/2018-08-01/expressRoutePort.json + - Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json + - Microsoft.Network/stable/2018-08-01/loadBalancer.json + - Microsoft.Network/stable/2018-08-01/network.json + - Microsoft.Network/stable/2018-08-01/networkInterface.json + - Microsoft.Network/stable/2018-08-01/networkProfile.json + - Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-08-01/networkWatcher.json + - Microsoft.Network/stable/2018-08-01/operation.json + - Microsoft.Network/stable/2018-08-01/publicIpAddress.json + - Microsoft.Network/stable/2018-08-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-08-01/routeFilter.json + - Microsoft.Network/stable/2018-08-01/routeTable.json + - Microsoft.Network/stable/2018-08-01/serviceCommunity.json + - Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2018-08-01/usage.json + - Microsoft.Network/stable/2018-08-01/virtualNetwork.json + - Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json + - Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-08-01/virtualWan.json + - Microsoft.Network/stable/2018-08-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-08-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-07-01/azureFirewall.json + - Microsoft.Network/stable/2018-07-01/applicationGateway.json + - Microsoft.Network/stable/2018-07-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-07-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-07-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-07-01/endpointService.json + - Microsoft.Network/stable/2018-07-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-07-01/loadBalancer.json + - Microsoft.Network/stable/2018-07-01/network.json + - Microsoft.Network/stable/2018-07-01/networkInterface.json + - Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-07-01/networkWatcher.json + - Microsoft.Network/stable/2018-07-01/operation.json + - Microsoft.Network/stable/2018-07-01/publicIpAddress.json + - Microsoft.Network/stable/2018-07-01/publicIpPrefix.json + - Microsoft.Network/stable/2018-07-01/routeFilter.json + - Microsoft.Network/stable/2018-07-01/routeTable.json + - Microsoft.Network/stable/2018-07-01/serviceCommunity.json + - Microsoft.Network/stable/2018-07-01/usage.json + - Microsoft.Network/stable/2018-07-01/virtualNetwork.json + - Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-07-01/virtualWan.json + - Microsoft.Network/stable/2018-07-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-07-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json + +``` + +### Tag: schema-network-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-06-01/azureFirewall.json + - Microsoft.Network/stable/2018-06-01/applicationGateway.json + - Microsoft.Network/stable/2018-06-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-06-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-06-01/endpointService.json + - Microsoft.Network/stable/2018-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-06-01/loadBalancer.json + - Microsoft.Network/stable/2018-06-01/network.json + - Microsoft.Network/stable/2018-06-01/networkInterface.json + - Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-06-01/networkWatcher.json + - Microsoft.Network/stable/2018-06-01/operation.json + - Microsoft.Network/stable/2018-06-01/publicIpAddress.json + - Microsoft.Network/stable/2018-06-01/routeFilter.json + - Microsoft.Network/stable/2018-06-01/routeTable.json + - Microsoft.Network/stable/2018-06-01/serviceCommunity.json + - Microsoft.Network/stable/2018-06-01/usage.json + - Microsoft.Network/stable/2018-06-01/virtualNetwork.json + - Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-06-01/virtualWan.json + - Microsoft.Network/stable/2018-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-06-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-04-01/azureFirewall.json + - Microsoft.Network/stable/2018-04-01/applicationGateway.json + - Microsoft.Network/stable/2018-04-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-04-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-04-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-04-01/endpointService.json + - Microsoft.Network/stable/2018-04-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-04-01/loadBalancer.json + - Microsoft.Network/stable/2018-04-01/network.json + - Microsoft.Network/stable/2018-04-01/networkInterface.json + - Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-04-01/networkWatcher.json + - Microsoft.Network/stable/2018-04-01/operation.json + - Microsoft.Network/stable/2018-04-01/publicIpAddress.json + - Microsoft.Network/stable/2018-04-01/routeFilter.json + - Microsoft.Network/stable/2018-04-01/routeTable.json + - Microsoft.Network/stable/2018-04-01/serviceCommunity.json + - Microsoft.Network/stable/2018-04-01/usage.json + - Microsoft.Network/stable/2018-04-01/virtualNetwork.json + - Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-04-01/virtualWan.json + - Microsoft.Network/stable/2018-04-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-04-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-02-01/applicationGateway.json + - Microsoft.Network/stable/2018-02-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-02-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-02-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2018-02-01/endpointService.json + - Microsoft.Network/stable/2018-02-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2018-02-01/loadBalancer.json + - Microsoft.Network/stable/2018-02-01/network.json + - Microsoft.Network/stable/2018-02-01/networkInterface.json + - Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-02-01/networkWatcher.json + - Microsoft.Network/stable/2018-02-01/operation.json + - Microsoft.Network/stable/2018-02-01/publicIpAddress.json + - Microsoft.Network/stable/2018-02-01/routeFilter.json + - Microsoft.Network/stable/2018-02-01/routeTable.json + - Microsoft.Network/stable/2018-02-01/serviceCommunity.json + - Microsoft.Network/stable/2018-02-01/usage.json + - Microsoft.Network/stable/2018-02-01/virtualNetwork.json + - Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-02-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-02-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2018-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-01-01/applicationGateway.json + - Microsoft.Network/stable/2018-01-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2018-01-01/checkDnsAvailability.json + - Microsoft.Network/stable/2018-01-01/endpointService.json + - Microsoft.Network/stable/2018-01-01/expressRouteCircuit.json + - Microsoft.Network/stable/2018-01-01/loadBalancer.json + - Microsoft.Network/stable/2018-01-01/network.json + - Microsoft.Network/stable/2018-01-01/networkInterface.json + - Microsoft.Network/stable/2018-01-01/networkSecurityGroup.json + - Microsoft.Network/stable/2018-01-01/networkWatcher.json + - Microsoft.Network/stable/2018-01-01/operation.json + - Microsoft.Network/stable/2018-01-01/publicIpAddress.json + - Microsoft.Network/stable/2018-01-01/routeFilter.json + - Microsoft.Network/stable/2018-01-01/routeTable.json + - Microsoft.Network/stable/2018-01-01/serviceCommunity.json + - Microsoft.Network/stable/2018-01-01/usage.json + - Microsoft.Network/stable/2018-01-01/virtualNetwork.json + - Microsoft.Network/stable/2018-01-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2018-01-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2018-01-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-11-01/applicationGateway.json + - Microsoft.Network/stable/2017-11-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2017-11-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-11-01/endpointService.json + - Microsoft.Network/stable/2017-11-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-11-01/loadBalancer.json + - Microsoft.Network/stable/2017-11-01/network.json + - Microsoft.Network/stable/2017-11-01/networkInterface.json + - Microsoft.Network/stable/2017-11-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-11-01/networkWatcher.json + - Microsoft.Network/stable/2017-11-01/operation.json + - Microsoft.Network/stable/2017-11-01/publicIpAddress.json + - Microsoft.Network/stable/2017-11-01/routeFilter.json + - Microsoft.Network/stable/2017-11-01/routeTable.json + - Microsoft.Network/stable/2017-11-01/serviceCommunity.json + - Microsoft.Network/stable/2017-11-01/usage.json + - Microsoft.Network/stable/2017-11-01/virtualNetwork.json + - Microsoft.Network/stable/2017-11-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-11-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-11-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-10-01/applicationGateway.json + - Microsoft.Network/stable/2017-10-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2017-10-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-10-01/endpointService.json + - Microsoft.Network/stable/2017-10-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-10-01/loadBalancer.json + - Microsoft.Network/stable/2017-10-01/network.json + - Microsoft.Network/stable/2017-10-01/networkInterface.json + - Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-10-01/networkWatcher.json + - Microsoft.Network/stable/2017-10-01/operation.json + - Microsoft.Network/stable/2017-10-01/publicIpAddress.json + - Microsoft.Network/stable/2017-10-01/routeFilter.json + - Microsoft.Network/stable/2017-10-01/routeTable.json + - Microsoft.Network/stable/2017-10-01/serviceCommunity.json + - Microsoft.Network/stable/2017-10-01/usage.json + - Microsoft.Network/stable/2017-10-01/virtualNetwork.json + - Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-10-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-10-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-09-01/applicationGateway.json + - Microsoft.Network/stable/2017-09-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2017-09-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-09-01/endpointService.json + - Microsoft.Network/stable/2017-09-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-09-01/loadBalancer.json + - Microsoft.Network/stable/2017-09-01/network.json + - Microsoft.Network/stable/2017-09-01/networkInterface.json + - Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-09-01/networkWatcher.json + - Microsoft.Network/stable/2017-09-01/operation.json + - Microsoft.Network/stable/2017-09-01/publicIpAddress.json + - Microsoft.Network/stable/2017-09-01/routeFilter.json + - Microsoft.Network/stable/2017-09-01/routeTable.json + - Microsoft.Network/stable/2017-09-01/serviceCommunity.json + - Microsoft.Network/stable/2017-09-01/usage.json + - Microsoft.Network/stable/2017-09-01/virtualNetwork.json + - Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-09-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-09-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-08-01/applicationGateway.json + - Microsoft.Network/stable/2017-08-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-08-01/endpointService.json + - Microsoft.Network/stable/2017-08-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-08-01/loadBalancer.json + - Microsoft.Network/stable/2017-08-01/network.json + - Microsoft.Network/stable/2017-08-01/networkInterface.json + - Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-08-01/networkWatcher.json + - Microsoft.Network/stable/2017-08-01/publicIpAddress.json + - Microsoft.Network/stable/2017-08-01/routeFilter.json + - Microsoft.Network/stable/2017-08-01/routeTable.json + - Microsoft.Network/stable/2017-08-01/serviceCommunity.json + - Microsoft.Network/stable/2017-08-01/usage.json + - Microsoft.Network/stable/2017-08-01/virtualNetwork.json + - Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-08-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-08-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-06-01/applicationGateway.json + - Microsoft.Network/stable/2017-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-06-01/endpointService.json + - Microsoft.Network/stable/2017-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-06-01/loadBalancer.json + - Microsoft.Network/stable/2017-06-01/network.json + - Microsoft.Network/stable/2017-06-01/networkInterface.json + - Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-06-01/networkWatcher.json + - Microsoft.Network/stable/2017-06-01/publicIpAddress.json + - Microsoft.Network/stable/2017-06-01/routeFilter.json + - Microsoft.Network/stable/2017-06-01/routeTable.json + - Microsoft.Network/stable/2017-06-01/serviceCommunity.json + - Microsoft.Network/stable/2017-06-01/usage.json + - Microsoft.Network/stable/2017-06-01/virtualNetwork.json + - Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-06-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2017-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-03-01/applicationGateway.json + - Microsoft.Network/stable/2017-03-01/checkDnsAvailability.json + - Microsoft.Network/stable/2017-03-01/expressRouteCircuit.json + - Microsoft.Network/stable/2017-03-01/loadBalancer.json + - Microsoft.Network/stable/2017-03-01/network.json + - Microsoft.Network/stable/2017-03-01/networkInterface.json + - Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json + - Microsoft.Network/stable/2017-03-01/networkWatcher.json + - Microsoft.Network/stable/2017-03-01/publicIpAddress.json + - Microsoft.Network/stable/2017-03-01/routeFilter.json + - Microsoft.Network/stable/2017-03-01/routeTable.json + - Microsoft.Network/stable/2017-03-01/serviceCommunity.json + - Microsoft.Network/stable/2017-03-01/usage.json + - Microsoft.Network/stable/2017-03-01/virtualNetwork.json + - Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2017-03-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2017-03-01/vmssPublicIpAddress.json + +``` + +### Tag: schema-network-2016-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-12-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2016-12-01/applicationGateway.json + - Microsoft.Network/stable/2016-12-01/checkDnsAvailability.json + - Microsoft.Network/stable/2016-12-01/expressRouteCircuit.json + - Microsoft.Network/stable/2016-12-01/loadBalancer.json + - Microsoft.Network/stable/2016-12-01/network.json + - Microsoft.Network/stable/2016-12-01/networkInterface.json + - Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json + - Microsoft.Network/stable/2016-12-01/networkWatcher.json + - Microsoft.Network/stable/2016-12-01/publicIpAddress.json + - Microsoft.Network/stable/2016-12-01/routeFilter.json + - Microsoft.Network/stable/2016-12-01/routeTable.json + - Microsoft.Network/stable/2016-12-01/serviceCommunity.json + - Microsoft.Network/stable/2016-12-01/usage.json + - Microsoft.Network/stable/2016-12-01/virtualNetwork.json + - Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.json + +``` + +### Tag: schema-network-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-09-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2016-09-01/applicationGateway.json + - Microsoft.Network/stable/2016-09-01/checkDnsAvailability.json + - Microsoft.Network/stable/2016-09-01/expressRouteCircuit.json + - Microsoft.Network/stable/2016-09-01/loadBalancer.json + - Microsoft.Network/stable/2016-09-01/network.json + - Microsoft.Network/stable/2016-09-01/networkInterface.json + - Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json + - Microsoft.Network/stable/2016-09-01/networkWatcher.json + - Microsoft.Network/stable/2016-09-01/publicIpAddress.json + - Microsoft.Network/stable/2016-09-01/routeTable.json + - Microsoft.Network/stable/2016-09-01/usage.json + - Microsoft.Network/stable/2016-09-01/virtualNetwork.json + - Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json + +``` + +### Tag: schema-network-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-06-01/network.json + +``` + +### Tag: schema-network-2016-03-30 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2016-03-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2016-03-30/network.json + +``` + +### Tag: schema-network-2015-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2015-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2015-06-15/applicationGateway.json + - Microsoft.Network/stable/2015-06-15/checkDnsAvailability.json + - Microsoft.Network/stable/2015-06-15/expressRouteCircuit.json + - Microsoft.Network/stable/2015-06-15/loadBalancer.json + - Microsoft.Network/stable/2015-06-15/network.json + - Microsoft.Network/stable/2015-06-15/networkInterface.json + - Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json + - Microsoft.Network/stable/2015-06-15/publicIpAddress.json + - Microsoft.Network/stable/2015-06-15/routeTable.json + - Microsoft.Network/stable/2015-06-15/usage.json + - Microsoft.Network/stable/2015-06-15/virtualNetwork.json + - Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json + - Microsoft.Network/stable/2015-06-15/vmssNetworkInterface.json + +``` + +### Tag: schema-network-2015-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2015-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2015-05-01-preview/network.json + +``` diff --git a/specification/network/resource-manager/readme.cli.md b/specification/network/resource-manager/readme.cli.md new file mode 100644 index 000000000000..ca430ac46cee --- /dev/null +++ b/specification/network/resource-manager/readme.cli.md @@ -0,0 +1,681 @@ +## CLI + +These settings apply only when `--cli` is specified on the command line. + +``` yaml $(cli) +cli: + cli-name: network + package-name: azure-mgmt-network + namespace: azure.mgmt.network + test-scenario: + - split: publicipaddresses + - name: /PublicIPAddresses/put/Create public IP address DNS + - name: /PublicIPAddresses/put/Create public IP address allocation method + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /PublicIPAddresses/get/GetVMSSPublicIP + - name: /PublicIPAddresses/get/ListVMSSVMPublicIP + - name: /PublicIPAddresses/get/ListVMSSPublicIP + - name: /PublicIPAddresses/get/Get public IP address + - name: /PublicIPAddresses/get/List resource group public IP addresses + - name: /PublicIPAddresses/get/List all public IP addresses + - name: /PublicIPAddresses/patch/Update public IP address tags + - name: /PublicIPAddresses/delete/Delete public IP address + - split: virtualnetworks + - name: /VirtualNetworks/put/Create virtual network with service endpoints and service endpoint policy + - name: /VirtualNetworks/put/Create virtual network with subnet containing address prefixes + - name: /VirtualNetworks/put/Create virtual network with Bgp Communities + - name: /VirtualNetworks/put/Create virtual network + - name: /VirtualNetworks/put/Create virtual network with service endpoints + - name: /VirtualNetworks/put/Create virtual network with subnet + - name: /VirtualNetworks/put/Create virtual network with delegated subnets + - name: /VirtualNetworks/get/Check IP address availability + - name: /VirtualNetworks/get/VnetGetUsage + - name: /VirtualNetworks/get/Get virtual network + - name: /VirtualNetworks/get/Get virtual network with service association links + - name: /VirtualNetworks/get/Get virtual network with a delegated subnet + - name: /VirtualNetworks/get/List virtual networks in resource group + - name: /VirtualNetworks/get/List all virtual networks + - name: /VirtualNetworks/patch/Update virtual network tags + - name: /VirtualNetworks/delete/Delete virtual network + - split: subnets + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /Subnets/put/Create subnet with service endpoints + - name: /Subnets/put/Create subnet with a delegation + - name: /Subnets/get/Get subnet with a delegation + - name: /Subnets/get/Get subnet + - name: /Subnets/get/List subnets + - name: /Subnets/post/Unprepare Network Policies + comment: "Azure Error: UnauthorizedOperation" + disabled: true + - name: /Subnets/post/Prepare Network Policies + comment: "Azure Error: UnauthorizedOperation" + disabled: true + - name: /Subnets/delete/Delete subnet + - split: loadbalancers + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /LoadBalancers/put/Create load balancer with Frontend IP in Zone 1 + - name: /LoadBalancers/put/Create load balancer with outbound rules + - name: /LoadBalancers/put/Create load balancer with Standard SKU + - name: /LoadBalancers/put/Create load balancer + - name: /LoadBalancers/put/Create load balancer with inbound nat pool + - name: /LoadBalancers/get/Get load balancer + - name: /LoadBalancers/get/List load balancers in resource group + - name: /LoadBalancers/get/List all load balancers + - name: /LoadBalancers/patch/Update load balancer tags + - name: /LoadBalancers/delete/Delete load balancer + - split: networkinterfaces + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /NetworkInterfaces/put/Create network interface + - name: /NetworkInterfaces/get/Get virtual machine scale set network interface + - name: /NetworkInterfaces/get/List virtual machine scale set network interface ip configurations + - name: /NetworkInterfaces/get/Get virtual machine scale set network interface + - name: /NetworkInterfaces/get/List virtual machine scale set vm network interfaces + - name: /NetworkInterfaces/get/List virtual machine scale set network interfaces + - name: /NetworkInterfaces/get/Get network interface + - name: /NetworkInterfaces/get/List network interfaces in resource group + - name: /NetworkInterfaces/get/List all network interfaces + - name: /NetworkInterfaces/post/List network interface effective network security groups + - name: /NetworkInterfaces/post/Show network interface effective route tables + - name: /NetworkInterfaces/patch/Update network interface tags + - name: /NetworkInterfaces/delete/Delete network interface + - split: routetables + - name: /RouteTables/put/Create route table with route + - name: /RouteTables/put/Create route table + - name: /RouteTables/get/Get route table + - name: /RouteTables/get/List route tables in resource group + - name: /RouteTables/get/List all route tables + - name: /RouteTables/patch/Update route table tags + - name: /RouteTables/delete/Delete route table + - split: routes + - name: /RouteTables/put/Create route table + - name: /Routes/put/Create route + - name: /Routes/get/Get route + - name: /Routes/get/List routes + - name: /Routes/delete/Delete route + - split: routefilters + - name: /RouteFilters/put/RouteFilterCreate + - name: /RouteFilters/get/RouteFilterGet + - name: /RouteFilters/get/RouteFilterListByResourceGroup + - name: /RouteFilters/get/RouteFilterList + - name: /RouteFilters/patch/Update route filter tags + - name: /RouteFilters/delete/RouteFilterDelete + - split: routefilterrules + - name: /RouteFilters/put/RouteFilterCreate + - name: /RouteFilterRules/put/RouteFilterRuleCreate + - name: /RouteFilterRules/get/RouteFilterRuleGet + - name: /RouteFilterRules/get/RouteFilterRuleListByRouteFilter + - name: /RouteFilterRules/delete/RouteFilterRuleDelete + - split: virtualwans + - name: /VirtualWans/put/VirtualWANCreate + - name: /VirtualWans/get/VirtualWANGet + - name: /VirtualWans/get/VirtualWANListByResourceGroup + - name: /VirtualWans/get/VirtualWANList + - name: /VirtualWans/patch/VirtualWANUpdate + - name: /VirtualWans/delete/VirtualWANDelete + - split: virtualhubs + - name: /VirtualWans/put/VirtualWANCreate + - name: /VirtualHubs/put/VirtualHubPut + - name: /VirtualHubs/get/VirtualHubGet + - name: /VirtualHubs/get/VirtualHubListByResourceGroup + - name: /VirtualHubs/get/VirtualHubList + - name: /VirtualHubs/patch/VirtualHubUpdate + - name: /VirtualHubs/delete/VirtualHubDelete + - split: virtualhubroutetablev2s + - name: /VirtualWans/put/VirtualWANCreate + - name: /VirtualHubs/put/VirtualHubPut + - name: /VirtualHubRouteTableV2s/put/VirtualHubRouteTableV2Put + - name: /VirtualHubRouteTableV2s/get/VirtualHubVirtualHubRouteTableV2Get + - name: /VirtualHubRouteTableV2s/get/VirtualHubRouteTableV2List + - name: /VirtualHubRouteTableV2s/delete/VirtualHubRouteTableV2Delete + - split: vpnsites + - name: /VirtualWans/put/VirtualWANCreate + - name: /VpnSites/put/VpnSiteCreate + - name: /VpnSites/get/VpnSiteGet + - name: /VpnSites/get/VpnSiteListByResourceGroup + - name: /VpnSites/get/VpnSiteList + - name: /VpnSites/patch/VpnSiteUpdate + - name: /VpnSites/delete/VpnSiteDelete + - split: ipgroups + - name: /IpGroups/put/CreateOrUpdate_IpGroups + - name: /IpGroups/get/Get_IpGroups + - name: /IpGroups/get/ListByResourceGroup_IpGroups + - name: /IpGroups/get/List_IpGroups + - name: /IpGroups/patch/Update_IpGroups + comment: The requested resource does not support http method 'PATCH'. + disabled: true + - name: /IpGroups/delete/Delete_IpGroups + - split: bastionhosts + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /BastionHosts/put/Create Bastion Host + - name: /BastionHosts/get/Get Bastion Host + - name: /BastionHosts/get/List all Bastion Hosts for a given resource group + - name: /BastionHosts/get/List all Bastion Hosts for a given subscription + - name: /BastionHosts/delete/Delete Bastion Host + - split: inboundnatrules + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /LoadBalancers/put/Create load balancer + - name: /InboundNatRules/put/InboundNatRuleCreate + - name: /InboundNatRules/get/InboundNatRuleGet + - name: /InboundNatRules/get/InboundNatRuleList + - name: /InboundNatRules/delete/InboundNatRuleDelete + - split: networksecuritygroups + - name: /NetworkSecurityGroups/put/Create network security group + - name: /NetworkSecurityGroups/put/Create network security group with rule + - name: /NetworkSecurityGroups/get/Get network security group + - name: /NetworkSecurityGroups/get/List network security groups in resource group + - name: /NetworkSecurityGroups/get/List all network security groups + - name: /NetworkSecurityGroups/patch/Update network security group tags + - name: /NetworkSecurityGroups/delete/Delete network security group + - split: securityrules + - name: /NetworkSecurityGroups/put/Create network security group + - name: /SecurityRules/put/Create security rule + - name: /SecurityRules/get/List network security rules in network security group + - name: /SecurityRules/get/Get network security rule in network security group + - name: /SecurityRules/delete/Delete network security rule from network security group + - split: ipallocations + - name: /VirtualNetworks/put/Create virtual network + - name: /IpAllocations/put/Create IpAllocation + comment: "Azure Error: HypernetIpAllocationSubscriptionNotOnboardHypernet" + - name: /IpAllocations/get/Get IpAllocation + - name: /IpAllocations/get/List IpAllocations in resource group + - name: /IpAllocations/get/List all IpAllocations + - name: /IpAllocations/patch/Update virtual network tags + - name: /IpAllocations/delete/Delete IpAllocation + - split: publicipprefixes + - name: /PublicIPPrefixes/put/Create public IP prefix defaults + - name: /PublicIPPrefixes/put/Create public IP prefix allocation method + - name: /PublicIPPrefixes/get/Get public IP prefix + - name: /PublicIPPrefixes/get/List resource group public IP prefixes + - name: /PublicIPPrefixes/get/List all public IP prefixes + - name: /PublicIPPrefixes/patch/Update public IP prefix tags + - name: /PublicIPPrefixes/delete/Delete public IP prefix + - split: firewallpolicies + - name: /FirewallPolicies/put/Create FirewallPolicy + - name: /FirewallPolicyRuleGroups/put/Create FirewallPolicyRuleGroup + - name: /FirewallPolicyRuleGroups/put/Create FirewallPolicyRuleGroup With IpGroups + - name: /FirewallPolicyRuleGroups/get/Get FirewallPolicyRuleGroup With IpGroups + - name: /FirewallPolicyRuleGroups/get/Get FirewallPolicyRuleGroup + - name: /FirewallPolicyRuleGroups/get/List all FirewallPolicyRuleGroups for a given FirewallPolicy + - name: /FirewallPolicyRuleGroups/get/List all FirewallPolicyRuleGroups with IpGroups for a given FirewallPolicy + - name: /FirewallPolicies/get/Get FirewallPolicy + - name: /FirewallPolicies/get/List all Firewall Policies for a given resource group + - name: /FirewallPolicies/get/List all Firewall Policies for a given subscription + - name: /FirewallPolicyRuleGroups/delete/Delete FirewallPolicyRuleGroup + - name: /FirewallPolicies/delete/Delete Firewall Policy + - split: virtualrouters + - name: /VirtualRouters/put/Create VirtualRouter + - name: /VirtualRouters/get/Get VirtualRouter + - name: /VirtualRouters/get/List all Virtual Router for a given resource group + - name: /VirtualRouters/get/List all Virtual Routers for a given subscription + - name: /VirtualRouters/delete/Delete VirtualRouter + - split: azurefirewalls + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /AzureFirewalls/put/Create Azure Firewall With IpGroups + - name: /AzureFirewalls/put/Create Azure Firewall With Additional Properties + - name: /AzureFirewalls/put/Create Azure Firewall in virtual Hub + - name: /AzureFirewalls/put/Create Azure Firewall With management subnet + - name: /AzureFirewalls/put/Create Azure Firewall With Zones + - name: /AzureFirewalls/put/Create Azure Firewall + - name: /AzureFirewalls/get/Get Azure Firewall + - name: /AzureFirewalls/get/Get Azure Firewall With Zones + - name: /AzureFirewalls/get/Get Azure Firewall With management subnet + - name: /AzureFirewalls/get/Get Azure Firewall With Additional Properties + - name: /AzureFirewalls/get/Get Azure Firewall With IpGroups + - name: /AzureFirewalls/get/List all Azure Firewalls for a given resource group + - name: /AzureFirewalls/get/List all Azure Firewalls for a given subscription + - name: /AzureFirewalls/patch/Update Azure Firewall Tags + - name: /AzureFirewalls/delete/Delete Azure Firewall + - split: vpngateways + - name: /VpnGateways/put/VpnGatewayPut + - name: /VpnGateways/get/VpnGatewayGet + - name: /VpnGateways/get/VpnGatewayListByResourceGroup + - name: /VpnGateways/get/VpnGatewayListBySubscription + - name: /VpnGateways/post/ResetVpnGateway + - name: /VpnGateways/patch/VpnGatewayUpdate + - name: /VpnGateways/delete/VpnGatewayDelete + - split: natgateways + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /PublicIPPrefixes/put/Create public IP prefix defaults + - name: /NatGateways/put/Create nat gateway + - name: /NatGateways/get/Get nat gateway + - name: /NatGateways/get/List nat gateways in resource group + - name: /NatGateways/get/List all nat gateways + - name: /NatGateways/patch/Update nat gateway tags + - name: /NatGateways/delete/Delete nat gateway + - split: virtualnetworktaps + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /NetworkInterfaces/put/Create network interface + - name: /VirtualNetworkTaps/put/Create Virtual Network Tap + - name: /VirtualNetworkTaps/get/Get Virtual Network Tap + - name: /VirtualNetworkTaps/get/List virtual network taps in resource group + - name: /VirtualNetworkTaps/get/List all virtual network taps + - name: /VirtualNetworkTaps/patch/Update virtual network tap tags + - name: /VirtualNetworkTaps/delete/Delete Virtual Network Tap resource + - split: networkinterfacetapconfigurations + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /NetworkInterfaces/put/Create network interface + - name: /VirtualNetworkTaps/put/Create Virtual Network Tap + - name: /NetworkInterfaceTapConfigurations/put/Create Network Interface Tap Configurations + - name: /NetworkInterfaceTapConfigurations/get/Get Network Interface Tap Configurations + - name: /NetworkInterfaceTapConfigurations/get/List virtual network tap configurations + - name: /NetworkInterfaceTapConfigurations/delete/Delete tap configuration + - split: virtualnetworkgateways + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /VirtualNetworkGateways/put/UpdateVirtualNetworkGateway + - name: /VirtualNetworkGateways/get/VirtualNetworkGatewaysListConnections + - name: /VirtualNetworkGateways/get/GetVirtualNetworkGateway + - name: /VirtualNetworkGateways/get/ListVirtualNetworkGatewaysinResourceGroup + - name: /VirtualNetworkGateways/post/Disconnect VpnConnections from Virtual Network Gateway + - name: /VirtualNetworkGateways/post/GetVPNDeviceConfigurationScript + - name: /VirtualNetworkGateways/post/GetVirtualNetworkGatewayVpnclientConnectionHealth + - name: /VirtualNetworkGateways/post/Set VirtualNetworkGateway VpnClientIpsecParameters + - name: /VirtualNetworkGateways/post/Get VirtualNetworkGateway VpnClientIpsecParameters + - name: /VirtualNetworkGateways/post/GenerateVPNClientPackage + - name: /VirtualNetworkGateways/post/GetVirtualNetworkGatewayVPNProfilePackageURL + - name: /VirtualNetworkGateways/post/ResetVpnClientSharedKey + - name: /VirtualNetworkGateways/post/ListVirtualNetworkGatewaySupportedVPNDevices + - name: /VirtualNetworkGateways/post/GetVirtualNetworkGatewayAdvertisedRoutes + - name: /VirtualNetworkGateways/post/Start packet capture on virtual network gateway without filter + - name: /VirtualNetworkGateways/post/Start packet capture on virtual network gateway with filter + - name: /VirtualNetworkGateways/post/GenerateVirtualNetworkGatewayVPNProfile + - name: /VirtualNetworkGateways/post/Stop packet capture on virtual network gateway + - name: /VirtualNetworkGateways/post/GetVirtualNetworkGatewayLearnedRoutes + - name: /VirtualNetworkGateways/post/GetVirtualNetworkGatewayBGPPeerStatus + - name: /VirtualNetworkGateways/post/ResetVirtualNetworkGateway + - name: /VirtualNetworkGateways/patch/UpdateVirtualNetworkGatewayTags + disabled: true + comment: "FAILURE: Unable to find status link for polling." + - name: /VirtualNetworkGateways/delete/DeleteVirtualNetworkGateway + - split: p2svpngateways + - name: /P2sVpnGateways/put/P2SVpnGatewayPut + - name: /P2sVpnGateways/get/P2SVpnGatewayGet + - name: /P2sVpnGateways/get/P2SVpnGatewayListByResourceGroup + - name: /P2sVpnGateways/get/P2SVpnGatewayListBySubscription + - name: /P2sVpnGateways/post/Disconnect VpnConnections from P2sVpn Gateway + - name: /P2sVpnGateways/post/P2SVpnGatewayGetConnectionHealthDetailed + - name: /P2sVpnGateways/post/P2SVpnGatewayGetConnectionHealth + - name: /P2sVpnGateways/post/GenerateP2SVpnGatewayVPNProfile + - name: /P2sVpnGateways/patch/P2SVpnGatewayUpdate + - name: /P2sVpnGateways/delete/P2SVpnGatewayDelete + - split: privatelinkservices + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /LoadBalancers/put/Create load balancer with Frontend IP in Zone 1 + - name: /PrivateLinkServices/put/Create private link service + - name: /PrivateLinkServices/put/approve or reject private end point connection for a private link service + - name: /PrivateLinkServices/get/Get private end point connection + - name: /PrivateLinkServices/get/List private link service in resource group + - name: /PrivateLinkServices/get/Get list of private link service id that can be linked to a private end point with auto approved + - name: /PrivateLinkServices/get/Get private link service + - name: /PrivateLinkServices/get/Get list of private link service id that can be linked to a private end point with auto approved + - name: /PrivateLinkServices/get/List private link service in resource group + - name: /PrivateLinkServices/get/List all private list service + - name: /PrivateLinkServices/post/Check private link service visibility + - name: /PrivateLinkServices/post/Check private link service visibility + - name: /PrivateLinkServices/delete/delete private end point connection for a private link service + - name: /PrivateLinkServices/delete/Delete private link service + - split: expressroutecircuits + - name: /ExpressRouteCircuits/put/Create ExpressRouteCircuit + - name: /ExpressRouteCircuitPeerings/put/Create ExpressRouteCircuit Peerings + - name: /ExpressRouteCircuits/put/Create ExpressRouteCircuit on ExpressRoutePort + disabled: true + comment: Disabled as express route port can't be created + - name: /ExpressRouteCircuits/get/Get ExpressRoute Circuit Peering Traffic Stats + - name: /ExpressRouteCircuits/get/Get ExpressRoute Circuit Traffic Stats + - name: /ExpressRouteCircuits/get/Get ExpressRouteCircuit + - name: /ExpressRouteCircuits/get/List ExpressRouteCircuits in a resource group + - name: /ExpressRouteCircuits/get/List ExpressRouteCircuits in a subscription + - name: /ExpressRouteCircuits/post/List Route Table Summary + disabled: true + comment: Disabled - not sure what device path should be + - name: /ExpressRouteCircuits/post/List Route Tables + disabled: true + comment: Disabled - not sure what device path should be + - name: /ExpressRouteCircuits/post/List ARP Table + disabled: true + comment: Disabled - not sure what device path should be + - name: /ExpressRouteCircuits/patch/Update Express Route Circuit Tags + - name: /ExpressRouteCircuits/delete/Delete ExpressRouteCircuit + disabled: true + comment: "Azure Error: AnotherOperationInProgress" + - split: expressrouteports + - name: /ExpressRoutePorts/put/ExpressRoutePortCreate + disabled: true + comment: The resource type could not be found in the namespace 'Microsoft.Network' for api version '2020-04-01' + - name: /ExpressRoutePorts/put/ExpressRoutePortUpdateLink + disabled: true + comment: The resource type could not be found in the namespace 'Microsoft.Network' for api version '2020-04-01' + - name: /ExpressRoutePorts/get/ExpressRoutePortGet + disabled: true + comment: The resource type could not be found in the namespace 'Microsoft.Network' for api version '2020-04-01' + - name: /ExpressRoutePorts/get/ExpressRoutePortListByResourceGroup + disabled: true + comment: The resource type could not be found in the namespace 'Microsoft.Network' for api version '2020-04-01' + - name: /ExpressRoutePorts/get/ExpressRoutePortList + disabled: true + comment: The resource type could not be found in the namespace 'Microsoft.Network' for api version '2020-04-01' + - name: /ExpressRoutePorts/patch/ExpressRoutePortUpdateTags + disabled: true + comment: The resource type could not be found in the namespace 'Microsoft.Network' for api version '2020-04-01' + - name: /ExpressRoutePorts/delete/ExpressRoutePortDelete + disabled: true + comment: The resource type could not be found in the namespace 'Microsoft.Network' for api version '2020-04-01' + - split: networkwatchers + - name: /NetworkWatchers/put/Create network watcher + - name: /NetworkWatchers/get/Get network watcher + - name: /NetworkWatchers/get/List network watchers + - name: /NetworkWatchers/get/List all network watchers + - name: /NetworkWatchers/post/Network configuration diagnostic + - name: /NetworkWatchers/post/Get troubleshoot result + - name: /NetworkWatchers/post/Get Azure Reachability Report + - name: /NetworkWatchers/post/Get Available Providers List + - name: /NetworkWatchers/post/Get flow log status + - name: /NetworkWatchers/post/Get security group view + - name: /NetworkWatchers/post/Check connectivity + - name: /NetworkWatchers/post/Configure flow log + - name: /NetworkWatchers/post/Ip flow verify + - name: /NetworkWatchers/post/Get troubleshooting + - name: /NetworkWatchers/post/Get Topology + - name: /NetworkWatchers/post/Get next hop + - name: /NetworkWatchers/patch/Update network watcher tags + - name: /NetworkWatchers/delete/Delete network watcher + - split: privateendpoints + - name: /PrivateEndpoints/put/Create private endpoint with manual approval connection + - name: /PrivateEndpoints/put/Create private endpoint + - name: /PrivateEndpoints/get/Get private endpoint + - name: /PrivateEndpoints/get/Get private endpoint with manual approval connection + - name: /PrivateEndpoints/get/List private endpoints in resource group + - name: /PrivateEndpoints/get/List all private endpoints + - name: /PrivateEndpoints/delete/Delete private endpoint + - split: applicationgateways + - name: /ApplicationGateways/put/Create Application Gateway + - name: /ApplicationGateways/get/Get Available Ssl Predefined Policy by name + - name: /ApplicationGateways/get/Get Available Ssl Predefined Policies + - name: /ApplicationGateways/get/Get Available Ssl Options + - name: /ApplicationGateways/get/Get ApplicationGateway + - name: /ApplicationGateways/get/Lists all application gateways in a resource group + - name: /ApplicationGateways/get/Get Available Server Variables + - name: /ApplicationGateways/get/Get Available Response Headers + - name: /ApplicationGateways/get/Get Available Request Headers + - name: /ApplicationGateways/get/Get Available Waf Rule Sets + - name: /ApplicationGateways/get/Lists all application gateways in a subscription + - name: /ApplicationGateways/post/Test Backend Health + - name: /ApplicationGateways/post/Get Backend Health + - name: /ApplicationGateways/post/Start Application Gateway + - name: /ApplicationGateways/post/Stop Application Gateway + - name: /ApplicationGateways/patch/Update Application Gateway tags + - name: /ApplicationGateways/delete/Delete ApplicationGateway + - split: networkprofiles + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /NetworkProfiles/put/Create network profile defaults + - name: /NetworkProfiles/get/Get network profile with container network interfaces + - name: /NetworkProfiles/get/Get network profile + - name: /NetworkProfiles/get/List resource group network profiles + - name: /NetworkProfiles/get/List all network profiles + - name: /NetworkProfiles/patch/Update network profile tags + - name: /NetworkProfiles/delete/Delete network profile + - split: localnetworkgateways + - name: /LocalNetworkGateways/put/CreateLocalNetworkGateway + - name: /LocalNetworkGateways/get/GetLocalNetworkGateway + - name: /LocalNetworkGateways/get/ListLocalNetworkGateways + - name: /LocalNetworkGateways/patch/UpdateLocalNetworkGatewayTags + - name: /LocalNetworkGateways/delete/DeleteLocalNetworkGateway + - split: serviceendpointpolicies + - name: /ServiceEndpointPolicies/put/Create service endpoint policy with definition + - name: /ServiceEndpointPolicies/put/Create service endpoint policy + - name: /ServiceEndpointPolicies/get/Get service endPoint Policy + - name: /ServiceEndpointPolicies/get/List resource group service endpoint policies + - name: /ServiceEndpointPolicies/get/List all service endpoint policy + - name: /ServiceEndpointPolicies/patch/Update service endpoint policy tags + - name: /ServiceEndpointPolicies/delete/Delete service endpoint policy + - split: serviceendpointpolicydefinitions + - name: /ServiceEndpointPolicies/put/Create service endpoint policy + - name: /ServiceEndpointPolicyDefinitions/put/Create service endpoint policy definition + - name: /ServiceEndpointPolicyDefinitions/get/Get service endpoint definition in service endpoint policy + - name: /ServiceEndpointPolicyDefinitions/get/List service endpoint definitions in service end point policy + - name: /ServiceEndpointPolicyDefinitions/delete/Delete service endpoint policy definitions from service endpoint policy + - split: ddoscustompolicies + - name: /DdosCustomPolicies/put/Create DDoS custom policy + - name: /DdosCustomPolicies/get/Get DDoS custom policy + - name: /DdosCustomPolicies/patch/DDoS Custom policy Update tags + - name: /DdosCustomPolicies/delete/Delete DDoS custom policy + - split: ddosprotectionplans + - name: /DdosProtectionPlans/put/Create DDoS protection plan + - name: /DdosProtectionPlans/get/Get DDoS protection plan + - name: /DdosProtectionPlans/get/List DDoS protection plans in resource group + - name: /DdosProtectionPlans/get/List all DDoS protection plans + - name: /DdosProtectionPlans/patch/DDoS protection plan Update tags + - name: /DdosProtectionPlans/delete/Delete DDoS protection plan + - split: expressroutegateways + - name: /VirtualWans/put/VirtualWANCreate + - name: /VirtualHubs/put/VirtualHubPut + - name: /ExpressRouteGateways/put/ExpressRouteGatewayCreate + - name: /ExpressRouteGateways/get/ExpressRouteGatewayListByResourceGroup + - name: /ExpressRouteGateways/get/ExpressRouteGatewayListBySubscription + - name: /ExpressRouteGateways/get/ExpressRouteGatewayGet + - name: /ExpressRouteGateways/delete/ExpressRouteGatewayDelete + - split: expressroutecrossconnections + - name: /ExpressRouteCrossConnections/put/UpdateExpressRouteCrossConnection + - name: /ExpressRouteCrossConnections/get/GetExpressRouteCrossConnection + - name: /ExpressRouteCrossConnections/get/ExpressRouteCrossConnectionListByResourceGroup + - name: /ExpressRouteCrossConnections/get/ExpressRouteCrossConnectionList + - name: /ExpressRouteCrossConnections/post/GetExpressRouteCrossConnectionsRouteTableSummary + - name: /ExpressRouteCrossConnections/post/GetExpressRouteCrossConnectionsRouteTable + - name: /ExpressRouteCrossConnections/post/GetExpressRouteCrossConnectionsArpTable + - name: /ExpressRouteCrossConnections/patch/UpdateExpressRouteCrossConnectionTags + - split: virtualnetworkgatewayconnections + - name: /VirtualNetworkGatewayConnections/put/CreateVirtualNetworkGatewayConnection_S2S + - name: /VirtualNetworkGatewayConnections/put/SetVirtualNetworkGatewayConnectionSharedKey + - name: /VirtualNetworkGatewayConnections/get/GetVirtualNetworkGatewayConnectionSharedKey + - name: /VirtualNetworkGatewayConnections/get/GetVirtualNetworkGatewayConnection + - name: /VirtualNetworkGatewayConnections/get/ListVirtualNetworkGatewayConnectionsinResourceGroup + - name: /VirtualNetworkGatewayConnections/post/ResetVirtualNetworkGatewayConnectionSharedKey + - name: /VirtualNetworkGatewayConnections/post/Start packet capture on virtual network gateway connection with filter + - name: /VirtualNetworkGatewayConnections/post/Start packet capture on virtual network gateway connection without filter + - name: /VirtualNetworkGatewayConnections/post/Stop packet capture on virtual network gateway connection + - name: /VirtualNetworkGatewayConnections/patch/UpdateVirtualNetworkGatewayConnectionTags + - name: /VirtualNetworkGatewayConnections/delete/DeleteVirtualNetworkGatewayConnection + - split: vpnserverconfigurations + - name: /VpnServerConfigurations/put/VpnServerConfigurationCreate + - name: /VpnServerConfigurations/get/VpnServerConfigurationGet + - name: /VpnServerConfigurations/get/VpnServerConfigurationListByResourceGroup + - name: /VpnServerConfigurations/get/VpnServerConfigurationList + - name: /VpnServerConfigurations/patch/VpnServerConfigurationUpdate + - name: /VpnServerConfigurations/delete/VpnServerConfigurationDelete + - split: networkvirtualappliances + - name: /VirtualWans/put/VirtualWANCreate + - name: /VirtualHubs/put/VirtualHubPut + - name: /NetworkVirtualAppliances/put/Create NetworkVirtualAppliance + comment: "The resource type could not be found in the namespace 'Microsoft.Network' for api version '2020-04-01'" + - name: /NetworkVirtualAppliances/get/Get NetworkVirtualAppliance + - name: /NetworkVirtualAppliances/get/List all Network Virtual Appliance for a given resource group + - name: /NetworkVirtualAppliances/get/List all Network Virtual Appliances for a given subscription + - name: /NetworkVirtualAppliances/patch/Update NetworkVirtualAppliance + - name: /NetworkVirtualAppliances/delete/Delete NetworkVirtualAppliance + - split: securitypartnerproviders + - name: /SecurityPartnerProviders/put/Create Security Partner Provider + - name: /SecurityPartnerProviders/get/Get Security Partner Provider + - name: /SecurityPartnerProviders/get/List all Security Partner Providers for a given resource group + - name: /SecurityPartnerProviders/get/List all Security Partner Providers for a given subscription + - name: /SecurityPartnerProviders/patch/Update Security Partner Provider Tags + - name: /SecurityPartnerProviders/delete/Delete Security Partner Provider + - split: applicationsecuritygroups + - name: /ApplicationSecurityGroups/put/Create application security group + - name: /ApplicationSecurityGroups/get/Get application security group + - name: /ApplicationSecurityGroups/get/List load balancers in resource group + - name: /ApplicationSecurityGroups/get/List all application security groups + - name: /ApplicationSecurityGroups/patch/Update application security group tags + - name: /ApplicationSecurityGroups/delete/Delete application security group + - split: webapplicationfirewallpolicies + - name: /WebApplicationFirewallPolicies/put/Creates or updates a WAF policy within a resource group + - name: /WebApplicationFirewallPolicies/get/Gets a WAF policy within a resource group + - name: /WebApplicationFirewallPolicies/get/Lists all WAF policies in a resource group + - name: /WebApplicationFirewallPolicies/get/Lists all WAF policies in a subscription + - name: /WebApplicationFirewallPolicies/delete/Deletes a WAF policy within a resource group + - split: vpnconnections + - name: /VpnConnections/put/VpnConnectionPut + - name: /VpnConnections/get/VpnConnectionGet + - name: /VpnConnections/get/VpnConnectionList + - name: /VpnConnections/delete/VpnConnectionDelete + - split: loadbalancerbackendaddresspools + - name: /VirtualNetworks/put/Create virtual network + - name: /Subnets/put/Create subnet + - name: /PublicIPAddresses/put/Create public IP address defaults + - name: /LoadBalancers/put/Create load balancer with Frontend IP in Zone 1 + - name: /LoadBalancerBackendAddressPools/put/Update load balancer backend pool with backend addresses containing virtual network and IP address defined in network interfaces. + - name: /LoadBalancerBackendAddressPools/put/Update load balancer backend pool with backend addresses containing virtual network and IP address. + - name: /LoadBalancerBackendAddressPools/get/LoadBalancerBackendAddressPoolGet + - name: /LoadBalancerBackendAddressPools/get/LoadBalancer with BackendAddressPool with BackendAddresses + - name: /LoadBalancerBackendAddressPools/get/Load balancer with BackendAddressPool containing BackendAddresses + - name: /LoadBalancerBackendAddressPools/get/LoadBalancerBackendAddressPoolList + - name: /LoadBalancerBackendAddressPools/delete/BackendAddressPoolDelete + - split: expressroutecircuitpeerings + - name: /ExpressRouteCircuits/put/Create ExpressRouteCircuit + - name: /ExpressRouteCircuitPeerings/put/Create ExpressRouteCircuit Peerings + - name: /ExpressRouteCircuitPeerings/get/Get ExpressRouteCircuit Peering + - name: /ExpressRouteCircuitPeerings/get/List ExpressRouteCircuit Peerings + - name: /ExpressRouteCircuitPeerings/delete/Delete ExpressRouteCircuit Peerings + - split: virtualrouterpeerings + - name: /VirtualRouterPeerings/put/Create Virtual Router Peering + - name: /VirtualRouterPeerings/get/Get Virtual Router Peering + - name: /VirtualRouterPeerings/get/List all Virtual Router Peerings for a given Virtual Router + - name: /VirtualRouterPeerings/delete/Delete VirtualRouterPeering + - split: connectionmonitors + - name: /ConnectionMonitors/put/Create connection monitor V2 + - name: /ConnectionMonitors/put/Create connection monitor V1 + - name: /ConnectionMonitors/get/Get connection monitor + - name: /ConnectionMonitors/get/List connection monitors + - name: /ConnectionMonitors/post/Start connection monitor + - name: /ConnectionMonitors/post/Query connection monitor + - name: /ConnectionMonitors/post/Stop connection monitor + - name: /ConnectionMonitors/patch/Update connection monitor tags + - name: /ConnectionMonitors/delete/Delete connection monitor + - split: packetcaptures + - name: /PacketCaptures/put/Create packet capture + - name: /PacketCaptures/get/Get packet capture + - name: /PacketCaptures/get/List packet captures + - name: /PacketCaptures/post/Query packet capture status + - name: /PacketCaptures/post/Stop packet capture + - name: /PacketCaptures/delete/Delete packet capture + - split: flowlogs + - name: /NetworkSecurityGroups/put/Create network security group + - name: /FlowLogs/put/Create or update flow log + - name: /FlowLogs/get/Get flow log + - name: /FlowLogs/get/List connection monitors + - name: /FlowLogs/delete/Delete flow log + - split: hubroutetables + - name: /HubRouteTables/put/RouteTablePut + - name: /HubRouteTables/get/RouteTableGet + - name: /HubRouteTables/get/RouteTableList + - name: /HubRouteTables/delete/RouteTableDelete + - split: expressroutecircuitauthorizations + - name: /ExpressRouteCircuits/put/Create ExpressRouteCircuit + - name: /ExpressRouteCircuitAuthorizations/put/Create ExpressRouteCircuit Authorization + - name: /ExpressRouteCircuitAuthorizations/get/Get ExpressRouteCircuit Authorization + - name: /ExpressRouteCircuitAuthorizations/get/List ExpressRouteCircuit Authorization + - name: /ExpressRouteCircuitAuthorizations/delete/Delete ExpressRouteCircuit Authorization + - split: expressroutecrossconnectionpeerings + - name: /ExpressRouteCrossConnectionPeerings/put/ExpressRouteCrossConnectionBgpPeeringCreate + - name: /ExpressRouteCrossConnectionPeerings/get/GetExpressRouteCrossConnectionBgpPeering + - name: /ExpressRouteCrossConnectionPeerings/get/ExpressRouteCrossConnectionBgpPeeringList + - name: /ExpressRouteCrossConnectionPeerings/delete/DeleteExpressRouteCrossConnectionBgpPeering + - split: privatednszonegroups + - name: /PrivateDnsZoneGroups/put/Create private dns zone group + - name: /PrivateDnsZoneGroups/get/Get private dns zone group + - name: /PrivateDnsZoneGroups/get/List private endpoints in resource group + - name: /PrivateDnsZoneGroups/delete/Delete private dns zone group + - split: expressrouteconnections + - name: /ExpressRouteCircuits/put/Create ExpressRouteCircuit + - name: /ExpressRouteCircuitPeerings/put/Create ExpressRouteCircuit Peerings + - name: /VirtualWans/put/VirtualWANCreate + - name: /VirtualHubs/put/VirtualHubPut + - name: /ExpressRouteGateways/put/ExpressRouteGatewayCreate + - name: /ExpressRouteConnections/put/ExpressRouteConnectionCreate + - name: /ExpressRouteConnections/get/ExpressRouteConnectionGet + - name: /ExpressRouteConnections/get/ExpressRouteConnectionList + - name: /ExpressRouteConnections/delete/ExpressRouteConnectionDelete + - split: virtualnetworkpeerings + - name: /VirtualNetworkPeerings/put/Create peering + - name: /VirtualNetworkPeerings/get/Get peering + - name: /VirtualNetworkPeerings/get/List peerings + - name: /VirtualNetworkPeerings/delete/Delete peering + - split: expressroutecircuitconnections + - name: /ExpressRouteCircuitConnections/put/ExpressRouteCircuitConnectionCreate + - name: /ExpressRouteCircuitConnections/get/ExpressRouteCircuitConnectionGet + - name: /ExpressRouteCircuitConnections/get/List ExpressRouteCircuit Connection + - name: /ExpressRouteCircuitConnections/delete/Delete ExpressRouteCircuit + + - split: other + - name: /VpnSiteLinkConnections/get/VpnSiteLinkConnectionGet + - name: /DefaultSecurityRules/get/DefaultSecurityRuleGet + - name: /PeerExpressRouteCircuitConnections/get/PeerExpressRouteCircuitConnectionGet + - name: /LoadBalancerFrontendIPConfigurations/get/LoadBalancerFrontendIPConfigurationGet + - name: /ResourceNavigationLinks/get/Get Resource Navigation Links + - name: /ServiceAssociationLinks/get/Get Service Association Links + - name: /NetworkInterfaceIPConfigurations/get/NetworkInterfaceIPConfigurationGet + - name: /LoadBalancerLoadBalancingRules/get/LoadBalancerLoadBalancingRuleGet + - name: /VpnLinkConnections/get/VpnSiteLinkConnectionList + - name: /HubVirtualNetworkConnections/get/HubVirtualNetworkConnectionGet + - name: /PeerExpressRouteCircuitConnections/get/List Peer ExpressRouteCircuit Connection + - name: /LoadBalancerOutboundRules/get/LoadBalancerOutboundRuleGet + - name: /DefaultSecurityRules/get/DefaultSecurityRuleList + - name: /ExpressRouteLinks/get/ExpressRouteLinkGet + - name: /VpnSiteLinks/get/VpnSiteGet + - name: /LoadBalancerFrontendIPConfigurations/get/LoadBalancerFrontendIPConfigurationList + - name: /HubVirtualNetworkConnections/get/HubVirtualNetworkConnectionList + - name: /NetworkInterfaceIPConfigurations/get/NetworkInterfaceIPConfigurationList + - name: /LoadBalancerProbes/get/LoadBalancerProbeGet + - name: /AvailablePrivateEndpointTypes/get/Get available PrivateEndpoint types in the resource group + - name: //get/supportedSecurityProviders + - name: /NetworkInterfaceLoadBalancers/get/NetworkInterfaceLoadBalancerList + - name: /LoadBalancerLoadBalancingRules/get/LoadBalancerLoadBalancingRuleList + - name: /LoadBalancerNetworkInterfaces/get/LoadBalancerNetworkInterfaceListVmss + - name: /LoadBalancerNetworkInterfaces/get/LoadBalancerNetworkInterfaceListSimple + - name: /AvailableServiceAliases/get/Get available service aliases in the resource group + - name: /ExpressRouteLinks/get/ExpressRouteLinkGet + - name: /LoadBalancerOutboundRules/get/LoadBalancerOutboundRuleList + - name: /AvailableResourceGroupDelegations/get/Get available delegations in the resource group + - name: /LoadBalancerProbes/get/LoadBalancerProbeList + - name: /VpnSiteLinks/get/VpnSiteLinkListByVpnSite + - name: /AvailableEndpointServices/get/EndpointServicesList + - name: /AvailablePrivateEndpointTypes/get/Get available PrivateEndpoint types + - name: //get/Check Dns Name Availability + - name: /AvailableServiceAliases/get/Get available service aliases + - name: /AvailableDelegations/get/Get available delegations + - name: /ExpressRoutePortsLocations/get/ExpressRoutePortsLocationGet + - name: /ServiceTags/get/Get list of service tags + - name: /Usages/get/List usages + - name: /Usages/get/List usages spaced location + - name: /ExpressRouteServiceProviders/get/List ExpressRoute providers + - name: /ExpressRoutePortsLocations/get/ExpressRoutePortsLocationList + - name: /AzureFirewallFqdnTags/get/List all Azure Firewall FQDN Tags for a given subscription + - name: /BgpServiceCommunities/get/ServiceCommunityList + - name: /Operations/get/Get a list of operations for a resource provider + - name: //post/Deletes the specified active session + - name: //post/Create Bastion Shareable Links for the request VMs + - name: //post/Delete Bastion Shareable Links for the request VMs + - name: /VpnServerConfigurationsAssociatedWithVirtualWan/post/GetVirtualWanVpnServerConfigurations + - name: //post/Returns the Bastion Shareable Links for the request VMs + - name: //post/Returns a list of currently active sessions on the Bastion + - name: //post/GenerateVirtualWanVpnServerConfigurationVpnProfile + - name: /VpnSitesConfiguration/post/VpnSitesConfigurationDownload +``` diff --git a/specification/network/resource-manager/readme.go.md b/specification/network/resource-manager/readme.go.md index a1304cfb2ee8..e5d2b5e50dac 100644 --- a/specification/network/resource-manager/readme.go.md +++ b/specification/network/resource-manager/readme.go.md @@ -13,6 +13,9 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-06 + - tag: package-2020-05 + - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-12 - tag: package-2019-11 @@ -45,6 +48,24 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2020-06 and go + +These settings apply only when `--tag=package-2020-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +``` + +### Tag: package-2020-05 and go + +These settings apply only when `--tag=package-2020-05 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-05' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace) +``` + ### Tag: package-2020-04 and go These settings apply only when `--tag=package-2020-04 --go` is specified on the command line. diff --git a/specification/network/resource-manager/readme.java.md b/specification/network/resource-manager/readme.java.md index 2c46f72efaf5..19eb6c7ecd1a 100644 --- a/specification/network/resource-manager/readme.java.md +++ b/specification/network/resource-manager/readme.java.md @@ -10,12 +10,27 @@ namespace: com.microsoft.azure.management.network license-header: MICROSOFT_MIT_NO_CODEGEN payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-network +directive: + - rename-operation: + from: VirtualHubBgpConnection_Get + to: VirtualHubBgpConnections_Get + - rename-operation: + from: VirtualHubBgpConnection_CreateOrUpdate + to: VirtualHubBgpConnections_CreateOrUpdate + - rename-operation: + from: VirtualHubBgpConnection_Delete + to: VirtualHubBgpConnections_Delete + - rename-operation: + from: InboundSecurityRule_CreateOrUpdate + to: InboundSecurityRuleOperation_CreateOrUpdate ``` ### Java multi-api ``` yaml $(java) && $(multiapi) batch: + - tag: package-2020-06 + - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-09 @@ -26,6 +41,32 @@ batch: - tag: package-2019-02 ``` +### Tag: package-2020-06 and java + +These settings apply only when `--tag=package-2020-06 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.network.v2020_06_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/network/mgmt-v2020_06_01 + regenerate-manager: true + generate-interface: true +``` + +### Tag: package-2020-05 and java + +These settings apply only when `--tag=package-2020-05 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-05' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.network.v2020_05_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/network/mgmt-v2020_05_01 + regenerate-manager: true + generate-interface: true +``` + ### Tag: package-2020-04 and java These settings apply only when `--tag=package-2020-04 --java` is specified on the command line. diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 9db19ff5ac47..5211d0e3ddac 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -28,15 +28,69 @@ These are the global settings for the Network API. title: NetworkManagementClient description: Network Client openapi-type: arm -tag: package-2020-05 +tag: package-2020-06 ``` +### Tag: package-2020-06 + +These settings apply only when `--tag=package-2020-06` is specified on the command line. + +```yaml $(tag) == 'package-2020-06' +input-file: + - Microsoft.Network/stable/2020-06-01/applicationGateway.json + - Microsoft.Network/stable/2020-06-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2020-06-01/availableDelegations.json + - Microsoft.Network/stable/2020-06-01/availableServiceAliases.json + - Microsoft.Network/stable/2020-06-01/azureFirewall.json + - Microsoft.Network/stable/2020-06-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2020-06-01/bastionHost.json + - Microsoft.Network/stable/2020-06-01/checkDnsAvailability.json + - Microsoft.Network/stable/2020-06-01/customIpPrefix.json + - Microsoft.Network/stable/2020-06-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2020-06-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2020-06-01/dscpConfiguration.json + - Microsoft.Network/stable/2020-06-01/endpointService.json + - Microsoft.Network/stable/2020-06-01/expressRouteCircuit.json + - Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2020-06-01/expressRoutePort.json + - Microsoft.Network/stable/2020-06-01/firewallPolicy.json + - Microsoft.Network/stable/2020-06-01/ipAllocation.json + - Microsoft.Network/stable/2020-06-01/ipGroups.json + - Microsoft.Network/stable/2020-06-01/loadBalancer.json + - Microsoft.Network/stable/2020-06-01/natGateway.json + - Microsoft.Network/stable/2020-06-01/network.json + - Microsoft.Network/stable/2020-06-01/networkInterface.json + - Microsoft.Network/stable/2020-06-01/networkProfile.json + - Microsoft.Network/stable/2020-06-01/networkSecurityGroup.json + - Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2020-06-01/networkWatcher.json + - Microsoft.Network/stable/2020-06-01/operation.json + - Microsoft.Network/stable/2020-06-01/privateEndpoint.json + - Microsoft.Network/stable/2020-06-01/privateLinkService.json + - Microsoft.Network/stable/2020-06-01/publicIpAddress.json + - Microsoft.Network/stable/2020-06-01/publicIpPrefix.json + - Microsoft.Network/stable/2020-06-01/routeFilter.json + - Microsoft.Network/stable/2020-06-01/routeTable.json + - Microsoft.Network/stable/2020-06-01/securityPartnerProvider.json + - Microsoft.Network/stable/2020-06-01/serviceCommunity.json + - Microsoft.Network/stable/2020-06-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2020-06-01/serviceTags.json + - Microsoft.Network/stable/2020-06-01/usage.json + - Microsoft.Network/stable/2020-06-01/virtualNetwork.json + - Microsoft.Network/stable/2020-06-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2020-06-01/virtualNetworkTap.json + - Microsoft.Network/stable/2020-06-01/virtualRouter.json + - Microsoft.Network/stable/2020-06-01/virtualWan.json + - Microsoft.Network/stable/2020-06-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2020-06-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2020-06-01/webapplicationfirewall.json +``` ### Tag: package-2020-05 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.Network/stable/2020-05-01/applicationGateway.json - Microsoft.Network/stable/2020-05-01/applicationSecurityGroup.json @@ -84,6 +138,7 @@ input-file: - Microsoft.Network/stable/2020-05-01/vmssPublicIpAddress.json - Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json ``` + ### Tag: package-2020-04 These settings apply only when `--tag=package-2020-04` is specified on the command line. @@ -1367,6 +1422,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: checkDnsAvailability.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: customIpPrefix.json + reason: name, id and type properties are inherited from the upper level - suppress: RequiredPropertiesMissingInResourceModel from: ddosCustomPolicy.json reason: name, id and type properties are inherited from the upper level @@ -1397,6 +1455,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: loadBalancer.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: masterCustomIpPrefix.json + reason: name, id and type properties are inherited from the upper level - suppress: RequiredPropertiesMissingInResourceModel from: natGateway.json reason: name, id and type properties are inherited from the upper level @@ -1548,6 +1609,9 @@ directive: - suppress: RequiredPropertiesMissingInResourceModel from: ipAllocation.json reason: name, id and type properties are inherited from the upper level + - suppress: RequiredPropertiesMissingInResourceModel + from: dscpConfiguration.json + reason: name, id and type properties are inherited from the upper level ``` --- @@ -1576,6 +1640,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_network'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js network/resource-manager ``` ## Suppression @@ -1614,6 +1681,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -1626,6 +1697,97 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Network/stable/2020-06-01/applicationGateway.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/applicationSecurityGroup.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/availableDelegations.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/availableServiceAliases.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/azureFirewall.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/azureFirewallFqdnTag.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/bastionHost.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/checkDnsAvailability.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/customIpPrefix.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/ddosCustomPolicy.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/ddosProtectionPlan.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/dscpConfiguration.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/endpointService.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/expressRouteCircuit.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/expressRouteCrossConnection.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/expressRoutePort.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/firewallPolicy.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/ipAllocation.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/ipGroups.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/loadBalancer.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/natGateway.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/network.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/networkInterface.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/networkProfile.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/networkSecurityGroup.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/networkVirtualAppliance.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/networkWatcher.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/operation.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/privateEndpoint.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/privateLinkService.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/publicIpAddress.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/publicIpPrefix.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/routeFilter.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/routeTable.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/securityPartnerProvider.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/serviceCommunity.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/serviceEndpointPolicy.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/serviceTags.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/usage.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/virtualNetwork.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/virtualNetworkGateway.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/virtualNetworkTap.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/virtualRouter.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/virtualWan.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/vmssNetworkInterface.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/vmssPublicIpAddress.json + - $(this-folder)/Microsoft.Network/stable/2020-06-01/webapplicationfirewall.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/applicationGateway.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/applicationSecurityGroup.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/availableDelegations.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/availableServiceAliases.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/azureFirewall.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/azureFirewallFqdnTag.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/bastionHost.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/checkDnsAvailability.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/ddosCustomPolicy.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/ddosProtectionPlan.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/endpointService.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/expressRouteCircuit.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/expressRouteCrossConnection.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/expressRoutePort.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/firewallPolicy.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/ipAllocation.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/ipGroups.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/loadBalancer.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/natGateway.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/network.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkInterface.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkProfile.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkSecurityGroup.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkVirtualAppliance.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/networkWatcher.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/operation.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/privateEndpoint.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/privateLinkService.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/publicIpAddress.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/publicIpPrefix.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/routeFilter.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/routeTable.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/securityPartnerProvider.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/serviceCommunity.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/serviceEndpointPolicy.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/serviceTags.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/usage.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualNetwork.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualNetworkGateway.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualNetworkTap.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualRouter.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/virtualWan.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/vmssNetworkInterface.json + - $(this-folder)/Microsoft.Network/stable/2020-05-01/vmssPublicIpAddress.json - $(this-folder)/Microsoft.Network/stable/2020-04-01/applicationGateway.json - $(this-folder)/Microsoft.Network/stable/2020-04-01/applicationSecurityGroup.json - $(this-folder)/Microsoft.Network/stable/2020-04-01/availableDelegations.json @@ -2465,6 +2627,6 @@ If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' -#exclude-file: +#exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` diff --git a/specification/network/resource-manager/readme.python.md b/specification/network/resource-manager/readme.python.md index b76eb2ba5ee4..d3fb338b28f4 100644 --- a/specification/network/resource-manager/readme.python.md +++ b/specification/network/resource-manager/readme.python.md @@ -27,6 +27,8 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) && !$(track2) batch: + - tag: package-2020-06 + - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-12 @@ -60,6 +62,8 @@ batch: ```yaml $(multiapi) && $(track2) clear-output-folder: true batch: + - tag: package-2020-06 + - tag: package-2020-05 - tag: package-2020-04 - tag: package-2020-03 - tag: package-2019-12 @@ -97,6 +101,32 @@ clear-output-folder: false perform-load: false ``` +### Tag: package-2020-06 and python + +These settings apply only when `--tag=package-2020-06 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-06' +namespace: azure.mgmt.network.v2020_06_01 +output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2020_06_01 +python: + namespace: azure.mgmt.network.v2020_06_01 + output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2020_06_01 +``` + +### Tag: package-2020-05 and python + +These settings apply only when `--tag=package-2020-05 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-05' +namespace: azure.mgmt.network.v2020_05_01 +output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2020_05_01 +python: + namespace: azure.mgmt.network.v2020_05_01 + output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/v2020_05_01 +``` + ### Tag: package-2020-04 and python These settings apply only when `--tag=package-2020-04 --python` is specified on the command line. diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceCreate.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceCreate.json new file mode 100644 index 000000000000..3d9864c0be9e --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "resourceName": "testResource", + "resourceGroupName": "testRP", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "parameters": { + "properties": { + "hostname": "Azure Notebooks" + } + } + }, + "responses": { + "201": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource", + "name": "testResource", + "type": "Microsoft.Notebooks/NotebookProxies", + "properties": { + "resourceId": "acc07b62291e4a4a800f71ff252e0654", + "hostname": "Azure Notebooks" + } + } + }, + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource", + "name": "testResource", + "type": "Microsoft.Notebooks/NotebookProxies", + "properties": { + "resourceId": "acc07b62291e4a4a800f71ff252e0654", + "hostname": "Azure Notebooks" + } + } + } + } +} diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceDelete.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceDelete.json new file mode 100644 index 000000000000..3c63585808a9 --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceName": "testResource", + "resourceGroupName": "testRP", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "parameters": { + "properties": { + "hostname": "Azure Notebooks" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource", + "name": "testResource", + "type": "Microsoft.Notebooks/NotebookProxies", + "properties": { + "resourceId": "acc07b62291e4a4a800f71ff252e0654", + "hostname": "Azure Notebooks" + } + } + }, + "204": {} + } +} diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceGet.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceGet.json new file mode 100644 index 000000000000..5d5fa97a066e --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceName": "testResource", + "resourceGroupName": "testRP", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "parameters": { + "properties": { + "hostname": "Azure Notebooks" + } + } + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource", + "name": "testResource", + "type": "Microsoft.Notebooks/NotebookProxies", + "properties": { + "resourceId": "acc07b62291e4a4a800f71ff252e0654", + "hostname": "Azure Notebooks" + } + } + } + } +} diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceList.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceList.json new file mode 100644 index 000000000000..32ccd88715a7 --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceName": "testResource", + "resourceGroupName": "testRP", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "parameters": { + "properties": { + "hostname": "Azure Notebooks" + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource", + "name": "testResource", + "type": "Microsoft.Notebooks/NotebookProxies", + "properties": { + "resourceId": "acc07b62291e4a4a800f71ff252e0654", + "hostname": "Azure Notebooks" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRP/providers/Microsoft.Notebooks/NotebookProxies/testResource2", + "name": "testResource2", + "type": "Microsoft.Notebooks/NotebookProxies", + "properties": { + "resourceId": "bcc07b62291e4a4a800f71ff252e0654", + "hostname": "Azure Notebooks" + } + } + ] + } + } + } +} diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceListCredentials.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceListCredentials.json new file mode 100644 index 000000000000..bf9538056f11 --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourceListCredentials.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceName": "testResource", + "resourceGroupName": "testRP", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "resourceId": "acc07b62291e4a4a800f71ff252e0654", + "primaryAccessKey": "42c43f86f937487dbc84256fab515bf2d80754b249154ded8ede0f5ded3733be", + "secondaryAccessKey": "1cef8965a0224bd896d27f87a7cabf1687e99f6412cd4c2ca25e5908d2105f79", + "hostname": "Azure Notebooks" + } + } + } +} diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEDelete.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEDelete.json new file mode 100644 index 000000000000..eaaa8c198c6a --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceName": "testPL1-1", + "resourceGroupName": "testRP", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "privateLinkId": "testPL1-proxy.dc9bcc9d-dbd2-48ba-bbbb-bcbdaed437ae", + "parameters": { + "properties": { + "hostname": "Azure Notebooks" + }, + "connectionDetails": [ + { + "id": "f6124779c97049738cc02655385b62ab_1111", + "privateIpAddress": "10.10.10.1", + "linkIdentifier": 1111, + "groupId": "f6124779c97049738cc02655385b62ab", + "memberName": "f6124779c97049738cc02655385b62ab_member" + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEUpdate.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEUpdate.json new file mode 100644 index 000000000000..e5382984121a --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/examples/NBResourcePEUpdate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "resourceName": "testPL1-1", + "resourceGroupName": "testRP", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "privateLinkId": "testPL1-proxy.dc9bcc9d-dbd2-48ba-bbbb-bcbdaed437ae", + "parameters": { + "properties": { + "hostname": "Azure Notebooks", + "connectionDetails": [ + { + "id": "f6124779c97049738cc02655385b62ab_1111", + "privateIpAddress": "10.10.10.1", + "linkIdentifier": 1111, + "groupId": "f6124779c97049738cc02655385b62ab", + "memberName": "f6124779c97049738cc02655385b62ab_member" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRp/providers/Microsoft.Network/privateEndpoints/testPL1-1", + "privateLinkServiceProxies": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000//resourceGroups/testRp/providers/Microsoft.Network/privateEndpoints/testPL1-1/privateLinkServiceProxies/testPL1-proxy.dc9bcc9d-dbd2-48ba-bbbb-bcbdaed437ae", + "groupConnectivityInformation": [ + { + "groupId": "f6124779c97049738cc02655385b62ab", + "memberName": "f6124779c97049738cc02655385b62ab_member", + "customerVisibleFqdns": [ + "testpl1.notebooks-test.azure.net" + ], + "internalFqdn": "privatelink.notebookapis-dev2.azure.com" + } + ] + } + ], + "connectionDetails": [ + { + "id": "f6124779c97049738cc02655385b62ab_1111", + "privateIpAddress": "10.10.10.1", + "linkIdentifier": 1111, + "groupId": "f6124779c97049738cc02655385b62ab", + "memberName": "f6124779c97049738cc02655385b62ab_member" + } + ] + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRp/providers/Microsoft.Network/privateEndpoints/testPL1-1", + "privateLinkServiceProxies": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000//resourceGroups/testRp/providers/Microsoft.Network/privateEndpoints/testPL1-1/privateLinkServiceProxies/testPL1-proxy.dc9bcc9d-dbd2-48ba-bbbb-bcbdaed437ae", + "groupConnectivityInformation": [ + { + "groupId": "f6124779c97049738cc02655385b62ab", + "memberName": "f6124779c97049738cc02655385b62ab_member", + "customerVisibleFqdns": [ + "testpl1.notebooks-test.azure.net" + ], + "internalFqdn": "privatelink.notebookapis-dev2.azure.com" + } + ] + } + ], + "connectionDetails": [ + { + "id": "f6124779c97049738cc02655385b62ab_1111", + "privateIpAddress": "10.10.10.1", + "linkIdentifier": 1111, + "groupId": "f6124779c97049738cc02655385b62ab", + "memberName": "f6124779c97049738cc02655385b62ab_member" + } + ] + } + } + } +} diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json new file mode 100644 index 000000000000..6fa544b75490 --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json @@ -0,0 +1,808 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Notebooks Resource Management Client", + "version": "2019-10-11-preview", + "title": "NotebookResourceManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Notebooks/operations": { + "get": { + "tags": [ + "Operation" + ], + "description": "Lists all of the available Azure Notebooks REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/APIVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies/{resourceName}": { + "get": { + "tags": [ + "NotebookProxy" + ], + "operationId": "NotebookProxies_Get", + "x-ms-examples": { + "Get Notebook Proxy": { + "$ref": "./examples/NBResourceGet.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "summary": "Get the properties of the specified NotebookProxy.", + "description": "Gets the properties of the specified NotebookProxy resource in the specified subscription and resource group. This operation returns properties of specified NotebookProxy resource including resourceId, credentials, and systemData.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotebookProxy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "NotebookProxy" + ], + "operationId": "NotebookProxies_CreateOrUpdate", + "x-ms-examples": { + "Create Notebook Proxy": { + "$ref": "./examples/NBResourceCreate.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "summary": "Create or update NotebookProxy resource.", + "description": "Create or update NotebookProxy resource with specified configuration.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "description": "The properties of the NotebookProxy to be created or updated.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NotebookProxy" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotebookProxy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/NotebookProxy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "NotebookProxy" + ], + "operationId": "NotebookProxies_Delete", + "x-ms-examples": { + "Delete Notebook Proxy": { + "$ref": "./examples/NBResourceDelete.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "summary": "Delete the specified NotebookProxy.", + "description": "Delete the specified NotebookProxy in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotebookProxy" + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies": { + "get": { + "tags": [ + "NotebookProxy" + ], + "operationId": "NotebookProxies_ListByResourceGroup", + "x-ms-examples": { + "List Notebook Proxy by Resource Group": { + "$ref": "./examples/NBResourceList.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "summary": "Get a list of NotebookProxy resources in the specified subscription and resource group.", + "description": "Get a list of NotebookProxy resources in the specified subscription and resource group. This operation returns properties of each NotebookProxy including resourceId, credentials, and systemData.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotebookProxyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Notebooks/notebookProxies": { + "get": { + "tags": [ + "NotebookProxy" + ], + "operationId": "NotebookProxies_List", + "x-ms-examples": { + "List Notebook Proxy by Subscription": { + "$ref": "./examples/NBResourceList.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "summary": "Get a list of NotebookProxy resources in the specified subscription.", + "description": "Get a list of NotebookProxy resources in the specified subscription. This operation returns properties of each NotebookProxy including resourceId, credentials, and systemData.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotebookProxyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies/{resourceName}/listCredentials": { + "post": { + "tags": [ + "NotebookProxy" + ], + "operationId": "NotebookProxies_ListCredentials", + "x-ms-examples": { + "List Notebook Proxy Credentials": { + "$ref": "./examples/NBResourceListCredentials.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "summary": "Get the access keys of the specified NotebookProxy.", + "description": "Get the access keys of the specified NotebookProxy. in the specified subscription and resource group. This operation returns resourceId, primaryAccessKey and secondaryAccessKey.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotebookProxyCredentials" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies/{resourceName}/privateEndpointConnectionProxies/{privateLinkId}": { + "post": { + "tags": [ + "NotebookProxy" + ], + "operationId": "PostPrivateLinkIdNotebookResource", + "x-ms-examples": { + "Create Notebook Proxy Private Endpoint": { + "$ref": "./examples/NBResourcePEUpdate.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "privateLinkId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "resourceRequest", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NotebookPEResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NotebookPEResponse" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/NotebookPEResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Notebooks/notebookProxies/{resourceName}/removePrivateLinkId/{privateLinkId}": { + "post": { + "tags": [ + "NotebookProxy" + ], + "operationId": "RemovePrivateLinkIdNotebookResource", + "x-ms-examples": { + "Remove Notebook Proxy Private Endpoint": { + "$ref": "./examples/NBResourcePEDelete.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "privateLinkId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "resourceRequest", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NotebookPEResponse" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "NotebookProxy": { + "description": "A NotebookProxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NotebookResourceEntity", + "description": "The properties of NotebookProxy resource.", + "x-ms-client-flatten": true + } + } + }, + "NotebookResourceEntity": { + "description": "Properties of NotebookProxy resource", + "type": "object", + "properties": { + "resourceId": { + "description": "The unique identifier (a GUID) generated for every resource.", + "type": "string", + "readOnly": true + }, + "hostname": { + "description": "The friendly string identifier of the creator of the NotebookProxy resource.", + "type": "string" + } + } + }, + "NotebookPEResource": { + "description": "Notebooks Proxy resource with Private Link", + "type": "object", + "properties": { + "hostname": { + "description": "The friendly string identifier of the creator of the NotebookProxy resource.", + "type": "string" + }, + "connectionDetails": { + "description": "Private link connection details", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionDetail" + } + } + } + }, + "NotebookPEResponse": { + "description": "Private Endpoint details for a Notebook Proxy resource", + "type": "object", + "properties": { + "id": { + "description": "Private endpoint id", + "type": "string" + }, + "privateLinkServiceProxies": { + "description": "Private endpoint service proxies", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointServiceProxy" + } + }, + "connectionDetails": { + "description": "Private link connection details", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionDetail" + } + } + } + }, + "PrivateEndpointServiceProxy": { + "description": "Private Endpoint service proxy details", + "type": "object", + "properties": { + "id": { + "description": "Service proxy id", + "type": "string" + }, + "groupConnectivityInformation": { + "description": "Group connectivity information", + "type": "array", + "items": { + "$ref": "#/definitions/GroupConnectivityInformation" + } + } + } + }, + "GroupConnectivityInformation": { + "description": "Private link Group Connectivity Detail", + "type": "object", + "properties": { + "internalFqdn": { + "description": "Internal fully qualified domain name", + "type": "string" + }, + "customerVisibleFqdns": { + "description": "Customer visible fully qualified domain names", + "type": "array", + "items": { + "type": "string" + } + }, + "groupId": { + "description": "Private link group Id", + "type": "string" + }, + "memberName": { + "description": "Private link member name", + "type": "string" + } + } + }, + "ConnectionDetail": { + "description": "Private link Connection Detail", + "type": "object", + "properties": { + "id": { + "description": "Private link connection id", + "type": "string" + }, + "privateIpAddress": { + "description": "Private endpoint IP address", + "type": "string" + }, + "linkIdentifier": { + "description": "Link Id for the private link", + "type": "integer", + "format": "int32" + }, + "groupId": { + "description": "Private link group Id", + "type": "string" + }, + "memberName": { + "description": "Private link member name", + "type": "string" + } + } + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. Ex- Microsoft.Storage/storageAccounts or Microsoft.Notebooks/notebookProxies." + } + }, + "x-ms-azure-resource": true + }, + "CloudError": { + "type": "object", + "description": "Wrapper for error response to follow ARM guidelines.", + "properties": { + "error": { + "description": "The error response.", + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response information.", + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "details": { + "type": "array", + "description": "An array of error detail objects.", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "required": [ + "code", + "message" + ] + }, + "ErrorDetail": { + "type": "object", + "description": "Error detail information.", + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "required": [ + "code", + "message" + ] + }, + "Operation": { + "description": "Azure Notebooks Proxy REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display name of operation", + "properties": { + "provider": { + "description": "The resource provider name: Microsoft.Notebooks", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The operation that users can perform.", + "type": "string" + }, + "description": { + "description": "The description for the operation.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "An array of operations supported by the resource provider.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Notebook Proxy operations supported by the Azure Notebooks resource provider." + } + } + }, + "NotebookProxyListResult": { + "description": "The response containing list of NotebookProxy resources.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NotebookProxy" + }, + "description": "The list of NotebookProxy resources." + }, + "nextLink": { + "description": "The URI that can be used to request the next list of NotebookProxy resources.", + "type": "string" + } + } + }, + "NotebookProxyCredentials": { + "description": "Credentials and other properties of NotebookProxy resource", + "type": "object", + "readOnly": true, + "properties": { + "resourceId": { + "description": "Notebook Proxy resource id", + "type": "string" + }, + "primaryAccessKey": { + "description": "The primary key of the NotebookProxy resource.", + "type": "string" + }, + "secondaryAccessKey": { + "description": "The secondary key of the NotebookProxy resource.", + "type": "string" + }, + "hostname": { + "description": "Hostname for the Notebook Proxy resource", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "APIVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation.", + "minLength": 1 + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource.", + "minLength": 1, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.cli.md b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.cli.md new file mode 100644 index 000000000000..7712f4b56527 --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.cli.md @@ -0,0 +1,9 @@ +## CLI + +These settings apply only when `--cli` is specified on the command line. + +``` yaml $(cli) +#cli: +# test-scenario: +# - name: Example_CreateOrUpdate +``` diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md new file mode 100644 index 000000000000..05744ef38cca --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.md @@ -0,0 +1,67 @@ +# Notebooks + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure Notebooks Resource Management Client. + +--- +## Getting Started +To build the SDK for Azure Resource Management, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +--- +## Configuration + +### Basic Information +These are the global settings for the Azure Notebooks Resource Management Client. + +``` yaml +openapi-type: arm +tag: package-2019-10-11-preview +``` +### Tag: package-2019-10-11-preview + +These settings apply only when `--tag=package-2019-10-11-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2019-10-11-preview' +input-file: +- notebooks.json +``` + +--- +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +## Multi-API/Profile support for AutoRest v3 generators + +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. + +This block is updated by an automatic script. Edits may be lost! + +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/notebooks.json + +``` + +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. + +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.python.md b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.python.md new file mode 100644 index 000000000000..d4181ff7ef65 --- /dev/null +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/readme.python.md @@ -0,0 +1,27 @@ +## 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: Microsoft.Notebooks + package-name: notebooks + package-version: 2019-10-11-preview + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/azure-mgmt/notebooks +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/azure-mgmt/notebooks +``` diff --git a/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json b/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json index b80cda4121ea..e1cde5770fdf 100644 --- a/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json +++ b/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json @@ -1898,38 +1898,38 @@ "properties": { "apnsCertificate": { "type": "string", - "description": "The APNS certificate." + "description": "The APNS certificate. Specify if using Certificate Authentication Mode." }, "certificateKey": { "type": "string", - "description": "The certificate key." + "description": "The APNS certificate password if it exists." }, "endpoint": { "type": "string", - "description": "The endpoint of this credential." + "description": "The APNS endpoint of this credential. If using Certificate Authentication Mode and Sandbox specify 'gateway.sandbox.push.apple.com'. If using Certificate Authentication Mode and Production specify 'gateway.push.apple.com'. If using Token Authentication Mode and Sandbox specify 'https://api.development.push.apple.com:443/3/device'. If using Token Authentication Mode and Production specify 'https://api.push.apple.com:443/3/device'." }, "thumbprint": { "type": "string", - "description": "The APNS certificate Thumbprint" + "description": "The APNS certificate thumbprint. Specify if using Certificate Authentication Mode." }, "keyId": { "type": "string", - "description": "A 10-character key identifier (kid) key, obtained from your developer account" + "description": "A 10-character key identifier (kid) key, obtained from your developer account. Specify if using Token Authentication Mode." }, "appName": { "type": "string", - "description": "The name of the application" + "description": "The name of the application or BundleId. Specify if using Token Authentication Mode." }, "appId": { "type": "string", - "description": "The issuer (iss) registered claim key, whose value is your 10-character Team ID, obtained from your developer account" + "description": "The issuer (iss) registered claim key. The value is a 10-character TeamId, obtained from your developer account. Specify if using Token Authentication Mode." }, "token": { "type": "string", - "description": "Provider Authentication Token, obtained through your developer account" + "description": "Provider Authentication Token, obtained through your developer account. Specify if using Token Authentication Mode." } }, - "description": "Description of a NotificationHub ApnsCredential." + "description": "Description of a NotificationHub ApnsCredential. Note that there is no explicit switch between Certificate and Token Authentication Modes. The mode is determined based on the properties passed in." }, "ApnsCredential": { "properties": { @@ -1972,7 +1972,7 @@ "properties": { "gcmEndpoint": { "type": "string", - "description": "The GCM endpoint." + "description": "The FCM legacy endpoint. Default value is 'https://fcm.googleapis.com/fcm/send'" }, "googleApiKey": { "type": "string", diff --git a/specification/notificationhubs/resource-manager/readme.azureresourceschema.md b/specification/notificationhubs/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d3ffdfc77fad --- /dev/null +++ b/specification/notificationhubs/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-notificationhubs-2017-04-01 + - tag: schema-notificationhubs-2016-03-01 + - tag: schema-notificationhubs-2014-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-notificationhubs-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-notificationhubs-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json + +``` + +### Tag: schema-notificationhubs-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-notificationhubs-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NotificationHubs/stable/2016-03-01/notificationhubs.json + +``` + +### Tag: schema-notificationhubs-2014-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-notificationhubs-2014-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.NotificationHubs/stable/2014-09-01/notificationhubs.json + +``` diff --git a/specification/notificationhubs/resource-manager/readme.md b/specification/notificationhubs/resource-manager/readme.md index 776209cfbe47..ca971fb4f0ce 100644 --- a/specification/notificationhubs/resource-manager/readme.md +++ b/specification/notificationhubs/resource-manager/readme.md @@ -93,6 +93,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_notification_hubs'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js notificationhubs/resource-manager ``` @@ -206,6 +209,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json new file mode 100644 index 000000000000..2444bbb1c0a4 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json @@ -0,0 +1,246 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-03-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataCollectorLogs/{tableName}": { + "delete": { + "tags": [ + "DataCollectorLogs" + ], + "x-ms-examples": { + "DataCollectorLogsDelete": { + "$ref": "./examples/DataCollectorLogsDelete.json" + } + }, + "operationId": "DataCollectorLogs_Delete", + "description": "Deletes a specify data collector log table.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+[A-Za-z0-9]_CL$", + "minLength": 4, + "maxLength": 63, + "description": "DataCollector table name." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ForceDeletion" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + } + }, + "get": { + "tags": [ + "DataCollectorLogs" + ], + "x-ms-examples": { + "DataCollectorLogsDelete": { + "$ref": "./examples/DataCollectorLogsGet.json" + } + }, + "operationId": "DataCollectorLogs_Get", + "description": "Retrieves a specify data collector log table.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+[A-Za-z0-9]_CL$", + "minLength": 4, + "maxLength": 63, + "description": "DataCollector table name." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ForceDeletion" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataCollectorLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataCollectorLogs": { + "get": { + "tags": [ + "DataCollectorLogs" + ], + "description": "Listing all data collector log tables, being created via data collector endpoint and scoped to the specified workspace", + "operationId": "DataCollectorLogs_ListByWorkspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataCollectorLogsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "DataCollectorLogsListByWorkspace": { + "$ref": "./examples/DataCollectorLogsListByWorkspace.json" + } + } + } + } + }, + "definitions": { + "DataCollectorLogProperties": { + "description": "Data collector log properties.", + "type": "object", + "properties": { + "name": { + "description": "Table's name.", + "type": "string" + } + } + }, + "DataCollectorLog": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataCollectorLogProperties", + "description": "Data collector log properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Data collector log top level resource container." + }, + "DataCollectorLogsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataCollectorLog" + }, + "description": "data collector log collection." + } + }, + "description": "Data collector log tables collection, all tables are scoped to the specified workspace." + }, + "ErrorContract": { + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "Contains details when the response code indicates an error." + } + }, + "parameters": { + "ForceDeletion": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "When true, enables bypassing retention validation.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json index b458c89226a6..d776e4a1ff24 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json @@ -143,10 +143,6 @@ "$ref": "#/definitions/DataExportErrorResponse" } } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" } }, "get": { @@ -188,9 +184,6 @@ "$ref": "#/definitions/DataExport" } }, - "404": { - "description": "Not found the specific data export." - }, "default": { "description": "Error response describing why the operation failed.", "schema": { diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json index 98315365228a..e9523d68134b 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json @@ -204,7 +204,10 @@ "readOnly": true, "enum": [ "CustomLogs", - "AzureWatson" + "AzureWatson", + "Query", + "Ingestion", + "Alerts" ], "x-ms-enum": { "name": "DataSourceType", @@ -259,7 +262,10 @@ "type": "string", "enum": [ "CustomLogs", - "AzureWatson" + "AzureWatson", + "Query", + "Ingestion", + "Alerts" ], "x-ms-enum": { "name": "DataSourceType", diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/Workspaces.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/Workspaces.json index 1328a4d68255..73ddf561508e 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/Workspaces.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/Workspaces.json @@ -419,7 +419,33 @@ ], "x-ms-enum": { "name": "DataIngestionStatus", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "RespectQuota", + "description": "Ingestion enabled following daily cap quota reset, or subscription enablement." + }, + { + "value": "ForceOn", + "description": "Ingestion started following service setting change." + }, + { + "value": "ForceOff", + "description": "Ingestion stopped following service setting change." + }, + { + "value": "OverQuota", + "description": "Reached daily cap quota, ingestion stopped." + }, + { + "value": "SubscriptionSuspended", + "description": "Ingestion stopped following suspended subscription." + }, + { + "value": "ApproachingQuota", + "description": "80% of daily cap quota reached." + } + ] } } } diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsDelete.json new file mode 100644 index 000000000000..7f1d569498f3 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testDataCollectorLogsWS", + "tableName": "Test_CL", + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsGet.json new file mode 100644 index 000000000000..93106ef3b11e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testDataCollectorLogsWS", + "tableName": "Test_CL", + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "name": "Table0_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Test_CL", + "name": "Test_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsListByWorkspace.json new file mode 100644 index 000000000000..5870b9f3362c --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataCollectorLogsListByWorkspace.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testDataCollectorLogsWS", + "api-version": "2020-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "name": "Table0_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table0_CL", + "name": "Table0_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + }, + { + "properties": { + "name": "Table1_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table1_CL", + "name": "Table1_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + }, + { + "properties": { + "name": "Table2_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table2_CL", + "name": "Table2_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + }, + { + "properties": { + "name": "Table3_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table3_CL", + "name": "Table3_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + }, + { + "properties": { + "name": "Table4_CL" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testDataCollectorLogsWS/dataCollectorLogs/Table4_CL", + "name": "Table4_CL", + "type": "Microsoft.OperationalInsights/workspaces/dataCollectorLogs" + } + ] + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportGet.json index c6142d9fe8c4..0bb0b00f44b5 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportGet.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/DataExportGet.json @@ -27,7 +27,6 @@ "name": "export1", "type": "Microsoft.OperationalInsights/workspaces/export" } - }, - "404": {} + } } } diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/LinkedStorageAccountsListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/LinkedStorageAccountsListByWorkspace.json index 88e9d2fd376b..86f812e27b37 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/LinkedStorageAccountsListByWorkspace.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2020-03-01-preview/examples/LinkedStorageAccountsListByWorkspace.json @@ -32,6 +32,42 @@ "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/AzureWatson", "name": "AzureWatson", "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + }, + { + "properties": { + "dataSourceType": "Query", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageC" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/Query", + "name": "Query", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + }, + { + "properties": { + "dataSourceType": "Ingestion", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageC" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/Ingestion", + "name": "Ingestion", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + }, + { + "properties": { + "dataSourceType": "Alerts", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageC" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/Alerts", + "name": "Alerts", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" } ] } diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json new file mode 100644 index 000000000000..796f603dedf9 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json @@ -0,0 +1,137 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/availableServiceTiers": { + "get": { + "tags": [ + "AvailableServiceTiers" + ], + "x-ms-examples": { + "AvailableServiceTiers": { + "$ref": "./examples/WorkspacesAvailableServiceTiers.json" + } + }, + "operationId": "AvailableServiceTiers_ListByWorkspace", + "description": "Gets the available service tiers for the workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailableServiceTier" + } + } + } + } + } + } + }, + "definitions": { + "AvailableServiceTier": { + "description": "Service Tier details.", + "properties": { + "serviceTier": { + "readOnly": true, + "type": "string", + "description": "The name of the Service Tier.", + "enum": [ + "Free", + "Standard", + "Premium", + "PerNode", + "PerGB2018", + "Standalone", + "CapacityReservation" + ], + "x-ms-enum": { + "name": "SkuNameEnum", + "modelAsString": true + } + }, + "enabled": { + "readOnly": true, + "type": "boolean", + "description": "True if the Service Tier is enabled for the workspace." + }, + "minimumRetention": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The minimum retention for the Service Tier, in days." + }, + "maximumRetention": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The maximum retention for the Service Tier, in days." + }, + "defaultRetention": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The default retention for the Service Tier, in days." + }, + "capacityReservationLevel": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The capacity reservation level in GB per day. Returned for the Capacity Reservation Service Tier." + }, + "lastSkuUpdate": { + "readOnly": true, + "type": "string", + "description": "Time when the sku was last updated for the workspace. Returned for the Capacity Reservation Service Tier." + } + } + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Clusters.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Clusters.json new file mode 100644 index 000000000000..8c6bcbf01d92 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Clusters.json @@ -0,0 +1,521 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersGet": { + "$ref": "./examples/ClustersListByResourceGroup.json" + } + }, + "operationId": "Clusters_ListByResourceGroup", + "description": "Gets Log Analytics clusters in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersSubscriptionList": { + "$ref": "./examples/ClustersSubscriptionList.json" + } + }, + "operationId": "Clusters_List", + "description": "Gets the Log Analytics clusters in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/clusters/{clusterName}": { + "put": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersCreate": { + "$ref": "./examples/ClustersCreate.json" + } + }, + "operationId": "Clusters_CreateOrUpdate", + "description": "Create or update a Log Analytics cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$", + "minLength": 4, + "maxLength": 63, + "description": "The name of the Log Analytics cluster." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + }, + "description": "The parameters required to create or update a Log Analytics cluster." + } + ], + "responses": { + "202": { + "description": "Accepted response definition." + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Created response definition.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersDelete": { + "$ref": "./examples/ClustersDelete.json" + } + }, + "operationId": "Clusters_Delete", + "description": "Deletes a cluster instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Log Analytics Cluster." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "204": { + "description": "NoContent response definition." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersGet": { + "$ref": "./examples/ClustersGet.json" + } + }, + "operationId": "Clusters_Get", + "description": "Gets a Log Analytics cluster instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Log Analytics Cluster." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "x-ms-examples": { + "ClustersPatch": { + "$ref": "./examples/ClustersUpdate.json" + } + }, + "operationId": "Clusters_Update", + "description": "Updates a Log Analytics cluster.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Log Analytics Cluster." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPatch" + }, + "description": "The parameters required to patch a Log Analytics cluster." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing cluster was successfully updated. Check provisioningStatus to see detailed status.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ClusterErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ClusterProperties": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of recommendations.", + "type": "string" + }, + "clusterId": { + "type": "string", + "readOnly": true, + "description": "The ID associated with the cluster." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the cluster.", + "enum": [ + "Creating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "ProvisioningAccount", + "Updating" + ], + "x-ms-enum": { + "name": "ClusterEntityStatus", + "modelAsString": true + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/keyVaultProperties", + "description": "The associated key properties." + } + }, + "description": "Cluster properties." + }, + "ClusterErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + }, + "ClusterPatchProperties": { + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/keyVaultProperties", + "description": "The associated key properties." + } + }, + "description": "Log Analytics cluster patch properties." + }, + "ClusterPatch": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterPatchProperties", + "description": "Log Analytics cluster properties." + }, + "sku": { + "$ref": "#/definitions/ClusterSku", + "description": "The sku properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + }, + "description": "The top level Log Analytics cluster resource container.", + "x-ms-azure-resource": true + }, + "Cluster": { + "properties": { + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "sku": { + "$ref": "#/definitions/ClusterSku", + "description": "The sku properties." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "Log Analytics cluster properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The top level Log Analytics cluster resource container." + }, + "ClusterListResult": { + "properties": { + "nextLink": { + "description": "The link used to get the next page of recommendations.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "description": "A list of Log Analytics clusters." + } + }, + "description": "The list clusters operation response." + }, + "keyVaultProperties": { + "description": "The key vault properties.", + "properties": { + "keyVaultUri": { + "description": "The Key Vault uri which holds they key associated with the Log Analytics cluster.", + "type": "string" + }, + "keyName": { + "description": "The name of the key associated with the Log Analytics cluster.", + "type": "string" + }, + "keyVersion": { + "description": "The version of the key associated with the Log Analytics cluster.", + "type": "string" + } + } + }, + "ClusterSku": { + "description": "The cluster sku definition.", + "properties": { + "capacity": { + "description": "The capacity value", + "type": "integer", + "format": "int64" + }, + "name": { + "type": "string", + "description": "The name of the SKU.", + "enum": [ + "CapacityReservation" + ], + "x-ms-enum": { + "name": "ClusterSkuNameEnum", + "modelAsString": true + } + } + } + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json new file mode 100644 index 000000000000..8303f60ff875 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json @@ -0,0 +1,361 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataExports": { + "get": { + "tags": [ + "DataExport" + ], + "x-ms-examples": { + "DataExportGet": { + "$ref": "./examples/DataExportListByWorkspace.json" + } + }, + "operationId": "DataExports_ListByWorkspace", + "description": "Lists the data export instances within a workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataExportListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DataExportErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataExports/{dataExportName}": { + "put": { + "tags": [ + "DataExport" + ], + "x-ms-examples": { + "DataExportCreate": { + "$ref": "./examples/DataExportCreateOrUpdate.json" + } + }, + "operationId": "DataExports_CreateOrUpdate", + "description": "Create or update a data export.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dataExportName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9-]+[A-Za-z0-9]$", + "minLength": 4, + "maxLength": 63, + "description": "The data export rule name." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataExport" + }, + "description": "The parameters required to create or update a data export." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataExport" + } + }, + "201": { + "description": "Created response definition.", + "schema": { + "$ref": "#/definitions/DataExport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DataExportErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "DataExport" + ], + "x-ms-examples": { + "DataExportGet": { + "$ref": "./examples/DataExportGet.json" + } + }, + "operationId": "DataExports_Get", + "description": "Gets a data export instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dataExportName", + "in": "path", + "required": true, + "type": "string", + "description": "The data export rule name." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataExport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DataExportErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "DataExport" + ], + "x-ms-examples": { + "DataExportDelete": { + "$ref": "./examples/DataExportDelete.json" + } + }, + "operationId": "DataExports_Delete", + "description": "Deletes the specified data export in a given workspace..", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dataExportName", + "in": "path", + "required": true, + "type": "string", + "description": "The data export rule name." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "404": { + "description": "Not found the specific data export." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/DataExportErrorResponse" + } + } + } + } + } + }, + "definitions": { + "DataExport": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataExportProperties", + "description": "data export properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "The top level data export resource container.", + "x-ms-azure-resource": true + }, + "DataExportListResult": { + "description": "Result of the request to list data exports.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataExport" + }, + "description": "List of data export instances within a workspace.." + } + } + }, + "DataExportProperties": { + "properties": { + "dataExportId": { + "type": "string", + "description": "The data export rule ID." + }, + "allTables": { + "type": "boolean", + "description": "When ‘true’, all workspace's tables are exported." + }, + "tableNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of tables to export, for example: [“Heartbeat, SecurityEvent”]." + }, + "destination": { + "$ref": "#/definitions/Destination", + "description": "destination properties.", + "x-ms-client-flatten": true + }, + "enable": { + "type": "boolean", + "description": "Active when enabled." + }, + "createdDate": { + "type": "string", + "description": "The latest data export rule modification time." + }, + "lastModifiedDate": { + "type": "string", + "description": "Date and time when the export was last modified." + } + }, + "description": "Data Export properties." + }, + "Destination": { + "properties": { + "resourceId": { + "type": "string", + "description": "The destination resource ID. This can be copied from the Properties entry of the destination resource in Azure." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of the destination resource", + "enum": [ + "StorageAccount", + "EventHub" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true + } + }, + "metaData": { + "$ref": "#/definitions/DestinationMetaData", + "description": "destination meta data.", + "x-ms-client-flatten": true + } + }, + "required": [ + "resourceId" + ], + "description": "Destination properties." + }, + "DestinationMetaData": { + "properties": { + "eventHubName": { + "type": "string", + "description": "Optional. Allows to define an Event Hub name. Not applicable when destination is Storage Account." + } + }, + "description": "Destination meta data." + }, + "DataExportErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json new file mode 100644 index 000000000000..44fe3b78e4e9 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json @@ -0,0 +1,344 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources/{dataSourceName}": { + "put": { + "tags": [ + "DataSources" + ], + "x-ms-examples": { + "DataSourcesCreate": { + "$ref": "./examples/DataSourcesCreate.json" + } + }, + "operationId": "DataSources_CreateOrUpdate", + "description": "Create or update a data source.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the datasource resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataSource" + }, + "description": "The parameters required to create or update a datasource." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataSource" + } + }, + "201": { + "description": "Created response definition.", + "schema": { + "$ref": "#/definitions/DataSource" + } + } + } + }, + "delete": { + "tags": [ + "DataSources" + ], + "x-ms-examples": { + "DataSourcesDelete": { + "$ref": "./examples/DataSourcesDelete.json" + } + }, + "operationId": "DataSources_Delete", + "description": "Deletes a data source instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the datasource." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "204": { + "description": "NoContent response definition." + } + } + }, + "get": { + "tags": [ + "DataSources" + ], + "x-ms-examples": { + "DataSourcesGet": { + "$ref": "./examples/DataSourcesGet.json" + } + }, + "operationId": "DataSources_Get", + "description": "Gets a datasource instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the datasource" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataSource" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/dataSources": { + "get": { + "tags": [ + "DataSources" + ], + "x-ms-examples": { + "DataSourcesListByWorkspace": { + "$ref": "./examples/DataSourcesListByWorkspace.json" + } + }, + "operationId": "DataSources_ListByWorkspace", + "description": "Gets the first page of data source instances in a workspace with the link to the next page.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "description": "The filter to apply on the operation." + }, + { + "name": "$skiptoken", + "in": "query", + "required": false, + "type": "string", + "description": "Starting point of the collection of data source instances." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/DataSourceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DataSourceFilter" + } + } + }, + "definitions": { + "DataSourceKind": { + "type": "string", + "enum": [ + "WindowsEvent", + "WindowsPerformanceCounter", + "IISLogs", + "LinuxSyslog", + "LinuxSyslogCollection", + "LinuxPerformanceObject", + "LinuxPerformanceCollection", + "CustomLog", + "CustomLogCollection", + "AzureAuditLog", + "AzureActivityLog", + "GenericDataSource", + "ChangeTrackingCustomPath", + "ChangeTrackingPath", + "ChangeTrackingServices", + "ChangeTrackingDataTypeConfiguration", + "ChangeTrackingDefaultRegistry", + "ChangeTrackingRegistry", + "ChangeTrackingLinuxPath", + "LinuxChangeTrackingPath", + "ChangeTrackingContentLocation", + "WindowsTelemetry", + "Office365", + "SecurityWindowsBaselineConfiguration", + "SecurityCenterSecurityWindowsBaselineConfiguration", + "SecurityEventCollectionConfiguration", + "SecurityInsightsSecurityEventCollectionConfiguration", + "ImportComputerGroup", + "NetworkMonitoring", + "Itsm", + "DnsAnalytics", + "ApplicationInsights", + "SqlDataClassification" + ], + "x-ms-enum": { + "name": "DataSourceKind", + "modelAsString": true + }, + "description": "The kind of the DataSource." + }, + "DataSource": { + "properties": { + "properties": { + "$ref": "#/definitions/Object", + "description": "The data source properties in raw json format, each kind of data source have it's own schema." + }, + "etag": { + "type": "string", + "description": "The ETag of the data source." + }, + "kind": { + "$ref": "#/definitions/DataSourceKind" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + }, + "required": [ + "kind", + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Datasources under OMS Workspace." + }, + "DataSourceFilter": { + "properties": { + "kind": { + "$ref": "#/definitions/DataSourceKind" + } + }, + "description": "DataSource filter. Right now, only filter by kind is supported." + }, + "DataSourceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataSource" + }, + "description": "A list of datasources." + }, + "nextLink": { + "type": "string", + "description": "The link (url) to the next page of datasources." + } + }, + "description": "The list data source by workspace operation response." + }, + "Object": { + "type": "object", + "properties": {}, + "description": "JSON object" + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json new file mode 100644 index 000000000000..18164ddda284 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json @@ -0,0 +1,85 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/gateways/{gatewayId}": { + "delete": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "DeleteGateways": { + "$ref": "./examples/WorkspacesGatewaysDelete.json" + } + }, + "operationId": "Gateways_Delete", + "description": "Delete a Log Analytics gateway.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/GatewayIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The specified gateway was deleted successfully." + } + } + } + } + }, + "definitions": {}, + "parameters": { + "GatewayIdParameter": { + "name": "gatewayId", + "in": "path", + "required": true, + "type": "string", + "description": "The Log Analytics gateway Id.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json new file mode 100644 index 000000000000..806fab92c4c8 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json @@ -0,0 +1,180 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Disable": { + "post": { + "tags": [ + "Workspaces", + "IntelligencePacks" + ], + "x-ms-examples": { + "IntelligencePacksDisable": { + "$ref": "./examples/WorkspacesDisableIntelligencePack.json" + } + }, + "operationId": "IntelligencePacks_Disable", + "description": "Disables an intelligence pack for a given workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "intelligencePackName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the intelligence pack to be disabled." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks/{intelligencePackName}/Enable": { + "post": { + "tags": [ + "Workspaces", + "IntelligencePacks" + ], + "x-ms-examples": { + "IntelligencePacksEnable": { + "$ref": "./examples/WorkspacesEnableIntelligencePack.json" + } + }, + "operationId": "IntelligencePacks_Enable", + "description": "Enables an intelligence pack for a given workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "intelligencePackName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the intelligence pack to be enabled." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/intelligencePacks": { + "get": { + "tags": [ + "Workspaces", + "IntelligencePacks" + ], + "x-ms-examples": { + "IntelligencePacksList": { + "$ref": "./examples/WorkspacesListIntelligencePacks.json" + } + }, + "operationId": "IntelligencePacks_List", + "description": "Lists all the intelligence packs possible and whether they are enabled or disabled for a given workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/IntelligencePack" + } + } + } + } + } + } + }, + "definitions": { + "IntelligencePack": { + "properties": { + "name": { + "type": "string", + "description": "The name of the intelligence pack." + }, + "enabled": { + "type": "boolean", + "description": "The enabled boolean for the intelligence pack." + }, + "displayName": { + "type": "string", + "description": "The display name of the intelligence pack." + } + }, + "description": "Intelligence Pack containing a string name and boolean indicating if it's enabled." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json new file mode 100644 index 000000000000..4312e9929293 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json @@ -0,0 +1,294 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices/{linkedServiceName}": { + "put": { + "tags": [ + "LinkedServices" + ], + "x-ms-examples": { + "LinkedServicesCreate": { + "$ref": "./examples/LinkedServicesCreate.json" + } + }, + "operationId": "LinkedServices_CreateOrUpdate", + "description": "Create or update a linked service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "linkedServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the linkedServices resource" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkedService" + }, + "description": "The parameters required to create or update a linked service." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/LinkedService" + } + }, + "201": { + "description": "Created response definition.", + "schema": { + "$ref": "#/definitions/LinkedService" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "LinkedServices" + ], + "x-ms-examples": { + "LinkedServicesDelete": { + "$ref": "./examples/LinkedServicesDelete.json" + } + }, + "operationId": "LinkedServices_Delete", + "description": "Deletes a linked service instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "linkedServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the linked service." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/LinkedService" + } + }, + "204": { + "description": "NoContent response definition." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "LinkedServices" + ], + "x-ms-examples": { + "LinkedServicesGet": { + "$ref": "./examples/LinkedServicesGet.json" + } + }, + "operationId": "LinkedServices_Get", + "description": "Gets a linked service instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "linkedServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the linked service." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/LinkedService" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedServices": { + "get": { + "tags": [ + "LinkedServices" + ], + "x-ms-examples": { + "LinkedServicesListByWorkspace": { + "$ref": "./examples/LinkedServicesListByWorkspace.json" + } + }, + "operationId": "LinkedServices_ListByWorkspace", + "description": "Gets the linked services instances in a workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/LinkedServiceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "LinkedServiceProperties": { + "properties": { + "resourceId": { + "type": "string", + "description": "The resource id of the resource that will be linked to the workspace. This should be used for linking resources which require read access" + }, + "writeAccessResourceId": { + "type": "string", + "description": "The resource id of the resource that will be linked to the workspace. This should be used for linking resources which require write access" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the linked service.", + "enum": [ + "Succeeded", + "Deleting", + "ProvisioningAccount", + "Updating" + ], + "x-ms-enum": { + "name": "LinkedServiceEntityStatus", + "modelAsString": true + } + } + }, + "description": "Linked service properties." + }, + "LinkedService": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LinkedServiceProperties", + "description": "The properties of the linked service." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "The top level Linked service resource container." + }, + "LinkedServiceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LinkedService" + }, + "description": "The list of linked service instances" + } + }, + "description": "The list linked service operation response." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json new file mode 100644 index 000000000000..ba03c9b280f2 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json @@ -0,0 +1,276 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedStorageAccounts/{dataSourceType}": { + "put": { + "tags": [ + "LinkedStorageAccounts" + ], + "x-ms-examples": { + "LinkedStorageAccountsCreate": { + "$ref": "./examples/LinkedStorageAccountsCreate.json" + } + }, + "operationId": "LinkedStorageAccounts_CreateOrUpdate", + "description": "Create or Update a link relation between current workspace and a group of storage accounts of a specific data source type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/DataSourceTypeParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkedStorageAccountsResource" + }, + "description": "The parameters required to create or update linked storage accounts." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/LinkedStorageAccountsResource" + } + } + } + }, + "delete": { + "tags": [ + "LinkedStorageAccounts" + ], + "x-ms-examples": { + "LinkedStorageAccountsDelete": { + "$ref": "./examples/LinkedStorageAccountsDelete.json" + } + }, + "operationId": "LinkedStorageAccounts_Delete", + "description": "Deletes all linked storage accounts of a specific data source type associated with the specified workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/DataSourceTypeParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + } + } + }, + "get": { + "tags": [ + "LinkedStorageAccounts" + ], + "x-ms-examples": { + "LinkedStorageAccountsGet": { + "$ref": "./examples/LinkedStorageAccountsGet.json" + } + }, + "operationId": "LinkedStorageAccounts_Get", + "description": "Gets all linked storage account of a specific data source type associated with the specified workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/DataSourceTypeParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/LinkedStorageAccountsResource" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/linkedStorageAccounts": { + "get": { + "tags": [ + "LinkedStorageAccounts" + ], + "description": "Gets all linked storage accounts associated with the specified workspace, storage accounts will be sorted by their data source type.", + "operationId": "LinkedStorageAccounts_ListByWorkspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/LinkedStorageAccountsListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Gets list of linked storage accounts on a workspace.": { + "$ref": "./examples/LinkedStorageAccountsListByWorkspace.json" + } + } + } + } + }, + "definitions": { + "LinkedStorageAccountsProperties": { + "description": "Linked storage accounts properties.", + "type": "object", + "properties": { + "dataSourceType": { + "description": "Linked storage accounts type.", + "type": "string", + "readOnly": true, + "enum": [ + "CustomLogs", + "AzureWatson", + "Query", + "Alerts" + ], + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": false + } + }, + "storageAccountIds": { + "description": "Linked storage accounts resources ids.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "LinkedStorageAccountsResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LinkedStorageAccountsProperties", + "description": "Linked storage accounts properties." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Linked storage accounts top level resource container." + }, + "LinkedStorageAccountsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LinkedStorageAccountsResource" + }, + "description": "A list of linked storage accounts instances." + } + }, + "description": "The list linked storage accounts service operation response." + } + }, + "parameters": { + "DataSourceTypeParameter": { + "name": "dataSourceType", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "CustomLogs", + "AzureWatson", + "Query", + "Alerts" + ], + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": false + }, + "description": "Linked storage accounts type.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json new file mode 100644 index 000000000000..dd0162d958b4 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json @@ -0,0 +1,142 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/managementGroups": { + "get": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "WorkspacesListManagementGroups": { + "$ref": "./examples/WorkspacesListManagementGroups.json" + } + }, + "operationId": "ManagementGroups_List", + "description": "Gets a list of management groups connected to a workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/WorkspaceListManagementGroupsResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "ManagementGroupProperties": { + "properties": { + "serverCount": { + "type": "integer", + "format": "int32", + "description": "The number of servers connected to the management group." + }, + "isGateway": { + "type": "boolean", + "description": "Gets or sets a value indicating whether the management group is a gateway." + }, + "name": { + "type": "string", + "description": "The name of the management group." + }, + "id": { + "type": "string", + "description": "The unique ID of the management group." + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The datetime that the management group was created." + }, + "dataReceived": { + "type": "string", + "format": "date-time", + "description": "The last datetime that the management group received data." + }, + "version": { + "type": "string", + "description": "The version of System Center that is managing the management group." + }, + "sku": { + "type": "string", + "description": "The SKU of System Center that is managing the management group." + } + }, + "description": "Management group properties." + }, + "ManagementGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupProperties", + "description": "The properties of the management group." + } + }, + "description": "A management group that is connected to a workspace" + }, + "WorkspaceListManagementGroupsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroup" + }, + "description": "Gets or sets a list of management groups attached to the workspace." + } + }, + "description": "The list workspace management groups operation response." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json new file mode 100644 index 000000000000..c0c84de72afc --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json @@ -0,0 +1,116 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-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.OperationalInsights/locations/{location}/operationStatuses/{asyncOperationId}": { + "get": { + "x-ms-examples": { + "Get specific operation status": { + "$ref": "./examples/OperationStatusesGet.json" + } + }, + "tags": [ + "asyncOperations" + ], + "operationId": "OperationStatuses_Get", + "description": "Get the status of a long running azure asynchronous operation.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region name of operation." + }, + { + "name": "asyncOperationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation Id." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Operation status.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + } + } + } + } + }, + "definitions": { + "OperationStatus": { + "description": "The status of operation.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The operation Id." + }, + "name": { + "type": "string", + "description": "The operation name." + }, + "startTime": { + "type": "string", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "description": "The end time of the operation." + }, + "status": { + "type": "string", + "description": "The status of the operation." + }, + "error": { + "type": "object", + "description": "The error detail of the operation if any.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Operations.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Operations.json new file mode 100644 index 000000000000..94061f457158 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Operations.json @@ -0,0 +1,118 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-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.OperationalInsights/operations": { + "get": { + "x-ms-examples": { + "Get specific operation status": { + "$ref": "./examples/OperationsListByTenant.json" + } + }, + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available OperationalInsights Rest API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list solution operations.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of solution operations supported by the OperationsManagement resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "Supported operation of OperationalInsights resource provider.", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft OperationsManagement.", + "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" + } + } + } + } + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json new file mode 100644 index 000000000000..34f7ad1d6c8f --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json @@ -0,0 +1,301 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference.", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchId}": { + "delete": { + "tags": [ + "SavedSearches" + ], + "x-ms-examples": { + "SavedSearchesDelete": { + "$ref": "./examples/WorkspacesDeleteSavedSearches.json" + } + }, + "operationId": "SavedSearches_Delete", + "description": "Deletes the specified saved search in a given workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "savedSearchId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the saved search." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + } + } + }, + "put": { + "tags": [ + "SavedSearches" + ], + "x-ms-examples": { + "SavedSearchCreateOrUpdate": { + "$ref": "./examples/WorkspacesSavedSearchesCreateOrUpdate.json" + } + }, + "operationId": "SavedSearches_CreateOrUpdate", + "description": "Creates or updates a saved search for a given workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "savedSearchId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the saved search." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SavedSearch" + }, + "description": "The parameters required to save a search." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/SavedSearch" + } + } + } + }, + "get": { + "tags": [ + "SavedSearches" + ], + "x-ms-examples": { + "SavedSearchesGet": { + "$ref": "./examples/WorkspacesSavedSearchesGet.json" + } + }, + "operationId": "SavedSearches_Get", + "description": "Gets the specified saved search for a given workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "savedSearchId", + "in": "path", + "required": true, + "type": "string", + "description": "The id of the saved search." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/SavedSearch" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches": { + "get": { + "tags": [ + "SavedSearches" + ], + "x-ms-examples": { + "SavedSearchesList": { + "$ref": "./examples/SavedSearchesListByWorkspace.json" + } + }, + "operationId": "SavedSearches_ListByWorkspace", + "description": "Gets the saved searches for a given Log Analytics Workspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns the list of saved searches for the given Log Analytics Workspace.", + "schema": { + "$ref": "#/definitions/SavedSearchesListResult" + } + } + } + } + } + }, + "definitions": { + "Tag": { + "properties": { + "name": { + "type": "string", + "description": "The tag name." + }, + "value": { + "type": "string", + "description": "The tag value." + } + }, + "required": [ + "name", + "value" + ], + "description": "A tag of a saved search." + }, + "SavedSearchProperties": { + "properties": { + "category": { + "type": "string", + "description": "The category of the saved search. This helps the user to find a saved search faster. " + }, + "displayName": { + "type": "string", + "description": "Saved search display name." + }, + "query": { + "type": "string", + "description": "The query expression for the saved search." + }, + "functionAlias": { + "type": "string", + "description": "The function alias if query serves as a function." + }, + "functionParameters": { + "type": "string", + "description": "The optional function parameters if query serves as a function. Value should be in the following format: 'param-name1:type1 = default_value1, param-name2:type2 = default_value2'. For more examples and proper syntax please refer to https://docs.microsoft.com/en-us/azure/kusto/query/functions/user-defined-functions." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "The version number of the query language. The current version is 2 and is the default." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + }, + "description": "The tags attached to the saved search." + } + }, + "required": [ + "category", + "displayName", + "query" + ], + "description": "Value object for saved search results." + }, + "SavedSearch": { + "properties": { + "etag": { + "type": "string", + "description": "The ETag of the saved search." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SavedSearchProperties", + "description": "The properties of the saved search." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Value object for saved search results." + }, + "SavedSearchesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SavedSearch" + }, + "description": "The array of result values." + } + }, + "description": "The saved search list operation response." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json new file mode 100644 index 000000000000..6df122c9f37b --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json @@ -0,0 +1,274 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/schema": { + "post": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "WorkspacesGetSchema": { + "$ref": "./examples/SavedSearchesGetSchema.json" + } + }, + "operationId": "Schema_Get", + "description": "Gets the schema for a given workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/SearchGetSchemaResponse" + } + } + } + } + } + }, + "definitions": { + "CoreSummary": { + "properties": { + "status": { + "type": "string", + "description": "The status of a core summary." + }, + "numberOfDocuments": { + "type": "integer", + "format": "int64", + "description": "The number of documents of a core summary." + } + }, + "required": [ + "numberOfDocuments" + ], + "description": "The core summary of a search." + }, + "SearchSort": { + "properties": { + "name": { + "type": "string", + "description": "The name of the field the search query is sorted on." + }, + "order": { + "type": "string", + "description": "The sort order of the search.", + "enum": [ + "asc", + "desc" + ], + "x-ms-enum": { + "name": "SearchSortEnum", + "modelAsString": true + } + } + }, + "description": "The sort parameters for search." + }, + "SearchMetadataSchema": { + "properties": { + "name": { + "type": "string", + "description": "The name of the metadata schema." + }, + "version": { + "type": "integer", + "format": "int32", + "description": "The version of the metadata schema." + } + }, + "description": "Schema metadata for search." + }, + "SearchMetadata": { + "properties": { + "requestId": { + "x-ms-client-name": "SearchId", + "type": "string", + "description": "The request id of the search." + }, + "resultType": { + "type": "string", + "description": "The search result type." + }, + "total": { + "type": "integer", + "format": "int64", + "description": "The total number of search results." + }, + "top": { + "type": "integer", + "format": "int64", + "description": "The number of top search results." + }, + "id": { + "type": "string", + "description": "The id of the search results request." + }, + "coreSummaries": { + "type": "array", + "items": { + "$ref": "#/definitions/CoreSummary" + }, + "description": "The core summaries." + }, + "status": { + "type": "string", + "description": "The status of the search results." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time for the search." + }, + "lastUpdated": { + "type": "string", + "format": "date-time", + "description": "The time of last update." + }, + "eTag": { + "type": "string", + "description": "The ETag of the search results." + }, + "sort": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchSort" + }, + "description": "How the results are sorted." + }, + "requestTime": { + "type": "integer", + "format": "int64", + "description": "The request time." + }, + "aggregatedValueField": { + "type": "string", + "description": "The aggregated value field." + }, + "aggregatedGroupingFields": { + "type": "string", + "description": "The aggregated grouping fields." + }, + "sum": { + "type": "integer", + "format": "int64", + "description": "The sum of all aggregates returned in the result set." + }, + "max": { + "type": "integer", + "format": "int64", + "description": "The max of all aggregates returned in the result set." + }, + "schema": { + "$ref": "#/definitions/SearchMetadataSchema", + "description": "The schema." + } + }, + "description": "Metadata for search results." + }, + "SearchSchemaValue": { + "properties": { + "name": { + "type": "string", + "description": "The name of the schema." + }, + "displayName": { + "type": "string", + "description": "The display name of the schema." + }, + "type": { + "type": "string", + "description": "The type." + }, + "indexed": { + "type": "boolean", + "description": "The boolean that indicates the field is searchable as free text." + }, + "stored": { + "type": "boolean", + "description": "The boolean that indicates whether or not the field is stored." + }, + "facet": { + "type": "boolean", + "description": "The boolean that indicates whether or not the field is a facet." + }, + "ownerType": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The array of workflows containing the field." + } + }, + "required": [ + "facet", + "stored", + "indexed" + ], + "description": "Value object for schema results." + }, + "SearchGetSchemaResponse": { + "properties": { + "metadata": { + "x-ms-client-name": "Metadata", + "$ref": "#/definitions/SearchMetadata", + "description": "The metadata from search results." + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchSchemaValue" + }, + "description": "The array of result values." + } + }, + "description": "The get schema operation response." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json new file mode 100644 index 000000000000..de0622e8ed96 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json @@ -0,0 +1,126 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/sharedKeys": { + "post": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "SharedKeysList": { + "$ref": "./examples/WorkspacesGetSharedKeys.json" + } + }, + "operationId": "SharedKeys_GetSharedKeys", + "description": "Gets the shared keys for a workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/SharedKeys" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/regenerateSharedKey": { + "post": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "RegenerateSharedKeys": { + "$ref": "./examples/WorkspacesRegenerateSharedKeys.json" + } + }, + "operationId": "SharedKeys_Regenerate", + "description": "Regenerates the shared keys for a Log Analytics Workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Returns the new shared keys associated with the Log Analytics Workspace.", + "schema": { + "$ref": "#/definitions/SharedKeys" + } + } + } + } + } + }, + "definitions": { + "SharedKeys": { + "properties": { + "primarySharedKey": { + "type": "string", + "description": "The primary shared key of a workspace." + }, + "secondarySharedKey": { + "type": "string", + "description": "The secondary shared key of a workspace." + } + }, + "description": "The shared keys for a workspace." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json new file mode 100644 index 000000000000..b9c5d76a22e9 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json @@ -0,0 +1,340 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference.", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs/{storageInsightName}": { + "put": { + "tags": [ + "StorageInsights" + ], + "x-ms-examples": { + "StorageInsightsCreate": { + "$ref": "./examples/StorageInsightsCreateOrUpdate.json" + } + }, + "operationId": "StorageInsightConfigs_CreateOrUpdate", + "description": "Create or update a storage insight.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "storageInsightName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the storageInsightsConfigs resource" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageInsight" + }, + "description": "The parameters required to create or update a storage insight." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created response definition.", + "schema": { + "$ref": "#/definitions/StorageInsight" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/StorageInsight" + } + } + } + }, + "get": { + "tags": [ + "StorageInsights" + ], + "x-ms-examples": { + "StorageInsightsGet": { + "$ref": "./examples/StorageInsightsGet.json" + } + }, + "operationId": "StorageInsightConfigs_Get", + "description": "Gets a storage insight instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "storageInsightName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the storageInsightsConfigs resource" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/StorageInsight" + } + } + } + }, + "delete": { + "tags": [ + "StorageInsights" + ], + "x-ms-examples": { + "StorageInsightsDelete": { + "$ref": "./examples/StorageInsightsDelete.json" + } + }, + "operationId": "StorageInsightConfigs_Delete", + "description": "Deletes a storageInsightsConfigs resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "storageInsightName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the storageInsightsConfigs resource" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "204": { + "description": "NoContent response definition." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/storageInsightConfigs": { + "get": { + "tags": [ + "StorageInsights" + ], + "x-ms-examples": { + "StorageInsightsList": { + "$ref": "./examples/StorageInsightsListByWorkspace.json" + } + }, + "operationId": "StorageInsightConfigs_ListByWorkspace", + "description": "Lists the storage insight instances within a workspace", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/StorageInsightListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + } + } + } + }, + "definitions": { + "StorageAccount": { + "properties": { + "id": { + "type": "string", + "description": "The Azure Resource Manager ID of the storage account resource." + }, + "key": { + "type": "string", + "description": "The storage account key." + } + }, + "required": [ + "id", + "key" + ], + "description": "Describes a storage account connection." + }, + "StorageInsightStatus": { + "properties": { + "state": { + "type": "string", + "description": "The state of the storage insight connection to the workspace", + "enum": [ + "OK", + "ERROR" + ], + "x-ms-enum": { + "name": "StorageInsightState", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "Description of the state of the storage insight." + } + }, + "required": [ + "state" + ], + "description": "The status of the storage insight." + }, + "StorageInsightProperties": { + "properties": { + "containers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The names of the blob containers that the workspace should read" + }, + "tables": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The names of the Azure tables that the workspace should read" + }, + "storageAccount": { + "$ref": "#/definitions/StorageAccount", + "description": "The storage account connection details" + }, + "status": { + "$ref": "#/definitions/StorageInsightStatus", + "description": "The status of the storage insight", + "readOnly": true + } + }, + "required": [ + "storageAccount" + ], + "description": "Storage insight properties." + }, + "StorageInsight": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageInsightProperties", + "description": "Storage insight properties." + }, + "eTag": { + "type": "string", + "description": "The ETag of the storage insight." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "The top level storage insight resource container." + }, + "StorageInsightListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageInsight" + }, + "description": "A list of storage insight items." + }, + "@odata.nextLink": { + "type": "string", + "description": "The link (url) to the next page of results.", + "x-ms-client-name": "odataNextLink" + } + }, + "description": "The list storage insights operation response." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Tables.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Tables.json new file mode 100644 index 000000000000..d1530577a253 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Tables.json @@ -0,0 +1,241 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables": { + "get": { + "tags": [ + "Tables" + ], + "x-ms-examples": { + "TablesListByWorkspace": { + "$ref": "./examples/TablesList.json" + } + }, + "operationId": "Tables_ListByWorkspace", + "description": "Gets all the tables for the specified Log Analytics workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/TablesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}": { + "patch": { + "tags": [ + "Tables" + ], + "x-ms-examples": { + "TablesSet": { + "$ref": "./examples/TablesUpdate.json" + } + }, + "operationId": "Tables_Update", + "description": "Updates a Log Analytics workspace table properties.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TableNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Table" + }, + "description": "The parameters required to update table properties." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + } + }, + "get": { + "tags": [ + "Tables" + ], + "x-ms-examples": { + "TablesGet": { + "$ref": "./examples/TablesGet.json" + } + }, + "operationId": "Tables_Get", + "description": "Gets a Log Analytics workspace table.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TableNameParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": { + "TableProperties": { + "properties": { + "retentionInDays": { + "type": "integer", + "format": "int32", + "minimum": 30, + "maximum": 730, + "description": "The data table data retention in days, between 30 and 730. Setting this property to null will default to the workspace retention." + } + }, + "description": "Table properties." + }, + "Table": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TableProperties", + "description": "Table properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Workspace data table definition." + }, + "TablesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Table" + }, + "description": "A list of data tables." + } + }, + "description": "The list tables operation response." + }, + "ErrorContract": { + "title": "Error details.", + "description": "Contains details when the response code indicates an error.", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + } + }, + "parameters": { + "TableNameParameter": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the table.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json new file mode 100644 index 000000000000..a7bb8315356b --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json @@ -0,0 +1,137 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/usages": { + "get": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "UsagesList": { + "$ref": "./examples/WorkspacesListUsages.json" + } + }, + "operationId": "Usages_List", + "description": "Gets a list of usage metrics for a workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/WorkspaceListUsagesResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "MetricName": { + "properties": { + "value": { + "type": "string", + "description": "The system name of the metric." + }, + "localizedValue": { + "type": "string", + "description": "The localized name of the metric." + } + }, + "description": "The name of a metric." + }, + "UsageMetric": { + "properties": { + "name": { + "$ref": "#/definitions/MetricName", + "description": "The name of the metric." + }, + "unit": { + "type": "string", + "description": "The units used for the metric." + }, + "currentValue": { + "type": "number", + "format": "double", + "description": "The current value of the metric." + }, + "limit": { + "type": "number", + "format": "double", + "description": "The quota limit for the metric." + }, + "nextResetTime": { + "type": "string", + "format": "date-time", + "description": "The time that the metric's value will reset." + }, + "quotaPeriod": { + "type": "string", + "description": "The quota period that determines the length of time between value resets." + } + }, + "description": "A metric describing the usage of a resource." + }, + "WorkspaceListUsagesResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UsageMetric" + }, + "description": "Gets or sets a list of usage metrics for a workspace." + } + }, + "description": "The list workspace usages operation response." + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json new file mode 100644 index 000000000000..7d16bf6b2028 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json @@ -0,0 +1,216 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/purge": { + "post": { + "tags": [ + "Workspaces" + ], + "description": "Purges data in an Log Analytics workspace by a set of user-defined filters.\n\nIn order to manage system resources, purge requests are throttled at 50 requests per hour. You should batch the execution of purge requests by sending a single command whose predicate includes all user identities that require purging. Use the in operator to specify multiple identities. You should run the query prior to using for a purge request to verify that the results are expected.", + "operationId": "WorkspacePurge_Purge", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/WorkspacePurgeParameter" + } + ], + "responses": { + "202": { + "description": "Accepted request for purging an Log Analytics workspace.", + "schema": { + "$ref": "#/definitions/WorkspacePurgeResponse" + }, + "headers": { + "x-ms-status-location": { + "type": "string", + "description": "The location from which to request the operation status." + } + } + } + }, + "x-ms-examples": { + "WorkspacePurge": { + "$ref": "./examples/WorkspacesPurge.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/operations/{purgeId}": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Gets status of an ongoing purge operation.", + "operationId": "WorkspacePurge_GetPurgeStatus", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/WorkspacePurgeIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns status of purge operation in body of response. e.g.: running, completed.", + "schema": { + "$ref": "#/definitions/WorkspacePurgeStatusResponse" + } + } + }, + "x-ms-examples": { + "WorkspacePurgeOperation": { + "$ref": "./examples/WorkspacesPurgeOperation.json" + } + } + } + } + }, + "definitions": { + "WorkspacePurgeBody": { + "description": "Describes the body of a purge request for an App Insights Workspace", + "required": [ + "table", + "filters" + ], + "properties": { + "table": { + "type": "string", + "description": "Table from which to purge data." + }, + "filters": { + "type": "array", + "description": "The set of columns and filters (queries) to run over them to purge the resulting data.", + "items": { + "$ref": "#/definitions/WorkspacePurgeBodyFilters" + } + } + } + }, + "WorkspacePurgeBodyFilters": { + "description": "User-defined filters to return data which will be purged from the table.", + "properties": { + "column": { + "description": "The column of the table over which the given query should run", + "type": "string" + }, + "operator": { + "description": "A query operator to evaluate over the provided column and value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, and have the same behavior as they would in a KQL query.", + "type": "string" + }, + "value": { + "description": "the value for the operator to function over. This can be a number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of values." + }, + "key": { + "description": "When filtering over custom dimensions, this key will be used as the name of the custom dimension.", + "type": "string" + } + } + }, + "WorkspacePurgeResponse": { + "description": "Response containing operationId for a specific purge action.", + "properties": { + "operationId": { + "description": "Id to use when querying for status for a particular purge operation.", + "type": "string" + } + }, + "required": [ + "operationId" + ] + }, + "WorkspacePurgeStatusResponse": { + "description": "Response containing status for a specific purge operation.", + "properties": { + "status": { + "description": "Status of the operation represented by the requested Id.", + "type": "string", + "enum": [ + "pending", + "completed" + ], + "x-ms-enum": { + "name": "PurgeState", + "modelAsString": true + } + } + }, + "required": [ + "status" + ] + } + }, + "parameters": { + "WorkspacePurgeParameter": { + "name": "body", + "in": "body", + "description": "Describes the body of a request to purge data in a single table of an Log Analytics Workspace", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspacePurgeBody" + }, + "x-ms-parameter-location": "method" + }, + "WorkspacePurgeIdParameter": { + "name": "purgeId", + "in": "path", + "required": true, + "type": "string", + "description": "In a purge status request, this is the Id of the operation the status of which is returned.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Workspaces.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Workspaces.json new file mode 100644 index 000000000000..b706dd9e393e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Workspaces.json @@ -0,0 +1,607 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics", + "description": "Azure Log Analytics API reference", + "version": "2020-08-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.OperationalInsights/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "WorkspacesSubscriptionList": { + "$ref": "./examples/WorkspacesSubscriptionList.json" + } + }, + "operationId": "Workspaces_List", + "description": "Gets the workspaces in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "WorkspacesGet": { + "$ref": "./examples/WorkspacesListByResourceGroup.json" + } + }, + "operationId": "Workspaces_ListByResourceGroup", + "description": "Gets workspaces in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}": { + "put": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "WorkspacesCreate": { + "$ref": "./examples/WorkspacesCreate.json" + } + }, + "operationId": "Workspaces_CreateOrUpdate", + "description": "Create or update a workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + }, + "description": "The parameters required to create or update a workspace." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "Created response definition.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "WorkspacesDelete": { + "$ref": "./examples/WorkspacesDelete.json" + } + }, + "operationId": "Workspaces_Delete", + "description": "Deletes a workspace resource. To recover the workspace, create it again with the same name, in the same subscription, resource group and location. The name is kept for 14 days and cannot be used for another workspace. To remove the workspace completely and release the name, use the force flag.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the workspace without the recovery option. A workspace that was deleted with this flag cannot be recovered." + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent response definition." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "WorkspaceGet": { + "$ref": "./examples/WorkspacesGet.json" + } + }, + "operationId": "Workspaces_Get", + "description": "Gets a workspace instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Workspace" + } + } + } + }, + "patch": { + "tags": [ + "Workspaces" + ], + "x-ms-examples": { + "WorkspacesPatch": { + "$ref": "./examples/WorkspacesUpdate.json" + } + }, + "operationId": "Workspaces_Update", + "description": "Updates a workspace.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspacePatch" + }, + "description": "The parameters required to patch a workspace." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing workspace was successfully updated. Check provisioningStatus to see detailed status.", + "schema": { + "$ref": "#/definitions/Workspace" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/deletedWorkspaces": { + "get": { + "tags": [ + "DeletedWorkspaces" + ], + "x-ms-examples": { + "WorkspacesSubscriptionList": { + "$ref": "./examples/WorkspacesSubscriptionList.json" + } + }, + "operationId": "DeletedWorkspaces_List", + "description": "Gets recently deleted workspaces in a subscription, available for recovery.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/deletedWorkspaces": { + "get": { + "tags": [ + "DeletedWorkspaces" + ], + "x-ms-examples": { + "WorkspacesGet": { + "$ref": "./examples/WorkspacesListByResourceGroup.json" + } + }, + "operationId": "DeletedWorkspaces_ListByResourceGroup", + "description": "Gets recently deleted workspaces in a resource group, available for recovery.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/WorkspaceListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "WorkspaceSku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU.", + "enum": [ + "Free", + "Standard", + "Premium", + "PerNode", + "PerGB2018", + "Standalone", + "CapacityReservation" + ], + "x-ms-enum": { + "name": "WorkspaceSkuNameEnum", + "modelAsString": true + } + }, + "capacityReservationLevel": { + "type": "integer", + "format": "int32", + "description": "The capacity reservation level for this workspace, when CapacityReservation sku is selected." + }, + "maxCapacityReservationLevel": { + "type": "integer", + "format": "int32", + "description": "The maximum capacity reservation level available for this workspace, when CapacityReservation sku is selected.", + "readOnly": true + }, + "lastSkuUpdate": { + "type": "string", + "description": "The last time when the sku was updated.", + "readOnly": true + } + }, + "required": [ + "name" + ], + "description": "The SKU (tier) of a workspace." + }, + "WorkspaceCapping": { + "description": "The daily volume cap for ingestion.", + "properties": { + "dailyQuotaGb": { + "type": "number", + "format": "double", + "description": "The workspace daily quota for ingestion." + }, + "quotaNextResetTime": { + "type": "string", + "description": "The time when the quota will be rest.", + "readOnly": true + }, + "dataIngestionStatus": { + "type": "string", + "readOnly": true, + "description": "The status of data ingestion for this workspace.", + "enum": [ + "RespectQuota", + "ForceOn", + "ForceOff", + "OverQuota", + "SubscriptionSuspended", + "ApproachingQuota" + ], + "x-ms-enum": { + "name": "DataIngestionStatus", + "modelAsString": true, + "values": [ + { + "value": "RespectQuota", + "description": "Ingestion enabled following daily cap quota reset, or subscription enablement." + }, + { + "value": "ForceOn", + "description": "Ingestion started following service setting change." + }, + { + "value": "ForceOff", + "description": "Ingestion stopped following service setting change." + }, + { + "value": "OverQuota", + "description": "Reached daily cap quota, ingestion stopped." + }, + { + "value": "SubscriptionSuspended", + "description": "Ingestion stopped following suspended subscription." + }, + { + "value": "ApproachingQuota", + "description": "80% of daily cap quota reached." + } + ] + } + } + } + }, + "WorkspaceProperties": { + "properties": { + "provisioningState": { + "type": "string", + "description": "The provisioning state of the workspace.", + "enum": [ + "Creating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "ProvisioningAccount", + "Updating" + ], + "x-ms-enum": { + "name": "WorkspaceEntityStatus", + "modelAsString": true + } + }, + "customerId": { + "type": "string", + "description": "This is a read-only property. Represents the ID associated with the workspace.", + "readOnly": true + }, + "sku": { + "$ref": "#/definitions/WorkspaceSku", + "description": "The SKU of the workspace." + }, + "retentionInDays": { + "type": "integer", + "format": "int32", + "minimum": 30, + "maximum": 730, + "description": "The workspace data retention in days, between 30 and 730." + }, + "workspaceCapping": { + "$ref": "#/definitions/WorkspaceCapping", + "description": "The daily volume cap for ingestion." + }, + "publicNetworkAccessForIngestion": { + "description": "The network access type for accessing Log Analytics ingestion.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "publicNetworkAccessForQuery": { + "description": "The network access type for accessing Log Analytics query.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "privateLinkScopedResources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkScopedResource" + }, + "description": "List of linked private link scope resources." + } + }, + "description": "Workspace properties." + }, + "PrivateLinkScopedResource": { + "properties": { + "resourceId": { + "type": "string", + "description": "The full resource Id of the private link scope resource." + }, + "scopeId": { + "type": "string", + "description": "The private link scope unique Identifier." + } + }, + "description": "The private link scope resource reference." + }, + "Workspace": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties", + "description": "Workspace properties." + }, + "eTag": { + "type": "string", + "description": "The ETag of the workspace." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The top level Workspace resource container." + }, + "WorkspacePatch": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties", + "description": "Workspace properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags. Optional." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The top level Workspace resource container." + }, + "WorkspaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + }, + "description": "A list of workspaces." + } + }, + "description": "The list workspaces operation response." + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access type for operating on the Log Analytics Workspace. By default it is Enabled", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Enables connectivity to Log Analytics through public DNS." + }, + { + "value": "Disabled", + "description": "Disables public connectivity to Log Analytics through public DNS." + } + ] + } + } + }, + "parameters": {} +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersCreate.json new file mode 100644 index 000000000000..5cff1837c235 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersCreate.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "clusterName": "oiautorest6685", + "parameters": { + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + } + }, + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "provisioningState": "ProvisioningAccount", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/clusters/oiautorest6685", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "name": "oiautorest6685", + "type": "Microsoft.OperationalInsights/clusters", + "location": "australiasoutheast" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "ProvisioningAccount", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/clusters/oiautorest6685", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "name": "oiautorest6685", + "type": "Microsoft.OperationalInsights/clusters", + "location": "australiasoutheast" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersDelete.json new file mode 100644 index 000000000000..6cf201fa4e8d --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "clusterName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersGet.json new file mode 100644 index 000000000000..f00ab94f7a35 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "clusterName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "name": "TestResourceLock", + "type": "Microsoft.OperationalInsights/clusters", + "location": "eastus" + }, + { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/mms-eus/providers/microsoft.operationalinsights/clusters/southukws", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "name": "SouthUKWS", + "type": "Microsoft.OperationalInsights/clusters", + "location": "East US" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersListByResourceGroup.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersListByResourceGroup.json new file mode 100644 index 000000000000..41613fbf872e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "name": "TestResourceLock", + "type": "Microsoft.OperationalInsights/clusters", + "location": "eastus" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersSubscriptionList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersSubscriptionList.json new file mode 100644 index 000000000000..464e1f1f76fc --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersSubscriptionList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "5b02755b-5bf4-430c-9487-45502a2a7e62" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/clusters/testresourcelock", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "name": "TestResourceLock", + "type": "Microsoft.OperationalInsights/clusters", + "location": "eastus" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersUpdate.json new file mode 100644 index 000000000000..1ea95a42239b --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/ClustersUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "clusterName": "oiautorest6685", + "parameters": { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + } + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "tags": { + "tag1": "val1" + } + }, + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "keyVaultProperties": { + "keyVaultUri": "https://aztest2170.vault.azure.net", + "keyName": "aztest2170cert", + "keyVersion": "654ft6c4e63845cbb50fd6fg51540429" + }, + "provisioningState": "Succeeded", + "clusterId": "1c3f2afc-9ec1-4e74-bfe8-022b83bcd7b1" + }, + "sku": { + "name": "CapacityReservation", + "capacity": 1000 + }, + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportCreateOrUpdate.json new file mode 100644 index 000000000000..b60c73ed69f2 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportCreateOrUpdate.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "resourceGroupName": "RgTest1", + "workspaceName": "DeWnTest1234", + "dataExportName": "export1", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "parameters": { + "properties": { + "destination": { + "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test" + }, + "tableNames": [ + "Heartbeat" + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "dataExportId": "d5233afc-7829-4b89-c594-08d7975e19a5", + "destination": { + "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", + "type": "EventHub" + }, + "allTables": false, + "tableNames": [ + "Heartbeat" + ], + "enable": true, + "createdDate": "Sun, 12 Jan 2020 12:51:10 GMT", + "lastModifiedDate": "Sun, 12 Jan 2020 12:51:10 GMT" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/RgTest1/providers/microsoft.operationalinsights/workspaces/DeWnTest1234/export/export1", + "name": "export1", + "type": "Microsoft.OperationalInsights/workspaces/export" + } + }, + "201": { + "body": { + "properties": { + "dataExportId": "d5233afc-7829-4b89-c594-08d7975e19a5", + "destination": { + "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", + "type": "EventHub" + }, + "allTables": false, + "tableNames": [ + "Heartbeat" + ], + "enable": true, + "createdDate": "Sun, 12 Jan 2020 12:51:10 GMT", + "lastModifiedDate": "Sun, 12 Jan 2020 12:51:10 GMT" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/RgTest1/providers/microsoft.operationalinsights/workspaces/DeWnTest1234/export/export1", + "name": "export1", + "type": "Microsoft.OperationalInsights/workspaces/export" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportDelete.json new file mode 100644 index 000000000000..a09555076458 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "RgTest1", + "workspaceName": "DeWnTest1234", + "dataExportName": "export1", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportGet.json new file mode 100644 index 000000000000..f07a5fd8ce5e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "RgTest1", + "workspaceName": "DeWnTest1234", + "dataExportName": "export1", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "dataExportId": "d5233afc-7829-4b89-c594-08d7975e19a5", + "destination": { + "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", + "type": "EventHub" + }, + "allTables": false, + "tableNames": [ + "Heartbeat" + ], + "enable": true, + "createdDate": "Sun, 12 Jan 2020 12:51:10 GMT", + "lastModifiedDate": "Sun, 12 Jan 2020 12:51:10 GMT" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/RgTest1/providers/microsoft.operationalinsights/workspaces/DeWnTest1234/export/export1", + "name": "export1", + "type": "Microsoft.OperationalInsights/workspaces/export" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportListByWorkspace.json new file mode 100644 index 000000000000..77e1bdde11af --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataExportListByWorkspace.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceGroupName": "RgTest1", + "workspaceName": "DeWnTest1234", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "dataExportId": "d5233afc-7829-4b89-c594-08d7975e19a5", + "destination": { + "resourceId": "/subscriptions/192b9f85-a39a-4276-b96d-d5cd351703f9/resourceGroups/OIAutoRest1234/providers/Microsoft.EventHub/namespaces/test", + "type": "EventHub" + }, + "allTables": false, + "tableNames": [ + "Heartbeat" + ], + "enable": true, + "createdDate": "Sun, 12 Jan 2020 12:51:10 GMT", + "lastModifiedDate": "Sun, 12 Jan 2020 12:51:10 GMT" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/RgTest1/providers/microsoft.operationalinsights/workspaces/DeWnTest1234/export/export1", + "name": "export1", + "type": "Microsoft.OperationalInsights/workspaces/export" + } + ] + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesCreate.json new file mode 100644 index 000000000000..471dee0a279f --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "AzTest9724", + "dataSourceName": "AzTestDS774", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "parameters": { + "properties": { + "LinkedResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/providers/microsoft.insights/eventtypes/management" + }, + "kind": "AzureActivityLog" + } + }, + "responses": { + "200": { + "body": { + "kind": "AzureActivityLog", + "properties": { + "linkedResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/providers/microsoft.insights/eventtypes/management" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest5123/providers/Microsoft.OperationalInsights/workspaces/AzTest9724/datasources/AzTestDS774", + "etag": "W/\"datetime'2017-10-01T08%3A01%3A21.2351243Z'\"", + "name": "AzTestDS774", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + } + }, + "201": { + "body": { + "kind": "AzureActivityLog", + "properties": { + "linkedResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/providers/microsoft.insights/eventtypes/management" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest5123/providers/Microsoft.OperationalInsights/workspaces/AzTest9724/datasources/AzTestDS774", + "etag": "W/\"datetime'2017-10-01T08%3A01%3A21.2351243Z'\"", + "name": "AzTestDS774", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesDelete.json new file mode 100644 index 000000000000..94d317c3c611 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "AzTest9724", + "dataSourceName": "AzTestDS774", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesGet.json new file mode 100644 index 000000000000..2237e50ba35e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "AzTest9724", + "dataSourceName": "AzTestDS774", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "kind": "AzureActivityLog", + "properties": { + "linkedResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/providers/microsoft.insights/eventtypes/management" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest5123/providers/Microsoft.OperationalInsights/workspaces/AzTest9724/datasources/AzTestDS774", + "etag": "W/\"datetime'2017-10-01T08%3A01%3A21.2351243Z'\"", + "name": "AzTestDS774", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesListByWorkspace.json new file mode 100644 index 000000000000..b93901da9d48 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/DataSourcesListByWorkspace.json @@ -0,0 +1,3019 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "AzTest9724", + "dataSourceName": "AzTestDS774", + "$filter": "kind='WindowsEvent'", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent14", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1011", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A08.5629323Z'\"", + "name": "AzTestDSWE1011", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent64", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1013", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A22.2533211Z'\"", + "name": "AzTestDSWE1013", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent202", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1020", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A04.4645698Z'\"", + "name": "AzTestDSWE1020", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent231", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1074", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A12.5871672Z'\"", + "name": "AzTestDSWE1074", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent86", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1117", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A28.9325389Z'\"", + "name": "AzTestDSWE1117", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent30", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1128", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A13.2185735Z'\"", + "name": "AzTestDSWE1128", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent66", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1176", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A22.7779289Z'\"", + "name": "AzTestDSWE1176", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent199", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1293", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A03.5114136Z'\"", + "name": "AzTestDSWE1293", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent102", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE134", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A33.6788897Z'\"", + "name": "AzTestDSWE134", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent111", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1352", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A36.2312139Z'\"", + "name": "AzTestDSWE1352", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent31", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1360", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A13.4685716Z'\"", + "name": "AzTestDSWE1360", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent53", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1382", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A19.2840543Z'\"", + "name": "AzTestDSWE1382", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent132", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1410", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A42.7070374Z'\"", + "name": "AzTestDSWE1410", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent211", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1417", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A06.8922838Z'\"", + "name": "AzTestDSWE1417", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent274", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1560", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A26.6932412Z'\"", + "name": "AzTestDSWE1560", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent212", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1618", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A07.1422661Z'\"", + "name": "AzTestDSWE1618", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent221", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1662", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A09.5980265Z'\"", + "name": "AzTestDSWE1662", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent121", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1675", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A39.6167744Z'\"", + "name": "AzTestDSWE1675", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent157", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE169", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A50.1064668Z'\"", + "name": "AzTestDSWE169", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent196", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1735", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A02.4954752Z'\"", + "name": "AzTestDSWE1735", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent12", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1742", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A08.0452997Z'\"", + "name": "AzTestDSWE1742", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent145", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1815", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A46.5966089Z'\"", + "name": "AzTestDSWE1815", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent69", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1828", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A23.6529754Z'\"", + "name": "AzTestDSWE1828", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent58", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE188", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A20.7216320Z'\"", + "name": "AzTestDSWE188", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent48", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1962", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A17.9341560Z'\"", + "name": "AzTestDSWE1962", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent246", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE1997", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A17.3081821Z'\"", + "name": "AzTestDSWE1997", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent154", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2046", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A49.2918213Z'\"", + "name": "AzTestDSWE2046", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent165", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2056", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A52.4111189Z'\"", + "name": "AzTestDSWE2056", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent172", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2116", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A54.7598026Z'\"", + "name": "AzTestDSWE2116", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent9", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2142", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A07.2711237Z'\"", + "name": "AzTestDSWE2142", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent150", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE22", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A48.2064500Z'\"", + "name": "AzTestDSWE22", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent218", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2208", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A08.7849248Z'\"", + "name": "AzTestDSWE2208", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent161", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2221", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A51.3306230Z'\"", + "name": "AzTestDSWE2221", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent75", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2226", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A25.5991266Z'\"", + "name": "AzTestDSWE2226", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent38", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2231", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A15.3592513Z'\"", + "name": "AzTestDSWE2231", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent208", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2242", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A06.0641077Z'\"", + "name": "AzTestDSWE2242", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent228", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2263", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A11.7829226Z'\"", + "name": "AzTestDSWE2263", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent259", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2369", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A21.5874093Z'\"", + "name": "AzTestDSWE2369", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent210", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE240", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A06.6266574Z'\"", + "name": "AzTestDSWE240", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent265", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2423", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A23.4752361Z'\"", + "name": "AzTestDSWE2423", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent112", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2463", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A36.5611370Z'\"", + "name": "AzTestDSWE2463", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent32", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2499", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A13.7187131Z'\"", + "name": "AzTestDSWE2499", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent220", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2509", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A09.3324224Z'\"", + "name": "AzTestDSWE2509", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent87", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2541", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A29.2312540Z'\"", + "name": "AzTestDSWE2541", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent2", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2578", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A05.3117461Z'\"", + "name": "AzTestDSWE2578", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent119", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2619", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A38.5379572Z'\"", + "name": "AzTestDSWE2619", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent1", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE274", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A05.0735592Z'\"", + "name": "AzTestDSWE274", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent92", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2754", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A30.6297451Z'\"", + "name": "AzTestDSWE2754", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent205", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE281", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A05.2972963Z'\"", + "name": "AzTestDSWE281", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent101", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2818", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A33.3820072Z'\"", + "name": "AzTestDSWE2818", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent236", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2860", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A14.0876077Z'\"", + "name": "AzTestDSWE2860", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent93", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2867", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A30.9266089Z'\"", + "name": "AzTestDSWE2867", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent278", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2923", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A27.9342580Z'\"", + "name": "AzTestDSWE2923", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent138", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE2979", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A44.4311007Z'\"", + "name": "AzTestDSWE2979", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent217", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3009", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A08.5349323Z'\"", + "name": "AzTestDSWE3009", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent269", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3033", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A24.9696296Z'\"", + "name": "AzTestDSWE3033", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent49", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3095", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A18.2006423Z'\"", + "name": "AzTestDSWE3095", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent118", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3114", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A38.2879169Z'\"", + "name": "AzTestDSWE3114", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent116", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3132", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A37.6889867Z'\"", + "name": "AzTestDSWE3132", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent185", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3147", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A58.9331954Z'\"", + "name": "AzTestDSWE3147", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent109", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3159", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A35.6843083Z'\"", + "name": "AzTestDSWE3159", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent46", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE317", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A17.4118415Z'\"", + "name": "AzTestDSWE317", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent107", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3175", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A35.0592573Z'\"", + "name": "AzTestDSWE3175", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent28", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3183", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A12.6247906Z'\"", + "name": "AzTestDSWE3183", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent237", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3217", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A14.4938899Z'\"", + "name": "AzTestDSWE3217", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent62", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3220", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A21.7373059Z'\"", + "name": "AzTestDSWE3220", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent51", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3228", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A18.7785353Z'\"", + "name": "AzTestDSWE3228", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent171", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3395", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A54.4936956Z'\"", + "name": "AzTestDSWE3395", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent63", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3416", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A22.0032694Z'\"", + "name": "AzTestDSWE3416", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent280", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3506", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A28.8251658Z'\"", + "name": "AzTestDSWE3506", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent23", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3517", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A11.2153209Z'\"", + "name": "AzTestDSWE3517", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent229", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3528", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A12.0402565Z'\"", + "name": "AzTestDSWE3528", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent136", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3530", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A43.8027590Z'\"", + "name": "AzTestDSWE3530", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent194", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3594", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A01.9173304Z'\"", + "name": "AzTestDSWE3594", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent191", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3615", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A00.8990889Z'\"", + "name": "AzTestDSWE3615", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent242", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3645", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A16.0877829Z'\"", + "name": "AzTestDSWE3645", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent11", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3676", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A07.8068460Z'\"", + "name": "AzTestDSWE3676", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent155", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3700", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A49.5439700Z'\"", + "name": "AzTestDSWE3700", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent117", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3738", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A38.0363694Z'\"", + "name": "AzTestDSWE3738", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent159", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3740", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A50.6390339Z'\"", + "name": "AzTestDSWE3740", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent95", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3754", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A31.5203823Z'\"", + "name": "AzTestDSWE3754", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent96", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3761", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A31.7860159Z'\"", + "name": "AzTestDSWE3761", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent56", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3787", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A20.0966078Z'\"", + "name": "AzTestDSWE3787", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent181", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3880", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A57.8394298Z'\"", + "name": "AzTestDSWE3880", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent160", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3887", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A51.0806178Z'\"", + "name": "AzTestDSWE3887", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent244", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3899", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A16.6987634Z'\"", + "name": "AzTestDSWE3899", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent127", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE3928", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A41.4223363Z'\"", + "name": "AzTestDSWE3928", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent186", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4005", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A59.1831854Z'\"", + "name": "AzTestDSWE4005", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent288", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4021", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A31.5314824Z'\"", + "name": "AzTestDSWE4021", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent193", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4054", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A01.6667691Z'\"", + "name": "AzTestDSWE4054", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent133", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE406", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A42.9581303Z'\"", + "name": "AzTestDSWE406", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent88", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4128", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A29.4890798Z'\"", + "name": "AzTestDSWE4128", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent189", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4140", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A00.2051432Z'\"", + "name": "AzTestDSWE4140", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent183", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4209", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A58.3706603Z'\"", + "name": "AzTestDSWE4209", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent67", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4216", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A23.1240354Z'\"", + "name": "AzTestDSWE4216", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent294", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4240", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A33.5368097Z'\"", + "name": "AzTestDSWE4240", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent91", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4279", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A30.3641074Z'\"", + "name": "AzTestDSWE4279", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent273", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4289", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A26.3963554Z'\"", + "name": "AzTestDSWE4289", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent148", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4317", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A47.6751803Z'\"", + "name": "AzTestDSWE4317", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent4", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4324", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A05.8120517Z'\"", + "name": "AzTestDSWE4324", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent201", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4362", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A04.1208323Z'\"", + "name": "AzTestDSWE4362", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent13", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4416", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A08.3109506Z'\"", + "name": "AzTestDSWE4416", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent153", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4424", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A48.9744951Z'\"", + "name": "AzTestDSWE4424", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent52", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4466", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A19.0457713Z'\"", + "name": "AzTestDSWE4466", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent37", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4467", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A15.0936374Z'\"", + "name": "AzTestDSWE4467", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent129", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4503", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A41.9399246Z'\"", + "name": "AzTestDSWE4503", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent276", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4521", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A27.2714771Z'\"", + "name": "AzTestDSWE4521", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent79", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4530", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A26.7419933Z'\"", + "name": "AzTestDSWE4530", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent115", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4600", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A37.4227966Z'\"", + "name": "AzTestDSWE4600", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent135", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4644", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A43.5519204Z'\"", + "name": "AzTestDSWE4644", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent162", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4694", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A51.6431386Z'\"", + "name": "AzTestDSWE4694", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent5", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4715", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A06.0530002Z'\"", + "name": "AzTestDSWE4715", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent267", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE472", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A24.3989962Z'\"", + "name": "AzTestDSWE472", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent243", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4721", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A16.3706498Z'\"", + "name": "AzTestDSWE4721", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent295", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4734", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A33.8337155Z'\"", + "name": "AzTestDSWE4734", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent270", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4755", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A25.2712759Z'\"", + "name": "AzTestDSWE4755", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent81", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4779", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A27.5076680Z'\"", + "name": "AzTestDSWE4779", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent0", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4791", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A04.6828938Z'\"", + "name": "AzTestDSWE4791", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent170", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4798", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A54.0073520Z'\"", + "name": "AzTestDSWE4798", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent263", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE480", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A22.9077505Z'\"", + "name": "AzTestDSWE480", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent25", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4847", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A11.7028912Z'\"", + "name": "AzTestDSWE4847", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent204", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4876", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A04.9847854Z'\"", + "name": "AzTestDSWE4876", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent68", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4900", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A23.4029367Z'\"", + "name": "AzTestDSWE4900", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent105", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4918", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A34.5280091Z'\"", + "name": "AzTestDSWE4918", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent296", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4928", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A34.2882196Z'\"", + "name": "AzTestDSWE4928", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent293", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4930", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A33.2381803Z'\"", + "name": "AzTestDSWE4930", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent113", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4945", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A36.8423994Z'\"", + "name": "AzTestDSWE4945", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent15", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4967", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A08.9379456Z'\"", + "name": "AzTestDSWE4967", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent180", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4969", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A57.5893926Z'\"", + "name": "AzTestDSWE4969", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent54", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE4983", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A19.5497139Z'\"", + "name": "AzTestDSWE4983", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent151", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5011", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A48.4588661Z'\"", + "name": "AzTestDSWE5011", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent290", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5082", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A32.2694295Z'\"", + "name": "AzTestDSWE5082", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent248", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5136", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A17.8863220Z'\"", + "name": "AzTestDSWE5136", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent206", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5141", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A05.5484906Z'\"", + "name": "AzTestDSWE5141", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent266", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5166", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A23.9283342Z'\"", + "name": "AzTestDSWE5166", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent282", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5207", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A29.4970655Z'\"", + "name": "AzTestDSWE5207", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent203", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5223", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A04.7146038Z'\"", + "name": "AzTestDSWE5223", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent20", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5233", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A10.3237629Z'\"", + "name": "AzTestDSWE5233", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent249", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5253", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A18.1831872Z'\"", + "name": "AzTestDSWE5253", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent286", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5255", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A30.9049829Z'\"", + "name": "AzTestDSWE5255", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent29", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5263", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A12.8904269Z'\"", + "name": "AzTestDSWE5263", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent255", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5351", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A20.4543884Z'\"", + "name": "AzTestDSWE5351", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent55", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5385", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A19.7997319Z'\"", + "name": "AzTestDSWE5385", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent89", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5394", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A29.7703365Z'\"", + "name": "AzTestDSWE5394", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent17", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE541", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A09.4692151Z'\"", + "name": "AzTestDSWE541", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent241", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5439", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A15.7994161Z'\"", + "name": "AzTestDSWE5439", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent223", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5460", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A10.3032105Z'\"", + "name": "AzTestDSWE5460", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent268", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5479", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A24.6802546Z'\"", + "name": "AzTestDSWE5479", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent192", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5483", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A01.1670463Z'\"", + "name": "AzTestDSWE5483", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent114", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5486", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A37.1393156Z'\"", + "name": "AzTestDSWE5486", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent126", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5554", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A41.1205470Z'\"", + "name": "AzTestDSWE5554", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent256", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5559", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A20.7200407Z'\"", + "name": "AzTestDSWE5559", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent50", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5585", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A18.4534330Z'\"", + "name": "AzTestDSWE5585", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent125", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE568", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A40.8861587Z'\"", + "name": "AzTestDSWE568", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent230", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5741", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A12.3059271Z'\"", + "name": "AzTestDSWE5741", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent120", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE58", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A39.0692471Z'\"", + "name": "AzTestDSWE58", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent44", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5810", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A16.9117573Z'\"", + "name": "AzTestDSWE5810", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent141", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5815", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A45.4055476Z'\"", + "name": "AzTestDSWE5815", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent173", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5858", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A55.0097893Z'\"", + "name": "AzTestDSWE5858", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent251", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5866", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A18.9931389Z'\"", + "name": "AzTestDSWE5866", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent187", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5888", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A59.4332080Z'\"", + "name": "AzTestDSWE5888", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent18", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE5905", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A09.7599986Z'\"", + "name": "AzTestDSWE5905", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent224", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6027", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A10.6395291Z'\"", + "name": "AzTestDSWE6027", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent235", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE607", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A13.7282386Z'\"", + "name": "AzTestDSWE607", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent100", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6099", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A33.1319662Z'\"", + "name": "AzTestDSWE6099", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent6", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6122", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A06.3186640Z'\"", + "name": "AzTestDSWE6122", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent24", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6218", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A11.4528829Z'\"", + "name": "AzTestDSWE6218", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent149", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE622", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A47.9407875Z'\"", + "name": "AzTestDSWE622", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent209", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6222", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A06.3453921Z'\"", + "name": "AzTestDSWE6222", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent60", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6240", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A21.2372832Z'\"", + "name": "AzTestDSWE6240", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent216", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6251", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A08.2849036Z'\"", + "name": "AzTestDSWE6251", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent195", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6274", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A02.1829375Z'\"", + "name": "AzTestDSWE6274", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent98", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6296", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A32.3491070Z'\"", + "name": "AzTestDSWE6296", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent261", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6301", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A22.1811938Z'\"", + "name": "AzTestDSWE6301", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent7", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6404", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A06.7093003Z'\"", + "name": "AzTestDSWE6404", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent3", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6406", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A05.5617435Z'\"", + "name": "AzTestDSWE6406", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent123", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6432", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A40.2886854Z'\"", + "name": "AzTestDSWE6432", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent110", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6439", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A35.9811949Z'\"", + "name": "AzTestDSWE6439", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent233", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6451", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A13.1344490Z'\"", + "name": "AzTestDSWE6451", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent22", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6486", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A10.9653354Z'\"", + "name": "AzTestDSWE6486", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent19", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6505", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A10.0582011Z'\"", + "name": "AzTestDSWE6505", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent166", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6514", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A52.8955201Z'\"", + "name": "AzTestDSWE6514", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent225", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6518", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A10.9395226Z'\"", + "name": "AzTestDSWE6518", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent70", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6537", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A24.0123335Z'\"", + "name": "AzTestDSWE6537", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent179", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6547", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A57.3394082Z'\"", + "name": "AzTestDSWE6547", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent103", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6556", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A33.9457044Z'\"", + "name": "AzTestDSWE6556", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent234", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6718", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A13.4313542Z'\"", + "name": "AzTestDSWE6718", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent108", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6724", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A35.4186784Z'\"", + "name": "AzTestDSWE6724", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent27", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6741", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A12.3279180Z'\"", + "name": "AzTestDSWE6741", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent72", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6796", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A24.5764501Z'\"", + "name": "AzTestDSWE6796", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent299", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6826", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A35.2579899Z'\"", + "name": "AzTestDSWE6826", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent297", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6829", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A34.6319483Z'\"", + "name": "AzTestDSWE6829", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent85", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6893", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A28.5887776Z'\"", + "name": "AzTestDSWE6893", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent41", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE6974", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A16.1249736Z'\"", + "name": "AzTestDSWE6974", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent279", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7008", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A28.3876585Z'\"", + "name": "AzTestDSWE7008", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent281", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7014", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A29.1220764Z'\"", + "name": "AzTestDSWE7014", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent272", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7068", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A26.0213457Z'\"", + "name": "AzTestDSWE7068", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent260", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7080", + "etag": "W/\"datetime'2017-10-02T23%3A21%3A21.8686663Z'\"", + "name": "AzTestDSWE7080", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent124", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7166", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A40.5423724Z'\"", + "name": "AzTestDSWE7166", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + }, + { + "kind": "WindowsEvent", + "properties": { + "eventLogName": "windowsEvent42", + "eventTypes": [ + { + "eventType": "Error" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/datasources/AzTestDSWE7178", + "etag": "W/\"datetime'2017-10-02T23%3A20%3A16.3906307Z'\"", + "name": "AzTestDSWE7178", + "type": "Microsoft.OperationalInsights/workspaces/datasources" + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest7887/providers/Microsoft.OperationalInsights/workspaces/AzTest218/dataSources?$filter=kind+eq+'WindowsEvent'&api-version=2020-08-01&$skiptoken=AzTestDSWE7191" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesCreate.json new file mode 100644 index 000000000000..8f7915890a23 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "TestLinkWS", + "linkedServiceName": "Cluster", + "parameters": { + "properties": { + "writeAccessResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/clusters/testcluster" + } + }, + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "writeAccessResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/clusters/testcluster", + "provisioningState": "ProvisioningAccount" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/cluster", + "name": "TestLinkWS/Cluster", + "type": "Microsoft.OperationalInsights/workspaces/linkedServices" + } + }, + "201": { + "body": { + "properties": { + "writeAccessResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/clusters/testcluster", + "provisioningState": "ProvisioningAccount" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/cluster", + "name": "TestLinkWS/Cluster", + "type": "Microsoft.OperationalInsights/workspaces/linkedServices" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesDelete.json new file mode 100644 index 000000000000..d1a010ac07f8 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "linkedServiceName": "Cluster", + "workspaceName": "TestLinkWS", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "writeAccessResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/clusters/testcluster", + "provisioningState": "Deleting" + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/cluster", + "name": "TestLinkWS/Cluster", + "type": "Microsoft.OperationalInsights/workspaces/linkedServices" + } + }, + "204": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesGet.json new file mode 100644 index 000000000000..5032e4e338eb --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "TestLinkWS", + "linkedServiceName": "Cluster", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "writeAccessResourceId": "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/clusters/testcluster", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/cluster", + "name": "TestLinkWS/Cluster", + "type": "Microsoft.OperationalInsights/workspaces/linkedServices" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesListByWorkspace.json new file mode 100644 index 000000000000..a2870ed80416 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedServicesListByWorkspace.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "TestLinkWS", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.Automation/automationAccounts/TestAccount", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/automation", + "name": "TestLinkWS/Automation", + "type": "Microsoft.OperationalInsights/workspaces/linkedServices" + }, + { + "properties": { + "writeAccessResourceId": "/subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/clusters/TestCluster", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testlinkws/linkedservices/cluster", + "name": "TestLinkWS/Cluster", + "type": "Microsoft.OperationalInsights/workspaces/linkedServices" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsCreate.json new file mode 100644 index 000000000000..e1b29bfd8fc5 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsCreate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testLinkStorageAccountsWS", + "dataSourceType": "CustomLogs", + "parameters": { + "properties": { + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageB" + ] + } + }, + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "dataSourceType": "CustomLogs", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageB" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/CustomLogs", + "name": "CustomLogs", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsDelete.json new file mode 100644 index 000000000000..6eddb299eabf --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "dataSourceType": "CustomLogs", + "workspaceName": "testLinkStorageAccountsWS", + "resourceGroupName": "mms-eus", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsGet.json new file mode 100644 index 000000000000..0cc9b5b62ca0 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testLinkStorageAccountsWS", + "dataSourceType": "CustomLogs", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "dataSourceType": "CustomLogs", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageB" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/CustomLogs", + "name": "CustomLogs", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsListByWorkspace.json new file mode 100644 index 000000000000..e9cb9efbe465 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/LinkedStorageAccountsListByWorkspace.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "testLinkStorageAccountsWS", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "dataSourceType": "CustomLogs", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageB" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/CustomLogs", + "name": "CustomLogs", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + }, + { + "properties": { + "dataSourceType": "AzureWatson", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageC" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/AzureWatson", + "name": "AzureWatson", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + }, + { + "properties": { + "dataSourceType": "Query", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageC" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/Query", + "name": "Query", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + }, + { + "properties": { + "dataSourceType": "Alerts", + "storageAccountIds": [ + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageA", + "/subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/mms-eus/providers/Microsoft.Storage/storageAccounts/testStorageC" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/testLinkStorageAccountsWS/linkedStorageAccounts/Alerts", + "name": "Alerts", + "type": "Microsoft.OperationalInsights/workspaces/linkedStorageAccounts" + } + ] + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/OperationStatusesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/OperationStatusesGet.json new file mode 100644 index 000000000000..53fbaa749187 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/OperationStatusesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "613192d7-503f-477a-9cfe-4efc3ee2bd60", + "location": "West US", + "asyncOperationId": "713192d7-503f-477a-9cfe-4efc3ee2bd11", + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/613192d7-503f-477a-9cfe-4efc3ee2bd60/locations/westus/operationStatuses/713192d7-503f-477a-9cfe-4efc3ee2bd11", + "name": "713192d7-503f-477a-9cfe-4efc3ee2bd11", + "startTime": "2017-01-01T13:13:13.933Z", + "endTime": "2017-01-01T16:13:13.933Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/OperationsListByTenant.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/OperationsListByTenant.json new file mode 100644 index 000000000000..95fe57f0523f --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/OperationsListByTenant.json @@ -0,0 +1,327 @@ +{ + "parameters": { + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.OperationalInsights/workspaces/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Workspace", + "operation": "Create Workspace", + "description": "Creates a new workspace or links to an existing workspace by providing the customer id from the existing workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Workspace", + "operation": "Get Workspace", + "description": "Gets an existing workspace" + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/delete", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Workspace", + "operation": "Delete Workspace", + "description": "Deletes a workspace. If the workspace was linked to an existing workspace at creation time then the workspace it was linked to is not deleted." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/generateregistrationcertificate/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Registration Certificate", + "operation": "Generates Registration Certificate for Workspace.", + "description": "Generates Registration Certificate for the workspace. This Certificate is used to connect Microsoft System Center Operation Manager to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Storage Insight Configuration", + "operation": "Create Storage Configuration", + "description": "Creates a new storage configuration. These configurations are used to pull data from a location in an existing storage account." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Storage Insight Configuration", + "operation": "Get Storage Configuration", + "description": "Gets a storage configuration." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs/delete", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Storage Insight Configuration", + "operation": "Delete Storage Configuration", + "description": "Deletes a storage configuration. This will stop Microsoft Operational Insights from reading data from the storage account." + } + }, + { + "name": "Microsoft.OperationalInsights/register/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Register", + "operation": "Register a subscription to a resource provider.", + "description": "Register a subscription to a resource provider." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/sharedKeys/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Shared Keys", + "operation": "List Workspace Shared Keys", + "description": "Retrieves the shared keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/sharedKeys/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Shared Keys", + "operation": "List Workspace Shared Keys", + "description": "Retrieves the shared keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/listKeys/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "List Keys", + "operation": "List Workspace Keys", + "description": "Retrieves the list keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/listKeys/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "List Keys", + "operation": "List Workspace Keys", + "description": "Retrieves the list keys for the workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/managementGroups/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Management Group", + "operation": "Get Management Groups for Workspace", + "description": "Gets the names and metadata for System Center Operations Manager management groups connected to this workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/usages/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Usage Metric", + "operation": "Get Usage Data for Workspace", + "description": "Gets usage data for a workspace including the amount of data read by the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/search/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Search", + "operation": "Search Workspace Data", + "description": "Executes a search query" + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/schema/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Search Schema", + "operation": "Get Search Schema", + "description": "Gets the search schema for the workspace. Search schema includes the exposed fields and their types." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/datasources/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Data Source", + "operation": "Get datasources under a workspace.", + "description": "Get datasources under a workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/datasources/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Data Source", + "operation": "Create/Update datasources under a workspace.", + "description": "Create/Update datasources under a workspace." + } + }, + {}, + {}, + {}, + {}, + { + "name": "Microsoft.OperationalInsights/workspaces/notificationSettings/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Notification Settings", + "operation": "Get Notification Settings", + "description": "Get the user's notification settings for the workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/notificationSettings/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Notification Settings", + "operation": "Put Notification Settings", + "description": "Set the user's notification settings for the workspace." + } + }, + {}, + {}, + {}, + { + "name": "Microsoft.OperationalInsights/workspaces/configurationScopes/delete", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Configuration Scope", + "operation": "Delete Configuration Scope", + "description": "Delete Configuration Scope" + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/linkedServices/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Linked Services", + "operation": "Get linked services under given workspace.", + "description": "Get linked services under given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/linkedServices/write", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Linked Services", + "operation": "Create/Update linked services under given workspace.", + "description": "Create/Update linked services under given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/linkedServices/delete", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Linked Services", + "operation": "Delete linked services under given workspace.", + "description": "Delete linked services under given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/intelligencepacks/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Intelligence Packs", + "operation": "List Intelligence Packs", + "description": "Lists all intelligence packs that are visible for a given worksapce and also lists whether the pack is enabled or disabled for that workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/intelligencepacks/enable/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Intelligence Packs", + "operation": "Enable Intelligence Pack", + "description": "Enables an intelligence pack for a given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/intelligencepacks/disable/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Intelligence Packs", + "operation": "Disable Intelligence Pack", + "description": "Disables an intelligence pack for a given workspace." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/analytics/query/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Search using new engine.", + "description": "Search using new engine." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/analytics/query/schema/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Get search schema V2.", + "description": "Get search schema V2." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/api/query/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Search using new engine.", + "description": "Search using new engine." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/api/query/schema/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Get search schema V2.", + "description": "Get search schema V2." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/purge/action", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "analytics", + "operation": "Delete specified data from workspace", + "description": "Delete specified data from workspace" + } + }, + { + "name": "Microsoft.OperationalInsights/linkTargets/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Unlinked Account", + "operation": "List Unlinked Accounts", + "description": "Lists existing accounts that are not associated with an Azure subscription. To link this Azure subscription to a workspace, use a customer id returned by this operation in the customer id property of the Create Workspace operation." + } + }, + { + "name": "Microsoft.OperationalInsights/workspaces/metricDefinitions/read", + "display": { + "provider": "Microsoft Operational Insights", + "resource": "Metric Definitions", + "operation": "Metric Definition operation", + "description": "Get Metric Definitions under workspace" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/SavedSearchesGetSchema.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/SavedSearchesGetSchema.json new file mode 100644 index 000000000000..fd519bd57142 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/SavedSearchesGetSchema.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "resourceGroupName": "mms-eus", + "workspaceName": "atlantisdemo", + "api-version": "2020-08-01", + "parameters": { + "top": 25, + "query": "*" + }, + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "metadata": { + "schema": { + "name": "CloudOps", + "version": 2 + }, + "resultType": "schema", + "requestTime": 28 + }, + "value": [ + { + "name": "TenantId", + "displayName": "TenantId", + "type": "Guid", + "indexed": true, + "stored": false, + "facet": false, + "ownerType": [ + "Alert", + "AzureActivity", + "AzureAudit", + "AzureMetrics", + "ComputerGroup", + "ETWEvent", + "Event", + "ExtraHopDBLogin", + "ExtraHopDBTransaction", + "ExtraHopDNSResponse", + "ExtraHopFTPResponse", + "ExtraHopHTTPTransaction", + "ExtraHopSMTPMessage", + "ExtraHopSYNScanDetect", + "ExtraHopTCPOpen", + "Heartbeat", + "Operation", + "Perf", + "ReservedAzureCommonFields", + "ReservedCommonFields", + "ServiceFabricOperationalEvent", + "ServiceFabricReliableActorEvent", + "ServiceFabricReliableServiceEvent", + "Syslog", + "Usage", + "W3CIISLog" + ] + } + ] + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/SavedSearchesListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/SavedSearchesListByWorkspace.json new file mode 100644 index 000000000000..23cf88f92bad --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/SavedSearchesListByWorkspace.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceGroupName": "TestRG", + "workspaceName": "TestWS", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/AtlantisDemo/savedSearches/test-new-saved-search-id-2015", + "etag": "W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"", + "properties": { + "Category": " Saved Search Test Category", + "DisplayName": "Create or Update Saved Search Test", + "Query": "* | measure Count() by Computer", + "Tags": [ + { + "Name": "Group", + "Value": "Computer" + } + ], + "Version": 1 + } + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsCreateOrUpdate.json new file mode 100644 index 000000000000..3cc0b2175bee --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsCreateOrUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "aztest5048", + "storageInsightName": "AzTestSI1110", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "parameters": { + "properties": { + "containers": [ + "wad-iis-logfiles" + ], + "tables": [ + "WADWindowsEventLogsTable", + "LinuxSyslogVer2v0" + ], + "storageAccount": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945", + "key": "1234" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "containers": [ + "wad-iis-logfiles" + ], + "tables": [ + "WADWindowsEventLogsTable", + "LinuxSyslogVer2v0" + ], + "storageAccount": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945", + "key": "Storage Key" + }, + "status": { + "state": "OK" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6987/providers/microsoft.operationalinsights/workspaces/aztest5048/storageinsightconfigs/AzTestSI1110", + "name": "AzTestSI1110", + "type": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs" + } + }, + "201": { + "body": { + "properties": { + "containers": [ + "wad-iis-logfiles" + ], + "tables": [ + "WADWindowsEventLogsTable", + "LinuxSyslogVer2v0" + ], + "storageAccount": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945", + "key": "Storage Key" + }, + "status": { + "state": "OK" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6987/providers/microsoft.operationalinsights/workspaces/aztest5048/storageinsightconfigs/AzTestSI1110", + "name": "AzTestSI1110", + "type": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsDelete.json new file mode 100644 index 000000000000..d4d8e57a4bc7 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "aztest5048", + "storageInsightName": "AzTestSI1110", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsGet.json new file mode 100644 index 000000000000..6e9a29483b22 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "aztest5048", + "storageInsightName": "AzTestSI1110", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "containers": [ + "wad-iis-logfiles" + ], + "tables": [ + "WADWindowsEventLogsTable", + "LinuxSyslogVer2v0" + ], + "storageAccount": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945", + "key": "Storage Account Key" + }, + "status": { + "state": "OK" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6987/providers/microsoft.operationalinsights/workspaces/aztest5048/storageinsightconfigs/AzTestSI1110", + "name": "AzTestSI1110", + "type": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsListByWorkspace.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsListByWorkspace.json new file mode 100644 index 000000000000..f2ce17cf6bed --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/StorageInsightsListByWorkspace.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "aztest5048", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "containers": [ + "wad-iis-logfiles" + ], + "tables": [ + "WADWindowsEventLogsTable", + "LinuxSyslogVer2v0" + ], + "storageAccount": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/OIAutoRest6987/providers/microsoft.storage/storageaccounts/AzTestFakeSA9945" + }, + "status": { + "state": "OK" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6987/providers/microsoft.operationalinsights/workspaces/aztest5048/storageinsightconfigs/AzTestSI1110", + "name": "AzTestSI1110", + "type": "Microsoft.OperationalInsights/workspaces/storageinsightconfigs" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesGet.json new file mode 100644 index 000000000000..88c7c4ac5f5f --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "tableName": "table1" + }, + "responses": { + "200": { + "body": { + "properties": { + "retentionInDays": 30 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/workspaces/testresourcelock/tables/table1", + "name": "table1" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesList.json new file mode 100644 index 000000000000..a9c3145b8adb --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "retentionInDays": 7 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/workspaces/testresourcelock/tables/table1", + "name": "table1" + }, + { + "properties": { + "retentionInDays": 7 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/workspaces/testresourcelock/tables/table2", + "name": "table2" + }, + { + "properties": { + "retentionInDays": 7 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/workspaces/testresourcelock/tables/table3", + "name": "table3" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesUpdate.json new file mode 100644 index 000000000000..60e76b854c0b --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/TablesUpdate.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "tableName": "table1", + "parameters": { + "properties": { + "retentionInDays": 30 + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "retentionInDays": 30 + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/workspaces/testresourcelock/tables/table1", + "name": "table1" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesAvailableServiceTiers.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesAvailableServiceTiers.json new file mode 100644 index 000000000000..0e7cf8ef3152 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesAvailableServiceTiers.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "workspaceName": "workspace1", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "serviceTier": "PerNode", + "enabled": true, + "minimumRetention": 7, + "maximumRetention": 30, + "defaultRetention": 7 + }, + { + "serviceTier": "CapacityReservation", + "enabled": true, + "minimumRetention": 30, + "maximumRetention": 300, + "defaultRetention": 30, + "capacityReservationLevel": 200, + "lastSkuUpdate": "2020-02-04T08:55:03.871Z" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesCreate.json new file mode 100644 index 000000000000..b9dc34c4b3b7 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesCreate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "parameters": { + "properties": { + "sku": { + "name": "PerGB2018" + }, + "retentionInDays": 30 + }, + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + } + }, + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/aztest2170", + "name": "AzTest2170", + "type": "Microsoft.OperationalInsights/workspaces", + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + }, + "properties": { + "customerId": "bc089d7b-485c-4aff-a71e-c00f362d8d2f", + "provisioningState": "Creating", + "sku": { + "name": "PerGB2018" + }, + "retentionInDays": 30, + "publicNetworkAccessForQuery": "Enabled", + "publicNetworkAccessForIngestion": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/aztest2170", + "name": "AzTest2170", + "type": "Microsoft.OperationalInsights/workspaces", + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + }, + "properties": { + "customerId": "bc089d7b-485c-4aff-a71e-c00f362d8d2f", + "provisioningState": "Creating", + "sku": { + "name": "PerGB2018" + }, + "retentionInDays": 30, + "publicNetworkAccessForQuery": "Enabled", + "publicNetworkAccessForIngestion": "Enabled" + } + } + }, + "202": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDelete.json new file mode 100644 index 000000000000..b3d42b04845e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDeleteSavedSearches.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDeleteSavedSearches.json new file mode 100644 index 000000000000..d6688aa32149 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDeleteSavedSearches.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "TestRG", + "workspaceName": "TestWS", + "savedSearchName": "SavedSearchName", + "api-version": "2020-08-01", + "savedSearchId": "00000000-0000-0000-0000-00000000000", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDisableIntelligencePack.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDisableIntelligencePack.json new file mode 100644 index 000000000000..c75df40aa920 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesDisableIntelligencePack.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "workspaceName": "TestLinkWS", + "intelligencePackName": "ChangeTracking", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesEnableIntelligencePack.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesEnableIntelligencePack.json new file mode 100644 index 000000000000..c75df40aa920 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesEnableIntelligencePack.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "workspaceName": "TestLinkWS", + "intelligencePackName": "ChangeTracking", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGatewaysDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGatewaysDelete.json new file mode 100644 index 000000000000..d7e56faabaf3 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGatewaysDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "aztest5048", + "gatewayId": "00000000-0000-0000-0000-00000000000", + "api-version": "2020-08-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGet.json new file mode 100644 index 000000000000..22320043a48c --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "customerId": "5b02755b-5bf4-430c-9487-45502a2a7e62", + "provisioningState": "Succeeded", + "sku": { + "name": "free" + }, + "retentionInDays": 30, + "publicNetworkAccessForQuery": "Enabled", + "publicNetworkAccessForIngestion": "Enabled" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/calbot-rg/providers/microsoft.operationalinsights/workspaces/testresourcelock", + "name": "TestResourceLock", + "type": "Microsoft.OperationalInsights/workspaces", + "location": "eastus" + }, + { + "properties": { + "customerId": "4884a2fd-b08f-4aa6-bf16-5757df1093fe", + "provisioningState": "Succeeded", + "sku": { + "name": "free" + }, + "retentionInDays": 30, + "publicNetworkAccessForQuery": "Enabled", + "publicNetworkAccessForIngestion": "Enabled" + }, + "id": "/subscriptions/594038b5-1093-476e-a366-482775671c11/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/southukws", + "name": "SouthUKWS", + "type": "Microsoft.OperationalInsights/workspaces", + "location": "East US" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGetSharedKeys.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGetSharedKeys.json new file mode 100644 index 000000000000..6c2ab230be2e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesGetSharedKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "workspaceName": "TestLinkWS", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "primarySharedKey": "BozLY1JnZbxu0jWUQSY8iRPEM8ObmpP8rW+8bUl3+HpDJI+n689SxXgTgU7k1qdxo/WugRLxechxbolAfHM5uA==", + "secondarySharedKey": "7tDt5W0JBrCQKtQA3igfFltLSzJeyr9LmuT+B/ibzd8cdC1neZ1ePOQLBx5NUzc0q2VUIK0cLhWNyFvo/hT8Ww==" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListByResourceGroup.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListByResourceGroup.json new file mode 100644 index 000000000000..f64298e9cd3e --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListByResourceGroup.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "customerId": "bc089d7b-485c-4aff-a71e-c00f362d8d2f", + "provisioningState": "Succeeded", + "sku": { + "name": "PerGB2018" + }, + "retentionInDays": 30, + "publicNetworkAccessForQuery": "Enabled", + "publicNetworkAccessForIngestion": "Enabled" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/aztest2170", + "name": "AzTest2170", + "type": "Microsoft.OperationalInsights/workspaces", + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + } + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListIntelligencePacks.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListIntelligencePacks.json new file mode 100644 index 000000000000..5f6c48b37669 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListIntelligencePacks.json @@ -0,0 +1,244 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "workspaceName": "TestLinkWS", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "name": "CapacityPerformance", + "enabled": false, + "displayName": "Capacity and Performance" + }, + { + "name": "AzureWebAppsAnalytics", + "enabled": false, + "displayName": "Azure Web Apps Analytics (Preview)" + }, + { + "name": "Security", + "enabled": false, + "displayName": "Security and Audit" + }, + { + "name": "Updates", + "enabled": false, + "displayName": "Update Management" + }, + { + "name": "AntiMalware", + "enabled": false, + "displayName": "Antimalware Assessment" + }, + { + "name": "LogManagement", + "enabled": true, + "displayName": "Log Management" + }, + { + "name": "ChangeTracking", + "enabled": true, + "displayName": "Change Tracking" + }, + { + "name": "SQLAssessment", + "enabled": false, + "displayName": "SQL Assessment" + }, + { + "name": "SCOMAssessment", + "enabled": false, + "displayName": "System Center Operations Manager Assessment (Preview)" + }, + { + "name": "ServiceDesk", + "enabled": false, + "displayName": "IT Service Management Connector(Preview)" + }, + { + "name": "ADAssessment", + "enabled": false, + "displayName": "AD Assessment" + }, + { + "name": "AlertManagement", + "enabled": false, + "displayName": "Alert Management" + }, + { + "name": "AzureAutomation", + "enabled": false, + "displayName": "Azure Automation" + }, + { + "name": "WireData", + "enabled": false, + "displayName": "Wire Data" + }, + { + "name": "SiteRecovery", + "enabled": true, + "displayName": "Azure Site Recovery" + }, + { + "name": "Backup", + "enabled": false, + "displayName": "Backup" + }, + { + "name": "SurfaceHub", + "enabled": false, + "displayName": "Surface Hub" + }, + { + "name": "NetworkMonitoring", + "enabled": false, + "displayName": "Network Performance Monitor" + }, + { + "name": "Containers", + "enabled": false, + "displayName": "Container Monitoring Solution" + }, + { + "name": "ServiceMap", + "enabled": false, + "displayName": "Service Map" + }, + { + "name": "AzureNetworking", + "enabled": false, + "displayName": "Azure Networking Analytics (Deprecated)" + }, + { + "name": "ADReplication", + "enabled": false, + "displayName": "AD Replication Status" + }, + { + "name": "Office365", + "enabled": false, + "displayName": "Office 365 (Preview)" + }, + { + "name": "CompatibilityAssessment", + "enabled": false, + "displayName": "Upgrade Readiness" + }, + { + "name": "KeyVault", + "enabled": false, + "displayName": "Key Vault (Deprecated)" + }, + { + "name": "ServiceFabric", + "enabled": false, + "displayName": "Service Fabric" + }, + { + "name": "DnsAnalytics", + "enabled": false, + "displayName": "DNS Analytics (Preview)" + }, + { + "name": "ApplicationInsights", + "enabled": false, + "displayName": "Application Insights (Preview)" + }, + { + "name": "WireData2", + "enabled": false, + "displayName": "Wire Data 2.0" + }, + { + "name": "WaaSUpdateInsights", + "enabled": false, + "displayName": "Update Compliance (Preview)" + }, + { + "name": "AgentHealthAssessment", + "enabled": false, + "displayName": "Agent Health " + }, + { + "name": "AzureActivity", + "enabled": false, + "displayName": "Activity Log Analytics" + }, + { + "name": "HDInsight", + "enabled": false, + "displayName": "HDInsight HBase Monitoring (Preview)" + }, + { + "name": "HDInsightKafka", + "enabled": false, + "displayName": "HDInsight Kafka Monitoring" + }, + { + "name": "HDInsightSpark", + "enabled": false, + "displayName": "HDInsight Spark Monitoring" + }, + { + "name": "VMware", + "enabled": false, + "displayName": "VMware (Preview)" + }, + { + "name": "SecurityCenterFree", + "enabled": false, + "displayName": "Security Center Free � for Azure Resources only" + }, + { + "name": "LogicAppsManagement", + "enabled": false, + "displayName": "Logic Apps Management" + }, + { + "name": "LogicAppB2B", + "enabled": false, + "displayName": "Logic Apps B2B" + }, + { + "name": "AzureSQLAnalytics", + "enabled": false, + "displayName": "Azure SQL Analytics (Preview)" + }, + { + "name": "KeyVaultAnalytics", + "enabled": false, + "displayName": "Key Vault Analytics" + }, + { + "name": "AzureNSGAnalytics", + "enabled": false, + "displayName": "Azure Network Security Group Analytics" + }, + { + "name": "AzureAppGatewayAnalytics", + "enabled": false, + "displayName": "Azure Application Gateway Analytics" + }, + { + "name": "DeviceHealthProd", + "enabled": false, + "displayName": "Device Health (Preview)" + }, + { + "name": "WindowsDefenderATP", + "enabled": false, + "displayName": "Windows Defender ATP" + }, + { + "name": "ProcessInvestigator", + "enabled": false, + "displayName": "ProcessInvestigator" + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListManagementGroups.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListManagementGroups.json new file mode 100644 index 000000000000..73a9f3d4ee86 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListManagementGroups.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "workspaceName": "TestLinkWS", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "value": [] + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListUsages.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListUsages.json new file mode 100644 index 000000000000..65048477c721 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesListUsages.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "workspaceName": "TestLinkWS", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": { + "value": "DataAnalyzed", + "localizedValue": "Data Analyzed" + }, + "unit": "Bytes", + "currentValue": 0.0, + "limit": 524288000.0, + "nextResetTime": "2017-10-03T00:00:00Z", + "quotaPeriod": "P1D" + } + ] + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesPurge.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesPurge.json new file mode 100644 index 000000000000..ef08ef2cf18b --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesPurge.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "aztest5048", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "body": { + "table": "Heartbeat", + "filters": [ + { + "column": "TimeGenerated", + "operator": ">", + "value": "2017-09-01T00:00:00" + } + ] + } + }, + "responses": { + "202": { + "headers": { + "x-ms-status-location": "https://management.azure.com/subscriptions/b96161de-b34a-480f-7343-59b099299283/resourceGroups/example/providers/microsoft.operationalinsights/workspaces/test/operations/purge-970318e7-b859-4edb-8903-83b1b54d0b74?api-version=2020-08-01" + }, + "body": { + "operationId": "7d7cf277-9113-4ab3-8359-d0364b74d01d" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesPurgeOperation.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesPurgeOperation.json new file mode 100644 index 000000000000..84090534eb98 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesPurgeOperation.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "resourceGroupName": "OIAutoRest5123", + "workspaceName": "aztest5048", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "purgeId": "purge-970318e7-b859-4edb-8903-83b1b54d0b74" + }, + "responses": { + "200": { + "body": { + "status": "completed" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesRegenerateSharedKeys.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesRegenerateSharedKeys.json new file mode 100644 index 000000000000..302b6c61a281 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesRegenerateSharedKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "workspaceName": "workspace1", + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "primarySharedKey": "BozLY1JnZbxu0jWUQSY8iRPEM8ObmpP8rW+8bUl3+HpDJI+n689SxXgTgU7k1qdxo/WugRLxechxbolAfHM5uA==", + "secondarySharedKey": "7tDt5W0JBrCQKtQA3igfFltLSzJeyr9LmuT+B/ibzd8cdC1neZ1ePOQLBx5NUzc0q2VUIK0cLhWNyFvo/hT8Ww==" + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSavedSearchesCreateOrUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSavedSearchesCreateOrUpdate.json new file mode 100644 index 000000000000..d28486a2fe36 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSavedSearchesCreateOrUpdate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "resourceGroupName": "TestRG", + "workspaceName": "TestWS", + "savedSearchName": "SavedSearchName", + "parameters": { + "properties": { + "category": "Saved Search Test Category", + "displayName": "Create or Update Saved Search Test", + "version": 2, + "functionAlias": "heartbeat_func", + "functionParameters": "a:int=1", + "query": "Heartbeat | summarize Count() by Computer | take a", + "tags": [ + { + "name": "Group", + "value": "Computer" + } + ] + } + }, + "api-version": "2020-08-01", + "savedSearchId": "00000000-0000-0000-0000-00000000000", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/AtlantisDemo/savedSearches/test-new-saved-search-id-2015", + "etag": "W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"", + "properties": { + "category": "Saved Search Test Category", + "displayName": "Create or Update Saved Search Test", + "functionAlias": "heartbeat_func", + "functionParameters": "a:int=1", + "query": "Heartbeat | summarize Count() by Computer | take a", + "version": 2 + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSavedSearchesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSavedSearchesGet.json new file mode 100644 index 000000000000..1a57c1cef562 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSavedSearchesGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceGroupName": "TestRG", + "workspaceName": "TestWS", + "savedSearchName": "SavedSearchName", + "api-version": "2020-08-01", + "savedSearchId": "00000000-0000-0000-0000-00000000000", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000005/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/AtlantisDemo/savedSearches/test-new-saved-search-id-2015", + "etag": "W/\"datetime'2017-10-02T23%3A15%3A41.0709875Z'\"", + "properties": { + "category": " Saved Search Test Category", + "displayName": "Create or Update Saved Search Test", + "functionAlias": "heartbeat_func", + "functionParameters": "a:int=1", + "query": "* | measure Count() by Computer | take a", + "version": 1 + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSubscriptionList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSubscriptionList.json new file mode 100644 index 000000000000..8f89a8197336 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesSubscriptionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": [ + { + "properties": { + "customerId": "bc089d7b-485c-4aff-a71e-c00f362d8d2f", + "provisioningState": "Succeeded", + "sku": { + "name": "PerGB2018" + }, + "retentionInDays": 30, + "publicNetworkAccessForQuery": "Enabled", + "publicNetworkAccessForIngestion": "Enabled" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000005/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/aztest2170", + "name": "AzTest2170", + "type": "Microsoft.OperationalInsights/workspaces", + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + } + } + ] + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesUpdate.json new file mode 100644 index 000000000000..ff0632ead857 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/examples/WorkspacesUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "parameters": { + "properties": { + "sku": { + "name": "PerGB2018" + }, + "retentionInDays": 30 + } + }, + "api-version": "2020-08-01", + "subscriptionId": "00000000-0000-0000-0000-00000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": { + "name": "PerGB2018" + }, + "retentionInDays": 30, + "publicNetworkAccessForQuery": "Enabled", + "publicNetworkAccessForIngestion": "Enabled" + }, + "location": "australiasoutheast", + "tags": { + "tag1": "val1" + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/readme.azureresourceschema.md b/specification/operationalinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..461f8cc494d4 --- /dev/null +++ b/specification/operationalinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,112 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-operationalinsights-2020-08-01 + - tag: schema-operationalinsights-2020-03-01-preview + - tag: schema-operationalinsights-2019-08-01-preview + - tag: schema-operationalinsights-2015-11-01-preview + - tag: schema-operationalinsights-2015-03-20 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-operationalinsights-2020-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2020-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json + - Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json + - Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json + - Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json + - Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json + - Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json + - Microsoft.OperationalInsights/stable/2020-08-01/Operations.json + - Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json + - Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json + - Microsoft.OperationalInsights/stable/2020-08-01/Usages.json + - Microsoft.OperationalInsights/stable/2020-08-01/Workspaces.json + - Microsoft.OperationalInsights/stable/2020-08-01/Clusters.json + - Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json + - Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json + - Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json + - Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json + - Microsoft.OperationalInsights/stable/2020-08-01/Schema.json + - Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json + - Microsoft.OperationalInsights/stable/2020-08-01/Tables.json + +``` + +### Tag: schema-operationalinsights-2020-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2020-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/IntelligencePacks.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedServices.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/ManagementGroups.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Operations.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/OperationStatuses.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/SharedKeys.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Usages.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Workspaces.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Clusters.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/StorageInsightConfigs.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/SavedSearches.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/AvailableServiceTiers.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Gateways.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Schema.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/WorkspacePurge.json + - Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json + +``` + +### Tag: schema-operationalinsights-2019-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2019-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/preview/2019-08-01-preview/Clusters.json + - Microsoft.OperationalInsights/preview/2019-08-01-preview/LinkedServices.json + - Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json + +``` + +### Tag: schema-operationalinsights-2015-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2015-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/preview/2015-11-01-preview/LinkedServices.json + - Microsoft.OperationalInsights/preview/2015-11-01-preview/OperationalInsights.json + +``` + +### Tag: schema-operationalinsights-2015-03-20 and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2015-03-20' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/stable/2015-03-20/OperationalInsights.json + +``` diff --git a/specification/operationalinsights/resource-manager/readme.go.md b/specification/operationalinsights/resource-manager/readme.go.md index 9f22e296b82a..94ee9c7a62d1 100644 --- a/specification/operationalinsights/resource-manager/readme.go.md +++ b/specification/operationalinsights/resource-manager/readme.go.md @@ -16,6 +16,7 @@ batch: - tag: package-2015-03 - tag: package-2015-11-preview - tag: package-2020-03-preview + - tag: package-2020-08 ``` ### Tag: package-2015-03 and go @@ -43,4 +44,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-08' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-01/$(namespace) +``` diff --git a/specification/operationalinsights/resource-manager/readme.java.md b/specification/operationalinsights/resource-manager/readme.java.md index 2c18db3f6a0d..92bb1e7a2c03 100644 --- a/specification/operationalinsights/resource-manager/readme.java.md +++ b/specification/operationalinsights/resource-manager/readme.java.md @@ -11,15 +11,49 @@ license-header: MICROSOFT_MIT_NO_CODEGEN payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-loganalytics service-name: LogAnalytics +directive: + - rename-operation: + from: SharedKeys_Regenerate + to: SharedKeysOperation_Regenerate + - rename-operation: + from: SharedKeys_GetSharedKeys + to: SharedKeysOperation_GetSharedKeys ``` - ### Java multi-api ``` yaml $(java) && $(multiapi) batch: - tag: package-2015-03 - tag: package-2015-11-preview + - tag: package-2020-03-preview + - tag: package-2020-08 +``` + +### Tag: package-2020-08 and java + +These settings apply only when `--tag=package-2020-08 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.loganalytics.v2020_08_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/loganalytics/mgmt-v2020_08_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2020-03-preview and java + +These settings apply only when `--tag=package-2020-03-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-03-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.loganalytics.v2020_03_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/loganalytics/mgmt-v2020_03_01_preview +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2015-03 and java diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md index 738ae481fc00..694b89a767e1 100644 --- a/specification/operationalinsights/resource-manager/readme.md +++ b/specification/operationalinsights/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the OperationalInsights API. title: OperationalInsightsManagementClient description: Operational Insights Client openapi-type: arm -tag: package-2020-03-preview +tag: package-2020-08 ``` @@ -70,6 +70,7 @@ These settings apply only when `--tag=package-2020-03-preview` is specified on t input-file: - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json +- Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/IntelligencePacks.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedServices.json - Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json @@ -90,6 +91,34 @@ input-file: - Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json ``` +### Tag: package-2020-08 + +These settings apply only when `--tag=package-2020-08` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08' +input-file: +- Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json +- Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json +- Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json +- Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json +- Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json +- Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json +- Microsoft.OperationalInsights/stable/2020-08-01/Operations.json +- Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json +- Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json +- Microsoft.OperationalInsights/stable/2020-08-01/Usages.json +- Microsoft.OperationalInsights/stable/2020-08-01/Workspaces.json +- Microsoft.OperationalInsights/stable/2020-08-01/Clusters.json +- Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json +- Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json +- Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json +- Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json +- Microsoft.OperationalInsights/stable/2020-08-01/Schema.json +- Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json +- Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json +- Microsoft.OperationalInsights/stable/2020-08-01/Tables.json +``` + --- # Code Generation @@ -107,8 +136,12 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-ruby + - repo: azure-sdk-for-java after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_operational_insights'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js operationalinsights/resource-manager ``` @@ -181,6 +214,10 @@ directive: reason: properties etag defined as eTag in model ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -201,6 +238,7 @@ input-file: - $(this-folder)/Microsoft.OperationalInsights/preview/2019-08-01-preview/OperationalInsights.json - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataExports.json - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataSources.json + - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/DataCollectorLogs.json - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/IntelligencePacks.json - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedServices.json - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/LinkedStorageAccounts.json @@ -218,6 +256,25 @@ input-file: - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Schema.json - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/WorkspacePurge.json - $(this-folder)/Microsoft.OperationalInsights/preview/2020-03-01-preview/Tables.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Operations.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Workspaces.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Clusters.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json + - $(this-folder)/Microsoft.OperationalInsights/stable/2020-08-01/Tables.json ``` diff --git a/specification/operationsmanagement/resource-manager/readme.azureresourceschema.md b/specification/operationsmanagement/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..5aa1c7bc845a --- /dev/null +++ b/specification/operationsmanagement/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-operationsmanagement-2015-11-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-operationsmanagement-2015-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationsmanagement-2015-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationsManagement/preview/2015-11-01-preview/OperationsManagement.json + +``` diff --git a/specification/operationsmanagement/resource-manager/readme.md b/specification/operationsmanagement/resource-manager/readme.md index 016569b64e0a..01dba6923780 100644 --- a/specification/operationsmanagement/resource-manager/readme.md +++ b/specification/operationsmanagement/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: - repo: azure-sdk-for-node - repo: azure-sdk-for-python - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js operationsmanagement/resource-manager ``` @@ -122,6 +125,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/peering/resource-manager/readme.azureresourceschema.md b/specification/peering/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a9bc36228266 --- /dev/null +++ b/specification/peering/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-peering-2020-04-01 + - tag: schema-peering-2020-01-01-preview + - tag: schema-peering-2019-09-01-preview + - tag: schema-peering-2019-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-peering-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/stable/2020-04-01/peering.json + +``` + +### Tag: schema-peering-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/preview/2020-01-01-preview/peering.json + +``` + +### Tag: schema-peering-2019-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2019-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/preview/2019-09-01-preview/peering.json + +``` + +### Tag: schema-peering-2019-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-peering-2019-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Peering/preview/2019-08-01-preview/peering.json + +``` diff --git a/specification/peering/resource-manager/readme.md b/specification/peering/resource-manager/readme.md index 947c30cb6823..d615f9f5d5ec 100644 --- a/specification/peering/resource-manager/readme.md +++ b/specification/peering/resource-manager/readme.md @@ -105,6 +105,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_peering'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js peering/resource-manager ``` ## C# @@ -119,6 +122,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.cli.md](./readme.cli.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json index 2601de7b93e5..d684bbabf6f8 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json @@ -4,7 +4,7 @@ "managementGroupsNamespace": "Microsoft.Management", "managementGroupName": "myManagementGroup", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json index 72823e4ff9cf..e9c799fb0f2f 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json @@ -6,7 +6,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyAssignmentName": "myPolicyAssignment", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json index cf8cd04d13f0..e8e382243513 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json @@ -4,7 +4,7 @@ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", "resourceGroupName": "myResourceGroup", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceScopeNextLink.json index 67866db89076..31d7d21b27a7 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QueryResourceScopeNextLink.json @@ -3,7 +3,7 @@ "policyEventsResource": "default", "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json index 69b634579055..f9af7f2abbc4 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json index 3fc60d7a3a1c..4ccd0e551d27 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json index 55fa3363f75a..1ebc94234ad2 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json index c87eb684900a..23c67a6810b5 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json @@ -3,7 +3,7 @@ "policyEventsResource": "default", "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScopeNextLink.json index 9e9ad020887f..4b69d867cdc2 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScopeNextLink.json @@ -4,7 +4,7 @@ "managementGroupsNamespace": "Microsoft.Management", "managementGroupName": "myManagementGroup", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json index 900833c0da86..a524d47c3bcb 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json @@ -6,7 +6,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyAssignmentName": "myPolicyAssignment", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScopeNextLink.json index 7555abf977df..48b1c99250c7 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScopeNextLink.json @@ -4,7 +4,7 @@ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", "resourceGroupName": "myResourceGroup", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeNextLink.json index be286ead7381..b7a89670dc9e 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeNextLink.json @@ -3,7 +3,7 @@ "policyStatesResource": "default", "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json index 4411d95cc2d7..83c5cf5997c7 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json index 94f65e67ab79..90ef402bc1e9 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json index a587122bb850..79d81cc3ad9e 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScopeNextLink.json index 7d164b166fe2..f297ea38ef95 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScopeNextLink.json @@ -3,7 +3,7 @@ "policyStatesResource": "latest", "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", "api-version": "2018-07-01-preview", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json index 35e65b711864..f06c11ec14b9 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryManagementGroupScopeNextLink.json @@ -4,7 +4,7 @@ "managementGroupsNamespace": "Microsoft.Management", "managementGroupName": "myManagementGroup", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json index 45e0bd6a396e..d2ef96960e66 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json @@ -6,7 +6,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyAssignmentName": "myPolicyAssignment", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json index aaa00e7e5dd2..74b6f139c396 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceGroupScopeNextLink.json @@ -4,7 +4,7 @@ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", "resourceGroupName": "myResourceGroup", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScopeNextLink.json index edc6d3d1448a..2c843f96e600 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QueryResourceScopeNextLink.json @@ -3,7 +3,7 @@ "policyEventsResource": "default", "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json index af28e1c64a17..31b44a52eaf4 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json index 5e83b32ebebd..752fcac07d59 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json index 04873b559997..fa9105092fb6 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json index 232c6e27597e..db909237f51c 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyEvents_QuerySubscriptionScopeNextLink.json @@ -3,7 +3,7 @@ "policyEventsResource": "default", "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScopeNextLink.json index ab5e1ea52d23..d14eabedc64b 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryManagementGroupScopeNextLink.json @@ -4,7 +4,7 @@ "managementGroupsNamespace": "Microsoft.Management", "managementGroupName": "myManagementGroup", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json index d107a6a9be18..47973328fa88 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScopeNextLink.json @@ -6,7 +6,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyAssignmentName": "myPolicyAssignment", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScopeNextLink.json index c3fa3fe3023f..3f0ffdac69f9 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceGroupScopeNextLink.json @@ -4,7 +4,7 @@ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", "resourceGroupName": "myResourceGroup", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json index 2bf56cd9c2f1..67953561bc9b 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json @@ -3,7 +3,7 @@ "policyStatesResource": "latest", "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", "api-version": "2019-10-01", - "$expand": "policyEvaluationDetails" + "$expand": "PolicyEvaluationDetails" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeNextLink.json index 66b643857d0b..3c44f1bcc9e1 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QueryResourceScopeNextLink.json @@ -3,7 +3,7 @@ "policyStatesResource": "default", "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json index 7c197f729eef..36b15704ae3d 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json index 556b9b42ec99..53a2f31c22a4 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json index f5928e9bc5a7..fabe7a565e54 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScopeNextLink.json @@ -5,7 +5,7 @@ "authorizationNamespace": "Microsoft.Authorization", "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScopeNextLink.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScopeNextLink.json index 018894716955..2fa56e87a7c3 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScopeNextLink.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/examples/PolicyStates_QuerySubscriptionScopeNextLink.json @@ -3,7 +3,7 @@ "policyStatesResource": "latest", "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852", "api-version": "2019-10-01", - "$skipToken": "WpmWfBSvPhkAK6QD" + "$skiptoken": "WpmWfBSvPhkAK6QD" }, "responses": { "200": { diff --git a/specification/policyinsights/resource-manager/readme.azureresourceschema.md b/specification/policyinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7bf614fc2a2a --- /dev/null +++ b/specification/policyinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,66 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-policyinsights-2019-10-01 + - tag: schema-policyinsights-2019-07-01 + - tag: schema-policyinsights-2018-07-01-preview + - tag: schema-policyinsights-2018-04-04 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-policyinsights-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-policyinsights-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json + - Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json + - Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json + +``` + +### Tag: schema-policyinsights-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-policyinsights-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PolicyInsights/stable/2019-07-01/remediations.json + +``` + +### Tag: schema-policyinsights-2018-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-policyinsights-2018-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json + - Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json + - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json + - Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json + +``` + +### Tag: schema-policyinsights-2018-04-04 and azureresourceschema + +``` yaml $(tag) == 'schema-policyinsights-2018-04-04' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json + - Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json + +``` diff --git a/specification/policyinsights/resource-manager/readme.md b/specification/policyinsights/resource-manager/readme.md index 021a18defb12..c6dcf11c08eb 100644 --- a/specification/policyinsights/resource-manager/readme.md +++ b/specification/policyinsights/resource-manager/readme.md @@ -122,6 +122,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js policyinsights/resource-manager ``` @@ -234,6 +237,10 @@ generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json new file mode 100644 index 000000000000..804d967b678c --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview", + "tenantConfiguration": { + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json new file mode 100644 index 000000000000..640025727bc7 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json new file mode 100644 index 000000000000..bbb7cfefdb1f --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Portal/tenantConfigurations", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json new file mode 100644 index 000000000000..b945a54fcc08 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json new file mode 100644 index 000000000000..a7ff3f47c85a --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json @@ -0,0 +1,256 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-01-01-preview", + "title": "portal", + "description": "Manage tenant configuration.", + "x-ms-code-generation-settings": { + "name": "portalClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/providers/Microsoft.Portal/tenantConfigurations": { + "get": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_List", + "description": "Gets list of the tenant configurations.", + "parameters": [ + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of tenant configurations.", + "schema": { + "$ref": "#/definitions/ConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get list of Tenant configurations": { + "$ref": "examples/TenantConfiguration/GetListOfTenantConfigurations.json" + } + } + } + }, + "/providers/Microsoft.Portal/tenantConfigurations/{configurationName}": { + "get": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Get", + "description": "Gets the tenant configuration.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the tenant configuration.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Tenant configuration": { + "$ref": "examples/TenantConfiguration/GetTenantConfiguration.json" + } + } + }, + "put": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Create", + "description": "Create the tenant configuration. If configuration already exists - update it. User has to be a Tenant Admin for this operation.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + }, + { + "name": "tenantConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The parameters required to create or update tenant configuration." + } + ], + "responses": { + "201": { + "description": "Created. New configuration was created", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "200": { + "description": "OK. Existing configuration updated.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Tenant configuration": { + "$ref": "examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json" + } + } + }, + "delete": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Delete", + "description": "Delete the tenant configuration. User has to be a Tenant Admin for this operation.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Configuration was deleted." + }, + "204": { + "description": "No content. Configuration was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Tenant configuration": { + "$ref": "examples/TenantConfiguration/DeleteTenantConfiguration.json" + } + } + } + } + }, + "parameters": { + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration name. Value must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "configurationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ConfigurationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "The array of custom resource provider manifests." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of tenant configurations." + }, + "Configuration": { + "type": "object", + "description": "Tenant configuration.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConfigurationProperties", + "description": "Tenant configuration properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ConfigurationProperties": { + "type": "object", + "description": "Tenant configuration properties.", + "x-ms-azure-resource": true, + "properties": { + "enforcePrivateMarkdownStorage": { + "type": "boolean", + "description": "When flag is set to true Markdown tile will require external storage configuration (URI). The inline content configuration will be prohibited." + } + } + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "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/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json new file mode 100644 index 000000000000..804d967b678c --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview", + "tenantConfiguration": { + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json new file mode 100644 index 000000000000..640025727bc7 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/DeleteTenantConfiguration.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json new file mode 100644 index 000000000000..bbb7cfefdb1f --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetListOfTenantConfigurations.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Portal/tenantConfigurations", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json new file mode 100644 index 000000000000..b945a54fcc08 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/TenantConfiguration/GetTenantConfiguration.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "configurationName": "default", + "api-version": "2019-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Portal/tenantConfigurations/default", + "name": "default", + "type": "Microsoft.Portal/tenantConfiguration", + "properties": { + "enforcePrivateMarkdownStorage": true + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/createOrUpdateDashboard.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/createOrUpdateDashboard.json new file mode 100644 index 000000000000..751774a6bde9 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/createOrUpdateDashboard.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "dashboardName": "testDashboard", + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "dashboard": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + }, + "200": { + "body": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/deleteDashboard.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/deleteDashboard.json new file mode 100644 index 000000000000..10e7488cbe00 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/deleteDashboard.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "dashboardName": "testDashboard", + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/getDashboard.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/getDashboard.json new file mode 100644 index 000000000000..8245989bfe7f --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/getDashboard.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "dashboardName": "testDashboard", + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsByResourceGroup.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsByResourceGroup.json new file mode 100644 index 000000000000..75ec89637b75 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsByResourceGroup.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + }, + { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard2", + "name": "testDashboard2", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsBySubscription.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsBySubscription.json new file mode 100644 index 000000000000..96a8e65508b1 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/listDashboardsBySubscription.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + }, + { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard2", + "name": "testDashboard2", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "aValue", + "anotherKey": "anotherValue" + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/operationsList.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/operationsList.json new file mode 100644 index 000000000000..089068e1fb6d --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/operationsList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2020-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Portal/dashboards/read", + "isDataAction": "false", + "display": { + "provider": "Microsoft Portal", + "resource": "Dashboards", + "operation": "Get Dashboard", + "description": "Reads the dashboards for the subscription." + } + }, + { + "name": "Microsoft.Portal/dashboards/write", + "isDataAction": "false", + "display": { + "provider": "Microsoft Portal", + "resource": "Dashboards", + "operation": "Set Dashboard", + "description": "Add or modify dashboard to a subscription." + } + }, + { + "name": "Microsoft.Portal/dashboards/delete", + "isDataAction": "false", + "display": { + "provider": "Microsoft Portal", + "resource": "Dashboards", + "operation": "Delete Dashboard", + "description": "Removes the dashboard from the subscription." + } + }, + { + "name": "Microsoft.Portal/register/action", + "isDataAction": "false", + "display": { + "provider": "Microsoft Portal", + "resource": "Portal Resource Provider", + "operation": "Registers the Portal Resource Provider", + "description": "Registers the subscription for the portal resource provider and enables shared dashboards." + } + } + ] + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/updateDashboard.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/updateDashboard.json new file mode 100644 index 000000000000..e0c901c6d277 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/examples/updateDashboard.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "dashboardName": "testDashboard", + "resourceGroupName": "testRG", + "api-version": "2020-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "dashboard": { + "tags": { + "aKey": "bValue", + "anotherKey": "anotherValue2" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "lenses": [ + { + "order": 1, + "parts": [ + { + "position": { + "x": 1, + "y": 2, + "rowSpan": 4, + "colSpan": 3 + } + }, + { + "position": { + "x": 5, + "y": 5, + "rowSpan": 6, + "colSpan": 6 + } + } + ] + }, + { + "order": 2, + "parts": [] + } + ], + "metadata": { + "metadata": { + "X": 4, + "Y": 3, + "RowSpan": 1, + "ColSpan": 2 + } + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard", + "name": "testDashboard", + "type": "Microsoft.Portal/dashboards", + "location": "eastus", + "tags": { + "aKey": "bValue", + "anotherKey": "anotherValue2" + } + } + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json new file mode 100644 index 000000000000..c2531031f2bb --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json @@ -0,0 +1,761 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-01-preview", + "title": "portal", + "description": "Allows creation and deletion of Azure Shared Dashboards.", + "x-ms-code-generation-settings": { + "name": "portalClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Portal/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "List the portal operations": { + "$ref": "examples/operationsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "The Microsoft Portal operations API.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}": { + "put": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_CreateOrUpdate", + "x-ms-examples": { + "Create or update a Dashboard": { + "$ref": "examples/createOrUpdateDashboard.json" + } + }, + "description": "Creates or updates a Dashboard.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DashboardNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "dashboard", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Dashboard" + }, + "description": "The parameters required to create or update a dashboard." + } + ], + "responses": { + "201": { + "description": "Created response definition. Resource has been created", + "schema": { + "$ref": "#/definitions/Dashboard" + } + }, + "200": { + "description": "Resource already exists.", + "schema": { + "$ref": "#/definitions/Dashboard" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_Delete", + "x-ms-examples": { + "Delete a Dashboard": { + "$ref": "examples/deleteDashboard.json" + } + }, + "description": "Deletes the Dashboard.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DashboardNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "204": { + "description": "OK resource was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_Get", + "x-ms-examples": { + "Get a Dashboard": { + "$ref": "examples/getDashboard.json" + } + }, + "description": "Gets the Dashboard.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DashboardNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Dashboard" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_Update", + "x-ms-examples": { + "Update a Dashboard": { + "$ref": "examples/updateDashboard.json" + } + }, + "description": "Updates an existing Dashboard.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DashboardNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "dashboard", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchableDashboard" + }, + "description": "The updatable fields of a Dashboard." + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Dashboard" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards": { + "get": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_ListByResourceGroup", + "x-ms-examples": { + "List all custom resource providers on the resourceGroup": { + "$ref": "examples/listDashboardsByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "Gets all the Dashboards within a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of Dashboards.", + "schema": { + "$ref": "#/definitions/DashboardListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Portal/dashboards": { + "get": { + "tags": [ + "Dashboard" + ], + "operationId": "Dashboards_ListBySubscription", + "x-ms-examples": { + "List all custom resource providers on the subscription": { + "$ref": "examples/listDashboardsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "description": "Gets all the dashboards within a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of dashboards.", + "schema": { + "$ref": "#/definitions/DashboardListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "DashboardListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Dashboard" + }, + "description": "The array of custom resource provider manifests." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of dashboards." + }, + "DashboardParts": { + "type": "object", + "description": "A dashboard part.", + "required": [ + "position" + ], + "properties": { + "position": { + "type": "object", + "required": [ + "x", + "y", + "rowSpan", + "colSpan" + ], + "description": "The dashboard's part position.", + "properties": { + "x": { + "type": "integer", + "description": "The dashboard's part x coordinate." + }, + "y": { + "type": "integer", + "description": "The dashboard's part y coordinate." + }, + "rowSpan": { + "type": "integer", + "description": "The dashboard's part row span." + }, + "colSpan": { + "type": "integer", + "description": "The dashboard's part column span." + }, + "metadata": { + "description": "The dashboard part's metadata.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "metadata": { + "description": "The dashboard part's metadata.", + "type": "object", + "$ref": "#/definitions/DashboardPartMetadata" + } + } + }, + "DashboardPartMetadata": { + "type": "object", + "required": [ + "type" + ], + "description": "A dashboard part metadata.", + "properties": { + "type": { + "type": "string", + "description": "The type of dashboard part." + } + }, + "discriminator": "type" + }, + "MarkdownPartMetadata": { + "type": "object", + "description": "Markdown part metadata.", + "x-ms-discriminator-value": "Extension/HubsExtension/PartType/MarkdownPart", + "allOf": [ + { + "$ref": "#/definitions/DashboardPartMetadata" + } + ], + "properties": { + "inputs": { + "type": "array", + "description": "Input to dashboard part.", + "items": { + "type": "object" + } + }, + "settings": { + "type": "object", + "description": "Markdown part settings.", + "properties": { + "content": { + "type": "object", + "description": "The content of markdown part.", + "properties": { + "settings": { + "type": "object", + "description": "The setting of the content of markdown part.", + "properties": { + "content": { + "type": "string", + "description": "The content of the markdown part." + }, + "title": { + "type": "string", + "description": "The title of the markdown part." + }, + "subtitle": { + "type": "string", + "description": "The subtitle of the markdown part." + }, + "markdownSource": { + "type": "object", + "description": "The source of the content of the markdown part." + }, + "markdownUri": { + "type": "string", + "description": "The uri of markdown content." + } + } + } + } + } + } + } + } + }, + "DashboardLens": { + "type": "object", + "description": "A dashboard lens.", + "required": [ + "order", + "parts" + ], + "properties": { + "order": { + "type": "integer", + "description": "The lens order." + }, + "parts": { + "type": "array", + "description": "The dashboard parts.", + "additionalProperties": { + "$ref": "#/definitions/DashboardParts" + }, + "items": { + "type": "object" + } + }, + "metadata": { + "description": "The dashboard len's metadata.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "DashboardProperties": { + "type": "object", + "description": "The shared dashboard properties.", + "properties": { + "lenses": { + "type": "array", + "description": "The dashboard lenses.", + "additionalProperties": { + "$ref": "#/definitions/DashboardLens" + }, + "items": { + "type": "object" + } + }, + "metadata": { + "description": "The dashboard metadata.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "Dashboard": { + "type": "object", + "description": "The shared dashboard resource definition.", + "x-ms-azure-resource": true, + "x-ms-client-flatten": true, + "required": [ + "location" + ], + "properties": { + "properties": { + "description": "The shared dashboard properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DashboardProperties" + }, + "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", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "PatchableDashboard": { + "type": "object", + "description": "The shared dashboard resource definition.", + "x-ms-azure-resource": true, + "x-ms-client-flatten": true, + "properties": { + "properties": { + "description": "The shared dashboard properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DashboardProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } + }, + "ResourceProviderOperationList": { + "type": "object", + "description": "Results 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", + "description": "The URL to use for getting the next set of results." + } + } + }, + "ResourceProviderOperation": { + "type": "object", + "description": "Supported operations of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation applies to data-plane.", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Resource provider: Microsoft Custom Providers.", + "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" + } + } + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "type": "object", + "description": "Error definition.", + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Description of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "DashboardNameParameter": { + "name": "dashboardName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dashboard.", + "minLength": 3, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to be used with the HTTP request." + } + } +} diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json new file mode 100644 index 000000000000..c9acf88d1a48 --- /dev/null +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json @@ -0,0 +1,256 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-01-preview", + "title": "portal", + "description": "Manage tenant configuration.", + "x-ms-code-generation-settings": { + "name": "portalClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/providers/Microsoft.Portal/tenantConfigurations": { + "get": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_List", + "description": "Gets list of the tenant configurations.", + "parameters": [ + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the list of tenant configurations.", + "schema": { + "$ref": "#/definitions/ConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get list of Tenant configurations": { + "$ref": "examples/TenantConfiguration/GetListOfTenantConfigurations.json" + } + } + } + }, + "/providers/Microsoft.Portal/tenantConfigurations/{configurationName}": { + "get": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Get", + "description": "Gets the tenant configuration.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns the tenant configuration.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Tenant configuration": { + "$ref": "examples/TenantConfiguration/GetTenantConfiguration.json" + } + } + }, + "put": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Create", + "description": "Create the tenant configuration. If configuration already exists - update it. User has to be a Tenant Admin for this operation.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + }, + { + "name": "tenantConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The parameters required to create or update tenant configuration." + } + ], + "responses": { + "201": { + "description": "Created. New configuration was created", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "200": { + "description": "OK. Existing configuration updated.", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Tenant configuration": { + "$ref": "examples/TenantConfiguration/CreateOrUpdateTenantConfiguration.json" + } + } + }, + "delete": { + "tags": [ + "tenantConfiguration" + ], + "operationId": "TenantConfigurations_Delete", + "description": "Delete the tenant configuration. User has to be a Tenant Admin for this operation.", + "parameters": [ + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "portal.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Configuration was deleted." + }, + "204": { + "description": "No content. Configuration was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "portal.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Tenant configuration": { + "$ref": "examples/TenantConfiguration/DeleteTenantConfiguration.json" + } + } + } + } + }, + "parameters": { + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The configuration name. Value must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "configurationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ConfigurationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "The array of custom resource provider manifests." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of tenant configurations." + }, + "Configuration": { + "type": "object", + "description": "Tenant configuration.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConfigurationProperties", + "description": "Tenant configuration properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ConfigurationProperties": { + "type": "object", + "description": "Tenant configuration properties.", + "x-ms-azure-resource": true, + "properties": { + "enforcePrivateMarkdownStorage": { + "type": "boolean", + "description": "When flag is set to true Markdown tile will require external storage configuration (URI). The inline content configuration will be prohibited." + } + } + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "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/portal/resource-manager/readme.azureresourceschema.md b/specification/portal/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..6667c9568420 --- /dev/null +++ b/specification/portal/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-portal-2019-01-01-preview + - tag: schema-portal-2018-10-01-preview + - tag: schema-portal-2015-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-portal-2019-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2019-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/preview/2019-01-01-preview/portal.json + +``` + +### Tag: schema-portal-2018-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2018-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/preview/2018-10-01-preview/portal.json + +``` + +### Tag: schema-portal-2015-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-portal-2015-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Portal/preview/2015-08-01-preview/portal.json + +``` diff --git a/specification/portal/resource-manager/readme.md b/specification/portal/resource-manager/readme.md index 9fc2ca44f7c4..1feda99144f3 100644 --- a/specification/portal/resource-manager/readme.md +++ b/specification/portal/resource-manager/readme.md @@ -26,9 +26,19 @@ These are the global settings for the portal. ``` yaml openapi-type: arm -tag: package-2019-01-01-preview +tag: package-2020-09-01-preview ``` + +### Tag: package-2020-09-01-preview + +These settings apply only when `--tag=package-2020-09-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2020-09-01-preview' +input-file: + - Microsoft.Portal/preview/2020-09-01-preview/portal.json + - Microsoft.Portal/preview/2020-09-01-preview/tenantConfiguration.json +``` ### Tag: package-2019-01-01-preview These settings apply only when `--tag=package-2019-01-01-preview` is specified on the command line. @@ -36,13 +46,14 @@ These settings apply only when `--tag=package-2019-01-01-preview` is specified o ``` yaml $(tag) == 'package-2019-01-01-preview' input-file: - Microsoft.Portal/preview/2019-01-01-preview/portal.json + - Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json ``` ### Tag: package-2018-10-01-preview These settings apply only when `--tag=package-2018-10-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2018-10-01-preview' +``` yaml $(tag) == 'package-2018-10-01-preview' input-file: - Microsoft.Portal/preview/2018-10-01-preview/portal.json ``` @@ -76,6 +87,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_portal'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js portal/resource-manager ``` ## Go @@ -102,7 +116,11 @@ See configuration in [readme.csharp.md](./readme.csharp.md) See configuration in [readme.nodejs.md](./readme.nodejs.md) -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -115,16 +133,16 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - $(this-folder)/Microsoft.Portal/preview/2019-01-01-preview/portal.json + - $(this-folder)/Microsoft.Portal/preview/2019-01-01-preview/tenantConfiguration.json - $(this-folder)/Microsoft.Portal/preview/2018-10-01-preview/portal.json - $(this-folder)/Microsoft.Portal/preview/2015-08-01-preview/portal.json ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json index 1df614dff54b..743d4ec6e6de 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/Replicas": { "get": { "tags": [ "Replicas" @@ -325,7 +325,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -368,7 +368,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,7 +1334,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { "get": { "tags": [ "ServerSecurityAlertPolicies" @@ -1454,7 +1454,7 @@ } } }, - "/providers/Microsoft.DBforPostgreSQL/operations": { + "/providers/Microsoft.DBForPostgreSQL/operations": { "get": { "tags": [ "Operations" @@ -1620,51 +1620,6 @@ } } }, - "ProxyResource": { - "description": "Resource properties.", - "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." - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1959,6 +1914,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2008,7 +1966,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2130,7 +2088,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -2188,7 +2146,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2241,7 +2199,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." @@ -2301,7 +2259,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." @@ -2437,7 +2395,7 @@ }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a log file." @@ -2611,7 +2569,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { @@ -2702,7 +2660,7 @@ "description": "Represents a and external administrator to be created.", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ] }, diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json index 9b5722ef689e..2570b091eae6 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateEndpointConnections.json @@ -346,44 +346,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "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 - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateEndpointConnection": { "description": "A private endpoint connection", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json index f0691e3b6d1c..2a6e3fbe419b 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2018-06-01-privatepreview/PrivateLinkResources.json @@ -168,44 +168,12 @@ } } }, - "Resource": { - "description": "ARM resource.", - "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 - } - }, - "x-ms-azure-resource": true - }, - "ProxyResource": { - "description": "ARM proxy resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, "PrivateLinkResource": { "description": "A private link resource", "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json index 38bef52ea2e5..741c1867a60e 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json @@ -223,27 +223,6 @@ } }, "definitions": { - "ProxyResource": { - "description": "Resource properties.", - "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." - } - }, - "x-ms-azure-resource": true - }, "ServerKeyListResult": { "description": "A list of PostgreSQL Server keys.", "type": "object", @@ -298,7 +277,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "properties": { diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CapabilitiesByLocation.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CapabilitiesByLocation.json new file mode 100644 index 000000000000..9921b8a4c681 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CapabilitiesByLocation.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "zone": "none", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + }, + { + "zone": "1", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + }, + { + "zone": "2", + "supportedFlexibleServerEditions": [ + { + "name": "Burstable", + "supportedStorageEditions": [ + { + "name": "ManagedDisk", + "supportedStorageMB": [ + { + "name": "32768", + "supportedIops": 120, + "storageSizeMB": 32768 + }, + { + "name": "65536", + "supportedIops": 240, + "storageSizeMB": 65536 + }, + { + "name": "131072", + "supportedIops": 500, + "storageSizeMB": 131072 + } + ] + } + ], + "supportedServerVersions": [ + { + "name": "12", + "supportedVcores": [ + { + "name": "Standard_B1s", + "vCores": 1, + "supportedIops": 320, + "supportedMemoryPerVcoreMB": 1024 + }, + { + "name": "Standard_B1ms", + "vCores": 1, + "supportedIops": 640, + "supportedMemoryPerVcoreMB": 2048 + }, + { + "name": "Standard_B2s", + "vCores": 2, + "supportedIops": 1280, + "supportedMemoryPerVcoreMB": 2048 + } + ] + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CheckNameAvailability.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..8edb7b34471d --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "message": "", + "name": "name1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationGet.json new file mode 100644 index 000000000000..55890a1e6df0 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "configurationName": "array_nulls", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2017-12-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "on", + "description": "Enable input of NULL elements in arrays.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/array_nulls", + "name": "array_nulls", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationListByServer.json new file mode 100644 index 000000000000..2cf125c8d12a --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationListByServer.json @@ -0,0 +1,1902 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations?api-version=2020-02-14-privatepreview&$top=200&$skiptoken=skiptoken", + "value": [ + { + "properties": { + "value": "", + "description": "Sets the application name to be reported in statistics and logs.", + "defaultValue": "", + "dataType": "String", + "allowedValues": "[A-Za-z0-9._-]*", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/application_name", + "name": "application_name", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables input of NULL elements in arrays.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/array_nulls", + "name": "array_nulls", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Starts the autovacuum subprocess.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum", + "name": "autovacuum", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.1", + "description": "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples.", + "defaultValue": "0.1", + "dataType": "Numeric", + "allowedValues": "0-100", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_analyze_scale_factor", + "name": "autovacuum_analyze_scale_factor", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "50", + "description": "Minimum number of tuple inserts, updates, or deletes prior to analyze.", + "defaultValue": "50", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_analyze_threshold", + "name": "autovacuum_analyze_threshold", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "60", + "description": "Time to sleep between autovacuum runs.", + "defaultValue": "60", + "dataType": "Integer", + "allowedValues": "1-2147483", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_naptime", + "name": "autovacuum_naptime", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Vacuum cost delay in milliseconds, for autovacuum.", + "defaultValue": "2", + "dataType": "Integer", + "allowedValues": "-1-100", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_cost_delay", + "name": "autovacuum_vacuum_cost_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Vacuum cost amount available before napping, for autovacuum.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_cost_limit", + "name": "autovacuum_vacuum_cost_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.2", + "description": "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples.", + "defaultValue": "0.2", + "dataType": "Numeric", + "allowedValues": "0-100", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_scale_factor", + "name": "autovacuum_vacuum_scale_factor", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "50", + "description": "Minimum number of tuple updates or deletes prior to vacuum.", + "defaultValue": "50", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_vacuum_threshold", + "name": "autovacuum_vacuum_threshold", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Sets the maximum memory to be used by each autovacuum worker process.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/autovacuum_work_mem", + "name": "autovacuum_work_mem", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Number of pages after which previously performed writes are flushed to disk.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-256", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/backend_flush_after", + "name": "backend_flush_after", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "safe_encoding", + "description": "Sets whether \"\\'\" is allowed in string literals.", + "defaultValue": "safe_encoding", + "dataType": "Enumeration", + "allowedValues": "safe_encoding,on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/backslash_quote", + "name": "backslash_quote", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "200", + "description": "Background writer sleep time between rounds.", + "defaultValue": "200", + "dataType": "Integer", + "allowedValues": "10-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_delay", + "name": "bgwriter_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "64", + "description": "Number of pages after which previously performed writes are flushed to disk.", + "defaultValue": "64", + "dataType": "Integer", + "allowedValues": "0-256", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_flush_after", + "name": "bgwriter_flush_after", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "100", + "description": "Background writer maximum number of LRU pages to flush per round.", + "defaultValue": "100", + "dataType": "Integer", + "allowedValues": "0-1073741823", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_lru_maxpages", + "name": "bgwriter_lru_maxpages", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Multiple of the average buffer usage to free per round.", + "defaultValue": "2", + "dataType": "Numeric", + "allowedValues": "0-10", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bgwriter_lru_multiplier", + "name": "bgwriter_lru_multiplier", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "hex", + "description": "Sets the output format for bytea.", + "defaultValue": "hex", + "dataType": "Enumeration", + "allowedValues": "escape,hex", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/bytea_output", + "name": "bytea_output", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Checks function bodies during CREATE FUNCTION.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/check_function_bodies", + "name": "check_function_bodies", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.5", + "description": "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval.", + "defaultValue": "0.5", + "dataType": "Numeric", + "allowedValues": "0-1", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_completion_target", + "name": "checkpoint_completion_target", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "300", + "description": "Sets the maximum time between automatic WAL checkpoints.", + "defaultValue": "300", + "dataType": "Integer", + "allowedValues": "30-86400", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_timeout", + "name": "checkpoint_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "30", + "description": "Enables warnings if checkpoint segments are filled more frequently than this.", + "defaultValue": "30", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/checkpoint_warning", + "name": "checkpoint_warning", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "sql_ascii", + "description": "Sets the client's character set encoding.", + "defaultValue": "sql_ascii", + "dataType": "Enumeration", + "allowedValues": "BIG5,EUC_CN,EUC_JP,EUC_JIS_2004,EUC_KR,EUC_TW,GB18030,GBK,ISO_8859_5,ISO_8859_6,ISO_8859_7,ISO_8859_8,JOHAB,KOI8R,KOI8U,LATIN1,LATIN2,LATIN3,LATIN4,LATIN5,LATIN6,LATIN7,LATIN8,LATIN9,LATIN10,MULE_INTERNAL,SJIS,SHIFT_JIS_2004,SQL_ASCII,UHC,UTF8,WIN866,WIN874,WIN1250,WIN1251,WIN1252,WIN1253,WIN1254,WIN1255,WIN1256,WIN1257,WIN1258", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/client_encoding", + "name": "client_encoding", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "notice", + "description": "Sets the message levels that are sent to the client.", + "defaultValue": "notice", + "dataType": "Enumeration", + "allowedValues": "debug5,debug4,debug3,debug2,debug1,log,notice,warning,error", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/client_min_messages", + "name": "client_min_messages", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the delay in microseconds between transaction commit and flushing WAL to disk.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-100000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/commit_delay", + "name": "commit_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "5", + "description": "Sets the minimum concurrent open transactions before performing commit_delay.", + "defaultValue": "5", + "dataType": "Integer", + "allowedValues": "0-1000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/commit_siblings", + "name": "commit_siblings", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "partition", + "description": "Enables the planner to use constraints to optimize queries.", + "defaultValue": "partition", + "dataType": "Enumeration", + "allowedValues": "partition,on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/constraint_exclusion", + "name": "constraint_exclusion", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.005", + "description": "Sets the planner's estimate of the cost of processing each index entry during an index scan.", + "defaultValue": "0.005", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_index_tuple_cost", + "name": "cpu_index_tuple_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.0025", + "description": "Sets the planner's estimate of the cost of processing each operator or function call.", + "defaultValue": "0.0025", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_operator_cost", + "name": "cpu_operator_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.01", + "description": "Sets the planner's estimate of the cost of processing each tuple (row).", + "defaultValue": "0.01", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cpu_tuple_cost", + "name": "cpu_tuple_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.1", + "description": "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved.", + "defaultValue": "0.1", + "dataType": "Numeric", + "allowedValues": "0-1", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/cursor_tuple_fraction", + "name": "cursor_tuple_fraction", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "ISO, MDY", + "description": "Sets the display format for date and time values.", + "defaultValue": "ISO, MDY", + "dataType": "String", + "allowedValues": "(ISO|POSTGRES|SQL|GERMAN)(, (DMY|MDY|YMD))?", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/DateStyle", + "name": "DateStyle", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1000", + "description": "Sets the amount of time, in milliseconds, to wait on a lock before checking for deadlock.", + "defaultValue": "1000", + "dataType": "Integer", + "allowedValues": "1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/deadlock_timeout", + "name": "deadlock_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Indents parse and plan tree displays.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_pretty_print", + "name": "debug_pretty_print", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs each query's parse tree.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_parse", + "name": "debug_print_parse", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs each query's execution plan.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_plan", + "name": "debug_print_plan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs each query's rewritten parse tree.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/debug_print_rewritten", + "name": "debug_print_rewritten", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "100", + "description": "Sets the default statistics target.", + "defaultValue": "100", + "dataType": "Integer", + "allowedValues": "1-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_statistics_target", + "name": "default_statistics_target", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "", + "description": "Sets the default tablespace to create tables and indexes in.", + "defaultValue": "", + "dataType": "String", + "allowedValues": "[A-Za-z._]*", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_tablespace", + "name": "default_tablespace", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "pg_catalog.english", + "description": "Sets default text search configuration.", + "defaultValue": "pg_catalog.english", + "dataType": "String", + "allowedValues": "[A-Za-z._]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_text_search_config", + "name": "default_text_search_config", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Sets the default deferrable status of new transactions.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_deferrable", + "name": "default_transaction_deferrable", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "read committed", + "description": "Sets the transaction isolation level of each new transaction.", + "defaultValue": "read committed", + "dataType": "Enumeration", + "allowedValues": "serializable,repeatable read,read committed,read uncommitted", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_isolation", + "name": "default_transaction_isolation", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Sets the default read-only status of new transactions.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_transaction_read_only", + "name": "default_transaction_read_only", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Creates new tables with OIDs by default.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/default_with_oids", + "name": "default_with_oids", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "3145728", + "description": "Sets the planner's assumption about the size of the disk cache.", + "defaultValue": "3145728", + "dataType": "Integer", + "allowedValues": "1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/effective_cache_size", + "name": "effective_cache_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of bitmap-scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_bitmapscan", + "name": "enable_bitmapscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of gather merge plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_gathermerge", + "name": "enable_gathermerge", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of hashed aggregation plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_hashagg", + "name": "enable_hashagg", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of hash join plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_hashjoin", + "name": "enable_hashjoin", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of index-only-scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_indexonlyscan", + "name": "enable_indexonlyscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of index-scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_indexscan", + "name": "enable_indexscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of materialization.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_material", + "name": "enable_material", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of merge join plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_mergejoin", + "name": "enable_mergejoin", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of nested loop join plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_nestloop", + "name": "enable_nestloop", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of sequential-scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_seqscan", + "name": "enable_seqscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of explicit sort steps.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_sort", + "name": "enable_sort", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables the planner's use of TID scan plans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/enable_tidscan", + "name": "enable_tidscan", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Warns about backslash escapes in ordinary string literals.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/escape_string_warning", + "name": "escape_string_warning", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Terminates session on any error.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/exit_on_error", + "name": "exit_on_error", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1", + "description": "Sets the number of digits displayed for floating-point values.", + "defaultValue": "1", + "dataType": "Integer", + "allowedValues": "-15-3", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/extra_float_digits", + "name": "extra_float_digits", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Forces use of parallel query facilities.", + "defaultValue": "off", + "dataType": "Enumeration", + "allowedValues": "off,on,regress", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/force_parallel_mode", + "name": "force_parallel_mode", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "8", + "description": "Sets the FROM-list size beyond which subqueries are not collapsed.", + "defaultValue": "8", + "dataType": "Integer", + "allowedValues": "1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/from_collapse_limit", + "name": "from_collapse_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables genetic query optimization.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo", + "name": "geqo", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "5", + "description": "GEQO: effort is used to set the default for other GEQO parameters.", + "defaultValue": "5", + "dataType": "Integer", + "allowedValues": "1-10", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_effort", + "name": "geqo_effort", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "GEQO: number of iterations of the algorithm.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_generations", + "name": "geqo_generations", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "GEQO: number of individuals in the population.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_pool_size", + "name": "geqo_pool_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "GEQO: seed for random path selection.", + "defaultValue": "0", + "dataType": "Numeric", + "allowedValues": "0-1", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_seed", + "name": "geqo_seed", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "GEQO: selective pressure within the population.", + "defaultValue": "2", + "dataType": "Numeric", + "allowedValues": "1.5-2", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_selection_bias", + "name": "geqo_selection_bias", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "12", + "description": "Sets the threshold of FROM items beyond which GEQO is used.", + "defaultValue": "12", + "dataType": "Integer", + "allowedValues": "2-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/geqo_threshold", + "name": "geqo_threshold", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the maximum allowed result for exact search by GIN.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/gin_fuzzy_search_limit", + "name": "gin_fuzzy_search_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "4096", + "description": "Sets the maximum size of the pending list for GIN index.", + "defaultValue": "4096", + "dataType": "Integer", + "allowedValues": "64-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/gin_pending_list_limit", + "name": "gin_pending_list_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the maximum allowed duration of any idling transaction.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/idle_in_transaction_session_timeout", + "name": "idle_in_transaction_session_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "postgres", + "description": "Sets the display format for interval values.", + "defaultValue": "postgres", + "dataType": "Enumeration", + "allowedValues": "postgres,postgres_verbose,sql_standard,iso_8601", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/IntervalStyle", + "name": "IntervalStyle", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "8", + "description": "Sets the FROM-list size beyond which JOIN constructs are not flattened.", + "defaultValue": "8", + "dataType": "Integer", + "allowedValues": "1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/join_collapse_limit", + "name": "join_collapse_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "en_US.utf-8", + "description": "Sets the locale for formatting monetary amounts.", + "defaultValue": "en_US.utf-8", + "dataType": "String", + "allowedValues": "[A-Za-z0-9._ -]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lc_monetary", + "name": "lc_monetary", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "en_US.utf-8", + "description": "Sets the locale for formatting numbers.", + "defaultValue": "en_US.utf-8", + "dataType": "String", + "allowedValues": "[A-Za-z0-9._ -]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lc_numeric", + "name": "lc_numeric", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Enables backward compatibility mode for privilege checks on large objects.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lo_compat_privileges", + "name": "lo_compat_privileges", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the maximum allowed duration (in milliseconds) of any wait for a lock. 0 turns this off.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/lock_timeout", + "name": "lock_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Sets the minimum execution time above which autovacuum actions will be logged.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_autovacuum_min_duration", + "name": "log_autovacuum_min_duration", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Logs each checkpoint.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_checkpoints", + "name": "log_checkpoints", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Logs each successful connection.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_connections", + "name": "log_connections", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "stderr", + "description": "Sets the destination for server log output.", + "defaultValue": "stderr", + "dataType": "Enumeration", + "allowedValues": "stderr,csvlog", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_destination", + "name": "log_destination", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs end of a session, including duration.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_disconnections", + "name": "log_disconnections", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs the duration of each completed SQL statement.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_duration", + "name": "log_duration", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "default", + "description": "Sets the verbosity of logged messages.", + "defaultValue": "default", + "dataType": "Enumeration", + "allowedValues": "terse,default,verbose", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_error_verbosity", + "name": "log_error_verbosity", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs long lock waits.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_lock_waits", + "name": "log_lock_waits", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Sets the minimum execution time (in milliseconds) above which statements will be logged. -1 disables logging statement durations.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_duration_statement", + "name": "log_min_duration_statement", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "error", + "description": "Causes all statements generating error at or above this level to be logged.", + "defaultValue": "error", + "dataType": "Enumeration", + "allowedValues": "debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_error_statement", + "name": "log_min_error_statement", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "warning", + "description": "Sets the message levels that are logged.", + "defaultValue": "warning", + "dataType": "Enumeration", + "allowedValues": "debug5,debug4,debug3,debug2,debug1,info,notice,warning,error,log,fatal,panic", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_min_messages", + "name": "log_min_messages", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Logs each replication command.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_replication_commands", + "name": "log_replication_commands", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "none", + "description": "Sets the type of statements logged.", + "defaultValue": "none", + "dataType": "Enumeration", + "allowedValues": "none,ddl,mod,all", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_statement", + "name": "log_statement", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "For each query, writes cumulative performance statistics to the server log.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_statement_stats", + "name": "log_statement_stats", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-1", + "description": "Logs the use of temporary files larger than this number of kilobytes.", + "defaultValue": "-1", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/log_temp_files", + "name": "log_temp_files", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "332800", + "description": "Sets the maximum memory to be used for maintenance operations.", + "defaultValue": "332800", + "dataType": "Integer", + "allowedValues": "1024-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/maintenance_work_mem", + "name": "maintenance_work_mem", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "8", + "description": "Sets the maximum number of parallel workers than can be active at one time.", + "defaultValue": "8", + "dataType": "Integer", + "allowedValues": "0-1024", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_parallel_workers", + "name": "max_parallel_workers", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Sets the maximum number of parallel processes per executor node.", + "defaultValue": "2", + "dataType": "Integer", + "allowedValues": "0-1024", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_parallel_workers_per_gather", + "name": "max_parallel_workers_per_gather", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Sets the maximum number of predicate-locked tuples per page.", + "defaultValue": "2", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_pred_locks_per_page", + "name": "max_pred_locks_per_page", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "-2", + "description": "Sets the maximum number of predicate-locked pages and tuples per relation.", + "defaultValue": "-2", + "dataType": "Integer", + "allowedValues": "-2147483648-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_pred_locks_per_relation", + "name": "max_pred_locks_per_relation", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "30000", + "description": "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data.", + "defaultValue": "30000", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_standby_archive_delay", + "name": "max_standby_archive_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "30000", + "description": "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data.", + "defaultValue": "30000", + "dataType": "Integer", + "allowedValues": "-1-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_standby_streaming_delay", + "name": "max_standby_streaming_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "2", + "description": "Maximum number of table synchronization workers per subscription.", + "defaultValue": "2", + "dataType": "Integer", + "allowedValues": "0-262143", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_sync_workers_per_subscription", + "name": "max_sync_workers_per_subscription", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1024", + "description": "Sets the WAL size that triggers a checkpoint.", + "defaultValue": "1024", + "dataType": "Integer", + "allowedValues": "2-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/max_wal_size", + "name": "max_wal_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "64", + "description": "Sets the minimum amount of index data for a parallel scan.", + "defaultValue": "64", + "dataType": "Integer", + "allowedValues": "0-715827882", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_parallel_index_scan_size", + "name": "min_parallel_index_scan_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1024", + "description": "Sets the minimum amount of table data for a parallel scan.", + "defaultValue": "1024", + "dataType": "Integer", + "allowedValues": "0-715827882", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_parallel_table_scan_size", + "name": "min_parallel_table_scan_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "80", + "description": "Sets the minimum size to shrink the WAL to.", + "defaultValue": "80", + "dataType": "Integer", + "allowedValues": "2-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/min_wal_size", + "name": "min_wal_size", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Emits a warning for constructs that changed meaning since PostgreSQL 9.4.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/operator_precedence_warning", + "name": "operator_precedence_warning", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1000", + "description": "Sets the planner's estimate of the cost of starting up worker processes for parallel query.", + "defaultValue": "1000", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/parallel_setup_cost", + "name": "parallel_setup_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0.1", + "description": "Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend.", + "defaultValue": "0.1", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/parallel_tuple_cost", + "name": "parallel_tuple_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "When generating SQL fragments, quotes all identifiers.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/quote_all_identifiers", + "name": "quote_all_identifiers", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "4", + "description": "Sets the planner's estimate of the cost of a nonsequentially fetched disk page.", + "defaultValue": "4", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/random_page_cost", + "name": "random_page_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables row security.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/row_security", + "name": "row_security", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "\"$user\", public", + "description": "Sets the schema search order for names that are not schema-qualified.", + "defaultValue": "\"$user\", public", + "dataType": "String", + "allowedValues": "[A-Za-z.\"$, ]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/search_path", + "name": "search_path", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1", + "description": "Sets the planner's estimate of the cost of a sequentially fetched disk page.", + "defaultValue": "1", + "dataType": "Numeric", + "allowedValues": "0-1.79769e+308", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/seq_page_cost", + "name": "seq_page_cost", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "origin", + "description": "Sets the session's behavior for triggers and rewrite rules.", + "defaultValue": "origin", + "dataType": "Enumeration", + "allowedValues": "origin,replica,local", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/session_replication_role", + "name": "session_replication_role", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Causes '...' strings to treat backslashes literally.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/standard_conforming_strings", + "name": "standard_conforming_strings", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Sets the maximum allowed duration (in milliseconds) of any statement. 0 turns this off.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/statement_timeout", + "name": "statement_timeout", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Enables synchronized sequential scans.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/synchronize_seqscans", + "name": "synchronize_seqscans", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Sets the current transaction's synchronization level.", + "defaultValue": "on", + "dataType": "Enumeration", + "allowedValues": "local,remote_write,on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/synchronous_commit", + "name": "synchronous_commit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "9", + "description": "Maximum number of TCP keepalive retransmits.", + "defaultValue": "9", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_count", + "name": "tcp_keepalives_count", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "120", + "description": "Time between issuing TCP keepalives.", + "defaultValue": "120", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_idle", + "name": "tcp_keepalives_idle", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "30", + "description": "Time between TCP keepalive retransmits.", + "defaultValue": "30", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/tcp_keepalives_interval", + "name": "tcp_keepalives_interval", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1024", + "description": "Sets the maximum number of temporary buffers used by each database session.", + "defaultValue": "1024", + "dataType": "Integer", + "allowedValues": "100-1073741823", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/temp_buffers", + "name": "temp_buffers", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "", + "description": "Sets the tablespace(s) to use for temporary tables and sort files.", + "defaultValue": "", + "dataType": "String", + "allowedValues": "[A-Za-z._]*", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/temp_tablespaces", + "name": "temp_tablespaces", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "UTC", + "description": "Sets the time zone for displaying and interpreting time stamps.", + "defaultValue": "UTC", + "dataType": "String", + "allowedValues": "[A-Za-z0-9/+_-]+", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/TimeZone", + "name": "TimeZone", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Collects information about executing commands.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_activities", + "name": "track_activities", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "on", + "description": "Collects statistics on database activity.", + "defaultValue": "on", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_counts", + "name": "track_counts", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "none", + "description": "Collects function-level statistics on database activity.", + "defaultValue": "none", + "dataType": "Enumeration", + "allowedValues": "none,pl,all", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_functions", + "name": "track_functions", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Collects timing statistics for database I/O activity.", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/track_io_timing", + "name": "track_io_timing", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "off", + "description": "Treats \"expr=NULL\" as \"expr IS NULL\".", + "defaultValue": "off", + "dataType": "Boolean", + "allowedValues": "on,off", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/transform_null_equals", + "name": "transform_null_equals", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Vacuum cost delay in milliseconds.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-100", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_delay", + "name": "vacuum_cost_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "200", + "description": "Vacuum cost amount available before napping.", + "defaultValue": "200", + "dataType": "Integer", + "allowedValues": "1-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_limit", + "name": "vacuum_cost_limit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "20", + "description": "Vacuum cost for a page dirtied by vacuum.", + "defaultValue": "20", + "dataType": "Integer", + "allowedValues": "0-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_dirty", + "name": "vacuum_cost_page_dirty", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1", + "description": "Vacuum cost for a page found in the buffer cache.", + "defaultValue": "1", + "dataType": "Integer", + "allowedValues": "0-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_hit", + "name": "vacuum_cost_page_hit", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "10", + "description": "Vacuum cost for a page not found in the buffer cache.", + "defaultValue": "10", + "dataType": "Integer", + "allowedValues": "0-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_cost_page_miss", + "name": "vacuum_cost_page_miss", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "0", + "description": "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any.", + "defaultValue": "0", + "dataType": "Integer", + "allowedValues": "0-1000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_defer_cleanup_age", + "name": "vacuum_defer_cleanup_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "50000000", + "description": "Minimum age at which VACUUM should freeze a table row.", + "defaultValue": "50000000", + "dataType": "Integer", + "allowedValues": "0-1000000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_freeze_min_age", + "name": "vacuum_freeze_min_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "150000000", + "description": "Age at which VACUUM should scan whole table to freeze tuples.", + "defaultValue": "150000000", + "dataType": "Integer", + "allowedValues": "0-2000000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_freeze_table_age", + "name": "vacuum_freeze_table_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "5000000", + "description": "Minimum age at which VACUUM should freeze a MultiXactId in a table row.", + "defaultValue": "5000000", + "dataType": "Integer", + "allowedValues": "0-1000000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_multixact_freeze_min_age", + "name": "vacuum_multixact_freeze_min_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "150000000", + "description": "Multixact age at which VACUUM should scan whole table to freeze tuples.", + "defaultValue": "150000000", + "dataType": "Integer", + "allowedValues": "0-2000000000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/vacuum_multixact_freeze_table_age", + "name": "vacuum_multixact_freeze_table_age", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "10", + "description": "Sets the maximum interval between WAL receiver status reports to the primary.", + "defaultValue": "10", + "dataType": "Integer", + "allowedValues": "0-2147483", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_receiver_status_interval", + "name": "wal_receiver_status_interval", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "200", + "description": "Time between WAL flushes performed in the WAL writer.", + "defaultValue": "200", + "dataType": "Integer", + "allowedValues": "1-10000", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_writer_delay", + "name": "wal_writer_delay", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "128", + "description": "Amount of WAL written out by WAL writer that triggers a flush.", + "defaultValue": "128", + "dataType": "Integer", + "allowedValues": "0-2147483647", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/wal_writer_flush_after", + "name": "wal_writer_flush_after", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "115712", + "description": "Sets the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files.", + "defaultValue": "115712", + "dataType": "Integer", + "allowedValues": "4096-2097151", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/work_mem", + "name": "work_mem", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "base64", + "description": "Sets how binary values are to be encoded in XML.", + "defaultValue": "base64", + "dataType": "Enumeration", + "allowedValues": "base64,hex", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/xmlbinary", + "name": "xmlbinary", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "content", + "description": "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments.", + "defaultValue": "content", + "dataType": "Enumeration", + "allowedValues": "content,document", + "source": "system-default" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/xmloption", + "name": "xmloption", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationUpdate.json new file mode 100644 index 000000000000..7853c92ea534 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ConfigurationUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "serverName": "testserver", + "configurationName": "event_scheduler", + "resourceGroupName": "testrg", + "api-version": "2020-07-01-privatepreview", + "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.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "user-override" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleCreate.json new file mode 100644 index 000000000000..08347b10a459 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleDelete.json new file mode 100644 index 000000000000..7210184118b1 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleGet.json new file mode 100644 index 000000000000..bafbaea55717 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "firewallRuleName": "rule1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/servers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleListByServer.json new file mode 100644 index 000000000000..d4c80afd0a6e --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/FirewallRuleListByServer.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules?api-version=2020-02-14-privatepreview&$top=2&$skiptoken=skiptoken", + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules/rule1", + "name": "rule1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "0.0.0.0", + "endIpAddress": "255.255.255.255" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/firewallRules/rule2", + "name": "rule2", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules", + "properties": { + "startIpAddress": "1.0.0.0", + "endIpAddress": "255.0.0.0" + } + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/OperationList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/OperationList.json new file mode 100644 index 000000000000..af13889175e0 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/OperationList.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "api-version": "2020-02-14-privatepreview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/read", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "PostgreSQL Server", + "operation": "List/Get PostgreSQL Servers", + "description": "Return the list of servers or gets the properties for the specified server." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/write", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "PostgreSQL Server", + "operation": "Create/Update PostgreSQL Server", + "description": "Creates a server with the specified parameters or update the properties or tags for the specified server." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/delete", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "PostgreSQL Server", + "operation": "Delete PostgreSQL Server", + "description": "Deletes an existing server." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/read", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Firewall Rules", + "operation": "List/Get Firewall Rules", + "description": "Return the list of firewall rules for a server or gets the properties for the specified firewall rule." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/write", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Firewall Rules", + "operation": "Create/Update Firewall Rule", + "description": "Creates a firewall rule with the specified parameters or update an existing rule." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/firewallRules/delete", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Firewall Rules", + "operation": "Delete Firewall Rule", + "description": "Deletes an existing firewall rule." + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Database Metric Definition", + "operation": "Get database metric definitions", + "description": "Return types of metrics that are available for databases" + }, + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "cpu_percent", + "displayName": "CPU percent", + "displayDescription": "CPU percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "compute_limit", + "displayName": "Compute Unit limit", + "displayDescription": "Compute Unit limit", + "unit": "Count", + "aggregationType": "Average" + }, + { + "name": "compute_consumption_percent", + "displayName": "Compute Unit percentage", + "displayDescription": "Compute Unit percentage", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "memory_percent", + "displayName": "Memory percent", + "displayDescription": "Memory percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "io_consumption_percent", + "displayName": "IO percent", + "displayDescription": "IO percent", + "unit": "Percent", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "storage_percent", + "displayName": "Storage percentage", + "displayDescription": "Storage percentage", + "unit": "Percent", + "aggregationType": "Average" + }, + { + "name": "storage_used", + "displayName": "Storage used", + "displayDescription": "Storage used", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "storage_limit", + "displayName": "Storage limit", + "displayDescription": "Storage limit", + "unit": "Bytes", + "aggregationType": "Average" + }, + { + "name": "active_connections", + "displayName": "Total active connections", + "displayDescription": "Total active connections", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + }, + { + "name": "connections_failed", + "displayName": "Total failed connections", + "displayDescription": "Total failed connections", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": true + } + ] + } + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Database Metric Definition", + "operation": "Read diagnostic setting", + "description": "Gets the disagnostic setting for the resource" + } + }, + { + "name": "Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft DB for PostgreSQL", + "resource": "Database Metric Definition", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json new file mode 100644 index 000000000000..857216019136 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreate.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "administratorLoginPassword": "password", + "version": "12", + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + }, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1" + }, + "tags": { + "ElasticServer": "1" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + }, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "haEnabled": "Enabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + }, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json new file mode 100644 index 000000000000..803ad0031622 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerCreatePointInTimeRestore.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "createMode": "PointInTimeRestore", + "sourceServerName": "sourcePgServerName", + "pointInTimeUTC": "2020-06-30T23:41:49.000Z" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "haEnabled": "Disabled", + "delegatedSubnetArguments": {}, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "haEnabled": "Disabled", + "delegatedSubnetArguments": {}, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerDelete.json new file mode 100644 index 000000000000..4f1c212e5e92 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json new file mode 100644 index 000000000000..219f82e99064 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "serverName": "pgtestsvc1", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1", + "name": "pgtestsvc1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json new file mode 100644 index 000000000000..d1f727e6dab8 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerGetWithVnet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serverName": "pgtestsvc1", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Disabled", + "delegatedSubnetArguments": { + "subnetArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-vnet-subnet" + }, + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "availabilityZone": "1" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1", + "name": "pgtestsvc1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyCreateOrUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyCreateOrUpdate.json new file mode 100644 index 000000000000..c42b5c076cc6 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyCreateOrUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-02-14-privatepreview", + "parameters": { + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "omeVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2017-05-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyDelete.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyDelete.json new file mode 100644 index 000000000000..769fa6985a14 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-02-14-privatepreview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyGet.json new file mode 100644 index 000000000000..87fdede04e58 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "keyName": "someVault_someKey_01234567890123456789012345678901", + "api-version": "2020-02-14-privatepreview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyList.json new file mode 100644 index 000000000000..f0923ae1877b --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerKeyList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "testserver", + "api-version": "2020-02-14-privatepreview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/testserver/keys/someVault_someKey_01234567890123456789012345678901", + "name": "someVault_someKey_01234567890123456789012345678901", + "type": "Microsoft.DBforPostgreSQL/flexibleServers/keys", + "kind": "azurekeyvault", + "properties": { + "serverKeyType": "AzureKeyVault", + "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901", + "creationDate": "2019-12-01T00:00:00.0Z" + } + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json new file mode 100644 index 000000000000..6331599d553d --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerList.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforPostgreSQL/flexibleServers?api-version=2020-02-14-privatepreview&$top=3&$skiptoken=skiptoken", + "value": [ + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc1.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "Server": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc1", + "name": "pgtestsvc1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "Healthy", + "fullyQualifiedDomainName": "pgtestsvc2.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" + } + }, + "location": "westus", + "tags": { + "Server": "2" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc2", + "name": "pgtestsvc2", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "FailingOver", + "fullyQualifiedDomainName": "pgtestsvc3.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "3", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "Server": "3" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc3", + "name": "pgtestsvc3", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "ReplicatingData", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "tags": { + "Server": "4" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json new file mode 100644 index 000000000000..ccc95d5b83ec --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerListByResourceGroup.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "nextLink": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff//resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers?api-version=2020-02-14-privatepreview&$top=3&$skiptoken=skiptoken", + "value": [ + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "testuser", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Enabled", + "availabilityZone": "1", + "standbyAvailabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" + } + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/pgtestsvc1", + "name": "pgtestsvc1", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "testuser", + "version": "12", + "state": "Ready", + "haState": "Healthy", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "2", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0, + "customWindow": "Disabled" + } + }, + "location": "westus", + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc2", + "name": "pgtestsvc2", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + }, + { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "testuser", + "version": "12", + "state": "Ready", + "haState": "Healthy", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 7 + }, + "haEnabled": "Disabled", + "availabilityZone": "3", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 10, + "startMinute": 30, + "customWindow": "Enabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerRestart.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerRestart.json new file mode 100644 index 000000000000..529712063a59 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerRestart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStart.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStart.json new file mode 100644 index 000000000000..529712063a59 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStop.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStop.json new file mode 100644 index 000000000000..529712063a59 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json new file mode 100644 index 000000000000..cd18ac62f1c0 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "TestGroup", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLoginPassword": "newpassword", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 20 + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 20 + }, + "delegatedSubnetArguments": {}, + "haEnabled": "Disabled", + "availabilityZone": "1" + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json new file mode 100644 index 000000000000..0bf2308701ca --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/ServerUpdateWithCustomerMaintenanceWindow.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "serverName": "pgtestsvc4", + "resourceGroupName": "testrg", + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "location": "westus", + "properties": { + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "tier": "GeneralPurpose", + "name": "Standard_D4s_v3" + }, + "properties": { + "administratorLogin": "cloudsa", + "version": "12", + "state": "Ready", + "haState": "NotEnabled", + "fullyQualifiedDomainName": "pgtestsvc4.postgres.database.azure.com", + "displayName": "demosingleserver", + "publicNetworkAccess": "Enabled", + "storageProfile": { + "storageMB": 524288, + "backupRetentionDays": 20 + }, + "delegatedSubnetArguments": {}, + "haEnabled": "Disabled", + "availabilityZone": "1", + "maintenanceWindow": { + "dayOfWeek": 0, + "startHour": 8, + "startMinute": 0, + "customWindow": "Enabled" + } + }, + "location": "westus", + "tags": { + "ElasticServer": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/pgtestsvc4", + "name": "pgtestsvc4", + "type": "Microsoft.DBforPostgreSQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/VirtualNetworkSubnetUsage.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/VirtualNetworkSubnetUsage.json new file mode 100644 index 000000000000..79466a840f2b --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/examples/VirtualNetworkSubnetUsage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-02-14-privatepreview", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "locationName": "WestUS", + "parameters": { + "virtualNetworkArmResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/testvnet" + } + }, + "responses": { + "200": { + "body": { + "delegatedSubnetsUsage": [ + { + "subnetName": "test-subnet-1", + "usage": 2 + }, + { + "subnetName": "test-subnet-2", + "usage": 3 + } + ] + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json new file mode 100644 index 000000000000..830dbfac5a09 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json @@ -0,0 +1,2056 @@ +{ + "swagger": "2.0", + "info": { + "title": "PostgreSQLServerManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.", + "version": "2020-02-14-privatepreview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.DBForPostgreSql/flexibleServers/{serverName}": { + "put": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Create", + "x-ms-examples": { + "Create a new server": { + "$ref": "./examples/ServerCreate.json" + }, + "Create a database as a point in time restore": { + "$ref": "./examples/ServerCreatePointInTimeRestore.json" + } + }, + "description": "Creates a new server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Server" + }, + "description": "The required parameters for creating or updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Update", + "x-ms-examples": { + "ServerUpdate": { + "$ref": "./examples/ServerUpdate.json" + }, + "ServerUpdateWithCustomerMaintenanceWindow": { + "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" + } + }, + "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServerForUpdate" + }, + "description": "The required parameters for updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Delete", + "x-ms-examples": { + "ServerDelete": { + "$ref": "./examples/ServerDelete.json" + } + }, + "description": "Deletes a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_Get", + "x-ms-examples": { + "ServerGet": { + "$ref": "./examples/ServerGet.json" + }, + "ServerGetWithVnet": { + "$ref": "./examples/ServerGetWithVnet.json" + } + }, + "description": "Gets information about a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Server" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_ListByResourceGroup", + "x-ms-examples": { + "ServerListByResourceGroup": { + "$ref": "./examples/ServerListByResourceGroup.json" + } + }, + "description": "List all the servers in a given resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/flexibleServers": { + "get": { + "tags": [ + "Servers" + ], + "operationId": "Servers_List", + "x-ms-examples": { + "ServerList": { + "$ref": "./examples/ServerList.json" + } + }, + "description": "List all the servers in a given subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/restart": { + "post": { + "tags": [ + "ServerRestart" + ], + "operationId": "Servers_Restart", + "x-ms-examples": { + "ServerRestart": { + "$ref": "./examples/ServerRestart.json" + } + }, + "description": "Restarts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/start": { + "post": { + "tags": [ + "ServerStart" + ], + "operationId": "Servers_Start", + "x-ms-examples": { + "ServerStart": { + "$ref": "./examples/ServerStart.json" + } + }, + "description": "Starts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/stop": { + "post": { + "tags": [ + "ServerStop" + ], + "operationId": "Servers_Stop", + "x-ms-examples": { + "ServerStop": { + "$ref": "./examples/ServerStop.json" + } + }, + "description": "Stops a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": { + "put": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_CreateOrUpdate", + "x-ms-examples": { + "FirewallRuleCreate": { + "$ref": "./examples/FirewallRuleCreate.json" + } + }, + "description": "Creates a new firewall rule or updates an existing firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/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": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Delete", + "x-ms-examples": { + "FirewallRuleDelete": { + "$ref": "./examples/FirewallRuleDelete.json" + } + }, + "description": "Deletes a PostgreSQL server firewall rule.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/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": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Get", + "x-ms-examples": { + "FirewallRuleList": { + "$ref": "./examples/FirewallRuleGet.json" + } + }, + "description": "List all the firewall rules in a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/firewallRules": { + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_ListByServer", + "x-ms-examples": { + "FirewallRuleList": { + "$ref": "./examples/FirewallRuleListByServer.json" + } + }, + "description": "List all the firewall rules in a given PostgreSQL server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/configurations": { + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_ListByServer", + "x-ms-examples": { + "ConfigurationList": { + "$ref": "./examples/ConfigurationListByServer.json" + } + }, + "description": "List all the configurations in a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/configurations/{configurationName}": { + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Get", + "x-ms-examples": { + "ConfigurationGet": { + "$ref": "./examples/ConfigurationGet.json" + } + }, + "description": "Gets information about a configuration of server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/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": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/keys": { + "get": { + "tags": [ + "ServerKeys" + ], + "description": "Gets a list of Server keys.", + "operationId": "ServerKeys_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of PostgreSQL Server keys.", + "schema": { + "$ref": "#/definitions/ServerKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the keys for a PostgreSQL Server.": { + "$ref": "./examples/ServerKeyList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSql/flexibleServers/{serverName}/keys/{keyName}": { + "get": { + "tags": [ + "ServerKeys" + ], + "description": "Gets a PostgreSQL Server key.", + "operationId": "ServerKeys_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the PostgreSQL Server key to be retrieved.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified PostgreSQL Server key.", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get the PostgreSQL Server key": { + "$ref": "./examples/ServerKeyGet.json" + } + } + }, + "put": { + "tags": [ + "ServerKeys" + ], + "description": "Creates or updates a PostgreSQL Server key.", + "operationId": "ServerKeys_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the PostgreSQL Server key to be operated on (updated or created).", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested PostgreSQL Server key resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the PostgreSQL Server key.", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "202": { + "description": "Operation in progress", + "schema": { + "$ref": "#/definitions/ServerKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a PostgreSQL Server key": { + "$ref": "./examples/ServerKeyCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServerKeys" + ], + "description": "Deletes the PostgreSQL Server key with the given name.", + "operationId": "ServerKeys_Delete", + "parameters": [ + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the PostgreSQL Server key to be deleted.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the PostgreSQL Server key." + }, + "202": { + "description": "Operation in progress" + }, + "204": { + "description": "The specified PostgreSQL Server key does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the PostgreSQL Server key": { + "$ref": "./examples/ServerKeyDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/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/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSql/locations/{locationName}/capabilities": { + "get": { + "tags": [ + "LocationBasedCapabilities" + ], + "operationId": "LocationBasedCapabilities_Execute", + "x-ms-examples": { + "CapabilitiesList": { + "$ref": "./examples/CapabilitiesByLocation.json" + } + }, + "description": "Get capabilities at specified location in a given subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + } + ], + "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}/providers/Microsoft.DBForPostgreSql/locations/{locationName}/checkVirtualNetworkSubnetUsage": { + "post": { + "tags": [ + "VirtualNetworkSubnetUsage" + ], + "operationId": "VirtualNetworkSubnetUsage_Execute", + "x-ms-examples": { + "VirtualNetworkSubnetUsageList": { + "$ref": "./examples/VirtualNetworkSubnetUsage.json" + } + }, + "description": "Get virtual network subnet usage for a given vNet resource id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageParameter" + }, + "description": "The required parameters for creating or updating a server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualNetworkSubnetUsageResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.DBForPostgreSql/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationList": { + "$ref": "./examples/OperationList.json" + } + }, + "description": "Lists all of the available REST API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ServerKeyListResult": { + "description": "A list of PostgreSQL Server keys.", + "type": "object", + "properties": { + "value": { + "description": "A list of PostgreSQL Server keys.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerKey" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ServerKeyProperties": { + "description": "Properties for a key execution.", + "required": [ + "serverKeyType" + ], + "type": "object", + "properties": { + "serverKeyType": { + "description": "The key type like 'AzureKeyVault'.", + "enum": [ + "AzureKeyVault" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerKeyType", + "modelAsString": true + } + }, + "uri": { + "description": "The URI of the key.", + "type": "string" + }, + "creationDate": { + "format": "date-time", + "description": "The key creation date.", + "type": "string", + "readOnly": true + } + } + }, + "ServerKey": { + "description": "A PostgreSQL Server key.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Kind of encryption protector used to protect the key.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ServerKeyProperties", + "description": "Properties of the ServerKey Resource.", + "x-ms-client-flatten": true + } + } + }, + "VirtualNetworkSubnetUsageParameter": { + "type": "object", + "properties": { + "virtualNetworkArmResourceId": { + "type": "string", + "description": "Virtual network resource id." + } + }, + "description": "Virtual network subnet usage parameter" + }, + "VirtualNetworkSubnetUsageResult": { + "type": "object", + "properties": { + "delegatedSubnetsUsage": { + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedSubnetUsage" + }, + "readOnly": true + } + }, + "description": "Virtual network subnet usage data." + }, + "DelegatedSubnetUsage": { + "type": "object", + "properties": { + "subnetName": { + "type": "string", + "readOnly": true, + "description": "name of the subnet" + }, + "usage": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Number of used delegated subnets" + } + }, + "description": "Delegated subnet usage data." + }, + "StorageMBCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "storage MB name", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "storageSizeMB": { + "type": "integer", + "format": "int64", + "description": "storage size in MB", + "readOnly": true + } + }, + "description": "storage size in MB capability" + }, + "VcoreCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "vCore name", + "readOnly": true + }, + "vCores": { + "type": "integer", + "format": "int64", + "description": "supported vCores", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "supportedMemoryPerVcoreMB": { + "type": "integer", + "format": "int64", + "description": "supported memory per vCore in MB", + "readOnly": true + } + }, + "description": "Vcores capability" + }, + "ServerVersionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "server version", + "readOnly": true + }, + "supportedVcores": { + "type": "array", + "items": { + "$ref": "#/definitions/VcoreCapability" + }, + "readOnly": true + } + }, + "description": "Server version capabilities." + }, + "StorageEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "storage edition name", + "readOnly": true + }, + "supportedStorageMB": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageMBCapability" + }, + "readOnly": true + } + }, + "description": "storage edition capability" + }, + "ServerEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "Server edition name", + "readOnly": true + }, + "supportedStorageEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "readOnly": true + }, + "supportedServerVersions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "readOnly": true + } + }, + "description": "Server edition capabilities." + }, + "CapabilityProperties": { + "properties": { + "zone": { + "type": "string", + "description": "zone name", + "readOnly": true + }, + "supportedFlexibleServerEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerEditionCapability" + }, + "readOnly": true + } + }, + "description": "Location capabilities." + }, + "CapabilitiesListResult": { + "type": "object", + "properties": { + "value": { + "description": "A list of supported capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityProperties" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + }, + "description": "location capability" + }, + "ServerVersion": { + "type": "string", + "description": "The version of a server.", + "enum": [ + "12", + "11" + ], + "x-ms-enum": { + "name": "ServerVersion", + "modelAsString": true + } + }, + "ServerProperties": { + "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "administratorLoginPassword": { + "type": "string", + "description": "The administrator login password (required for server creation).", + "x-ms-secret": true, + "format": "password", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "version": { + "$ref": "#/definitions/ServerVersion", + "description": "PostgreSQL Server version." + }, + "state": { + "type": "string", + "description": "A state of a server that is visible to user.", + "readOnly": true, + "enum": [ + "Ready", + "Dropping", + "Disabled", + "Starting", + "Stopping", + "Stopped", + "Updating" + ], + "x-ms-enum": { + "name": "ServerState", + "modelAsString": true + } + }, + "haState": { + "type": "string", + "description": "A state of a HA server that is visible to user.", + "enum": [ + "NotEnabled", + "CreatingStandby", + "ReplicatingData", + "FailingOver", + "Healthy", + "RemovingStandby" + ], + "readOnly": true, + "x-ms-enum": { + "name": "ServerHAState", + "modelAsString": true + } + }, + "fullyQualifiedDomainName": { + "type": "string", + "description": "The fully qualified domain name of a server.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The display name of a server." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage profile of a server." + }, + "publicNetworkAccess": { + "type": "string", + "description": "public network access is enabled or not", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ServerPublicNetworkAccessState", + "modelAsString": true + }, + "readOnly": true + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, + "haEnabled": { + "type": "string", + "description": "stand by count value can be either enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HAEnabledEnum", + "modelAsString": false + } + }, + "sourceServerName": { + "type": "string", + "description": "The source PostgreSQL server name to restore from." + }, + "pointInTimeUTC": { + "type": "string", + "format": "date-time", + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from." + }, + "availabilityZone": { + "type": "string", + "description": "availability Zone information of the server." + }, + "standbyAvailabilityZone": { + "type": "string", + "description": "availability Zone information of the server.", + "readOnly": true + }, + "byokEnforcement": { + "type": "string", + "description": "Status showing whether the data encryption is enabled with customer-managed keys.", + "readOnly": true + }, + "delegatedSubnetArguments": { + "properties": { + "subnetArmResourceId": { + "type": "string", + "description": "delegated subnet arm resource id." + } + } + }, + "createMode": { + "type": "string", + "description": "The mode to create a new PostgreSQL server.", + "enum": [ + "Default", + "PointInTimeRestore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + }, + "description": "The properties of a server." + }, + "Server": { + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Identity", + "description": "The Azure Active Directory identity of the server." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerProperties", + "x-ms-client-flatten": true, + "description": "Properties of the server." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Represents a server." + }, + "MaintenanceWindow": { + "type": "object", + "description": "Maintenance window of a server.", + "properties": { + "customWindow": { + "type": "string", + "description": "indicates whether custom window is enabled or disabled" + }, + "startHour": { + "type": "integer", + "format": "int32", + "description": "start hour for maintenance window" + }, + "startMinute": { + "type": "integer", + "format": "int32", + "description": "start minute for maintenance window" + }, + "dayOfWeek": { + "type": "integer", + "format": "int32", + "description": "day of week for maintenance window" + } + } + }, + "ServerPropertiesForUpdate": { + "properties": { + "administratorLoginPassword": { + "type": "string", + "format": "password", + "description": "The password of the administrator login." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Storage profile of a server." + }, + "haEnabled": { + "type": "string", + "description": "stand by count value can be either enabled or disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HAEnabledEnum", + "modelAsString": false + } + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + } + } + }, + "ServerForUpdate": { + "properties": { + "location": { + "type": "string", + "description": "The location the resource resides in." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerPropertiesForUpdate", + "x-ms-client-flatten": true, + "description": "Properties of the server." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + }, + "description": "Represents a server to be updated." + }, + "ServerListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Server" + }, + "description": "The list of flexible servers" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of servers." + }, + "StorageProfile": { + "properties": { + "backupRetentionDays": { + "type": "integer", + "format": "int32", + "description": "Backup retention days for the server." + }, + "storageMB": { + "type": "integer", + "format": "int32", + "description": "Max storage allowed for a server." + } + }, + "description": "Storage Profile properties of a server" + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3." + }, + "tier": { + "type": "string", + "description": "The tier of the particular SKU, e.g. Burstable.", + "enum": [ + "Burstable", + "GeneralPurpose", + "MemoryOptimized" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + } + } + }, + "required": [ + "name", + "tier" + ], + "description": "Sku information related properties of a server." + }, + "FirewallRuleProperties": { + "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": { + "properties": { + "properties": { + "$ref": "#/definitions/FirewallRuleProperties", + "x-ms-client-flatten": true, + "description": "The properties of a firewall rule." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/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." + }, + "ConfigurationProperties": { + "properties": { + "value": { + "type": "string", + "description": "Value of the configuration." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the configuration." + }, + "defaultValue": { + "type": "string", + "readOnly": true, + "description": "Default value of the configuration." + }, + "dataType": { + "type": "string", + "readOnly": true, + "description": "Data type of the configuration.", + "enum": [ + "Boolean", + "Numeric", + "Integer", + "Enumeration" + ], + "x-ms-enum": { + "name": "ConfigurationDataType", + "modelAsString": true + } + }, + "allowedValues": { + "type": "string", + "readOnly": true, + "description": "Allowed values of the configuration." + }, + "source": { + "type": "string", + "description": "Source of the configuration." + } + }, + "description": "The properties of a configuration." + }, + "Configuration": { + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "x-ms-client-flatten": true, + "description": "The properties of a configuration." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/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." + }, + "OperationDisplay": { + "properties": { + "provider": { + "type": "string", + "readOnly": true, + "description": "Operation resource provider name." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "Resource on which the operation is performed." + }, + "operation": { + "type": "string", + "readOnly": true, + "description": "Localized friendly name for the operation." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Operation description." + } + }, + "description": "Display metadata associated with the operation." + }, + "Operation": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation being performed on this particular object." + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "readOnly": true, + "description": "The localized display information for this particular operation or action." + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The intended executor of the operation.", + "enum": [ + "NotSpecified", + "user", + "system" + ], + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false, + "description": "Additional descriptions for the operation." + } + }, + "description": "REST API operation definition." + }, + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "The list of resource provider operations." + } + }, + "description": "A list of resource provider operations." + }, + "NameAvailabilityRequest": { + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Resource name to verify." + }, + "type": { + "type": "string", + "description": "Resource type used for verification." + } + }, + "description": "Request from client to check resource name availability." + }, + "NameAvailability": { + "properties": { + "message": { + "type": "string", + "description": "Error Message." + }, + "nameAvailable": { + "type": "boolean", + "description": "Indicates whether the resource name is available." + }, + "name": { + "type": "string", + "description": "name of the PostgreSQL server." + }, + "type": { + "type": "string", + "description": "type of the server" + } + }, + "description": "Represents a resource name availability." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "An error response from the Batch service." + } + }, + "parameters": { + "LocationNameParameter": { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the location.", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "x-ms-parameter-location": "method" + }, + "FirewallRuleNameParameter": { + "name": "firewallRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server firewall rule.", + "x-ms-parameter-location": "method" + }, + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server configuration.", + "x-ms-parameter-location": "method" + }, + "MaintenanceWindowNameParameter": { + "name": "maintenanceWindowName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance window.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json new file mode 100644 index 000000000000..e67b54dacf08 --- /dev/null +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json @@ -0,0 +1,242 @@ +{ + "swagger": "2.0", + "info": { + "version": "2017-12-01", + "title": "PostgreSQLManagementClient", + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files, encryption keys, active directory administrator and configurations." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Get a server's security alert policy.", + "operationId": "ServerSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "Error response describing why the operation of getting security alert policies failed." + } + }, + "x-ms-examples": { + "Get a server's threat detection policy": { + "$ref": "./examples/ServerSecurityAlertsGet.json" + } + } + }, + "put": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Creates or updates a threat detection policy.", + "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the threat detection policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The server security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "Error response describing why the operation of setting security alert policies failed." + }, + "202": { + "description": "Created request to set the server threat detection policy." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server's threat detection policy with all parameters": { + "$ref": "./examples/ServerSecurityAlertsCreateMax.json" + }, + "Update a server's threat detection policy with minimal parameters": { + "$ref": "./examples/ServerSecurityAlertsCreateMin.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ServerSecurityAlertPolicyState", + "modelAsString": false + } + }, + "disabledAlerts": { + "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly", + "type": "array", + "items": { + "type": "string" + } + }, + "emailAddresses": { + "description": "Specifies an array of e-mail addresses to which the alert is sent.", + "type": "array", + "items": { + "type": "string" + } + }, + "emailAccountAdmins": { + "description": "Specifies that the alert is sent to the account administrators.", + "type": "boolean" + }, + "storageEndpoint": { + "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.", + "type": "string" + }, + "storageAccountAccessKey": { + "description": "Specifies the identifier key of the Threat Detection audit storage account.", + "type": "string" + }, + "retentionDays": { + "format": "int32", + "description": "Specifies the number of days to keep in the Threat Detection audit logs.", + "type": "integer" + } + } + }, + "ServerSecurityAlertPolicy": { + "description": "A server security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server.", + "x-ms-parameter-location": "method" + }, + "SecurityAlertPolicyNameParameter": { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json index 8c229dbd192f..1ff32eaa3e4a 100644 --- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json +++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}": { "put": { "tags": [ "Servers" @@ -217,7 +217,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers": { "get": { "tags": [ "Servers" @@ -253,7 +253,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/servers": { "get": { "tags": [ "Servers" @@ -286,7 +286,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Replicas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/Replicas": { "get": { "tags": [ "Replicas" @@ -325,7 +325,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/restart": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/restart": { "post": { "tags": [ "ServerRestart" @@ -368,7 +368,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -504,7 +504,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -543,7 +543,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { "get": { "tags": [ "VirtualNetworkRules" @@ -688,7 +688,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/virtualNetworkRules": { "get": { "tags": [ "VirtualNetworkRules" @@ -730,7 +730,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/databases/{databaseName}": { "put": { "tags": [ "Databases" @@ -866,7 +866,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/databases": { "get": { "tags": [ "Databases" @@ -905,7 +905,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/configurations/{configurationName}": { "put": { "tags": [ "Configurations" @@ -994,7 +994,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/configurations": { "get": { "tags": [ "Configurations" @@ -1033,7 +1033,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/logFiles": { "get": { "tags": [ "LogFiles" @@ -1072,7 +1072,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Administrators/activeDirectory": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/Administrators/activeDirectory": { "get": { "tags": [ "ServerAdministrators" @@ -1214,7 +1214,7 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForPostgreSQL/servers/{serverName}/administrators": { "get": { "tags": [ "ServerAdministrators" @@ -1259,7 +1259,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/locations/{locationName}/performanceTiers": { "get": { "tags": [ "LocationBasedPerformanceTier" @@ -1295,7 +1295,7 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBForPostgreSQL/checkNameAvailability": { "post": { "tags": [ "CheckNameAvailability" @@ -1334,127 +1334,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get a server's security alert policy.", - "operationId": "ServerSecurityAlertPolicies_Get", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the security alert policy.", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "SecurityAlertPolicyName", - "modelAsString": true - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the server threat detection policy.", - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - "default": { - "description": "Error response describing why the operation of getting security alert policies failed." - } - }, - "x-ms-examples": { - "Get a server's threat detection policy": { - "$ref": "./examples/ServerSecurityAlertsGet.json" - } - } - }, - "put": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Creates or updates a threat detection policy.", - "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the threat detection policy.", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "SecurityAlertPolicyName", - "modelAsString": true - } - }, - { - "name": "parameters", - "in": "body", - "description": "The server security alert policy.", - "required": true, - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the threat detection policy.", - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - "default": { - "description": "Error response describing why the operation of setting security alert policies failed." - }, - "202": { - "description": "Created request to set the server threat detection policy." - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Update a server's threat detection policy with all parameters": { - "$ref": "./examples/ServerSecurityAlertsCreateMax.json" - }, - "Update a server's threat detection policy with minimal parameters": { - "$ref": "./examples/ServerSecurityAlertsCreateMin.json" - } - } - } - }, - "/providers/Microsoft.DBforPostgreSQL/operations": { + "/providers/Microsoft.DBForPostgreSQL/operations": { "get": { "tags": [ "Operations" @@ -1654,30 +1534,6 @@ } } }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", - "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] - }, "ServerProperties": { "properties": { "administratorLogin": { @@ -1964,6 +1820,9 @@ "description": "The family of hardware." } }, + "required": [ + "name" + ], "description": "Billing information related properties of a server." }, "ResourceIdentity": { @@ -2013,7 +1872,7 @@ }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." @@ -2571,74 +2430,6 @@ }, "description": "Represents a resource name availability." }, - "SecurityAlertPolicyProperties": { - "description": "Properties of a security alert policy.", - "required": [ - "state" - ], - "type": "object", - "properties": { - "state": { - "description": "Specifies the state of the policy, whether it is enabled or disabled.", - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "name": "ServerSecurityAlertPolicyState", - "modelAsString": false - } - }, - "disabledAlerts": { - "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly", - "type": "array", - "items": { - "type": "string" - } - }, - "emailAddresses": { - "description": "Specifies an array of e-mail addresses to which the alert is sent.", - "type": "array", - "items": { - "type": "string" - } - }, - "emailAccountAdmins": { - "description": "Specifies that the alert is sent to the account administrators.", - "type": "boolean" - }, - "storageEndpoint": { - "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.", - "type": "string" - }, - "storageAccountAccessKey": { - "description": "Specifies the identifier key of the Threat Detection audit storage account.", - "type": "string" - }, - "retentionDays": { - "format": "int32", - "description": "Specifies the number of days to keep in the Threat Detection audit logs.", - "type": "integer" - } - } - }, - "ServerSecurityAlertPolicy": { - "description": "A server security alert policy.", - "type": "object", - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SecurityAlertPolicyProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - } - } - }, "CloudError": { "x-ms-external": true, "properties": { @@ -2759,17 +2550,6 @@ "type": "string", "description": "The name of the location.", "x-ms-parameter-location": "method" - }, - "SecurityAlertPolicyNameParameter": { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the security alert policy.", - "required": true, - "type": "string", - "enum": [ - "default" - ], - "x-ms-parameter-location": "method" } } } diff --git a/specification/postgresql/resource-manager/readme.azureresourceschema.md b/specification/postgresql/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..dc4fa2f7b514 --- /dev/null +++ b/specification/postgresql/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,62 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-dbforpostgresql-2020-01-01 + - tag: schema-dbforpostgresql-2018-06-01 + - tag: schema-dbforpostgresql-2017-12-01-preview + - tag: schema-dbforpostgresql-2017-12-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-dbforpostgresql-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbforpostgresql-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforPostgreSQL/stable/2020-01-01/DataEncryptionKeys.json + +``` + +### Tag: schema-dbforpostgresql-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbforpostgresql-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json + - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json + +``` + +### Tag: schema-dbforpostgresql-2017-12-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-dbforpostgresql-2017-12-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json + +``` + +### Tag: schema-dbforpostgresql-2017-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-dbforpostgresql-2017-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json + - Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json + +``` diff --git a/specification/postgresql/resource-manager/readme.md b/specification/postgresql/resource-manager/readme.md index 115fef7db845..af66caa06f89 100644 --- a/specification/postgresql/resource-manager/readme.md +++ b/specification/postgresql/resource-manager/readme.md @@ -31,6 +31,16 @@ openapi-type: arm tag: package-2020-01-01 ``` +### Tag: package-2020-02-14-privatepreview + +These settings apply only when `--tag=package-2020-02-14-privatepreview` is specified on the command line. + + +``` yaml $(tag) == 'package-2020-02-14-privatepreview' +input-file: +- Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json +``` + ### Tag: package-2020-01-01-privatepreview These settings apply only when `--tag=package-2020-01-01-privatepreview` is specified on the command line. @@ -50,6 +60,7 @@ These settings apply only when `--tag=package-2020-01-01` is specified on the co ``` yaml $(tag) == 'package-2020-01-01' input-file: - Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json +- Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json - Microsoft.DBforPostgreSQL/stable/2020-01-01/DataEncryptionKeys.json @@ -75,6 +86,7 @@ These settings apply only when `--tag=package-2018-06-01` is specified on the co ``` yaml $(tag) == 'package-2018-06-01' input-file: - Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json +- Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json - Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json ``` @@ -90,6 +102,7 @@ input-file: - Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json ``` + ### Tag: package-2017-12-01 These settings apply only when `--tag=package-2017-12-01` is specified on the command line. @@ -98,8 +111,16 @@ These settings apply only when `--tag=package-2017-12-01` is specified on the co ``` yaml $(tag) == 'package-2017-12-01' input-file: - Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json +- Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json ``` +## Suppression +``` yaml +directive: + - suppress: PathResourceProviderNamePascalCase + from: ServerSecurityAlertPolicies.json + reason: The name of the provider is DBforPostgreSQL +``` --- # Code Generation @@ -118,6 +139,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js postgresql/resource-manager ``` ### C# @@ -170,6 +194,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -182,8 +210,10 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2020-02-14-privatepreview/postgresql.json - $(this-folder)/Microsoft.DBforPostgreSQL/preview/2020-01-01-privatepreview/DataEncryptionKeys.json - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json + - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2017-12-01/ServerSecurityAlertPolicies.json - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateEndpointConnections.json - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2018-06-01/PrivateLinkResources.json - $(this-folder)/Microsoft.DBforPostgreSQL/stable/2020-01-01/DataEncryptionKeys.json diff --git a/specification/powerbidedicated/resource-manager/readme.azureresourceschema.md b/specification/powerbidedicated/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0a9fe7a5e2bf --- /dev/null +++ b/specification/powerbidedicated/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-powerbidedicated-2017-10-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-powerbidedicated-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-powerbidedicated-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PowerBIdedicated/stable/2017-10-01/powerbidedicated.json + +``` diff --git a/specification/powerbidedicated/resource-manager/readme.md b/specification/powerbidedicated/resource-manager/readme.md index 4c4478c3404a..ce7861a7f87a 100644 --- a/specification/powerbidedicated/resource-manager/readme.md +++ b/specification/powerbidedicated/resource-manager/readme.md @@ -55,6 +55,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-sdk-for-python + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js powerbidedicated/resource-manager ``` ## C# @@ -115,6 +118,10 @@ See configuration in [readme.python.md](./readme.python.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/powerbiembedded/resource-manager/readme.azureresourceschema.md b/specification/powerbiembedded/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8fdb893fe252 --- /dev/null +++ b/specification/powerbiembedded/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-powerbi-2016-01-29 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-powerbi-2016-01-29 and azureresourceschema + +``` yaml $(tag) == 'schema-powerbi-2016-01-29' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.PowerBI/stable/2016-01-29/powerbiembedded.json + +``` diff --git a/specification/powerbiembedded/resource-manager/readme.md b/specification/powerbiembedded/resource-manager/readme.md index 15f724cc783d..ec04459cdfa5 100644 --- a/specification/powerbiembedded/resource-manager/readme.md +++ b/specification/powerbiembedded/resource-manager/readme.md @@ -60,6 +60,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_powerbi_embedded'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js powerbiembedded/resource-manager ``` @@ -113,6 +116,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/privatedns/resource-manager/readme.azureresourceschema.md b/specification/privatedns/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a79694033197 --- /dev/null +++ b/specification/privatedns/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2018-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2018-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-09-01/privatedns.json + +``` diff --git a/specification/privatedns/resource-manager/readme.md b/specification/privatedns/resource-manager/readme.md index 26b82cf0d38c..903eec7e021a 100644 --- a/specification/privatedns/resource-manager/readme.md +++ b/specification/privatedns/resource-manager/readme.md @@ -53,6 +53,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js privatedns/resource-manager ``` ## C# @@ -135,6 +138,10 @@ directive: reason: Common types warning. ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/recoveryservices/resource-manager/readme.azureresourceschema.md b/specification/recoveryservices/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..11cf9bda0ebb --- /dev/null +++ b/specification/recoveryservices/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,27 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-recoveryservices-2016-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-recoveryservices-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-06-01/registeredidentities.json + - Microsoft.RecoveryServices/stable/2016-06-01/replicationusages.json + - Microsoft.RecoveryServices/stable/2016-06-01/vaults.json + - Microsoft.RecoveryServices/stable/2016-06-01/vaultusages.json + +``` diff --git a/specification/recoveryservices/resource-manager/readme.md b/specification/recoveryservices/resource-manager/readme.md index e6c765cbb05b..cc9d01439c78 100644 --- a/specification/recoveryservices/resource-manager/readme.md +++ b/specification/recoveryservices/resource-manager/readme.md @@ -74,6 +74,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_recovery_services'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js recoveryservices/resource-manager ``` @@ -132,6 +135,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json index d9b32439141c..95ce71d92a45 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2019-06-15/bms.json @@ -1302,32 +1302,6 @@ "modelAsString": true } }, - "healthStatus": { - "description": "Health status of protected item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Healthy", - "TransientDegraded", - "PersistentDegraded", - "TransientUnhealthy", - "PersistentUnhealthy", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthStatus", - "modelAsString": true - } - }, - "healthDetails": { - "description": "Health details on this backup item.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthDetails" - } - }, "lastBackupStatus": { "description": "Last backup operation status. Possible values: Healthy, Unhealthy.", "type": "string" @@ -1337,6 +1311,13 @@ "description": "Timestamp of the last backup operation on this backup item.", "type": "string" }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, "extendedInfo": { "$ref": "#/definitions/AzureFileshareProtectedItemExtendedInfo", "description": "Additional information with this backup item." @@ -1630,7 +1611,7 @@ } } }, - "HealthDetails": { + "ResourceHealthDetails": { "description": "Health Details for backup items.", "type": "object", "properties": { @@ -1665,7 +1646,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/HealthDetails" + "$ref": "#/definitions/ResourceHealthDetails" } ] }, @@ -1837,16 +1818,11 @@ } }, "healthStatus": { - "description": "Health status of protected item", + "description": "Health status of protected item.", "enum": [ "Passed", "ActionRequired", "ActionSuggested", - "Healthy", - "TransientDegraded", - "PersistentDegraded", - "TransientUnhealthy", - "PersistentUnhealthy", "Invalid" ], "type": "string", @@ -1862,6 +1838,13 @@ "$ref": "#/definitions/AzureIaaSVMHealthDetails" } }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, "lastBackupStatus": { "description": "Last backup operation status.", "type": "string" @@ -2208,35 +2191,16 @@ "modelAsString": true } }, - "healthStatus": { - "description": "Health status of protected item.", - "enum": [ - "Passed", - "ActionRequired", - "ActionSuggested", - "Healthy", - "TransientDegraded", - "PersistentDegraded", - "TransientUnhealthy", - "PersistentUnhealthy", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "name": "HealthStatus", - "modelAsString": true - } - }, - "healthDetails": { - "description": "Health details on this backup item.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthDetails" - } - }, "extendedInfo": { "$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo", "description": "Additional information for this backup item." + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } } }, "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem" @@ -4093,6 +4057,35 @@ }, "discriminator": "objectType" }, + "KPIResourceHealthDetails": { + "description": "KPI Resource Health Details", + "type": "object", + "properties": { + "resourceHealthStatus": { + "description": "Resource Health Status", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceHealthStatus", + "modelAsString": true + } + }, + "resourceHealthDetails": { + "description": "Resource Health Status", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + } + } + } + }, "OperationResultInfoBaseResource": { "description": "Base class for operation result info.", "allOf": [ diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json new file mode 100644 index 000000000000..5cf3367e2e17 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/bms.json @@ -0,0 +1,460 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-01", + "title": "RecoveryServicesBackupClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { + "tags": [ + "DataMove" + ], + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../2020-02-02/bms.json#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Prepare data move request", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "get": { + "tags": [ + "BMSPrepareDataMoveOperationResult" + ], + "description": "Fetches Operation Result for Prepare Data Move", + "operationId": "BMSPrepareDataMoveOperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. ", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Get operation result for PrepareDataMove": { + "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Trigger data move request", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.json" + } + } + } + } + }, + "definitions": { + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NewErrorResponse" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "VaultStorageConfigOperationResultResponse": { + "description": "Operation result response for Vault Storage Config", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "PrepareDataMoveRequest": { + "description": "Prepare DataMove Request", + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ], + "type": "object", + "properties": { + "targetResourceId": { + "description": "ARM Id of target vault", + "type": "string" + }, + "targetRegion": { + "description": "Target Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreMoved": { + "description": "Ignore the artifacts which are already moved.", + "type": "boolean" + } + } + }, + "PrepareDataMoveResponse": { + "description": "Prepare DataMove Response", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], + "properties": { + "correlationId": { + "description": "Co-relationId for move operation", + "type": "string" + }, + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" + }, + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", + "required": [ + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" + ], + "type": "object", + "properties": { + "sourceResourceId": { + "description": "ARM Id of source vault", + "type": "string" + }, + "sourceRegion": { + "description": "Source Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "correlationId": { + "description": "Correlation Id", + "type": "string" + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds", + "type": "array", + "items": { + "type": "string" + } + }, + "pauseGC": { + "description": "Pause GC", + "type": "boolean" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json new file mode 100644 index 000000000000..6fa5b56b594b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json new file mode 100644 index 000000000000..288110e5d164 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-07-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + }, + "200": { + "body": { + "objectType": "" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/PrepareDataMove_Post.json new file mode 100644 index 000000000000..f34889a19780 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/PrepareDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "api-version": "2020-07-01-preview", + "parameters": { + "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv", + "targetRegion": "USGov Virginia", + "dataMoveLevel": "Vault" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/TriggerDataMove_Post.json new file mode 100644 index 000000000000..f4eab59a3d39 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2020-07-01/examples/BackupDataMove/TriggerDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "targetRG", + "vaultName": "target-rsv", + "api-version": "2020-07-01-preview", + "parameters": { + "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv", + "sourceRegion": "USGov Iowa", + "dataMoveLevel": "Vault", + "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE=" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/readme.azureresourceschema.md b/specification/recoveryservicesbackup/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..32e881468034 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,121 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-recoveryservices-2020-07-01 + - tag: schema-recoveryservices-2020-02-02 + - tag: schema-recoveryservices-2019-06-15 + - tag: schema-recoveryservices-2019-05-13 + - tag: schema-recoveryservices-2018-12-20 + - tag: schema-recoveryservices-2017-07-01 + - tag: schema-recoveryservices-2016-12-01 + - tag: schema-recoveryservices-2016-08-10 + - tag: schema-recoveryservices-2016-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-recoveryservices-2020-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2020-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2020-07-01/bms.json + +``` + +### Tag: schema-recoveryservices-2020-02-02 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2020-02-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2020-02-02/bms.json + +``` + +### Tag: schema-recoveryservices-2019-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2019-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2019-06-15/bms.json + +``` + +### Tag: schema-recoveryservices-2019-05-13 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2019-05-13' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2019-05-13/bms.json + +``` + +### Tag: schema-recoveryservices-2018-12-20 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2018-12-20' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2018-12-20/bms.json + +``` + +### Tag: schema-recoveryservices-2017-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2017-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2017-07-01/bms.json + +``` + +### Tag: schema-recoveryservices-2016-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-12-01/bms.json + +``` + +### Tag: schema-recoveryservices-2016-08-10 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-08-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-08-10/operations.json + +``` + +### Tag: schema-recoveryservices-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-06-01/recoveryservicesbackup.json + - Microsoft.RecoveryServices/stable/2016-06-01/registeredIdentities.json + +``` diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index fcb830f7613c..e52138ea1368 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the RecoveryServicesBackup API. title: Recovery Services Backup Client description: Open API 2.0 Specs for Azure RecoveryServices Backup service openapi-type: arm -tag: package-2020-02 +tag: package-2020-07 csharp-sdks-folder: ./Generated/CSharp python-sdks-folder: ./Generated/Python go-sdk-folder: ./Generated/Golang @@ -45,6 +45,20 @@ model-validator: true semantic-validator: true message-format: json ``` +### Tag: package-2020-07 + +These settings apply only when `--tag=package-2020-07` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07' +input-file: +- Microsoft.RecoveryServices/stable/2020-07-01/bms.json +- Microsoft.RecoveryServices/stable/2020-02-02/bms.json +- Microsoft.RecoveryServices/stable/2019-06-15/bms.json +- Microsoft.RecoveryServices/stable/2017-07-01/bms.json +- Microsoft.RecoveryServices/stable/2016-12-01/bms.json +- Microsoft.RecoveryServices/stable/2016-08-10/operations.json +``` + ### Tag: package-2020-02 These settings apply only when `--tag=package-2020-02` is specified on the command line. @@ -152,6 +166,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_recovery_services_backup'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js recoveryservicesbackup/resource-manager ``` @@ -178,6 +195,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -190,6 +211,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.RecoveryServices/stable/2020-07-01/bms.json - $(this-folder)/Microsoft.RecoveryServices/stable/2020-02-02/bms.json - $(this-folder)/Microsoft.RecoveryServices/stable/2019-06-15/bms.json - $(this-folder)/Microsoft.RecoveryServices/stable/2017-07-01/bms.json diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json index 87ed21684413..6d3e7e1a43e0 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-01-10/service.json @@ -16258,6 +16258,10 @@ "description": "The target availability set ARM Id.", "type": "string" }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, "targetBootDiagnosticsStorageAccountId": { "description": "The target boot diagnostics storage account ARM Id.", "type": "string" @@ -16325,6 +16329,16 @@ "type": "string", "readOnly": true }, + "firmwareType": { + "description": "The firmware type.", + "type": "string", + "readOnly": true + }, + "targetGeneration": { + "description": "The target generation.", + "type": "string", + "readOnly": true + }, "licenseType": { "description": "License Type of the VM to be used.", "type": "string" @@ -16360,6 +16374,10 @@ "description": "The target availability set Id.", "type": "string" }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, "targetBootDiagnosticsStorageAccountId": { "description": "The target boot diagnostics storage account ARM Id.", "type": "string" @@ -16770,6 +16788,10 @@ "description": "The target availability set ARM Id.", "type": "string" }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, "targetBootDiagnosticsStorageAccountId": { "description": "The target boot diagnostics storage account ARM Id.", "type": "string" diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.azureresourceschema.md b/specification/recoveryservicessiterecovery/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4e9dff193db3 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-recoveryservices-2018-07-10 + - tag: schema-recoveryservices-2018-01-10 + - tag: schema-recoveryservices-2016-08-10 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-recoveryservices-2018-07-10 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2018-07-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2018-07-10/service.json + +``` + +### Tag: schema-recoveryservices-2018-01-10 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2018-01-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2018-01-10/service.json + +``` + +### Tag: schema-recoveryservices-2016-08-10 and azureresourceschema + +``` yaml $(tag) == 'schema-recoveryservices-2016-08-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RecoveryServices/stable/2016-08-10/service.json + +``` diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.md b/specification/recoveryservicessiterecovery/resource-manager/readme.md index e5313b02ee83..60c7cabd6ef9 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/readme.md +++ b/specification/recoveryservicessiterecovery/resource-manager/readme.md @@ -101,6 +101,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_recovery_services_site_recovery'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js recoveryservicessiterecovery/resource-manager ``` ## C# @@ -126,6 +129,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json index 2baad1416737..9b9900008676 100644 --- a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "title": "Azure Red Hat OpenShift Client", - "description": "Rest API for Azure Red Hat OpenShift", + "title": "Azure Red Hat OpenShift 4 Client", + "description": "Rest API for Azure Red Hat OpenShift 4", "version": "2020-04-30" }, "host": "management.azure.com", @@ -22,7 +22,7 @@ "Operations" ], "summary": "Lists all of the available RP operations.", - "description": "Lists all of the available RP operations. The operation returns the RP operations.", + "description": "The operation returns the RP operations.", "operationId": "Operations_List", "parameters": [ { @@ -59,7 +59,7 @@ "OpenShiftClusters" ], "summary": "Lists OpenShift clusters in the specified subscription.", - "description": "Lists OpenShift clusters in the specified subscription. The operation returns properties of each OpenShift cluster.", + "description": "The operation returns properties of each OpenShift cluster.", "operationId": "OpenShiftClusters_List", "parameters": [ { @@ -99,7 +99,7 @@ "OpenShiftClusters" ], "summary": "Lists OpenShift clusters in the specified subscription and resource group.", - "description": "Lists OpenShift clusters in the specified subscription and resource group. The operation returns properties of each OpenShift cluster.", + "description": "The operation returns properties of each OpenShift cluster.", "operationId": "OpenShiftClusters_ListByResourceGroup", "parameters": [ { @@ -142,7 +142,7 @@ "OpenShiftClusters" ], "summary": "Gets a OpenShift cluster with the specified subscription, resource group and resource name.", - "description": "Gets a OpenShift cluster with the specified subscription, resource group and resource name. The operation returns properties of a OpenShift cluster.", + "description": "The operation returns properties of a OpenShift cluster.", "operationId": "OpenShiftClusters_Get", "parameters": [ { @@ -187,7 +187,7 @@ "OpenShiftClusters" ], "summary": "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name.", - "description": "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name. The operation returns properties of a OpenShift cluster.", + "description": "The operation returns properties of a OpenShift cluster.", "operationId": "OpenShiftClusters_CreateOrUpdate", "parameters": [ { @@ -248,7 +248,7 @@ "OpenShiftClusters" ], "summary": "Deletes a OpenShift cluster with the specified subscription, resource group and resource name.", - "description": "Deletes a OpenShift cluster with the specified subscription, resource group and resource name. The operation returns nothing.", + "description": "The operation returns nothing.", "operationId": "OpenShiftClusters_Delete", "parameters": [ { @@ -294,7 +294,7 @@ "OpenShiftClusters" ], "summary": "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name.", - "description": "Creates or updates a OpenShift cluster with the specified subscription, resource group and resource name. The operation returns properties of a OpenShift cluster.", + "description": "The operation returns properties of a OpenShift cluster.", "operationId": "OpenShiftClusters_Update", "parameters": [ { @@ -357,7 +357,7 @@ "OpenShiftClusters" ], "summary": "Lists credentials of an OpenShift cluster with the specified subscription, resource group and resource name.", - "description": "Lists credentials of an OpenShift cluster with the specified subscription, resource group and resource name. The operation returns the credentials.", + "description": "The operation returns the credentials.", "operationId": "OpenShiftClusters_ListCredentials", "parameters": [ { diff --git a/specification/redhatopenshift/resource-manager/readme.azureresourceschema.md b/specification/redhatopenshift/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0dcb1c1d1fea --- /dev/null +++ b/specification/redhatopenshift/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-redhatopenshift-2020-04-30 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-redhatopenshift-2020-04-30 and azureresourceschema + +``` yaml $(tag) == 'schema-redhatopenshift-2020-04-30' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json + +``` diff --git a/specification/redhatopenshift/resource-manager/readme.md b/specification/redhatopenshift/resource-manager/readme.md index d33bcd5b082c..20385174823d 100644 --- a/specification/redhatopenshift/resource-manager/readme.md +++ b/specification/redhatopenshift/resource-manager/readme.md @@ -53,6 +53,9 @@ swagger-to-sdk: after_scripts: - python ./scripts/multiapi_init_gen.py azure-mgmt-redhatopenshift - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js redhatopenshift/resource-manager ``` ## Go @@ -63,6 +66,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.python.md](./readme.python.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/redis.json index fc67ab980b18..bf48a1064d18 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/preview/2019-07-01/redis.json @@ -1375,7 +1375,7 @@ "capacity": { "type": "integer", "format": "int32", - "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)." + "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4, 5)." } }, "required": [ diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json index 396d8b492a60..4b69d0c92518 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2018-03-01/redis.json @@ -958,7 +958,7 @@ "$ref": "./examples/RedisCachePatchSchedulesCreateOrUpdate.json" } }, - "description": "Create or replace the patching schedule for Redis cache (requires Premium SKU).", + "description": "Create or replace the patching schedule for Redis cache.", "parameters": [ { "name": "resourceGroupName", @@ -1030,7 +1030,7 @@ "$ref": "./examples/RedisCachePatchSchedulesDelete.json" } }, - "description": "Deletes the patching schedule of a redis cache (requires Premium SKU).", + "description": "Deletes the patching schedule of a redis cache.", "parameters": [ { "name": "resourceGroupName", @@ -1087,7 +1087,7 @@ "$ref": "./examples/RedisCachePatchSchedulesGet.json" } }, - "description": "Gets the patching schedule of a redis cache (requires Premium SKU).", + "description": "Gets the patching schedule of a redis cache.", "parameters": [ { "name": "resourceGroupName", @@ -1375,7 +1375,7 @@ "capacity": { "type": "integer", "format": "int32", - "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4)." + "description": "The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4, 5)." } }, "required": [ @@ -1898,7 +1898,7 @@ "dayOfWeek", "startHourUtc" ], - "description": "Patch schedule entry for a Premium Redis Cache." + "description": "Patch schedule entry for a Redis Cache." }, "ScheduleEntries": { "properties": { diff --git a/specification/redis/resource-manager/readme.azureresourceschema.md b/specification/redis/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..d18ffe6ad840 --- /dev/null +++ b/specification/redis/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,84 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-cache-2019-07-01 + - tag: schema-cache-2018-03-01 + - tag: schema-cache-2017-10-01 + - tag: schema-cache-2017-02-01 + - tag: schema-cache-2016-04-01 + - tag: schema-cache-2015-08-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-cache-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/preview/2019-07-01/redis.json + +``` + +### Tag: schema-cache-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2018-03-01/redis.json + +``` + +### Tag: schema-cache-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2017-10-01/redis.json + +``` + +### Tag: schema-cache-2017-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2017-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2017-02-01/redis.json + +``` + +### Tag: schema-cache-2016-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2016-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2016-04-01/redis.json + +``` + +### Tag: schema-cache-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-cache-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Cache/stable/2015-08-01/redis.json + +``` diff --git a/specification/redis/resource-manager/readme.go.md b/specification/redis/resource-manager/readme.go.md index 52c5e1bfa423..77b05defb096 100644 --- a/specification/redis/resource-manager/readme.go.md +++ b/specification/redis/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2019-07-preview - tag: package-2018-03 - tag: package-2017-10 - tag: package-2017-02 @@ -20,6 +21,15 @@ batch: - tag: package-2015-08 ``` +### Tag: package-2019-07-preview and go + +These settings apply only when `--tag=package-2019-07-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-07-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-07-01-preview/$(namespace) +``` + ### Tag: package-2018-03 and go These settings apply only when `--tag=package-2018-03 --go` is specified on the command line. @@ -29,7 +39,6 @@ Please also specify `--go-sdk-folder=`. + +### Tag: schema-migrate-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-migrate-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json + +``` diff --git a/specification/regionmove/resource-manager/readme.csharp.md b/specification/regionmove/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..b7f74831a8c8 --- /dev/null +++ b/specification/regionmove/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.Migrate.ResourceMover + output-folder: $(csharp-sdks-folder)/resourcemover/Microsoft.Azure.Management.Migrate/src/Generated +``` diff --git a/specification/regionmove/resource-manager/readme.go.md b/specification/regionmove/resource-manager/readme.go.md new file mode 100644 index 000000000000..a1604f9f508a --- /dev/null +++ b/specification/regionmove/resource-manager/readme.go.md @@ -0,0 +1,26 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + namespace: resourcemover + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2019-10-01-preview +``` + +### Tag: package-2019-10-01-preview and go + +These settings apply only when `--tag=package-2019-10-01-preview --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2019-10-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-10-01-preview/$(namespace) +``` diff --git a/specification/regionmove/resource-manager/readme.md b/specification/regionmove/resource-manager/readme.md new file mode 100644 index 000000000000..66399702cbaf --- /dev/null +++ b/specification/regionmove/resource-manager/readme.md @@ -0,0 +1,107 @@ +# regionmove + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for regionmove. + +## 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 regionmove. + +```yaml +openapi-type: arm +tag: package-2019-10-01-preview +``` + +### Tag: package-2019-10-01-preview + +These settings apply only when `--tag=package-2019-10-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2019-10-01-preview' +input-file: + - Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_resourcemover'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js regionmove/resource-manager +``` + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Ruby + +See configuration in [readme.ruby.md](./readme.ruby.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + + +## Multi-API/Profile support for AutoRest v3 generators +AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. +This block is updated by an automatic script. Edits may be lost! +``` yaml $(tag) == 'all-api-versions' /* autogenerated */ +# include the azure profile definitions from the standard location +require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +input-file: + - $(this-folder)/Microsoft.Migrate/preview/2019-10-01-preview/regionmovecollection.json + +``` +If there are files that should not be in the `all-api-versions` set, +uncomment the `exclude-file` section below and add the file paths. +``` yaml $(tag) == 'all-api-versions' +#exclude-file: +# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json +``` diff --git a/specification/regionmove/resource-manager/readme.python.md b/specification/regionmove/resource-manager/readme.python.md new file mode 100644 index 000000000000..fc7f313f9e22 --- /dev/null +++ b/specification/regionmove/resource-manager/readme.python.md @@ -0,0 +1,35 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +```yaml $(python) && !$(track2) +python: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 2 + namespace: azure.mgmt.resourcemover + package-name: azure-mgmt-resourcemover + package-version: 0.1.0-preview + clear-output-folder: true +``` + +```yaml $(python) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-resourcemover +clear-output-folder: true +no-namespace-folders: true +package-version: 0.1.0-preview +``` + +```yaml $(python) && $(python-mode) == 'update' +no-namespace-folders: true +output-folder: $(python-sdks-folder)/resourcemover/azure-mgmt-resourcemover/azure/mgmt/resourcemover +``` + +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/resourcemover/azure-mgmt-resourcemover +``` diff --git a/specification/regionmove/resource-manager/readme.ruby.md b/specification/regionmove/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..e168fcf6da2a --- /dev/null +++ b/specification/regionmove/resource-manager/readme.ruby.md @@ -0,0 +1,19 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_regionmove +package-version: 2019-10-01-preview +azure-arm: true +``` + +### Tag: package-2019-10-01-preview and ruby + +These settings apply only when `--tag=package-2019-10-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2019-10-01-preview' && $(ruby) +namespace: Microsoft.Migrate +output-folder: $(ruby-sdks-folder)/regionmove +``` diff --git a/specification/regionmove/resource-manager/readme.typescript.md b/specification/regionmove/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..20ec0299cfdb --- /dev/null +++ b/specification/regionmove/resource-manager/readme.typescript.md @@ -0,0 +1,13 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "regionmove" + output-folder: "$(typescript-sdks-folder)/packages/regionmove" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/relay/resource-manager/readme.azureresourceschema.md b/specification/relay/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..594e0810982e --- /dev/null +++ b/specification/relay/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,51 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-relay-2018-01-01-preview + - tag: schema-relay-2017-04-01 + - tag: schema-relay-2016-07-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-relay-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-relay-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Relay/preview/2018-01-01-preview/Namespaces-preview.json + - Microsoft.Relay/preview/2018-01-01-preview/NetworkRuleSets-preview.json + - Microsoft.Relay/preview/2018-01-01-preview/PrivateEndpointConnection-preview.json + - Microsoft.Relay/preview/2018-01-01-preview/PrivateLinkResources-preview.json + +``` + +### Tag: schema-relay-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-relay-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Relay/stable/2017-04-01/relay.json + +``` + +### Tag: schema-relay-2016-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-relay-2016-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Relay/stable/2016-07-01/relay.json + +``` diff --git a/specification/relay/resource-manager/readme.md b/specification/relay/resource-manager/readme.md index 3099d74309cb..4c3b20f2e598 100644 --- a/specification/relay/resource-manager/readme.md +++ b/specification/relay/resource-manager/readme.md @@ -83,6 +83,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_relay'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js relay/resource-manager ``` @@ -154,6 +157,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json index 9502311983bd..533fae60c7f0 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-04-01/reservations.json @@ -1608,7 +1608,19 @@ "RedHat", "SqlDataWarehouse", "VMwareCloudSimple", - "RedHatOsa" + "RedHatOsa", + "Databricks", + "AppService", + "ManagedDisk", + "BlockBlob", + "RedisCache", + "AzureDataExplorer", + "MySql", + "MariaDb", + "PostgreSql", + "DedicatedHost", + "SapHana", + "SqlAzureHybridBenefit" ], "x-ms-enum": { "name": "ReservedResourceType", diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getMachineLearningServicesUsages.json b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getMachineLearningServicesUsages.json index 824b3eef7d4e..fcdb3c1e7182 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getMachineLearningServicesUsages.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/preview/2019-07-19/examples/getMachineLearningServicesUsages.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "00000000-0000-0000-0000-000000000000", - "providerId": "Microsoft.BatchAI", + "providerId": "Microsoft.MachineLearningServices", "location": "eastus", "api-version": "2019-07-19-preview" }, diff --git a/specification/reservations/resource-manager/readme.azureresourceschema.md b/specification/reservations/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..8bdee0743c2a --- /dev/null +++ b/specification/reservations/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-capacity-2019-07-19 + - tag: schema-capacity-2019-04-01 + - tag: schema-capacity-2018-06-01 + - tag: schema-capacity-2017-11-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-capacity-2019-07-19 and azureresourceschema + +``` yaml $(tag) == 'schema-capacity-2019-07-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Capacity/preview/2019-07-19/quota.json + +``` + +### Tag: schema-capacity-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-capacity-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Capacity/preview/2019-04-01/reservations.json + +``` + +### Tag: schema-capacity-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-capacity-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Capacity/preview/2018-06-01/reservations.json + +``` + +### Tag: schema-capacity-2017-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-capacity-2017-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Capacity/stable/2017-11-01/reservations.json + +``` diff --git a/specification/reservations/resource-manager/readme.md b/specification/reservations/resource-manager/readme.md index ba15d9e95603..cb647040360f 100644 --- a/specification/reservations/resource-manager/readme.md +++ b/specification/reservations/resource-manager/readme.md @@ -81,6 +81,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js reservations/resource-manager ``` ## C# @@ -131,6 +134,10 @@ python: See configuration in [readme.go.md](./readme.go.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json index 87ee4ab7c39e..0fbf96dc2401 100644 --- a/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json +++ b/specification/resourcegraph/resource-manager/Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json @@ -113,7 +113,7 @@ "/providers/Microsoft.ResourceGraph/resourceChanges": { "post": { "description": "List changes to a resource for a given time interval.", - "operationId": "List_ResourceChanges", + "operationId": "ResourceChanges", "tags": [ "Changes" ], @@ -161,7 +161,7 @@ "/providers/Microsoft.ResourceGraph/resourceChangeDetails": { "post": { "description": "Get resource change details.", - "operationId": "Get_ResourceChangeDetails", + "operationId": "ResourceChangeDetails", "tags": [ "Changes" ], diff --git a/specification/resourcegraph/resource-manager/readme.azureresourceschema.md b/specification/resourcegraph/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a7398d14c000 --- /dev/null +++ b/specification/resourcegraph/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,49 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-resourcegraph-2020-04-01-preview + - tag: schema-resourcegraph-2019-04-01 + - tag: schema-resourcegraph-2018-09-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-resourcegraph-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-resourcegraph-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceGraph/preview/2020-04-01-preview/resourcegraph.json + +``` + +### Tag: schema-resourcegraph-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcegraph-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceGraph/stable/2019-04-01/resourcegraph.json + +``` + +### Tag: schema-resourcegraph-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-resourcegraph-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceGraph/preview/2018-09-01-preview/resourcegraph.json + - Microsoft.ResourceGraph/preview/2018-09-01-preview/graphquery.json + +``` diff --git a/specification/resourcegraph/resource-manager/readme.md b/specification/resourcegraph/resource-manager/readme.md index 3c818b78b7d8..dcf2839d8782 100644 --- a/specification/resourcegraph/resource-manager/readme.md +++ b/specification/resourcegraph/resource-manager/readme.md @@ -84,6 +84,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-trenton + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js resourcegraph/resource-manager ``` ## C# @@ -129,6 +132,10 @@ directive: reason: This is a clear scenario for a boolean and will not have more than 2 values in the future. ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/resourcehealth/resource-manager/readme.azureresourceschema.md b/specification/resourcehealth/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..cf5e58b870e5 --- /dev/null +++ b/specification/resourcehealth/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-resourcehealth-2018-08-01 + - tag: schema-resourcehealth-2018-07-01 + - tag: schema-resourcehealth-2017-07-01 + - tag: schema-resourcehealth-2015-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-resourcehealth-2018-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcehealth-2018-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json + +``` + +### Tag: schema-resourcehealth-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcehealth-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceHealth/stable/2018-07-01/ResourceHealth.json + +``` + +### Tag: schema-resourcehealth-2017-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcehealth-2017-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json + +``` + +### Tag: schema-resourcehealth-2015-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resourcehealth-2015-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ResourceHealth/stable/2015-01-01/resourcehealth.json + +``` diff --git a/specification/resourcehealth/resource-manager/readme.md b/specification/resourcehealth/resource-manager/readme.md index d13233a1b7c3..3982a6e8ec3d 100644 --- a/specification/resourcehealth/resource-manager/readme.md +++ b/specification/resourcehealth/resource-manager/readme.md @@ -88,6 +88,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_resourcehealth'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js resourcehealth/resource-manager ``` ## Go @@ -169,6 +172,10 @@ generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/createOrUpdatePolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/createOrUpdatePolicyExemption.json new file mode 100644 index 000000000000..5f300513bd45 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/createOrUpdatePolicyExemption.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster", + "policyExemptionName": "DemoExpensiveVM", + "api-version": "2020-07-01-preview", + "parameters": { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T01:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM", + "type": "Microsoft.Authorization/policyExemptions", + "name": "DemoExpensiveVM" + } + }, + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM", + "type": "Microsoft.Authorization/policyExemptions", + "name": "DemoExpensiveVM" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/deletePolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/deletePolicyExemption.json new file mode 100644 index 000000000000..7268b4d04093 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/deletePolicyExemption.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster", + "policyExemptionName": "DemoExpensiveVM", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/getPolicyExemption.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/getPolicyExemption.json new file mode 100644 index 000000000000..38fc34650a1f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/getPolicyExemption.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster", + "policyExemptionName": "DemoExpensiveVM", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM", + "type": "Microsoft.Authorization/policyExemptions", + "name": "DemoExpensiveVM" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForManagementGroup.json new file mode 100644 index 000000000000..77598424b706 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForManagementGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "managementGroupId": "DevOrg", + "api-version": "2020-07-01-preview", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyExemptions/ResearchBudgetExemption", + "type": "Microsoft.Authorization/policyExemptions", + "name": "ResearchBudgetExemption" + }, + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/HardwareDivision/providers/Microsoft.Authorization/policyAssignments/LimitPorts", + "exemptionCategory": "Mitigated", + "displayName": "Exempt jump box open ports", + "description": "Exempt jump box open ports from limit ports policy", + "metadata": { + "reason": "Need to open RDP port to corp net" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyExemptions/VNetIsMonitored", + "type": "Microsoft.Authorization/policyExemptions", + "name": "VNetIsMonitored" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResource.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResource.json new file mode 100644 index 000000000000..7efd27f5ad38 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResource.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "resourceGroupName": "TestResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourcePath": "virtualMachines/MyTestVm", + "resourceType": "domainNames", + "resourceName": "MyTestComputer.cloudapp.net", + "api-version": "2020-07-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVMGroup", + "type": "Microsoft.Authorization/policyExemptions", + "name": "DemoExpensiveVMGroup" + }, + { + "properties": { + "policyAssignmentId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/LimitPorts", + "exemptionCategory": "Mitigated", + "displayName": "Exempt jump box open ports", + "description": "Exempt jump box open ports from limit ports policy", + "metadata": { + "reason": "Need to open RDP port to corp net" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Compute/virtualMachines/MyTestVm/providers/Microsoft.Authorization/policyExemptions/jumpBoxExemption", + "type": "Microsoft.Authorization/policyExemptions", + "name": "jumpBoxExemption" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResourceGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResourceGroup.json new file mode 100644 index 000000000000..7cac005fa471 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "resourceGroupName": "TestResourceGroup", + "api-version": "2020-07-01-preview", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVMSub", + "type": "Microsoft.Authorization/policyExemptions", + "name": "TestVMSub" + }, + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/LimitPorts", + "exemptionCategory": "Mitigated", + "displayName": "Exempt jump box open ports", + "description": "Exempt jump box open ports from limit ports policy", + "metadata": { + "reason": "Need to open RDP port to corp net" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyExemptions/TestVNetRG", + "type": "Microsoft.Authorization/policyExemptions", + "name": "TestVNetRG" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForSubscription.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForSubscription.json new file mode 100644 index 000000000000..aefef89332a2 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/examples/listPolicyExemptionsForSubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-07-01-preview", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "policyDefinitionReferenceIds": [ + "Limit_Skus" + ], + "exemptionCategory": "Waiver", + "displayName": "Exempt demo cluster", + "description": "Exempt demo cluster from limit sku", + "metadata": { + "reason": "Temporary exemption for a expensive VM demo" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVMSub", + "type": "Microsoft.Authorization/policyExemptions", + "name": "TestVMSub" + }, + { + "properties": { + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/DevOrg/providers/Microsoft.Authorization/policyAssignments/LimitPorts", + "exemptionCategory": "Mitigated", + "displayName": "Exempt jump box open ports", + "description": "Exempt jump box open ports from limit ports policy", + "metadata": { + "reason": "Need to open RDP port to corp net" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-07-01T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-07-01T02:01:01.1075056Z" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyExemptions/TestVNetSub", + "type": "Microsoft.Authorization/policyExemptions", + "name": "TestVNetSub" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json new file mode 100644 index 000000000000..700a24a29b80 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/preview/2020-07-01-preview/policyExemptions.json @@ -0,0 +1,548 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-07-01-preview", + "description": "To exempt your resources from policy evaluation and non-compliance state, you can create an exemption at a scope." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{scope}/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}": { + "delete": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_Delete", + "summary": "Deletes a policy exemption.", + "description": "This operation deletes a policy exemption, given its name and the scope it was created in. The scope of a policy exemption is the part of its ID preceding '/providers/Microsoft.Authorization/policyExemptions/{policyExemptionName}'.", + "x-ms-examples": { + "Delete a policy exemption": { + "$ref": "./examples/deletePolicyExemption.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content - the policy exemption doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_CreateOrUpdate", + "summary": "Creates or updates a policy exemption.", + "description": " This operation creates or updates a policy exemption with the given scope and name. Policy exemptions apply to all resources contained within their scope. For example, when you create a policy exemption at resource group scope for a policy assignment at the same or above level, the exemption exempts to all applicable resources in the resource group.", + "x-ms-examples": { + "Create or update a policy exemption": { + "$ref": "./examples/createOrUpdatePolicyExemption.json" + } + }, + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyExemption" + }, + "description": "Parameters for the policy exemption." + }, + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the updated policy exemption.", + "schema": { + "$ref": "#/definitions/PolicyExemption" + } + }, + "201": { + "description": "Created - Returns information about the new policy exemption.", + "schema": { + "$ref": "#/definitions/PolicyExemption" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_Get", + "summary": "Retrieves a policy exemption.", + "description": "This operation retrieves a single policy exemption, given its name and the scope it was created at.", + "x-ms-examples": { + "Retrieve a policy exemption": { + "$ref": "./examples/getPolicyExemption.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy exemption.", + "schema": { + "$ref": "#/definitions/PolicyExemption" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyExemptions": { + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_List", + "summary": "Retrieves all policy exemptions that apply to a subscription.", + "description": "This operation retrieves the list of all policy exemptions associated with the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the subscription, including those that apply directly or from management groups that contain the given subscription, as well as any applied to objects contained within the subscription.", + "x-ms-examples": { + "List policy exemptions that apply to a subscription": { + "$ref": "./examples/listPolicyExemptionsForSubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionFilterParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy exemptions.", + "schema": { + "$ref": "#/definitions/PolicyExemptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyExemptions": { + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_ListForResourceGroup", + "summary": "Retrieves all policy exemptions that apply to a resource group.", + "description": "This operation retrieves the list of all policy exemptions associated with the given resource group in the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the resource group, including those that apply directly or apply from containing scopes, as well as any applied to resources contained within the resource group.", + "x-ms-examples": { + "List policy exemptions that apply to a resource group": { + "$ref": "./examples/listPolicyExemptionsForResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionFilterParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy exemptions.", + "schema": { + "$ref": "#/definitions/PolicyExemptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyExemptions": { + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_ListForResource", + "summary": "Retrieves all policy exemptions that apply to a resource.", + "description": "This operation retrieves the list of all policy exemptions associated with the specified resource in the given resource group and subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the resource, including those that apply directly or from all containing scopes, as well as any applied to resources contained within the resource. Three parameters plus the resource name are used to identify a specific resource. If the resource is not part of a parent resource (the more common case), the parent resource path should not be provided (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided. For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').", + "x-ms-examples": { + "List all policy exemptions that apply to a resource": { + "$ref": "./examples/listPolicyExemptionsForResource.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider. For example, the namespace of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)" + }, + { + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource path. Use empty string if there is none.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceType", + "in": "path", + "required": true, + "type": "string", + "description": "The resource type name. For example the type name of a web app is 'sites' (from Microsoft.Web/sites).", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "$ref": "#/parameters/PolicyExemptionFilterParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy exemptions.", + "schema": { + "$ref": "#/definitions/PolicyExemptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyExemptions": { + "get": { + "tags": [ + "PolicyExemptions" + ], + "operationId": "PolicyExemptions_ListForManagementGroup", + "summary": "Retrieves all policy exemptions that apply to a management group.", + "description": "This operation retrieves the list of all policy exemptions applicable to the management group that match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter=atScope() is provided, the returned list includes all policy exemptions that are assigned to the management group or the management group's ancestors.", + "x-ms-examples": { + "List policy exemptions that apply to a management group": { + "$ref": "./examples/listPolicyExemptionsForManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/PolicyExemptionFilterParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy exemptions.", + "schema": { + "$ref": "#/definitions/PolicyExemptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "PolicyExemptionProperties": { + "required": [ + "policyAssignmentId", + "exemptionCategory" + ], + "properties": { + "policyAssignmentId": { + "type": "string", + "description": "The ID of the policy assignment that is being exempted." + }, + "policyDefinitionReferenceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition." + }, + "exemptionCategory": { + "type": "string", + "description": "The policy exemption category. Possible values are Waiver and Mitigated.", + "enum": [ + "Waiver", + "Mitigated" + ], + "x-ms-enum": { + "name": "exemptionCategory", + "modelAsString": true, + "values": [ + { + "value": "Waiver", + "description": "This category of exemptions usually means the scope is not applicable for the policy." + }, + { + "value": "Mitigated", + "description": "This category of exemptions usually means the mitigation actions have been applied to the scope." + } + ] + } + }, + "expiresOn": { + "type": "string", + "format": "date-time", + "description": "The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy exemption." + }, + "description": { + "type": "string", + "description": "The description of the policy exemption." + }, + "metadata": { + "type": "object", + "description": "The policy exemption metadata. Metadata is an open ended object and is typically a collection of key value pairs." + } + }, + "description": "The policy exemption properties." + }, + "PolicyExemption": { + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyExemptionProperties", + "description": "Properties for the policy exemption." + }, + "systemData": { + "readOnly": true, + "type": "object", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "description": "The policy exemption.", + "x-ms-azure-resource": true, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "PolicyExemptionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyExemption" + }, + "description": "An array of policy exemptions." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of policy exemptions." + } + }, + "parameters": { + "PolicyExemptionNameParameter": { + "name": "policyExemptionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy exemption to delete.", + "x-ms-parameter-location": "method" + }, + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the policy exemption. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing the resource.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the management group.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation.", + "x-ms-parameter-location": "client" + }, + "PolicyExemptionFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()', 'excludeExpired()' or 'policyAssignmentId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter is not provided, the unfiltered list includes all policy exemptions associated with the scope, including those that apply directly or apply from containing scopes. If $filter=atScope() is provided, the returned list only includes all policy exemptions that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy exemptions that at the given scope. If $filter=excludeExpired() is provided, the returned list only includes all policy exemptions that either haven't expired or didn't set expiration date. If $filter=policyAssignmentId eq '{value}' is provided. the returned list only includes all policy exemptions that are associated with the give policyAssignmentId.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinition.json new file mode 100644 index 000000000000..b8bb20fa87dc --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinition.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "mode": "All", + "displayName": "Enforce resource naming convention", + "description": "Force resource names to begin with given 'prefix' and/or end with given 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAdvancedParams.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAdvancedParams.json new file mode 100644 index 000000000000..85f7ae30160c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAdvancedParams.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "EventHubDiagnosticLogs", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "mode": "Indexed", + "displayName": "Event Hubs should have diagnostic logging enabled", + "description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised", + "metadata": { + "category": "Event Hub" + }, + "policyRule": { + "if": { + "field": "type", + "equals": "Microsoft.EventHub/namespaces" + }, + "then": { + "effect": "AuditIfNotExists", + "details": { + "type": "Microsoft.Insights/diagnosticSettings", + "existenceCondition": { + "allOf": [ + { + "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled", + "equals": "true" + }, + { + "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days", + "equals": "[parameters('requiredRetentionDays')]" + } + ] + } + } + } + }, + "parameters": { + "requiredRetentionDays": { + "type": "Integer", + "defaultValue": 365, + "allowedValues": [ + 0, + 30, + 90, + 180, + 365 + ], + "metadata": { + "displayName": "Required retention (days)", + "description": "The required diagnostic logs retention in days" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "Indexed", + "displayName": "Event Hubs should have diagnostic logging enabled", + "description": "Audit enabling of logs and retain them up to a year. This enables recreation of activity trails for investigation purposes when a security incident occurs or your network is compromised", + "metadata": { + "category": "Event Hub" + }, + "policyRule": { + "if": { + "field": "type", + "equals": "Microsoft.EventHub/namespaces" + }, + "then": { + "effect": "AuditIfNotExists", + "details": { + "type": "Microsoft.Insights/diagnosticSettings", + "existenceCondition": { + "allOf": [ + { + "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.enabled", + "equals": "true" + }, + { + "field": "Microsoft.Insights/diagnosticSettings/logs[*].retentionPolicy.days", + "equals": "[parameters('requiredRetentionDays')]" + } + ] + } + } + } + }, + "parameters": { + "requiredRetentionDays": { + "type": "Integer", + "defaultValue": 365, + "allowedValues": [ + 0, + 30, + 90, + 180, + 365 + ], + "metadata": { + "displayName": "Required retention (days)", + "description": "The required diagnostic logs retention in days" + } + } + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..26b63677103c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicyDefinitionAtManagementGroup.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "mode": "All", + "displayName": "Enforce resource naming convention", + "description": "Force resource names to begin with given 'prefix' and/or end with given 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinition.json new file mode 100644 index 000000000000..192c14c9bbb7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinition.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "parameters": { + "namePrefix": { + "type": "String", + "defaultValue": "myPrefix", + "metadata": { + "displayName": "Prefix to enforce on resource names" + } + } + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "[parameters('namePrefix')]" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "parameters": { + "namePrefix": { + "type": "String", + "defaultValue": "myPrefix", + "metadata": { + "displayName": "Prefix to enforce on resource names" + } + } + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "[parameters('namePrefix')]" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "parameters": { + "namePrefix": { + "type": "String", + "defaultValue": "myPrefix", + "metadata": { + "displayName": "Prefix to enforce on resource names" + } + } + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "[parameters('namePrefix')]" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..d02bb67920b0 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json new file mode 100644 index 000000000000..cb342eabac93 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json new file mode 100644 index 000000000000..dda66bddb6e8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + }, + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignment.json new file mode 100644 index 000000000000..73965f4fef9e --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignment.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentById.json new file mode 100644 index 000000000000..96578065dbb7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentById.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + }, + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentity.json new file mode 100644 index 000000000000..d6857b62d24c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentity.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01", + "parameters": { + "location": "eastus", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Foo Bar" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "location": "eastus", + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentityById.json new file mode 100644 index 000000000000..9b8ba13a4ae7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithIdentityById.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01", + "parameters": { + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "location": "eastus", + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithoutEnforcement.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithoutEnforcement.json new file mode 100644 index 000000000000..b6de8e600de1 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/createPolicyAssignmentWithoutEnforcement.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01", + "parameters": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "DoNotEnforce" + } + } + }, + "responses": { + "201": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "DoNotEnforce", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignment.json new file mode 100644 index 000000000000..7614d3c2a179 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignment.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignmentById.json new file mode 100644 index 000000000000..49f0fb6a0d24 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyAssignmentById.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinition.json new file mode 100644 index 000000000000..83e0c833f191 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinition.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..c2fa27ccb2ab --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicyDefinitionAtManagementGroup.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinition.json new file mode 100644 index 000000000000..9d47d8fa854d --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinition.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..884a346377a7 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/deletePolicySetDefinitionAtManagementGroup.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltInPolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltInPolicySetDefinition.json new file mode 100644 index 000000000000..e6ab99bb6126 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltInPolicySetDefinition.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "[Preview]: Enable Monitoring in Azure Security Center", + "policyType": "BuiltIn", + "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.", + "metadata": { + "category": "Security Center" + }, + "parameters": {}, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "policyDefinitionReferenceId": "RefId1" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "policyDefinitionReferenceId": "RefId2" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "policyDefinitionReferenceId": "RefId3" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "policyDefinitionReferenceId": "RefId4" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "policyDefinitionReferenceId": "RefId5" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "policyDefinitionReferenceId": "RefId6" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "policyDefinitionReferenceId": "RefId7" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "policyDefinitionReferenceId": "RefId8" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "policyDefinitionReferenceId": "RefId9" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "policyDefinitionReferenceId": "RefId10" + } + ] + }, + "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltinPolicyDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltinPolicyDefinition.json new file mode 100644 index 000000000000..3c2488287bf6 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getBuiltinPolicyDefinition.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "7433c107-6db4-4ad1-b57a-a76dce0154a1", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "mode": "All", + "displayName": "Allowed storage account SKUs", + "policyType": "BuiltIn", + "description": "This policy enables you to specify a set of storage account SKUs that your organization can deploy.", + "parameters": { + "listOfAllowedSKUs": { + "type": "Array", + "metadata": { + "description": "The list of SKUs that can be specified for storage accounts.", + "displayName": "Allowed SKUs", + "strongType": "StorageSKUs" + } + } + }, + "policyRule": { + "if": { + "allOf": [ + { + "field": "type", + "equals": "Microsoft.Storage/storageAccounts" + }, + { + "not": { + "field": "Microsoft.Storage/storageAccounts/sku.name", + "in": "[parameters('listOfAllowedSKUs')]" + } + } + ] + }, + "then": { + "effect": "Deny" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "7433c107-6db4-4ad1-b57a-a76dce0154a1" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignment.json new file mode 100644 index 000000000000..4d7d69c424de --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignment.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentById.json new file mode 100644 index 000000000000..3d091bf4ea3e --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + }, + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentity.json new file mode 100644 index 000000000000..2abd8165d968 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentity.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyAssignmentName": "EnforceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce resource naming rules", + "description": "Force resource names to begin with given DeptA and end with -LC", + "metadata": { + "assignedBy": "Special Someone" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "notScopes": [], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + }, + "enforcementMode": "Default", + "scope": "subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "location": "westus", + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/EnforceNaming", + "type": "Microsoft.Authorization/policyAssignments", + "name": "EnforceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentityById.json new file mode 100644 index 000000000000..dbaf21cc4b8f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyAssignmentWithIdentityById.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "policyAssignmentId": "providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "displayName": "Enforce storage account SKU", + "description": "Allow only storage accounts of SKU Standard_GRS or Standard_LRS to be created", + "metadata": { + "assignedBy": "Cheapskate Boss" + }, + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "notScopes": [], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + }, + "enforcementMode": "Default" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "location": "westus", + "id": "/providers/Microsoft.Management/managementGroups/MyManagementGroup/providers/Microsoft.Authorization/policyAssignments/LowCostStorage", + "type": "Microsoft.Authorization/policyAssignments", + "name": "LowCostStorage" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinition.json new file mode 100644 index 000000000000..489cdf57a492 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinition.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..ea65d3e15af0 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicyDefinitionAtManagementGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policyDefinitionName": "ResourceNaming", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinition.json new file mode 100644 index 000000000000..c1e6f509e3f2 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinition.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionGroups": [ + { + "name": "CostSaving", + "displayName": "Cost Management Policies", + "description": "Policies designed to control spend within a subscription." + }, + { + "name": "Organizational", + "displayName": "Organizational Policies", + "description": "Policies that help enforce resource organization standards within a subscription." + } + ], + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "groupNames": [ + "CostSaving" + ], + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "groupNames": [ + "Organizational" + ], + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinitionAtManagementGroup.json new file mode 100644 index 000000000000..1007e2d04cd5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/getPolicySetDefinitionAtManagementGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "policySetDefinitionName": "CostManagement", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicyDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicyDefinitions.json new file mode 100644 index 000000000000..5908afc59f12 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicyDefinitions.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "mode": "All", + "displayName": "Audit SQL DB Level Audit Setting", + "policyType": "BuiltIn", + "description": "Audit DB level audit setting for SQL databases", + "parameters": { + "setting": { + "type": "String", + "metadata": { + "displayName": "Audit Setting" + }, + "allowedValues": [ + "enabled", + "disabled" + ] + } + }, + "policyRule": { + "if": { + "field": "type", + "equals": "Microsoft.Sql/servers/databases" + }, + "then": { + "effect": "AuditIfNotExists", + "details": { + "type": "Microsoft.Sql/servers/databases/auditingSettings", + "name": "default", + "existenceCondition": { + "allOf": [ + { + "field": "Microsoft.Sql/auditingSettings.state", + "equals": "[parameters('setting')]" + } + ] + } + } + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a12", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "06a78e20-9358-41c9-923c-fb736d382a12" + }, + { + "properties": { + "mode": "All", + "displayName": "Allowed storage account SKUs", + "policyType": "Static", + "description": "This policy enables you to specify a set of storage account SKUs that your organization can deploy.", + "parameters": { + "listOfAllowedSKUs": { + "type": "Array", + "metadata": { + "description": "The list of SKUs that can be specified for storage accounts.", + "displayName": "Allowed SKUs", + "strongType": "StorageSKUs" + } + } + }, + "policyRule": { + "if": { + "allOf": [ + { + "field": "type", + "equals": "Microsoft.Storage/storageAccounts" + }, + { + "not": { + "field": "Microsoft.Storage/storageAccounts/sku.name", + "in": "[parameters('listOfAllowedSKUs')]" + } + } + ] + }, + "then": { + "effect": "Deny" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "7433c107-6db4-4ad1-b57a-a76dce0154a1" + }, + { + "properties": { + "mode": "Microsoft.KeyVault.Data", + "displayName": "Audit KeyVault certificates that expire within specified number of days", + "policyType": "BuiltIn", + "description": "Audit certificates that are stored in Azure Key Vault, that expire within 'X' number of days.", + "metadata": { + "category": "KeyVault DataPlane" + }, + "parameters": { + "daysToExpire": { + "type": "Integer", + "metadata": { + "displayName": "Days to expire", + "description": "The number of days for a certificate to expire." + } + } + }, + "policyRule": { + "if": { + "field": "Microsoft.KeyVault.Data/vaults/certificates/attributes/expiresOn", + "lessOrEquals": "[addDays(utcNow(), parameters('daysToExpire'))]" + }, + "then": { + "effect": "audit" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/abeed54a-73c5-441d-8a8c-6b5e7a0c299e", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "abeed54a-73c5-441d-8a8c-6b5e7a0c299e" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicySetDefinitions.json new file mode 100644 index 000000000000..4618f3924e68 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listBuiltInPolicySetDefinitions.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "displayName": "[Preview]: Enable Monitoring in Azure Security Center", + "policyType": "BuiltIn", + "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.", + "metadata": { + "category": "Security Center" + }, + "parameters": {}, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "policyDefinitionReferenceId": "RefId1" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "policyDefinitionReferenceId": "RefId2" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "policyDefinitionReferenceId": "RefId3" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "policyDefinitionReferenceId": "RefId4" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "policyDefinitionReferenceId": "RefId5" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "policyDefinitionReferenceId": "RefId6" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "policyDefinitionReferenceId": "RefId7" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "policyDefinitionReferenceId": "RefId8" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "policyDefinitionReferenceId": "RefId9" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "policyDefinitionReferenceId": "RefId10" + } + ] + }, + "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignments.json new file mode 100644 index 000000000000..2e56dc6ed80c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignments.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/CostManagement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "CostManagement", + "location": "eastus", + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "properties": { + "displayName": "Storage Cost Management", + "description": "Minimize the risk of accidental cost overruns", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "parameters": { + "allowedSkus": { + "value": "Standard_A1" + } + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + }, + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyAssignments/TagEnforcement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TagEnforcement", + "properties": { + "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", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForManagementGroup.json new file mode 100644 index 000000000000..f21c71d58a00 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForManagementGroup.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "managementGroupId": "TestManagementGroup", + "api-version": "2020-03-01", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyAssignments/TestCostManagement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestCostManagement", + "location": "eastus", + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "properties": { + "displayName": "Storage Cost Management", + "description": "Minimize the risk of accidental cost overruns", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "parameters": { + "allowedSkus": { + "value": "Standard_A1" + } + }, + "scope": "/providers/Microsoft.Management/managementGroups/TestManagementGroup", + "notScopes": [] + } + }, + { + "id": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyAssignments/TestTagEnforcement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestTagEnforcement", + "properties": { + "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", + "scope": "/providers/Microsoft.Management/managementGroups/TestManagementGroup", + "notScopes": [] + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResource.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResource.json new file mode 100644 index 000000000000..e7d69e76b2b8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResource.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "resourceGroupName": "TestResourceGroup", + "resourceProviderNamespace": "Microsoft.Compute", + "parentResourcePath": "virtualMachines/MyTestVm", + "resourceType": "domainNames", + "resourceName": "MyTestComputer.cloudapp.net", + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyAssignments/TestCostManagement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestCostManagement", + "location": "eastus", + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "properties": { + "displayName": "VM Cost Management", + "description": "Minimize the risk of accidental cost overruns", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/vmSkus", + "parameters": { + "allowedSkus": { + "value": "Standard_A1" + } + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + }, + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyAssignments/TestTagEnforcement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestTagEnforcement", + "properties": { + "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", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResourceGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResourceGroup.json new file mode 100644 index 000000000000..848c5c18ed8d --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyAssignmentsForResourceGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "resourceGroupName": "TestResourceGroup", + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01", + "$filter": "atScope()" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyAssignments/TestCostManagement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestCostManagement", + "location": "eastus", + "identity": { + "type": "SystemAssigned", + "principalId": "e6d23f8d-af97-4fbc-bda6-00604e4e3d0a", + "tenantId": "4bee2b8a-1bee-47c2-90e9-404241551135" + }, + "properties": { + "displayName": "Storage Cost Management", + "description": "Minimize the risk of accidental cost overruns", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "parameters": { + "allowedSkus": { + "value": "Standard_A1" + } + }, + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + }, + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup/providers/Microsoft.Authorization/policyAssignments/TestTagEnforcement", + "type": "Microsoft.Authorization/policyAssignments", + "name": "TestTagEnforcement", + "properties": { + "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", + "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", + "notScopes": [] + }, + "sku": { + "name": "A0", + "tier": "Free" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitions.json new file mode 100644 index 000000000000..68e3f93af81f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitions.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "mode": "All", + "displayName": "Allowed storage account SKUs", + "policyType": "BuiltIn", + "description": "This policy enables you to specify a set of storage account SKUs that your organization can deploy.", + "parameters": { + "listOfAllowedSKUs": { + "type": "Array", + "metadata": { + "description": "The list of SKUs that can be specified for storage accounts.", + "displayName": "Allowed SKUs", + "strongType": "StorageSKUs" + } + } + }, + "policyRule": { + "if": { + "allOf": [ + { + "field": "type", + "equals": "Microsoft.Storage/storageAccounts" + }, + { + "not": { + "field": "Microsoft.Storage/storageAccounts/sku.name", + "in": "[parameters('listOfAllowedSKUs')]" + } + } + ] + }, + "then": { + "effect": "Deny" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "7433c107-6db4-4ad1-b57a-a76dce0154a1" + }, + { + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "policyType": "Custom" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming" + }, + { + "properties": { + "mode": "Microsoft.KeyVault.Data", + "displayName": "Audit KeyVault certificates that expire within specified number of days", + "description": "Audit certificates that are stored in Azure Key Vault, that expire within 'X' number of days.", + "metadata": { + "category": "KeyVault DataPlane" + }, + "parameters": { + "daysToExpire": { + "type": "Integer", + "metadata": { + "displayName": "Days to expire", + "description": "The number of days for a certificate to expire." + } + } + }, + "policyRule": { + "if": { + "field": "Microsoft.KeyVault.Data/vaults/certificates/attributes/expiresOn", + "lessOrEquals": "[addDays(utcNow(), parameters('daysToExpire'))]" + }, + "then": { + "effect": "audit" + } + }, + "policyType": "Custom" + }, + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/AuditSoonToExpireCerts", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "AuditSoonToExpireCerts" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitionsByManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitionsByManagementGroup.json new file mode 100644 index 000000000000..67b006374edc --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicyDefinitionsByManagementGroup.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "mode": "All", + "displayName": "Allowed storage account SKUs", + "policyType": "BuiltIn", + "description": "This policy enables you to specify a set of storage account SKUs that your organization can deploy.", + "parameters": { + "listOfAllowedSKUs": { + "type": "Array", + "metadata": { + "description": "The list of SKUs that can be specified for storage accounts.", + "displayName": "Allowed SKUs", + "strongType": "StorageSKUs" + } + } + }, + "policyRule": { + "if": { + "allOf": [ + { + "field": "type", + "equals": "Microsoft.Storage/storageAccounts" + }, + { + "not": { + "field": "Microsoft.Storage/storageAccounts/sku.name", + "in": "[parameters('listOfAllowedSKUs')]" + } + } + ] + }, + "then": { + "effect": "Deny" + } + } + }, + "id": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "7433c107-6db4-4ad1-b57a-a76dce0154a1" + }, + { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "type": "Microsoft.Authorization/policyDefinitions", + "name": "ResourceNaming", + "properties": { + "mode": "All", + "displayName": "Naming Convention", + "description": "Force resource names to begin with 'prefix' and end with 'suffix'", + "metadata": { + "category": "Naming" + }, + "policyRule": { + "if": { + "not": { + "field": "name", + "like": "[concat(parameters('prefix'), '*', parameters('suffix'))]" + } + }, + "then": { + "effect": "deny" + } + }, + "parameters": { + "prefix": { + "type": "String", + "metadata": { + "displayName": "Prefix", + "description": "Resource name prefix" + } + }, + "suffix": { + "type": "String", + "metadata": { + "displayName": "Suffix", + "description": "Resource name suffix" + } + } + }, + "policyType": "Custom" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitions.json new file mode 100644 index 000000000000..9d85f01819c8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitions.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "subscriptionId": "ae640e6b-ba3e-4256-9d62-2993eecfa6f2", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "displayName": "[Preview]: Enable Monitoring in Azure Security Center", + "policyType": "BuiltIn", + "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.", + "metadata": { + "category": "Security Center" + }, + "parameters": {}, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "policyDefinitionReferenceId": "RefId1" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "policyDefinitionReferenceId": "RefId2" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "policyDefinitionReferenceId": "RefId3" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "policyDefinitionReferenceId": "RefId4" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "policyDefinitionReferenceId": "RefId5" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "policyDefinitionReferenceId": "RefId6" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "policyDefinitionReferenceId": "RefId7" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "policyDefinitionReferenceId": "RefId8" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "policyDefinitionReferenceId": "RefId9" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "policyDefinitionReferenceId": "RefId10" + } + ] + }, + "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + { + "id": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitionsByManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitionsByManagementGroup.json new file mode 100644 index 000000000000..ff6e088e564c --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/examples/listPolicySetDefinitionsByManagementGroup.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "managementGroupId": "MyManagementGroup", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "displayName": "[Preview]: Enable Monitoring in Azure Security Center", + "policyType": "BuiltIn", + "description": "Monitor all the available security recommendations in Azure Security Center. This is the default policy for Azure Security Center.", + "metadata": { + "category": "Security Center" + }, + "parameters": {}, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "policyDefinitionReferenceId": "RefId1" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "policyDefinitionReferenceId": "RefId2" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "policyDefinitionReferenceId": "RefId3" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "policyDefinitionReferenceId": "RefId4" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "policyDefinitionReferenceId": "RefId5" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "policyDefinitionReferenceId": "RefId6" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "policyDefinitionReferenceId": "RefId7" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "policyDefinitionReferenceId": "RefId8" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "policyDefinitionReferenceId": "RefId9" + }, + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "policyDefinitionReferenceId": "RefId10" + } + ] + }, + "id": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8" + }, + { + "id": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "type": "Microsoft.Authorization/policySetDefinitions", + "name": "CostManagement", + "properties": { + "displayName": "Cost Management", + "description": "Policies to enforce low cost storage SKUs", + "metadata": { + "category": "Cost Management" + }, + "policyDefinitions": [ + { + "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "policyDefinitionReferenceId": "Limit_Skus", + "parameters": { + "listOfAllowedSKUs": { + "value": [ + "Standard_GRS", + "Standard_LRS" + ] + } + } + }, + { + "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "policyDefinitionReferenceId": "Resource_Naming", + "parameters": { + "prefix": { + "value": "DeptA" + }, + "suffix": { + "value": "-LC" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyAssignments.json new file mode 100644 index 000000000000..40ef7e6e052f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyAssignments.json @@ -0,0 +1,811 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-03-01", + "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}": { + "delete": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_Delete", + "summary": "Deletes a policy assignment.", + "description": "This operation deletes a policy assignment, given its name and the scope it was created in. The scope of a policy assignment is the part of its ID preceding '/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.", + "x-ms-examples": { + "Delete a policy assignment": { + "$ref": "./examples/deletePolicyAssignment.json" + } + }, + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the policy assignment. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'", + "x-ms-skip-url-encoding": true + }, + { + "name": "policyAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy assignment to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deleted assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "204": { + "description": "No Content - the policy assignment doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_Create", + "summary": "Creates or updates a policy assignment.", + "description": " This operation creates or updates a policy assignment with the given scope and name. Policy assignments apply to all resources contained within their scope. For example, when you assign a policy at resource group scope, that policy applies to all resources in the group.", + "x-ms-examples": { + "Create or update a policy assignment": { + "$ref": "./examples/createPolicyAssignment.json" + }, + "Create or update a policy assignment with a managed identity": { + "$ref": "./examples/createPolicyAssignmentWithIdentity.json" + }, + "Create or update a policy assignment without enforcing policy effect during resource creation or update.": { + "$ref": "./examples/createPolicyAssignmentWithoutEnforcement.json" + } + }, + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the policy assignment. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'", + "x-ms-skip-url-encoding": true + }, + { + "name": "policyAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy assignment." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyAssignment" + }, + "description": "Parameters for the policy assignment." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the new policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_Get", + "summary": "Retrieves a policy assignment.", + "description": "This operation retrieves a single policy assignment, given its name and the scope it was created at.", + "x-ms-examples": { + "Retrieve a policy assignment": { + "$ref": "./examples/getPolicyAssignment.json" + }, + "Retrieve a policy assignment with a managed identity": { + "$ref": "./examples/getPolicyAssignmentWithIdentity.json" + } + }, + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the policy assignment. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'", + "x-ms-skip-url-encoding": true + }, + { + "name": "policyAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy assignment to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments": { + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_ListForResourceGroup", + "summary": "Retrieves all policy assignments that apply to a resource group.", + "description": "This operation retrieves the list of all policy assignments associated with the given resource group in the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy assignments associated with the resource group, including those that apply directly or apply from containing scopes, as well as any applied to resources contained within the resource group. If $filter=atScope() is provided, the returned list includes all policy assignments that apply to the resource group, which is everything in the unfiltered list except those applied to resources contained within the resource group. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the resource group. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value} that apply to the resource group.", + "x-ms-examples": { + "List policy assignments that apply to a resource group": { + "$ref": "./examples/listPolicyAssignmentsForResourceGroup.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group that contains policy assignments.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/PolicyAssignmentsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy assignments.", + "schema": { + "$ref": "#/definitions/PolicyAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments": { + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_ListForResource", + "summary": "Retrieves all policy assignments that apply to a resource.", + "description": "This operation retrieves the list of all policy assignments associated with the specified resource in the given resource group and subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy assignments associated with the resource, including those that apply directly or from all containing scopes, as well as any applied to resources contained within the resource. If $filter=atScope() is provided, the returned list includes all policy assignments that apply to the resource, which is everything in the unfiltered list except those applied to resources contained within the resource. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the resource level. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value} that apply to the resource. Three parameters plus the resource name are used to identify a specific resource. If the resource is not part of a parent resource (the more common case), the parent resource path should not be provided (or provided as ''). For example a web app could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent resource, then all parameters should be provided. For example a virtual machine DNS name could be specified as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', {resourceType} == 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the namespace and type name separately is to provide both in the {resourceType} parameter, format: ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', {resourceName} == 'MyWebApp').", + "deprecated": false, + "x-ms-examples": { + "List all policy assignments that apply to a resource": { + "$ref": "./examples/listPolicyAssignmentsForResource.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group containing the resource.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider. For example, the namespace of a virtual machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines)" + }, + { + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource path. Use empty string if there is none.", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceType", + "in": "path", + "required": true, + "type": "string", + "description": "The resource type name. For example the type name of a web app is 'sites' (from Microsoft.Web/sites).", + "x-ms-skip-url-encoding": true + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource." + }, + { + "$ref": "#/parameters/PolicyAssignmentsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy assignments.", + "schema": { + "$ref": "#/definitions/PolicyAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/PolicyAssignment" + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyAssignments": { + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_ListForManagementGroup", + "summary": "Retrieves all policy assignments that apply to a management group.", + "description": "This operation retrieves the list of all policy assignments applicable to the management group that match the given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter=atScope() is provided, the returned list includes all policy assignments that are assigned to the management group or the management group's ancestors. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the management group. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value} that apply to the management group.", + "x-ms-examples": { + "List policy assignments that apply to a management group": { + "$ref": "./examples/listPolicyAssignmentsForManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/PolicyAssignmentsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy assignments.", + "schema": { + "$ref": "#/definitions/PolicyAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments": { + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_List", + "summary": "Retrieves all policy assignments that apply to a subscription.", + "description": "This operation retrieves the list of all policy assignments associated with the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy assignments associated with the subscription, including those that apply directly or from management groups that contain the given subscription, as well as any applied to objects contained within the subscription. If $filter=atScope() is provided, the returned list includes all policy assignments that apply to the subscription, which is everything in the unfiltered list except those applied to objects contained within the subscription. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the subscription. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}.", + "x-ms-examples": { + "List policy assignments that apply to a subscription": { + "$ref": "./examples/listPolicyAssignments.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/PolicyAssignmentsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy assignments.", + "schema": { + "$ref": "#/definitions/PolicyAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/PolicyAssignment" + } + }, + "/{policyAssignmentId}": { + "delete": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_DeleteById", + "summary": "Deletes a policy assignment.", + "description": "This operation deletes the policy with the given ID. Policy assignment IDs have this format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid formats for {scope} are: '/providers/Microsoft.Management/managementGroups/{managementGroup}' (management group), '/subscriptions/{subscriptionId}' (subscription), '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' (resource group), or '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' (resource).", + "x-ms-examples": { + "Delete a policy assignment by ID": { + "$ref": "./examples/deletePolicyAssignmentById.json" + } + }, + "parameters": [ + { + "name": "policyAssignmentId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the policy assignment to delete. Use the format '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "204": { + "description": "No Content - the policy assignment doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_CreateById", + "summary": "Creates or updates a policy assignment.", + "description": "This operation creates or updates the policy assignment with the given ID. Policy assignments made on a scope apply to all resources contained in that scope. For example, when you assign a policy to a resource group that policy applies to all resources in the group. Policy assignment IDs have this format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.", + "x-ms-examples": { + "Create or update policy assignment by ID": { + "$ref": "./examples/createPolicyAssignmentById.json" + }, + "Create or update policy assignment with a managed identity by ID": { + "$ref": "./examples/createPolicyAssignmentWithIdentityById.json" + } + }, + "parameters": [ + { + "name": "policyAssignmentId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the policy assignment to create. Use the format '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.", + "x-ms-skip-url-encoding": true + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyAssignment" + }, + "description": "Parameters for policy assignment." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyAssignments" + ], + "operationId": "PolicyAssignments_GetById", + "summary": "Retrieves the policy assignment with the given ID.", + "description": "The operation retrieves the policy assignment with the given ID. Policy assignment IDs have this format: '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.", + "x-ms-examples": { + "Retrieve a policy assignment by ID": { + "$ref": "./examples/getPolicyAssignmentById.json" + }, + "Retrieve a policy assignment with a managed identity by ID": { + "$ref": "./examples/getPolicyAssignmentWithIdentityById.json" + } + }, + "parameters": [ + { + "name": "policyAssignmentId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the policy assignment to get. Use the format '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'.", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy assignment.", + "schema": { + "$ref": "#/definitions/PolicyAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "PolicyAssignmentProperties": { + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the policy assignment." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition or policy set definition being assigned." + }, + "scope": { + "type": "string", + "description": "The scope for the policy assignment." + }, + "notScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The policy's excluded scopes." + }, + "parameters": { + "description": "The parameter values for the assigned policy rule. The keys are the parameter names.", + "$ref": "#/definitions/ParameterValues" + }, + "description": { + "type": "string", + "description": "This message will be part of response in case of policy violation." + }, + "metadata": { + "type": "object", + "description": "The policy assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "enforcementMode": { + "type": "string", + "description": "The policy assignment enforcement mode. Possible values are Default and DoNotEnforce.", + "enum": [ + "Default", + "DoNotEnforce" + ], + "x-ms-enum": { + "name": "enforcementMode", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "The policy effect is enforced during resource creation or update." + }, + { + "value": "DoNotEnforce", + "description": "The policy effect is not enforced during resource creation or update." + } + ] + } + } + }, + "description": "The policy assignment properties." + }, + "ParameterValues": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterValuesValue" + }, + "description": "The parameter values for the policy rule. The keys are the parameter names." + }, + "ParameterValuesValue": { + "properties": { + "value": { + "description": "The value of the parameter.", + "type": "object" + } + }, + "description": "The value of a parameter." + }, + "PolicySku": { + "properties": { + "name": { + "type": "string", + "description": "The name of the policy sku. Possible values are A0 and A1." + }, + "tier": { + "type": "string", + "description": "The policy sku tier. Possible values are Free and Standard." + } + }, + "required": [ + "name" + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "PolicyAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyAssignmentProperties", + "description": "Properties for the policy assignment." + }, + "id": { + "type": "string", + "description": "The ID of the policy assignment.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the policy assignment.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the policy assignment.", + "readOnly": true + }, + "sku": { + "$ref": "#/definitions/PolicySku", + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "location": { + "type": "string", + "description": "The location of the policy assignment. Only required when utilizing managed identity." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The managed identity associated with the policy assignment." + } + }, + "description": "The policy assignment.", + "x-ms-azure-resource": true + }, + "PolicyAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyAssignment" + }, + "description": "An array of policy assignments." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of policy assignments." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the resource identity." + }, + "type": { + "type": "string", + "description": "The identity type. This is the only required field when adding a system assigned identity to a resource.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Indicates that a system assigned identity is associated with the resource." + }, + { + "value": "None", + "description": "Indicates that no identity is associated with the resource or that the existing identity should be removed." + } + ] + } + } + }, + "description": "Identity for the resource." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the management group.", + "x-ms-parameter-location": "method" + }, + "PolicyAssignmentsFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: 'atScope()', 'atExactScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atScope() is provided, the returned list only includes all policy assignments that apply to the scope, which is everything in the unfiltered list except those applied to sub scopes contained within the given scope. If $filter=atExactScope() is provided, the returned list only includes all policy assignments that at the given scope. If $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy assignments of the policy definition whose id is {value}.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000, + "description": "Maximum number of records to return. When the $top filter is not provided, it will return 500 records.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json new file mode 100644 index 000000000000..af298f5ce63b --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json @@ -0,0 +1,684 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-03-01", + "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.Authorization/policyDefinitions/{policyDefinitionName}": { + "put": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_CreateOrUpdate", + "summary": "Creates or updates a policy definition in a subscription.", + "description": "This operation creates or updates a policy definition in the given subscription with the given name.", + "x-ms-examples": { + "Create or update a policy definition": { + "$ref": "./examples/createOrUpdatePolicyDefinition.json" + }, + "Create or update a policy definition with advanced parameters": { + "$ref": "./examples/createOrUpdatePolicyDefinitionAdvancedParams.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyDefinition" + }, + "description": "The policy definition properties." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_Delete", + "summary": "Deletes a policy definition in a subscription.", + "description": "This operation deletes the policy definition in the given subscription with the given name.", + "x-ms-examples": { + "Delete a policy definition": { + "$ref": "./examples/deletePolicyDefinition.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_Get", + "summary": "Retrieves a policy definition in a subscription.", + "description": "This operation retrieves the policy definition in the given subscription with the given name.", + "x-ms-examples": { + "Retrieve a policy definition": { + "$ref": "./examples/getPolicyDefinition.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}": { + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_GetBuiltIn", + "summary": "Retrieves a built-in policy definition.", + "description": "This operation retrieves the built-in policy definition with the given name.", + "x-ms-examples": { + "Retrieve a built-in policy definition": { + "$ref": "./examples/getBuiltinPolicyDefinition.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the built-in policy definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the built-in policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}": { + "put": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_CreateOrUpdateAtManagementGroup", + "summary": "Creates or updates a policy definition in a management group.", + "description": "This operation creates or updates a policy definition in the given management group with the given name.", + "x-ms-examples": { + "Create or update a policy definition at management group level": { + "$ref": "./examples/createOrUpdatePolicyDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyDefinition" + }, + "description": "The policy definition properties." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_DeleteAtManagementGroup", + "summary": "Deletes a policy definition in a management group.", + "description": "This operation deletes the policy definition in the given management group with the given name.", + "x-ms-examples": { + "Delete a policy definition at management group level": { + "$ref": "./examples/deletePolicyDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_GetAtManagementGroup", + "summary": "Retrieve a policy definition in a management group.", + "description": "This operation retrieves the policy definition in the given management group with the given name.", + "x-ms-examples": { + "Retrieve a policy definition at management group level": { + "$ref": "./examples/getPolicyDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policyDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy definition.", + "schema": { + "$ref": "#/definitions/PolicyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions": { + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_List", + "summary": "Retrieves policy definitions in a subscription", + "description": "This operation retrieves a list of all the policy definitions in a given subscription that match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy definitions associated with the subscription, including those that apply directly or from management groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given subscription. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}.", + "x-ms-examples": { + "List policy definitions by subscription": { + "$ref": "./examples/listPolicyDefinitions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PolicyDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy definitions.", + "schema": { + "$ref": "#/definitions/PolicyDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Authorization/policyDefinitions": { + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_ListBuiltIn", + "summary": "Retrieve built-in policy definitions", + "description": "This operation retrieves a list of all the built-in policy definitions that match the optional given $filter. If $filter='policyType -eq {value}' is provided, the returned list only includes all built-in policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all built-in policy definitions whose category match the {value}.", + "x-ms-examples": { + "List built-in policy definitions": { + "$ref": "./examples/listBuiltInPolicyDefinitions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PolicyDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of built-in policy definitions.", + "schema": { + "$ref": "#/definitions/PolicyDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions": { + "get": { + "tags": [ + "PolicyDefinitions" + ], + "operationId": "PolicyDefinitions_ListByManagementGroup", + "summary": "Retrieve policy definitions in a management group", + "description": "This operation retrieves a list of all the policy definitions in a given management group that match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy definitions associated with the management group, including those that apply directly or from management groups that contain the given management group. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given management group. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}.", + "x-ms-examples": { + "List policy definitions by management group": { + "$ref": "./examples/listPolicyDefinitionsByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/PolicyDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy definitions.", + "schema": { + "$ref": "#/definitions/PolicyDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "PolicyDefinitionProperties": { + "properties": { + "policyType": { + "type": "string", + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom", + "Static" + ], + "x-ms-enum": { + "name": "policyType", + "modelAsString": true + } + }, + "mode": { + "type": "string", + "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "description": { + "type": "string", + "description": "The policy definition description." + }, + "policyRule": { + "type": "object", + "description": "The policy rule." + }, + "metadata": { + "type": "object", + "description": "The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "parameters": { + "description": "The parameter definitions for parameters used in the policy rule. The keys are the parameter names.", + "$ref": "#/definitions/ParameterDefinitions" + } + }, + "description": "The policy definition properties." + }, + "ParameterDefinitionsValue": { + "properties": { + "type": { + "description": "The data type of the parameter.", + "type": "string", + "enum": [ + "String", + "Array", + "Object", + "Boolean", + "Integer", + "Float", + "DateTime" + ], + "x-ms-enum": { + "name": "parameterType", + "modelAsString": true + } + }, + "allowedValues": { + "type": "array", + "items": { + "type": "object" + }, + "description": "The allowed values for the parameter." + }, + "defaultValue": { + "type": "object", + "description": "The default value for the parameter if no value is provided." + }, + "metadata": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The display name for the parameter." + }, + "description": { + "type": "string", + "description": "The description of the parameter." + } + }, + "additionalProperties": { + "type": "object" + }, + "description": "General metadata for the parameter." + } + }, + "description": "The definition of a parameter that can be provided to the policy." + }, + "ParameterDefinitions": { + "description": "The parameter definitions for parameters used in the policy. The keys are the parameter names.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterDefinitionsValue" + } + }, + "PolicyDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyDefinitionProperties", + "description": "The policy definition properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the policy definition." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the policy definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource (Microsoft.Authorization/policyDefinitions)." + } + }, + "description": "The policy definition.", + "x-ms-azure-resource": true + }, + "PolicyDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinition" + }, + "description": "An array of policy definitions." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of policy definitions." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the management group.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + "PolicyDefinitionsFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy definitions whose category match the {value}.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000, + "description": "Maximum number of records to return. When the $top filter is not provided, it will return 500 records.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json new file mode 100644 index 000000000000..0bb170f1ee6f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json @@ -0,0 +1,706 @@ +{ + "swagger": "2.0", + "info": { + "title": "PolicyClient", + "version": "2020-03-01", + "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.Authorization/policySetDefinitions/{policySetDefinitionName}": { + "put": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_CreateOrUpdate", + "summary": "Creates or updates a policy set definition.", + "description": "This operation creates or updates a policy set definition in the given subscription with the given name.", + "x-ms-examples": { + "Create or update a policy set definition": { + "$ref": "./examples/createOrUpdatePolicySetDefinition.json" + }, + "Create or update a policy set definition with groups": { + "$ref": "./examples/createOrUpdatePolicySetDefinitionWithGroups.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + }, + "description": "The policy set definition properties." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "200": { + "description": "OK - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_Delete", + "summary": "Deletes a policy set definition.", + "description": "This operation deletes the policy set definition in the given subscription with the given name.", + "x-ms-examples": { + "Delete a policy set definition": { + "$ref": "./examples/deletePolicySetDefinition.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content - the policy set definition doesn't exist in the subscription." + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_Get", + "summary": "Retrieves a policy set definition.", + "description": "This operation retrieves the policy set definition in the given subscription with the given name.", + "x-ms-examples": { + "Retrieve a policy set definition": { + "$ref": "./examples/getPolicySetDefinition.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": { + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_GetBuiltIn", + "summary": "Retrieves a built in policy set definition.", + "description": "This operation retrieves the built-in policy set definition with the given name.", + "x-ms-examples": { + "Retrieve a built-in policy set definition": { + "$ref": "./examples/getBuiltInPolicySetDefinition.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the built in policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions": { + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_List", + "summary": "Retrieves the policy set definitions for a subscription.", + "description": "This operation retrieves a list of all the policy set definitions in a given subscription that match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy set definitions associated with the subscription, including those that apply directly or from management groups that contain the given subscription. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given subscription. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn and Custom. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}.", + "x-ms-examples": { + "List policy set definitions": { + "$ref": "./examples/listPolicySetDefinitions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/PolicySetDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy set definitions.", + "schema": { + "$ref": "#/definitions/PolicySetDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Authorization/policySetDefinitions": { + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_ListBuiltIn", + "summary": "Retrieves built-in policy set definitions.", + "description": "This operation retrieves a list of all the built-in policy set definitions that match the optional given $filter. If $filter='category -eq {value}' is provided, the returned list only includes all built-in policy set definitions whose category match the {value}.", + "x-ms-examples": { + "List built-in policy set definitions": { + "$ref": "./examples/listBuiltInPolicySetDefinitions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PolicySetDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of built in policy set definitions.", + "schema": { + "$ref": "#/definitions/PolicySetDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}": { + "put": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_CreateOrUpdateAtManagementGroup", + "summary": "Creates or updates a policy set definition.", + "description": "This operation creates or updates a policy set definition in the given management group with the given name.", + "x-ms-examples": { + "Create or update a policy set definition at management group level": { + "$ref": "./examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json" + }, + "Create or update a policy set definition with groups at management group level": { + "$ref": "./examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to create." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + }, + "description": "The policy set definition properties." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "200": { + "description": "OK - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_DeleteAtManagementGroup", + "summary": "Deletes a policy set definition.", + "description": "This operation deletes the policy set definition in the given management group with the given name.", + "x-ms-examples": { + "Delete a policy set definition at management group level": { + "$ref": "./examples/deletePolicySetDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content - the policy set definition doesn't exist in the subscription." + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_GetAtManagementGroup", + "summary": "Retrieves a policy set definition.", + "description": "This operation retrieves the policy set definition in the given management group with the given name.", + "x-ms-examples": { + "Retrieve a policy set definition at management group level": { + "$ref": "./examples/getPolicySetDefinitionAtManagementGroup.json" + } + }, + "parameters": [ + { + "name": "policySetDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the policy set definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the policy set definition.", + "schema": { + "$ref": "#/definitions/PolicySetDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions": { + "get": { + "tags": [ + "PolicySetDefinitions" + ], + "operationId": "PolicySetDefinitions_ListByManagementGroup", + "summary": "Retrieves all policy set definitions in management group.", + "description": "This operation retrieves a list of all the policy set definitions in a given management group that match the optional given $filter. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, the unfiltered list includes all policy set definitions associated with the management group, including those that apply directly or from management groups that contain the given management group. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given management group. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn and Custom. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}.", + "x-ms-examples": { + "List policy set definitions at management group level": { + "$ref": "./examples/listPolicySetDefinitionsByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/PolicySetDefinitionsFilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of policy set definitions.", + "schema": { + "$ref": "#/definitions/PolicySetDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "x-ms-external": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", + "description": "An error response from a policy operation." + }, + "PolicySetDefinitionProperties": { + "properties": { + "policyType": { + "type": "string", + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static.", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom", + "Static" + ], + "x-ms-enum": { + "name": "policyType", + "modelAsString": true + } + }, + "displayName": { + "type": "string", + "description": "The display name of the policy set definition." + }, + "description": { + "type": "string", + "description": "The policy set definition description." + }, + "metadata": { + "type": "object", + "description": "The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "parameters": { + "description": "The policy set definition parameters that can be used in policy definition references.", + "$ref": "./policyDefinitions.json#/definitions/ParameterDefinitions" + }, + "policyDefinitions": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinitionReference" + }, + "description": "An array of policy definition references." + }, + "policyDefinitionGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinitionGroup" + }, + "description": "The metadata describing groups of policy definition references within the policy set definition." + } + }, + "required": [ + "policyDefinitions" + ], + "description": "The policy set definition properties." + }, + "PolicyDefinitionReference": { + "properties": { + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition or policy set definition." + }, + "parameters": { + "description": "The parameter values for the referenced policy rule. The keys are the parameter names.", + "$ref": "./policyAssignments.json#/definitions/ParameterValues" + }, + "policyDefinitionReferenceId": { + "type": "string", + "description": "A unique id (within the policy set definition) for this policy definition reference." + }, + "groupNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The name of the groups that this policy definition reference belongs to." + } + }, + "required": [ + "policyDefinitionId" + ], + "description": "The policy definition reference." + }, + "PolicyDefinitionGroup": { + "properties": { + "name": { + "type": "string", + "description": "The name of the group." + }, + "displayName": { + "type": "string", + "description": "The group's display name." + }, + "category": { + "type": "string", + "description": "The group's category." + }, + "description": { + "type": "string", + "description": "The group's description." + }, + "additionalMetadataId": { + "type": "string", + "description": "A resource ID of a resource that contains additional metadata about the group." + } + }, + "required": [ + "name" + ], + "description": "The policy definition group." + }, + "PolicySetDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicySetDefinitionProperties", + "description": "The policy definition properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the policy set definition." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the policy set definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource (Microsoft.Authorization/policySetDefinitions)." + } + }, + "description": "The policy set definition.", + "x-ms-azure-resource": true + }, + "PolicySetDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PolicySetDefinition" + }, + "description": "An array of policy set definitions." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of policy set definitions." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the management group.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation." + }, + "PolicySetDefinitionsFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Valid values for $filter are: 'atExactScope()', 'policyType -eq {value}' or 'category eq '{value}''. If $filter is not provided, no filtering is performed. If $filter=atExactScope() is provided, the returned list only includes all policy set definitions that at the given scope. If $filter='policyType -eq {value}' is provided, the returned list only includes all policy set definitions whose type match the {value}. Possible policyType values are NotSpecified, BuiltIn, Custom, and Static. If $filter='category -eq {value}' is provided, the returned list only includes all policy set definitions whose category match the {value}.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000, + "description": "Maximum number of records to return. When the $top filter is not provided, it will return 500 records.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json index 9cc8d212cd87..dd273dcb47bf 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json @@ -64,7 +64,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/TemplateSpecModel" + "$ref": "#/definitions/TemplateSpec" }, "description": "Template Spec supplied to the operation." } @@ -73,13 +73,13 @@ "200": { "description": "OK - The Template Spec update request has succeeded.", "schema": { - "$ref": "#/definitions/TemplateSpecModel" + "$ref": "#/definitions/TemplateSpec" } }, "201": { "description": "Template Spec created.", "schema": { - "$ref": "#/definitions/TemplateSpecModel" + "$ref": "#/definitions/TemplateSpec" } }, "default": { @@ -127,7 +127,7 @@ "200": { "description": "OK -- Template Spec tags are updated.", "schema": { - "$ref": "#/definitions/TemplateSpecModel" + "$ref": "#/definitions/TemplateSpec" } }, "default": { @@ -167,7 +167,7 @@ "200": { "description": "OK - Returns information about the Template Spec.", "schema": { - "$ref": "#/definitions/TemplateSpecModel" + "$ref": "#/definitions/TemplateSpec" } }, "default": { @@ -333,7 +333,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/TemplateSpecVersionModel" + "$ref": "#/definitions/TemplateSpecVersion" }, "description": "Template Spec Version supplied to the operation." } @@ -342,13 +342,13 @@ "200": { "description": "OK - The Template Spec Version has been successfully updated.", "schema": { - "$ref": "#/definitions/TemplateSpecVersionModel" + "$ref": "#/definitions/TemplateSpecVersion" } }, "201": { "description": "Template Spec Version created.", "schema": { - "$ref": "#/definitions/TemplateSpecVersionModel" + "$ref": "#/definitions/TemplateSpecVersion" } }, "default": { @@ -399,7 +399,7 @@ "200": { "description": "OK -- Template Spec Version tags are updated.", "schema": { - "$ref": "#/definitions/TemplateSpecVersionModel" + "$ref": "#/definitions/TemplateSpecVersion" } }, "default": { @@ -442,7 +442,7 @@ "200": { "description": "OK - Returns information about the Template Spec version.", "schema": { - "$ref": "#/definitions/TemplateSpecVersionModel" + "$ref": "#/definitions/TemplateSpecVersion" } }, "default": { @@ -544,7 +544,7 @@ } }, "definitions": { - "TemplateSpecModel": { + "TemplateSpec": { "required": [ "location" ], @@ -600,7 +600,7 @@ "value": { "type": "array", "items": { - "$ref": "#/definitions/TemplateSpecModel" + "$ref": "#/definitions/TemplateSpec" }, "description": "An array of Template Specs." }, @@ -675,7 +675,7 @@ } } }, - "TemplateSpecVersionModel": { + "TemplateSpecVersion": { "required": [ "properties", "location" @@ -738,7 +738,7 @@ "value": { "type": "array", "items": { - "$ref": "#/definitions/TemplateSpecVersionModel" + "$ref": "#/definitions/TemplateSpecVersion" }, "description": "An array of Template Spec versions." }, diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/examples/CheckResourceName.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/examples/CheckResourceName.json new file mode 100644 index 000000000000..77e33c4ba8f2 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/examples/CheckResourceName.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "body": [ + { + "Name": "isxbox", + "Type": "ResourceProviderTestHost/TestResourceType" + } + ], + "api-version": "2015-11-01" + }, + "responses": { + "200": { + "body": { + "name": "isxbox", + "type": "ResourceProviderTestHost/TestResourceType", + "status": "Allowed" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/subscriptions.json index 32846f6b7326..81e1db96161e 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/subscriptions.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2015-11-01/subscriptions.json @@ -145,6 +145,46 @@ "nextLinkName": "nextLink" } } + }, + "/providers/Microsoft.Resources/checkResourceName": { + "post": { + "tags": [ + "Tenants" + ], + "operationId": "checkResourceName", + "description": "A resource name is valid if it is not a reserved word, does not contains a reserved word and does not start with a reserved word", + "summary": "Checks resource name validity", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/CheckResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns status as allowed or not.", + "schema": { + "$ref": "#/definitions/CheckResourceNameResult" + } + }, + "default": { + "description": "Error response saying resource name is invalid", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check validity for a resource name.": { + "$ref": "./examples/CheckResourceName.json" + } + } + } } }, "definitions": { @@ -277,9 +317,82 @@ "nextLink" ], "description": "Tenant Ids information." + }, + "ResourceName": { + "description": "Name and Type of the Resource", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name of the resource", + "type": "string" + }, + "type": { + "type": "string", + "description": "The type of the resource" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error description and code explaining why resource name is invalid.", + "properties": { + "message": { + "type": "string", + "description": "Description of the error." + }, + "code": { + "type": "string", + "description": "Code of the error." + } + } + }, + "CheckResourceNameResult": { + "properties": { + "name": { + "description": "Name of Resource", + "type": "string" + }, + "type": { + "description": "Type of Resource", + "type": "string" + }, + "status": { + "description": "Is the resource name Allowed or Reserved", + "type": "string", + "enum": [ + "Allowed", + "Reserved" + ], + "x-ms-enum": { + "name": "ResourceNameStatus", + "modelAsString": true + } + } + }, + "description": "Resource Name valid if not a reserved word, does not contain a reserved word and does not start with a reserved word" } }, "parameters": { + "CheckResourceNameParameter": { + "description": "Resource object with values for resource name and resource type", + "in": "body", + "name": "Resource Name Definition", + "schema": { + "$ref": "#/definitions/ResourceName" + }, + "x-ms-parameter-location": "method" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/examples/CheckResourceName.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/examples/CheckResourceName.json new file mode 100644 index 000000000000..6ee63e4f2ea3 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/examples/CheckResourceName.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "body": [ + { + "Name": "isxbox", + "Type": "ResourceProviderTestHost/TestResourceType" + } + ], + "api-version": "2016-06-01" + }, + "responses": { + "200": { + "body": { + "name": "isxbox", + "type": "ResourceProviderTestHost/TestResourceType", + "status": "Allowed" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json index 0ff278951ee7..7aaee9160c89 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-06-01/subscriptions.json @@ -162,6 +162,46 @@ "nextLinkName": "nextLink" } } + }, + "/providers/Microsoft.Resources/checkResourceName": { + "post": { + "tags": [ + "Tenants" + ], + "operationId": "checkResourceName", + "description": "A resource name is valid if it is not a reserved word, does not contains a reserved word and does not start with a reserved word", + "summary": "Checks resource name validity", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/CheckResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns status as allowed or not.", + "schema": { + "$ref": "#/definitions/CheckResourceNameResult" + } + }, + "default": { + "description": "Error response saying resource name is invalid", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check validity for a resource name.": { + "$ref": "./examples/CheckResourceName.json" + } + } + } } }, "definitions": { @@ -338,6 +378,70 @@ ], "description": "Tenant Ids information." }, + "ResourceName": { + "description": "Name and Type of the Resource", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name of the resource", + "type": "string" + }, + "type": { + "type": "string", + "description": "The type of the resource" + } + } + }, + "CheckResourceNameResult": { + "properties": { + "name": { + "description": "Name of Resource", + "type": "string" + }, + "type": { + "description": "Type of Resource", + "type": "string" + }, + "status": { + "description": "Is the resource name Allowed or Reserved", + "type": "string", + "enum": [ + "Allowed", + "Reserved" + ], + "x-ms-enum": { + "name": "ResourceNameStatus", + "modelAsString": true + } + } + }, + "description": "Resource Name valid if not a reserved word, does not contain a reserved word and does not start with a reserved word" + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error description and code explaining why resource name is invalid.", + "properties": { + "message": { + "type": "string", + "description": "Description of the error." + }, + "code": { + "type": "string", + "description": "Code of the error." + } + } + }, "Operation": { "description": "Microsoft.Resources operation", "type": "object", @@ -395,6 +499,15 @@ "description": "The ID of the target subscription.", "x-ms-parameter-location": "method" }, + "CheckResourceNameParameter": { + "description": "Resource object with values for resource name and resource type", + "in": "body", + "name": "Resource Name Definition", + "schema": { + "$ref": "#/definitions/ResourceName" + }, + "x-ms-parameter-location": "method" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/examples/CheckResourceName.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/examples/CheckResourceName.json new file mode 100644 index 000000000000..cd6b51d941f4 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/examples/CheckResourceName.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "body": [ + { + "Name": "isxbox", + "Type": "ResourceProviderTestHost/TestResourceType" + } + ], + "api-version": "2018-06-01" + }, + "responses": { + "200": { + "body": { + "name": "isxbox", + "type": "ResourceProviderTestHost/TestResourceType", + "status": "Allowed" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json index fe7335ec5a3f..99f212f95c48 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json @@ -162,6 +162,46 @@ "nextLinkName": "nextLink" } } + }, + "/providers/Microsoft.Resources/checkResourceName": { + "post": { + "tags": [ + "Tenants" + ], + "operationId": "checkResourceName", + "description": "A resource name is valid if it is not a reserved word, does not contains a reserved word and does not start with a reserved word", + "summary": "Checks resource name validity", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/CheckResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns status as allowed or not.", + "schema": { + "$ref": "#/definitions/CheckResourceNameResult" + } + }, + "default": { + "description": "Error response saying resource name is invalid", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check validity for a resource name.": { + "$ref": "./examples/CheckResourceName.json" + } + } + } } }, "definitions": { @@ -367,6 +407,70 @@ ], "description": "Tenant Ids information." }, + "ResourceName": { + "description": "Name and Type of the Resource", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name of the resource", + "type": "string" + }, + "type": { + "type": "string", + "description": "The type of the resource" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error description and code explaining why resource name is invalid.", + "properties": { + "message": { + "type": "string", + "description": "Description of the error." + }, + "code": { + "type": "string", + "description": "Code of the error." + } + } + }, + "CheckResourceNameResult": { + "properties": { + "name": { + "description": "Name of Resource", + "type": "string" + }, + "type": { + "description": "Type of Resource", + "type": "string" + }, + "status": { + "description": "Is the resource name Allowed or Reserved", + "type": "string", + "enum": [ + "Allowed", + "Reserved" + ], + "x-ms-enum": { + "name": "ResourceNameStatus", + "modelAsString": true + } + } + }, + "description": "Resource Name valid if not a reserved word, does not contain a reserved word and does not start with a reserved word" + }, "Operation": { "description": "Microsoft.Resources operation", "type": "object", @@ -424,6 +528,15 @@ "description": "The ID of the target subscription.", "x-ms-parameter-location": "method" }, + "CheckResourceNameParameter": { + "description": "Resource object with values for resource name and resource type", + "in": "body", + "name": "Resource Name Definition", + "schema": { + "$ref": "#/definitions/ResourceName" + }, + "x-ms-parameter-location": "method" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-06-01/examples/CheckResourceName.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-06-01/examples/CheckResourceName.json new file mode 100644 index 000000000000..72412b20f92a --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-06-01/examples/CheckResourceName.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "body": [ + { + "Name": "isxbox", + "Type": "ResourceProviderTestHost/TestResourceType" + } + ], + "api-version": "2019-06-01" + }, + "responses": { + "200": { + "body": { + "name": "isxbox", + "type": "ResourceProviderTestHost/TestResourceType", + "status": "Allowed" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-06-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-06-01/subscriptions.json index c64abcc4164a..984bf3ead13f 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-06-01/subscriptions.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-06-01/subscriptions.json @@ -172,6 +172,46 @@ "nextLinkName": "nextLink" } } + }, + "/providers/Microsoft.Resources/checkResourceName": { + "post": { + "tags": [ + "Tenants" + ], + "operationId": "checkResourceName", + "description": "A resource name is valid if it is not a reserved word, does not contains a reserved word and does not start with a reserved word", + "summary": "Checks resource name validity", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/CheckResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns status as allowed or not.", + "schema": { + "$ref": "#/definitions/CheckResourceNameResult" + } + }, + "default": { + "description": "Error response saying resource name is invalid", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check validity for a resource name.": { + "$ref": "./examples/CheckResourceName.json" + } + } + } } }, "definitions": { @@ -408,6 +448,70 @@ ], "description": "Tenant Ids information." }, + "ResourceName": { + "description": "Name and Type of the Resource", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name of the resource", + "type": "string" + }, + "type": { + "type": "string", + "description": "The type of the resource" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error description and code explaining why resource name is invalid.", + "properties": { + "message": { + "type": "string", + "description": "Description of the error." + }, + "code": { + "type": "string", + "description": "Code of the error." + } + } + }, + "CheckResourceNameResult": { + "properties": { + "name": { + "description": "Name of Resource", + "type": "string" + }, + "type": { + "description": "Type of Resource", + "type": "string" + }, + "status": { + "description": "Is the resource name Allowed or Reserved", + "type": "string", + "enum": [ + "Allowed", + "Reserved" + ], + "x-ms-enum": { + "name": "ResourceNameStatus", + "modelAsString": true + } + } + }, + "description": "Resource Name valid if not a reserved word, does not contain a reserved word and does not start with a reserved word" + }, "Operation": { "description": "Microsoft.Resources operation", "type": "object", @@ -465,6 +569,15 @@ "description": "The ID of the target subscription.", "x-ms-parameter-location": "method" }, + "CheckResourceNameParameter": { + "description": "Resource object with values for resource name and resource type", + "in": "body", + "name": "Resource Name Definition", + "schema": { + "$ref": "#/definitions/ResourceName" + }, + "x-ms-parameter-location": "method" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnManagementGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnManagementGroup.json new file mode 100644 index 000000000000..1cd198965ea5 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnManagementGroup.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "groupId": "myManagementGruop", + "deploymentName": "exampleDeploymentName", + "api-version": "2019-10-01", + "parameters": { + "location": "eastus", + "properties": { + "templateLink": "https://example.com/exampleTemplate.json", + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "changes": [ + { + "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "changeType": "Modify", + "before": { + "apiVersion": "2019-06-01", + "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "type": "Microsoft.Authorization/policyAssignments", + "name": "myPolicyAssignment", + "location": "westus2", + "properties": { + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000001", + "enforcementMode": "Default" + } + }, + "after": { + "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "changeType": "Modify", + "before": { + "apiVersion": "2019-06-01", + "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "type": "Microsoft.Authorization/policyAssignments", + "name": "myPolicyAssignment", + "location": "westus2", + "properties": { + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000001", + "enforcementMode": "DoNotEnforce" + } + }, + "delta": [ + { + "path": "properties.enforcementMode", + "propertyChangeType": "Modify", + "before": "Default", + "after": "DoNotEnforce" + } + ] + } + }, + { + "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment2", + "changeType": "Create", + "after": { + "apiVersion": "2019-06-01", + "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment2", + "type": "Microsoft.Authorization/policyAssignments", + "name": "myPolicyAssignment2", + "location": "westus2", + "properties": { + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000002", + "enforcementMode": "Default" + } + } + } + ] + } + } + }, + "202": { + "headers": { + "Location": "/subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnTenant.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnTenant.json new file mode 100644 index 000000000000..f206f7a77c56 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/examples/PostDeploymentWhatIfOnTenant.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "deploymentName": "exampleDeploymentName", + "api-version": "2019-10-01", + "parameters": { + "location": "eastus", + "properties": { + "templateLink": "https://example.com/exampleTemplate.json", + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "changes": [ + { + "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "changeType": "Create", + "after": { + "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "apiVersion": "2019-11-01", + "type": "Microsoft.Management/managementGroups", + "name": "myManagementGroup" + } + } + ] + } + } + }, + "202": { + "headers": { + "Location": "/subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json index 399946292489..9f40dec3bcba 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-10-01/resources.json @@ -609,6 +609,68 @@ } } }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIfAtTenantScope", + "description": "Returns changes that will be made by the deployment if executed at the scope of the tenant group.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeploymentWhatIf" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns What-If operation status", + "schema": { + "$ref": "#/definitions/WhatIfOperationResult" + } + }, + "202": { + "description": "Accepted - Returns URL in Location header to query for long-running operation status.", + "headers": { + "Location": { + "type": "string", + "description": "URL to get status of this long-running operation." + }, + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before polling for status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Predict template changes at management group scope": { + "$ref": "./examples/PostDeploymentWhatIfOnTenant.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, "/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { "post": { "tags": [ @@ -926,6 +988,71 @@ } } }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIfAtManagementGroupScope", + "description": "Returns changes that will be made by the deployment if executed at the scope of the management group.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeploymentWhatIf" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns What-If operation status", + "schema": { + "$ref": "#/definitions/WhatIfOperationResult" + } + }, + "202": { + "description": "Accepted - Returns URL in Location header to query for long-running operation status.", + "headers": { + "Location": { + "type": "string", + "description": "URL to get status of this long-running operation." + }, + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before polling for status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Predict template changes at management group scope": { + "$ref": "./examples/PostDeploymentWhatIfOnManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { "post": { "tags": [ @@ -4384,6 +4511,23 @@ ], "description": "Deployment What-if operation parameters." }, + "ScopedDeploymentWhatIf": { + "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, + "properties": { + "$ref": "#/definitions/DeploymentWhatIfProperties", + "description": "The deployment properties." + } + }, + "required": [ + "location", + "properties" + ], + "description": "Deployment What-if operation parameters." + }, "DeploymentWhatIfProperties": { "properties": { "whatIfSettings": { @@ -5784,7 +5928,25 @@ "Replace", "Merge", "Delete" - ] + ], + "x-ms-enum": { + "name": "tagsPatchOperation", + "modelAsString": true, + "values": [ + { + "value": "Replace", + "description": "The 'replace' option replaces the entire set of existing tags with a new set." + }, + { + "value": "Merge", + "description": "The 'merge' option allows adding tags with new names and updating the values of tags with existing names." + }, + { + "value": "Delete", + "description": "The 'delete' option allows selectively deleting tags based on given names or name/value pairs." + } + ] + } }, "properties": { "$ref": "#/definitions/Tags", diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/CheckResourceName.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/CheckResourceName.json new file mode 100644 index 000000000000..584176e6f6d6 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/examples/CheckResourceName.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "body": [ + { + "Name": "isxbox", + "Type": "ResourceProviderTestHost/TestResourceType" + } + ], + "api-version": "2019-11-01" + }, + "responses": { + "200": { + "body": { + "name": "isxbox", + "type": "ResourceProviderTestHost/TestResourceType", + "status": "Allowed" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json index a10bc931ed11..ad98623bf852 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2019-11-01/subscriptions.json @@ -177,6 +177,46 @@ "nextLinkName": "nextLink" } } + }, + "/providers/Microsoft.Resources/checkResourceName": { + "post": { + "tags": [ + "Tenants" + ], + "operationId": "checkResourceName", + "description": "A resource name is valid if it is not a reserved word, does not contains a reserved word and does not start with a reserved word", + "summary": "Checks resource name validity", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/CheckResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns status as allowed or not.", + "schema": { + "$ref": "#/definitions/CheckResourceNameResult" + } + }, + "default": { + "description": "Error response saying resource name is invalid", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check validity for a resource name.": { + "$ref": "./examples/CheckResourceName.json" + } + } + } } }, "definitions": { @@ -498,6 +538,70 @@ ], "description": "Tenant Ids information." }, + "ResourceName": { + "description": "Name and Type of the Resource", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name of the resource", + "type": "string" + }, + "type": { + "type": "string", + "description": "The type of the resource" + } + } + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error description and code explaining why resource name is invalid.", + "properties": { + "message": { + "type": "string", + "description": "Description of the error." + }, + "code": { + "type": "string", + "description": "Code of the error." + } + } + }, + "CheckResourceNameResult": { + "properties": { + "name": { + "description": "Name of Resource", + "type": "string" + }, + "type": { + "description": "Type of Resource", + "type": "string" + }, + "status": { + "description": "Is the resource name Allowed or Reserved", + "type": "string", + "enum": [ + "Allowed", + "Reserved" + ], + "x-ms-enum": { + "name": "ResourceNameStatus", + "modelAsString": true + } + } + }, + "description": "Resource Name valid if not a reserved word, does not contain a reserved word and does not start with a reserved word" + }, "Operation": { "description": "Microsoft.Resources operation", "type": "object", @@ -555,6 +659,15 @@ "description": "The ID of the target subscription.", "x-ms-parameter-location": "method" }, + "CheckResourceNameParameter": { + "description": "Resource object with values for resource name and resource type", + "in": "body", + "name": "Resource Name Definition", + "schema": { + "$ref": "#/definitions/ResourceName" + }, + "x-ms-parameter-location": "method" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-01-01/examples/CheckResourceName.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-01-01/examples/CheckResourceName.json new file mode 100644 index 000000000000..84ec179e05d9 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-01-01/examples/CheckResourceName.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "body": [ + { + "Name": "isxbox", + "Type": "ResourceProviderTestHost/TestResourceType" + } + ], + "api-version": "2020-01-01" + }, + "responses": { + "200": { + "body": { + "name": "isxbox", + "type": "ResourceProviderTestHost/TestResourceType", + "status": "Allowed" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-01-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-01-01/subscriptions.json index ee5d51274e47..b70ab71ed858 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-01-01/subscriptions.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-01-01/subscriptions.json @@ -182,6 +182,46 @@ "nextLinkName": "nextLink" } } + }, + "/providers/Microsoft.Resources/checkResourceName": { + "post": { + "tags": [ + "Tenants" + ], + "operationId": "checkResourceName", + "description": "A resource name is valid if it is not a reserved word, does not contains a reserved word and does not start with a reserved word", + "summary": "Checks resource name validity", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/CheckResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns status as allowed or not.", + "schema": { + "$ref": "#/definitions/CheckResourceNameResult" + } + }, + "default": { + "description": "Error response saying resource name is invalid", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check validity for a resource name.": { + "$ref": "./examples/CheckResourceName.json" + } + } + } } }, "definitions": { @@ -518,6 +558,70 @@ ], "description": "Tenant Ids information." }, + "ResourceName": { + "description": "Name and Type of the Resource", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name of the resource", + "type": "string" + }, + "type": { + "type": "string", + "description": "The type of the resource" + } + } + }, + "CheckResourceNameResult": { + "properties": { + "name": { + "description": "Name of Resource", + "type": "string" + }, + "type": { + "description": "Type of Resource", + "type": "string" + }, + "status": { + "description": "Is the resource name Allowed or Reserved", + "type": "string", + "enum": [ + "Allowed", + "Reserved" + ], + "x-ms-enum": { + "name": "ResourceNameStatus", + "modelAsString": true + } + } + }, + "description": "Resource Name valid if not a reserved word, does not contain a reserved word and does not start with a reserved word" + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error description and code explaining why resource name is invalid.", + "properties": { + "message": { + "type": "string", + "description": "Description of the error." + }, + "code": { + "type": "string", + "description": "Code of the error." + } + } + }, "Operation": { "description": "Microsoft.Resources operation", "type": "object", @@ -575,6 +679,15 @@ "description": "The ID of the target subscription.", "x-ms-parameter-location": "method" }, + "CheckResourceNameParameter": { + "description": "Resource object with values for resource name and resource type", + "in": "body", + "name": "Resource Name Definition", + "schema": { + "$ref": "#/definitions/ResourceName" + }, + "x-ms-parameter-location": "method" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetNamedProviderAtTenant.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetNamedProviderAtTenant.json new file mode 100644 index 000000000000..0c2168e47790 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/GetNamedProviderAtTenant.json @@ -0,0 +1,253 @@ +{ + "parameters": { + "$expand": "resourceTypes/aliases", + "resourceProviderNamespace": "Microsoft.Storage", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "namespace": "Microsoft.Storage", + "resourceTypes": [ + { + "resourceType": "storageAccounts", + "locations": [ + "East US", + "East US 2", + "East US 2 (Stage)", + "West US", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "North Central US", + "South Central US", + "Central US", + "North Europe", + "Brazil South", + "Australia East", + "Australia Southeast", + "South India", + "Central India", + "West India", + "Canada East", + "Canada Central", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "East US 2 EUAP", + "Central US EUAP", + "France Central", + "France South", + "Australia Central", + "Australia Central 2", + "South Africa West", + "South Africa North", + "UAE Central", + "UAE North", + "Switzerland North", + "Switzerland West", + "Germany West Central", + "Germany North", + "Norway East", + "Norway West", + "South Central US STG", + "Brazil Southeast" + ], + "apiVersions": [ + "2019-06-01", + "2019-04-01", + "2018-11-01", + "2018-07-01", + "2018-03-01-preview", + "2018-02-01", + "2017-10-01", + "2017-06-01", + "2016-12-01", + "2016-05-01", + "2016-01-01", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2019-06-01", + "apiProfiles": [ + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2017-10-01" + }, + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-01-01" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2016-01-01" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-10-01" + } + ], + "aliases": [ + { + "name": "Microsoft.Storage/storageAccounts/accountType", + "paths": [ + { + "path": "properties.accountType", + "apiVersions": [ + "2015-06-15", + "2015-05-01-preview" + ] + }, + { + "path": "sku.name", + "apiVersions": [ + "2018-11-01", + "2018-11-09", + "2018-07-01", + "2018-03-01-Preview", + "2018-02-01", + "2017-10-01", + "2017-06-01", + "2016-12-01", + "2016-05-01", + "2016-01-01" + ] + } + ], + "defaultPath": "sku.name" + }, + { + "name": "Microsoft.Storage/storageAccounts/sku.name", + "paths": [ + { + "path": "properties.accountType", + "apiVersions": [ + "2015-06-15", + "2015-05-01-preview" + ] + }, + { + "path": "sku.name", + "apiVersions": [ + "2018-11-01", + "2018-11-09", + "2018-07-01", + "2018-03-01-Preview", + "2018-02-01", + "2017-10-01", + "2017-06-01", + "2016-12-01", + "2016-05-01", + "2016-01-01" + ] + } + ], + "defaultPath": "sku.name" + }, + { + "name": "Microsoft.Storage/storageAccounts/accessTier", + "paths": [ + { + "path": "properties.accessTier", + "apiVersions": [ + "2018-11-01", + "2018-11-09", + "2018-07-01", + "2018-03-01-Preview", + "2018-02-01", + "2017-10-01", + "2017-06-01", + "2016-12-01", + "2016-05-01", + "2016-01-01", + "2015-06-15", + "2015-05-01-preview" + ] + } + ], + "defaultPath": "properties.accessTier" + }, + { + "name": "Microsoft.Storage/storageAccounts/enableBlobEncryption", + "paths": [ + { + "path": "properties.encryption.services.blob.enabled", + "apiVersions": [ + "2018-11-01", + "2018-11-09", + "2018-07-01", + "2018-03-01-Preview", + "2018-02-01", + "2017-10-01", + "2017-06-01", + "2016-12-01", + "2016-05-01", + "2016-01-01", + "2015-06-15", + "2015-05-01-preview" + ] + } + ], + "defaultPath": "properties.encryption.services.blob.enabled" + }, + { + "name": "Microsoft.Storage/storageAccounts/enableFileEncryption", + "paths": [ + { + "path": "properties.encryption.services.file.enabled", + "apiVersions": [ + "2018-11-01", + "2018-11-09", + "2018-07-01", + "2018-03-01-Preview", + "2018-02-01", + "2017-10-01", + "2017-06-01", + "2016-12-01", + "2016-05-01", + "2016-01-01", + "2015-06-15", + "2015-05-01-preview" + ] + } + ], + "defaultPath": "properties.encryption.services.file.enabled" + }, + { + "name": "Microsoft.Storage/storageAccounts/supportsHttpsTrafficOnly", + "paths": [ + { + "path": "properties.supportsHttpsTrafficOnly", + "apiVersions": [ + "2018-11-09", + "2018-03-01-Preview", + "2016-05-01", + "2016-01-01", + "2015-06-15", + "2015-05-01-preview" + ], + "metadata": { + "type": "NotSpecified", + "attributes": "None" + } + } + ], + "defaultPath": "properties.supportsHttpsTrafficOnly", + "defaultMetadata": { + "type": "Boolean", + "attributes": "Modifiable" + } + } + ], + "capabilities": "SupportsTags, SupportsLocation" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnManagementGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnManagementGroup.json new file mode 100644 index 000000000000..426618aeeee3 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnManagementGroup.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "groupId": "myManagementGruop", + "deploymentName": "exampleDeploymentName", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "templateLink": "https://example.com/exampleTemplate.json", + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "changes": [ + { + "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "changeType": "Modify", + "before": { + "apiVersion": "2019-06-01", + "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "type": "Microsoft.Authorization/policyAssignments", + "name": "myPolicyAssignment", + "location": "westus2", + "properties": { + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000001", + "enforcementMode": "Default" + } + }, + "after": { + "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "changeType": "Modify", + "before": { + "apiVersion": "2019-06-01", + "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment", + "type": "Microsoft.Authorization/policyAssignments", + "name": "myPolicyAssignment", + "location": "westus2", + "properties": { + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000001", + "enforcementMode": "DoNotEnforce" + } + }, + "delta": [ + { + "path": "properties.enforcementMode", + "propertyChangeType": "Modify", + "before": "Default", + "after": "DoNotEnforce" + } + ] + } + }, + { + "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment2", + "changeType": "Create", + "after": { + "apiVersion": "2019-06-01", + "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment2", + "type": "Microsoft.Authorization/policyAssignments", + "name": "myPolicyAssignment2", + "location": "westus2", + "properties": { + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyDefinition", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000002", + "enforcementMode": "Default" + } + } + } + ] + } + } + }, + "202": { + "headers": { + "Location": "/subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnTenant.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnTenant.json new file mode 100644 index 000000000000..789cd5a733e0 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/examples/PostDeploymentWhatIfOnTenant.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "deploymentName": "exampleDeploymentName", + "api-version": "2020-06-01", + "parameters": { + "location": "eastus", + "properties": { + "templateLink": "https://example.com/exampleTemplate.json", + "parameters": {}, + "mode": "Incremental" + } + } + }, + "responses": { + "200": { + "body": { + "status": "Succeeded", + "properties": { + "changes": [ + { + "resourceId": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "changeType": "Create", + "after": { + "id": "/providers/Microsoft.Management/managementGroups/myManagementGroup", + "apiVersion": "2019-11-01", + "type": "Microsoft.Management/managementGroups", + "name": "myManagementGroup" + } + } + ] + } + } + }, + "202": { + "headers": { + "Location": "/subscriptions/4d0ca63b-7939-4c9c-afbe-5fafae501724/operationresults/ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ" + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json index ff07635dde6f..cb91fbec0f89 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json @@ -609,6 +609,68 @@ } } }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIfAtTenantScope", + "description": "Returns changes that will be made by the deployment if executed at the scope of the tenant group.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeploymentWhatIf" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns What-If operation status", + "schema": { + "$ref": "#/definitions/WhatIfOperationResult" + } + }, + "202": { + "description": "Accepted - Returns URL in Location header to query for long-running operation status.", + "headers": { + "Location": { + "type": "string", + "description": "URL to get status of this long-running operation." + }, + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before polling for status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Predict template changes at management group scope": { + "$ref": "./examples/PostDeploymentWhatIfOnTenant.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, "/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { "post": { "tags": [ @@ -926,6 +988,71 @@ } } }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIfAtManagementGroupScope", + "description": "Returns changes that will be made by the deployment if executed at the scope of the management group.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeploymentWhatIf" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns What-If operation status", + "schema": { + "$ref": "#/definitions/WhatIfOperationResult" + } + }, + "202": { + "description": "Accepted - Returns URL in Location header to query for long-running operation status.", + "headers": { + "Location": { + "type": "string", + "description": "URL to get status of this long-running operation." + }, + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before polling for status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Predict template changes at management group scope": { + "$ref": "./examples/PostDeploymentWhatIfOnManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { "post": { "tags": [ @@ -2103,6 +2230,11 @@ "tags": [ "Providers" ], + "x-ms-examples": { + "Get a resource provider at tenant scope": { + "$ref": "./examples/GetNamedProviderAtTenant.json" + } + }, "operationId": "Providers_GetAtTenantScope", "description": "Gets the specified resource provider at the tenant level.", "parameters": [ @@ -2628,7 +2760,7 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SourceSubscriptionIdParameter" + "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -2758,7 +2890,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -2831,7 +2964,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -2908,7 +3042,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "name": "parameters", @@ -3000,7 +3135,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "name": "parameters", @@ -3086,7 +3222,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -3129,7 +3266,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false } ], "responses": { @@ -3167,7 +3305,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false } ], "responses": { @@ -3209,7 +3348,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "name": "parameters", @@ -3266,7 +3406,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "name": "parameters", @@ -3317,7 +3458,8 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false } ], "responses": { @@ -3341,7 +3483,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_DeleteValue", + "operationId": "Tags_DeleteValue", "summary": "Deletes a predefined tag value for a predefined tag name.", "description": "This operation allows deleting a value from the list of predefined values for an existing predefined tag name. The value being deleted must not be in use as a tag value for the given tag name for any resource.", "parameters": [ @@ -3385,7 +3527,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_CreateOrUpdateValue", + "operationId": "Tags_CreateOrUpdateValue", "summary": "Creates a predefined value for a predefined tag name.", "description": "This operation allows adding a value to the list of predefined values for an existing predefined tag name. A tag value can have a maximum of 256 characters.", "parameters": [ @@ -3437,7 +3579,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_CreateOrUpdate", + "operationId": "Tags_CreateOrUpdate", "summary": "Creates a predefined tag name.", "description": "This operation allows adding a name to the list of predefined tag names for the given subscription. A tag name can have a maximum of 512 characters and is case-insensitive. Tag names cannot have the following prefixes which are reserved for Azure use: 'microsoft', 'azure', 'windows'.", "parameters": [ @@ -3480,7 +3622,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_Delete", + "operationId": "Tags_Delete", "summary": "Deletes a predefined tag name.", "description": "This operation allows deleting a name from the list of predefined tag names for the given subscription. The name being deleted must not be in use as a tag name for any resource. All predefined values for the given name must have already been deleted.", "parameters": [ @@ -3519,7 +3661,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_List", + "operationId": "Tags_List", "summary": "Gets a summary of tag usage under the subscription.", "description": "This operation performs a union of predefined tags, resource tags, resource group tags and subscription tags, and returns a summary of usage for each tag name and value under the given subscription. In case of a large number of tags, this operation may return a previously cached result.", "parameters": [ @@ -4040,7 +4182,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_CreateOrUpdateAtScope", + "operationId": "Tags_CreateOrUpdateAtScope", "summary": "Creates or updates the entire set of tags on a resource or subscription.", "description": "This operation allows adding or replacing the entire set of tags on the specified resource or subscription. The specified entity can have a maximum of 50 tags.", "parameters": [ @@ -4086,7 +4228,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_UpdateAtScope", + "operationId": "Tags_UpdateAtScope", "summary": "Selectively updates the set of tags on a resource or subscription.", "description": "This operation allows replacing, merging or selectively deleting tags on the specified resource or subscription. The specified entity can have a maximum of 50 tags at the end of the operation. The 'replace' option replaces the entire set of existing tags with a new set. The 'merge' option allows adding tags with new names and updating the values of tags with existing names. The 'delete' option allows selectively deleting tags based on given names or name/value pairs.", "parameters": [ @@ -4124,7 +4266,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_GetAtScope", + "operationId": "Tags_GetAtScope", "summary": "Gets the entire set of tags on a resource or subscription.", "parameters": [ { @@ -4161,7 +4303,7 @@ "tags": [ "Tags" ], - "operationId": "TagsOperation_DeleteAtScope", + "operationId": "Tags_DeleteAtScope", "summary": "Deletes the entire set of tags on a resource or subscription.", "parameters": [ { @@ -4387,6 +4529,23 @@ ], "description": "Deployment What-if operation parameters." }, + "ScopedDeploymentWhatIf": { + "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, + "properties": { + "$ref": "#/definitions/DeploymentWhatIfProperties", + "description": "The deployment properties." + } + }, + "required": [ + "location", + "properties" + ], + "description": "Deployment What-if operation parameters." + }, "DeploymentWhatIfProperties": { "properties": { "whatIfSettings": { @@ -4427,6 +4586,100 @@ }, "description": "An error response for a resource management request." }, + "ApiProfile": { + "properties": { + "profileVersion": { + "type": "string", + "readOnly": true, + "description": "The profile version." + }, + "apiVersion": { + "type": "string", + "readOnly": true, + "description": "The API version." + } + } + }, + "AliasPathMetadata": { + "properties": { + "type": { + "type": "string", + "readOnly": true, + "enum": [ + "NotSpecified", + "Any", + "String", + "Object", + "Array", + "Integer", + "Number", + "Boolean" + ], + "x-ms-enum": { + "name": "AliasPathTokenType", + "modelAsString": true, + "values": [ + { + "value": "NotSpecified", + "description": "The token type is not specified." + }, + { + "value": "Any", + "description": "The token type can be anything." + }, + { + "value": "String", + "description": "The token type is string." + }, + { + "value": "Object", + "description": "The token type is object." + }, + { + "value": "Array", + "description": "The token type is array." + }, + { + "value": "Integer", + "description": "The token type is integer." + }, + { + "value": "Number", + "description": "The token type is number." + }, + { + "value": "Boolean", + "description": "The token type is boolean." + } + ] + }, + "description": "The type of the token that the alias path is referring to." + }, + "attributes": { + "type": "string", + "readOnly": true, + "enum": [ + "None", + "Modifiable" + ], + "x-ms-enum": { + "name": "AliasPathAttributes", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "The token that the alias path is referring to has no attributes." + }, + { + "value": "Modifiable", + "description": "The token that the alias path is referring to is modifiable by policies with 'modify' effect." + } + ] + }, + "description": "The attributes of the token that the alias path is referring to." + } + } + }, "AliasPath": { "properties": { "path": { @@ -4443,6 +4696,11 @@ "pattern": { "$ref": "#/definitions/AliasPattern", "description": "The pattern for an alias path." + }, + "metadata": { + "readOnly": true, + "$ref": "#/definitions/AliasPathMetadata", + "description": "The metadata of the alias path. If missing, fall back to the default metadata of the alias." } }, "description": "The type of the paths for alias." @@ -4529,6 +4787,11 @@ "defaultPattern": { "$ref": "#/definitions/AliasPattern", "description": "The default pattern for an alias." + }, + "defaultMetadata": { + "readOnly": true, + "$ref": "#/definitions/AliasPathMetadata", + "description": "The default alias path metadata. Applies to the default path and to any alias path that doesn't have metadata" } }, "description": "The alias type. " @@ -4560,6 +4823,19 @@ }, "description": "The API version." }, + "defaultApiVersion": { + "type": "string", + "readOnly": true, + "description": "The default API version." + }, + "apiProfiles": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ApiProfile" + }, + "description": "The API profiles for the resource provider." + }, "capabilities": { "type": "string", "description": "The additional capabilities offered by this resource type." @@ -5421,11 +5697,11 @@ "statusCode": { "readOnly": true, "type": "string", - "description": "Operation status code." + "description": "Operation status code from the resource provider. This property may not be set if a response has not yet been received." }, "statusMessage": { "readOnly": true, - "description": "Operation status message.", + "description": "Operation status message from the resource provider. This property is optional. It will only be provided if an error was received from the resource provider.", "$ref": "#/definitions/StatusMessage" }, "targetResource": { @@ -5805,7 +6081,25 @@ "Replace", "Merge", "Delete" - ] + ], + "x-ms-enum": { + "name": "tagsPatchOperation", + "modelAsString": true, + "values": [ + { + "value": "Replace", + "description": "The 'replace' option replaces the entire set of existing tags with a new set." + }, + { + "value": "Merge", + "description": "The 'merge' option allows adding tags with new names and updating the values of tags with existing names." + }, + { + "value": "Delete", + "description": "The 'delete' option allows selectively deleting tags based on given names or name/value pairs." + } + ] + } }, "properties": { "$ref": "#/definitions/Tags", @@ -5884,13 +6178,6 @@ "type": "string", "description": "The ID of the target subscription." }, - "SourceSubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The ID of the source subscription." - }, "DeploymentNameParameter": { "name": "deploymentName", "in": "path", diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplication.json new file mode 100644 index 000000000000..26d0ac01f2a8 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplication.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2020-08-21-preview", + "parameters": { + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG" + }, + "kind": "ServiceCatalog" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplicationDefinition.json new file mode 100644 index 000000000000..2247a4fedecd --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/createOrUpdateApplicationDefinition.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2020-08-21-preview", + "parameters": { + "properties": { + "lockLevel": "None", + "displayName": "myManagedApplicationDef", + "description": "myManagedApplicationDef description", + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "packageFileUri": "https://path/to/packagezipfile" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + } + }, + "201": { + "headers": {}, + "body": { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplication.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplication.json new file mode 100644 index 000000000000..9d1b515434d6 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplication.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationName": "myManagedApplication", + "api-version": "2020-08-21-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created", + "billingDetails": null, + "jitAccessPolicy": null, + "publisherTenantId": null, + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "managementMode": "Managed", + "customerSupport": null, + "supportUrls": null, + "artifacts": [], + "createdBy": { + "oid": "ClientOid", + "puid": "ClientPuid", + "applicationId": "ClientApplicationId" + }, + "updatedBy": { + "oid": "ClientOid", + "puid": "ClientPuid", + "applicationId": "ClientApplicationId" + } + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplicationDefinition.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplicationDefinition.json new file mode 100644 index 000000000000..543bdd5ab96b --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/getApplicationDefinition.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "applicationDefinitionName": "myManagedApplicationDef", + "api-version": "2020-08-21-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile", + "notificationPolicy": null, + "lockingPolicy": null, + "deploymentPolicy": null, + "managementPolicy": null, + "policies": [] + } + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationDefinitionsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationDefinitionsByResourceGroup.json new file mode 100644 index 000000000000..1d4172cb1ac1 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationDefinitionsByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2020-08-21-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "myManagedApplicationDef", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef description", + "displayName": "myManagedApplicationDef", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + }, + { + "name": "myManagedApplicationDef2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef2", + "type": "Microsoft.Solutions/applicationDefinitions", + "managedBy": null, + "sku": null, + "properties": { + "artifacts": [ + { + "name": "CreateUiDefinition", + "type": "Custom", + "uri": "https://path/to/managedApplicationCreateUiDefinition.json" + }, + { + "name": "ApplicationResourceTemplate", + "type": "Template", + "uri": "https://path/to/mainTemplate.json" + } + ], + "authorizations": [ + { + "principalId": "validprincipalguid", + "roleDefinitionId": "validroleguid" + } + ], + "description": "myManagedApplicationDef2 description", + "displayName": "myManagedApplicationDef2", + "lockLevel": "None", + "packageFileUri": "https://path/to/packagezipfile" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationsByResourceGroup.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationsByResourceGroup.json new file mode 100644 index 000000000000..5fb082f17885 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listApplicationsByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg", + "api-version": "2020-08-21-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "myManagedApplication", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + }, + { + "name": "myManagedApplication2", + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/myManagedApplication2", + "type": "Microsoft.Solutions/applications", + "managedBy": null, + "plan": null, + "identity": null, + "kind": "ServiceCatalog", + "sku": null, + "properties": { + "applicationDefinitionId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/managedApplicationDefinitions/myAppDef2", + "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG", + "outputs": null, + "parameters": null, + "provisioningState": "Created" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listSolutionsOperations.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listSolutionsOperations.json new file mode 100644 index 000000000000..bc7802d2bf55 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/examples/listSolutionsOperations.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-08-21-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "SolutionsOpeartion1", + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource1", + "operation": "Read" + } + }, + { + "name": "SolutionssOpeartion2", + "display": { + "provider": "Microsoft.ResourceProvider", + "resource": "Resource2", + "operation": "Write" + } + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json new file mode 100644 index 000000000000..58091ce4a537 --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json @@ -0,0 +1,2336 @@ +{ + "swagger": "2.0", + "info": { + "title": "ApplicationClient", + "version": "2020-08-21-preview", + "description": "ARM applications" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.Solutions/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "ListOperations", + "description": "Lists all of the available Microsoft.Solutions REST API operations.", + "x-ms-examples": { + "List Solutions operations": { + "$ref": "./examples/listSolutionsOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Applications_Get", + "description": "Gets the managed application.", + "x-ms-examples": { + "Get a managed application": { + "$ref": "./examples/getApplication.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Applications" + ], + "operationId": "Applications_Delete", + "description": "Deletes the managed application.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "Applications" + ], + "operationId": "Applications_CreateOrUpdate", + "description": "Creates a new managed application.", + "x-ms-examples": { + "Create or update managed application": { + "$ref": "./examples/createOrUpdateApplication.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "Parameters supplied to the create or update a managed application." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "201": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Applications" + ], + "operationId": "Applications_Update", + "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "Parameters supplied to update an existing managed application." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}": { + "get": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_Get", + "description": "Gets the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application definition.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_Delete", + "description": "Deletes the managed application definition.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition to delete.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_CreateOrUpdate", + "description": "Creates a new managed application definition.", + "x-ms-examples": { + "Create or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "Parameters supplied to the create or update an managed application definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "201": { + "description": "Created - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "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.Solutions/applicationDefinitions": { + "get": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_ListByResourceGroup", + "description": "Lists the managed application definitions in a resource group.", + "x-ms-examples": { + "List managed application definitions": { + "$ref": "./examples/listApplicationDefinitionsByResourceGroup.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of managed application definitions.", + "schema": { + "$ref": "#/definitions/ApplicationDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Applications_ListByResourceGroup", + "description": "Gets all the applications within a resource group.", + "x-ms-examples": { + "Lists applications": { + "$ref": "./examples/listApplicationsByResourceGroup.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of applications.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Applications_ListBySubscription", + "description": "Gets all the applications within a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of applications.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{applicationId}": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Applications_GetById", + "description": "Gets the managed application.", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Applications" + ], + "operationId": "Applications_DeleteById", + "description": "Deletes the managed application.", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "Applications" + ], + "operationId": "Applications_CreateOrUpdateById", + "description": "Creates a new managed application.", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "Parameters supplied to the create or update a managed application." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "201": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Applications" + ], + "operationId": "Applications_UpdateById", + "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.", + "parameters": [ + { + "name": "applicationId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "Parameters supplied to update an existing managed application." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Created - Returns information about the managed application, including provisioning status.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "JitRequests_Get", + "description": "Gets the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the JIT request", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_CreateOrUpdate", + "description": "Creates or updates the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + }, + "description": "Parameters supplied to the update JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the JIT request.", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "200": { + "description": "Ok - Returns information about existing JIT request.", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "JitRequests" + ], + "operationId": "JitRequests_Update", + "description": "Updates the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestPatchable" + }, + "description": "Parameters supplied to the update JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Ok - Returns information about the JIT request.", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_Delete", + "description": "Deletes the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_ListBySubscription", + "description": "Retrieves all JIT requests within the subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of JIT requests.", + "schema": { + "$ref": "#/definitions/JitRequestDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_ListByResourceGroup", + "description": "Retrieves all JIT requests within the resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of JIT requests.", + "schema": { + "$ref": "#/definitions/JitRequestDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions": { + "post": { + "tags": [ + "Applications" + ], + "operationId": "Applications_RefreshPermissions", + "description": "Refresh Permissions for application.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Ok" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "x-ms-paths": { + "/{applicationDefinitionId}?disambiguation_dummy": { + "get": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_GetById", + "description": "Gets the managed application definition.", + "parameters": [ + { + "name": "applicationDefinitionId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application definition.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_DeleteById", + "description": "Deletes the managed application definition.", + "parameters": [ + { + "name": "applicationDefinitionId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_CreateOrUpdateById", + "description": "Creates a new managed application definition.", + "parameters": [ + { + "name": "applicationDefinitionId", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the managed application definition, including the managed application name and the managed application definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applicationDefinitions/{applicationDefinition-name}", + "x-ms-skip-url-encoding": true + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "Parameters supplied to the create or update a managed application definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "201": { + "description": "Created - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Application": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "The managed application properties." + }, + "plan": { + "$ref": "#/definitions/Plan", + "description": "The plan information." + }, + "kind": { + "type": "string", + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "required": [ + "properties", + "kind" + ], + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application." + }, + "ApplicationPatchable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPropertiesPatchable", + "description": "The managed application properties." + }, + "plan": { + "$ref": "#/definitions/PlanPatchable", + "description": "The plan information." + }, + "kind": { + "type": "string", + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application." + }, + "ApplicationDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationDefinitionProperties", + "description": "The managed application definition properties." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application definition." + }, + "ApplicationProperties": { + "properties": { + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "applicationDefinitionId": { + "type": "string", + "description": "The fully qualified path of managed application definition Id." + }, + "parameters": { + "type": "object", + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." + }, + "outputs": { + "readOnly": true, + "type": "object", + "description": "Name and value pairs that define the managed application outputs." + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The managed application provisioning state." + }, + "billingDetails": { + "readOnly": true, + "$ref": "#/definitions/ApplicationBillingDetailsDefinition", + "description": "The managed application billing details." + }, + "jitAccessPolicy": { + "$ref": "#/definitions/ApplicationJitAccessPolicy", + "description": "The managed application Jit access policy." + }, + "publisherTenantId": { + "type": "string", + "description": "The publisher tenant Id.", + "readOnly": true + }, + "authorizations": { + "description": "The read-only authorizations property that is retrieved from the application package.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationAuthorization" + }, + "readOnly": true + }, + "managementMode": { + "$ref": "#/definitions/ApplicationManagementMode", + "description": "The managed application management mode.", + "readOnly": true + }, + "customerSupport": { + "$ref": "#/definitions/ApplicationPackageContact", + "description": "The read-only customer support property that is retrieved from the application package.", + "readOnly": true + }, + "supportUrls": { + "$ref": "#/definitions/ApplicationPackageSupportUrls", + "description": "The read-only support URLs property that is retrieved from the application package.", + "readOnly": true + }, + "artifacts": { + "description": "The collection of managed application artifacts.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationArtifact" + }, + "readOnly": true + }, + "createdBy": { + "readOnly": true, + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that created the JIT request." + }, + "updatedBy": { + "readOnly": true, + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that last updated the JIT request." + } + }, + "description": "The managed application properties." + }, + "ApplicationPropertiesPatchable": { + "properties": { + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "applicationDefinitionId": { + "type": "string", + "description": "The fully qualified path of managed application definition Id." + }, + "parameters": { + "type": "object", + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." + }, + "outputs": { + "readOnly": true, + "type": "object", + "description": "Name and value pairs that define the managed application outputs." + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The managed application provisioning state." + } + }, + "description": "The managed application properties." + }, + "ApplicationDefinitionProperties": { + "properties": { + "lockLevel": { + "$ref": "#/definitions/ApplicationLockLevel", + "description": "The managed application lock level." + }, + "displayName": { + "type": "string", + "description": "The managed application definition display name." + }, + "isEnabled": { + "type": "boolean", + "description": "A value indicating whether the package is enabled or not." + }, + "authorizations": { + "description": "The managed application provider authorizations.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationAuthorization" + } + }, + "artifacts": { + "description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationDefinitionArtifact" + } + }, + "description": { + "type": "string", + "description": "The managed application definition description." + }, + "packageFileUri": { + "type": "string", + "description": "The managed application definition package file Uri. Use this element" + }, + "storageAccountId": { + "type": "string", + "description": "The storage account id for bring your own storage scenario." + }, + "mainTemplate": { + "type": "object", + "description": "The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string." + }, + "createUiDefinition": { + "type": "object", + "description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string." + }, + "notificationPolicy": { + "$ref": "#/definitions/ApplicationNotificationPolicy", + "description": "The managed application notification policy." + }, + "lockingPolicy": { + "$ref": "#/definitions/ApplicationPackageLockingPolicyDefinition", + "description": "The managed application locking policy." + }, + "deploymentPolicy": { + "$ref": "#/definitions/ApplicationDeploymentPolicy", + "description": "The managed application deployment policy." + }, + "managementPolicy": { + "$ref": "#/definitions/ApplicationManagementPolicy", + "description": "The managed application management policy that determines publisher's access to the managed resource group." + }, + "policies": { + "description": "The managed application provider policies.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPolicy" + } + } + }, + "required": [ + "lockLevel" + ], + "description": "The managed application definition properties." + }, + "Plan": { + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "required": [ + "name", + "publisher", + "product", + "version" + ], + "description": "Plan for the managed application." + }, + "PlanPatchable": { + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "description": "Plan for the managed application." + }, + "GenericResource": { + "properties": { + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Resource information." + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The SKU name." + }, + "tier": { + "type": "string", + "description": "The SKU tier." + }, + "size": { + "type": "string", + "description": "The SKU size." + }, + "family": { + "type": "string", + "description": "The SKU family." + }, + "model": { + "type": "string", + "description": "The SKU model." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The SKU capacity." + } + }, + "required": [ + "name" + ], + "description": "SKU for the resource." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/userAssignedResourceIdentity" + }, + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "userAssignedResourceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of user assigned identity." + } + }, + "description": "Represents the user assigned identity that is contained within the UserAssignedIdentities dictionary on ResourceIdentity" + }, + "Resource": { + "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" + } + }, + "description": "Resource information.", + "x-ms-azure-resource": true + }, + "ApplicationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "description": "The array of managed applications." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of managed applications." + }, + "ApplicationDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "The array of managed application definitions." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of managed application definitions." + }, + "ProvisioningState": { + "description": "Provisioning status of the managed application.", + "readOnly": true, + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ApplicationLockLevel": { + "description": "The managed application lock level.", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationLockLevel", + "modelAsString": false + } + }, + "ApplicationArtifactType": { + "description": "The managed application artifact type.", + "enum": [ + "NotSpecified", + "Template", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationArtifactType", + "modelAsString": false + } + }, + "ApplicationDefinitionArtifactName": { + "description": "The managed application artifact name.", + "enum": [ + "NotSpecified", + "ApplicationResourceTemplate", + "CreateUiDefinition", + "MainTemplateParameters" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationDefinitionArtifactName", + "modelAsString": true + } + }, + "ApplicationArtifactName": { + "description": "The managed application artifact name.", + "enum": [ + "NotSpecified", + "ViewDefinition", + "Authorizations", + "CustomRoleDefinition" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationArtifactName", + "modelAsString": true + } + }, + "ApplicationArtifact": { + "properties": { + "name": { + "$ref": "#/definitions/ApplicationArtifactName", + "description": "The managed application artifact name." + }, + "uri": { + "type": "string", + "description": "The managed application artifact blob uri." + }, + "type": { + "$ref": "#/definitions/ApplicationArtifactType", + "description": "The managed application artifact type." + } + }, + "required": [ + "name", + "type", + "uri" + ], + "description": "Managed application artifact." + }, + "ApplicationDefinitionArtifact": { + "properties": { + "name": { + "$ref": "#/definitions/ApplicationDefinitionArtifactName", + "description": "The managed application definition artifact name." + }, + "uri": { + "type": "string", + "description": "The managed application definition artifact blob uri." + }, + "type": { + "$ref": "#/definitions/ApplicationArtifactType", + "description": "The managed application definition artifact type." + } + }, + "required": [ + "name", + "type", + "uri" + ], + "description": "Application definition artifact." + }, + "ApplicationNotificationPolicy": { + "properties": { + "notificationEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationNotificationEndpoint" + }, + "description": "The managed application notification endpoint." + } + }, + "required": [ + "notificationEndpoints" + ], + "description": "Managed application notification policy." + }, + "ApplicationNotificationEndpoint": { + "properties": { + "uri": { + "type": "string", + "description": "The managed application notification endpoint uri." + } + }, + "required": [ + "uri" + ], + "description": "Managed application notification endpoint." + }, + "ApplicationPackageLockingPolicyDefinition": { + "properties": { + "allowedActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The deny assignment excluded actions." + } + }, + "description": "Managed application locking policy." + }, + "ApplicationDeploymentPolicy": { + "properties": { + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "The managed application deployment mode." + } + }, + "required": [ + "deploymentMode" + ], + "description": "Managed application deployment policy." + }, + "ApplicationManagementPolicy": { + "properties": { + "mode": { + "$ref": "#/definitions/ApplicationManagementMode", + "description": "The managed application management mode." + } + }, + "description": "Managed application management policy." + }, + "ApplicationPolicy": { + "properties": { + "name": { + "type": "string", + "description": "The policy name" + }, + "policyDefinitionId": { + "type": "string", + "description": "The policy definition Id." + }, + "parameters": { + "type": "string", + "description": "The policy parameters." + } + }, + "description": "Managed application policy." + }, + "ApplicationAuthorization": { + "properties": { + "principalId": { + "type": "string", + "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources." + }, + "roleDefinitionId": { + "type": "string", + "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The managed application provider authorization." + }, + "ApplicationPackageContact": { + "properties": { + "contactName": { + "type": "string", + "description": "The contact name." + }, + "email": { + "type": "string", + "description": "The contact email." + }, + "phone": { + "type": "string", + "description": "The contact phone number." + } + }, + "required": [ + "email", + "phone" + ], + "description": "The application package contact information." + }, + "ApplicationPackageSupportUrls": { + "properties": { + "publicAzure": { + "type": "string", + "description": "The public azure support URL." + }, + "governmentCloud": { + "type": "string", + "description": "The government cloud support URL." + } + }, + "description": "The appliance package support URLs." + }, + "ApplicationBillingDetailsDefinition": { + "properties": { + "resourceUsageId": { + "type": "string", + "description": "The managed application resource usage Id." + } + }, + "description": "Managed application billing details definition." + }, + "ApplicationJitAccessPolicy": { + "properties": { + "jitAccessEnabled": { + "type": "boolean", + "description": "Whether the JIT access is enabled." + }, + "jitApprovalMode": { + "$ref": "#/definitions/JitApprovalMode", + "description": "JIT approval mode." + }, + "jitApprovers": { + "type": "array", + "items": { + "$ref": "#/definitions/JitApproverDefinition" + }, + "description": "The JIT approvers" + }, + "maximumJitAccessDuration": { + "type": "string", + "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value." + } + }, + "required": [ + "jitAccessEnabled" + ], + "description": "Managed application Jit access policy." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message." + }, + "JitRequestDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JitRequestProperties", + "description": "The JIT request properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Information about JIT request definition." + }, + "JitRequestPatchable": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Jit request tags" + } + }, + "description": "Information about JIT request." + }, + "JitRequestDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JitRequestDefinition" + }, + "description": "The array of Jit request definition." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of JIT requests." + }, + "JitRequestProperties": { + "properties": { + "applicationResourceId": { + "type": "string", + "description": "The parent application id." + }, + "publisherTenantId": { + "readOnly": true, + "type": "string", + "description": "The publisher tenant id." + }, + "jitAuthorizationPolicies": { + "description": "The JIT authorization policies.", + "type": "array", + "items": { + "$ref": "#/definitions/JitAuthorizationPolicies" + } + }, + "jitSchedulingPolicy": { + "$ref": "#/definitions/JitSchedulingPolicy", + "description": "The JIT request properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The JIT request provisioning state." + }, + "jitRequestState": { + "readOnly": true, + "$ref": "#/definitions/JitRequestState", + "description": "The JIT request state." + }, + "createdBy": { + "readOnly": true, + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that created the JIT request." + }, + "updatedBy": { + "readOnly": true, + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that last updated the JIT request." + } + }, + "required": [ + "applicationResourceId", + "jitAuthorizationPolicies", + "jitSchedulingPolicy" + ], + "description": "Information about JIT request properties" + }, + "JitAuthorizationPolicies": { + "properties": { + "principalId": { + "type": "string", + "description": "The the principal id that will be granted JIT access." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition id that will be granted to the Principal." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The JIT authorization policies." + }, + "JitSchedulingPolicy": { + "properties": { + "type": { + "$ref": "#/definitions/JitSchedulingType", + "description": "The type of JIT schedule." + }, + "duration": { + "type": "string", + "format": "duration", + "title": "The required duration of the JIT request." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the request." + } + }, + "required": [ + "type", + "duration", + "startTime" + ], + "description": "The JIT scheduling policies." + }, + "JitApprovalMode": { + "description": "The Jit approval mode.", + "enum": [ + "NotSpecified", + "AutoApprove", + "ManualApprove" + ], + "type": "string", + "x-ms-enum": { + "name": "JitApprovalMode", + "modelAsString": true + } + }, + "JitApproverDefinition": { + "properties": { + "id": { + "type": "string", + "description": "The approver service principal Id." + }, + "type": { + "type": "string", + "description": "The approver type.", + "enum": [ + "user", + "group" + ], + "x-ms-enum": { + "name": "JitApproverType", + "modelAsString": true + } + }, + "displayName": { + "type": "string", + "description": "The approver display name." + } + }, + "required": [ + "id" + ], + "description": "JIT approver definition." + }, + "ApplicationClientDetails": { + "readOnly": true, + "properties": { + "oid": { + "type": "string", + "description": "The client Oid." + }, + "puid": { + "type": "string", + "description": "The client Puid" + }, + "applicationId": { + "type": "string", + "description": "The client application Id." + } + }, + "description": "The application client details to track the entity creating/updating the managed app resource." + }, + "JitRequestState": { + "description": "The JIT request state.", + "readOnly": true, + "enum": [ + "NotSpecified", + "Pending", + "Approved", + "Denied", + "Failed", + "Canceled", + "Expired", + "Timeout" + ], + "type": "string", + "x-ms-enum": { + "name": "JitRequestState", + "modelAsString": true + } + }, + "JitSchedulingType": { + "description": "The JIT request scheduling type.", + "readOnly": true, + "enum": [ + "NotSpecified", + "Once", + "Recurring" + ], + "type": "string", + "x-ms-enum": { + "name": "JitSchedulingType", + "modelAsString": true + } + }, + "Operation": { + "description": "Microsoft.Solutions operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {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.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Solutions", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Application, JitRequest, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Microsoft.Solutions 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 Microsoft.Solutions operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "DeploymentMode": { + "description": "The deployment mode.", + "enum": [ + "NotSpecified", + "Incremental", + "Complete" + ], + "type": "string", + "x-ms-enum": { + "name": "DeploymentMode", + "modelAsString": true + } + }, + "ApplicationManagementMode": { + "description": "The management mode.", + "enum": [ + "NotSpecified", + "Unmanaged", + "Managed" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationManagementMode", + "modelAsString": true + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + } + } +} diff --git a/specification/resources/resource-manager/readme.azureresourceschema.md b/specification/resources/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..184386348e3a --- /dev/null +++ b/specification/resources/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,496 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-solutions-2020-08-21-preview + - tag: schema-solutions-2019-07-01 + - tag: schema-solutions-2018-06-01 + - tag: schema-solutions-2017-09-01 + - tag: schema-solutions-2016-09-01-preview + - tag: schema-resources-2020-06-01 + - tag: schema-resources-2020-01-01 + - tag: schema-resources-2019-11-01 + - tag: schema-resources-2019-10-01-preview + - tag: schema-resources-2019-10-01 + - tag: schema-resources-2019-08-01 + - tag: schema-resources-2019-07-01 + - tag: schema-resources-2019-06-01-preview + - tag: schema-resources-2019-06-01 + - tag: schema-resources-2019-05-10 + - tag: schema-resources-2019-05-01 + - tag: schema-resources-2019-03-01 + - tag: schema-resources-2018-06-01 + - tag: schema-resources-2018-05-01 + - tag: schema-resources-2018-02-01 + - tag: schema-resources-2017-05-10 + - tag: schema-resources-2016-09-01 + - tag: schema-resources-2016-07-01 + - tag: schema-resources-2016-06-01 + - tag: schema-resources-2016-02-01 + - tag: schema-resources-2015-11-01 + - tag: schema-features-2015-12-01 + - tag: schema-authorization-2020-03-01 + - tag: schema-authorization-2019-09-01 + - tag: schema-authorization-2019-06-01 + - tag: schema-authorization-2019-01-01 + - tag: schema-authorization-2018-05-01 + - tag: schema-authorization-2018-03-01 + - tag: schema-authorization-2017-06-01-preview + - tag: schema-authorization-2016-12-01 + - tag: schema-authorization-2016-09-01 + - tag: schema-authorization-2016-04-01 + - tag: schema-authorization-2015-10-01-preview + - tag: schema-authorization-2015-01-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-solutions-2020-08-21-preview and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2020-08-21-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/preview/2020-08-21-preview/managedapplications.json + +``` + +### Tag: schema-solutions-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/stable/2019-07-01/managedapplications.json + +``` + +### Tag: schema-solutions-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/stable/2018-06-01/managedapplications.json + +``` + +### Tag: schema-solutions-2017-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2017-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/stable/2017-09-01/managedapplications.json + +``` + +### Tag: schema-solutions-2016-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-solutions-2016-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json + +``` + +### Tag: schema-resources-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2020-06-01/resources.json + +``` + +### Tag: schema-resources-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2020-01-01/subscriptions.json + +``` + +### Tag: schema-resources-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-11-01/subscriptions.json + +``` + +### Tag: schema-resources-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/preview/2019-10-01-preview/deploymentScripts.json + +``` + +### Tag: schema-resources-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-10-01/resources.json + +``` + +### Tag: schema-resources-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-08-01/resources.json + +``` + +### Tag: schema-resources-2019-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-07-01/resources.json + +``` + +### Tag: schema-resources-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/preview/2019-06-01-preview/templateSpecs.json + +``` + +### Tag: schema-resources-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-06-01/subscriptions.json + +``` + +### Tag: schema-resources-2019-05-10 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-05-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-05-10/resources.json + +``` + +### Tag: schema-resources-2019-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-05-01/resources.json + +``` + +### Tag: schema-resources-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2019-03-01/resources.json + +``` + +### Tag: schema-resources-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2018-06-01/subscriptions.json + +``` + +### Tag: schema-resources-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2018-05-01/resources.json + +``` + +### Tag: schema-resources-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2018-02-01/resources.json + +``` + +### Tag: schema-resources-2017-05-10 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2017-05-10' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2017-05-10/resources.json + +``` + +### Tag: schema-resources-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2016-09-01/resources.json + - Microsoft.Resources/stable/2016-09-01/links.json + +``` + +### Tag: schema-resources-2016-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2016-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2016-07-01/resources.json + +``` + +### Tag: schema-resources-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2016-06-01/subscriptions.json + +``` + +### Tag: schema-resources-2016-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2016-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2016-02-01/resources.json + +``` + +### Tag: schema-resources-2015-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-resources-2015-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Resources/stable/2015-11-01/resources.json + - Microsoft.Resources/stable/2015-11-01/subscriptions.json + +``` + +### Tag: schema-features-2015-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-features-2015-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Features/stable/2015-12-01/features.json + +``` + +### Tag: schema-authorization-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2020-03-01/policyAssignments.json + - Microsoft.Authorization/stable/2020-03-01/policyDefinitions.json + - Microsoft.Authorization/stable/2020-03-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2019-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2019-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2019-09-01/policyAssignments.json + - Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json + - Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2019-06-01/policyAssignments.json + - Microsoft.Authorization/stable/2019-06-01/policyDefinitions.json + - Microsoft.Authorization/stable/2019-06-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2019-01-01/policyAssignments.json + - Microsoft.Authorization/stable/2019-01-01/policyDefinitions.json + - Microsoft.Authorization/stable/2019-01-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2018-05-01/policyAssignments.json + - Microsoft.Authorization/stable/2018-05-01/policyDefinitions.json + - Microsoft.Authorization/stable/2018-05-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2018-03-01/policyAssignments.json + - Microsoft.Authorization/stable/2018-03-01/policyDefinitions.json + - Microsoft.Authorization/stable/2018-03-01/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2017-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2017-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2017-06-01-preview/policyAssignments.json + - Microsoft.Authorization/preview/2017-06-01-preview/policySetDefinitions.json + +``` + +### Tag: schema-authorization-2016-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2016-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json + - Microsoft.Authorization/stable/2016-12-01/policyAssignments.json + +``` + +### Tag: schema-authorization-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2016-09-01/locks.json + +``` + +### Tag: schema-authorization-2016-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2016-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2016-04-01/policy.json + +``` + +### Tag: schema-authorization-2015-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2015-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/preview/2015-10-01-preview/policy.json + +``` + +### Tag: schema-authorization-2015-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-authorization-2015-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Authorization/stable/2015-01-01/locks.json + +``` diff --git a/specification/resources/resource-manager/readme.go.md b/specification/resources/resource-manager/readme.go.md index 4a49cd9c9b42..a2ed83ef017e 100644 --- a/specification/resources/resource-manager/readme.go.md +++ b/specification/resources/resource-manager/readme.go.md @@ -34,6 +34,8 @@ batch: - tag: package-policy-2016-12 - tag: package-policy-2016-04 - tag: package-policy-2015-10 + - tag: package-resources-2020-06 + - tag: package-resources-2019-10 - tag: package-resources-2019-05 - tag: package-resources-2019-03 - tag: package-resources-2018-05 @@ -186,6 +188,26 @@ namespace: policy output-folder: $(go-sdk-folder)/services/preview/resources/mgmt/2015-10-01-preview/policy ``` +### Tag: package-resources-2020-06 and go + +These settings apply only when `--tag=package-resources-2020-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-resources-2020-06' && $(go) +namespace: resources +output-folder: $(go-sdk-folder)/services/resources/mgmt/2020-06-01/resources +``` + +### Tag: package-resources-2019-10 and go + +These settings apply only when `--tag=package-resources-2019-10 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-resources-2019-10' && $(go) +namespace: resources +output-folder: $(go-sdk-folder)/services/resources/mgmt/2019-10-01/resources +``` + ### Tag: package-resources-2019-05 and go These settings apply only when `--tag=package-resources-2019-05 --go` is specified on the command line. diff --git a/specification/resources/resource-manager/readme.java.md b/specification/resources/resource-manager/readme.java.md index 5e5e0d5c92b8..304ceb45ad50 100644 --- a/specification/resources/resource-manager/readme.java.md +++ b/specification/resources/resource-manager/readme.java.md @@ -10,6 +10,38 @@ namespace: com.microsoft.azure.management.resources license-header: MICROSOFT_MIT_NO_CODEGEN payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-resources + +directive: + - rename-operation: + from: Tags_DeleteValue + to: TagOperations_DeleteValue + - rename-operation: + from: Tags_CreateOrUpdateValue + to: TagOperations_CreateOrUpdateValue + - rename-operation: + from: Tags_CreateOrUpdate + to: TagOperations_CreateOrUpdate + - rename-operation: + from: Tags_Delete + to: TagOperations_Delete + - rename-operation: + from: Tags_DeleteValue + to: TagOperations_DeleteValue + - rename-operation: + from: Tags_List + to: TagOperations_List + - rename-operation: + from: Tags_CreateOrUpdateAtScope + to: TagOperations_CreateOrUpdateAtScope + - rename-operation: + from: Tags_UpdateAtScope + to: TagOperations_UpdateAtScope + - rename-operation: + from: Tags_GetAtScope + to: TagOperations_GetAtScope + - rename-operation: + from: Tags_DeleteAtScope + to: TagOperations_DeleteAtScope ``` ### Java multi-api @@ -198,7 +230,7 @@ Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-resources-2019-03' +namespace: azure.mgmt.resource.resources.v2019_03_01 +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2019_03_01 +python: + namespace: azure.mgmt.resource.resources.v2019_03_01 + output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources/v2019_03_01 +``` + ### Tag: package-resources-2018-05 and python These settings apply only when `--tag=package-resources-2018-05 --python` is specified on the command line. @@ -541,3 +566,16 @@ python: namespace: azure.mgmt.resource.deploymentscripts.v2019_10_preview output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts/v2019_10_preview ``` + +### Tag: package-templatespecs-2019-06-preview and python + +These settings apply only when `--tag=package-templatespecs-2019-06-preview` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-templatespecs-2019-06-preview' +namespace: azure.mgmt.resource.templatespecs.v2019_06_01_preview +output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/templatespecs/v2019_06_01_preview +python: + namespace: azure.mgmt.resource.templatespecs.v2019_06_01_preview + output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/templatespecs/v2019_06_01_preview +``` diff --git a/specification/resources/resource-manager/readme.trenton.md b/specification/resources/resource-manager/readme.trenton.md new file mode 100644 index 000000000000..03432508ba66 --- /dev/null +++ b/specification/resources/resource-manager/readme.trenton.md @@ -0,0 +1,50 @@ + +## trenton + +These settings apply only when `--trenton` is specified on the command line. + + +``` yaml $(trenton) +batch: + - package-features: true + - package-policy: true + - package-managedapplications: true +``` + +```yaml $(trenton) && $(package-policy) +trenton: + cli-name: policy + package-name: policy +output-folder: $(trenton-output-folder)/policy +clear-output-folder: true +``` + +```yaml $(trenton) && $(package-features) +trenton: + cli-name: features + package-name: features +output-folder: $(trenton-output-folder)/features +clear-output-folder: true +``` + +```yaml $(trenton) && $(package-managedapplications) +trenton: + cli-name: managedApplications + package-name: managedapplications +output-folder: $(trenton-output-folder)/managedapplications +clear-output-folder: true + +overrides: + - where: + resource: "Applications" + property: "/parameters" + set: + - GoVariableName: "appParameters" + - Gen: "newgen" +``` \ No newline at end of file diff --git a/specification/scheduler/resource-manager/readme.azureresourceschema.md b/specification/scheduler/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..623238bb5d07 --- /dev/null +++ b/specification/scheduler/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-scheduler-2016-03-01 + - tag: schema-scheduler-2016-01-01 + - tag: schema-scheduler-2014-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-scheduler-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-scheduler-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Scheduler/stable/2016-03-01/scheduler.json + +``` + +### Tag: schema-scheduler-2016-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-scheduler-2016-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Scheduler/stable/2016-01-01/scheduler.json + +``` + +### Tag: schema-scheduler-2014-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-scheduler-2014-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Scheduler/preview/2014-08-01-preview/scheduler.json + +``` diff --git a/specification/scheduler/resource-manager/readme.md b/specification/scheduler/resource-manager/readme.md index 9b3c79d1929a..b3783dfa1cdf 100644 --- a/specification/scheduler/resource-manager/readme.md +++ b/specification/scheduler/resource-manager/readme.md @@ -76,6 +76,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_scheduler'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js scheduler/resource-manager ``` @@ -188,6 +191,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json index 4e0ed87596e4..5b7592c4e544 100644 --- a/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json +++ b/specification/search/data-plane/Azure.Search/preview/2019-05-06-preview/examples/SearchServiceCreateOrUpdateSynonymMap.json @@ -2,7 +2,7 @@ "parameters": { "endpoint": "https://myservice.search.windows.net", "synonymMapName": "mysynonymmap", - "api-version": "2019-5-06-Preview", + "api-version": "2019-05-06-Preview", "Prefer": "return=representation", "synonymMap": { "name": "mysynonymmap", diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexAutocompleteDocumentsGet.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexAutocompleteDocumentsGet.json new file mode 100644 index 000000000000..524631487132 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexAutocompleteDocumentsGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview", + "autocompleteMode": "oneTerm", + "search": "washington medic", + "suggesterName": "sg", + "filter": "search.in(docId,'101,102,105')", + "fuzzy": false, + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "searchFields": [ + "title", + "description" + ], + "top": 10 + }, + "responses": { + "200": { + "body": [ + { + "text": "medicaid", + "queryPlusText": "washington medicaid" + }, + { + "text": "medicare", + "queryPlusText": "washington medicare" + }, + { + "text": "medicine", + "queryPlusText": "washington medicine" + } + ] + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexAutocompleteDocumentsPost.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexAutocompleteDocumentsPost.json new file mode 100644 index 000000000000..053c9f3d2077 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexAutocompleteDocumentsPost.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview", + "autocompleteRequest": { + "autocompleteMode": "oneTerm", + "search": "washington medic", + "suggesterName": "sg", + "filter": "search.in(docId,'101,102,105')", + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "searchFields": "title,description", + "top": 10 + } + }, + "responses": { + "200": { + "body": [ + { + "text": "medicaid", + "queryPlusText": "washington medicaid" + }, + { + "text": "medicare", + "queryPlusText": "washington medicare" + }, + { + "text": "medicine", + "queryPlusText": "washington medicine" + } + ] + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexCountDocuments.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexCountDocuments.json new file mode 100644 index 000000000000..4b84442f2615 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexCountDocuments.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": 427 + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexGetDocument.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexGetDocument.json new file mode 100644 index 000000000000..b90c7c10e5de --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexGetDocument.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview", + "key": "1", + "$select": [ + "docId", + "title", + "description" + ] + }, + "responses": { + "200": { + "body": { + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexIndexDocuments.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexIndexDocuments.json new file mode 100644 index 000000000000..40410668b272 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexIndexDocuments.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview", + "batch": { + "value": [ + { + "@search.action": "upload", + "docId": "1", + "title": "Fancy Stay", + "description": "Best hotel in town" + }, + { + "@search.action": "merge", + "docId": "2", + "title": "Roach Motel" + }, + { + "@search.action": "mergeOrUpload", + "docId": "3", + "title": "Econo Motel" + }, + { + "@search.action": "delete", + "docId": "4" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "key": "1", + "status": true, + "errorMessage": null, + "statusCode": 201 + }, + { + "key": "2", + "status": true, + "errorMessage": null, + "statusCode": 200 + }, + { + "key": "3", + "status": true, + "errorMessage": null, + "statusCode": 200 + }, + { + "key": "4", + "status": true, + "errorMessage": null, + "statusCode": 200 + } + ] + } + }, + "207": { + "body": { + "value": [ + { + "key": "1", + "status": true, + "errorMessage": null, + "statusCode": 200 + }, + { + "key": "2", + "status": false, + "errorMessage": "Document not found.", + "statusCode": 404 + }, + { + "key": "3", + "status": true, + "errorMessage": null, + "statusCode": 200 + }, + { + "key": "4", + "status": true, + "errorMessage": null, + "statusCode": 200 + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsGet.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsGet.json new file mode 100644 index 000000000000..9c58402075b7 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsGet.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview", + "$count": true, + "facet": [ + "category,count:10,sort:count" + ], + "$filter": "rating gt 10", + "highlight": [ + "title" + ], + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "$orderby": [ + "search.score() desc", + "rating desc" + ], + "queryType": "simple", + "sessionId": "mysessionid", + "scoringStatistics": "global", + "scoringParameters": [ + "currentLocation--122.123,44.77233" + ], + "scoringProfile": "sp", + "search": "nice hotels", + "searchFields": [ + "title", + "description" + ], + "searchMode": "any", + "$select": [ + "docId", + "title", + "description" + ], + "$skip": 100, + "$top": 10 + }, + "responses": { + "200": { + "body": { + "@odata.count": 25, + "@search.coverage": 80, + "@search.facets": { + "category": [ + { + "count": 1, + "value": "Economy" + }, + { + "count": 1, + "value": "Luxury" + } + ] + }, + "value": [ + { + "@search.score": 1.50, + "@search.highlights": { + "title": [ + "Nice Hotel" + ] + }, + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + }, + { + "@search.score": 0.70, + "@search.highlights": { + "title": [ + "Fancy Hotel" + ] + }, + "description": "Best hotel in town", + "docId": "2", + "title": "Fancy Hotel" + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsPost.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsPost.json new file mode 100644 index 000000000000..19cb45964521 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSearchDocumentsPost.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview", + "searchRequest": { + "count": true, + "facets": [ + "category,count:10,sort:count" + ], + "filter": "rating gt 4.0", + "highlight": "title", + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": null, + "orderby": "search.score() desc,rating desc", + "queryType": "simple", + "scoringParameters": [ + "currentLocation--122.123,44.77233" + ], + "scoringProfile": "sp", + "search": "nice hotels", + "searchFields": "title,description", + "searchMode": "any", + "sessionId": "mysessionid", + "scoringStatistics": "global", + "select": "docId,title,description", + "skip": 0, + "top": 10 + } + }, + "responses": { + "200": { + "body": { + "@odata.count": 25, + "@search.facets": { + "category": [ + { + "count": 1, + "value": "Economy" + }, + { + "count": 1, + "value": "Luxury" + } + ] + }, + "@search.nextPageParameters": { + "count": true, + "facets": [ + "category,count:10,sort:count" + ], + "filter": "rating gt 4.0", + "highlight": "title", + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": null, + "orderby": "search.score() desc,rating desc", + "queryType": "simple", + "sessionId": "mysessionid", + "scoringStatistics": "global", + "scoringParameters": [ + "currentLocation--122.123,44.77233" + ], + "scoringProfile": "sp", + "search": "nice hotels", + "searchFields": "title,description", + "searchMode": "any", + "select": "docId,title,description", + "skip": 2, + "top": 8 + }, + "value": [ + { + "@search.score": 1.50, + "@search.highlights": { + "title": [ + "Nice Hotel" + ] + }, + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + }, + { + "@search.score": 0.70, + "@search.highlights": { + "title": [ + "Fancy Hotel" + ] + }, + "description": "Best hotel in town", + "docId": "2", + "title": "Fancy Hotel" + } + ], + "@odata.nextLink": "https://myservice.search.windows.net/indexes('myindex')/docs/search.post.search?api-version=2020-06-30-Preview" + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSuggestDocumentsGet.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSuggestDocumentsGet.json new file mode 100644 index 000000000000..82719e56e8fc --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSuggestDocumentsGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview", + "$filter": "rating gt 10", + "fuzzy": false, + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "$orderby": [ + "search.score() desc", + "rating desc" + ], + "search": "hote", + "searchFields": [ + "title" + ], + "suggesterName": "sg", + "$select": [ + "docId", + "title", + "description" + ], + "$top": 10 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "@search.text": "Nice Hotel", + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + }, + { + "@search.text": "Fancy Hotel", + "description": "Best hotel in town", + "docId": "2", + "title": "Fancy Hotel" + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSuggestDocumentsPost.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSuggestDocumentsPost.json new file mode 100644 index 000000000000..e7c2fa129d16 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchIndexSuggestDocumentsPost.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview", + "suggestRequest": { + "filter": "rating gt 4.0", + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "orderby": "rating desc", + "search": "hote", + "searchFields": "title", + "select": "docId,title,description", + "suggesterName": "sg", + "top": 10 + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "@search.text": "Nice Hotel", + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + }, + { + "@search.text": "Fancy Hotel", + "description": "Best hotel in town", + "docId": "2", + "title": "Fancy Hotel" + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateDataSource.json new file mode 100644 index 000000000000..a0bc601ee5ea --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateDataSource.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30-Preview", + "dataSource": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId" + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + }, + "responses": { + "201": { + "body": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndex.json new file mode 100644 index 000000000000..14dc71b117a0 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndex.json @@ -0,0 +1,373 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30-Preview", + "index": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "key": true, + "searchable": false + }, + { + "name": "baseRate", + "type": "Edm.Double" + }, + { + "name": "description", + "type": "Edm.String", + "filterable": false, + "sortable": false, + "facetable": false + }, + { + "name": "description_fr", + "type": "Edm.String", + "filterable": false, + "sortable": false, + "facetable": false, + "analyzer": "fr.lucene" + }, + { + "name": "hotelName", + "type": "Edm.String" + }, + { + "name": "category", + "type": "Edm.String" + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "analyzer": "tagsAnalyzer" + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean" + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean" + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset" + }, + { + "name": "rating", + "type": "Edm.Int32" + }, + { + "name": "location", + "type": "Edm.GeographyPoint" + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myapplicationsecret" + } + }, + "similarity": { + "@odata.type": "#Microsoft.Azure.Search.BM25Similarity", + "b": 0.5, + "k1": 1.3 + } + } + }, + "responses": { + "201": { + "body": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + }, + "similarity": { + "@odata.type": "#Microsoft.Azure.Search.BM25Similarity", + "b": 0.5, + "k1": 1.3 + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndexer.json new file mode 100644 index 000000000000..b1f9576ade36 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateIndexer.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30-Preview", + "indexer": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + } + } + }, + "responses": { + "201": { + "body": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateDataSource.json new file mode 100644 index 000000000000..7e2302b90da9 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateDataSource.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "dataSourceName": "mydatasource", + "api-version": "2020-06-30-Preview", + "Prefer": "return=representation", + "dataSource": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId" + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + }, + "responses": { + "200": { + "body": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + }, + "201": { + "body": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndex.json new file mode 100644 index 000000000000..3027e3fbe609 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndex.json @@ -0,0 +1,598 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "hotels", + "allowIndexDowntime": false, + "api-version": "2020-06-30-Preview", + "Prefer": "return=representation", + "index": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "key": true, + "searchable": false + }, + { + "name": "baseRate", + "type": "Edm.Double" + }, + { + "name": "description", + "type": "Edm.String", + "filterable": false, + "sortable": false, + "facetable": false + }, + { + "name": "description_fr", + "type": "Edm.String", + "filterable": false, + "sortable": false, + "facetable": false, + "analyzer": "fr.lucene" + }, + { + "name": "hotelName", + "type": "Edm.String" + }, + { + "name": "category", + "type": "Edm.String" + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "analyzer": "tagsAnalyzer" + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean" + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean" + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset" + }, + { + "name": "rating", + "type": "Edm.Int32" + }, + { + "name": "location", + "type": "Edm.GeographyPoint" + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + }, + "similarity": { + "@odata.type": "#Microsoft.Azure.Search.ClassicSimilarity" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + }, + "similarity": { + "@odata.type": "#Microsoft.Azure.Search.ClassicSimilarity" + } + } + }, + "201": { + "body": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndexer.json new file mode 100644 index 000000000000..4b83952c88db --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateIndexer.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30-Preview", + "Prefer": "return=representation", + "indexer": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + } + } + }, + "responses": { + "200": { + "body": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + } + }, + "201": { + "body": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSkillset.json new file mode 100644 index 000000000000..8357e13c597c --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSkillset.json @@ -0,0 +1,369 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2020-06-30-Preview", + "Prefer": "return=representation", + "skillset": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "textSplitMode": "pages", + "maximumPageLength": 4000, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + }, + "responses": { + "200": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + }, + "201": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSynonymMap.json new file mode 100644 index 000000000000..5a38f275ca79 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateOrUpdateSynonymMap.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "synonymMapName": "mysynonymmap", + "api-version": "2020-06-30-Preview", + "Prefer": "return=representation", + "synonymMap": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + } + }, + "responses": { + "200": { + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + } + }, + "201": { + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json new file mode 100644 index 000000000000..5264ef96e53c --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSkillset.json @@ -0,0 +1,243 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2020-06-30-Preview", + "Prefer": "return=representation", + "skillset": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "textSplitMode": "pages", + "maximumPageLength": 4000, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + }, + "responses": { + "201": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSynonymMap.json new file mode 100644 index 000000000000..4c67fef9dbda --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceCreateSynonymMap.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30-Preview", + "synonymMap": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myApplicationSecret" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteDataSource.json new file mode 100644 index 000000000000..1e457e0082d2 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteDataSource.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "dataSourceName": "mydatasource", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteIndex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteIndex.json new file mode 100644 index 000000000000..9619e3daa71d --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteIndex.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteIndexer.json new file mode 100644 index 000000000000..6e2c6850644f --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteIndexer.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteSkillset.json new file mode 100644 index 000000000000..04535e653be5 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteSkillset.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteSynonymMap.json new file mode 100644 index 000000000000..87e6b9084a77 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceDeleteSynonymMap.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "synonymMapName": "mysynonymmap", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetDataSource.json new file mode 100644 index 000000000000..4fd21c6cd58d --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetDataSource.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "dataSourceName": "mydatasource", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndex.json new file mode 100644 index 000000000000..5286f59197a6 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndex.json @@ -0,0 +1,244 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "hotels", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexStatistics.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexStatistics.json new file mode 100644 index 000000000000..6804435983b4 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexStatistics.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "hotels", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "documentCount": 239572, + "storageSize": 72375920 + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexer.json new file mode 100644 index 000000000000..70d220b9442b --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexer.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexerStatus.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexerStatus.json new file mode 100644 index 000000000000..7e2f41c2830c --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetIndexerStatus.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "status": "running", + "lastResult": { + "status": "success", + "errorMessage": null, + "startTime": "2014-11-26T03:37:18.853Z", + "endTime": "2014-11-26T03:37:19.012Z", + "errors": [], + "warnings": [], + "itemsProcessed": 11, + "itemsFailed": 0, + "initialTrackingState": null, + "finalTrackingState": null + }, + "executionHistory": [ + { + "status": "success", + "errorMessage": null, + "startTime": "2014-11-26T03:37:18.853Z", + "endTime": "2014-11-26T03:37:19.012Z", + "errors": [], + "warnings": [], + "itemsProcessed": 11, + "itemsFailed": 0, + "initialTrackingState": null, + "finalTrackingState": null + }, + { + "status": "transientFailure", + "errorMessage": null, + "startTime": "2014-11-26T03:28:10.125Z", + "endTime": "2014-11-26T03:28:12.007Z", + "errors": [ + { + "key": "", + "errorMessage": "Document key cannot be missing or empty.", + "statusCode": 400, + "name": null, + "details": null, + "documentationLink": null + }, + { + "key": "document id 1", + "errorMessage": "Could not read the value of column 'foo' at index '0'.", + "statusCode": 400, + "name": "DocumentExtraction.AzureBlob.MyDataSource", + "details": "The file could not be parsed.", + "documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388" + } + ], + "warnings": [ + { + "key": "document id", + "message": "A warning doesn't stop indexing, and is intended to inform you of certain interesting situations, like when a blob indexer truncates the amount of text extracted from a blob.", + "name": null, + "details": null, + "documentationLink": null + }, + { + "key": "document id 2", + "message": "Document was truncated to 50000 characters.", + "name": "Enrichment.LanguageDetectionSkill.#4", + "details": "The skill did something that didn't break anything, nonetheless something we didn't expect happened, so it might be worth double checking.", + "documentationLink": "https://go.microsoft.com/fwlink/?linkid=2099692" + } + ], + "itemsProcessed": 1, + "itemsFailed": 2, + "initialTrackingState": null, + "finalTrackingState": null + } + ], + "limits": { + "maxRunTime": "22:00:00", + "maxDocumentExtractionSize": 256000000, + "maxDocumentContentCharactersToExtract": 4000000 + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetServiceStatistics.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetServiceStatistics.json new file mode 100644 index 000000000000..32a0da8a81bd --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetServiceStatistics.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "counters": { + "documentCount": { + "usage": 7093, + "quota": 10000 + }, + "indexesCount": { + "usage": 3, + "quota": 3 + }, + "indexersCount": { + "usage": 3, + "quota": 3 + }, + "dataSourcesCount": { + "usage": 1, + "quota": 3 + }, + "storageSize": { + "usage": 914529, + "quota": 52428800 + }, + "synonymMaps": { + "usage": 2, + "quota": 3 + }, + "skillsetCount": { + "usage": 0, + "quota": 3 + } + }, + "limits": { + "maxFieldsPerIndex": 1000, + "maxFieldNestingDepthPerIndex": 10, + "maxComplexCollectionFieldsPerIndex": 100, + "maxComplexObjectsInCollectionsPerDocument": 3000 + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSkillset.json new file mode 100644 index 000000000000..bd6392af7e5e --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSkillset.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSynonymMap.json new file mode 100644 index 000000000000..cbb563cddc63 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceGetSynonymMap.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "synonymMapName": "mysynonymmap", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceIndexAnalyze.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceIndexAnalyze.json new file mode 100644 index 000000000000..ff9baf5bd0e1 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceIndexAnalyze.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "hotels", + "api-version": "2020-06-30-Preview", + "request": { + "text": "Text to analyze", + "analyzer": "standard.lucene" + } + }, + "responses": { + "200": { + "body": { + "tokens": [ + { + "token": "text", + "startOffset": 0, + "endOffset": 4, + "position": 0 + }, + { + "token": "to", + "startOffset": 5, + "endOffset": 7, + "position": 1 + }, + { + "token": "analyze", + "startOffset": 8, + "endOffset": 15, + "position": 2 + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListDataSources.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListDataSources.json new file mode 100644 index 000000000000..3730022b8d14 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListDataSources.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "$select": "*", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexers.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexers.json new file mode 100644 index 000000000000..b3831b233a9a --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexers.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "$select": "*", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydocdbdatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + }, + { + "name": "myotherindexer", + "description": "another cool indexer", + "dataSourceName": "myblobdatasource", + "targetIndexName": "orders", + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5, + "batchSize": 15 + }, + "fieldMappings": [ + { + "sourceFieldName": "PersonName", + "targetFieldName": "FirstName", + "mappingFunction": { + "name": "extractTokenAtPosition", + "parameters": { + "delimiter": " ", + "position": 0 + } + } + }, + { + "sourceFieldName": "PersonName", + "targetFieldName": "LastName", + "mappingFunction": { + "name": "extractTokenAtPosition", + "parameters": { + "delimiter": " ", + "position": 1 + } + } + } + ], + "disabled": false + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexes.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexes.json new file mode 100644 index 000000000000..e6e6e3a71e93 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListIndexes.json @@ -0,0 +1,287 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "$select": "*", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + }, + { + "name": "testindex", + "fields": [ + { + "name": "id", + "type": "Edm.String", + "searchable": false, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "hidden", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": false, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [], + "defaultScoringProfile": null, + "suggesters": [], + "analyzers": [], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": null, + "encryptionKey": null + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSkillsets.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSkillsets.json new file mode 100644 index 000000000000..01e212f5eac4 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSkillsets.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "$select": "*", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSynonymMaps.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSynonymMaps.json new file mode 100644 index 000000000000..d4b428e08c65 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceListSynonymMaps.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + }, + { + "name": "myothersynonymmap", + "format": "solr", + "synonyms": "couch, sofa, chesterfield\npop, soda\ntoque, hat", + "encryptionKey": null + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceResetIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceResetIndexer.json new file mode 100644 index 000000000000..b12f8e2d7b72 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceResetIndexer.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceRunIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceRunIndexer.json new file mode 100644 index 000000000000..695381edae7e --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/examples/SearchServiceRunIndexer.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30-Preview" + }, + "responses": { + "202": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchindex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchindex.json new file mode 100644 index 000000000000..8f2ac132dd62 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchindex.json @@ -0,0 +1,1619 @@ +{ + "swagger": "2.0", + "info": { + "title": "SearchIndexClient", + "description": "Client that can be used to query an index and upload, merge, or delete documents.", + "version": "2020-06-30-Preview", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true, + "syncMethods": "None" + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}/indexes('{indexName}')", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/EndpointParameter" + }, + { + "$ref": "#/parameters/IndexNameParameter" + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/docs/$count": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_Count", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Count-Documents" + }, + "x-ms-examples": { + "SearchIndexCountDocuments": { + "$ref": "./examples/SearchIndexCountDocuments.json" + } + }, + "description": "Queries the number of documents in the index.", + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "type": "integer", + "format": "int64" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_SearchGet", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents" + }, + "x-ms-examples": { + "SearchIndexSearchDocumentsGet": { + "$ref": "./examples/SearchIndexSearchDocumentsGet.json" + } + }, + "description": "Searches for documents in the index.", + "parameters": [ + { + "name": "search", + "in": "query", + "type": "string", + "description": "A full-text search query expression; Use \"*\" or omit this parameter to match all documents.", + "x-ms-client-name": "SearchText" + }, + { + "name": "$count", + "in": "query", + "type": "boolean", + "description": "A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the count returned is an approximation.", + "x-nullable": false, + "x-ms-client-name": "IncludeTotalResultCount", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "facet", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value pairs.", + "x-ms-client-name": "Facets", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "The OData $filter expression to apply to the search query.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "highlight", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.", + "x-ms-client-name": "HighlightFields", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "highlightPostTag", + "in": "query", + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "highlightPreTag", + "in": "query", + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "minimumCoverage", + "in": "query", + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 100.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$orderby", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no OrderBy is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses.", + "x-ms-client-name": "OrderBy", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "queryType", + "in": "query", + "type": "string", + "enum": [ + "simple", + "full" + ], + "x-ms-enum": { + "name": "QueryType", + "modelAsString": false, + "values": [ + { + "value": "simple", + "name": "Simple", + "description": "Uses the simple query syntax for searches. Search text is interpreted using a simple query language that allows for symbols such as +, * and \"\". Queries are evaluated across all searchable fields by default, unless the searchFields parameter is specified." + }, + { + "value": "full", + "name": "Full", + "description": "Uses the full Lucene query syntax for searches. Search text is interpreted using the Lucene query language which allows field-specific and weighted searches, as well as other advanced features." + } + ] + }, + "x-nullable": false, + "description": "A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "scoringParameter", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "x-ms-client-name": "ScoringParameters", + "description": "The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. For example, if the scoring profile defines a function with a parameter called 'mylocation' the parameter string would be \"mylocation--122.2,44.8\" (without the quotes).", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "scoringProfile", + "in": "query", + "type": "string", + "description": "The name of a scoring profile to evaluate match scores for matching documents in order to sort the results.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "searchFields", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to which to scope the full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names of each fielded search expression take precedence over any field names listed in this parameter.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "searchMode", + "in": "query", + "type": "string", + "enum": [ + "any", + "all" + ], + "x-ms-enum": { + "name": "SearchMode", + "modelAsString": false, + "values": [ + { + "value": "any", + "name": "Any", + "description": "Any of the search terms must be matched in order to count the document as a match." + }, + { + "value": "all", + "name": "All", + "description": "All of the search terms must be matched in order to count the document as a match." + } + ] + }, + "x-nullable": false, + "description": "A value that specifies whether any or all of the search terms must be matched in order to count the document as a match.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "scoringStatistics", + "in": "query", + "type": "string", + "enum": [ + "local", + "global" + ], + "x-ms-enum": { + "name": "ScoringStatistics", + "modelAsString": false, + "values": [ + { + "value": "local", + "name": "Local", + "description": "The scoring statistics will be calculated locally for lower latency." + }, + { + "value": "global", + "name": "Global", + "description": "The scoring statistics will be calculated globally for more consistent scoring." + } + ] + }, + "x-nullable": false, + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "sessionId", + "in": "query", + "type": "string", + "description": "A value to be used to create a sticky session, which can help to get more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$select", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$skip", + "in": "query", + "type": "integer", + "format": "int32", + "description": "The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use $skip due to this limitation, consider using $orderby on a totally-ordered key and $filter with a range query instead.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "The number of search results to retrieve. This can be used in conjunction with $skip to implement client-side paging of search results. If results are truncated due to server-side paging, the response will include a continuation token that can be used to issue another Search request for the next page of results.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing documents that match the search criteria.", + "schema": { + "$ref": "#/definitions/SearchDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.post.search": { + "post": { + "tags": [ + "Documents" + ], + "operationId": "Documents_SearchPost", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents" + }, + "x-ms-examples": { + "SearchIndexSearchDocumentsPost": { + "$ref": "./examples/SearchIndexSearchDocumentsPost.json" + } + }, + "description": "Searches for documents in the index.", + "parameters": [ + { + "name": "searchRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchRequest", + "description": "The Search request." + }, + "description": "The definition of the Search request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing documents that match the search criteria.", + "schema": { + "$ref": "#/definitions/SearchDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs('{key}')": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_Get", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/lookup-document" + }, + "x-ms-examples": { + "SearchIndexGetDocument": { + "$ref": "./examples/SearchIndexGetDocument.json" + } + }, + "description": "Retrieves a document from the index.", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "description": "The key of the document to retrieve.", + "type": "string" + }, + { + "name": "$select", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "List of field names to retrieve for the document; Any field not retrieved will be missing from the returned document.", + "x-ms-client-name": "SelectedFields" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "responses": { + "200": { + "description": "Response containing the requested document.", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.suggest": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_SuggestGet", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/suggestions" + }, + "x-ms-examples": { + "SearchIndexSuggestDocumentsGet": { + "$ref": "./examples/SearchIndexSuggestDocumentsGet.json" + } + }, + "description": "Suggests documents in the index that match the given partial query text.", + "parameters": [ + { + "name": "search", + "in": "query", + "required": true, + "type": "string", + "description": "The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters.", + "x-ms-client-name": "SearchText" + }, + { + "name": "suggesterName", + "in": "query", + "required": true, + "type": "string", + "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "An OData expression that filters the documents considered for suggestions.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "fuzzy", + "in": "query", + "type": "boolean", + "description": "A value indicating whether to use fuzzy matching for the suggestions query. Default is false. When set to true, the query will find terms even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy suggestions queries are slower and consume more resources.", + "x-ms-client-name": "UseFuzzyMatching", + "x-nullable": false, + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "highlightPostTag", + "in": "query", + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting of suggestions is disabled.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "highlightPreTag", + "in": "query", + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting of suggestions is disabled.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "minimumCoverage", + "in": "query", + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a suggestions query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "$orderby", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-client-name": "OrderBy", + "description": "The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "searchFields", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to search for the specified search text. Target fields must be included in the specified suggester.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "$select", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of fields to retrieve. If unspecified, only the key field will be included in the results.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "The number of suggestions to retrieve. The value must be a number between 1 and 100. The default is 5.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing suggested documents that match the partial input.", + "schema": { + "$ref": "#/definitions/SuggestDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.post.suggest": { + "post": { + "tags": [ + "Documents" + ], + "operationId": "Documents_SuggestPost", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/suggestions" + }, + "x-ms-examples": { + "SearchIndexSuggestDocumentsPost": { + "$ref": "./examples/SearchIndexSuggestDocumentsPost.json" + } + }, + "description": "Suggests documents in the index that match the given partial query text.", + "parameters": [ + { + "name": "suggestRequest", + "in": "body", + "required": true, + "description": "The Suggest request.", + "schema": { + "$ref": "#/definitions/SuggestRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing suggested documents that match the partial input.", + "schema": { + "$ref": "#/definitions/SuggestDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.index": { + "post": { + "tags": [ + "Documents" + ], + "operationId": "Documents_Index", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/addupdate-or-delete-documents" + }, + "x-ms-examples": { + "SearchIndexIndexDocuments": { + "$ref": "./examples/SearchIndexIndexDocuments.json" + } + }, + "description": "Sends a batch of document write actions to the index.", + "parameters": [ + { + "name": "batch", + "in": "body", + "description": "The batch of index actions.", + "required": true, + "schema": { + "$ref": "#/definitions/IndexBatch" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing the status of operations for all actions in the batch.", + "schema": { + "$ref": "#/definitions/IndexDocumentsResult" + } + }, + "207": { + "description": "Response containing the status of operations for all actions in the batch.", + "schema": { + "$ref": "#/definitions/IndexDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.autocomplete": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_AutocompleteGet", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/autocomplete" + }, + "x-ms-examples": { + "SearchIndexAutocompleteDocumentsGet": { + "$ref": "./examples/SearchIndexAutocompleteDocumentsGet.json" + } + }, + "description": "Autocompletes incomplete query terms based on input text and matching terms in the index.", + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "search", + "in": "query", + "type": "string", + "required": true, + "description": "The incomplete term which should be auto-completed.", + "x-ms-client-name": "SearchText" + }, + { + "name": "suggesterName", + "in": "query", + "type": "string", + "required": true, + "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition." + }, + { + "name": "autocompleteMode", + "in": "query", + "type": "string", + "x-nullable": false, + "enum": [ + "oneTerm", + "twoTerms", + "oneTermWithContext" + ], + "x-ms-enum": { + "name": "AutocompleteMode", + "modelAsString": false, + "values": [ + { + "value": "oneTerm", + "name": "OneTerm", + "description": "Only one term is suggested. If the query has two terms, only the last term is completed. For example, if the input is 'washington medic', the suggested terms could include 'medicaid', 'medicare', and 'medicine'." + }, + { + "value": "twoTerms", + "name": "TwoTerms", + "description": "Matching two-term phrases in the index will be suggested. For example, if the input is 'medic', the suggested terms could include 'medicare coverage' and 'medical assistant'." + }, + { + "value": "oneTermWithContext", + "name": "OneTermWithContext", + "description": "Completes the last term in a query with two or more terms, where the last two terms are a phrase that exists in the index. For example, if the input is 'washington medic', the suggested terms could include 'washington medicaid' and 'washington medical'." + } + ] + }, + "description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing auto-completed terms.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "An OData expression that filters the documents used to produce completed terms for the Autocomplete result.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "fuzzy", + "in": "query", + "type": "boolean", + "description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will find terms even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy autocomplete queries are slower and consume more resources.", + "x-ms-client-name": "UseFuzzyMatching", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "highlightPostTag", + "in": "query", + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "highlightPreTag", + "in": "query", + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting is disabled.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "minimumCoverage", + "in": "query", + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "searchFields", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing suggested query terms that complete the partial input.", + "schema": { + "$ref": "#/definitions/AutocompleteResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.post.autocomplete": { + "post": { + "tags": [ + "Documents" + ], + "operationId": "Documents_AutocompletePost", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/autocomplete" + }, + "x-ms-examples": { + "SearchIndexAutocompleteDocumentsPost": { + "$ref": "./examples/SearchIndexAutocompleteDocumentsPost.json" + } + }, + "description": "Autocompletes incomplete query terms based on input text and matching terms in the index.", + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "autocompleteRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AutocompleteRequest" + }, + "description": "The definition of the Autocomplete request." + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing suggested query terms that complete the partial input.", + "schema": { + "$ref": "#/definitions/AutocompleteResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + } + }, + "definitions": { + "SuggestDocumentsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SuggestResult" + }, + "readOnly": true, + "x-ms-client-name": "Results", + "description": "The sequence of results returned by the query." + }, + "@search.coverage": { + "type": "number", + "readOnly": true, + "format": "double", + "x-ms-client-name": "Coverage", + "description": "A value indicating the percentage of the index that was included in the query, or null if minimumCoverage was not set in the request." + } + }, + "required": [ + "value" + ], + "description": "Response containing suggestion query results from an index." + }, + "SuggestResult": { + "properties": { + "@search.text": { + "type": "string", + "readOnly": true, + "description": "The text of the suggestion result.", + "x-ms-client-name": "Text" + } + }, + "required": [ + "@search.text" + ], + "additionalProperties": true, + "description": "A result containing a document found by a suggestion query, plus associated metadata." + }, + "FacetResult": { + "properties": { + "count": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The approximate count of documents falling within the bucket described by this facet." + } + }, + "additionalProperties": true, + "description": "A single bucket of a facet query result. Reports the number of documents with a field value falling within a particular range or having a particular value or interval." + }, + "SearchDocumentsResult": { + "properties": { + "@odata.count": { + "type": "integer", + "format": "int64", + "readOnly": true, + "x-ms-client-name": "Count", + "description": "The total count of results found by the search operation, or null if the count was not requested. If present, the count may be greater than the number of results in this response. This can happen if you use the $top or $skip parameters, or if Azure Cognitive Search can't return all the requested documents in a single Search response." + }, + "@search.coverage": { + "type": "number", + "format": "double", + "readOnly": true, + "x-ms-client-name": "Coverage", + "description": "A value indicating the percentage of the index that was included in the query, or null if minimumCoverage was not specified in the request." + }, + "@search.facets": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/FacetResult" + } + }, + "readOnly": true, + "x-ms-client-name": "Facets", + "description": "The facet query results for the search operation, organized as a collection of buckets for each faceted field; null if the query did not include any facet expressions." + }, + "@search.nextPageParameters": { + "$ref": "#/definitions/SearchRequest", + "readOnly": true, + "x-ms-client-name": "NextPageParameters", + "description": "Continuation JSON payload returned when Azure Cognitive Search can't return all the requested results in a single Search response. You can use this JSON along with @odata.nextLink to formulate another POST Search request to get the next part of the search response." + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchResult" + }, + "readOnly": true, + "x-ms-client-name": "Results", + "description": "The sequence of results returned by the query." + }, + "@odata.nextLink": { + "type": "string", + "readOnly": true, + "x-ms-client-name": "NextLink", + "description": "Continuation URL returned when Azure Cognitive Search can't return all the requested results in a single Search response. You can use this URL to formulate another GET or POST Search request to get the next part of the search response. Make sure to use the same verb (GET or POST) as the request that produced this response." + } + }, + "required": [ + "value" + ], + "description": "Response containing search results from an index." + }, + "SearchResult": { + "properties": { + "@search.score": { + "type": "number", + "format": "double", + "readOnly": true, + "x-ms-client-name": "Score", + "x-nullable": false, + "description": "The relevance score of the document compared to other documents returned by the query." + }, + "@search.highlights": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "readOnly": true, + "x-ms-client-name": "Highlights", + "description": "Text fragments from the document that indicate the matching search terms, organized by each applicable field; null if hit highlighting was not enabled for the query." + } + }, + "required": [ + "@search.score" + ], + "additionalProperties": true, + "description": "Contains a document found by a search query, plus associated metadata." + }, + "IndexBatch": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IndexAction" + }, + "description": "The actions in the batch.", + "x-ms-client-name": "Actions" + } + }, + "required": [ + "value" + ], + "description": "Contains a batch of document write actions to send to the index." + }, + "IndexAction": { + "properties": { + "@search.action": { + "type": "string", + "enum": [ + "upload", + "merge", + "mergeOrUpload", + "delete" + ], + "x-ms-enum": { + "name": "IndexActionType", + "modelAsString": false, + "values": [ + { + "value": "upload", + "name": "Upload", + "description": "Inserts the document into the index if it is new and updates it if it exists. All fields are replaced in the update case." + }, + { + "value": "merge", + "name": "Merge", + "description": "Merges the specified field values with an existing document. If the document does not exist, the merge will fail. Any field you specify in a merge will replace the existing field in the document. This also applies to collections of primitive and complex types." + }, + { + "value": "mergeOrUpload", + "name": "MergeOrUpload", + "description": "Behaves like merge if a document with the given key already exists in the index. If the document does not exist, it behaves like upload with a new document." + }, + { + "value": "delete", + "name": "Delete", + "description": "Removes the specified document from the index. Any field you specify in a delete operation other than the key field will be ignored. If you want to remove an individual field from a document, use merge instead and set the field explicitly to null." + } + ] + }, + "x-ms-client-name": "ActionType", + "x-nullable": false, + "description": "The operation to perform on a document in an indexing batch." + } + }, + "additionalProperties": true, + "description": "Represents an index action that operates on a document." + }, + "IndexingResult": { + "properties": { + "key": { + "type": "string", + "readOnly": true, + "description": "The key of a document that was in the indexing request." + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "The error message explaining why the indexing operation failed for the document identified by the key; null if indexing succeeded." + }, + "status": { + "x-ms-client-name": "Succeeded", + "type": "boolean", + "x-nullable": false, + "readOnly": true, + "description": "A value indicating whether the indexing operation succeeded for the document identified by the key." + }, + "statusCode": { + "type": "integer", + "format": "int32", + "x-nullable": false, + "readOnly": true, + "description": "The status code of the indexing operation. Possible values include: 200 for a successful update or delete, 201 for successful document creation, 400 for a malformed input document, 404 for document not found, 409 for a version conflict, 422 when the index is temporarily unavailable, or 503 for when the service is too busy." + } + }, + "required": [ + "key", + "status", + "statusCode" + ], + "description": "Status of an indexing operation for a single document." + }, + "IndexDocumentsResult": { + "properties": { + "value": { + "x-ms-client-name": "Results", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/IndexingResult" + }, + "description": "The list of status information for each document in the indexing request." + } + }, + "required": [ + "value" + ], + "description": "Response containing the status of operations for all documents in the indexing request." + }, + "SearchMode": { + "type": "string", + "enum": [ + "any", + "all" + ], + "x-ms-enum": { + "name": "SearchMode", + "modelAsString": false, + "values": [ + { + "value": "any", + "name": "Any", + "description": "Any of the search terms must be matched in order to count the document as a match." + }, + { + "value": "all", + "name": "All", + "description": "All of the search terms must be matched in order to count the document as a match." + } + ] + }, + "description": "Specifies whether any or all of the search terms must be matched in order to count the document as a match." + }, + "QueryType": { + "type": "string", + "enum": [ + "simple", + "full" + ], + "x-ms-enum": { + "name": "QueryType", + "modelAsString": false, + "values": [ + { + "value": "simple", + "name": "Simple", + "description": "Uses the simple query syntax for searches. Search text is interpreted using a simple query language that allows for symbols such as +, * and \"\". Queries are evaluated across all searchable fields by default, unless the searchFields parameter is specified." + }, + { + "value": "full", + "name": "Full", + "description": "Uses the full Lucene query syntax for searches. Search text is interpreted using the Lucene query language which allows field-specific and weighted searches, as well as other advanced features." + } + ] + }, + "description": "Specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." + }, + "ScoringStatistics": { + "type": "string", + "enum": [ + "local", + "global" + ], + "x-ms-enum": { + "name": "ScoringStatistics", + "modelAsString": false, + "values": [ + { + "value": "local", + "name": "Local", + "description": "The scoring statistics will be calculated locally for lower latency." + }, + { + "value": "global", + "name": "Global", + "description": "The scoring statistics will be calculated globally for more consistent scoring." + } + ] + }, + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries." + }, + "AutocompleteMode": { + "type": "string", + "enum": [ + "oneTerm", + "twoTerms", + "oneTermWithContext" + ], + "x-ms-enum": { + "name": "AutocompleteMode", + "modelAsString": false, + "values": [ + { + "value": "oneTerm", + "name": "OneTerm", + "description": "Only one term is suggested. If the query has two terms, only the last term is completed. For example, if the input is 'washington medic', the suggested terms could include 'medicaid', 'medicare', and 'medicine'." + }, + { + "value": "twoTerms", + "name": "TwoTerms", + "description": "Matching two-term phrases in the index will be suggested. For example, if the input is 'medic', the suggested terms could include 'medicare coverage' and 'medical assistant'." + }, + { + "value": "oneTermWithContext", + "name": "OneTermWithContext", + "description": "Completes the last term in a query with two or more terms, where the last two terms are a phrase that exists in the index. For example, if the input is 'washington medic', the suggested terms could include 'washington medicaid' and 'washington medical'." + } + ] + }, + "description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context in producing autocomplete terms." + }, + "SearchRequest": { + "properties": { + "count": { + "type": "boolean", + "description": "A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the count returned is an approximation.", + "x-ms-client-name": "IncludeTotalResultCount" + }, + "facets": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents" + }, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value pairs." + }, + "filter": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/OData-Expression-Syntax-for-Azure-Search" + }, + "type": "string", + "description": "The OData $filter expression to apply to the search query." + }, + "highlight": { + "type": "string", + "description": "The comma-separated list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.", + "x-ms-client-name": "HighlightFields" + }, + "highlightPostTag": { + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>." + }, + "highlightPreTag": { + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>." + }, + "minimumCoverage": { + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 100." + }, + "orderby": { + "x-ms-client-name": "OrderBy", + "type": "string", + "description": "The comma-separated list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses." + }, + "queryType": { + "$ref": "#/definitions/QueryType", + "description": "A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." + }, + "scoringStatistics": { + "$ref": "#/definitions/ScoringStatistics", + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries." + }, + "sessionId": { + "type": "string", + "description": "A value to be used to create a sticky session, which can help getting more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character." + }, + "scoringParameters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. For example, if the scoring profile defines a function with a parameter called 'mylocation' the parameter string would be \"mylocation--122.2,44.8\" (without the quotes)." + }, + "scoringProfile": { + "type": "string", + "description": "The name of a scoring profile to evaluate match scores for matching documents in order to sort the results." + }, + "search": { + "type": "string", + "description": "A full-text search query expression; Use \"*\" or omit this parameter to match all documents.", + "x-ms-client-name": "SearchText" + }, + "searchFields": { + "type": "string", + "description": "The comma-separated list of field names to which to scope the full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names of each fielded search expression take precedence over any field names listed in this parameter." + }, + "searchMode": { + "$ref": "#/definitions/SearchMode", + "description": "A value that specifies whether any or all of the search terms must be matched in order to count the document as a match." + }, + "select": { + "type": "string", + "description": "The comma-separated list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included." + }, + "skip": { + "type": "integer", + "format": "int32", + "description": "The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use skip due to this limitation, consider using orderby on a totally-ordered key and filter with a range query instead." + }, + "top": { + "type": "integer", + "format": "int32", + "description": "The number of search results to retrieve. This can be used in conjunction with $skip to implement client-side paging of search results. If results are truncated due to server-side paging, the response will include a continuation token that can be used to issue another Search request for the next page of results." + } + }, + "description": "Parameters for filtering, sorting, faceting, paging, and other search query behaviors." + }, + "SuggestRequest": { + "properties": { + "filter": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/OData-Expression-Syntax-for-Azure-Search" + }, + "type": "string", + "description": "An OData expression that filters the documents considered for suggestions." + }, + "fuzzy": { + "type": "boolean", + "description": "A value indicating whether to use fuzzy matching for the suggestion query. Default is false. When set to true, the query will find suggestions even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy suggestion searches are slower and consume more resources.", + "x-ms-client-name": "UseFuzzyMatching" + }, + "highlightPostTag": { + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting of suggestions is disabled." + }, + "highlightPreTag": { + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting of suggestions is disabled." + }, + "minimumCoverage": { + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a suggestion query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80." + }, + "orderby": { + "x-ms-client-name": "OrderBy", + "type": "string", + "description": "The comma-separated list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses." + }, + "search": { + "type": "string", + "description": "The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters.", + "x-ms-client-name": "SearchText" + }, + "searchFields": { + "type": "string", + "description": "The comma-separated list of field names to search for the specified search text. Target fields must be included in the specified suggester." + }, + "select": { + "type": "string", + "description": "The comma-separated list of fields to retrieve. If unspecified, only the key field will be included in the results." + }, + "suggesterName": { + "type": "string", + "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition." + }, + "top": { + "type": "integer", + "format": "int32", + "description": "The number of suggestions to retrieve. This must be a value between 1 and 100. The default is 5." + } + }, + "required": [ + "search", + "suggesterName" + ], + "description": "Parameters for filtering, sorting, fuzzy matching, and other suggestions query behaviors." + }, + "AutocompleteRequest": { + "properties": { + "search": { + "type": "string", + "description": "The search text on which to base autocomplete results.", + "x-ms-client-name": "SearchText" + }, + "autocompleteMode": { + "$ref": "#/definitions/AutocompleteMode", + "description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing auto-completed terms." + }, + "filter": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/OData-Expression-Syntax-for-Azure-Search" + }, + "type": "string", + "description": "An OData expression that filters the documents used to produce completed terms for the Autocomplete result." + }, + "fuzzy": { + "type": "boolean", + "description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will autocomplete terms even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy autocomplete queries are slower and consume more resources.", + "x-ms-client-name": "UseFuzzyMatching" + }, + "highlightPostTag": { + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled." + }, + "highlightPreTag": { + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting is disabled." + }, + "minimumCoverage": { + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80." + }, + "searchFields": { + "type": "string", + "description": "The comma-separated list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester." + }, + "suggesterName": { + "type": "string", + "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition." + }, + "top": { + "type": "integer", + "format": "int32", + "description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5." + } + }, + "required": [ + "search", + "suggesterName" + ], + "description": "Parameters for fuzzy matching, and other autocomplete query behaviors." + }, + "AutocompleteResult": { + "properties": { + "@search.coverage": { + "type": "number", + "format": "double", + "readOnly": true, + "x-ms-client-name": "Coverage", + "description": "A value indicating the percentage of the index that was considered by the autocomplete request, or null if minimumCoverage was not specified in the request." + }, + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AutocompleteItem" + }, + "description": "The list of returned Autocompleted items.", + "x-ms-client-name": "Results" + } + }, + "required": [ + "value" + ], + "description": "The result of Autocomplete query." + }, + "AutocompleteItem": { + "properties": { + "text": { + "type": "string", + "readOnly": true, + "description": "The completed term." + }, + "queryPlusText": { + "type": "string", + "readOnly": true, + "description": "The query along with the completed term." + } + }, + "required": [ + "text", + "queryPlusText" + ], + "description": "The result of Autocomplete requests." + }, + "SearchError": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "A human-readable representation of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchError" + }, + "readOnly": true, + "description": "An array of details about specific errors that led to this reported error." + } + }, + "required": [ + "message" + ], + "description": "Describes an error condition for the Azure Cognitive Search API." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ClientRequestIdParameter": { + "name": "x-ms-client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The tracking ID sent with the request to help with debugging.", + "x-ms-client-request-id": true, + "x-ms-parameter-grouping": { + "name": "request-options" + }, + "x-ms-parameter-location": "method" + }, + "EndpointParameter": { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "description": "The endpoint URL of the search service.", + "x-ms-parameter-location": "client" + }, + "IndexNameParameter": { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": false, + "description": "The name of the index.", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json new file mode 100644 index 000000000000..ff607b71c3b9 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json @@ -0,0 +1,8663 @@ +{ + "swagger": "2.0", + "info": { + "title": "SearchServiceClient", + "description": "Client that can be used to manage and query indexes and documents, as well as manage other resources, on a search service.", + "version": "2020-06-30-Preview", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/EndpointParameter" + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/datasources('{dataSourceName}')": { + "put": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateDataSource": { + "$ref": "./examples/SearchServiceCreateOrUpdateDataSource.json" + } + }, + "description": "Creates a new datasource or updates a datasource if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Data-Source" + }, + "parameters": [ + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the datasource to create or update." + }, + { + "name": "dataSource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + }, + "description": "The definition of the datasource to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + } + }, + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_Delete", + "x-ms-examples": { + "SearchServiceDeleteDataSource": { + "$ref": "./examples/SearchServiceDeleteDataSource.json" + } + }, + "description": "Deletes a datasource.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Data-Source" + }, + "parameters": [ + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the datasource to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_Get", + "x-ms-examples": { + "SearchServiceGetDataSource": { + "$ref": "./examples/SearchServiceGetDataSource.json" + } + }, + "description": "Retrieves a datasource definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Data-Source" + }, + "parameters": [ + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the datasource to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/datasources": { + "get": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_List", + "x-ms-examples": { + "SearchServiceListDataSources": { + "$ref": "./examples/SearchServiceListDataSources.json" + } + }, + "description": "Lists all datasources available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Data-Sources" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the data sources to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListDataSourcesResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "post": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_Create", + "x-ms-examples": { + "SearchServiceCreateDataSource": { + "$ref": "./examples/SearchServiceCreateDataSource.json" + } + }, + "description": "Creates a new datasource.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source" + }, + "parameters": [ + { + "name": "dataSource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + }, + "description": "The definition of the datasource to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers('{indexerName}')/search.reset": { + "post": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Reset", + "x-ms-examples": { + "SearchServiceResetIndexer": { + "$ref": "./examples/SearchServiceResetIndexer.json" + } + }, + "description": "Resets the change tracking state associated with an indexer.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Reset-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to reset." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers('{indexerName}')/search.run": { + "post": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Run", + "x-ms-examples": { + "SearchServiceRunIndexer": { + "$ref": "./examples/SearchServiceRunIndexer.json" + } + }, + "description": "Runs an indexer on-demand.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Run-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to run." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "202": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers('{indexerName}')": { + "put": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateIndexer": { + "$ref": "./examples/SearchServiceCreateOrUpdateIndexer.json" + } + }, + "description": "Creates a new indexer or updates an indexer if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to create or update." + }, + { + "name": "indexer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexer" + }, + "description": "The definition of the indexer to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexer" + } + }, + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexer" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Delete", + "x-ms-examples": { + "SearchServiceDeleteIndexer": { + "$ref": "./examples/SearchServiceDeleteIndexer.json" + } + }, + "description": "Deletes an indexer.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "404": { + "description": "" + }, + "204": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Get", + "x-ms-examples": { + "SearchServiceGetIndexer": { + "$ref": "./examples/SearchServiceGetIndexer.json" + } + }, + "description": "Retrieves an indexer definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexer" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers": { + "get": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_List", + "x-ms-examples": { + "SearchServiceListIndexers": { + "$ref": "./examples/SearchServiceListIndexers.json" + } + }, + "description": "Lists all indexers available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Indexers" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the indexers to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListIndexersResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "post": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Create", + "x-ms-examples": { + "SearchServiceCreateIndexer": { + "$ref": "./examples/SearchServiceCreateIndexer.json" + } + }, + "description": "Creates a new indexer.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Indexer" + }, + "parameters": [ + { + "name": "indexer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexer" + }, + "description": "The definition of the indexer to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexer" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers('{indexerName}')/search.status": { + "get": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_GetStatus", + "x-ms-examples": { + "SearchServiceGetIndexerStatus": { + "$ref": "./examples/SearchServiceGetIndexerStatus.json" + } + }, + "description": "Returns the current status and execution history of an indexer.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Indexer-Status" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer for which to retrieve status." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerStatus" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/skillsets('{skillsetName}')": { + "put": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateSkillset": { + "$ref": "./examples/SearchServiceCreateOrUpdateSkillset.json" + } + }, + "description": "Creates a new skillset in a search service or updates the skillset if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/update-skillset" + }, + "parameters": [ + { + "name": "skillsetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the skillset to create or update." + }, + { + "name": "skillset", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + }, + "description": "The skillset containing one or more skills to create or update in a search service." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "The skillset is successfully updated.", + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + } + }, + "201": { + "description": "The skillset is successfully created.", + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_Delete", + "x-ms-examples": { + "SearchServiceDeleteSkillset": { + "$ref": "./examples/SearchServiceDeleteSkillset.json" + } + }, + "description": "Deletes a skillset in a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/delete-skillset" + }, + "parameters": [ + { + "name": "skillsetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the skillset to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "The skillset is successfully deleted." + }, + "404": { + "description": "The provided skillset name is not found." + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_Get", + "x-ms-examples": { + "SearchServiceGetSkillset": { + "$ref": "./examples/SearchServiceGetSkillset.json" + } + }, + "description": "Retrieves a skillset in a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/get-skillset" + }, + "parameters": [ + { + "name": "skillsetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the skillset to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "The skillset is successfully returned.", + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/skillsets": { + "get": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_List", + "x-ms-examples": { + "SearchServiceListSkillsets": { + "$ref": "./examples/SearchServiceListSkillsets.json" + } + }, + "description": "List all skillsets in a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/list-skillset" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the skillsets to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "The list is successfully returned.", + "schema": { + "$ref": "#/definitions/ListSkillsetsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "post": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_Create", + "x-ms-examples": { + "SearchServiceCreateSkillset": { + "$ref": "./examples/SearchServiceCreateSkillset.json" + } + }, + "description": "Creates a new skillset in a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/create-skillset" + }, + "parameters": [ + { + "name": "skillset", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + }, + "description": "The skillset containing one or more skills to create in a search service." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "The skillset is successfully created.", + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/synonymmaps('{synonymMapName}')": { + "put": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateSynonymMap": { + "$ref": "./examples/SearchServiceCreateOrUpdateSynonymMap.json" + } + }, + "description": "Creates a new synonym map or updates a synonym map if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Synonym-Map" + }, + "parameters": [ + { + "name": "synonymMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the synonym map to create or update." + }, + { + "name": "synonymMap", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SynonymMap" + }, + "description": "The definition of the synonym map to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SynonymMap" + } + }, + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SynonymMap" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_Delete", + "x-ms-examples": { + "SearchServiceDeleteSynonymMap": { + "$ref": "./examples/SearchServiceDeleteSynonymMap.json" + } + }, + "description": "Deletes a synonym map.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Synonym-Map" + }, + "parameters": [ + { + "name": "synonymMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the synonym map to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_Get", + "x-ms-examples": { + "SearchServiceGetSynonymMap": { + "$ref": "./examples/SearchServiceGetSynonymMap.json" + } + }, + "description": "Retrieves a synonym map definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Synonym-Map" + }, + "parameters": [ + { + "name": "synonymMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the synonym map to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SynonymMap" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/synonymmaps": { + "get": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_List", + "x-ms-examples": { + "SearchServiceListSynonymMaps": { + "$ref": "./examples/SearchServiceListSynonymMaps.json" + } + }, + "description": "Lists all synonym maps available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Synonym-Maps" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the synonym maps to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListSynonymMapsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "post": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_Create", + "x-ms-examples": { + "SearchServiceCreateSynonymMap": { + "$ref": "./examples/SearchServiceCreateSynonymMap.json" + } + }, + "description": "Creates a new synonym map.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Synonym-Map" + }, + "parameters": [ + { + "name": "synonymMap", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SynonymMap" + }, + "description": "The definition of the synonym map to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SynonymMap" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexes": { + "post": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_Create", + "x-ms-examples": { + "SearchServiceCreateIndex": { + "$ref": "./examples/SearchServiceCreateIndex.json" + } + }, + "description": "Creates a new search index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index" + }, + "parameters": [ + { + "name": "index", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndex" + }, + "description": "The definition of the index to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndex" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_List", + "x-ms-examples": { + "SearchServiceListIndexes": { + "$ref": "./examples/SearchServiceListIndexes.json" + } + }, + "description": "Lists all indexes available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Indexes" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the index definitions to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListIndexesResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/indexes('{indexName}')": { + "put": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateIndex": { + "$ref": "./examples/SearchServiceCreateOrUpdateIndex.json" + } + }, + "description": "Creates a new search index or updates an index if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Index" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The definition of the index to create or update." + }, + { + "name": "index", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndex" + }, + "description": "The definition of the index to create or update." + }, + { + "name": "allowIndexDowntime", + "in": "query", + "required": false, + "type": "boolean", + "description": "Allows new analyzers, tokenizers, token filters, or char filters to be added to an index by taking the index offline for at least a few seconds. This temporarily causes indexing and query requests to fail. Performance and write availability of the index can be impaired for several minutes after the index is updated, or longer for very large indexes." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndex" + } + }, + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndex" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_Delete", + "x-ms-examples": { + "SearchServiceDeleteIndex": { + "$ref": "./examples/SearchServiceDeleteIndex.json" + } + }, + "description": "Deletes a search index and all the documents it contains. This operation is permanent, with no recovery option. Make sure you have a master copy of your index definition, data ingestion code, and a backup of the primary data source in case you need to re-build the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Index" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the index to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_Get", + "x-ms-examples": { + "SearchServiceGetIndex": { + "$ref": "./examples/SearchServiceGetIndex.json" + } + }, + "description": "Retrieves an index definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Index" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the index to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndex" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexes('{indexName}')/search.stats": { + "get": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_GetStatistics", + "x-ms-examples": { + "SearchServiceGetIndexStatistics": { + "$ref": "./examples/SearchServiceGetIndexStatistics.json" + } + }, + "description": "Returns statistics for the given index, including a document count and storage usage.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Index-Statistics" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the index for which to retrieve statistics." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/GetIndexStatisticsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexes('{indexName}')/search.analyze": { + "post": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_Analyze", + "x-ms-examples": { + "SearchServiceIndexAnalyze": { + "$ref": "./examples/SearchServiceIndexAnalyze.json" + } + }, + "description": "Shows how an analyzer breaks text into tokens.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/test-analyzer" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the index for which to test an analyzer." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AnalyzeRequest" + }, + "description": "The text and analyzer or analysis components to test." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/AnalyzeResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/servicestats": { + "get": { + "tags": [ + "Service" + ], + "operationId": "GetServiceStatistics", + "x-ms-examples": { + "SearchServiceGetServiceStatistics": { + "$ref": "./examples/SearchServiceGetServiceStatistics.json" + } + }, + "description": "Gets service level statistics for a search service.", + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ServiceStatistics" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + } + }, + "definitions": { + "AnalyzeRequest": { + "properties": { + "text": { + "type": "string", + "description": "The text to break into tokens." + }, + "analyzer": { + "$ref": "#/definitions/LexicalAnalyzerName", + "description": "The name of the analyzer to use to break the given text. If this parameter is not specified, you must specify a tokenizer instead. The tokenizer and analyzer parameters are mutually exclusive." + }, + "tokenizer": { + "$ref": "#/definitions/LexicalTokenizerName", + "description": "The name of the tokenizer to use to break the given text. If this parameter is not specified, you must specify an analyzer instead. The tokenizer and analyzer parameters are mutually exclusive." + }, + "tokenFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenFilterName", + "x-nullable": false + }, + "description": "An optional list of token filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter." + }, + "charFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/CharFilterName", + "x-nullable": false + }, + "description": "An optional list of character filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter." + } + }, + "required": [ + "text" + ], + "description": "Specifies some text and analysis components used to break that text into tokens." + }, + "AnalyzeResult": { + "properties": { + "tokens": { + "type": "array", + "items": { + "$ref": "#/definitions/AnalyzedTokenInfo" + }, + "description": "The list of tokens returned by the analyzer specified in the request." + } + }, + "required": [ + "tokens" + ], + "description": "The result of testing an analyzer on text." + }, + "AnalyzedTokenInfo": { + "properties": { + "token": { + "type": "string", + "readOnly": true, + "description": "The token returned by the analyzer." + }, + "startOffset": { + "type": "integer", + "format": "int32", + "readOnly": true, + "x-nullable": false, + "description": "The index of the first character of the token in the input text." + }, + "endOffset": { + "type": "integer", + "format": "int32", + "readOnly": true, + "x-nullable": false, + "description": "The index of the last character of the token in the input text." + }, + "position": { + "type": "integer", + "format": "int32", + "readOnly": true, + "x-nullable": false, + "description": "The position of the token in the input text relative to other tokens. The first token in the input text has position 0, the next has position 1, and so on. Depending on the analyzer used, some tokens might have the same position, for example if they are synonyms of each other." + } + }, + "required": [ + "token", + "startOffset", + "endOffset", + "position" + ], + "description": "Information about a token returned by an analyzer." + }, + "LexicalAnalyzerName": { + "type": "string", + "enum": [ + "ar.microsoft", + "ar.lucene", + "hy.lucene", + "bn.microsoft", + "eu.lucene", + "bg.microsoft", + "bg.lucene", + "ca.microsoft", + "ca.lucene", + "zh-Hans.microsoft", + "zh-Hans.lucene", + "zh-Hant.microsoft", + "zh-Hant.lucene", + "hr.microsoft", + "cs.microsoft", + "cs.lucene", + "da.microsoft", + "da.lucene", + "nl.microsoft", + "nl.lucene", + "en.microsoft", + "en.lucene", + "et.microsoft", + "fi.microsoft", + "fi.lucene", + "fr.microsoft", + "fr.lucene", + "gl.lucene", + "de.microsoft", + "de.lucene", + "el.microsoft", + "el.lucene", + "gu.microsoft", + "he.microsoft", + "hi.microsoft", + "hi.lucene", + "hu.microsoft", + "hu.lucene", + "is.microsoft", + "id.microsoft", + "id.lucene", + "ga.lucene", + "it.microsoft", + "it.lucene", + "ja.microsoft", + "ja.lucene", + "kn.microsoft", + "ko.microsoft", + "ko.lucene", + "lv.microsoft", + "lv.lucene", + "lt.microsoft", + "ml.microsoft", + "ms.microsoft", + "mr.microsoft", + "nb.microsoft", + "no.lucene", + "fa.lucene", + "pl.microsoft", + "pl.lucene", + "pt-BR.microsoft", + "pt-BR.lucene", + "pt-PT.microsoft", + "pt-PT.lucene", + "pa.microsoft", + "ro.microsoft", + "ro.lucene", + "ru.microsoft", + "ru.lucene", + "sr-cyrillic.microsoft", + "sr-latin.microsoft", + "sk.microsoft", + "sl.microsoft", + "es.microsoft", + "es.lucene", + "sv.microsoft", + "sv.lucene", + "ta.microsoft", + "te.microsoft", + "th.microsoft", + "th.lucene", + "tr.microsoft", + "tr.lucene", + "uk.microsoft", + "ur.microsoft", + "vi.microsoft", + "standard.lucene", + "standardasciifolding.lucene", + "keyword", + "pattern", + "simple", + "stop", + "whitespace" + ], + "x-ms-enum": { + "name": "LexicalAnalyzerName", + "modelAsString": true, + "values": [ + { + "value": "ar.microsoft", + "name": "ArMicrosoft", + "description": "Microsoft analyzer for Arabic." + }, + { + "value": "ar.lucene", + "name": "ArLucene", + "description": "Lucene analyzer for Arabic." + }, + { + "value": "hy.lucene", + "name": "HyLucene", + "description": "Lucene analyzer for Armenian." + }, + { + "value": "bn.microsoft", + "name": "BnMicrosoft", + "description": "Microsoft analyzer for Bangla." + }, + { + "value": "eu.lucene", + "name": "EuLucene", + "description": "Lucene analyzer for Basque." + }, + { + "value": "bg.microsoft", + "name": "BgMicrosoft", + "description": "Microsoft analyzer for Bulgarian." + }, + { + "value": "bg.lucene", + "name": "BgLucene", + "description": "Lucene analyzer for Bulgarian." + }, + { + "value": "ca.microsoft", + "name": "CaMicrosoft", + "description": "Microsoft analyzer for Catalan." + }, + { + "value": "ca.lucene", + "name": "CaLucene", + "description": "Lucene analyzer for Catalan." + }, + { + "value": "zh-Hans.microsoft", + "name": "ZhHansMicrosoft", + "description": "Microsoft analyzer for Chinese (Simplified)." + }, + { + "value": "zh-Hans.lucene", + "name": "ZhHansLucene", + "description": "Lucene analyzer for Chinese (Simplified)." + }, + { + "value": "zh-Hant.microsoft", + "name": "ZhHantMicrosoft", + "description": "Microsoft analyzer for Chinese (Traditional)." + }, + { + "value": "zh-Hant.lucene", + "name": "ZhHantLucene", + "description": "Lucene analyzer for Chinese (Traditional)." + }, + { + "value": "hr.microsoft", + "name": "HrMicrosoft", + "description": "Microsoft analyzer for Croatian." + }, + { + "value": "cs.microsoft", + "name": "CsMicrosoft", + "description": "Microsoft analyzer for Czech." + }, + { + "value": "cs.lucene", + "name": "CsLucene", + "description": "Lucene analyzer for Czech." + }, + { + "value": "da.microsoft", + "name": "DaMicrosoft", + "description": "Microsoft analyzer for Danish." + }, + { + "value": "da.lucene", + "name": "DaLucene", + "description": "Lucene analyzer for Danish." + }, + { + "value": "nl.microsoft", + "name": "NlMicrosoft", + "description": "Microsoft analyzer for Dutch." + }, + { + "value": "nl.lucene", + "name": "NlLucene", + "description": "Lucene analyzer for Dutch." + }, + { + "value": "en.microsoft", + "name": "EnMicrosoft", + "description": "Microsoft analyzer for English." + }, + { + "value": "en.lucene", + "name": "EnLucene", + "description": "Lucene analyzer for English." + }, + { + "value": "et.microsoft", + "name": "EtMicrosoft", + "description": "Microsoft analyzer for Estonian." + }, + { + "value": "fi.microsoft", + "name": "FiMicrosoft", + "description": "Microsoft analyzer for Finnish." + }, + { + "value": "fi.lucene", + "name": "FiLucene", + "description": "Lucene analyzer for Finnish." + }, + { + "value": "fr.microsoft", + "name": "FrMicrosoft", + "description": "Microsoft analyzer for French." + }, + { + "value": "fr.lucene", + "name": "FrLucene", + "description": "Lucene analyzer for French." + }, + { + "value": "gl.lucene", + "name": "GlLucene", + "description": "Lucene analyzer for Galician." + }, + { + "value": "de.microsoft", + "name": "DeMicrosoft", + "description": "Microsoft analyzer for German." + }, + { + "value": "de.lucene", + "name": "DeLucene", + "description": "Lucene analyzer for German." + }, + { + "value": "el.microsoft", + "name": "ElMicrosoft", + "description": "Microsoft analyzer for Greek." + }, + { + "value": "el.lucene", + "name": "ElLucene", + "description": "Lucene analyzer for Greek." + }, + { + "value": "gu.microsoft", + "name": "GuMicrosoft", + "description": "Microsoft analyzer for Gujarati." + }, + { + "value": "he.microsoft", + "name": "HeMicrosoft", + "description": "Microsoft analyzer for Hebrew." + }, + { + "value": "hi.microsoft", + "name": "HiMicrosoft", + "description": "Microsoft analyzer for Hindi." + }, + { + "value": "hi.lucene", + "name": "HiLucene", + "description": "Lucene analyzer for Hindi." + }, + { + "value": "hu.microsoft", + "name": "HuMicrosoft", + "description": "Microsoft analyzer for Hungarian." + }, + { + "value": "hu.lucene", + "name": "HuLucene", + "description": "Lucene analyzer for Hungarian." + }, + { + "value": "is.microsoft", + "name": "IsMicrosoft", + "description": "Microsoft analyzer for Icelandic." + }, + { + "value": "id.microsoft", + "name": "IdMicrosoft", + "description": "Microsoft analyzer for Indonesian (Bahasa)." + }, + { + "value": "id.lucene", + "name": "IdLucene", + "description": "Lucene analyzer for Indonesian." + }, + { + "value": "ga.lucene", + "name": "GaLucene", + "description": "Lucene analyzer for Irish." + }, + { + "value": "it.microsoft", + "name": "ItMicrosoft", + "description": "Microsoft analyzer for Italian." + }, + { + "value": "it.lucene", + "name": "ItLucene", + "description": "Lucene analyzer for Italian." + }, + { + "value": "ja.microsoft", + "name": "JaMicrosoft", + "description": "Microsoft analyzer for Japanese." + }, + { + "value": "ja.lucene", + "name": "JaLucene", + "description": "Lucene analyzer for Japanese." + }, + { + "value": "kn.microsoft", + "name": "KnMicrosoft", + "description": "Microsoft analyzer for Kannada." + }, + { + "value": "ko.microsoft", + "name": "KoMicrosoft", + "description": "Microsoft analyzer for Korean." + }, + { + "value": "ko.lucene", + "name": "KoLucene", + "description": "Lucene analyzer for Korean." + }, + { + "value": "lv.microsoft", + "name": "LvMicrosoft", + "description": "Microsoft analyzer for Latvian." + }, + { + "value": "lv.lucene", + "name": "LvLucene", + "description": "Lucene analyzer for Latvian." + }, + { + "value": "lt.microsoft", + "name": "LtMicrosoft", + "description": "Microsoft analyzer for Lithuanian." + }, + { + "value": "ml.microsoft", + "name": "MlMicrosoft", + "description": "Microsoft analyzer for Malayalam." + }, + { + "value": "ms.microsoft", + "name": "MsMicrosoft", + "description": "Microsoft analyzer for Malay (Latin)." + }, + { + "value": "mr.microsoft", + "name": "MrMicrosoft", + "description": "Microsoft analyzer for Marathi." + }, + { + "value": "nb.microsoft", + "name": "NbMicrosoft", + "description": "Microsoft analyzer for Norwegian (Bokmål)." + }, + { + "value": "no.lucene", + "name": "NoLucene", + "description": "Lucene analyzer for Norwegian." + }, + { + "value": "fa.lucene", + "name": "FaLucene", + "description": "Lucene analyzer for Persian." + }, + { + "value": "pl.microsoft", + "name": "PlMicrosoft", + "description": "Microsoft analyzer for Polish." + }, + { + "value": "pl.lucene", + "name": "PlLucene", + "description": "Lucene analyzer for Polish." + }, + { + "value": "pt-BR.microsoft", + "name": "PtBrMicrosoft", + "description": "Microsoft analyzer for Portuguese (Brazil)." + }, + { + "value": "pt-BR.lucene", + "name": "PtBrLucene", + "description": "Lucene analyzer for Portuguese (Brazil)." + }, + { + "value": "pt-PT.microsoft", + "name": "PtPtMicrosoft", + "description": "Microsoft analyzer for Portuguese (Portugal)." + }, + { + "value": "pt-PT.lucene", + "name": "PtPtLucene", + "description": "Lucene analyzer for Portuguese (Portugal)." + }, + { + "value": "pa.microsoft", + "name": "PaMicrosoft", + "description": "Microsoft analyzer for Punjabi." + }, + { + "value": "ro.microsoft", + "name": "RoMicrosoft", + "description": "Microsoft analyzer for Romanian." + }, + { + "value": "ro.lucene", + "name": "RoLucene", + "description": "Lucene analyzer for Romanian." + }, + { + "value": "ru.microsoft", + "name": "RuMicrosoft", + "description": "Microsoft analyzer for Russian." + }, + { + "value": "ru.lucene", + "name": "RuLucene", + "description": "Lucene analyzer for Russian." + }, + { + "value": "sr-cyrillic.microsoft", + "name": "SrCyrillicMicrosoft", + "description": "Microsoft analyzer for Serbian (Cyrillic)." + }, + { + "value": "sr-latin.microsoft", + "name": "SrLatinMicrosoft", + "description": "Microsoft analyzer for Serbian (Latin)." + }, + { + "value": "sk.microsoft", + "name": "SkMicrosoft", + "description": "Microsoft analyzer for Slovak." + }, + { + "value": "sl.microsoft", + "name": "SlMicrosoft", + "description": "Microsoft analyzer for Slovenian." + }, + { + "value": "es.microsoft", + "name": "EsMicrosoft", + "description": "Microsoft analyzer for Spanish." + }, + { + "value": "es.lucene", + "name": "EsLucene", + "description": "Lucene analyzer for Spanish." + }, + { + "value": "sv.microsoft", + "name": "SvMicrosoft", + "description": "Microsoft analyzer for Swedish." + }, + { + "value": "sv.lucene", + "name": "SvLucene", + "description": "Lucene analyzer for Swedish." + }, + { + "value": "ta.microsoft", + "name": "TaMicrosoft", + "description": "Microsoft analyzer for Tamil." + }, + { + "value": "te.microsoft", + "name": "TeMicrosoft", + "description": "Microsoft analyzer for Telugu." + }, + { + "value": "th.microsoft", + "name": "ThMicrosoft", + "description": "Microsoft analyzer for Thai." + }, + { + "value": "th.lucene", + "name": "ThLucene", + "description": "Lucene analyzer for Thai." + }, + { + "value": "tr.microsoft", + "name": "TrMicrosoft", + "description": "Microsoft analyzer for Turkish." + }, + { + "value": "tr.lucene", + "name": "TrLucene", + "description": "Lucene analyzer for Turkish." + }, + { + "value": "uk.microsoft", + "name": "UkMicrosoft", + "description": "Microsoft analyzer for Ukrainian." + }, + { + "value": "ur.microsoft", + "name": "UrMicrosoft", + "description": "Microsoft analyzer for Urdu." + }, + { + "value": "vi.microsoft", + "name": "ViMicrosoft", + "description": "Microsoft analyzer for Vietnamese." + }, + { + "value": "standard.lucene", + "name": "StandardLucene", + "description": "Standard Lucene analyzer." + }, + { + "value": "standardasciifolding.lucene", + "name": "StandardAsciiFoldingLucene", + "description": "Standard ASCII Folding Lucene analyzer. See https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#Analyzers" + }, + { + "value": "keyword", + "name": "Keyword", + "description": "Treats the entire content of a field as a single token. This is useful for data like zip codes, ids, and some product names. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordAnalyzer.html" + }, + { + "value": "pattern", + "name": "Pattern", + "description": "Flexibly separates text into terms via a regular expression pattern. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.html" + }, + { + "value": "simple", + "name": "Simple", + "description": "Divides text at non-letters and converts them to lower case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/SimpleAnalyzer.html" + }, + { + "value": "stop", + "name": "Stop", + "description": "Divides text at non-letters; Applies the lowercase and stopword token filters. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html" + }, + { + "value": "whitespace", + "name": "Whitespace", + "description": "An analyzer that uses the whitespace tokenizer. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/WhitespaceAnalyzer.html" + } + ] + }, + "description": "Defines the names of all text analyzers supported by Azure Cognitive Search.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" + } + }, + "LexicalTokenizerName": { + "type": "string", + "enum": [ + "classic", + "edgeNGram", + "keyword_v2", + "letter", + "lowercase", + "microsoft_language_tokenizer", + "microsoft_language_stemming_tokenizer", + "nGram", + "path_hierarchy_v2", + "pattern", + "standard_v2", + "uax_url_email", + "whitespace" + ], + "x-ms-enum": { + "name": "LexicalTokenizerName", + "modelAsString": true, + "values": [ + { + "value": "classic", + "name": "Classic", + "description": "Grammar-based tokenizer that is suitable for processing most European-language documents. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html" + }, + { + "value": "edgeNGram", + "name": "EdgeNGram", + "description": "Tokenizes the input from an edge into n-grams of the given size(s). See https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html" + }, + { + "value": "keyword_v2", + "name": "Keyword", + "description": "Emits the entire input as a single token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html" + }, + { + "value": "letter", + "name": "Letter", + "description": "Divides text at non-letters. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LetterTokenizer.html" + }, + { + "value": "lowercase", + "name": "Lowercase", + "description": "Divides text at non-letters and converts them to lower case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseTokenizer.html" + }, + { + "value": "microsoft_language_tokenizer", + "name": "MicrosoftLanguageTokenizer", + "description": "Divides text using language-specific rules." + }, + { + "value": "microsoft_language_stemming_tokenizer", + "name": "MicrosoftLanguageStemmingTokenizer", + "description": "Divides text using language-specific rules and reduces words to their base forms." + }, + { + "value": "nGram", + "name": "NGram", + "description": "Tokenizes the input into n-grams of the given size(s). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html" + }, + { + "value": "path_hierarchy_v2", + "name": "PathHierarchy", + "description": "Tokenizer for path-like hierarchies. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html" + }, + { + "value": "pattern", + "name": "Pattern", + "description": "Tokenizer that uses regex pattern matching to construct distinct tokens. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html" + }, + { + "value": "standard_v2", + "name": "Standard", + "description": "Standard Lucene analyzer; Composed of the standard tokenizer, lowercase filter and stop filter. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html" + }, + { + "value": "uax_url_email", + "name": "UaxUrlEmail", + "description": "Tokenizes urls and emails as one token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html" + }, + { + "value": "whitespace", + "name": "Whitespace", + "description": "Divides text at whitespace. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/WhitespaceTokenizer.html" + } + ] + }, + "description": "Defines the names of all tokenizers supported by Azure Cognitive Search.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "TokenFilterName": { + "type": "string", + "enum": [ + "arabic_normalization", + "apostrophe", + "asciifolding", + "cjk_bigram", + "cjk_width", + "classic", + "common_grams", + "edgeNGram_v2", + "elision", + "german_normalization", + "hindi_normalization", + "indic_normalization", + "keyword_repeat", + "kstem", + "length", + "limit", + "lowercase", + "nGram_v2", + "persian_normalization", + "phonetic", + "porter_stem", + "reverse", + "scandinavian_normalization", + "scandinavian_folding", + "shingle", + "snowball", + "sorani_normalization", + "stemmer", + "stopwords", + "trim", + "truncate", + "unique", + "uppercase", + "word_delimiter" + ], + "x-ms-enum": { + "name": "TokenFilterName", + "modelAsString": true, + "values": [ + { + "value": "arabic_normalization", + "name": "ArabicNormalization", + "description": "A token filter that applies the Arabic normalizer to normalize the orthography. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.html" + }, + { + "value": "apostrophe", + "name": "Apostrophe", + "description": "Strips all characters after an apostrophe (including the apostrophe itself). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/tr/ApostropheFilter.html" + }, + { + "value": "asciifolding", + "name": "AsciiFolding", + "description": "Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the \"Basic Latin\" Unicode block) into their ASCII equivalents, if such equivalents exist. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html" + }, + { + "value": "cjk_bigram", + "name": "CjkBigram", + "description": "Forms bigrams of CJK terms that are generated from the standard tokenizer. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html" + }, + { + "value": "cjk_width", + "name": "CjkWidth", + "description": "Normalizes CJK width differences. Folds fullwidth ASCII variants into the equivalent basic Latin, and half-width Katakana variants into the equivalent Kana. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKWidthFilter.html" + }, + { + "value": "classic", + "name": "Classic", + "description": "Removes English possessives, and dots from acronyms. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicFilter.html" + }, + { + "value": "common_grams", + "name": "CommonGram", + "description": "Construct bigrams for frequently occurring terms while indexing. Single terms are still indexed too, with bigrams overlaid. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html" + }, + { + "value": "edgeNGram_v2", + "name": "EdgeNGram", + "description": "Generates n-grams of the given size(s) starting from the front or the back of an input token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html" + }, + { + "value": "elision", + "name": "Elision", + "description": "Removes elisions. For example, \"l'avion\" (the plane) will be converted to \"avion\" (plane). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html" + }, + { + "value": "german_normalization", + "name": "GermanNormalization", + "description": "Normalizes German characters according to the heuristics of the German2 snowball algorithm. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/de/GermanNormalizationFilter.html" + }, + { + "value": "hindi_normalization", + "name": "HindiNormalization", + "description": "Normalizes text in Hindi to remove some differences in spelling variations. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/hi/HindiNormalizationFilter.html" + }, + { + "value": "indic_normalization", + "name": "IndicNormalization", + "description": "Normalizes the Unicode representation of text in Indian languages. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/in/IndicNormalizationFilter.html" + }, + { + "value": "keyword_repeat", + "name": "KeywordRepeat", + "description": "Emits each incoming token twice, once as keyword and once as non-keyword. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.html" + }, + { + "value": "kstem", + "name": "KStem", + "description": "A high-performance kstem filter for English. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/en/KStemFilter.html" + }, + { + "value": "length", + "name": "Length", + "description": "Removes words that are too long or too short. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html" + }, + { + "value": "limit", + "name": "Limit", + "description": "Limits the number of tokens while indexing. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html" + }, + { + "value": "lowercase", + "name": "Lowercase", + "description": "Normalizes token text to lower case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseFilter.htm" + }, + { + "value": "nGram_v2", + "name": "NGram", + "description": "Generates n-grams of the given size(s). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html" + }, + { + "value": "persian_normalization", + "name": "PersianNormalization", + "description": "Applies normalization for Persian. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/fa/PersianNormalizationFilter.html" + }, + { + "value": "phonetic", + "name": "Phonetic", + "description": "Create tokens for phonetic matches. See https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html" + }, + { + "value": "porter_stem", + "name": "PorterStem", + "description": "Uses the Porter stemming algorithm to transform the token stream. See http://tartarus.org/~martin/PorterStemmer" + }, + { + "value": "reverse", + "name": "Reverse", + "description": "Reverses the token string. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/reverse/ReverseStringFilter.html" + }, + { + "value": "scandinavian_normalization", + "name": "ScandinavianNormalization", + "description": "Normalizes use of the interchangeable Scandinavian characters. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.html" + }, + { + "value": "scandinavian_folding", + "name": "ScandinavianFoldingNormalization", + "description": "Folds Scandinavian characters åÅäæÄÆ->a and öÖøØ->o. It also discriminates against use of double vowels aa, ae, ao, oe and oo, leaving just the first one. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.html" + }, + { + "value": "shingle", + "name": "Shingle", + "description": "Creates combinations of tokens as a single token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html" + }, + { + "value": "snowball", + "name": "Snowball", + "description": "A filter that stems words using a Snowball-generated stemmer. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html" + }, + { + "value": "sorani_normalization", + "name": "SoraniNormalization", + "description": "Normalizes the Unicode representation of Sorani text. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.html" + }, + { + "value": "stemmer", + "name": "Stemmer", + "description": "Language specific stemming filter. See https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters" + }, + { + "value": "stopwords", + "name": "Stopwords", + "description": "Removes stop words from a token stream. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html" + }, + { + "value": "trim", + "name": "Trim", + "description": "Trims leading and trailing whitespace from tokens. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TrimFilter.html" + }, + { + "value": "truncate", + "name": "Truncate", + "description": "Truncates the terms to a specific length. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html" + }, + { + "value": "unique", + "name": "Unique", + "description": "Filters out tokens with same text as the previous token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html" + }, + { + "value": "uppercase", + "name": "Uppercase", + "description": "Normalizes token text to upper case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/UpperCaseFilter.html" + }, + { + "value": "word_delimiter", + "name": "WordDelimiter", + "description": "Splits words into subwords and performs optional transformations on subword groups." + } + ] + }, + "description": "Defines the names of all token filters supported by Azure Cognitive Search.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "CharFilterName": { + "type": "string", + "enum": [ + "html_strip" + ], + "x-ms-enum": { + "name": "CharFilterName", + "modelAsString": true, + "values": [ + { + "value": "html_strip", + "name": "HtmlStrip", + "description": "A character filter that attempts to strip out HTML constructs. See https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.html" + } + ] + }, + "description": "Defines the names of all character filters supported by Azure Cognitive Search.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "RegexFlags": { + "type": "string", + "enum": [ + "CANON_EQ", + "CASE_INSENSITIVE", + "COMMENTS", + "DOTALL", + "LITERAL", + "MULTILINE", + "UNICODE_CASE", + "UNIX_LINES" + ], + "x-ms-enum": { + "name": "RegexFlags", + "modelAsString": true, + "values": [ + { + "value": "CANON_EQ", + "name": "CanonEq", + "description": "Enables canonical equivalence." + }, + { + "value": "CASE_INSENSITIVE", + "name": "CaseInsensitive", + "description": "Enables case-insensitive matching." + }, + { + "value": "COMMENTS", + "name": "Comments", + "description": "Permits whitespace and comments in the pattern." + }, + { + "value": "DOTALL", + "name": "DotAll", + "description": "Enables dotall mode." + }, + { + "value": "LITERAL", + "name": "Literal", + "description": "Enables literal parsing of the pattern." + }, + { + "value": "MULTILINE", + "name": "Multiline", + "description": "Enables multiline mode." + }, + { + "value": "UNICODE_CASE", + "name": "UnicodeCase", + "description": "Enables Unicode-aware case folding." + }, + { + "value": "UNIX_LINES", + "name": "UnixLines", + "description": "Enables Unix lines mode." + } + ] + }, + "description": "Defines flags that can be combined to control how regular expressions are used in the pattern analyzer and pattern tokenizer.", + "externalDocs": { + "url": "http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#field_summary" + } + }, + "SearchFieldDataType": { + "type": "string", + "enum": [ + "Edm.String", + "Edm.Int32", + "Edm.Int64", + "Edm.Double", + "Edm.Boolean", + "Edm.DateTimeOffset", + "Edm.GeographyPoint", + "Edm.ComplexType" + ], + "x-ms-enum": { + "name": "SearchFieldDataType", + "modelAsString": true, + "values": [ + { + "value": "Edm.String", + "name": "String", + "description": "Indicates that a field contains a string." + }, + { + "value": "Edm.Int32", + "name": "Int32", + "description": "Indicates that a field contains a 32-bit signed integer." + }, + { + "value": "Edm.Int64", + "name": "Int64", + "description": "Indicates that a field contains a 64-bit signed integer." + }, + { + "value": "Edm.Double", + "name": "Double", + "description": "Indicates that a field contains an IEEE double-precision floating point number." + }, + { + "value": "Edm.Boolean", + "name": "Boolean", + "description": "Indicates that a field contains a Boolean value (true or false)." + }, + { + "value": "Edm.DateTimeOffset", + "name": "DateTimeOffset", + "description": "Indicates that a field contains a date/time value, including timezone information." + }, + { + "value": "Edm.GeographyPoint", + "name": "GeographyPoint", + "description": "Indicates that a field contains a geo-location in terms of longitude and latitude." + }, + { + "value": "Edm.ComplexType", + "name": "Complex", + "description": "Indicates that a field contains one or more complex objects that in turn have sub-fields of other types." + } + ] + }, + "description": "Defines the data type of a field in a search index." + }, + "LexicalAnalyzer": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the analyzer." + }, + "name": { + "type": "string", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" + }, + "description": "The name of the analyzer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." + } + }, + "required": [ + "@odata.type", + "name" + ], + "description": "Base type for analyzers." + }, + "CustomAnalyzer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.CustomAnalyzer", + "allOf": [ + { + "$ref": "#/definitions/LexicalAnalyzer" + } + ], + "properties": { + "tokenizer": { + "$ref": "#/definitions/LexicalTokenizerName", + "description": "The name of the tokenizer to use to divide continuous text into a sequence of tokens, such as breaking a sentence into words." + }, + "tokenFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenFilterName", + "x-nullable": false + }, + "description": "A list of token filters used to filter out or modify the tokens generated by a tokenizer. For example, you can specify a lowercase filter that converts all characters to lowercase. The filters are run in the order in which they are listed." + }, + "charFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/CharFilterName", + "x-nullable": false + }, + "description": "A list of character filters used to prepare input text before it is processed by the tokenizer. For instance, they can replace certain characters or symbols. The filters are run in the order in which they are listed." + } + }, + "required": [ + "tokenizer" + ], + "description": "Allows you to take control over the process of converting text into indexable/searchable tokens. It's a user-defined configuration consisting of a single predefined tokenizer and one or more filters. The tokenizer is responsible for breaking text into tokens, and the filters for modifying tokens emitted by the tokenizer." + }, + "PatternAnalyzer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternAnalyzer", + "allOf": [ + { + "$ref": "#/definitions/LexicalAnalyzer" + } + ], + "properties": { + "lowercase": { + "x-ms-client-name": "LowerCaseTerms", + "type": "boolean", + "default": true, + "description": "A value indicating whether terms should be lower-cased. Default is true." + }, + "pattern": { + "type": "string", + "default": "\\W+", + "description": "A regular expression pattern to match token separators. Default is an expression that matches one or more non-word characters." + }, + "flags": { + "$ref": "#/definitions/RegexFlags", + "description": "Regular expression flags." + }, + "stopwords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of stopwords." + } + }, + "description": "Flexibly separates text into terms via a regular expression pattern. This analyzer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.html" + } + }, + "LuceneStandardAnalyzer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardAnalyzer", + "allOf": [ + { + "$ref": "#/definitions/LexicalAnalyzer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + }, + "stopwords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of stopwords." + } + }, + "description": "Standard Apache Lucene analyzer; Composed of the standard tokenizer, lowercase filter and stop filter.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardAnalyzer.html" + } + }, + "StopAnalyzer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StopAnalyzer", + "allOf": [ + { + "$ref": "#/definitions/LexicalAnalyzer" + } + ], + "properties": { + "stopwords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of stopwords." + } + }, + "description": "Divides text at non-letters; Applies the lowercase and stopword token filters. This analyzer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html" + } + }, + "LexicalTokenizer": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the tokenizer." + }, + "name": { + "type": "string", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" + }, + "description": "The name of the tokenizer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." + } + }, + "required": [ + "@odata.type", + "name" + ], + "description": "Base type for tokenizers.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "ClassicTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.ClassicTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + } + }, + "description": "Grammar-based tokenizer that is suitable for processing most European-language documents. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html" + } + }, + "TokenCharacterKind": { + "type": "string", + "enum": [ + "letter", + "digit", + "whitespace", + "punctuation", + "symbol" + ], + "x-ms-enum": { + "name": "TokenCharacterKind", + "modelAsString": false, + "values": [ + { + "value": "letter", + "name": "Letter", + "description": "Keeps letters in tokens." + }, + { + "value": "digit", + "name": "Digit", + "description": "Keeps digits in tokens." + }, + { + "value": "whitespace", + "name": "Whitespace", + "description": "Keeps whitespace in tokens." + }, + { + "value": "punctuation", + "name": "Punctuation", + "description": "Keeps punctuation in tokens." + }, + { + "value": "symbol", + "name": "Symbol", + "description": "Keeps symbols in tokens." + } + ] + }, + "description": "Represents classes of characters on which a token filter can operate." + }, + "EdgeNGramTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "maximum": 300, + "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The maximum n-gram length. Default is 2. Maximum is 300." + }, + "tokenChars": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCharacterKind", + "x-nullable": false + }, + "description": "Character classes to keep in the tokens." + } + }, + "description": "Tokenizes the input from an edge into n-grams of the given size(s). This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html" + } + }, + "KeywordTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "bufferSize": { + "type": "integer", + "format": "int32", + "default": 256, + "description": "The read buffer size in bytes. Default is 256." + } + }, + "description": "Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html" + }, + "x-az-search-deprecated": true + }, + "KeywordTokenizerV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordTokenizerV2", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 256, + "maximum": 300, + "description": "The maximum token length. Default is 256. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + } + }, + "description": "Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html" + } + }, + "MicrosoftTokenizerLanguage": { + "type": "string", + "enum": [ + "bangla", + "bulgarian", + "catalan", + "chineseSimplified", + "chineseTraditional", + "croatian", + "czech", + "danish", + "dutch", + "english", + "french", + "german", + "greek", + "gujarati", + "hindi", + "icelandic", + "indonesian", + "italian", + "japanese", + "kannada", + "korean", + "malay", + "malayalam", + "marathi", + "norwegianBokmaal", + "polish", + "portuguese", + "portugueseBrazilian", + "punjabi", + "romanian", + "russian", + "serbianCyrillic", + "serbianLatin", + "slovenian", + "spanish", + "swedish", + "tamil", + "telugu", + "thai", + "ukrainian", + "urdu", + "vietnamese" + ], + "x-ms-enum": { + "name": "MicrosoftTokenizerLanguage", + "modelAsString": false, + "values": [ + { + "value": "bangla", + "name": "Bangla", + "description": "Selects the Microsoft tokenizer for Bangla." + }, + { + "value": "bulgarian", + "name": "Bulgarian", + "description": "Selects the Microsoft tokenizer for Bulgarian." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the Microsoft tokenizer for Catalan." + }, + { + "value": "chineseSimplified", + "name": "ChineseSimplified", + "description": "Selects the Microsoft tokenizer for Chinese (Simplified)." + }, + { + "value": "chineseTraditional", + "name": "ChineseTraditional", + "description": "Selects the Microsoft tokenizer for Chinese (Traditional)." + }, + { + "value": "croatian", + "name": "Croatian", + "description": "Selects the Microsoft tokenizer for Croatian." + }, + { + "value": "czech", + "name": "Czech", + "description": "Selects the Microsoft tokenizer for Czech." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the Microsoft tokenizer for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the Microsoft tokenizer for Dutch." + }, + { + "value": "english", + "name": "English", + "description": "Selects the Microsoft tokenizer for English." + }, + { + "value": "french", + "name": "French", + "description": "Selects the Microsoft tokenizer for French." + }, + { + "value": "german", + "name": "German", + "description": "Selects the Microsoft tokenizer for German." + }, + { + "value": "greek", + "name": "Greek", + "description": "Selects the Microsoft tokenizer for Greek." + }, + { + "value": "gujarati", + "name": "Gujarati", + "description": "Selects the Microsoft tokenizer for Gujarati." + }, + { + "value": "hindi", + "name": "Hindi", + "description": "Selects the Microsoft tokenizer for Hindi." + }, + { + "value": "icelandic", + "name": "Icelandic", + "description": "Selects the Microsoft tokenizer for Icelandic." + }, + { + "value": "indonesian", + "name": "Indonesian", + "description": "Selects the Microsoft tokenizer for Indonesian." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the Microsoft tokenizer for Italian." + }, + { + "value": "japanese", + "name": "Japanese", + "description": "Selects the Microsoft tokenizer for Japanese." + }, + { + "value": "kannada", + "name": "Kannada", + "description": "Selects the Microsoft tokenizer for Kannada." + }, + { + "value": "korean", + "name": "Korean", + "description": "Selects the Microsoft tokenizer for Korean." + }, + { + "value": "malay", + "name": "Malay", + "description": "Selects the Microsoft tokenizer for Malay." + }, + { + "value": "malayalam", + "name": "Malayalam", + "description": "Selects the Microsoft tokenizer for Malayalam." + }, + { + "value": "marathi", + "name": "Marathi", + "description": "Selects the Microsoft tokenizer for Marathi." + }, + { + "value": "norwegianBokmaal", + "name": "NorwegianBokmaal", + "description": "Selects the Microsoft tokenizer for Norwegian (Bokmål)." + }, + { + "value": "polish", + "name": "Polish", + "description": "Selects the Microsoft tokenizer for Polish." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the Microsoft tokenizer for Portuguese." + }, + { + "value": "portugueseBrazilian", + "name": "PortugueseBrazilian", + "description": "Selects the Microsoft tokenizer for Portuguese (Brazil)." + }, + { + "value": "punjabi", + "name": "Punjabi", + "description": "Selects the Microsoft tokenizer for Punjabi." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the Microsoft tokenizer for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the Microsoft tokenizer for Russian." + }, + { + "value": "serbianCyrillic", + "name": "SerbianCyrillic", + "description": "Selects the Microsoft tokenizer for Serbian (Cyrillic)." + }, + { + "value": "serbianLatin", + "name": "SerbianLatin", + "description": "Selects the Microsoft tokenizer for Serbian (Latin)." + }, + { + "value": "slovenian", + "name": "Slovenian", + "description": "Selects the Microsoft tokenizer for Slovenian." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the Microsoft tokenizer for Spanish." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the Microsoft tokenizer for Swedish." + }, + { + "value": "tamil", + "name": "Tamil", + "description": "Selects the Microsoft tokenizer for Tamil." + }, + { + "value": "telugu", + "name": "Telugu", + "description": "Selects the Microsoft tokenizer for Telugu." + }, + { + "value": "thai", + "name": "Thai", + "description": "Selects the Microsoft tokenizer for Thai." + }, + { + "value": "ukrainian", + "name": "Ukrainian", + "description": "Selects the Microsoft tokenizer for Ukrainian." + }, + { + "value": "urdu", + "name": "Urdu", + "description": "Selects the Microsoft tokenizer for Urdu." + }, + { + "value": "vietnamese", + "name": "Vietnamese", + "description": "Selects the Microsoft tokenizer for Vietnamese." + } + ] + }, + "description": "Lists the languages supported by the Microsoft language tokenizer." + }, + "MicrosoftLanguageTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.MicrosoftLanguageTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Tokens longer than the maximum length are split. Maximum token length that can be used is 300 characters. Tokens longer than 300 characters are first split into tokens of length 300 and then each of those tokens is split based on the max token length set. Default is 255." + }, + "isSearchTokenizer": { + "type": "boolean", + "default": false, + "description": "A value indicating how the tokenizer is used. Set to true if used as the search tokenizer, set to false if used as the indexing tokenizer. Default is false." + }, + "language": { + "$ref": "#/definitions/MicrosoftTokenizerLanguage", + "description": "The language to use. The default is English." + } + }, + "description": "Divides text using language-specific rules." + }, + "MicrosoftStemmingTokenizerLanguage": { + "type": "string", + "enum": [ + "arabic", + "bangla", + "bulgarian", + "catalan", + "croatian", + "czech", + "danish", + "dutch", + "english", + "estonian", + "finnish", + "french", + "german", + "greek", + "gujarati", + "hebrew", + "hindi", + "hungarian", + "icelandic", + "indonesian", + "italian", + "kannada", + "latvian", + "lithuanian", + "malay", + "malayalam", + "marathi", + "norwegianBokmaal", + "polish", + "portuguese", + "portugueseBrazilian", + "punjabi", + "romanian", + "russian", + "serbianCyrillic", + "serbianLatin", + "slovak", + "slovenian", + "spanish", + "swedish", + "tamil", + "telugu", + "turkish", + "ukrainian", + "urdu" + ], + "x-ms-enum": { + "name": "MicrosoftStemmingTokenizerLanguage", + "modelAsString": false, + "values": [ + { + "value": "arabic", + "name": "Arabic", + "description": "Selects the Microsoft stemming tokenizer for Arabic." + }, + { + "value": "bangla", + "name": "Bangla", + "description": "Selects the Microsoft stemming tokenizer for Bangla." + }, + { + "value": "bulgarian", + "name": "Bulgarian", + "description": "Selects the Microsoft stemming tokenizer for Bulgarian." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the Microsoft stemming tokenizer for Catalan." + }, + { + "value": "croatian", + "name": "Croatian", + "description": "Selects the Microsoft stemming tokenizer for Croatian." + }, + { + "value": "czech", + "name": "Czech", + "description": "Selects the Microsoft stemming tokenizer for Czech." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the Microsoft stemming tokenizer for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the Microsoft stemming tokenizer for Dutch." + }, + { + "value": "english", + "name": "English", + "description": "Selects the Microsoft stemming tokenizer for English." + }, + { + "value": "estonian", + "name": "Estonian", + "description": "Selects the Microsoft stemming tokenizer for Estonian." + }, + { + "value": "finnish", + "name": "Finnish", + "description": "Selects the Microsoft stemming tokenizer for Finnish." + }, + { + "value": "french", + "name": "French", + "description": "Selects the Microsoft stemming tokenizer for French." + }, + { + "value": "german", + "name": "German", + "description": "Selects the Microsoft stemming tokenizer for German." + }, + { + "value": "greek", + "name": "Greek", + "description": "Selects the Microsoft stemming tokenizer for Greek." + }, + { + "value": "gujarati", + "name": "Gujarati", + "description": "Selects the Microsoft stemming tokenizer for Gujarati." + }, + { + "value": "hebrew", + "name": "Hebrew", + "description": "Selects the Microsoft stemming tokenizer for Hebrew." + }, + { + "value": "hindi", + "name": "Hindi", + "description": "Selects the Microsoft stemming tokenizer for Hindi." + }, + { + "value": "hungarian", + "name": "Hungarian", + "description": "Selects the Microsoft stemming tokenizer for Hungarian." + }, + { + "value": "icelandic", + "name": "Icelandic", + "description": "Selects the Microsoft stemming tokenizer for Icelandic." + }, + { + "value": "indonesian", + "name": "Indonesian", + "description": "Selects the Microsoft stemming tokenizer for Indonesian." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the Microsoft stemming tokenizer for Italian." + }, + { + "value": "kannada", + "name": "Kannada", + "description": "Selects the Microsoft stemming tokenizer for Kannada." + }, + { + "value": "latvian", + "name": "Latvian", + "description": "Selects the Microsoft stemming tokenizer for Latvian." + }, + { + "value": "lithuanian", + "name": "Lithuanian", + "description": "Selects the Microsoft stemming tokenizer for Lithuanian." + }, + { + "value": "malay", + "name": "Malay", + "description": "Selects the Microsoft stemming tokenizer for Malay." + }, + { + "value": "malayalam", + "name": "Malayalam", + "description": "Selects the Microsoft stemming tokenizer for Malayalam." + }, + { + "value": "marathi", + "name": "Marathi", + "description": "Selects the Microsoft stemming tokenizer for Marathi." + }, + { + "value": "norwegianBokmaal", + "name": "NorwegianBokmaal", + "description": "Selects the Microsoft stemming tokenizer for Norwegian (Bokmål)." + }, + { + "value": "polish", + "name": "Polish", + "description": "Selects the Microsoft stemming tokenizer for Polish." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the Microsoft stemming tokenizer for Portuguese." + }, + { + "value": "portugueseBrazilian", + "name": "PortugueseBrazilian", + "description": "Selects the Microsoft stemming tokenizer for Portuguese (Brazil)." + }, + { + "value": "punjabi", + "name": "Punjabi", + "description": "Selects the Microsoft stemming tokenizer for Punjabi." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the Microsoft stemming tokenizer for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the Microsoft stemming tokenizer for Russian." + }, + { + "value": "serbianCyrillic", + "name": "SerbianCyrillic", + "description": "Selects the Microsoft stemming tokenizer for Serbian (Cyrillic)." + }, + { + "value": "serbianLatin", + "name": "SerbianLatin", + "description": "Selects the Microsoft stemming tokenizer for Serbian (Latin)." + }, + { + "value": "slovak", + "name": "Slovak", + "description": "Selects the Microsoft stemming tokenizer for Slovak." + }, + { + "value": "slovenian", + "name": "Slovenian", + "description": "Selects the Microsoft stemming tokenizer for Slovenian." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the Microsoft stemming tokenizer for Spanish." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the Microsoft stemming tokenizer for Swedish." + }, + { + "value": "tamil", + "name": "Tamil", + "description": "Selects the Microsoft stemming tokenizer for Tamil." + }, + { + "value": "telugu", + "name": "Telugu", + "description": "Selects the Microsoft stemming tokenizer for Telugu." + }, + { + "value": "turkish", + "name": "Turkish", + "description": "Selects the Microsoft stemming tokenizer for Turkish." + }, + { + "value": "ukrainian", + "name": "Ukrainian", + "description": "Selects the Microsoft stemming tokenizer for Ukrainian." + }, + { + "value": "urdu", + "name": "Urdu", + "description": "Selects the Microsoft stemming tokenizer for Urdu." + } + ] + }, + "description": "Lists the languages supported by the Microsoft language stemming tokenizer." + }, + "MicrosoftLanguageStemmingTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Tokens longer than the maximum length are split. Maximum token length that can be used is 300 characters. Tokens longer than 300 characters are first split into tokens of length 300 and then each of those tokens is split based on the max token length set. Default is 255." + }, + "isSearchTokenizer": { + "type": "boolean", + "default": false, + "description": "A value indicating how the tokenizer is used. Set to true if used as the search tokenizer, set to false if used as the indexing tokenizer. Default is false." + }, + "language": { + "$ref": "#/definitions/MicrosoftStemmingTokenizerLanguage", + "description": "The language to use. The default is English." + } + }, + "description": "Divides text using language-specific rules and reduces words to their base forms." + }, + "NGramTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "maximum": 300, + "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The maximum n-gram length. Default is 2. Maximum is 300." + }, + "tokenChars": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCharacterKind", + "x-nullable": false + }, + "description": "Character classes to keep in the tokens." + } + }, + "description": "Tokenizes the input into n-grams of the given size(s). This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html" + } + }, + "PathHierarchyTokenizerV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PathHierarchyTokenizerV2", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "delimiter": { + "type": "string", + "format": "char", + "default": "/", + "description": "The delimiter character to use. Default is \"/\"." + }, + "replacement": { + "type": "string", + "format": "char", + "default": "/", + "description": "A value that, if set, replaces the delimiter character. Default is \"/\"." + }, + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 300, + "maximum": 300, + "description": "The maximum token length. Default and maximum is 300." + }, + "reverse": { + "x-ms-client-name": "ReverseTokenOrder", + "type": "boolean", + "default": false, + "description": "A value indicating whether to generate tokens in reverse order. Default is false." + }, + "skip": { + "x-ms-client-name": "NumberOfTokensToSkip", + "type": "integer", + "format": "int32", + "default": 0, + "description": "The number of initial tokens to skip. Default is 0." + } + }, + "description": "Tokenizer for path-like hierarchies. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html" + } + }, + "PatternTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "pattern": { + "type": "string", + "default": "\\W+", + "description": "A regular expression pattern to match token separators. Default is an expression that matches one or more non-word characters." + }, + "flags": { + "$ref": "#/definitions/RegexFlags", + "description": "Regular expression flags." + }, + "group": { + "type": "integer", + "format": "int32", + "default": -1, + "description": "The zero-based ordinal of the matching group in the regular expression pattern to extract into tokens. Use -1 if you want to use the entire pattern to split the input into tokens, irrespective of matching groups. Default is -1." + } + }, + "description": "Tokenizer that uses regex pattern matching to construct distinct tokens. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html" + } + }, + "LuceneStandardTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split." + } + }, + "description": "Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html" + }, + "x-az-search-deprecated": true + }, + "LuceneStandardTokenizerV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardTokenizerV2", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + } + }, + "description": "Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html" + } + }, + "UaxUrlEmailTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.UaxUrlEmailTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + } + }, + "description": "Tokenizes urls and emails as one token. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html" + } + }, + "TokenFilter": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the token filter." + }, + "name": { + "type": "string", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" + }, + "description": "The name of the token filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." + } + }, + "required": [ + "@odata.type", + "name" + ], + "description": "Base type for token filters.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "AsciiFoldingTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.AsciiFoldingTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "preserveOriginal": { + "type": "boolean", + "default": false, + "description": "A value indicating whether the original token will be kept. Default is false." + } + }, + "description": "Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the \"Basic Latin\" Unicode block) into their ASCII equivalents, if such equivalents exist. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html" + } + }, + "CjkBigramTokenFilterScripts": { + "type": "string", + "enum": [ + "han", + "hiragana", + "katakana", + "hangul" + ], + "x-ms-enum": { + "name": "CjkBigramTokenFilterScripts", + "modelAsString": false, + "values": [ + { + "value": "han", + "name": "Han", + "description": "Ignore Han script when forming bigrams of CJK terms." + }, + { + "value": "hiragana", + "name": "Hiragana", + "description": "Ignore Hiragana script when forming bigrams of CJK terms." + }, + { + "value": "katakana", + "name": "Katakana", + "description": "Ignore Katakana script when forming bigrams of CJK terms." + }, + { + "value": "hangul", + "name": "Hangul", + "description": "Ignore Hangul script when forming bigrams of CJK terms." + } + ] + }, + "description": "Scripts that can be ignored by CjkBigramTokenFilter." + }, + "CjkBigramTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.CjkBigramTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "ignoreScripts": { + "type": "array", + "items": { + "$ref": "#/definitions/CjkBigramTokenFilterScripts", + "x-nullable": false + }, + "description": "The scripts to ignore." + }, + "outputUnigrams": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to output both unigrams and bigrams (if true), or just bigrams (if false). Default is false." + } + }, + "description": "Forms bigrams of CJK terms that are generated from the standard tokenizer. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html" + } + }, + "CommonGramTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.CommonGramTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "commonWords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of common words." + }, + "ignoreCase": { + "type": "boolean", + "default": false, + "description": "A value indicating whether common words matching will be case insensitive. Default is false." + }, + "queryMode": { + "x-ms-client-name": "UseQueryMode", + "type": "boolean", + "default": false, + "description": "A value that indicates whether the token filter is in query mode. When in query mode, the token filter generates bigrams and then removes common words and single terms followed by a common word. Default is false." + } + }, + "required": [ + "commonWords" + ], + "description": "Construct bigrams for frequently occurring terms while indexing. Single terms are still indexed too, with bigrams overlaid. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html" + } + }, + "DictionaryDecompounderTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "wordList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of words to match against." + }, + "minWordSize": { + "type": "integer", + "format": "int32", + "default": 5, + "maximum": 300, + "description": "The minimum word size. Only words longer than this get processed. Default is 5. Maximum is 300." + }, + "minSubwordSize": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The minimum subword size. Only subwords longer than this are outputted. Default is 2. Maximum is 300." + }, + "maxSubwordSize": { + "type": "integer", + "format": "int32", + "default": 15, + "maximum": 300, + "description": "The maximum subword size. Only subwords shorter than this are outputted. Default is 15. Maximum is 300." + }, + "onlyLongestMatch": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to add only the longest matching subword to the output. Default is false." + } + }, + "required": [ + "wordList" + ], + "description": "Decomposes compound words found in many Germanic languages. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.html" + } + }, + "EdgeNGramTokenFilterSide": { + "type": "string", + "enum": [ + "front", + "back" + ], + "x-ms-enum": { + "name": "EdgeNGramTokenFilterSide", + "modelAsString": false, + "values": [ + { + "value": "front", + "name": "Front", + "description": "Specifies that the n-gram should be generated from the front of the input." + }, + { + "value": "back", + "name": "Back", + "description": "Specifies that the n-gram should be generated from the back of the input." + } + ] + }, + "description": "Specifies which side of the input an n-gram should be generated from." + }, + "EdgeNGramTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "description": "The minimum n-gram length. Default is 1. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "description": "The maximum n-gram length. Default is 2." + }, + "side": { + "$ref": "#/definitions/EdgeNGramTokenFilterSide", + "default": "front", + "description": "Specifies which side of the input the n-gram should be generated from. Default is \"front\"." + } + }, + "description": "Generates n-grams of the given size(s) starting from the front or the back of an input token. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html" + }, + "x-az-search-deprecated": true + }, + "EdgeNGramTokenFilterV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenFilterV2", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "maximum": 300, + "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The maximum n-gram length. Default is 2. Maximum is 300." + }, + "side": { + "$ref": "#/definitions/EdgeNGramTokenFilterSide", + "default": "front", + "description": "Specifies which side of the input the n-gram should be generated from. Default is \"front\"." + } + }, + "description": "Generates n-grams of the given size(s) starting from the front or the back of an input token. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html" + } + }, + "ElisionTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.ElisionTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "articles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of articles to remove." + } + }, + "description": "Removes elisions. For example, \"l'avion\" (the plane) will be converted to \"avion\" (plane). This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html" + } + }, + "KeepTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeepTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "keepWords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of words to keep." + }, + "keepWordsCase": { + "x-ms-client-name": "LowerCaseKeepWords", + "type": "boolean", + "default": false, + "description": "A value indicating whether to lower case all words first. Default is false." + } + }, + "required": [ + "keepWords" + ], + "description": "A token filter that only keeps tokens with text contained in a specified list of words. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.html" + } + }, + "KeywordMarkerTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordMarkerTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "keywords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of words to mark as keywords." + }, + "ignoreCase": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to ignore case. If true, all words are converted to lower case first. Default is false." + } + }, + "required": [ + "keywords" + ], + "description": "Marks terms as keywords. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.html" + } + }, + "LengthTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.LengthTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "min": { + "x-ms-client-name": "minLength", + "type": "integer", + "format": "int32", + "default": 0, + "maximum": 300, + "description": "The minimum length in characters. Default is 0. Maximum is 300. Must be less than the value of max." + }, + "max": { + "x-ms-client-name": "maxLength", + "type": "integer", + "format": "int32", + "default": 300, + "maximum": 300, + "description": "The maximum length in characters. Default and maximum is 300." + } + }, + "description": "Removes words that are too long or too short. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html" + } + }, + "LimitTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.LimitTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "maxTokenCount": { + "type": "integer", + "format": "int32", + "default": 1, + "description": "The maximum number of tokens to produce. Default is 1." + }, + "consumeAllTokens": { + "type": "boolean", + "default": false, + "description": "A value indicating whether all tokens from the input must be consumed even if maxTokenCount is reached. Default is false." + } + }, + "description": "Limits the number of tokens while indexing. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html" + } + }, + "NGramTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "description": "The minimum n-gram length. Default is 1. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "description": "The maximum n-gram length. Default is 2." + } + }, + "description": "Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html" + }, + "x-az-search-deprecated": true + }, + "NGramTokenFilterV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenFilterV2", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "maximum": 300, + "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The maximum n-gram length. Default is 2. Maximum is 300." + } + }, + "description": "Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html" + } + }, + "PatternCaptureTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternCaptureTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "patterns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of patterns to match against each token." + }, + "preserveOriginal": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to return the original token even if one of the patterns matches. Default is true." + } + }, + "required": [ + "patterns" + ], + "description": "Uses Java regexes to emit multiple tokens - one for each capture group in one or more patterns. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.html" + } + }, + "PatternReplaceTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternReplaceTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "pattern": { + "type": "string", + "description": "A regular expression pattern." + }, + "replacement": { + "type": "string", + "description": "The replacement text." + } + }, + "required": [ + "pattern", + "replacement" + ], + "description": "A character filter that replaces characters in the input string. It uses a regular expression to identify character sequences to preserve and a replacement pattern to identify characters to replace. For example, given the input text \"aa bb aa bb\", pattern \"(aa)\\s+(bb)\", and replacement \"$1#$2\", the result would be \"aa#bb aa#bb\". This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternReplaceFilter.html" + } + }, + "PhoneticEncoder": { + "type": "string", + "enum": [ + "metaphone", + "doubleMetaphone", + "soundex", + "refinedSoundex", + "caverphone1", + "caverphone2", + "cologne", + "nysiis", + "koelnerPhonetik", + "haasePhonetik", + "beiderMorse" + ], + "x-ms-enum": { + "name": "PhoneticEncoder", + "modelAsString": false, + "values": [ + { + "value": "metaphone", + "name": "Metaphone", + "description": "Encodes a token into a Metaphone value." + }, + { + "value": "doubleMetaphone", + "name": "DoubleMetaphone", + "description": "Encodes a token into a double metaphone value." + }, + { + "value": "soundex", + "name": "Soundex", + "description": "Encodes a token into a Soundex value." + }, + { + "value": "refinedSoundex", + "name": "RefinedSoundex", + "description": "Encodes a token into a Refined Soundex value." + }, + { + "value": "caverphone1", + "name": "Caverphone1", + "description": "Encodes a token into a Caverphone 1.0 value." + }, + { + "value": "caverphone2", + "name": "Caverphone2", + "description": "Encodes a token into a Caverphone 2.0 value." + }, + { + "value": "cologne", + "name": "Cologne", + "description": "Encodes a token into a Cologne Phonetic value." + }, + { + "value": "nysiis", + "name": "Nysiis", + "description": "Encodes a token into a NYSIIS value." + }, + { + "value": "koelnerPhonetik", + "name": "KoelnerPhonetik", + "description": "Encodes a token using the Kölner Phonetik algorithm." + }, + { + "value": "haasePhonetik", + "name": "HaasePhonetik", + "description": "Encodes a token using the Haase refinement of the Kölner Phonetik algorithm." + }, + { + "value": "beiderMorse", + "name": "BeiderMorse", + "description": "Encodes a token into a Beider-Morse value." + } + ] + }, + "description": "Identifies the type of phonetic encoder to use with a PhoneticTokenFilter." + }, + "PhoneticTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PhoneticTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "encoder": { + "$ref": "#/definitions/PhoneticEncoder", + "default": "metaphone", + "description": "The phonetic encoder to use. Default is \"metaphone\"." + }, + "replace": { + "x-ms-client-name": "ReplaceOriginalTokens", + "type": "boolean", + "default": true, + "description": "A value indicating whether encoded tokens should replace original tokens. If false, encoded tokens are added as synonyms. Default is true." + } + }, + "description": "Create tokens for phonetic matches. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html" + } + }, + "ShingleTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.ShingleTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "maxShingleSize": { + "type": "integer", + "format": "int32", + "default": 2, + "minimum": 2, + "description": "The maximum shingle size. Default and minimum value is 2." + }, + "minShingleSize": { + "type": "integer", + "format": "int32", + "default": 2, + "minimum": 2, + "description": "The minimum shingle size. Default and minimum value is 2. Must be less than the value of maxShingleSize." + }, + "outputUnigrams": { + "type": "boolean", + "default": true, + "description": "A value indicating whether the output stream will contain the input tokens (unigrams) as well as shingles. Default is true." + }, + "outputUnigramsIfNoShingles": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to output unigrams for those times when no shingles are available. This property takes precedence when outputUnigrams is set to false. Default is false." + }, + "tokenSeparator": { + "type": "string", + "default": " ", + "description": "The string to use when joining adjacent tokens to form a shingle. Default is a single space (\" \")." + }, + "filterToken": { + "type": "string", + "default": "_", + "description": "The string to insert for each position at which there is no token. Default is an underscore (\"_\")." + } + }, + "description": "Creates combinations of tokens as a single token. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html" + } + }, + "SnowballTokenFilterLanguage": { + "type": "string", + "enum": [ + "armenian", + "basque", + "catalan", + "danish", + "dutch", + "english", + "finnish", + "french", + "german", + "german2", + "hungarian", + "italian", + "kp", + "lovins", + "norwegian", + "porter", + "portuguese", + "romanian", + "russian", + "spanish", + "swedish", + "turkish" + ], + "x-ms-enum": { + "name": "SnowballTokenFilterLanguage", + "modelAsString": false, + "values": [ + { + "value": "armenian", + "name": "Armenian", + "description": "Selects the Lucene Snowball stemming tokenizer for Armenian." + }, + { + "value": "basque", + "name": "Basque", + "description": "Selects the Lucene Snowball stemming tokenizer for Basque." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the Lucene Snowball stemming tokenizer for Catalan." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the Lucene Snowball stemming tokenizer for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the Lucene Snowball stemming tokenizer for Dutch." + }, + { + "value": "english", + "name": "English", + "description": "Selects the Lucene Snowball stemming tokenizer for English." + }, + { + "value": "finnish", + "name": "Finnish", + "description": "Selects the Lucene Snowball stemming tokenizer for Finnish." + }, + { + "value": "french", + "name": "French", + "description": "Selects the Lucene Snowball stemming tokenizer for French." + }, + { + "value": "german", + "name": "German", + "description": "Selects the Lucene Snowball stemming tokenizer for German." + }, + { + "value": "german2", + "name": "German2", + "description": "Selects the Lucene Snowball stemming tokenizer that uses the German variant algorithm." + }, + { + "value": "hungarian", + "name": "Hungarian", + "description": "Selects the Lucene Snowball stemming tokenizer for Hungarian." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the Lucene Snowball stemming tokenizer for Italian." + }, + { + "value": "kp", + "name": "Kp", + "description": "Selects the Lucene Snowball stemming tokenizer for Dutch that uses the Kraaij-Pohlmann stemming algorithm." + }, + { + "value": "lovins", + "name": "Lovins", + "description": "Selects the Lucene Snowball stemming tokenizer for English that uses the Lovins stemming algorithm." + }, + { + "value": "norwegian", + "name": "Norwegian", + "description": "Selects the Lucene Snowball stemming tokenizer for Norwegian." + }, + { + "value": "porter", + "name": "Porter", + "description": "Selects the Lucene Snowball stemming tokenizer for English that uses the Porter stemming algorithm." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the Lucene Snowball stemming tokenizer for Portuguese." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the Lucene Snowball stemming tokenizer for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the Lucene Snowball stemming tokenizer for Russian." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the Lucene Snowball stemming tokenizer for Spanish." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the Lucene Snowball stemming tokenizer for Swedish." + }, + { + "value": "turkish", + "name": "Turkish", + "description": "Selects the Lucene Snowball stemming tokenizer for Turkish." + } + ] + }, + "description": "The language to use for a Snowball token filter." + }, + "SnowballTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.SnowballTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "language": { + "$ref": "#/definitions/SnowballTokenFilterLanguage", + "description": "The language to use." + } + }, + "required": [ + "language" + ], + "description": "A filter that stems words using a Snowball-generated stemmer. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html" + } + }, + "StemmerTokenFilterLanguage": { + "type": "string", + "enum": [ + "arabic", + "armenian", + "basque", + "brazilian", + "bulgarian", + "catalan", + "czech", + "danish", + "dutch", + "dutchKp", + "english", + "lightEnglish", + "minimalEnglish", + "possessiveEnglish", + "porter2", + "lovins", + "finnish", + "lightFinnish", + "french", + "lightFrench", + "minimalFrench", + "galician", + "minimalGalician", + "german", + "german2", + "lightGerman", + "minimalGerman", + "greek", + "hindi", + "hungarian", + "lightHungarian", + "indonesian", + "irish", + "italian", + "lightItalian", + "sorani", + "latvian", + "norwegian", + "lightNorwegian", + "minimalNorwegian", + "lightNynorsk", + "minimalNynorsk", + "portuguese", + "lightPortuguese", + "minimalPortuguese", + "portugueseRslp", + "romanian", + "russian", + "lightRussian", + "spanish", + "lightSpanish", + "swedish", + "lightSwedish", + "turkish" + ], + "x-ms-enum": { + "name": "StemmerTokenFilterLanguage", + "modelAsString": false, + "values": [ + { + "value": "arabic", + "name": "Arabic", + "description": "Selects the Lucene stemming tokenizer for Arabic." + }, + { + "value": "armenian", + "name": "Armenian", + "description": "Selects the Lucene stemming tokenizer for Armenian." + }, + { + "value": "basque", + "name": "Basque", + "description": "Selects the Lucene stemming tokenizer for Basque." + }, + { + "value": "brazilian", + "name": "Brazilian", + "description": "Selects the Lucene stemming tokenizer for Portuguese (Brazil)." + }, + { + "value": "bulgarian", + "name": "Bulgarian", + "description": "Selects the Lucene stemming tokenizer for Bulgarian." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the Lucene stemming tokenizer for Catalan." + }, + { + "value": "czech", + "name": "Czech", + "description": "Selects the Lucene stemming tokenizer for Czech." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the Lucene stemming tokenizer for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the Lucene stemming tokenizer for Dutch." + }, + { + "value": "dutchKp", + "name": "DutchKp", + "description": "Selects the Lucene stemming tokenizer for Dutch that uses the Kraaij-Pohlmann stemming algorithm." + }, + { + "value": "english", + "name": "English", + "description": "Selects the Lucene stemming tokenizer for English." + }, + { + "value": "lightEnglish", + "name": "LightEnglish", + "description": "Selects the Lucene stemming tokenizer for English that does light stemming." + }, + { + "value": "minimalEnglish", + "name": "MinimalEnglish", + "description": "Selects the Lucene stemming tokenizer for English that does minimal stemming." + }, + { + "value": "possessiveEnglish", + "name": "PossessiveEnglish", + "description": "Selects the Lucene stemming tokenizer for English that removes trailing possessives from words." + }, + { + "value": "porter2", + "name": "Porter2", + "description": "Selects the Lucene stemming tokenizer for English that uses the Porter2 stemming algorithm." + }, + { + "value": "lovins", + "name": "Lovins", + "description": "Selects the Lucene stemming tokenizer for English that uses the Lovins stemming algorithm." + }, + { + "value": "finnish", + "name": "Finnish", + "description": "Selects the Lucene stemming tokenizer for Finnish." + }, + { + "value": "lightFinnish", + "name": "LightFinnish", + "description": "Selects the Lucene stemming tokenizer for Finnish that does light stemming." + }, + { + "value": "french", + "name": "French", + "description": "Selects the Lucene stemming tokenizer for French." + }, + { + "value": "lightFrench", + "name": "LightFrench", + "description": "Selects the Lucene stemming tokenizer for French that does light stemming." + }, + { + "value": "minimalFrench", + "name": "MinimalFrench", + "description": "Selects the Lucene stemming tokenizer for French that does minimal stemming." + }, + { + "value": "galician", + "name": "Galician", + "description": "Selects the Lucene stemming tokenizer for Galician." + }, + { + "value": "minimalGalician", + "name": "MinimalGalician", + "description": "Selects the Lucene stemming tokenizer for Galician that does minimal stemming." + }, + { + "value": "german", + "name": "German", + "description": "Selects the Lucene stemming tokenizer for German." + }, + { + "value": "german2", + "name": "German2", + "description": "Selects the Lucene stemming tokenizer that uses the German variant algorithm." + }, + { + "value": "lightGerman", + "name": "LightGerman", + "description": "Selects the Lucene stemming tokenizer for German that does light stemming." + }, + { + "value": "minimalGerman", + "name": "MinimalGerman", + "description": "Selects the Lucene stemming tokenizer for German that does minimal stemming." + }, + { + "value": "greek", + "name": "Greek", + "description": "Selects the Lucene stemming tokenizer for Greek." + }, + { + "value": "hindi", + "name": "Hindi", + "description": "Selects the Lucene stemming tokenizer for Hindi." + }, + { + "value": "hungarian", + "name": "Hungarian", + "description": "Selects the Lucene stemming tokenizer for Hungarian." + }, + { + "value": "lightHungarian", + "name": "LightHungarian", + "description": "Selects the Lucene stemming tokenizer for Hungarian that does light stemming." + }, + { + "value": "indonesian", + "name": "Indonesian", + "description": "Selects the Lucene stemming tokenizer for Indonesian." + }, + { + "value": "irish", + "name": "Irish", + "description": "Selects the Lucene stemming tokenizer for Irish." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the Lucene stemming tokenizer for Italian." + }, + { + "value": "lightItalian", + "name": "LightItalian", + "description": "Selects the Lucene stemming tokenizer for Italian that does light stemming." + }, + { + "value": "sorani", + "name": "Sorani", + "description": "Selects the Lucene stemming tokenizer for Sorani." + }, + { + "value": "latvian", + "name": "Latvian", + "description": "Selects the Lucene stemming tokenizer for Latvian." + }, + { + "value": "norwegian", + "name": "Norwegian", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Bokmål)." + }, + { + "value": "lightNorwegian", + "name": "LightNorwegian", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Bokmål) that does light stemming." + }, + { + "value": "minimalNorwegian", + "name": "MinimalNorwegian", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Bokmål) that does minimal stemming." + }, + { + "value": "lightNynorsk", + "name": "LightNynorsk", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Nynorsk) that does light stemming." + }, + { + "value": "minimalNynorsk", + "name": "MinimalNynorsk", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Nynorsk) that does minimal stemming." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the Lucene stemming tokenizer for Portuguese." + }, + { + "value": "lightPortuguese", + "name": "LightPortuguese", + "description": "Selects the Lucene stemming tokenizer for Portuguese that does light stemming." + }, + { + "value": "minimalPortuguese", + "name": "MinimalPortuguese", + "description": "Selects the Lucene stemming tokenizer for Portuguese that does minimal stemming." + }, + { + "value": "portugueseRslp", + "name": "PortugueseRslp", + "description": "Selects the Lucene stemming tokenizer for Portuguese that uses the RSLP stemming algorithm." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the Lucene stemming tokenizer for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the Lucene stemming tokenizer for Russian." + }, + { + "value": "lightRussian", + "name": "LightRussian", + "description": "Selects the Lucene stemming tokenizer for Russian that does light stemming." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the Lucene stemming tokenizer for Spanish." + }, + { + "value": "lightSpanish", + "name": "LightSpanish", + "description": "Selects the Lucene stemming tokenizer for Spanish that does light stemming." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the Lucene stemming tokenizer for Swedish." + }, + { + "value": "lightSwedish", + "name": "LightSwedish", + "description": "Selects the Lucene stemming tokenizer for Swedish that does light stemming." + }, + { + "value": "turkish", + "name": "Turkish", + "description": "Selects the Lucene stemming tokenizer for Turkish." + } + ] + }, + "description": "The language to use for a stemmer token filter." + }, + "StemmerTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StemmerTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "language": { + "$ref": "#/definitions/StemmerTokenFilterLanguage", + "description": "The language to use." + } + }, + "required": [ + "language" + ], + "description": "Language specific stemming filter. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters" + } + }, + "StemmerOverrideTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StemmerOverrideTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "rules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of stemming rules in the following format: \"word => stem\", for example: \"ran => run\"." + } + }, + "required": [ + "rules" + ], + "description": "Provides the ability to override other stemming filters with custom dictionary-based stemming. Any dictionary-stemmed terms will be marked as keywords so that they will not be stemmed with stemmers down the chain. Must be placed before any stemming filters. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.html" + } + }, + "StopwordsList": { + "type": "string", + "enum": [ + "arabic", + "armenian", + "basque", + "brazilian", + "bulgarian", + "catalan", + "czech", + "danish", + "dutch", + "english", + "finnish", + "french", + "galician", + "german", + "greek", + "hindi", + "hungarian", + "indonesian", + "irish", + "italian", + "latvian", + "norwegian", + "persian", + "portuguese", + "romanian", + "russian", + "sorani", + "spanish", + "swedish", + "thai", + "turkish" + ], + "x-ms-enum": { + "name": "StopwordsList", + "modelAsString": false, + "values": [ + { + "value": "arabic", + "name": "Arabic", + "description": "Selects the stopword list for Arabic." + }, + { + "value": "armenian", + "name": "Armenian", + "description": "Selects the stopword list for Armenian." + }, + { + "value": "basque", + "name": "Basque", + "description": "Selects the stopword list for Basque." + }, + { + "value": "brazilian", + "name": "Brazilian", + "description": "Selects the stopword list for Portuguese (Brazil)." + }, + { + "value": "bulgarian", + "name": "Bulgarian", + "description": "Selects the stopword list for Bulgarian." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the stopword list for Catalan." + }, + { + "value": "czech", + "name": "Czech", + "description": "Selects the stopword list for Czech." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the stopword list for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the stopword list for Dutch." + }, + { + "value": "english", + "name": "English", + "description": "Selects the stopword list for English." + }, + { + "value": "finnish", + "name": "Finnish", + "description": "Selects the stopword list for Finnish." + }, + { + "value": "french", + "name": "French", + "description": "Selects the stopword list for French." + }, + { + "value": "galician", + "name": "Galician", + "description": "Selects the stopword list for Galician." + }, + { + "value": "german", + "name": "German", + "description": "Selects the stopword list for German." + }, + { + "value": "greek", + "name": "Greek", + "description": "Selects the stopword list for Greek." + }, + { + "value": "hindi", + "name": "Hindi", + "description": "Selects the stopword list for Hindi." + }, + { + "value": "hungarian", + "name": "Hungarian", + "description": "Selects the stopword list for Hungarian." + }, + { + "value": "indonesian", + "name": "Indonesian", + "description": "Selects the stopword list for Indonesian." + }, + { + "value": "irish", + "name": "Irish", + "description": "Selects the stopword list for Irish." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the stopword list for Italian." + }, + { + "value": "latvian", + "name": "Latvian", + "description": "Selects the stopword list for Latvian." + }, + { + "value": "norwegian", + "name": "Norwegian", + "description": "Selects the stopword list for Norwegian." + }, + { + "value": "persian", + "name": "Persian", + "description": "Selects the stopword list for Persian." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the stopword list for Portuguese." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the stopword list for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the stopword list for Russian." + }, + { + "value": "sorani", + "name": "Sorani", + "description": "Selects the stopword list for Sorani." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the stopword list for Spanish." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the stopword list for Swedish." + }, + { + "value": "thai", + "name": "Thai", + "description": "Selects the stopword list for Thai." + }, + { + "value": "turkish", + "name": "Turkish", + "description": "Selects the stopword list for Turkish." + } + ] + }, + "description": "Identifies a predefined list of language-specific stopwords." + }, + "StopwordsTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StopwordsTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "stopwords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of stopwords. This property and the stopwords list property cannot both be set." + }, + "stopwordsList": { + "$ref": "#/definitions/StopwordsList", + "default": "english", + "description": "A predefined list of stopwords to use. This property and the stopwords property cannot both be set. Default is English." + }, + "ignoreCase": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to ignore case. If true, all words are converted to lower case first. Default is false." + }, + "removeTrailing": { + "x-ms-client-name": "RemoveTrailingStopWords", + "type": "boolean", + "default": true, + "description": "A value indicating whether to ignore the last search term if it's a stop word. Default is true." + } + }, + "description": "Removes stop words from a token stream. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html" + } + }, + "SynonymTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.SynonymTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "synonyms": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of synonyms in following one of two formats: 1. incredible, unbelievable, fabulous => amazing - all terms on the left side of => symbol will be replaced with all terms on its right side; 2. incredible, unbelievable, fabulous, amazing - comma separated list of equivalent words. Set the expand option to change how this list is interpreted." + }, + "ignoreCase": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to case-fold input for matching. Default is false." + }, + "expand": { + "type": "boolean", + "default": true, + "description": "A value indicating whether all words in the list of synonyms (if => notation is not used) will map to one another. If true, all words in the list of synonyms (if => notation is not used) will map to one another. The following list: incredible, unbelievable, fabulous, amazing is equivalent to: incredible, unbelievable, fabulous, amazing => incredible, unbelievable, fabulous, amazing. If false, the following list: incredible, unbelievable, fabulous, amazing will be equivalent to: incredible, unbelievable, fabulous, amazing => incredible. Default is true." + } + }, + "required": [ + "synonyms" + ], + "description": "Matches single or multi-word synonyms in a token stream. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/synonym/SynonymFilter.html" + } + }, + "TruncateTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.TruncateTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "length": { + "type": "integer", + "format": "int32", + "default": 300, + "maximum": 300, + "description": "The length at which terms will be truncated. Default and maximum is 300." + } + }, + "description": "Truncates the terms to a specific length. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html" + } + }, + "UniqueTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.UniqueTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "onlyOnSamePosition": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to remove duplicates only at the same position. Default is false." + } + }, + "description": "Filters out tokens with same text as the previous token. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html" + } + }, + "WordDelimiterTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.WordDelimiterTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "generateWordParts": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to generate part words. If set, causes parts of words to be generated; for example \"AzureSearch\" becomes \"Azure\" \"Search\". Default is true." + }, + "generateNumberParts": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to generate number subwords. Default is true." + }, + "catenateWords": { + "type": "boolean", + "default": false, + "description": "A value indicating whether maximum runs of word parts will be catenated. For example, if this is set to true, \"Azure-Search\" becomes \"AzureSearch\". Default is false." + }, + "catenateNumbers": { + "type": "boolean", + "default": false, + "description": "A value indicating whether maximum runs of number parts will be catenated. For example, if this is set to true, \"1-2\" becomes \"12\". Default is false." + }, + "catenateAll": { + "type": "boolean", + "default": false, + "description": "A value indicating whether all subword parts will be catenated. For example, if this is set to true, \"Azure-Search-1\" becomes \"AzureSearch1\". Default is false." + }, + "splitOnCaseChange": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to split words on caseChange. For example, if this is set to true, \"AzureSearch\" becomes \"Azure\" \"Search\". Default is true." + }, + "preserveOriginal": { + "type": "boolean", + "default": false, + "description": "A value indicating whether original words will be preserved and added to the subword list. Default is false." + }, + "splitOnNumerics": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to split on numbers. For example, if this is set to true, \"Azure1Search\" becomes \"Azure\" \"1\" \"Search\". Default is true." + }, + "stemEnglishPossessive": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to remove trailing \"'s\" for each subword. Default is true." + }, + "protectedWords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of tokens to protect from being delimited." + } + }, + "description": "Splits words into subwords and performs optional transformations on subword groups. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.html" + } + }, + "CharFilter": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the char filter." + }, + "name": { + "type": "string", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" + }, + "description": "The name of the char filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." + } + }, + "required": [ + "@odata.type", + "name" + ], + "description": "Base type for character filters.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "MappingCharFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.MappingCharFilter", + "allOf": [ + { + "$ref": "#/definitions/CharFilter" + } + ], + "properties": { + "mappings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of mappings of the following format: \"a=>b\" (all occurrences of the character \"a\" will be replaced with character \"b\")." + } + }, + "required": [ + "mappings" + ], + "description": "A character filter that applies mappings defined with the mappings option. Matching is greedy (longest pattern matching at a given point wins). Replacement is allowed to be the empty string. This character filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/MappingCharFilter.html" + } + }, + "PatternReplaceCharFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternReplaceCharFilter", + "allOf": [ + { + "$ref": "#/definitions/CharFilter" + } + ], + "properties": { + "pattern": { + "type": "string", + "description": "A regular expression pattern." + }, + "replacement": { + "type": "string", + "description": "The replacement text." + } + }, + "required": [ + "pattern", + "replacement" + ], + "description": "A character filter that replaces characters in the input string. It uses a regular expression to identify character sequences to preserve and a replacement pattern to identify characters to replace. For example, given the input text \"aa bb aa bb\", pattern \"(aa)\\s+(bb)\", and replacement \"$1#$2\", the result would be \"aa#bb aa#bb\". This character filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.html" + } + }, + "Similarity": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string" + } + }, + "required": [ + "@odata.type" + ], + "description": "Base type for similarity algorithms. Similarity algorithms are used to calculate scores that tie queries to documents. The higher the score, the more relevant the document is to that specific query. Those scores are used to rank the search results.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/index-ranking-similarity" + } + }, + "ClassicSimilarity": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.ClassicSimilarity", + "allOf": [ + { + "$ref": "#/definitions/Similarity" + } + ], + "description": "Legacy similarity algorithm which uses the Lucene TFIDFSimilarity implementation of TF-IDF. This variation of TF-IDF introduces static document length normalization as well as coordinating factors that penalize documents that only partially match the searched queries." + }, + "BM25Similarity": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.BM25Similarity", + "allOf": [ + { + "$ref": "#/definitions/Similarity" + } + ], + "properties": { + "k1": { + "type": "number", + "format": "double", + "description": "This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair. By default, a value of 1.2 is used. A value of 0.0 means the score does not scale with an increase in term frequency.", + "x-nullable": true + }, + "b": { + "type": "number", + "format": "double", + "description": "This property controls how the length of a document affects the relevance score. By default, a value of 0.75 is used. A value of 0.0 means no length normalization is applied, while a value of 1.0 means the score is fully normalized by the length of the document.", + "x-nullable": true + } + }, + "description": "Ranking function based on the Okapi BM25 similarity algorithm. BM25 is a TF-IDF-like algorithm that includes length normalization (controlled by the 'b' parameter) as well as term frequency saturation (controlled by the 'k1' parameter)." + }, + "DataSourceCredentials": { + "properties": { + "connectionString": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source" + }, + "type": "string", + "description": "The connection string for the datasource." + } + }, + "description": "Represents credentials that can be used to connect to a datasource." + }, + "SearchIndexerDataContainer": { + "properties": { + "name": { + "type": "string", + "description": "The name of the table or view (for Azure SQL data source) or collection (for CosmosDB data source) that will be indexed." + }, + "query": { + "type": "string", + "description": "A query that is applied to this data container. The syntax and meaning of this parameter is datasource-specific. Not supported by Azure SQL datasources." + } + }, + "required": [ + "name" + ], + "description": "Represents information about the entity (such as Azure SQL table or CosmosDB collection) that will be indexed." + }, + "DataChangeDetectionPolicy": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the data change detection policy." + } + }, + "required": [ + "@odata.type" + ], + "description": "Base type for data change detection policies." + }, + "HighWaterMarkChangeDetectionPolicy": { + "description": "Defines a data change detection policy that captures changes based on the value of a high water mark column.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "allOf": [ + { + "$ref": "#/definitions/DataChangeDetectionPolicy" + } + ], + "properties": { + "highWaterMarkColumnName": { + "type": "string", + "description": "The name of the high water mark column." + } + }, + "required": [ + "highWaterMarkColumnName" + ] + }, + "SqlIntegratedChangeTrackingPolicy": { + "description": "Defines a data change detection policy that captures changes using the Integrated Change Tracking feature of Azure SQL Database.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy", + "allOf": [ + { + "$ref": "#/definitions/DataChangeDetectionPolicy" + } + ] + }, + "DataDeletionDetectionPolicy": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the data deletion detection policy." + } + }, + "required": [ + "@odata.type" + ], + "description": "Base type for data deletion detection policies." + }, + "SoftDeleteColumnDeletionDetectionPolicy": { + "description": "Defines a data deletion detection policy that implements a soft-deletion strategy. It determines whether an item should be deleted based on the value of a designated 'soft delete' column.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "allOf": [ + { + "$ref": "#/definitions/DataDeletionDetectionPolicy" + } + ], + "properties": { + "softDeleteColumnName": { + "type": "string", + "description": "The name of the column to use for soft-deletion detection." + }, + "softDeleteMarkerValue": { + "type": "string", + "description": "The marker value that identifies an item as deleted." + } + } + }, + "SearchIndexerDataSourceType": { + "type": "string", + "enum": [ + "azuresql", + "cosmosdb", + "azureblob", + "azuretable", + "mysql" + ], + "x-ms-enum": { + "name": "SearchIndexerDataSourceType", + "modelAsString": true, + "values": [ + { + "value": "azuresql", + "name": "AzureSql", + "description": "Indicates an Azure SQL datasource." + }, + { + "value": "cosmosdb", + "name": "CosmosDb", + "description": "Indicates a CosmosDB datasource." + }, + { + "value": "azureblob", + "name": "AzureBlob", + "description": "Indicates a Azure Blob datasource." + }, + { + "value": "azuretable", + "name": "AzureTable", + "description": "Indicates a Azure Table datasource." + }, + { + "value": "mysql", + "name": "MySql", + "description": "Indicates a MySql datasource." + } + ] + }, + "description": "Defines the type of a datasource." + }, + "SearchIndexerDataSource": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the datasource." + }, + "description": { + "type": "string", + "description": "The description of the datasource." + }, + "type": { + "$ref": "#/definitions/SearchIndexerDataSourceType", + "description": "The type of the datasource." + }, + "credentials": { + "$ref": "#/definitions/DataSourceCredentials", + "description": "Credentials for the datasource." + }, + "container": { + "$ref": "#/definitions/SearchIndexerDataContainer", + "description": "The data container for the datasource." + }, + "dataChangeDetectionPolicy": { + "$ref": "#/definitions/DataChangeDetectionPolicy", + "x-nullable": true, + "description": "The data change detection policy for the datasource." + }, + "dataDeletionDetectionPolicy": { + "$ref": "#/definitions/DataDeletionDetectionPolicy", + "x-nullable": true, + "description": "The data deletion detection policy for the datasource." + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the data source." + } + }, + "required": [ + "name", + "type", + "credentials", + "container" + ], + "description": "Represents a datasource definition, which can be used to configure an indexer." + }, + "ListDataSourcesResult": { + "properties": { + "value": { + "x-ms-client-name": "DataSources", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexerDataSource" + }, + "description": "The datasources in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List Datasources request. If successful, it includes the full definitions of all datasources." + }, + "IndexingSchedule": { + "properties": { + "interval": { + "type": "string", + "format": "duration", + "description": "The interval of time between indexer executions." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The time when an indexer should start running." + } + }, + "required": [ + "interval" + ], + "description": "Represents a schedule for indexer execution." + }, + "IndexingParameters": { + "properties": { + "batchSize": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The number of items that are read from the data source and indexed as a single batch in order to improve performance. The default depends on the data source type." + }, + "maxFailedItems": { + "type": "integer", + "format": "int32", + "default": 0, + "x-nullable": true, + "description": "The maximum number of items that can fail indexing for indexer execution to still be considered successful. -1 means no limit. Default is 0." + }, + "maxFailedItemsPerBatch": { + "type": "integer", + "format": "int32", + "default": 0, + "x-nullable": true, + "description": "The maximum number of items in a single batch that can fail indexing for the batch to still be considered successful. -1 means no limit. Default is 0." + }, + "configuration": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type." + } + }, + "description": "Represents parameters for indexer execution." + }, + "FieldMappingFunction": { + "properties": { + "name": { + "type": "string", + "description": "The name of the field mapping function." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "A dictionary of parameter name/value pairs to pass to the function. Each value must be of a primitive type." + } + }, + "required": [ + "name" + ], + "description": "Represents a function that transforms a value from a data source before indexing.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings" + } + }, + "FieldMapping": { + "properties": { + "sourceFieldName": { + "type": "string", + "description": "The name of the field in the data source." + }, + "targetFieldName": { + "type": "string", + "description": "The name of the target field in the index. Same as the source field name by default." + }, + "mappingFunction": { + "$ref": "#/definitions/FieldMappingFunction", + "x-nullable": true, + "description": "A function to apply to each source field value before indexing." + } + }, + "required": [ + "sourceFieldName" + ], + "description": "Defines a mapping between a field in a data source and a target field in an index.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings" + } + }, + "SearchIndexer": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the indexer." + }, + "description": { + "type": "string", + "description": "The description of the indexer." + }, + "dataSourceName": { + "type": "string", + "description": "The name of the datasource from which this indexer reads data." + }, + "skillsetName": { + "type": "string", + "description": "The name of the skillset executing with this indexer." + }, + "targetIndexName": { + "type": "string", + "description": "The name of the index to which this indexer writes data." + }, + "schedule": { + "$ref": "#/definitions/IndexingSchedule", + "x-nullable": true, + "description": "The schedule for this indexer." + }, + "parameters": { + "$ref": "#/definitions/IndexingParameters", + "x-nullable": true, + "description": "Parameters for indexer execution." + }, + "fieldMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + }, + "description": "Defines mappings between fields in the data source and corresponding target fields in the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings" + } + }, + "outputFieldMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + }, + "description": "Output field mappings are applied after enrichment and immediately before indexing.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings" + } + }, + "disabled": { + "x-ms-client-name": "IsDisabled", + "type": "boolean", + "default": false, + "x-nullable": true, + "description": "A value indicating whether the indexer is disabled. Default is false." + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the indexer." + } + }, + "required": [ + "name", + "dataSourceName", + "targetIndexName" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Indexer-operations" + }, + "description": "Represents an indexer." + }, + "ListIndexersResult": { + "properties": { + "value": { + "x-ms-client-name": "Indexers", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexer" + }, + "description": "The indexers in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List Indexers request. If successful, it includes the full definitions of all indexers." + }, + "SearchIndexerError": { + "properties": { + "key": { + "type": "string", + "readOnly": true, + "description": "The key of the item for which indexing failed." + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "The message describing the error that occurred while processing the item." + }, + "statusCode": { + "type": "integer", + "format": "int32", + "x-nullable": false, + "readOnly": true, + "description": "The status code indicating why the indexing operation failed. Possible values include: 400 for a malformed input document, 404 for document not found, 409 for a version conflict, 422 when the index is temporarily unavailable, or 503 for when the service is too busy." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the source at which the error originated. For example, this could refer to a particular skill in the attached skillset. This may not be always available." + }, + "details": { + "type": "string", + "readOnly": true, + "description": "Additional, verbose details about the error to assist in debugging the indexer. This may not be always available." + }, + "documentationLink": { + "type": "string", + "readOnly": true, + "description": "A link to a troubleshooting guide for these classes of errors. This may not be always available." + } + }, + "required": [ + "errorMessage", + "statusCode" + ], + "description": "Represents an item- or document-level indexing error." + }, + "SearchIndexerWarning": { + "properties": { + "key": { + "type": "string", + "readOnly": true, + "description": "The key of the item which generated a warning." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The message describing the warning that occurred while processing the item." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the source at which the warning originated. For example, this could refer to a particular skill in the attached skillset. This may not be always available." + }, + "details": { + "type": "string", + "readOnly": true, + "description": "Additional, verbose details about the warning to assist in debugging the indexer. This may not be always available." + }, + "documentationLink": { + "type": "string", + "readOnly": true, + "description": "A link to a troubleshooting guide for these classes of warnings. This may not be always available." + } + }, + "required": [ + "message" + ], + "description": "Represents an item-level warning." + }, + "IndexerExecutionResult": { + "properties": { + "status": { + "$ref": "#/definitions/IndexerExecutionStatus", + "readOnly": true, + "description": "The outcome of this indexer execution." + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "The error message indicating the top-level error, if any." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The start time of this indexer execution." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "x-nullable": true, + "description": "The end time of this indexer execution, if the execution has already completed." + }, + "errors": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexerError" + }, + "description": "The item-level indexing errors." + }, + "warnings": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexerWarning" + }, + "description": "The item-level indexing warnings." + }, + "itemsProcessed": { + "x-ms-client-name": "ItemCount", + "type": "integer", + "format": "int32", + "x-nullable": false, + "readOnly": true, + "description": "The number of items that were processed during this indexer execution. This includes both successfully processed items and items where indexing was attempted but failed." + }, + "itemsFailed": { + "x-ms-client-name": "FailedItemCount", + "type": "integer", + "format": "int32", + "x-nullable": false, + "readOnly": true, + "description": "The number of items that failed to be indexed during this indexer execution." + }, + "initialTrackingState": { + "type": "string", + "readOnly": true, + "description": "Change tracking state with which an indexer execution started." + }, + "finalTrackingState": { + "type": "string", + "readOnly": true, + "description": "Change tracking state with which an indexer execution finished." + } + }, + "required": [ + "status", + "errors", + "warnings", + "itemsProcessed", + "itemsFailed" + ], + "description": "Represents the result of an individual indexer execution." + }, + "IndexerExecutionStatus": { + "type": "string", + "enum": [ + "transientFailure", + "success", + "inProgress", + "reset" + ], + "x-ms-enum": { + "name": "IndexerExecutionStatus", + "modelAsString": false, + "values": [ + { + "value": "transientFailure", + "name": "TransientFailure", + "description": "An indexer invocation has failed, but the failure may be transient. Indexer invocations will continue per schedule." + }, + { + "value": "success", + "name": "Success", + "description": "Indexer execution completed successfully." + }, + { + "value": "inProgress", + "name": "InProgress", + "description": "Indexer execution is in progress." + }, + { + "value": "reset", + "name": "Reset", + "description": "Indexer has been reset." + } + ] + }, + "x-nullable": false, + "description": "Represents the status of an individual indexer execution." + }, + "SearchIndexerStatus": { + "properties": { + "status": { + "$ref": "#/definitions/IndexerStatus", + "readOnly": true, + "description": "Overall indexer status." + }, + "lastResult": { + "$ref": "#/definitions/IndexerExecutionResult", + "readOnly": true, + "description": "The result of the most recent or an in-progress indexer execution." + }, + "executionHistory": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/IndexerExecutionResult" + }, + "description": "History of the recent indexer executions, sorted in reverse chronological order." + }, + "limits": { + "$ref": "#/definitions/SearchIndexerLimits", + "readOnly": true, + "description": "The execution limits for the indexer." + } + }, + "required": [ + "status", + "executionHistory", + "limits" + ], + "description": "Represents the current status and execution history of an indexer." + }, + "IndexerStatus": { + "type": "string", + "enum": [ + "unknown", + "error", + "running" + ], + "x-ms-enum": { + "name": "IndexerStatus", + "modelAsString": false, + "values": [ + { + "value": "unknown", + "name": "Unknown", + "description": "Indicates that the indexer is in an unknown state." + }, + { + "value": "error", + "name": "Error", + "description": "Indicates that the indexer experienced an error that cannot be corrected without human intervention." + }, + { + "value": "running", + "name": "Running", + "description": "Indicates that the indexer is running normally." + } + ] + }, + "x-nullable": false, + "description": "Represents the overall indexer status." + }, + "SearchIndexerLimits": { + "properties": { + "maxRunTime": { + "type": "string", + "format": "duration", + "readOnly": true, + "description": "The maximum duration that the indexer is permitted to run for one execution." + }, + "maxDocumentExtractionSize": { + "type": "number", + "format": "int64", + "readOnly": true, + "description": "The maximum size of a document, in bytes, which will be considered valid for indexing." + }, + "maxDocumentContentCharactersToExtract": { + "type": "number", + "format": "int64", + "readOnly": true, + "description": "The maximum number of characters that will be extracted from a document picked up for indexing." + } + } + }, + "SearchField": { + "properties": { + "name": { + "type": "string", + "description": "The name of the field, which must be unique within the fields collection of the index or parent field.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + } + }, + "type": { + "$ref": "#/definitions/SearchFieldDataType", + "description": "The data type of the field.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/supported-data-types" + } + }, + "key": { + "type": "boolean", + "description": "A value indicating whether the field uniquely identifies documents in the index. Exactly one top-level field in each index must be chosen as the key field and it must be of type Edm.String. Key fields can be used to look up documents directly and update or delete specific documents. Default is false for simple fields and null for complex fields." + }, + "retrievable": { + "type": "boolean", + "description": "A value indicating whether the field can be returned in a search result. You can disable this option if you want to use a field (for example, margin) as a filter, sorting, or scoring mechanism but do not want the field to be visible to the end user. This property must be true for key fields, and it must be null for complex fields. This property can be changed on existing fields. Enabling this property does not cause any increase in index storage requirements. Default is true for simple fields and null for complex fields." + }, + "searchable": { + "type": "boolean", + "description": "A value indicating whether the field is full-text searchable. This means it will undergo analysis such as word-breaking during indexing. If you set a searchable field to a value like \"sunny day\", internally it will be split into the individual tokens \"sunny\" and \"day\". This enables full-text searches for these terms. Fields of type Edm.String or Collection(Edm.String) are searchable by default. This property must be false for simple fields of other non-string data types, and it must be null for complex fields. Note: searchable fields consume extra space in your index since Azure Cognitive Search will store an additional tokenized version of the field value for full-text searches. If you want to save space in your index and you don't need a field to be included in searches, set searchable to false." + }, + "filterable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in $filter queries. filterable differs from searchable in how strings are handled. Fields of type Edm.String or Collection(Edm.String) that are filterable do not undergo word-breaking, so comparisons are for exact matches only. For example, if you set such a field f to \"sunny day\", $filter=f eq 'sunny' will find no matches, but $filter=f eq 'sunny day' will. This property must be null for complex fields. Default is true for simple fields and null for complex fields." + }, + "sortable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in $orderby expressions. By default Azure Cognitive Search sorts results by score, but in many experiences users will want to sort by fields in the documents. A simple field can be sortable only if it is single-valued (it has a single value in the scope of the parent document). Simple collection fields cannot be sortable, since they are multi-valued. Simple sub-fields of complex collections are also multi-valued, and therefore cannot be sortable. This is true whether it's an immediate parent field, or an ancestor field, that's the complex collection. Complex fields cannot be sortable and the sortable property must be null for such fields. The default for sortable is true for single-valued simple fields, false for multi-valued simple fields, and null for complex fields." + }, + "facetable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in facet queries. Typically used in a presentation of search results that includes hit count by category (for example, search for digital cameras and see hits by brand, by megapixels, by price, and so on). This property must be null for complex fields. Fields of type Edm.GeographyPoint or Collection(Edm.GeographyPoint) cannot be facetable. Default is true for all other simple fields." + }, + "analyzer": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" + }, + "$ref": "#/definitions/LexicalAnalyzerName", + "description": "The name of the analyzer to use for the field. This option can be used only with searchable fields and it can't be set together with either searchAnalyzer or indexAnalyzer. Once the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields.", + "x-nullable": true + }, + "searchAnalyzer": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" + }, + "$ref": "#/definitions/LexicalAnalyzerName", + "description": "The name of the analyzer used at search time for the field. This option can be used only with searchable fields. It must be set together with indexAnalyzer and it cannot be set together with the analyzer option. This property cannot be set to the name of a language analyzer; use the analyzer property instead if you need a language analyzer. This analyzer can be updated on an existing field. Must be null for complex fields.", + "x-nullable": true + }, + "indexAnalyzer": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" + }, + "$ref": "#/definitions/LexicalAnalyzerName", + "description": "The name of the analyzer used at indexing time for the field. This option can be used only with searchable fields. It must be set together with searchAnalyzer and it cannot be set together with the analyzer option. This property cannot be set to the name of a language analyzer; use the analyzer property instead if you need a language analyzer. Once the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields.", + "x-nullable": true + }, + "synonymMaps": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Synonym-Map-operations" + }, + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of the names of synonym maps to associate with this field. This option can be used only with searchable fields. Currently only one synonym map per field is supported. Assigning a synonym map to a field ensures that query terms targeting that field are expanded at query-time using the rules in the synonym map. This attribute can be changed on existing fields. Must be null or an empty collection for complex fields." + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchField" + }, + "description": "A list of sub-fields if this is a field of type Edm.ComplexType or Collection(Edm.ComplexType). Must be null or empty for simple fields." + } + }, + "required": [ + "name", + "type" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index" + }, + "description": "Represents a field in an index definition, which describes the name, data type, and search behavior of a field." + }, + "TextWeights": { + "properties": { + "weights": { + "type": "object", + "additionalProperties": { + "type": "number", + "format": "double", + "x-nullable": false + }, + "description": "The dictionary of per-field weights to boost document scoring. The keys are field names and the values are the weights for each field." + } + }, + "required": [ + "weights" + ], + "description": "Defines weights on index fields for which matches should boost scoring in search queries." + }, + "ScoringFunction": { + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of function to use. Valid values include magnitude, freshness, distance, and tag. The function type must be lower case." + }, + "fieldName": { + "type": "string", + "description": "The name of the field used as input to the scoring function." + }, + "boost": { + "type": "number", + "format": "double", + "description": "A multiplier for the raw score. Must be a positive number not equal to 1.0." + }, + "interpolation": { + "$ref": "#/definitions/ScoringFunctionInterpolation", + "description": "A value indicating how boosting will be interpolated across document scores; defaults to \"Linear\"." + } + }, + "required": [ + "type", + "fieldName", + "boost" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Base type for functions that can modify document scores during ranking." + }, + "DistanceScoringFunction": { + "x-ms-discriminator-value": "distance", + "allOf": [ + { + "$ref": "#/definitions/ScoringFunction" + } + ], + "properties": { + "distance": { + "x-ms-client-name": "Parameters", + "$ref": "#/definitions/DistanceScoringParameters", + "description": "Parameter values for the distance scoring function." + } + }, + "required": [ + "distance" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines a function that boosts scores based on distance from a geographic location." + }, + "DistanceScoringParameters": { + "properties": { + "referencePointParameter": { + "type": "string", + "description": "The name of the parameter passed in search queries to specify the reference location." + }, + "boostingDistance": { + "type": "number", + "format": "double", + "description": "The distance in kilometers from the reference location where the boosting range ends." + } + }, + "required": [ + "referencePointParameter", + "boostingDistance" + ], + "description": "Provides parameter values to a distance scoring function." + }, + "FreshnessScoringFunction": { + "x-ms-discriminator-value": "freshness", + "allOf": [ + { + "$ref": "#/definitions/ScoringFunction" + } + ], + "properties": { + "freshness": { + "x-ms-client-name": "Parameters", + "$ref": "#/definitions/FreshnessScoringParameters", + "description": "Parameter values for the freshness scoring function." + } + }, + "required": [ + "freshness" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines a function that boosts scores based on the value of a date-time field." + }, + "FreshnessScoringParameters": { + "properties": { + "boostingDuration": { + "type": "string", + "format": "duration", + "description": "The expiration period after which boosting will stop for a particular document." + } + }, + "required": [ + "boostingDuration" + ], + "description": "Provides parameter values to a freshness scoring function." + }, + "MagnitudeScoringFunction": { + "x-ms-discriminator-value": "magnitude", + "allOf": [ + { + "$ref": "#/definitions/ScoringFunction" + } + ], + "properties": { + "magnitude": { + "x-ms-client-name": "Parameters", + "$ref": "#/definitions/MagnitudeScoringParameters", + "description": "Parameter values for the magnitude scoring function." + } + }, + "required": [ + "magnitude" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines a function that boosts scores based on the magnitude of a numeric field." + }, + "MagnitudeScoringParameters": { + "properties": { + "boostingRangeStart": { + "type": "number", + "format": "double", + "description": "The field value at which boosting starts." + }, + "boostingRangeEnd": { + "type": "number", + "format": "double", + "description": "The field value at which boosting ends." + }, + "constantBoostBeyondRange": { + "x-ms-client-name": "ShouldBoostBeyondRangeByConstant", + "type": "boolean", + "description": "A value indicating whether to apply a constant boost for field values beyond the range end value; default is false." + } + }, + "required": [ + "boostingRangeStart", + "boostingRangeEnd" + ], + "description": "Provides parameter values to a magnitude scoring function." + }, + "TagScoringFunction": { + "x-ms-discriminator-value": "tag", + "allOf": [ + { + "$ref": "#/definitions/ScoringFunction" + } + ], + "properties": { + "tag": { + "x-ms-client-name": "Parameters", + "$ref": "#/definitions/TagScoringParameters", + "description": "Parameter values for the tag scoring function." + } + }, + "required": [ + "tag" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines a function that boosts scores of documents with string values matching a given list of tags." + }, + "TagScoringParameters": { + "properties": { + "tagsParameter": { + "type": "string", + "description": "The name of the parameter passed in search queries to specify the list of tags to compare against the target field." + } + }, + "required": [ + "tagsParameter" + ], + "description": "Provides parameter values to a tag scoring function." + }, + "ScoringFunctionInterpolation": { + "type": "string", + "enum": [ + "linear", + "constant", + "quadratic", + "logarithmic" + ], + "x-ms-enum": { + "name": "ScoringFunctionInterpolation", + "modelAsString": false, + "values": [ + { + "value": "linear", + "name": "Linear", + "description": "Boosts scores by a linearly decreasing amount. This is the default interpolation for scoring functions." + }, + { + "value": "constant", + "name": "Constant", + "description": "Boosts scores by a constant factor." + }, + { + "value": "quadratic", + "name": "Quadratic", + "description": "Boosts scores by an amount that decreases quadratically. Boosts decrease slowly for higher scores, and more quickly as the scores decrease. This interpolation option is not allowed in tag scoring functions." + }, + { + "value": "logarithmic", + "name": "Logarithmic", + "description": "Boosts scores by an amount that decreases logarithmically. Boosts decrease quickly for higher scores, and more slowly as the scores decrease. This interpolation option is not allowed in tag scoring functions." + } + ] + }, + "description": "Defines the function used to interpolate score boosting across a range of documents." + }, + "ScoringProfile": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the scoring profile." + }, + "text": { + "x-ms-client-name": "TextWeights", + "$ref": "#/definitions/TextWeights", + "description": "Parameters that boost scoring based on text matches in certain index fields.", + "x-nullable": true + }, + "functions": { + "type": "array", + "items": { + "$ref": "#/definitions/ScoringFunction" + }, + "description": "The collection of functions that influence the scoring of documents." + }, + "functionAggregation": { + "$ref": "#/definitions/ScoringFunctionAggregation", + "description": "A value indicating how the results of individual scoring functions should be combined. Defaults to \"Sum\". Ignored if there are no scoring functions." + } + }, + "required": [ + "name" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines parameters for a search index that influence scoring in search queries." + }, + "ScoringFunctionAggregation": { + "type": "string", + "enum": [ + "sum", + "average", + "minimum", + "maximum", + "firstMatching" + ], + "x-ms-enum": { + "name": "ScoringFunctionAggregation", + "modelAsString": false, + "values": [ + { + "value": "sum", + "name": "Sum", + "description": "Boost scores by the sum of all scoring function results." + }, + { + "value": "average", + "name": "Average", + "description": "Boost scores by the average of all scoring function results." + }, + { + "value": "minimum", + "name": "Minimum", + "description": "Boost scores by the minimum of all scoring function results." + }, + { + "value": "maximum", + "name": "Maximum", + "description": "Boost scores by the maximum of all scoring function results." + }, + { + "value": "firstMatching", + "name": "FirstMatching", + "description": "Boost scores using the first applicable scoring function in the scoring profile." + } + ] + }, + "description": "Defines the aggregation function used to combine the results of all the scoring functions in a scoring profile." + }, + "CorsOptions": { + "properties": { + "allowedOrigins": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of origins from which JavaScript code will be granted access to your index. Can contain a list of hosts of the form {protocol}://{fully-qualified-domain-name}[:{port#}], or a single '*' to allow all origins (not recommended)." + }, + "maxAgeInSeconds": { + "type": "integer", + "format": "int64", + "description": "The duration for which browsers should cache CORS preflight responses. Defaults to 5 minutes." + } + }, + "required": [ + "allowedOrigins" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index" + }, + "description": "Defines options to control Cross-Origin Resource Sharing (CORS) for an index." + }, + "Suggester": { + "properties": { + "name": { + "type": "string", + "description": "The name of the suggester." + }, + "searchMode": { + "type": "string", + "enum": [ + "analyzingInfixMatching" + ], + "x-ms-enum": { + "name": "SuggesterSearchMode", + "modelAsString": false, + "values": [ + { + "value": "analyzingInfixMatching", + "name": "AnalyzingInfixMatching", + "description": "Matches consecutive whole terms and prefixes in a field. For example, for the field 'The fastest brown fox', the queries 'fast' and 'fastest brow' would both match." + } + ] + }, + "description": "A value indicating the capabilities of the suggester." + }, + "sourceFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to which the suggester applies. Each field must be searchable." + } + }, + "required": [ + "name", + "searchMode", + "sourceFields" + ], + "description": "Defines how the Suggest API should apply to a group of fields in the index." + }, + "SearchIndex": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the index." + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchField" + }, + "description": "The fields of the index." + }, + "scoringProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ScoringProfile" + }, + "description": "The scoring profiles for the index." + }, + "defaultScoringProfile": { + "type": "string", + "description": "The name of the scoring profile to use if none is specified in the query. If this property is not set and no scoring profile is specified in the query, then default scoring (tf-idf) will be used." + }, + "corsOptions": { + "$ref": "#/definitions/CorsOptions", + "description": "Options to control Cross-Origin Resource Sharing (CORS) for the index.", + "x-nullable": true + }, + "suggesters": { + "type": "array", + "items": { + "$ref": "#/definitions/Suggester" + }, + "description": "The suggesters for the index." + }, + "analyzers": { + "type": "array", + "items": { + "$ref": "#/definitions/LexicalAnalyzer" + }, + "description": "The analyzers for the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "tokenizers": { + "type": "array", + "items": { + "$ref": "#/definitions/LexicalTokenizer" + }, + "description": "The tokenizers for the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "tokenFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenFilter" + }, + "description": "The token filters for the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "charFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/CharFilter" + }, + "description": "The character filters for the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your data when you want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true + }, + "similarity": { + "$ref": "#/definitions/Similarity", + "description": "The type of similarity algorithm to be used when scoring and ranking the documents matching a search query. The similarity algorithm can only be defined at index creation time and cannot be modified on existing indexes. If null, the ClassicSimilarity algorithm is used.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/index-ranking-similarity" + } + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the index." + } + }, + "required": [ + "name", + "fields" + ], + "description": "Represents a search index definition, which describes the fields and search behavior of an index." + }, + "GetIndexStatisticsResult": { + "properties": { + "documentCount": { + "type": "integer", + "format": "int64", + "x-nullable": false, + "readOnly": true, + "description": "The number of documents in the index." + }, + "storageSize": { + "type": "integer", + "format": "int64", + "x-nullable": false, + "readOnly": true, + "description": "The amount of storage in bytes consumed by the index." + } + }, + "required": [ + "documentCount", + "storageSize" + ], + "description": "Statistics for a given index. Statistics are collected periodically and are not guaranteed to always be up-to-date." + }, + "ListIndexesResult": { + "properties": { + "value": { + "x-ms-client-name": "Indexes", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndex" + }, + "description": "The indexes in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List Indexes request. If successful, it includes the full definitions of all indexes." + }, + "SearchIndexerSkillset": { + "properties": { + "name": { + "type": "string", + "description": "The name of the skillset." + }, + "description": { + "type": "string", + "description": "The description of the skillset." + }, + "skills": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerSkill" + }, + "description": "A list of skills in the skillset." + }, + "cognitiveServices": { + "x-ms-client-name": "CognitiveServicesAccount", + "$ref": "#/definitions/CognitiveServicesAccount", + "description": "Details about cognitive services to be used when running skills." + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the skillset." + } + }, + "required": [ + "name", + "skills" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-tutorial-blob" + }, + "description": "A list of skills." + }, + "CognitiveServicesAccount": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the cognitive service resource attached to a skillset." + }, + "description": { + "type": "string", + "description": "Description of the cognitive service resource attached to a skillset." + } + }, + "required": [ + "@odata.type" + ], + "description": "Base type for describing any cognitive service resource attached to a skillset." + }, + "DefaultCognitiveServicesAccount": { + "description": "An empty object that represents the default cognitive service resource for a skillset.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.DefaultCognitiveServices", + "allOf": [ + { + "$ref": "#/definitions/CognitiveServicesAccount" + } + ] + }, + "CognitiveServicesAccountKey": { + "description": "A cognitive service resource provisioned with a key that is attached to a skillset.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.CognitiveServicesByKey", + "allOf": [ + { + "$ref": "#/definitions/CognitiveServicesAccount" + } + ], + "properties": { + "key": { + "type": "string", + "description": "The key used to provision the cognitive service resource attached to a skillset." + } + }, + "required": [ + "key" + ] + }, + "SearchIndexerSkill": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the skill." + }, + "name": { + "type": "string", + "description": "The name of the skill which uniquely identifies it within the skillset. A skill with no name defined will be given a default name of its 1-based index in the skills array, prefixed with the character '#'." + }, + "description": { + "type": "string", + "description": "The description of the skill which describes the inputs, outputs, and usage of the skill." + }, + "context": { + "type": "string", + "description": "Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content). The default is /document." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/InputFieldMappingEntry" + }, + "description": "Inputs of the skills could be a column in the source data set, or the output of an upstream skill." + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFieldMappingEntry" + }, + "description": "The output of a skill is either a field in a search index, or a value that can be consumed as an input by another skill." + } + }, + "required": [ + "@odata.type", + "inputs", + "outputs" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-predefined-skills" + }, + "description": "Base type for skills." + }, + "InputFieldMappingEntry": { + "properties": { + "name": { + "type": "string", + "description": "The name of the input." + }, + "source": { + "type": "string", + "description": "The source of the input." + }, + "sourceContext": { + "type": "string", + "description": "The source context used for selecting recursive inputs." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/InputFieldMappingEntry" + }, + "description": "The recursive inputs used when creating a complex type." + } + }, + "required": [ + "name" + ], + "description": "Input field mapping for a skill." + }, + "OutputFieldMappingEntry": { + "properties": { + "name": { + "type": "string", + "description": "The name of the output defined by the skill." + }, + "targetName": { + "type": "string", + "description": "The target name of the output. It is optional and default to name." + } + }, + "required": [ + "name" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/naming-rules" + }, + "description": "Output field mapping for a skill." + }, + "ConditionalSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Util.ConditionalSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-conditional" + }, + "description": "A skill that enables scenarios that require a Boolean operation to determine the data to assign to an output." + }, + "KeyPhraseExtractionSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/KeyPhraseExtractionSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "maxKeyPhraseCount": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "A number indicating how many key phrases to return. If absent, all identified key phrases will be returned." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-keyphrases" + }, + "description": "A skill that uses text analytics for key phrase extraction." + }, + "OcrSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Vision.OcrSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/OcrSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "detectOrientation": { + "x-ms-client-name": "ShouldDetectOrientation", + "type": "boolean", + "default": false, + "description": "A value indicating to turn orientation detection on or not. Default is false." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-ocr" + }, + "description": "A skill that extracts text from image files." + }, + "ImageAnalysisSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Vision.ImageAnalysisSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/ImageAnalysisSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "visualFeatures": { + "type": "array", + "items": { + "$ref": "#/definitions/VisualFeature", + "x-nullable": false + }, + "description": "A list of visual features." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageDetail", + "x-nullable": false + }, + "description": "A string indicating which domain-specific details to return." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-image-analysis" + }, + "description": "A skill that analyzes image files. It extracts a rich set of visual features based on the image content." + }, + "LanguageDetectionSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-language-detection" + }, + "description": "A skill that detects the language of input text and reports a single language code for every document submitted on the request. The language code is paired with a score indicating the confidence of the analysis." + }, + "ShaperSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Util.ShaperSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-shaper" + }, + "description": "A skill for reshaping the outputs. It creates a complex type to support composite fields (also known as multipart fields)." + }, + "MergeSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.MergeSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "insertPreTag": { + "type": "string", + "default": " ", + "description": "The tag indicates the start of the merged text. By default, the tag is an empty space." + }, + "insertPostTag": { + "type": "string", + "default": " ", + "description": "The tag indicates the end of the merged text. By default, the tag is an empty space." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-textmerger" + }, + "description": "A skill for merging two or more strings into a single unified string, with an optional user-defined delimiter separating each component part." + }, + "EntityRecognitionSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "categories": { + "type": "array", + "items": { + "$ref": "#/definitions/EntityCategory", + "x-nullable": false + }, + "description": "A list of entity categories that should be extracted." + }, + "defaultLanguageCode": { + "$ref": "#/definitions/EntityRecognitionSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "includeTypelessEntities": { + "type": "boolean", + "x-nullable": true, + "description": "Determines whether or not to include entities which are well known but don't conform to a pre-defined type. If this configuration is not set (default), set to null or set to false, entities which don't conform to one of the pre-defined types will not be surfaced." + }, + "minimumPrecision": { + "type": "number", + "format": "double", + "x-nullable": true, + "description": "A value between 0 and 1 that be used to only include entities whose confidence score is greater than the value specified. If not set (default), or if explicitly set to null, all entities will be included." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-entity-recognition" + }, + "description": "Text analytics entity recognition." + }, + "SentimentSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.SentimentSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/SentimentSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-sentiment" + }, + "description": "Text analytics positive-negative sentiment analysis, scored as a floating point value in a range of zero to 1." + }, + "SplitSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.SplitSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/SplitSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "textSplitMode": { + "$ref": "#/definitions/TextSplitMode", + "x-nullable": false, + "description": "A value indicating which split mode to perform." + }, + "maximumPageLength": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The desired maximum page length. Default is 10000." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-textsplit" + }, + "description": "A skill to split a string into chunks of text." + }, + "TextTranslationSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.TranslationSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultToLanguageCode": { + "$ref": "#/definitions/TextTranslationSkillLanguage", + "description": "The language code to translate documents into for documents that don't specify the to language explicitly. " + }, + "defaultFromLanguageCode": { + "$ref": "#/definitions/TextTranslationSkillLanguage", + "description": "The language code to translate documents from for documents that don't specify the from language explicitly." + }, + "suggestedFrom": { + "$ref": "#/definitions/TextTranslationSkillLanguage", + "x-nullable": true, + "description": "The language code to translate documents from when neither the fromLanguageCode input nor the defaultFromLanguageCode parameter are provided, and the automatic language detection is unsuccessful. Default is en." + } + }, + "required": [ + "defaultToLanguageCode" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-text-translation" + }, + "description": "A skill to translate text from one language to another." + }, + "WebApiSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Custom.WebApiSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "uri": { + "type": "string", + "description": "The url for the Web API." + }, + "httpHeaders": { + "$ref": "#/definitions/WebApiHttpHeaders", + "description": "The headers required to make the http request." + }, + "httpMethod": { + "type": "string", + "description": "The method for the http request." + }, + "timeout": { + "type": "string", + "format": "duration", + "description": "The desired timeout for the request. Default is 30 seconds." + }, + "batchSize": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The desired batch size which indicates number of documents." + }, + "degreeOfParallelism": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "If set, the number of parallel calls that can be made to the Web API." + } + }, + "required": [ + "uri" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-custom-skill-web-api" + }, + "description": "A skill that can call a Web API endpoint, allowing you to extend a skillset by having it call your custom code." + }, + "WebApiHttpHeaders": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A dictionary of http request headers." + }, + "ListSkillsetsResult": { + "properties": { + "value": { + "x-ms-client-name": "Skillsets", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexerSkillset" + }, + "description": "The skillsets defined in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a list skillset request. If successful, it includes the full definitions of all skillsets." + }, + "TextSplitMode": { + "type": "string", + "enum": [ + "pages", + "sentences" + ], + "x-ms-enum": { + "name": "TextSplitMode", + "modelAsString": true, + "values": [ + { + "value": "pages", + "name": "Pages", + "description": "Split the text into individual pages." + }, + { + "value": "sentences", + "name": "Sentences", + "description": "Split the text into individual sentences." + } + ] + }, + "description": "A value indicating which split mode to perform." + }, + "VisualFeature": { + "type": "string", + "enum": [ + "adult", + "brands", + "categories", + "description", + "faces", + "objects", + "tags" + ], + "x-ms-enum": { + "name": "VisualFeature", + "modelAsString": true, + "values": [ + { + "value": "adult", + "name": "Adult", + "description": "Visual features recognized as adult persons." + }, + { + "value": "brands", + "name": "Brands", + "description": "Visual features recognized as commercial brands." + }, + { + "value": "categories", + "name": "Categories", + "description": "Categories." + }, + { + "value": "description", + "name": "Description", + "description": "Description." + }, + { + "value": "faces", + "name": "Faces", + "description": "Visual features recognized as people faces." + }, + { + "value": "objects", + "name": "Objects", + "description": "Visual features recognized as objects." + }, + { + "value": "tags", + "name": "Tags", + "description": "Tags." + } + ] + }, + "description": "The strings indicating what visual feature types to return." + }, + "ImageDetail": { + "type": "string", + "enum": [ + "celebrities", + "landmarks" + ], + "x-ms-enum": { + "name": "ImageDetail", + "modelAsString": true, + "values": [ + { + "value": "celebrities", + "name": "Celebrities", + "description": "Details recognized as celebrities." + }, + { + "value": "landmarks", + "name": "Landmarks", + "description": "Details recognized as landmarks." + } + ] + }, + "description": "A string indicating which domain-specific details to return." + }, + "EntityCategory": { + "type": "string", + "enum": [ + "location", + "organization", + "person", + "quantity", + "datetime", + "url", + "email" + ], + "x-ms-enum": { + "name": "EntityCategory", + "modelAsString": true, + "values": [ + { + "value": "location", + "name": "Location", + "description": "Entities describing a physical location." + }, + { + "value": "organization", + "name": "Organization", + "description": "Entities describing an organization." + }, + { + "value": "person", + "name": "Person", + "description": "Entities describing a person." + }, + { + "value": "quantity", + "name": "Quantity", + "description": "Entities describing a quantity." + }, + { + "value": "datetime", + "name": "Datetime", + "description": "Entities describing a date and time." + }, + { + "value": "url", + "name": "Url", + "description": "Entities describing a URL." + }, + { + "value": "email", + "name": "Email", + "description": "Entities describing an email address." + } + ] + }, + "description": "A string indicating what entity categories to return." + }, + "SentimentSkillLanguage": { + "type": "string", + "enum": [ + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "it", + "no", + "pl", + "pt-PT", + "ru", + "es", + "sv", + "tr" + ], + "x-ms-enum": { + "name": "SentimentSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "el", + "description": "Greek" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "no", + "description": "Norwegian (Bokmaal)" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt-PT", + "description": "Portuguese (Portugal)" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + }, + { + "value": "tr", + "description": "Turkish" + } + ] + }, + "description": "The language codes supported for input text by SentimentSkill." + }, + "KeyPhraseExtractionSkillLanguage": { + "type": "string", + "enum": [ + "da", + "nl", + "en", + "fi", + "fr", + "de", + "it", + "ja", + "ko", + "no", + "pl", + "pt-PT", + "pt-BR", + "ru", + "es", + "sv" + ], + "x-ms-enum": { + "name": "KeyPhraseExtractionSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "no", + "description": "Norwegian (Bokmaal)" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt-PT", + "description": "Portuguese (Portugal)" + }, + { + "value": "pt-BR", + "description": "Portuguese (Brazil)" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + } + ] + }, + "description": "The language codes supported for input text by KeyPhraseExtractionSkill." + }, + "OcrSkillLanguage": { + "type": "string", + "enum": [ + "zh-Hans", + "zh-Hant", + "cs", + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "hu", + "it", + "ja", + "ko", + "nb", + "pl", + "pt", + "ru", + "es", + "sv", + "tr", + "ar", + "ro", + "sr-Cyrl", + "sr-Latn", + "sk" + ], + "x-ms-enum": { + "name": "OcrSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "zh-Hans", + "description": "Chinese-Simplified" + }, + { + "value": "zh-Hant", + "description": "Chinese-Traditional" + }, + { + "value": "cs", + "description": "Czech" + }, + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "el", + "description": "Greek" + }, + { + "value": "hu", + "description": "Hungarian" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "nb", + "description": "Norwegian (Bokmaal)" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt", + "description": "Portuguese" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + }, + { + "value": "tr", + "description": "Turkish" + }, + { + "value": "ar", + "description": "Arabic" + }, + { + "value": "ro", + "description": "Romanian" + }, + { + "value": "sr-Cyrl", + "description": "Serbian (Cyrillic, Serbia)" + }, + { + "value": "sr-Latn", + "description": "Serbian (Latin, Serbia)" + }, + { + "value": "sk", + "description": "Slovak" + } + ] + }, + "description": "The language codes supported for input by OcrSkill." + }, + "SplitSkillLanguage": { + "type": "string", + "enum": [ + "da", + "de", + "en", + "es", + "fi", + "fr", + "it", + "ko", + "pt" + ], + "x-ms-enum": { + "name": "SplitSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "da", + "description": "Danish" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "pt", + "description": "Portuguese" + } + ] + }, + "description": "The language codes supported for input text by SplitSkill." + }, + "EntityRecognitionSkillLanguage": { + "type": "string", + "enum": [ + "ar", + "cs", + "zh-Hans", + "zh-Hant", + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "hu", + "it", + "ja", + "ko", + "no", + "pl", + "pt-PT", + "pt-BR", + "ru", + "es", + "sv", + "tr" + ], + "x-ms-enum": { + "name": "EntityRecognitionSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "ar", + "description": "Arabic" + }, + { + "value": "cs", + "description": "Czech" + }, + { + "value": "zh-Hans", + "description": "Chinese-Simplified" + }, + { + "value": "zh-Hant", + "description": "Chinese-Traditional" + }, + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "el", + "description": "Greek" + }, + { + "value": "hu", + "description": "Hungarian" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "no", + "description": "Norwegian (Bokmaal)" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt-PT", + "description": "Portuguese (Portugal)" + }, + { + "value": "pt-BR", + "description": "Portuguese (Brazil)" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + }, + { + "value": "tr", + "description": "Turkish" + } + ] + }, + "description": "The language codes supported for input text by EntityRecognitionSkill." + }, + "TextTranslationSkillLanguage": { + "type": "string", + "enum": [ + "af", + "ar", + "bn", + "bs", + "bg", + "yue", + "ca", + "zh-Hans", + "zh-Hant", + "hr", + "cs", + "da", + "nl", + "en", + "et", + "fj", + "fil", + "fi", + "fr", + "de", + "el", + "ht", + "he", + "hi", + "mww", + "hu", + "is", + "id", + "it", + "ja", + "sw", + "tlh", + "ko", + "lv", + "lt", + "mg", + "ms", + "mt", + "nb", + "fa", + "pl", + "pt", + "otq", + "ro", + "ru", + "sm", + "sr-Cyrl", + "sr-Latn", + "sk", + "sl", + "es", + "sv", + "ty", + "ta", + "te", + "th", + "to", + "tr", + "uk", + "ur", + "vi", + "cy", + "yua" + ], + "x-ms-enum": { + "name": "TextTranslationSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "af", + "description": "Afrikaans" + }, + { + "value": "ar", + "description": "Arabic" + }, + { + "value": "bn", + "description": "Bangla" + }, + { + "value": "bs", + "description": "Bosnian (Latin)" + }, + { + "value": "bg", + "description": "Bulgarian" + }, + { + "value": "yue", + "description": "Cantonese (Traditional)" + }, + { + "value": "ca", + "description": "Catalan" + }, + { + "value": "zh-Hans", + "description": "Chinese Simplified" + }, + { + "value": "zh-Hant", + "description": "Chinese Traditional" + }, + { + "value": "hr", + "description": "Croatian" + }, + { + "value": "cs", + "description": "Czech" + }, + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "et", + "description": "Estonian" + }, + { + "value": "fj", + "description": "Fijian" + }, + { + "value": "fil", + "description": "Filipino" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "el", + "description": "Greek" + }, + { + "value": "ht", + "description": "Haitian Creole" + }, + { + "value": "he", + "description": "Hebrew" + }, + { + "value": "hi", + "description": "Hindi" + }, + { + "value": "mww", + "description": "Hmong Daw" + }, + { + "value": "hu", + "description": "Hungarian" + }, + { + "value": "is", + "description": "Icelandic" + }, + { + "value": "id", + "description": "Indonesian" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "sw", + "description": "Kiswahili" + }, + { + "value": "tlh", + "description": "Klingon" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "lv", + "description": "Latvian" + }, + { + "value": "lt", + "description": "Lithuanian" + }, + { + "value": "mg", + "description": "Malagasy" + }, + { + "value": "ms", + "description": "Malay" + }, + { + "value": "mt", + "description": "Maltese" + }, + { + "value": "nb", + "description": "Norwegian" + }, + { + "value": "fa", + "description": "Persian" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt", + "description": "Portuguese" + }, + { + "value": "otq", + "description": "Queretaro Otomi" + }, + { + "value": "ro", + "description": "Romanian" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "sm", + "description": "Samoan" + }, + { + "value": "sr-Cyrl", + "description": "Serbian (Cyrillic)" + }, + { + "value": "sr-Latn", + "description": "Serbian (Latin)" + }, + { + "value": "sk", + "description": "Slovak" + }, + { + "value": "sl", + "description": "Slovenian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + }, + { + "value": "ty", + "description": "Tahitian" + }, + { + "value": "ta", + "description": "Tamil" + }, + { + "value": "te", + "description": "Telugu" + }, + { + "value": "th", + "description": "Thai" + }, + { + "value": "to", + "description": "Tongan" + }, + { + "value": "tr", + "description": "Turkish" + }, + { + "value": "uk", + "description": "Ukrainian" + }, + { + "value": "ur", + "description": "Urdu" + }, + { + "value": "vi", + "description": "Vietnamese" + }, + { + "value": "cy", + "description": "Welsh" + }, + { + "value": "yua", + "description": "Yucatec Maya" + } + ] + }, + "description": "The language codes supported for input text by TextTranslationSkill." + }, + "ImageAnalysisSkillLanguage": { + "type": "string", + "enum": [ + "en", + "es", + "ja", + "pt", + "zh" + ], + "x-ms-enum": { + "name": "ImageAnalysisSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "en", + "description": "English" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "pt", + "description": "Portuguese" + }, + { + "value": "zh", + "description": "Chinese" + } + ] + }, + "description": "The language codes supported for input by ImageAnalysisSkill." + }, + "SynonymMap": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the synonym map." + }, + "format": { + "type": "string", + "enum": [ + "solr" + ], + "x-ms-enum": { + "name": "SynonymMapFormat", + "modelAsString": false, + "values": [ + { + "value": "solr", + "name": "Solr", + "description": "Selects the SOLR format for synonym maps." + } + ] + }, + "description": "The format of the synonym map. Only the 'solr' format is currently supported." + }, + "synonyms": { + "type": "string", + "description": "A series of synonym rules in the specified synonym map format. The rules must be separated by newlines.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Synonym-Map#SynonymMapFormat" + } + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your data when you want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the synonym map." + } + }, + "required": [ + "name", + "format", + "synonyms" + ], + "description": "Represents a synonym map definition." + }, + "ListSynonymMapsResult": { + "properties": { + "value": { + "x-ms-client-name": "SynonymMaps", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SynonymMap" + }, + "description": "The synonym maps in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List SynonymMaps request. If successful, it includes the full definitions of all synonym maps." + }, + "SearchResourceEncryptionKey": { + "properties": { + "keyVaultKeyName": { + "x-ms-client-name": "keyName", + "type": "string", + "description": "The name of your Azure Key Vault key to be used to encrypt your data at rest." + }, + "keyVaultKeyVersion": { + "x-ms-client-name": "keyVersion", + "type": "string", + "description": "The version of your Azure Key Vault key to be used to encrypt your data at rest." + }, + "keyVaultUri": { + "x-ms-client-name": "vaultUri", + "type": "string", + "description": "The URI of your Azure Key Vault, also referred to as DNS name, that contains the key to be used to encrypt your data at rest. An example URI might be https://my-keyvault-name.vault.azure.net." + }, + "accessCredentials": { + "$ref": "#/definitions/AzureActiveDirectoryApplicationCredentials", + "description": "Optional Azure Active Directory credentials used for accessing your Azure Key Vault. Not required if using managed identity instead.", + "externalDocs": { + "url": "https://aka.ms/azure-search-msi" + } + } + }, + "required": [ + "keyVaultKeyName", + "keyVaultKeyVersion", + "keyVaultUri" + ], + "description": "A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest in Azure Cognitive Search, such as indexes and synonym maps." + }, + "AzureActiveDirectoryApplicationCredentials": { + "properties": { + "applicationId": { + "type": "string", + "description": "An AAD Application ID that was granted the required access permissions to the Azure Key Vault that is to be used when encrypting your data at rest. The Application ID should not be confused with the Object ID for your AAD Application." + }, + "applicationSecret": { + "type": "string", + "description": "The authentication key of the specified AAD application." + } + }, + "required": [ + "applicationId" + ], + "description": "Credentials of a registered application created for your search service, used for authenticated access to the encryption keys stored in Azure Key Vault." + }, + "ServiceStatistics": { + "properties": { + "counters": { + "$ref": "#/definitions/ServiceCounters", + "description": "Service level resource counters." + }, + "limits": { + "$ref": "#/definitions/ServiceLimits", + "description": "Service level general limits." + } + }, + "required": [ + "counters", + "limits" + ], + "description": "Response from a get service statistics request. If successful, it includes service level counters and limits." + }, + "ServiceCounters": { + "properties": { + "documentCount": { + "x-ms-client-name": "documentCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of documents across all indexes in the service." + }, + "indexesCount": { + "x-ms-client-name": "indexCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of indexes." + }, + "indexersCount": { + "x-ms-client-name": "indexerCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of indexers." + }, + "dataSourcesCount": { + "x-ms-client-name": "dataSourceCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of data sources." + }, + "storageSize": { + "x-ms-client-name": "storageSizeCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total size of used storage in bytes." + }, + "synonymMaps": { + "x-ms-client-name": "synonymMapCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of synonym maps." + }, + "skillsetCount": { + "x-ms-client-name": "skillsetCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of skillsets." + } + }, + "required": [ + "documentCount", + "indexesCount", + "indexersCount", + "dataSourcesCount", + "storageSize", + "synonymMaps", + "skillsetCount" + ], + "description": "Represents service-level resource counters and quotas." + }, + "ServiceLimits": { + "properties": { + "maxFieldsPerIndex": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The maximum allowed fields per index." + }, + "maxFieldNestingDepthPerIndex": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The maximum depth which you can nest sub-fields in an index, including the top-level complex field. For example, a/b/c has a nesting depth of 3." + }, + "maxComplexCollectionFieldsPerIndex": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The maximum number of fields of type Collection(Edm.ComplexType) allowed in an index." + }, + "maxComplexObjectsInCollectionsPerDocument": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The maximum number of objects in complex collections allowed per document." + } + }, + "description": "Represents various service level limits." + }, + "ResourceCounter": { + "properties": { + "usage": { + "type": "integer", + "format": "int64", + "x-nullable": false, + "description": "The resource usage amount." + }, + "quota": { + "type": "integer", + "format": "int64", + "x-nullable": true, + "description": "The resource amount quota." + } + }, + "required": [ + "usage" + ], + "description": "Represents a resource's usage and quota." + }, + "SearchError": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "A human-readable representation of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchError" + }, + "readOnly": true, + "description": "An array of details about specific errors that led to this reported error." + } + }, + "required": [ + "message" + ], + "description": "Describes an error condition for the Azure Cognitive Search API." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ClientRequestIdParameter": { + "name": "x-ms-client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The tracking ID sent with the request to help with debugging.", + "x-ms-client-request-id": true, + "x-ms-parameter-grouping": { + "name": "request-options" + }, + "x-ms-parameter-location": "method" + }, + "IfMatchParameter": { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.", + "x-ms-parameter-location": "method" + }, + "IfNoneMatchParameter": { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.", + "x-ms-parameter-location": "method" + }, + "PreferHeaderParameter": { + "name": "Prefer", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "return=representation" + ], + "description": "For HTTP PUT requests, instructs the service to return the created/updated resource on success.", + "x-ms-parameter-location": "method" + }, + "EndpointParameter": { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "description": "The endpoint URL of the search service.", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexAutocompleteDocumentsGet.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexAutocompleteDocumentsGet.json new file mode 100644 index 000000000000..fd05e7ec6848 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexAutocompleteDocumentsGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30", + "autocompleteMode": "oneTerm", + "search": "washington medic", + "suggesterName": "sg", + "filter": "search.in(docId,'101,102,105')", + "fuzzy": false, + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "searchFields": [ + "title", + "description" + ], + "top": 10 + }, + "responses": { + "200": { + "body": [ + { + "text": "medicaid", + "queryPlusText": "washington medicaid" + }, + { + "text": "medicare", + "queryPlusText": "washington medicare" + }, + { + "text": "medicine", + "queryPlusText": "washington medicine" + } + ] + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexAutocompleteDocumentsPost.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexAutocompleteDocumentsPost.json new file mode 100644 index 000000000000..67787687199c --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexAutocompleteDocumentsPost.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30", + "autocompleteRequest": { + "autocompleteMode": "oneTerm", + "search": "washington medic", + "suggesterName": "sg", + "filter": "search.in(docId,'101,102,105')", + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "searchFields": "title,description", + "top": 10 + } + }, + "responses": { + "200": { + "body": [ + { + "text": "medicaid", + "queryPlusText": "washington medicaid" + }, + { + "text": "medicare", + "queryPlusText": "washington medicare" + }, + { + "text": "medicine", + "queryPlusText": "washington medicine" + } + ] + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexCountDocuments.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexCountDocuments.json new file mode 100644 index 000000000000..d0d6c5f3b15c --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexCountDocuments.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": 427 + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexGetDocument.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexGetDocument.json new file mode 100644 index 000000000000..c059e9755dee --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexGetDocument.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30", + "key": "1", + "$select": [ + "docId", + "title", + "description" + ] + }, + "responses": { + "200": { + "body": { + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexIndexDocuments.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexIndexDocuments.json new file mode 100644 index 000000000000..b46ac0e84c20 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexIndexDocuments.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30", + "batch": { + "value": [ + { + "@search.action": "upload", + "docId": "1", + "title": "Fancy Stay", + "description": "Best hotel in town" + }, + { + "@search.action": "merge", + "docId": "2", + "title": "Roach Motel" + }, + { + "@search.action": "mergeOrUpload", + "docId": "3", + "title": "Econo Motel" + }, + { + "@search.action": "delete", + "docId": "4" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "key": "1", + "status": true, + "errorMessage": null, + "statusCode": 201 + }, + { + "key": "2", + "status": true, + "errorMessage": null, + "statusCode": 200 + }, + { + "key": "3", + "status": true, + "errorMessage": null, + "statusCode": 200 + }, + { + "key": "4", + "status": true, + "errorMessage": null, + "statusCode": 200 + } + ] + } + }, + "207": { + "body": { + "value": [ + { + "key": "1", + "status": true, + "errorMessage": null, + "statusCode": 200 + }, + { + "key": "2", + "status": false, + "errorMessage": "Document not found.", + "statusCode": 404 + }, + { + "key": "3", + "status": true, + "errorMessage": null, + "statusCode": 200 + }, + { + "key": "4", + "status": true, + "errorMessage": null, + "statusCode": 200 + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsGet.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsGet.json new file mode 100644 index 000000000000..bbee701e50c8 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsGet.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30", + "$count": true, + "facet": [ + "category,count:10,sort:count" + ], + "$filter": "rating gt 10", + "highlight": [ + "title" + ], + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "$orderby": [ + "search.score() desc", + "rating desc" + ], + "queryType": "simple", + "sessionId": "mysessionid", + "scoringStatistics": "global", + "scoringParameters": [ + "currentLocation--122.123,44.77233" + ], + "scoringProfile": "sp", + "search": "nice hotels", + "searchFields": [ + "title", + "description" + ], + "searchMode": "any", + "$select": [ + "docId", + "title", + "description" + ], + "$skip": 100, + "$top": 10 + }, + "responses": { + "200": { + "body": { + "@odata.count": 25, + "@search.coverage": 80, + "@search.facets": { + "category": [ + { + "count": 1, + "value": "Economy" + }, + { + "count": 1, + "value": "Luxury" + } + ] + }, + "value": [ + { + "@search.score": 1.50, + "@search.highlights": { + "title": [ + "Nice Hotel" + ] + }, + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + }, + { + "@search.score": 0.70, + "@search.highlights": { + "title": [ + "Fancy Hotel" + ] + }, + "description": "Best hotel in town", + "docId": "2", + "title": "Fancy Hotel" + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsPost.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsPost.json new file mode 100644 index 000000000000..b516d374159a --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSearchDocumentsPost.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30", + "searchRequest": { + "count": true, + "facets": [ + "category,count:10,sort:count" + ], + "filter": "rating gt 4.0", + "highlight": "title", + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": null, + "orderby": "search.score() desc,rating desc", + "queryType": "simple", + "scoringParameters": [ + "currentLocation--122.123,44.77233" + ], + "scoringProfile": "sp", + "search": "nice hotels", + "searchFields": "title,description", + "searchMode": "any", + "sessionId": "mysessionid", + "scoringStatistics": "global", + "select": "docId,title,description", + "skip": 0, + "top": 10 + } + }, + "responses": { + "200": { + "body": { + "@odata.count": 25, + "@search.facets": { + "category": [ + { + "count": 1, + "value": "Economy" + }, + { + "count": 1, + "value": "Luxury" + } + ] + }, + "@search.nextPageParameters": { + "count": true, + "facets": [ + "category,count:10,sort:count" + ], + "filter": "rating gt 4.0", + "highlight": "title", + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": null, + "orderby": "search.score() desc,rating desc", + "queryType": "simple", + "sessionId": "mysessionid", + "scoringStatistics": "global", + "scoringParameters": [ + "currentLocation--122.123,44.77233" + ], + "scoringProfile": "sp", + "search": "nice hotels", + "searchFields": "title,description", + "searchMode": "any", + "select": "docId,title,description", + "skip": 2, + "top": 8 + }, + "value": [ + { + "@search.score": 1.50, + "@search.highlights": { + "title": [ + "Nice Hotel" + ] + }, + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + }, + { + "@search.score": 0.70, + "@search.highlights": { + "title": [ + "Fancy Hotel" + ] + }, + "description": "Best hotel in town", + "docId": "2", + "title": "Fancy Hotel" + } + ], + "@odata.nextLink": "https://myservice.search.windows.net/indexes('myindex')/docs/search.post.search?api-version=2020-06-30" + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSuggestDocumentsGet.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSuggestDocumentsGet.json new file mode 100644 index 000000000000..969839390fc6 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSuggestDocumentsGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30", + "$filter": "rating gt 10", + "fuzzy": false, + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "$orderby": [ + "search.score() desc", + "rating desc" + ], + "search": "hote", + "searchFields": [ + "title" + ], + "suggesterName": "sg", + "$select": [ + "docId", + "title", + "description" + ], + "$top": 10 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "@search.text": "Nice Hotel", + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + }, + { + "@search.text": "Fancy Hotel", + "description": "Best hotel in town", + "docId": "2", + "title": "Fancy Hotel" + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSuggestDocumentsPost.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSuggestDocumentsPost.json new file mode 100644 index 000000000000..5b2ca5ca4e3b --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchIndexSuggestDocumentsPost.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30", + "suggestRequest": { + "filter": "rating gt 4.0", + "highlightPostTag": "", + "highlightPreTag": "", + "minimumCoverage": 80, + "orderby": "rating desc", + "search": "hote", + "searchFields": "title", + "select": "docId,title,description", + "suggesterName": "sg", + "top": 10 + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "@search.text": "Nice Hotel", + "description": "Cheapest hotel in town", + "docId": "1", + "title": "Nice Hotel" + }, + { + "@search.text": "Fancy Hotel", + "description": "Best hotel in town", + "docId": "2", + "title": "Fancy Hotel" + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateDataSource.json new file mode 100644 index 000000000000..75a03fd6a8a2 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateDataSource.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30", + "dataSource": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId" + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + }, + "responses": { + "201": { + "body": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndex.json new file mode 100644 index 000000000000..6660e45448ce --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndex.json @@ -0,0 +1,373 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30", + "index": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "key": true, + "searchable": false + }, + { + "name": "baseRate", + "type": "Edm.Double" + }, + { + "name": "description", + "type": "Edm.String", + "filterable": false, + "sortable": false, + "facetable": false + }, + { + "name": "description_fr", + "type": "Edm.String", + "filterable": false, + "sortable": false, + "facetable": false, + "analyzer": "fr.lucene" + }, + { + "name": "hotelName", + "type": "Edm.String" + }, + { + "name": "category", + "type": "Edm.String" + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "analyzer": "tagsAnalyzer" + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean" + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean" + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset" + }, + { + "name": "rating", + "type": "Edm.Int32" + }, + { + "name": "location", + "type": "Edm.GeographyPoint" + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myapplicationsecret" + } + }, + "similarity": { + "@odata.type": "#Microsoft.Azure.Search.BM25Similarity", + "b": 0.5, + "k1": 1.3 + } + } + }, + "responses": { + "201": { + "body": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + }, + "similarity": { + "@odata.type": "#Microsoft.Azure.Search.BM25Similarity", + "b": 0.5, + "k1": 1.3 + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndexer.json new file mode 100644 index 000000000000..bc6890a484b7 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateIndexer.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30", + "indexer": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + } + } + }, + "responses": { + "201": { + "body": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateDataSource.json new file mode 100644 index 000000000000..cdb3ff9e4ff1 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateDataSource.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "dataSourceName": "mydatasource", + "api-version": "2020-06-30", + "Prefer": "return=representation", + "dataSource": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId" + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + }, + "responses": { + "200": { + "body": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + }, + "201": { + "body": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndex.json new file mode 100644 index 000000000000..a431d0e1deac --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndex.json @@ -0,0 +1,598 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "hotels", + "allowIndexDowntime": false, + "api-version": "2020-06-30", + "Prefer": "return=representation", + "index": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "key": true, + "searchable": false + }, + { + "name": "baseRate", + "type": "Edm.Double" + }, + { + "name": "description", + "type": "Edm.String", + "filterable": false, + "sortable": false, + "facetable": false + }, + { + "name": "description_fr", + "type": "Edm.String", + "filterable": false, + "sortable": false, + "facetable": false, + "analyzer": "fr.lucene" + }, + { + "name": "hotelName", + "type": "Edm.String" + }, + { + "name": "category", + "type": "Edm.String" + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "analyzer": "tagsAnalyzer" + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean" + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean" + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset" + }, + { + "name": "rating", + "type": "Edm.Int32" + }, + { + "name": "location", + "type": "Edm.GeographyPoint" + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + }, + "similarity": { + "@odata.type": "#Microsoft.Azure.Search.ClassicSimilarity" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + }, + "similarity": { + "@odata.type": "#Microsoft.Azure.Search.ClassicSimilarity" + } + } + }, + "201": { + "body": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndexer.json new file mode 100644 index 000000000000..b880163531f0 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateIndexer.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30", + "Prefer": "return=representation", + "indexer": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + } + } + }, + "responses": { + "200": { + "body": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + } + }, + "201": { + "body": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSkillset.json new file mode 100644 index 000000000000..6878a7d28b76 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSkillset.json @@ -0,0 +1,369 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2020-06-30", + "Prefer": "return=representation", + "skillset": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "textSplitMode": "pages", + "maximumPageLength": 4000, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + }, + "responses": { + "200": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + }, + "201": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSynonymMap.json new file mode 100644 index 000000000000..cc5297590142 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateOrUpdateSynonymMap.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "synonymMapName": "mysynonymmap", + "api-version": "2020-06-30", + "Prefer": "return=representation", + "synonymMap": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + } + }, + "responses": { + "200": { + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + } + }, + "201": { + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json new file mode 100644 index 000000000000..e94fdced936e --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSkillset.json @@ -0,0 +1,243 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2020-06-30", + "Prefer": "return=representation", + "skillset": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "textSplitMode": "pages", + "maximumPageLength": 4000, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + }, + "responses": { + "201": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSynonymMap.json new file mode 100644 index 000000000000..427924e85d23 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceCreateSynonymMap.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30", + "synonymMap": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": "myApplicationSecret" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault", + "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteDataSource.json new file mode 100644 index 000000000000..9d963cdb0d36 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteDataSource.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "dataSourceName": "mydatasource", + "api-version": "2020-06-30" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteIndex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteIndex.json new file mode 100644 index 000000000000..f9b9fe10d54b --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteIndex.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "myindex", + "api-version": "2020-06-30" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteIndexer.json new file mode 100644 index 000000000000..88ba28a65c49 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteIndexer.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteSkillset.json new file mode 100644 index 000000000000..4639c666eff0 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteSkillset.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2020-06-30" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteSynonymMap.json new file mode 100644 index 000000000000..54c9fb224dd6 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceDeleteSynonymMap.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "synonymMapName": "mysynonymmap", + "api-version": "2020-06-30" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetDataSource.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetDataSource.json new file mode 100644 index 000000000000..73b5e16e2c41 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetDataSource.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "dataSourceName": "mydatasource", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndex.json new file mode 100644 index 000000000000..659a4ea43756 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndex.json @@ -0,0 +1,244 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "hotels", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexStatistics.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexStatistics.json new file mode 100644 index 000000000000..2aa6e4a07c06 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexStatistics.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "hotels", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "documentCount": 239572, + "storageSize": 72375920 + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexer.json new file mode 100644 index 000000000000..687f23d7fb70 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexer.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexerStatus.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexerStatus.json new file mode 100644 index 000000000000..3d6e631d2fa3 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetIndexerStatus.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "status": "running", + "lastResult": { + "status": "success", + "errorMessage": null, + "startTime": "2014-11-26T03:37:18.853Z", + "endTime": "2014-11-26T03:37:19.012Z", + "errors": [], + "warnings": [], + "itemsProcessed": 11, + "itemsFailed": 0, + "initialTrackingState": null, + "finalTrackingState": null + }, + "executionHistory": [ + { + "status": "success", + "errorMessage": null, + "startTime": "2014-11-26T03:37:18.853Z", + "endTime": "2014-11-26T03:37:19.012Z", + "errors": [], + "warnings": [], + "itemsProcessed": 11, + "itemsFailed": 0, + "initialTrackingState": null, + "finalTrackingState": null + }, + { + "status": "transientFailure", + "errorMessage": null, + "startTime": "2014-11-26T03:28:10.125Z", + "endTime": "2014-11-26T03:28:12.007Z", + "errors": [ + { + "key": "", + "errorMessage": "Document key cannot be missing or empty.", + "statusCode": 400, + "name": null, + "details": null, + "documentationLink": null + }, + { + "key": "document id 1", + "errorMessage": "Could not read the value of column 'foo' at index '0'.", + "statusCode": 400, + "name": "DocumentExtraction.AzureBlob.MyDataSource", + "details": "The file could not be parsed.", + "documentationLink": "https://go.microsoft.com/fwlink/?linkid=2049388" + } + ], + "warnings": [ + { + "key": "document id", + "message": "A warning doesn't stop indexing, and is intended to inform you of certain interesting situations, like when a blob indexer truncates the amount of text extracted from a blob.", + "name": null, + "details": null, + "documentationLink": null + }, + { + "key": "document id 2", + "message": "Document was truncated to 50000 characters.", + "name": "Enrichment.LanguageDetectionSkill.#4", + "details": "The skill did something that didn't break anything, nonetheless something we didn't expect happened, so it might be worth double checking.", + "documentationLink": "https://go.microsoft.com/fwlink/?linkid=2099692" + } + ], + "itemsProcessed": 1, + "itemsFailed": 2, + "initialTrackingState": null, + "finalTrackingState": null + } + ], + "limits": { + "maxRunTime": "22:00:00", + "maxDocumentExtractionSize": 256000000, + "maxDocumentContentCharactersToExtract": 4000000 + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetServiceStatistics.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetServiceStatistics.json new file mode 100644 index 000000000000..fbbff6ad079a --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetServiceStatistics.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "counters": { + "documentCount": { + "usage": 7093, + "quota": 10000 + }, + "indexesCount": { + "usage": 3, + "quota": 3 + }, + "indexersCount": { + "usage": 3, + "quota": 3 + }, + "dataSourcesCount": { + "usage": 1, + "quota": 3 + }, + "storageSize": { + "usage": 914529, + "quota": 52428800 + }, + "synonymMaps": { + "usage": 2, + "quota": 3 + } + }, + "limits": { + "maxFieldsPerIndex": 1000, + "maxFieldNestingDepthPerIndex": 10, + "maxComplexCollectionFieldsPerIndex": 100, + "maxComplexObjectsInCollectionsPerDocument": 3000 + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSkillset.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSkillset.json new file mode 100644 index 000000000000..f09a426ffbc4 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSkillset.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "skillsetName": "demoskillset", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSynonymMap.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSynonymMap.json new file mode 100644 index 000000000000..31f6143e67aa --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceGetSynonymMap.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "synonymMapName": "mysynonymmap", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": { + "applicationId": "00000000-0000-0000-0000-000000000000", + "applicationSecret": null + } + } + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceIndexAnalyze.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceIndexAnalyze.json new file mode 100644 index 000000000000..f286d0237e62 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceIndexAnalyze.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexName": "hotels", + "api-version": "2020-06-30", + "request": { + "text": "Text to analyze", + "analyzer": "standard.lucene" + } + }, + "responses": { + "200": { + "body": { + "tokens": [ + { + "token": "text", + "startOffset": 0, + "endOffset": 4, + "position": 0 + }, + { + "token": "to", + "startOffset": 5, + "endOffset": 7, + "position": 1 + }, + { + "token": "analyze", + "startOffset": 8, + "endOffset": 15, + "position": 2 + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListDataSources.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListDataSources.json new file mode 100644 index 000000000000..51e07eeb9750 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListDataSources.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "$select": "*", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mydocdbdatasource", + "description": "My Cosmos DB data source.", + "type": "cosmosdb", + "credentials": { + "connectionString": null + }, + "container": { + "name": "myDocDbCollectionId", + "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts" + }, + "dataChangeDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "highWaterMarkColumnName": "_ts" + }, + "dataDeletionDetectionPolicy": { + "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "softDeleteColumnName": "isDeleted", + "softDeleteMarkerValue": "true" + } + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexers.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexers.json new file mode 100644 index 000000000000..6ceef86d3a41 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexers.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "$select": "*", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myindexer", + "description": "a cool indexer", + "dataSourceName": "mydocdbdatasource", + "targetIndexName": "orders", + "schedule": { + "interval": "PT1H", + "startTime": "2015-01-01T00:00:00Z" + }, + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5 + }, + "fieldMappings": [], + "disabled": false + }, + { + "name": "myotherindexer", + "description": "another cool indexer", + "dataSourceName": "myblobdatasource", + "targetIndexName": "orders", + "parameters": { + "maxFailedItems": 10, + "maxFailedItemsPerBatch": 5, + "batchSize": 15 + }, + "fieldMappings": [ + { + "sourceFieldName": "PersonName", + "targetFieldName": "FirstName", + "mappingFunction": { + "name": "extractTokenAtPosition", + "parameters": { + "delimiter": " ", + "position": 0 + } + } + }, + { + "sourceFieldName": "PersonName", + "targetFieldName": "LastName", + "mappingFunction": { + "name": "extractTokenAtPosition", + "parameters": { + "delimiter": " ", + "position": 1 + } + } + } + ], + "disabled": false + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexes.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexes.json new file mode 100644 index 000000000000..fe99cd0b3381 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListIndexes.json @@ -0,0 +1,287 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "$select": "*", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hotels", + "fields": [ + { + "name": "hotelId", + "type": "Edm.String", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "baseRate", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "description_fr", + "type": "Edm.String", + "searchable": true, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "fr.lucene", + "synonymMaps": [] + }, + { + "name": "hotelName", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "category", + "type": "Edm.String", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "tags", + "type": "Collection(Edm.String)", + "searchable": true, + "filterable": true, + "retrievable": true, + "sortable": false, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": "tagsAnalyzer", + "synonymMaps": [] + }, + { + "name": "parkingIncluded", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "smokingAllowed", + "type": "Edm.Boolean", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "lastRenovationDate", + "type": "Edm.DateTimeOffset", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "rating", + "type": "Edm.Int32", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": true, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "location", + "type": "Edm.GeographyPoint", + "searchable": false, + "filterable": true, + "retrievable": true, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [ + { + "name": "geo", + "text": { + "weights": { + "hotelName": 5 + } + }, + "functions": [ + { + "type": "distance", + "boost": 5, + "fieldName": "location", + "interpolation": "logarithmic", + "distance": { + "referencePointParameter": "currentLocation", + "boostingDistance": 10 + } + } + ] + } + ], + "defaultScoringProfile": "geo", + "suggesters": [ + { + "name": "sg", + "searchMode": "analyzingInfixMatching", + "sourceFields": [ + "hotelName" + ] + } + ], + "analyzers": [ + { + "name": "tagsAnalyzer", + "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", + "charFilters": [ + "html_strip" + ], + "tokenizer": "standard_v2" + } + ], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": { + "allowedOrigins": [ + "tempuri.org" + ], + "maxAgeInSeconds": 60 + }, + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + }, + { + "name": "testindex", + "fields": [ + { + "name": "id", + "type": "Edm.String", + "searchable": false, + "filterable": false, + "retrievable": true, + "sortable": false, + "facetable": false, + "key": true, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + }, + { + "name": "hidden", + "type": "Edm.Double", + "searchable": false, + "filterable": true, + "retrievable": false, + "sortable": true, + "facetable": false, + "key": false, + "indexAnalyzer": null, + "searchAnalyzer": null, + "analyzer": null, + "synonymMaps": [] + } + ], + "scoringProfiles": [], + "defaultScoringProfile": null, + "suggesters": [], + "analyzers": [], + "tokenizers": [], + "tokenFilters": [], + "charFilters": [], + "corsOptions": null, + "encryptionKey": null + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSkillsets.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSkillsets.json new file mode 100644 index 000000000000..f9050db649bb --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSkillsets.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "$select": "*", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "demoskillset", + "description": "Extract entities, detect language and extract key-phrases", + "skills": [ + { + "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "name": "#1", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "organizations", + "targetName": "organizations" + } + ], + "categories": [ + "organization" + ], + "defaultLanguageCode": "en", + "minimumPrecision": 0.7 + }, + { + "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "name": "#2", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + } + ], + "outputs": [ + { + "name": "languageCode", + "targetName": "languageCode" + } + ] + }, + { + "@odata.type": "#Microsoft.Skills.Text.SplitSkill", + "name": "#3", + "description": null, + "context": null, + "inputs": [ + { + "name": "text", + "source": "/document/content" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "textItems", + "targetName": "pages" + } + ], + "defaultLanguageCode": null, + "textSplitMode": "pages", + "maximumPageLength": 4000 + }, + { + "@odata.type": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "name": "#4", + "description": null, + "context": "/document/pages/*", + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "keyPhrases", + "targetName": "keyPhrases" + } + ], + "defaultLanguageCode": null, + "maxKeyPhraseCount": null + }, + { + "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill", + "name": "MyCustomWebApiSkill", + "description": null, + "context": "/document", + "uri": "https://contoso.example.org", + "httpMethod": "POST", + "timeout": "PT30S", + "batchSize": 1, + "degreeOfParallelism": null, + "inputs": [ + { + "name": "text", + "source": "/document/pages/*" + }, + { + "name": "languageCode", + "source": "/document/languageCode" + } + ], + "outputs": [ + { + "name": "customresult", + "targetName": "result" + } + ], + "httpHeaders": {} + } + ] + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSynonymMaps.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSynonymMaps.json new file mode 100644 index 000000000000..e0316b2e32b2 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceListSynonymMaps.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2020-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mysynonymmap", + "format": "solr", + "synonyms": "United States, United States of America, USA\nWashington, Wash. => WA", + "encryptionKey": { + "keyVaultKeyName": "myKeyName", + "keyVaultKeyVersion": "myKeyVersion", + "keyVaultUri": "https://myKeyVault.vault.azure.net", + "accessCredentials": null + } + }, + { + "name": "myothersynonymmap", + "format": "solr", + "synonyms": "couch, sofa, chesterfield\npop, soda\ntoque, hat", + "encryptionKey": null + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceResetIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceResetIndexer.json new file mode 100644 index 000000000000..b8b5c5952706 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceResetIndexer.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30" + }, + "responses": { + "204": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceRunIndexer.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceRunIndexer.json new file mode 100644 index 000000000000..bd5ab49e4c61 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/examples/SearchServiceRunIndexer.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "indexerName": "myindexer", + "api-version": "2020-06-30" + }, + "responses": { + "202": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchindex.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchindex.json new file mode 100644 index 000000000000..b7a50a9e82d4 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchindex.json @@ -0,0 +1,1619 @@ +{ + "swagger": "2.0", + "info": { + "title": "SearchIndexClient", + "description": "Client that can be used to query an index and upload, merge, or delete documents.", + "version": "2020-06-30", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true, + "syncMethods": "None" + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}/indexes('{indexName}')", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/EndpointParameter" + }, + { + "$ref": "#/parameters/IndexNameParameter" + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/docs/$count": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_Count", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Count-Documents" + }, + "x-ms-examples": { + "SearchIndexCountDocuments": { + "$ref": "./examples/SearchIndexCountDocuments.json" + } + }, + "description": "Queries the number of documents in the index.", + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "type": "integer", + "format": "int64" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_SearchGet", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents" + }, + "x-ms-examples": { + "SearchIndexSearchDocumentsGet": { + "$ref": "./examples/SearchIndexSearchDocumentsGet.json" + } + }, + "description": "Searches for documents in the index.", + "parameters": [ + { + "name": "search", + "in": "query", + "type": "string", + "description": "A full-text search query expression; Use \"*\" or omit this parameter to match all documents.", + "x-ms-client-name": "SearchText" + }, + { + "name": "$count", + "in": "query", + "type": "boolean", + "description": "A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the count returned is an approximation.", + "x-nullable": false, + "x-ms-client-name": "IncludeTotalResultCount", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "facet", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "description": "The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value pairs.", + "x-ms-client-name": "Facets", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "The OData $filter expression to apply to the search query.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "highlight", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.", + "x-ms-client-name": "HighlightFields", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "highlightPostTag", + "in": "query", + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "highlightPreTag", + "in": "query", + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "minimumCoverage", + "in": "query", + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 100.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$orderby", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no OrderBy is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses.", + "x-ms-client-name": "OrderBy", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "queryType", + "in": "query", + "type": "string", + "enum": [ + "simple", + "full" + ], + "x-ms-enum": { + "name": "QueryType", + "modelAsString": false, + "values": [ + { + "value": "simple", + "name": "Simple", + "description": "Uses the simple query syntax for searches. Search text is interpreted using a simple query language that allows for symbols such as +, * and \"\". Queries are evaluated across all searchable fields by default, unless the searchFields parameter is specified." + }, + { + "value": "full", + "name": "Full", + "description": "Uses the full Lucene query syntax for searches. Search text is interpreted using the Lucene query language which allows field-specific and weighted searches, as well as other advanced features." + } + ] + }, + "x-nullable": false, + "description": "A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "scoringParameter", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "x-ms-client-name": "ScoringParameters", + "description": "The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. For example, if the scoring profile defines a function with a parameter called 'mylocation' the parameter string would be \"mylocation--122.2,44.8\" (without the quotes).", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "scoringProfile", + "in": "query", + "type": "string", + "description": "The name of a scoring profile to evaluate match scores for matching documents in order to sort the results.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "searchFields", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to which to scope the full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names of each fielded search expression take precedence over any field names listed in this parameter.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "searchMode", + "in": "query", + "type": "string", + "enum": [ + "any", + "all" + ], + "x-ms-enum": { + "name": "SearchMode", + "modelAsString": false, + "values": [ + { + "value": "any", + "name": "Any", + "description": "Any of the search terms must be matched in order to count the document as a match." + }, + { + "value": "all", + "name": "All", + "description": "All of the search terms must be matched in order to count the document as a match." + } + ] + }, + "x-nullable": false, + "description": "A value that specifies whether any or all of the search terms must be matched in order to count the document as a match.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "scoringStatistics", + "in": "query", + "type": "string", + "enum": [ + "local", + "global" + ], + "x-ms-enum": { + "name": "ScoringStatistics", + "modelAsString": false, + "values": [ + { + "value": "local", + "name": "Local", + "description": "The scoring statistics will be calculated locally for lower latency." + }, + { + "value": "global", + "name": "Global", + "description": "The scoring statistics will be calculated globally for more consistent scoring." + } + ] + }, + "x-nullable": false, + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "sessionId", + "in": "query", + "type": "string", + "description": "A value to be used to create a sticky session, which can help to get more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$select", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$skip", + "in": "query", + "type": "integer", + "format": "int32", + "description": "The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use $skip due to this limitation, consider using $orderby on a totally-ordered key and $filter with a range query instead.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "The number of search results to retrieve. This can be used in conjunction with $skip to implement client-side paging of search results. If results are truncated due to server-side paging, the response will include a continuation token that can be used to issue another Search request for the next page of results.", + "x-ms-parameter-grouping": { + "name": "SearchOptions" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing documents that match the search criteria.", + "schema": { + "$ref": "#/definitions/SearchDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.post.search": { + "post": { + "tags": [ + "Documents" + ], + "operationId": "Documents_SearchPost", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents" + }, + "x-ms-examples": { + "SearchIndexSearchDocumentsPost": { + "$ref": "./examples/SearchIndexSearchDocumentsPost.json" + } + }, + "description": "Searches for documents in the index.", + "parameters": [ + { + "name": "searchRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchRequest", + "description": "The Search request." + }, + "description": "The definition of the Search request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing documents that match the search criteria.", + "schema": { + "$ref": "#/definitions/SearchDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs('{key}')": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_Get", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/lookup-document" + }, + "x-ms-examples": { + "SearchIndexGetDocument": { + "$ref": "./examples/SearchIndexGetDocument.json" + } + }, + "description": "Retrieves a document from the index.", + "parameters": [ + { + "name": "key", + "in": "path", + "required": true, + "description": "The key of the document to retrieve.", + "type": "string" + }, + { + "name": "$select", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "List of field names to retrieve for the document; Any field not retrieved will be missing from the returned document.", + "x-ms-client-name": "SelectedFields" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "responses": { + "200": { + "description": "Response containing the requested document.", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.suggest": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_SuggestGet", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/suggestions" + }, + "x-ms-examples": { + "SearchIndexSuggestDocumentsGet": { + "$ref": "./examples/SearchIndexSuggestDocumentsGet.json" + } + }, + "description": "Suggests documents in the index that match the given partial query text.", + "parameters": [ + { + "name": "search", + "in": "query", + "required": true, + "type": "string", + "description": "The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters.", + "x-ms-client-name": "SearchText" + }, + { + "name": "suggesterName", + "in": "query", + "required": true, + "type": "string", + "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "An OData expression that filters the documents considered for suggestions.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "fuzzy", + "in": "query", + "type": "boolean", + "description": "A value indicating whether to use fuzzy matching for the suggestions query. Default is false. When set to true, the query will find terms even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy suggestions queries are slower and consume more resources.", + "x-ms-client-name": "UseFuzzyMatching", + "x-nullable": false, + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "highlightPostTag", + "in": "query", + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting of suggestions is disabled.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "highlightPreTag", + "in": "query", + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting of suggestions is disabled.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "minimumCoverage", + "in": "query", + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a suggestions query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "$orderby", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-client-name": "OrderBy", + "description": "The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "searchFields", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to search for the specified search text. Target fields must be included in the specified suggester.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "$select", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of fields to retrieve. If unspecified, only the key field will be included in the results.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "The number of suggestions to retrieve. The value must be a number between 1 and 100. The default is 5.", + "x-ms-parameter-grouping": { + "name": "SuggestOptions" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing suggested documents that match the partial input.", + "schema": { + "$ref": "#/definitions/SuggestDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.post.suggest": { + "post": { + "tags": [ + "Documents" + ], + "operationId": "Documents_SuggestPost", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/suggestions" + }, + "x-ms-examples": { + "SearchIndexSuggestDocumentsPost": { + "$ref": "./examples/SearchIndexSuggestDocumentsPost.json" + } + }, + "description": "Suggests documents in the index that match the given partial query text.", + "parameters": [ + { + "name": "suggestRequest", + "in": "body", + "required": true, + "description": "The Suggest request.", + "schema": { + "$ref": "#/definitions/SuggestRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing suggested documents that match the partial input.", + "schema": { + "$ref": "#/definitions/SuggestDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.index": { + "post": { + "tags": [ + "Documents" + ], + "operationId": "Documents_Index", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/addupdate-or-delete-documents" + }, + "x-ms-examples": { + "SearchIndexIndexDocuments": { + "$ref": "./examples/SearchIndexIndexDocuments.json" + } + }, + "description": "Sends a batch of document write actions to the index.", + "parameters": [ + { + "name": "batch", + "in": "body", + "description": "The batch of index actions.", + "required": true, + "schema": { + "$ref": "#/definitions/IndexBatch" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing the status of operations for all actions in the batch.", + "schema": { + "$ref": "#/definitions/IndexDocumentsResult" + } + }, + "207": { + "description": "Response containing the status of operations for all actions in the batch.", + "schema": { + "$ref": "#/definitions/IndexDocumentsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.autocomplete": { + "get": { + "tags": [ + "Documents" + ], + "operationId": "Documents_AutocompleteGet", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/autocomplete" + }, + "x-ms-examples": { + "SearchIndexAutocompleteDocumentsGet": { + "$ref": "./examples/SearchIndexAutocompleteDocumentsGet.json" + } + }, + "description": "Autocompletes incomplete query terms based on input text and matching terms in the index.", + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "search", + "in": "query", + "type": "string", + "required": true, + "description": "The incomplete term which should be auto-completed.", + "x-ms-client-name": "SearchText" + }, + { + "name": "suggesterName", + "in": "query", + "type": "string", + "required": true, + "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition." + }, + { + "name": "autocompleteMode", + "in": "query", + "type": "string", + "x-nullable": false, + "enum": [ + "oneTerm", + "twoTerms", + "oneTermWithContext" + ], + "x-ms-enum": { + "name": "AutocompleteMode", + "modelAsString": false, + "values": [ + { + "value": "oneTerm", + "name": "OneTerm", + "description": "Only one term is suggested. If the query has two terms, only the last term is completed. For example, if the input is 'washington medic', the suggested terms could include 'medicaid', 'medicare', and 'medicine'." + }, + { + "value": "twoTerms", + "name": "TwoTerms", + "description": "Matching two-term phrases in the index will be suggested. For example, if the input is 'medic', the suggested terms could include 'medicare coverage' and 'medical assistant'." + }, + { + "value": "oneTermWithContext", + "name": "OneTermWithContext", + "description": "Completes the last term in a query with two or more terms, where the last two terms are a phrase that exists in the index. For example, if the input is 'washington medic', the suggested terms could include 'washington medicaid' and 'washington medical'." + } + ] + }, + "description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing auto-completed terms.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "An OData expression that filters the documents used to produce completed terms for the Autocomplete result.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "fuzzy", + "in": "query", + "type": "boolean", + "description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will find terms even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy autocomplete queries are slower and consume more resources.", + "x-ms-client-name": "UseFuzzyMatching", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "highlightPostTag", + "in": "query", + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "highlightPreTag", + "in": "query", + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting is disabled.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "minimumCoverage", + "in": "query", + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "searchFields", + "in": "query", + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5.", + "x-ms-parameter-grouping": { + "name": "AutocompleteOptions" + } + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing suggested query terms that complete the partial input.", + "schema": { + "$ref": "#/definitions/AutocompleteResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/docs/search.post.autocomplete": { + "post": { + "tags": [ + "Documents" + ], + "operationId": "Documents_AutocompletePost", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/autocomplete" + }, + "x-ms-examples": { + "SearchIndexAutocompleteDocumentsPost": { + "$ref": "./examples/SearchIndexAutocompleteDocumentsPost.json" + } + }, + "description": "Autocompletes incomplete query terms based on input text and matching terms in the index.", + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "autocompleteRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AutocompleteRequest" + }, + "description": "The definition of the Autocomplete request." + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "Response containing suggested query terms that complete the partial input.", + "schema": { + "$ref": "#/definitions/AutocompleteResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + } + }, + "definitions": { + "SuggestDocumentsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SuggestResult" + }, + "readOnly": true, + "x-ms-client-name": "Results", + "description": "The sequence of results returned by the query." + }, + "@search.coverage": { + "type": "number", + "readOnly": true, + "format": "double", + "x-ms-client-name": "Coverage", + "description": "A value indicating the percentage of the index that was included in the query, or null if minimumCoverage was not set in the request." + } + }, + "required": [ + "value" + ], + "description": "Response containing suggestion query results from an index." + }, + "SuggestResult": { + "properties": { + "@search.text": { + "type": "string", + "readOnly": true, + "description": "The text of the suggestion result.", + "x-ms-client-name": "Text" + } + }, + "required": [ + "@search.text" + ], + "additionalProperties": true, + "description": "A result containing a document found by a suggestion query, plus associated metadata." + }, + "FacetResult": { + "properties": { + "count": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The approximate count of documents falling within the bucket described by this facet." + } + }, + "additionalProperties": true, + "description": "A single bucket of a facet query result. Reports the number of documents with a field value falling within a particular range or having a particular value or interval." + }, + "SearchDocumentsResult": { + "properties": { + "@odata.count": { + "type": "integer", + "format": "int64", + "readOnly": true, + "x-ms-client-name": "Count", + "description": "The total count of results found by the search operation, or null if the count was not requested. If present, the count may be greater than the number of results in this response. This can happen if you use the $top or $skip parameters, or if Azure Cognitive Search can't return all the requested documents in a single Search response." + }, + "@search.coverage": { + "type": "number", + "format": "double", + "readOnly": true, + "x-ms-client-name": "Coverage", + "description": "A value indicating the percentage of the index that was included in the query, or null if minimumCoverage was not specified in the request." + }, + "@search.facets": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/FacetResult" + } + }, + "readOnly": true, + "x-ms-client-name": "Facets", + "description": "The facet query results for the search operation, organized as a collection of buckets for each faceted field; null if the query did not include any facet expressions." + }, + "@search.nextPageParameters": { + "$ref": "#/definitions/SearchRequest", + "readOnly": true, + "x-ms-client-name": "NextPageParameters", + "description": "Continuation JSON payload returned when Azure Cognitive Search can't return all the requested results in a single Search response. You can use this JSON along with @odata.nextLink to formulate another POST Search request to get the next part of the search response." + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchResult" + }, + "readOnly": true, + "x-ms-client-name": "Results", + "description": "The sequence of results returned by the query." + }, + "@odata.nextLink": { + "type": "string", + "readOnly": true, + "x-ms-client-name": "NextLink", + "description": "Continuation URL returned when Azure Cognitive Search can't return all the requested results in a single Search response. You can use this URL to formulate another GET or POST Search request to get the next part of the search response. Make sure to use the same verb (GET or POST) as the request that produced this response." + } + }, + "required": [ + "value" + ], + "description": "Response containing search results from an index." + }, + "SearchResult": { + "properties": { + "@search.score": { + "type": "number", + "format": "double", + "readOnly": true, + "x-ms-client-name": "Score", + "x-nullable": false, + "description": "The relevance score of the document compared to other documents returned by the query." + }, + "@search.highlights": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "readOnly": true, + "x-ms-client-name": "Highlights", + "description": "Text fragments from the document that indicate the matching search terms, organized by each applicable field; null if hit highlighting was not enabled for the query." + } + }, + "required": [ + "@search.score" + ], + "additionalProperties": true, + "description": "Contains a document found by a search query, plus associated metadata." + }, + "IndexBatch": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IndexAction" + }, + "description": "The actions in the batch.", + "x-ms-client-name": "Actions" + } + }, + "required": [ + "value" + ], + "description": "Contains a batch of document write actions to send to the index." + }, + "IndexAction": { + "properties": { + "@search.action": { + "type": "string", + "enum": [ + "upload", + "merge", + "mergeOrUpload", + "delete" + ], + "x-ms-enum": { + "name": "IndexActionType", + "modelAsString": false, + "values": [ + { + "value": "upload", + "name": "Upload", + "description": "Inserts the document into the index if it is new and updates it if it exists. All fields are replaced in the update case." + }, + { + "value": "merge", + "name": "Merge", + "description": "Merges the specified field values with an existing document. If the document does not exist, the merge will fail. Any field you specify in a merge will replace the existing field in the document. This also applies to collections of primitive and complex types." + }, + { + "value": "mergeOrUpload", + "name": "MergeOrUpload", + "description": "Behaves like merge if a document with the given key already exists in the index. If the document does not exist, it behaves like upload with a new document." + }, + { + "value": "delete", + "name": "Delete", + "description": "Removes the specified document from the index. Any field you specify in a delete operation other than the key field will be ignored. If you want to remove an individual field from a document, use merge instead and set the field explicitly to null." + } + ] + }, + "x-ms-client-name": "ActionType", + "x-nullable": false, + "description": "The operation to perform on a document in an indexing batch." + } + }, + "additionalProperties": true, + "description": "Represents an index action that operates on a document." + }, + "IndexingResult": { + "properties": { + "key": { + "type": "string", + "readOnly": true, + "description": "The key of a document that was in the indexing request." + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "The error message explaining why the indexing operation failed for the document identified by the key; null if indexing succeeded." + }, + "status": { + "x-ms-client-name": "Succeeded", + "type": "boolean", + "x-nullable": false, + "readOnly": true, + "description": "A value indicating whether the indexing operation succeeded for the document identified by the key." + }, + "statusCode": { + "type": "integer", + "format": "int32", + "x-nullable": false, + "readOnly": true, + "description": "The status code of the indexing operation. Possible values include: 200 for a successful update or delete, 201 for successful document creation, 400 for a malformed input document, 404 for document not found, 409 for a version conflict, 422 when the index is temporarily unavailable, or 503 for when the service is too busy." + } + }, + "required": [ + "key", + "status", + "statusCode" + ], + "description": "Status of an indexing operation for a single document." + }, + "IndexDocumentsResult": { + "properties": { + "value": { + "x-ms-client-name": "Results", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/IndexingResult" + }, + "description": "The list of status information for each document in the indexing request." + } + }, + "required": [ + "value" + ], + "description": "Response containing the status of operations for all documents in the indexing request." + }, + "SearchMode": { + "type": "string", + "enum": [ + "any", + "all" + ], + "x-ms-enum": { + "name": "SearchMode", + "modelAsString": false, + "values": [ + { + "value": "any", + "name": "Any", + "description": "Any of the search terms must be matched in order to count the document as a match." + }, + { + "value": "all", + "name": "All", + "description": "All of the search terms must be matched in order to count the document as a match." + } + ] + }, + "description": "Specifies whether any or all of the search terms must be matched in order to count the document as a match." + }, + "QueryType": { + "type": "string", + "enum": [ + "simple", + "full" + ], + "x-ms-enum": { + "name": "QueryType", + "modelAsString": false, + "values": [ + { + "value": "simple", + "name": "Simple", + "description": "Uses the simple query syntax for searches. Search text is interpreted using a simple query language that allows for symbols such as +, * and \"\". Queries are evaluated across all searchable fields by default, unless the searchFields parameter is specified." + }, + { + "value": "full", + "name": "Full", + "description": "Uses the full Lucene query syntax for searches. Search text is interpreted using the Lucene query language which allows field-specific and weighted searches, as well as other advanced features." + } + ] + }, + "description": "Specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." + }, + "ScoringStatistics": { + "type": "string", + "enum": [ + "local", + "global" + ], + "x-ms-enum": { + "name": "ScoringStatistics", + "modelAsString": false, + "values": [ + { + "value": "local", + "name": "Local", + "description": "The scoring statistics will be calculated locally for lower latency." + }, + { + "value": "global", + "name": "Global", + "description": "The scoring statistics will be calculated globally for more consistent scoring." + } + ] + }, + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries." + }, + "AutocompleteMode": { + "type": "string", + "enum": [ + "oneTerm", + "twoTerms", + "oneTermWithContext" + ], + "x-ms-enum": { + "name": "AutocompleteMode", + "modelAsString": false, + "values": [ + { + "value": "oneTerm", + "name": "OneTerm", + "description": "Only one term is suggested. If the query has two terms, only the last term is completed. For example, if the input is 'washington medic', the suggested terms could include 'medicaid', 'medicare', and 'medicine'." + }, + { + "value": "twoTerms", + "name": "TwoTerms", + "description": "Matching two-term phrases in the index will be suggested. For example, if the input is 'medic', the suggested terms could include 'medicare coverage' and 'medical assistant'." + }, + { + "value": "oneTermWithContext", + "name": "OneTermWithContext", + "description": "Completes the last term in a query with two or more terms, where the last two terms are a phrase that exists in the index. For example, if the input is 'washington medic', the suggested terms could include 'washington medicaid' and 'washington medical'." + } + ] + }, + "description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context in producing autocomplete terms." + }, + "SearchRequest": { + "properties": { + "count": { + "type": "boolean", + "description": "A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the count returned is an approximation.", + "x-ms-client-name": "IncludeTotalResultCount" + }, + "facets": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents" + }, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:value pairs." + }, + "filter": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/OData-Expression-Syntax-for-Azure-Search" + }, + "type": "string", + "description": "The OData $filter expression to apply to the search query." + }, + "highlight": { + "type": "string", + "description": "The comma-separated list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.", + "x-ms-client-name": "HighlightFields" + }, + "highlightPostTag": { + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>." + }, + "highlightPreTag": { + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>." + }, + "minimumCoverage": { + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 100." + }, + "orderby": { + "x-ms-client-name": "OrderBy", + "type": "string", + "description": "The comma-separated list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses." + }, + "queryType": { + "$ref": "#/definitions/QueryType", + "description": "A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax." + }, + "scoringStatistics": { + "$ref": "#/definitions/ScoringStatistics", + "description": "A value that specifies whether we want to calculate scoring statistics (such as document frequency) globally for more consistent scoring, or locally, for lower latency. The default is 'local'. Use 'global' to aggregate scoring statistics globally before scoring. Using global scoring statistics can increase latency of search queries." + }, + "sessionId": { + "type": "string", + "description": "A value to be used to create a sticky session, which can help getting more consistent results. As long as the same sessionId is used, a best-effort attempt will be made to target the same replica set. Be wary that reusing the same sessionID values repeatedly can interfere with the load balancing of the requests across replicas and adversely affect the performance of the search service. The value used as sessionId cannot start with a '_' character." + }, + "scoringParameters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. For example, if the scoring profile defines a function with a parameter called 'mylocation' the parameter string would be \"mylocation--122.2,44.8\" (without the quotes)." + }, + "scoringProfile": { + "type": "string", + "description": "The name of a scoring profile to evaluate match scores for matching documents in order to sort the results." + }, + "search": { + "type": "string", + "description": "A full-text search query expression; Use \"*\" or omit this parameter to match all documents.", + "x-ms-client-name": "SearchText" + }, + "searchFields": { + "type": "string", + "description": "The comma-separated list of field names to which to scope the full-text search. When using fielded search (fieldName:searchExpression) in a full Lucene query, the field names of each fielded search expression take precedence over any field names listed in this parameter." + }, + "searchMode": { + "$ref": "#/definitions/SearchMode", + "description": "A value that specifies whether any or all of the search terms must be matched in order to count the document as a match." + }, + "select": { + "type": "string", + "description": "The comma-separated list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included." + }, + "skip": { + "type": "integer", + "format": "int32", + "description": "The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use skip due to this limitation, consider using orderby on a totally-ordered key and filter with a range query instead." + }, + "top": { + "type": "integer", + "format": "int32", + "description": "The number of search results to retrieve. This can be used in conjunction with $skip to implement client-side paging of search results. If results are truncated due to server-side paging, the response will include a continuation token that can be used to issue another Search request for the next page of results." + } + }, + "description": "Parameters for filtering, sorting, faceting, paging, and other search query behaviors." + }, + "SuggestRequest": { + "properties": { + "filter": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/OData-Expression-Syntax-for-Azure-Search" + }, + "type": "string", + "description": "An OData expression that filters the documents considered for suggestions." + }, + "fuzzy": { + "type": "boolean", + "description": "A value indicating whether to use fuzzy matching for the suggestion query. Default is false. When set to true, the query will find suggestions even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy suggestion searches are slower and consume more resources.", + "x-ms-client-name": "UseFuzzyMatching" + }, + "highlightPostTag": { + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting of suggestions is disabled." + }, + "highlightPreTag": { + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting of suggestions is disabled." + }, + "minimumCoverage": { + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a suggestion query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80." + }, + "orderby": { + "x-ms-client-name": "OrderBy", + "type": "string", + "description": "The comma-separated list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or desc to indicate descending. The default is ascending order. Ties will be broken by the match scores of documents. If no $orderby is specified, the default sort order is descending by document match score. There can be at most 32 $orderby clauses." + }, + "search": { + "type": "string", + "description": "The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters.", + "x-ms-client-name": "SearchText" + }, + "searchFields": { + "type": "string", + "description": "The comma-separated list of field names to search for the specified search text. Target fields must be included in the specified suggester." + }, + "select": { + "type": "string", + "description": "The comma-separated list of fields to retrieve. If unspecified, only the key field will be included in the results." + }, + "suggesterName": { + "type": "string", + "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition." + }, + "top": { + "type": "integer", + "format": "int32", + "description": "The number of suggestions to retrieve. This must be a value between 1 and 100. The default is 5." + } + }, + "required": [ + "search", + "suggesterName" + ], + "description": "Parameters for filtering, sorting, fuzzy matching, and other suggestions query behaviors." + }, + "AutocompleteRequest": { + "properties": { + "search": { + "type": "string", + "description": "The search text on which to base autocomplete results.", + "x-ms-client-name": "SearchText" + }, + "autocompleteMode": { + "$ref": "#/definitions/AutocompleteMode", + "description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing auto-completed terms." + }, + "filter": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/OData-Expression-Syntax-for-Azure-Search" + }, + "type": "string", + "description": "An OData expression that filters the documents used to produce completed terms for the Autocomplete result." + }, + "fuzzy": { + "type": "boolean", + "description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will autocomplete terms even if there's a substituted or missing character in the search text. While this provides a better experience in some scenarios, it comes at a performance cost as fuzzy autocomplete queries are slower and consume more resources.", + "x-ms-client-name": "UseFuzzyMatching" + }, + "highlightPostTag": { + "type": "string", + "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled." + }, + "highlightPreTag": { + "type": "string", + "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting is disabled." + }, + "minimumCoverage": { + "type": "number", + "format": "double", + "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete query in order for the query to be reported as a success. This parameter can be useful for ensuring search availability even for services with only one replica. The default is 80." + }, + "searchFields": { + "type": "string", + "description": "The comma-separated list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester." + }, + "suggesterName": { + "type": "string", + "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition." + }, + "top": { + "type": "integer", + "format": "int32", + "description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5." + } + }, + "required": [ + "search", + "suggesterName" + ], + "description": "Parameters for fuzzy matching, and other autocomplete query behaviors." + }, + "AutocompleteResult": { + "properties": { + "@search.coverage": { + "type": "number", + "format": "double", + "readOnly": true, + "x-ms-client-name": "Coverage", + "description": "A value indicating the percentage of the index that was considered by the autocomplete request, or null if minimumCoverage was not specified in the request." + }, + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AutocompleteItem" + }, + "description": "The list of returned Autocompleted items.", + "x-ms-client-name": "Results" + } + }, + "required": [ + "value" + ], + "description": "The result of Autocomplete query." + }, + "AutocompleteItem": { + "properties": { + "text": { + "type": "string", + "readOnly": true, + "description": "The completed term." + }, + "queryPlusText": { + "type": "string", + "readOnly": true, + "description": "The query along with the completed term." + } + }, + "required": [ + "text", + "queryPlusText" + ], + "description": "The result of Autocomplete requests." + }, + "SearchError": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "A human-readable representation of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchError" + }, + "readOnly": true, + "description": "An array of details about specific errors that led to this reported error." + } + }, + "required": [ + "message" + ], + "description": "Describes an error condition for the Azure Cognitive Search API." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ClientRequestIdParameter": { + "name": "x-ms-client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The tracking ID sent with the request to help with debugging.", + "x-ms-client-request-id": true, + "x-ms-parameter-grouping": { + "name": "request-options" + }, + "x-ms-parameter-location": "method" + }, + "EndpointParameter": { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "description": "The endpoint URL of the search service.", + "x-ms-parameter-location": "client" + }, + "IndexNameParameter": { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": false, + "description": "The name of the index.", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json new file mode 100644 index 000000000000..57a5eedf1b93 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2020-06-30/searchservice.json @@ -0,0 +1,8657 @@ +{ + "swagger": "2.0", + "info": { + "title": "SearchServiceClient", + "description": "Client that can be used to manage and query indexes and documents, as well as manage other resources, on a search service.", + "version": "2020-06-30", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/EndpointParameter" + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/datasources('{dataSourceName}')": { + "put": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateDataSource": { + "$ref": "./examples/SearchServiceCreateOrUpdateDataSource.json" + } + }, + "description": "Creates a new datasource or updates a datasource if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Data-Source" + }, + "parameters": [ + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the datasource to create or update." + }, + { + "name": "dataSource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + }, + "description": "The definition of the datasource to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + } + }, + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_Delete", + "x-ms-examples": { + "SearchServiceDeleteDataSource": { + "$ref": "./examples/SearchServiceDeleteDataSource.json" + } + }, + "description": "Deletes a datasource.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Data-Source" + }, + "parameters": [ + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the datasource to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_Get", + "x-ms-examples": { + "SearchServiceGetDataSource": { + "$ref": "./examples/SearchServiceGetDataSource.json" + } + }, + "description": "Retrieves a datasource definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Data-Source" + }, + "parameters": [ + { + "name": "dataSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the datasource to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/datasources": { + "get": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_List", + "x-ms-examples": { + "SearchServiceListDataSources": { + "$ref": "./examples/SearchServiceListDataSources.json" + } + }, + "description": "Lists all datasources available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Data-Sources" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the data sources to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListDataSourcesResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "post": { + "tags": [ + "DataSources" + ], + "operationId": "DataSources_Create", + "x-ms-examples": { + "SearchServiceCreateDataSource": { + "$ref": "./examples/SearchServiceCreateDataSource.json" + } + }, + "description": "Creates a new datasource.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source" + }, + "parameters": [ + { + "name": "dataSource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + }, + "description": "The definition of the datasource to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerDataSource" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers('{indexerName}')/search.reset": { + "post": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Reset", + "x-ms-examples": { + "SearchServiceResetIndexer": { + "$ref": "./examples/SearchServiceResetIndexer.json" + } + }, + "description": "Resets the change tracking state associated with an indexer.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Reset-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to reset." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers('{indexerName}')/search.run": { + "post": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Run", + "x-ms-examples": { + "SearchServiceRunIndexer": { + "$ref": "./examples/SearchServiceRunIndexer.json" + } + }, + "description": "Runs an indexer on-demand.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Run-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to run." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "202": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers('{indexerName}')": { + "put": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateIndexer": { + "$ref": "./examples/SearchServiceCreateOrUpdateIndexer.json" + } + }, + "description": "Creates a new indexer or updates an indexer if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to create or update." + }, + { + "name": "indexer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexer" + }, + "description": "The definition of the indexer to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexer" + } + }, + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexer" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Delete", + "x-ms-examples": { + "SearchServiceDeleteIndexer": { + "$ref": "./examples/SearchServiceDeleteIndexer.json" + } + }, + "description": "Deletes an indexer.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "404": { + "description": "" + }, + "204": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Get", + "x-ms-examples": { + "SearchServiceGetIndexer": { + "$ref": "./examples/SearchServiceGetIndexer.json" + } + }, + "description": "Retrieves an indexer definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Indexer" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexer" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers": { + "get": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_List", + "x-ms-examples": { + "SearchServiceListIndexers": { + "$ref": "./examples/SearchServiceListIndexers.json" + } + }, + "description": "Lists all indexers available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Indexers" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the indexers to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListIndexersResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "post": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_Create", + "x-ms-examples": { + "SearchServiceCreateIndexer": { + "$ref": "./examples/SearchServiceCreateIndexer.json" + } + }, + "description": "Creates a new indexer.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Indexer" + }, + "parameters": [ + { + "name": "indexer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexer" + }, + "description": "The definition of the indexer to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexer" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexers('{indexerName}')/search.status": { + "get": { + "tags": [ + "Indexers" + ], + "operationId": "Indexers_GetStatus", + "x-ms-examples": { + "SearchServiceGetIndexerStatus": { + "$ref": "./examples/SearchServiceGetIndexerStatus.json" + } + }, + "description": "Returns the current status and execution history of an indexer.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Indexer-Status" + }, + "parameters": [ + { + "name": "indexerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the indexer for which to retrieve status." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndexerStatus" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/skillsets('{skillsetName}')": { + "put": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateSkillset": { + "$ref": "./examples/SearchServiceCreateOrUpdateSkillset.json" + } + }, + "description": "Creates a new skillset in a search service or updates the skillset if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/update-skillset" + }, + "parameters": [ + { + "name": "skillsetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the skillset to create or update." + }, + { + "name": "skillset", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + }, + "description": "The skillset containing one or more skills to create or update in a search service." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "The skillset is successfully updated.", + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + } + }, + "201": { + "description": "The skillset is successfully created.", + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_Delete", + "x-ms-examples": { + "SearchServiceDeleteSkillset": { + "$ref": "./examples/SearchServiceDeleteSkillset.json" + } + }, + "description": "Deletes a skillset in a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/delete-skillset" + }, + "parameters": [ + { + "name": "skillsetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the skillset to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "The skillset is successfully deleted." + }, + "404": { + "description": "The provided skillset name is not found." + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_Get", + "x-ms-examples": { + "SearchServiceGetSkillset": { + "$ref": "./examples/SearchServiceGetSkillset.json" + } + }, + "description": "Retrieves a skillset in a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/get-skillset" + }, + "parameters": [ + { + "name": "skillsetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the skillset to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "The skillset is successfully returned.", + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/skillsets": { + "get": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_List", + "x-ms-examples": { + "SearchServiceListSkillsets": { + "$ref": "./examples/SearchServiceListSkillsets.json" + } + }, + "description": "List all skillsets in a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/list-skillset" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the skillsets to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "The list is successfully returned.", + "schema": { + "$ref": "#/definitions/ListSkillsetsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "post": { + "tags": [ + "Skillsets" + ], + "operationId": "Skillsets_Create", + "x-ms-examples": { + "SearchServiceCreateSkillset": { + "$ref": "./examples/SearchServiceCreateSkillset.json" + } + }, + "description": "Creates a new skillset in a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/create-skillset" + }, + "parameters": [ + { + "name": "skillset", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + }, + "description": "The skillset containing one or more skills to create in a search service." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "The skillset is successfully created.", + "schema": { + "$ref": "#/definitions/SearchIndexerSkillset" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/synonymmaps('{synonymMapName}')": { + "put": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateSynonymMap": { + "$ref": "./examples/SearchServiceCreateOrUpdateSynonymMap.json" + } + }, + "description": "Creates a new synonym map or updates a synonym map if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Synonym-Map" + }, + "parameters": [ + { + "name": "synonymMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the synonym map to create or update." + }, + { + "name": "synonymMap", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SynonymMap" + }, + "description": "The definition of the synonym map to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SynonymMap" + } + }, + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SynonymMap" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_Delete", + "x-ms-examples": { + "SearchServiceDeleteSynonymMap": { + "$ref": "./examples/SearchServiceDeleteSynonymMap.json" + } + }, + "description": "Deletes a synonym map.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Synonym-Map" + }, + "parameters": [ + { + "name": "synonymMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the synonym map to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_Get", + "x-ms-examples": { + "SearchServiceGetSynonymMap": { + "$ref": "./examples/SearchServiceGetSynonymMap.json" + } + }, + "description": "Retrieves a synonym map definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Synonym-Map" + }, + "parameters": [ + { + "name": "synonymMapName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the synonym map to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SynonymMap" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/synonymmaps": { + "get": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_List", + "x-ms-examples": { + "SearchServiceListSynonymMaps": { + "$ref": "./examples/SearchServiceListSynonymMaps.json" + } + }, + "description": "Lists all synonym maps available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Synonym-Maps" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the synonym maps to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListSynonymMapsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "post": { + "tags": [ + "SynonymMaps" + ], + "operationId": "SynonymMaps_Create", + "x-ms-examples": { + "SearchServiceCreateSynonymMap": { + "$ref": "./examples/SearchServiceCreateSynonymMap.json" + } + }, + "description": "Creates a new synonym map.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Synonym-Map" + }, + "parameters": [ + { + "name": "synonymMap", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SynonymMap" + }, + "description": "The definition of the synonym map to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SynonymMap" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexes": { + "post": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_Create", + "x-ms-examples": { + "SearchServiceCreateIndex": { + "$ref": "./examples/SearchServiceCreateIndex.json" + } + }, + "description": "Creates a new search index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index" + }, + "parameters": [ + { + "name": "index", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndex" + }, + "description": "The definition of the index to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndex" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_List", + "x-ms-examples": { + "SearchServiceListIndexes": { + "$ref": "./examples/SearchServiceListIndexes.json" + } + }, + "description": "Lists all indexes available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Indexes" + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Selects which top-level properties of the index definitions to retrieve. Specified as a comma-separated list of JSON property names, or '*' for all properties. The default is all properties." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListIndexesResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/indexes('{indexName}')": { + "put": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateIndex": { + "$ref": "./examples/SearchServiceCreateOrUpdateIndex.json" + } + }, + "description": "Creates a new search index or updates an index if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Index" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The definition of the index to create or update." + }, + { + "name": "index", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchIndex" + }, + "description": "The definition of the index to create or update." + }, + { + "name": "allowIndexDowntime", + "in": "query", + "required": false, + "type": "boolean", + "description": "Allows new analyzers, tokenizers, token filters, or char filters to be added to an index by taking the index offline for at least a few seconds. This temporarily causes indexing and query requests to fail. Performance and write availability of the index can be impaired for several minutes after the index is updated, or longer for very large indexes." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndex" + } + }, + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndex" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_Delete", + "x-ms-examples": { + "SearchServiceDeleteIndex": { + "$ref": "./examples/SearchServiceDeleteIndex.json" + } + }, + "description": "Deletes a search index and all the documents it contains. This operation is permanent, with no recovery option. Make sure you have a master copy of your index definition, data ingestion code, and a backup of the primary data source in case you need to re-build the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Index" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the index to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_Get", + "x-ms-examples": { + "SearchServiceGetIndex": { + "$ref": "./examples/SearchServiceGetIndex.json" + } + }, + "description": "Retrieves an index definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Index" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the index to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchIndex" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexes('{indexName}')/search.stats": { + "get": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_GetStatistics", + "x-ms-examples": { + "SearchServiceGetIndexStatistics": { + "$ref": "./examples/SearchServiceGetIndexStatistics.json" + } + }, + "description": "Returns statistics for the given index, including a document count and storage usage.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Index-Statistics" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the index for which to retrieve statistics." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/GetIndexStatisticsResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/indexes('{indexName}')/search.analyze": { + "post": { + "tags": [ + "Indexes" + ], + "operationId": "Indexes_Analyze", + "x-ms-examples": { + "SearchServiceIndexAnalyze": { + "$ref": "./examples/SearchServiceIndexAnalyze.json" + } + }, + "description": "Shows how an analyzer breaks text into tokens.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/test-analyzer" + }, + "parameters": [ + { + "name": "indexName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the index for which to test an analyzer." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AnalyzeRequest" + }, + "description": "The text and analyzer or analysis components to test." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/AnalyzeResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, + "/servicestats": { + "get": { + "tags": [ + "Service" + ], + "operationId": "GetServiceStatistics", + "x-ms-examples": { + "SearchServiceGetServiceStatistics": { + "$ref": "./examples/SearchServiceGetServiceStatistics.json" + } + }, + "description": "Gets service level statistics for a search service.", + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ServiceStatistics" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + } + }, + "definitions": { + "AnalyzeRequest": { + "properties": { + "text": { + "type": "string", + "description": "The text to break into tokens." + }, + "analyzer": { + "$ref": "#/definitions/LexicalAnalyzerName", + "description": "The name of the analyzer to use to break the given text. If this parameter is not specified, you must specify a tokenizer instead. The tokenizer and analyzer parameters are mutually exclusive." + }, + "tokenizer": { + "$ref": "#/definitions/LexicalTokenizerName", + "description": "The name of the tokenizer to use to break the given text. If this parameter is not specified, you must specify an analyzer instead. The tokenizer and analyzer parameters are mutually exclusive." + }, + "tokenFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenFilterName", + "x-nullable": false + }, + "description": "An optional list of token filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter." + }, + "charFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/CharFilterName", + "x-nullable": false + }, + "description": "An optional list of character filters to use when breaking the given text. This parameter can only be set when using the tokenizer parameter." + } + }, + "required": [ + "text" + ], + "description": "Specifies some text and analysis components used to break that text into tokens." + }, + "AnalyzeResult": { + "properties": { + "tokens": { + "type": "array", + "items": { + "$ref": "#/definitions/AnalyzedTokenInfo" + }, + "description": "The list of tokens returned by the analyzer specified in the request." + } + }, + "required": [ + "tokens" + ], + "description": "The result of testing an analyzer on text." + }, + "AnalyzedTokenInfo": { + "properties": { + "token": { + "type": "string", + "readOnly": true, + "description": "The token returned by the analyzer." + }, + "startOffset": { + "type": "integer", + "format": "int32", + "readOnly": true, + "x-nullable": false, + "description": "The index of the first character of the token in the input text." + }, + "endOffset": { + "type": "integer", + "format": "int32", + "readOnly": true, + "x-nullable": false, + "description": "The index of the last character of the token in the input text." + }, + "position": { + "type": "integer", + "format": "int32", + "readOnly": true, + "x-nullable": false, + "description": "The position of the token in the input text relative to other tokens. The first token in the input text has position 0, the next has position 1, and so on. Depending on the analyzer used, some tokens might have the same position, for example if they are synonyms of each other." + } + }, + "required": [ + "token", + "startOffset", + "endOffset", + "position" + ], + "description": "Information about a token returned by an analyzer." + }, + "LexicalAnalyzerName": { + "type": "string", + "enum": [ + "ar.microsoft", + "ar.lucene", + "hy.lucene", + "bn.microsoft", + "eu.lucene", + "bg.microsoft", + "bg.lucene", + "ca.microsoft", + "ca.lucene", + "zh-Hans.microsoft", + "zh-Hans.lucene", + "zh-Hant.microsoft", + "zh-Hant.lucene", + "hr.microsoft", + "cs.microsoft", + "cs.lucene", + "da.microsoft", + "da.lucene", + "nl.microsoft", + "nl.lucene", + "en.microsoft", + "en.lucene", + "et.microsoft", + "fi.microsoft", + "fi.lucene", + "fr.microsoft", + "fr.lucene", + "gl.lucene", + "de.microsoft", + "de.lucene", + "el.microsoft", + "el.lucene", + "gu.microsoft", + "he.microsoft", + "hi.microsoft", + "hi.lucene", + "hu.microsoft", + "hu.lucene", + "is.microsoft", + "id.microsoft", + "id.lucene", + "ga.lucene", + "it.microsoft", + "it.lucene", + "ja.microsoft", + "ja.lucene", + "kn.microsoft", + "ko.microsoft", + "ko.lucene", + "lv.microsoft", + "lv.lucene", + "lt.microsoft", + "ml.microsoft", + "ms.microsoft", + "mr.microsoft", + "nb.microsoft", + "no.lucene", + "fa.lucene", + "pl.microsoft", + "pl.lucene", + "pt-BR.microsoft", + "pt-BR.lucene", + "pt-PT.microsoft", + "pt-PT.lucene", + "pa.microsoft", + "ro.microsoft", + "ro.lucene", + "ru.microsoft", + "ru.lucene", + "sr-cyrillic.microsoft", + "sr-latin.microsoft", + "sk.microsoft", + "sl.microsoft", + "es.microsoft", + "es.lucene", + "sv.microsoft", + "sv.lucene", + "ta.microsoft", + "te.microsoft", + "th.microsoft", + "th.lucene", + "tr.microsoft", + "tr.lucene", + "uk.microsoft", + "ur.microsoft", + "vi.microsoft", + "standard.lucene", + "standardasciifolding.lucene", + "keyword", + "pattern", + "simple", + "stop", + "whitespace" + ], + "x-ms-enum": { + "name": "LexicalAnalyzerName", + "modelAsString": true, + "values": [ + { + "value": "ar.microsoft", + "name": "ArMicrosoft", + "description": "Microsoft analyzer for Arabic." + }, + { + "value": "ar.lucene", + "name": "ArLucene", + "description": "Lucene analyzer for Arabic." + }, + { + "value": "hy.lucene", + "name": "HyLucene", + "description": "Lucene analyzer for Armenian." + }, + { + "value": "bn.microsoft", + "name": "BnMicrosoft", + "description": "Microsoft analyzer for Bangla." + }, + { + "value": "eu.lucene", + "name": "EuLucene", + "description": "Lucene analyzer for Basque." + }, + { + "value": "bg.microsoft", + "name": "BgMicrosoft", + "description": "Microsoft analyzer for Bulgarian." + }, + { + "value": "bg.lucene", + "name": "BgLucene", + "description": "Lucene analyzer for Bulgarian." + }, + { + "value": "ca.microsoft", + "name": "CaMicrosoft", + "description": "Microsoft analyzer for Catalan." + }, + { + "value": "ca.lucene", + "name": "CaLucene", + "description": "Lucene analyzer for Catalan." + }, + { + "value": "zh-Hans.microsoft", + "name": "ZhHansMicrosoft", + "description": "Microsoft analyzer for Chinese (Simplified)." + }, + { + "value": "zh-Hans.lucene", + "name": "ZhHansLucene", + "description": "Lucene analyzer for Chinese (Simplified)." + }, + { + "value": "zh-Hant.microsoft", + "name": "ZhHantMicrosoft", + "description": "Microsoft analyzer for Chinese (Traditional)." + }, + { + "value": "zh-Hant.lucene", + "name": "ZhHantLucene", + "description": "Lucene analyzer for Chinese (Traditional)." + }, + { + "value": "hr.microsoft", + "name": "HrMicrosoft", + "description": "Microsoft analyzer for Croatian." + }, + { + "value": "cs.microsoft", + "name": "CsMicrosoft", + "description": "Microsoft analyzer for Czech." + }, + { + "value": "cs.lucene", + "name": "CsLucene", + "description": "Lucene analyzer for Czech." + }, + { + "value": "da.microsoft", + "name": "DaMicrosoft", + "description": "Microsoft analyzer for Danish." + }, + { + "value": "da.lucene", + "name": "DaLucene", + "description": "Lucene analyzer for Danish." + }, + { + "value": "nl.microsoft", + "name": "NlMicrosoft", + "description": "Microsoft analyzer for Dutch." + }, + { + "value": "nl.lucene", + "name": "NlLucene", + "description": "Lucene analyzer for Dutch." + }, + { + "value": "en.microsoft", + "name": "EnMicrosoft", + "description": "Microsoft analyzer for English." + }, + { + "value": "en.lucene", + "name": "EnLucene", + "description": "Lucene analyzer for English." + }, + { + "value": "et.microsoft", + "name": "EtMicrosoft", + "description": "Microsoft analyzer for Estonian." + }, + { + "value": "fi.microsoft", + "name": "FiMicrosoft", + "description": "Microsoft analyzer for Finnish." + }, + { + "value": "fi.lucene", + "name": "FiLucene", + "description": "Lucene analyzer for Finnish." + }, + { + "value": "fr.microsoft", + "name": "FrMicrosoft", + "description": "Microsoft analyzer for French." + }, + { + "value": "fr.lucene", + "name": "FrLucene", + "description": "Lucene analyzer for French." + }, + { + "value": "gl.lucene", + "name": "GlLucene", + "description": "Lucene analyzer for Galician." + }, + { + "value": "de.microsoft", + "name": "DeMicrosoft", + "description": "Microsoft analyzer for German." + }, + { + "value": "de.lucene", + "name": "DeLucene", + "description": "Lucene analyzer for German." + }, + { + "value": "el.microsoft", + "name": "ElMicrosoft", + "description": "Microsoft analyzer for Greek." + }, + { + "value": "el.lucene", + "name": "ElLucene", + "description": "Lucene analyzer for Greek." + }, + { + "value": "gu.microsoft", + "name": "GuMicrosoft", + "description": "Microsoft analyzer for Gujarati." + }, + { + "value": "he.microsoft", + "name": "HeMicrosoft", + "description": "Microsoft analyzer for Hebrew." + }, + { + "value": "hi.microsoft", + "name": "HiMicrosoft", + "description": "Microsoft analyzer for Hindi." + }, + { + "value": "hi.lucene", + "name": "HiLucene", + "description": "Lucene analyzer for Hindi." + }, + { + "value": "hu.microsoft", + "name": "HuMicrosoft", + "description": "Microsoft analyzer for Hungarian." + }, + { + "value": "hu.lucene", + "name": "HuLucene", + "description": "Lucene analyzer for Hungarian." + }, + { + "value": "is.microsoft", + "name": "IsMicrosoft", + "description": "Microsoft analyzer for Icelandic." + }, + { + "value": "id.microsoft", + "name": "IdMicrosoft", + "description": "Microsoft analyzer for Indonesian (Bahasa)." + }, + { + "value": "id.lucene", + "name": "IdLucene", + "description": "Lucene analyzer for Indonesian." + }, + { + "value": "ga.lucene", + "name": "GaLucene", + "description": "Lucene analyzer for Irish." + }, + { + "value": "it.microsoft", + "name": "ItMicrosoft", + "description": "Microsoft analyzer for Italian." + }, + { + "value": "it.lucene", + "name": "ItLucene", + "description": "Lucene analyzer for Italian." + }, + { + "value": "ja.microsoft", + "name": "JaMicrosoft", + "description": "Microsoft analyzer for Japanese." + }, + { + "value": "ja.lucene", + "name": "JaLucene", + "description": "Lucene analyzer for Japanese." + }, + { + "value": "kn.microsoft", + "name": "KnMicrosoft", + "description": "Microsoft analyzer for Kannada." + }, + { + "value": "ko.microsoft", + "name": "KoMicrosoft", + "description": "Microsoft analyzer for Korean." + }, + { + "value": "ko.lucene", + "name": "KoLucene", + "description": "Lucene analyzer for Korean." + }, + { + "value": "lv.microsoft", + "name": "LvMicrosoft", + "description": "Microsoft analyzer for Latvian." + }, + { + "value": "lv.lucene", + "name": "LvLucene", + "description": "Lucene analyzer for Latvian." + }, + { + "value": "lt.microsoft", + "name": "LtMicrosoft", + "description": "Microsoft analyzer for Lithuanian." + }, + { + "value": "ml.microsoft", + "name": "MlMicrosoft", + "description": "Microsoft analyzer for Malayalam." + }, + { + "value": "ms.microsoft", + "name": "MsMicrosoft", + "description": "Microsoft analyzer for Malay (Latin)." + }, + { + "value": "mr.microsoft", + "name": "MrMicrosoft", + "description": "Microsoft analyzer for Marathi." + }, + { + "value": "nb.microsoft", + "name": "NbMicrosoft", + "description": "Microsoft analyzer for Norwegian (Bokmål)." + }, + { + "value": "no.lucene", + "name": "NoLucene", + "description": "Lucene analyzer for Norwegian." + }, + { + "value": "fa.lucene", + "name": "FaLucene", + "description": "Lucene analyzer for Persian." + }, + { + "value": "pl.microsoft", + "name": "PlMicrosoft", + "description": "Microsoft analyzer for Polish." + }, + { + "value": "pl.lucene", + "name": "PlLucene", + "description": "Lucene analyzer for Polish." + }, + { + "value": "pt-BR.microsoft", + "name": "PtBrMicrosoft", + "description": "Microsoft analyzer for Portuguese (Brazil)." + }, + { + "value": "pt-BR.lucene", + "name": "PtBrLucene", + "description": "Lucene analyzer for Portuguese (Brazil)." + }, + { + "value": "pt-PT.microsoft", + "name": "PtPtMicrosoft", + "description": "Microsoft analyzer for Portuguese (Portugal)." + }, + { + "value": "pt-PT.lucene", + "name": "PtPtLucene", + "description": "Lucene analyzer for Portuguese (Portugal)." + }, + { + "value": "pa.microsoft", + "name": "PaMicrosoft", + "description": "Microsoft analyzer for Punjabi." + }, + { + "value": "ro.microsoft", + "name": "RoMicrosoft", + "description": "Microsoft analyzer for Romanian." + }, + { + "value": "ro.lucene", + "name": "RoLucene", + "description": "Lucene analyzer for Romanian." + }, + { + "value": "ru.microsoft", + "name": "RuMicrosoft", + "description": "Microsoft analyzer for Russian." + }, + { + "value": "ru.lucene", + "name": "RuLucene", + "description": "Lucene analyzer for Russian." + }, + { + "value": "sr-cyrillic.microsoft", + "name": "SrCyrillicMicrosoft", + "description": "Microsoft analyzer for Serbian (Cyrillic)." + }, + { + "value": "sr-latin.microsoft", + "name": "SrLatinMicrosoft", + "description": "Microsoft analyzer for Serbian (Latin)." + }, + { + "value": "sk.microsoft", + "name": "SkMicrosoft", + "description": "Microsoft analyzer for Slovak." + }, + { + "value": "sl.microsoft", + "name": "SlMicrosoft", + "description": "Microsoft analyzer for Slovenian." + }, + { + "value": "es.microsoft", + "name": "EsMicrosoft", + "description": "Microsoft analyzer for Spanish." + }, + { + "value": "es.lucene", + "name": "EsLucene", + "description": "Lucene analyzer for Spanish." + }, + { + "value": "sv.microsoft", + "name": "SvMicrosoft", + "description": "Microsoft analyzer for Swedish." + }, + { + "value": "sv.lucene", + "name": "SvLucene", + "description": "Lucene analyzer for Swedish." + }, + { + "value": "ta.microsoft", + "name": "TaMicrosoft", + "description": "Microsoft analyzer for Tamil." + }, + { + "value": "te.microsoft", + "name": "TeMicrosoft", + "description": "Microsoft analyzer for Telugu." + }, + { + "value": "th.microsoft", + "name": "ThMicrosoft", + "description": "Microsoft analyzer for Thai." + }, + { + "value": "th.lucene", + "name": "ThLucene", + "description": "Lucene analyzer for Thai." + }, + { + "value": "tr.microsoft", + "name": "TrMicrosoft", + "description": "Microsoft analyzer for Turkish." + }, + { + "value": "tr.lucene", + "name": "TrLucene", + "description": "Lucene analyzer for Turkish." + }, + { + "value": "uk.microsoft", + "name": "UkMicrosoft", + "description": "Microsoft analyzer for Ukrainian." + }, + { + "value": "ur.microsoft", + "name": "UrMicrosoft", + "description": "Microsoft analyzer for Urdu." + }, + { + "value": "vi.microsoft", + "name": "ViMicrosoft", + "description": "Microsoft analyzer for Vietnamese." + }, + { + "value": "standard.lucene", + "name": "StandardLucene", + "description": "Standard Lucene analyzer." + }, + { + "value": "standardasciifolding.lucene", + "name": "StandardAsciiFoldingLucene", + "description": "Standard ASCII Folding Lucene analyzer. See https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#Analyzers" + }, + { + "value": "keyword", + "name": "Keyword", + "description": "Treats the entire content of a field as a single token. This is useful for data like zip codes, ids, and some product names. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordAnalyzer.html" + }, + { + "value": "pattern", + "name": "Pattern", + "description": "Flexibly separates text into terms via a regular expression pattern. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.html" + }, + { + "value": "simple", + "name": "Simple", + "description": "Divides text at non-letters and converts them to lower case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/SimpleAnalyzer.html" + }, + { + "value": "stop", + "name": "Stop", + "description": "Divides text at non-letters; Applies the lowercase and stopword token filters. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html" + }, + { + "value": "whitespace", + "name": "Whitespace", + "description": "An analyzer that uses the whitespace tokenizer. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/WhitespaceAnalyzer.html" + } + ] + }, + "description": "Defines the names of all text analyzers supported by Azure Cognitive Search.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" + } + }, + "LexicalTokenizerName": { + "type": "string", + "enum": [ + "classic", + "edgeNGram", + "keyword_v2", + "letter", + "lowercase", + "microsoft_language_tokenizer", + "microsoft_language_stemming_tokenizer", + "nGram", + "path_hierarchy_v2", + "pattern", + "standard_v2", + "uax_url_email", + "whitespace" + ], + "x-ms-enum": { + "name": "LexicalTokenizerName", + "modelAsString": true, + "values": [ + { + "value": "classic", + "name": "Classic", + "description": "Grammar-based tokenizer that is suitable for processing most European-language documents. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html" + }, + { + "value": "edgeNGram", + "name": "EdgeNGram", + "description": "Tokenizes the input from an edge into n-grams of the given size(s). See https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html" + }, + { + "value": "keyword_v2", + "name": "Keyword", + "description": "Emits the entire input as a single token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html" + }, + { + "value": "letter", + "name": "Letter", + "description": "Divides text at non-letters. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LetterTokenizer.html" + }, + { + "value": "lowercase", + "name": "Lowercase", + "description": "Divides text at non-letters and converts them to lower case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseTokenizer.html" + }, + { + "value": "microsoft_language_tokenizer", + "name": "MicrosoftLanguageTokenizer", + "description": "Divides text using language-specific rules." + }, + { + "value": "microsoft_language_stemming_tokenizer", + "name": "MicrosoftLanguageStemmingTokenizer", + "description": "Divides text using language-specific rules and reduces words to their base forms." + }, + { + "value": "nGram", + "name": "NGram", + "description": "Tokenizes the input into n-grams of the given size(s). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html" + }, + { + "value": "path_hierarchy_v2", + "name": "PathHierarchy", + "description": "Tokenizer for path-like hierarchies. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html" + }, + { + "value": "pattern", + "name": "Pattern", + "description": "Tokenizer that uses regex pattern matching to construct distinct tokens. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html" + }, + { + "value": "standard_v2", + "name": "Standard", + "description": "Standard Lucene analyzer; Composed of the standard tokenizer, lowercase filter and stop filter. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html" + }, + { + "value": "uax_url_email", + "name": "UaxUrlEmail", + "description": "Tokenizes urls and emails as one token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html" + }, + { + "value": "whitespace", + "name": "Whitespace", + "description": "Divides text at whitespace. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/WhitespaceTokenizer.html" + } + ] + }, + "description": "Defines the names of all tokenizers supported by Azure Cognitive Search.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "TokenFilterName": { + "type": "string", + "enum": [ + "arabic_normalization", + "apostrophe", + "asciifolding", + "cjk_bigram", + "cjk_width", + "classic", + "common_grams", + "edgeNGram_v2", + "elision", + "german_normalization", + "hindi_normalization", + "indic_normalization", + "keyword_repeat", + "kstem", + "length", + "limit", + "lowercase", + "nGram_v2", + "persian_normalization", + "phonetic", + "porter_stem", + "reverse", + "scandinavian_normalization", + "scandinavian_folding", + "shingle", + "snowball", + "sorani_normalization", + "stemmer", + "stopwords", + "trim", + "truncate", + "unique", + "uppercase", + "word_delimiter" + ], + "x-ms-enum": { + "name": "TokenFilterName", + "modelAsString": true, + "values": [ + { + "value": "arabic_normalization", + "name": "ArabicNormalization", + "description": "A token filter that applies the Arabic normalizer to normalize the orthography. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.html" + }, + { + "value": "apostrophe", + "name": "Apostrophe", + "description": "Strips all characters after an apostrophe (including the apostrophe itself). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/tr/ApostropheFilter.html" + }, + { + "value": "asciifolding", + "name": "AsciiFolding", + "description": "Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the \"Basic Latin\" Unicode block) into their ASCII equivalents, if such equivalents exist. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html" + }, + { + "value": "cjk_bigram", + "name": "CjkBigram", + "description": "Forms bigrams of CJK terms that are generated from the standard tokenizer. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html" + }, + { + "value": "cjk_width", + "name": "CjkWidth", + "description": "Normalizes CJK width differences. Folds fullwidth ASCII variants into the equivalent basic Latin, and half-width Katakana variants into the equivalent Kana. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKWidthFilter.html" + }, + { + "value": "classic", + "name": "Classic", + "description": "Removes English possessives, and dots from acronyms. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicFilter.html" + }, + { + "value": "common_grams", + "name": "CommonGram", + "description": "Construct bigrams for frequently occurring terms while indexing. Single terms are still indexed too, with bigrams overlaid. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html" + }, + { + "value": "edgeNGram_v2", + "name": "EdgeNGram", + "description": "Generates n-grams of the given size(s) starting from the front or the back of an input token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html" + }, + { + "value": "elision", + "name": "Elision", + "description": "Removes elisions. For example, \"l'avion\" (the plane) will be converted to \"avion\" (plane). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html" + }, + { + "value": "german_normalization", + "name": "GermanNormalization", + "description": "Normalizes German characters according to the heuristics of the German2 snowball algorithm. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/de/GermanNormalizationFilter.html" + }, + { + "value": "hindi_normalization", + "name": "HindiNormalization", + "description": "Normalizes text in Hindi to remove some differences in spelling variations. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/hi/HindiNormalizationFilter.html" + }, + { + "value": "indic_normalization", + "name": "IndicNormalization", + "description": "Normalizes the Unicode representation of text in Indian languages. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/in/IndicNormalizationFilter.html" + }, + { + "value": "keyword_repeat", + "name": "KeywordRepeat", + "description": "Emits each incoming token twice, once as keyword and once as non-keyword. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.html" + }, + { + "value": "kstem", + "name": "KStem", + "description": "A high-performance kstem filter for English. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/en/KStemFilter.html" + }, + { + "value": "length", + "name": "Length", + "description": "Removes words that are too long or too short. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html" + }, + { + "value": "limit", + "name": "Limit", + "description": "Limits the number of tokens while indexing. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html" + }, + { + "value": "lowercase", + "name": "Lowercase", + "description": "Normalizes token text to lower case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseFilter.htm" + }, + { + "value": "nGram_v2", + "name": "NGram", + "description": "Generates n-grams of the given size(s). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html" + }, + { + "value": "persian_normalization", + "name": "PersianNormalization", + "description": "Applies normalization for Persian. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/fa/PersianNormalizationFilter.html" + }, + { + "value": "phonetic", + "name": "Phonetic", + "description": "Create tokens for phonetic matches. See https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html" + }, + { + "value": "porter_stem", + "name": "PorterStem", + "description": "Uses the Porter stemming algorithm to transform the token stream. See http://tartarus.org/~martin/PorterStemmer" + }, + { + "value": "reverse", + "name": "Reverse", + "description": "Reverses the token string. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/reverse/ReverseStringFilter.html" + }, + { + "value": "scandinavian_normalization", + "name": "ScandinavianNormalization", + "description": "Normalizes use of the interchangeable Scandinavian characters. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.html" + }, + { + "value": "scandinavian_folding", + "name": "ScandinavianFoldingNormalization", + "description": "Folds Scandinavian characters åÅäæÄÆ->a and öÖøØ->o. It also discriminates against use of double vowels aa, ae, ao, oe and oo, leaving just the first one. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.html" + }, + { + "value": "shingle", + "name": "Shingle", + "description": "Creates combinations of tokens as a single token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html" + }, + { + "value": "snowball", + "name": "Snowball", + "description": "A filter that stems words using a Snowball-generated stemmer. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html" + }, + { + "value": "sorani_normalization", + "name": "SoraniNormalization", + "description": "Normalizes the Unicode representation of Sorani text. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.html" + }, + { + "value": "stemmer", + "name": "Stemmer", + "description": "Language specific stemming filter. See https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters" + }, + { + "value": "stopwords", + "name": "Stopwords", + "description": "Removes stop words from a token stream. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html" + }, + { + "value": "trim", + "name": "Trim", + "description": "Trims leading and trailing whitespace from tokens. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TrimFilter.html" + }, + { + "value": "truncate", + "name": "Truncate", + "description": "Truncates the terms to a specific length. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html" + }, + { + "value": "unique", + "name": "Unique", + "description": "Filters out tokens with same text as the previous token. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html" + }, + { + "value": "uppercase", + "name": "Uppercase", + "description": "Normalizes token text to upper case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/UpperCaseFilter.html" + }, + { + "value": "word_delimiter", + "name": "WordDelimiter", + "description": "Splits words into subwords and performs optional transformations on subword groups." + } + ] + }, + "description": "Defines the names of all token filters supported by Azure Cognitive Search.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "CharFilterName": { + "type": "string", + "enum": [ + "html_strip" + ], + "x-ms-enum": { + "name": "CharFilterName", + "modelAsString": true, + "values": [ + { + "value": "html_strip", + "name": "HtmlStrip", + "description": "A character filter that attempts to strip out HTML constructs. See https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.html" + } + ] + }, + "description": "Defines the names of all character filters supported by Azure Cognitive Search.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "RegexFlags": { + "type": "string", + "enum": [ + "CANON_EQ", + "CASE_INSENSITIVE", + "COMMENTS", + "DOTALL", + "LITERAL", + "MULTILINE", + "UNICODE_CASE", + "UNIX_LINES" + ], + "x-ms-enum": { + "name": "RegexFlags", + "modelAsString": true, + "values": [ + { + "value": "CANON_EQ", + "name": "CanonEq", + "description": "Enables canonical equivalence." + }, + { + "value": "CASE_INSENSITIVE", + "name": "CaseInsensitive", + "description": "Enables case-insensitive matching." + }, + { + "value": "COMMENTS", + "name": "Comments", + "description": "Permits whitespace and comments in the pattern." + }, + { + "value": "DOTALL", + "name": "DotAll", + "description": "Enables dotall mode." + }, + { + "value": "LITERAL", + "name": "Literal", + "description": "Enables literal parsing of the pattern." + }, + { + "value": "MULTILINE", + "name": "Multiline", + "description": "Enables multiline mode." + }, + { + "value": "UNICODE_CASE", + "name": "UnicodeCase", + "description": "Enables Unicode-aware case folding." + }, + { + "value": "UNIX_LINES", + "name": "UnixLines", + "description": "Enables Unix lines mode." + } + ] + }, + "description": "Defines flags that can be combined to control how regular expressions are used in the pattern analyzer and pattern tokenizer.", + "externalDocs": { + "url": "http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#field_summary" + } + }, + "SearchFieldDataType": { + "type": "string", + "enum": [ + "Edm.String", + "Edm.Int32", + "Edm.Int64", + "Edm.Double", + "Edm.Boolean", + "Edm.DateTimeOffset", + "Edm.GeographyPoint", + "Edm.ComplexType" + ], + "x-ms-enum": { + "name": "SearchFieldDataType", + "modelAsString": true, + "values": [ + { + "value": "Edm.String", + "name": "String", + "description": "Indicates that a field contains a string." + }, + { + "value": "Edm.Int32", + "name": "Int32", + "description": "Indicates that a field contains a 32-bit signed integer." + }, + { + "value": "Edm.Int64", + "name": "Int64", + "description": "Indicates that a field contains a 64-bit signed integer." + }, + { + "value": "Edm.Double", + "name": "Double", + "description": "Indicates that a field contains an IEEE double-precision floating point number." + }, + { + "value": "Edm.Boolean", + "name": "Boolean", + "description": "Indicates that a field contains a Boolean value (true or false)." + }, + { + "value": "Edm.DateTimeOffset", + "name": "DateTimeOffset", + "description": "Indicates that a field contains a date/time value, including timezone information." + }, + { + "value": "Edm.GeographyPoint", + "name": "GeographyPoint", + "description": "Indicates that a field contains a geo-location in terms of longitude and latitude." + }, + { + "value": "Edm.ComplexType", + "name": "Complex", + "description": "Indicates that a field contains one or more complex objects that in turn have sub-fields of other types." + } + ] + }, + "description": "Defines the data type of a field in a search index." + }, + "LexicalAnalyzer": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the analyzer." + }, + "name": { + "type": "string", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" + }, + "description": "The name of the analyzer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." + } + }, + "required": [ + "@odata.type", + "name" + ], + "description": "Base type for analyzers." + }, + "CustomAnalyzer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.CustomAnalyzer", + "allOf": [ + { + "$ref": "#/definitions/LexicalAnalyzer" + } + ], + "properties": { + "tokenizer": { + "$ref": "#/definitions/LexicalTokenizerName", + "description": "The name of the tokenizer to use to divide continuous text into a sequence of tokens, such as breaking a sentence into words." + }, + "tokenFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenFilterName", + "x-nullable": false + }, + "description": "A list of token filters used to filter out or modify the tokens generated by a tokenizer. For example, you can specify a lowercase filter that converts all characters to lowercase. The filters are run in the order in which they are listed." + }, + "charFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/CharFilterName", + "x-nullable": false + }, + "description": "A list of character filters used to prepare input text before it is processed by the tokenizer. For instance, they can replace certain characters or symbols. The filters are run in the order in which they are listed." + } + }, + "required": [ + "tokenizer" + ], + "description": "Allows you to take control over the process of converting text into indexable/searchable tokens. It's a user-defined configuration consisting of a single predefined tokenizer and one or more filters. The tokenizer is responsible for breaking text into tokens, and the filters for modifying tokens emitted by the tokenizer." + }, + "PatternAnalyzer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternAnalyzer", + "allOf": [ + { + "$ref": "#/definitions/LexicalAnalyzer" + } + ], + "properties": { + "lowercase": { + "x-ms-client-name": "LowerCaseTerms", + "type": "boolean", + "default": true, + "description": "A value indicating whether terms should be lower-cased. Default is true." + }, + "pattern": { + "type": "string", + "default": "\\W+", + "description": "A regular expression pattern to match token separators. Default is an expression that matches one or more non-word characters." + }, + "flags": { + "$ref": "#/definitions/RegexFlags", + "description": "Regular expression flags." + }, + "stopwords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of stopwords." + } + }, + "description": "Flexibly separates text into terms via a regular expression pattern. This analyzer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.html" + } + }, + "LuceneStandardAnalyzer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardAnalyzer", + "allOf": [ + { + "$ref": "#/definitions/LexicalAnalyzer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + }, + "stopwords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of stopwords." + } + }, + "description": "Standard Apache Lucene analyzer; Composed of the standard tokenizer, lowercase filter and stop filter.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardAnalyzer.html" + } + }, + "StopAnalyzer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StopAnalyzer", + "allOf": [ + { + "$ref": "#/definitions/LexicalAnalyzer" + } + ], + "properties": { + "stopwords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of stopwords." + } + }, + "description": "Divides text at non-letters; Applies the lowercase and stopword token filters. This analyzer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html" + } + }, + "LexicalTokenizer": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the tokenizer." + }, + "name": { + "type": "string", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" + }, + "description": "The name of the tokenizer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." + } + }, + "required": [ + "@odata.type", + "name" + ], + "description": "Base type for tokenizers.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "ClassicTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.ClassicTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + } + }, + "description": "Grammar-based tokenizer that is suitable for processing most European-language documents. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html" + } + }, + "TokenCharacterKind": { + "type": "string", + "enum": [ + "letter", + "digit", + "whitespace", + "punctuation", + "symbol" + ], + "x-ms-enum": { + "name": "TokenCharacterKind", + "modelAsString": false, + "values": [ + { + "value": "letter", + "name": "Letter", + "description": "Keeps letters in tokens." + }, + { + "value": "digit", + "name": "Digit", + "description": "Keeps digits in tokens." + }, + { + "value": "whitespace", + "name": "Whitespace", + "description": "Keeps whitespace in tokens." + }, + { + "value": "punctuation", + "name": "Punctuation", + "description": "Keeps punctuation in tokens." + }, + { + "value": "symbol", + "name": "Symbol", + "description": "Keeps symbols in tokens." + } + ] + }, + "description": "Represents classes of characters on which a token filter can operate." + }, + "EdgeNGramTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "maximum": 300, + "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The maximum n-gram length. Default is 2. Maximum is 300." + }, + "tokenChars": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCharacterKind", + "x-nullable": false + }, + "description": "Character classes to keep in the tokens." + } + }, + "description": "Tokenizes the input from an edge into n-grams of the given size(s). This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html" + } + }, + "KeywordTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "bufferSize": { + "type": "integer", + "format": "int32", + "default": 256, + "description": "The read buffer size in bytes. Default is 256." + } + }, + "description": "Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html" + }, + "x-az-search-deprecated": true + }, + "KeywordTokenizerV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordTokenizerV2", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 256, + "maximum": 300, + "description": "The maximum token length. Default is 256. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + } + }, + "description": "Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html" + } + }, + "MicrosoftTokenizerLanguage": { + "type": "string", + "enum": [ + "bangla", + "bulgarian", + "catalan", + "chineseSimplified", + "chineseTraditional", + "croatian", + "czech", + "danish", + "dutch", + "english", + "french", + "german", + "greek", + "gujarati", + "hindi", + "icelandic", + "indonesian", + "italian", + "japanese", + "kannada", + "korean", + "malay", + "malayalam", + "marathi", + "norwegianBokmaal", + "polish", + "portuguese", + "portugueseBrazilian", + "punjabi", + "romanian", + "russian", + "serbianCyrillic", + "serbianLatin", + "slovenian", + "spanish", + "swedish", + "tamil", + "telugu", + "thai", + "ukrainian", + "urdu", + "vietnamese" + ], + "x-ms-enum": { + "name": "MicrosoftTokenizerLanguage", + "modelAsString": false, + "values": [ + { + "value": "bangla", + "name": "Bangla", + "description": "Selects the Microsoft tokenizer for Bangla." + }, + { + "value": "bulgarian", + "name": "Bulgarian", + "description": "Selects the Microsoft tokenizer for Bulgarian." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the Microsoft tokenizer for Catalan." + }, + { + "value": "chineseSimplified", + "name": "ChineseSimplified", + "description": "Selects the Microsoft tokenizer for Chinese (Simplified)." + }, + { + "value": "chineseTraditional", + "name": "ChineseTraditional", + "description": "Selects the Microsoft tokenizer for Chinese (Traditional)." + }, + { + "value": "croatian", + "name": "Croatian", + "description": "Selects the Microsoft tokenizer for Croatian." + }, + { + "value": "czech", + "name": "Czech", + "description": "Selects the Microsoft tokenizer for Czech." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the Microsoft tokenizer for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the Microsoft tokenizer for Dutch." + }, + { + "value": "english", + "name": "English", + "description": "Selects the Microsoft tokenizer for English." + }, + { + "value": "french", + "name": "French", + "description": "Selects the Microsoft tokenizer for French." + }, + { + "value": "german", + "name": "German", + "description": "Selects the Microsoft tokenizer for German." + }, + { + "value": "greek", + "name": "Greek", + "description": "Selects the Microsoft tokenizer for Greek." + }, + { + "value": "gujarati", + "name": "Gujarati", + "description": "Selects the Microsoft tokenizer for Gujarati." + }, + { + "value": "hindi", + "name": "Hindi", + "description": "Selects the Microsoft tokenizer for Hindi." + }, + { + "value": "icelandic", + "name": "Icelandic", + "description": "Selects the Microsoft tokenizer for Icelandic." + }, + { + "value": "indonesian", + "name": "Indonesian", + "description": "Selects the Microsoft tokenizer for Indonesian." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the Microsoft tokenizer for Italian." + }, + { + "value": "japanese", + "name": "Japanese", + "description": "Selects the Microsoft tokenizer for Japanese." + }, + { + "value": "kannada", + "name": "Kannada", + "description": "Selects the Microsoft tokenizer for Kannada." + }, + { + "value": "korean", + "name": "Korean", + "description": "Selects the Microsoft tokenizer for Korean." + }, + { + "value": "malay", + "name": "Malay", + "description": "Selects the Microsoft tokenizer for Malay." + }, + { + "value": "malayalam", + "name": "Malayalam", + "description": "Selects the Microsoft tokenizer for Malayalam." + }, + { + "value": "marathi", + "name": "Marathi", + "description": "Selects the Microsoft tokenizer for Marathi." + }, + { + "value": "norwegianBokmaal", + "name": "NorwegianBokmaal", + "description": "Selects the Microsoft tokenizer for Norwegian (Bokmål)." + }, + { + "value": "polish", + "name": "Polish", + "description": "Selects the Microsoft tokenizer for Polish." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the Microsoft tokenizer for Portuguese." + }, + { + "value": "portugueseBrazilian", + "name": "PortugueseBrazilian", + "description": "Selects the Microsoft tokenizer for Portuguese (Brazil)." + }, + { + "value": "punjabi", + "name": "Punjabi", + "description": "Selects the Microsoft tokenizer for Punjabi." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the Microsoft tokenizer for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the Microsoft tokenizer for Russian." + }, + { + "value": "serbianCyrillic", + "name": "SerbianCyrillic", + "description": "Selects the Microsoft tokenizer for Serbian (Cyrillic)." + }, + { + "value": "serbianLatin", + "name": "SerbianLatin", + "description": "Selects the Microsoft tokenizer for Serbian (Latin)." + }, + { + "value": "slovenian", + "name": "Slovenian", + "description": "Selects the Microsoft tokenizer for Slovenian." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the Microsoft tokenizer for Spanish." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the Microsoft tokenizer for Swedish." + }, + { + "value": "tamil", + "name": "Tamil", + "description": "Selects the Microsoft tokenizer for Tamil." + }, + { + "value": "telugu", + "name": "Telugu", + "description": "Selects the Microsoft tokenizer for Telugu." + }, + { + "value": "thai", + "name": "Thai", + "description": "Selects the Microsoft tokenizer for Thai." + }, + { + "value": "ukrainian", + "name": "Ukrainian", + "description": "Selects the Microsoft tokenizer for Ukrainian." + }, + { + "value": "urdu", + "name": "Urdu", + "description": "Selects the Microsoft tokenizer for Urdu." + }, + { + "value": "vietnamese", + "name": "Vietnamese", + "description": "Selects the Microsoft tokenizer for Vietnamese." + } + ] + }, + "description": "Lists the languages supported by the Microsoft language tokenizer." + }, + "MicrosoftLanguageTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.MicrosoftLanguageTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Tokens longer than the maximum length are split. Maximum token length that can be used is 300 characters. Tokens longer than 300 characters are first split into tokens of length 300 and then each of those tokens is split based on the max token length set. Default is 255." + }, + "isSearchTokenizer": { + "type": "boolean", + "default": false, + "description": "A value indicating how the tokenizer is used. Set to true if used as the search tokenizer, set to false if used as the indexing tokenizer. Default is false." + }, + "language": { + "$ref": "#/definitions/MicrosoftTokenizerLanguage", + "description": "The language to use. The default is English." + } + }, + "description": "Divides text using language-specific rules." + }, + "MicrosoftStemmingTokenizerLanguage": { + "type": "string", + "enum": [ + "arabic", + "bangla", + "bulgarian", + "catalan", + "croatian", + "czech", + "danish", + "dutch", + "english", + "estonian", + "finnish", + "french", + "german", + "greek", + "gujarati", + "hebrew", + "hindi", + "hungarian", + "icelandic", + "indonesian", + "italian", + "kannada", + "latvian", + "lithuanian", + "malay", + "malayalam", + "marathi", + "norwegianBokmaal", + "polish", + "portuguese", + "portugueseBrazilian", + "punjabi", + "romanian", + "russian", + "serbianCyrillic", + "serbianLatin", + "slovak", + "slovenian", + "spanish", + "swedish", + "tamil", + "telugu", + "turkish", + "ukrainian", + "urdu" + ], + "x-ms-enum": { + "name": "MicrosoftStemmingTokenizerLanguage", + "modelAsString": false, + "values": [ + { + "value": "arabic", + "name": "Arabic", + "description": "Selects the Microsoft stemming tokenizer for Arabic." + }, + { + "value": "bangla", + "name": "Bangla", + "description": "Selects the Microsoft stemming tokenizer for Bangla." + }, + { + "value": "bulgarian", + "name": "Bulgarian", + "description": "Selects the Microsoft stemming tokenizer for Bulgarian." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the Microsoft stemming tokenizer for Catalan." + }, + { + "value": "croatian", + "name": "Croatian", + "description": "Selects the Microsoft stemming tokenizer for Croatian." + }, + { + "value": "czech", + "name": "Czech", + "description": "Selects the Microsoft stemming tokenizer for Czech." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the Microsoft stemming tokenizer for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the Microsoft stemming tokenizer for Dutch." + }, + { + "value": "english", + "name": "English", + "description": "Selects the Microsoft stemming tokenizer for English." + }, + { + "value": "estonian", + "name": "Estonian", + "description": "Selects the Microsoft stemming tokenizer for Estonian." + }, + { + "value": "finnish", + "name": "Finnish", + "description": "Selects the Microsoft stemming tokenizer for Finnish." + }, + { + "value": "french", + "name": "French", + "description": "Selects the Microsoft stemming tokenizer for French." + }, + { + "value": "german", + "name": "German", + "description": "Selects the Microsoft stemming tokenizer for German." + }, + { + "value": "greek", + "name": "Greek", + "description": "Selects the Microsoft stemming tokenizer for Greek." + }, + { + "value": "gujarati", + "name": "Gujarati", + "description": "Selects the Microsoft stemming tokenizer for Gujarati." + }, + { + "value": "hebrew", + "name": "Hebrew", + "description": "Selects the Microsoft stemming tokenizer for Hebrew." + }, + { + "value": "hindi", + "name": "Hindi", + "description": "Selects the Microsoft stemming tokenizer for Hindi." + }, + { + "value": "hungarian", + "name": "Hungarian", + "description": "Selects the Microsoft stemming tokenizer for Hungarian." + }, + { + "value": "icelandic", + "name": "Icelandic", + "description": "Selects the Microsoft stemming tokenizer for Icelandic." + }, + { + "value": "indonesian", + "name": "Indonesian", + "description": "Selects the Microsoft stemming tokenizer for Indonesian." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the Microsoft stemming tokenizer for Italian." + }, + { + "value": "kannada", + "name": "Kannada", + "description": "Selects the Microsoft stemming tokenizer for Kannada." + }, + { + "value": "latvian", + "name": "Latvian", + "description": "Selects the Microsoft stemming tokenizer for Latvian." + }, + { + "value": "lithuanian", + "name": "Lithuanian", + "description": "Selects the Microsoft stemming tokenizer for Lithuanian." + }, + { + "value": "malay", + "name": "Malay", + "description": "Selects the Microsoft stemming tokenizer for Malay." + }, + { + "value": "malayalam", + "name": "Malayalam", + "description": "Selects the Microsoft stemming tokenizer for Malayalam." + }, + { + "value": "marathi", + "name": "Marathi", + "description": "Selects the Microsoft stemming tokenizer for Marathi." + }, + { + "value": "norwegianBokmaal", + "name": "NorwegianBokmaal", + "description": "Selects the Microsoft stemming tokenizer for Norwegian (Bokmål)." + }, + { + "value": "polish", + "name": "Polish", + "description": "Selects the Microsoft stemming tokenizer for Polish." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the Microsoft stemming tokenizer for Portuguese." + }, + { + "value": "portugueseBrazilian", + "name": "PortugueseBrazilian", + "description": "Selects the Microsoft stemming tokenizer for Portuguese (Brazil)." + }, + { + "value": "punjabi", + "name": "Punjabi", + "description": "Selects the Microsoft stemming tokenizer for Punjabi." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the Microsoft stemming tokenizer for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the Microsoft stemming tokenizer for Russian." + }, + { + "value": "serbianCyrillic", + "name": "SerbianCyrillic", + "description": "Selects the Microsoft stemming tokenizer for Serbian (Cyrillic)." + }, + { + "value": "serbianLatin", + "name": "SerbianLatin", + "description": "Selects the Microsoft stemming tokenizer for Serbian (Latin)." + }, + { + "value": "slovak", + "name": "Slovak", + "description": "Selects the Microsoft stemming tokenizer for Slovak." + }, + { + "value": "slovenian", + "name": "Slovenian", + "description": "Selects the Microsoft stemming tokenizer for Slovenian." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the Microsoft stemming tokenizer for Spanish." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the Microsoft stemming tokenizer for Swedish." + }, + { + "value": "tamil", + "name": "Tamil", + "description": "Selects the Microsoft stemming tokenizer for Tamil." + }, + { + "value": "telugu", + "name": "Telugu", + "description": "Selects the Microsoft stemming tokenizer for Telugu." + }, + { + "value": "turkish", + "name": "Turkish", + "description": "Selects the Microsoft stemming tokenizer for Turkish." + }, + { + "value": "ukrainian", + "name": "Ukrainian", + "description": "Selects the Microsoft stemming tokenizer for Ukrainian." + }, + { + "value": "urdu", + "name": "Urdu", + "description": "Selects the Microsoft stemming tokenizer for Urdu." + } + ] + }, + "description": "Lists the languages supported by the Microsoft language stemming tokenizer." + }, + "MicrosoftLanguageStemmingTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Tokens longer than the maximum length are split. Maximum token length that can be used is 300 characters. Tokens longer than 300 characters are first split into tokens of length 300 and then each of those tokens is split based on the max token length set. Default is 255." + }, + "isSearchTokenizer": { + "type": "boolean", + "default": false, + "description": "A value indicating how the tokenizer is used. Set to true if used as the search tokenizer, set to false if used as the indexing tokenizer. Default is false." + }, + "language": { + "$ref": "#/definitions/MicrosoftStemmingTokenizerLanguage", + "description": "The language to use. The default is English." + } + }, + "description": "Divides text using language-specific rules and reduces words to their base forms." + }, + "NGramTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "maximum": 300, + "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The maximum n-gram length. Default is 2. Maximum is 300." + }, + "tokenChars": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCharacterKind", + "x-nullable": false + }, + "description": "Character classes to keep in the tokens." + } + }, + "description": "Tokenizes the input into n-grams of the given size(s). This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html" + } + }, + "PathHierarchyTokenizerV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PathHierarchyTokenizerV2", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "delimiter": { + "type": "string", + "format": "char", + "default": "/", + "description": "The delimiter character to use. Default is \"/\"." + }, + "replacement": { + "type": "string", + "format": "char", + "default": "/", + "description": "A value that, if set, replaces the delimiter character. Default is \"/\"." + }, + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 300, + "maximum": 300, + "description": "The maximum token length. Default and maximum is 300." + }, + "reverse": { + "x-ms-client-name": "ReverseTokenOrder", + "type": "boolean", + "default": false, + "description": "A value indicating whether to generate tokens in reverse order. Default is false." + }, + "skip": { + "x-ms-client-name": "NumberOfTokensToSkip", + "type": "integer", + "format": "int32", + "default": 0, + "description": "The number of initial tokens to skip. Default is 0." + } + }, + "description": "Tokenizer for path-like hierarchies. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html" + } + }, + "PatternTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "pattern": { + "type": "string", + "default": "\\W+", + "description": "A regular expression pattern to match token separators. Default is an expression that matches one or more non-word characters." + }, + "flags": { + "$ref": "#/definitions/RegexFlags", + "description": "Regular expression flags." + }, + "group": { + "type": "integer", + "format": "int32", + "default": -1, + "description": "The zero-based ordinal of the matching group in the regular expression pattern to extract into tokens. Use -1 if you want to use the entire pattern to split the input into tokens, irrespective of matching groups. Default is -1." + } + }, + "description": "Tokenizer that uses regex pattern matching to construct distinct tokens. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html" + } + }, + "LuceneStandardTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split." + } + }, + "description": "Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html" + }, + "x-az-search-deprecated": true + }, + "LuceneStandardTokenizerV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StandardTokenizerV2", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + } + }, + "description": "Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html" + } + }, + "UaxUrlEmailTokenizer": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.UaxUrlEmailTokenizer", + "allOf": [ + { + "$ref": "#/definitions/LexicalTokenizer" + } + ], + "properties": { + "maxTokenLength": { + "type": "integer", + "format": "int32", + "default": 255, + "maximum": 300, + "description": "The maximum token length. Default is 255. Tokens longer than the maximum length are split. The maximum token length that can be used is 300 characters." + } + }, + "description": "Tokenizes urls and emails as one token. This tokenizer is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html" + } + }, + "TokenFilter": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the token filter." + }, + "name": { + "type": "string", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" + }, + "description": "The name of the token filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." + } + }, + "required": [ + "@odata.type", + "name" + ], + "description": "Base type for token filters.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "AsciiFoldingTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.AsciiFoldingTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "preserveOriginal": { + "type": "boolean", + "default": false, + "description": "A value indicating whether the original token will be kept. Default is false." + } + }, + "description": "Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the \"Basic Latin\" Unicode block) into their ASCII equivalents, if such equivalents exist. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html" + } + }, + "CjkBigramTokenFilterScripts": { + "type": "string", + "enum": [ + "han", + "hiragana", + "katakana", + "hangul" + ], + "x-ms-enum": { + "name": "CjkBigramTokenFilterScripts", + "modelAsString": false, + "values": [ + { + "value": "han", + "name": "Han", + "description": "Ignore Han script when forming bigrams of CJK terms." + }, + { + "value": "hiragana", + "name": "Hiragana", + "description": "Ignore Hiragana script when forming bigrams of CJK terms." + }, + { + "value": "katakana", + "name": "Katakana", + "description": "Ignore Katakana script when forming bigrams of CJK terms." + }, + { + "value": "hangul", + "name": "Hangul", + "description": "Ignore Hangul script when forming bigrams of CJK terms." + } + ] + }, + "description": "Scripts that can be ignored by CjkBigramTokenFilter." + }, + "CjkBigramTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.CjkBigramTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "ignoreScripts": { + "type": "array", + "items": { + "$ref": "#/definitions/CjkBigramTokenFilterScripts", + "x-nullable": false + }, + "description": "The scripts to ignore." + }, + "outputUnigrams": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to output both unigrams and bigrams (if true), or just bigrams (if false). Default is false." + } + }, + "description": "Forms bigrams of CJK terms that are generated from the standard tokenizer. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html" + } + }, + "CommonGramTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.CommonGramTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "commonWords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of common words." + }, + "ignoreCase": { + "type": "boolean", + "default": false, + "description": "A value indicating whether common words matching will be case insensitive. Default is false." + }, + "queryMode": { + "x-ms-client-name": "UseQueryMode", + "type": "boolean", + "default": false, + "description": "A value that indicates whether the token filter is in query mode. When in query mode, the token filter generates bigrams and then removes common words and single terms followed by a common word. Default is false." + } + }, + "required": [ + "commonWords" + ], + "description": "Construct bigrams for frequently occurring terms while indexing. Single terms are still indexed too, with bigrams overlaid. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html" + } + }, + "DictionaryDecompounderTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "wordList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of words to match against." + }, + "minWordSize": { + "type": "integer", + "format": "int32", + "default": 5, + "maximum": 300, + "description": "The minimum word size. Only words longer than this get processed. Default is 5. Maximum is 300." + }, + "minSubwordSize": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The minimum subword size. Only subwords longer than this are outputted. Default is 2. Maximum is 300." + }, + "maxSubwordSize": { + "type": "integer", + "format": "int32", + "default": 15, + "maximum": 300, + "description": "The maximum subword size. Only subwords shorter than this are outputted. Default is 15. Maximum is 300." + }, + "onlyLongestMatch": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to add only the longest matching subword to the output. Default is false." + } + }, + "required": [ + "wordList" + ], + "description": "Decomposes compound words found in many Germanic languages. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/compound/DictionaryCompoundWordTokenFilter.html" + } + }, + "EdgeNGramTokenFilterSide": { + "type": "string", + "enum": [ + "front", + "back" + ], + "x-ms-enum": { + "name": "EdgeNGramTokenFilterSide", + "modelAsString": false, + "values": [ + { + "value": "front", + "name": "Front", + "description": "Specifies that the n-gram should be generated from the front of the input." + }, + { + "value": "back", + "name": "Back", + "description": "Specifies that the n-gram should be generated from the back of the input." + } + ] + }, + "description": "Specifies which side of the input an n-gram should be generated from." + }, + "EdgeNGramTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "description": "The minimum n-gram length. Default is 1. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "description": "The maximum n-gram length. Default is 2." + }, + "side": { + "$ref": "#/definitions/EdgeNGramTokenFilterSide", + "default": "front", + "description": "Specifies which side of the input the n-gram should be generated from. Default is \"front\"." + } + }, + "description": "Generates n-grams of the given size(s) starting from the front or the back of an input token. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html" + }, + "x-az-search-deprecated": true + }, + "EdgeNGramTokenFilterV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.EdgeNGramTokenFilterV2", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "maximum": 300, + "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The maximum n-gram length. Default is 2. Maximum is 300." + }, + "side": { + "$ref": "#/definitions/EdgeNGramTokenFilterSide", + "default": "front", + "description": "Specifies which side of the input the n-gram should be generated from. Default is \"front\"." + } + }, + "description": "Generates n-grams of the given size(s) starting from the front or the back of an input token. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html" + } + }, + "ElisionTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.ElisionTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "articles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of articles to remove." + } + }, + "description": "Removes elisions. For example, \"l'avion\" (the plane) will be converted to \"avion\" (plane). This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html" + } + }, + "KeepTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeepTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "keepWords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of words to keep." + }, + "keepWordsCase": { + "x-ms-client-name": "LowerCaseKeepWords", + "type": "boolean", + "default": false, + "description": "A value indicating whether to lower case all words first. Default is false." + } + }, + "required": [ + "keepWords" + ], + "description": "A token filter that only keeps tokens with text contained in a specified list of words. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeepWordFilter.html" + } + }, + "KeywordMarkerTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.KeywordMarkerTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "keywords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of words to mark as keywords." + }, + "ignoreCase": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to ignore case. If true, all words are converted to lower case first. Default is false." + } + }, + "required": [ + "keywords" + ], + "description": "Marks terms as keywords. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordMarkerFilter.html" + } + }, + "LengthTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.LengthTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "min": { + "x-ms-client-name": "minLength", + "type": "integer", + "format": "int32", + "default": 0, + "maximum": 300, + "description": "The minimum length in characters. Default is 0. Maximum is 300. Must be less than the value of max." + }, + "max": { + "x-ms-client-name": "maxLength", + "type": "integer", + "format": "int32", + "default": 300, + "maximum": 300, + "description": "The maximum length in characters. Default and maximum is 300." + } + }, + "description": "Removes words that are too long or too short. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html" + } + }, + "LimitTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.LimitTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "maxTokenCount": { + "type": "integer", + "format": "int32", + "default": 1, + "description": "The maximum number of tokens to produce. Default is 1." + }, + "consumeAllTokens": { + "type": "boolean", + "default": false, + "description": "A value indicating whether all tokens from the input must be consumed even if maxTokenCount is reached. Default is false." + } + }, + "description": "Limits the number of tokens while indexing. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html" + } + }, + "NGramTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "description": "The minimum n-gram length. Default is 1. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "description": "The maximum n-gram length. Default is 2." + } + }, + "description": "Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html" + }, + "x-az-search-deprecated": true + }, + "NGramTokenFilterV2": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.NGramTokenFilterV2", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "minGram": { + "type": "integer", + "format": "int32", + "default": 1, + "maximum": 300, + "description": "The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of maxGram." + }, + "maxGram": { + "type": "integer", + "format": "int32", + "default": 2, + "maximum": 300, + "description": "The maximum n-gram length. Default is 2. Maximum is 300." + } + }, + "description": "Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html" + } + }, + "PatternCaptureTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternCaptureTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "patterns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of patterns to match against each token." + }, + "preserveOriginal": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to return the original token even if one of the patterns matches. Default is true." + } + }, + "required": [ + "patterns" + ], + "description": "Uses Java regexes to emit multiple tokens - one for each capture group in one or more patterns. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternCaptureGroupTokenFilter.html" + } + }, + "PatternReplaceTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternReplaceTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "pattern": { + "type": "string", + "description": "A regular expression pattern." + }, + "replacement": { + "type": "string", + "description": "The replacement text." + } + }, + "required": [ + "pattern", + "replacement" + ], + "description": "A character filter that replaces characters in the input string. It uses a regular expression to identify character sequences to preserve and a replacement pattern to identify characters to replace. For example, given the input text \"aa bb aa bb\", pattern \"(aa)\\s+(bb)\", and replacement \"$1#$2\", the result would be \"aa#bb aa#bb\". This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternReplaceFilter.html" + } + }, + "PhoneticEncoder": { + "type": "string", + "enum": [ + "metaphone", + "doubleMetaphone", + "soundex", + "refinedSoundex", + "caverphone1", + "caverphone2", + "cologne", + "nysiis", + "koelnerPhonetik", + "haasePhonetik", + "beiderMorse" + ], + "x-ms-enum": { + "name": "PhoneticEncoder", + "modelAsString": false, + "values": [ + { + "value": "metaphone", + "name": "Metaphone", + "description": "Encodes a token into a Metaphone value." + }, + { + "value": "doubleMetaphone", + "name": "DoubleMetaphone", + "description": "Encodes a token into a double metaphone value." + }, + { + "value": "soundex", + "name": "Soundex", + "description": "Encodes a token into a Soundex value." + }, + { + "value": "refinedSoundex", + "name": "RefinedSoundex", + "description": "Encodes a token into a Refined Soundex value." + }, + { + "value": "caverphone1", + "name": "Caverphone1", + "description": "Encodes a token into a Caverphone 1.0 value." + }, + { + "value": "caverphone2", + "name": "Caverphone2", + "description": "Encodes a token into a Caverphone 2.0 value." + }, + { + "value": "cologne", + "name": "Cologne", + "description": "Encodes a token into a Cologne Phonetic value." + }, + { + "value": "nysiis", + "name": "Nysiis", + "description": "Encodes a token into a NYSIIS value." + }, + { + "value": "koelnerPhonetik", + "name": "KoelnerPhonetik", + "description": "Encodes a token using the Kölner Phonetik algorithm." + }, + { + "value": "haasePhonetik", + "name": "HaasePhonetik", + "description": "Encodes a token using the Haase refinement of the Kölner Phonetik algorithm." + }, + { + "value": "beiderMorse", + "name": "BeiderMorse", + "description": "Encodes a token into a Beider-Morse value." + } + ] + }, + "description": "Identifies the type of phonetic encoder to use with a PhoneticTokenFilter." + }, + "PhoneticTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PhoneticTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "encoder": { + "$ref": "#/definitions/PhoneticEncoder", + "default": "metaphone", + "description": "The phonetic encoder to use. Default is \"metaphone\"." + }, + "replace": { + "x-ms-client-name": "ReplaceOriginalTokens", + "type": "boolean", + "default": true, + "description": "A value indicating whether encoded tokens should replace original tokens. If false, encoded tokens are added as synonyms. Default is true." + } + }, + "description": "Create tokens for phonetic matches. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html" + } + }, + "ShingleTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.ShingleTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "maxShingleSize": { + "type": "integer", + "format": "int32", + "default": 2, + "minimum": 2, + "description": "The maximum shingle size. Default and minimum value is 2." + }, + "minShingleSize": { + "type": "integer", + "format": "int32", + "default": 2, + "minimum": 2, + "description": "The minimum shingle size. Default and minimum value is 2. Must be less than the value of maxShingleSize." + }, + "outputUnigrams": { + "type": "boolean", + "default": true, + "description": "A value indicating whether the output stream will contain the input tokens (unigrams) as well as shingles. Default is true." + }, + "outputUnigramsIfNoShingles": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to output unigrams for those times when no shingles are available. This property takes precedence when outputUnigrams is set to false. Default is false." + }, + "tokenSeparator": { + "type": "string", + "default": " ", + "description": "The string to use when joining adjacent tokens to form a shingle. Default is a single space (\" \")." + }, + "filterToken": { + "type": "string", + "default": "_", + "description": "The string to insert for each position at which there is no token. Default is an underscore (\"_\")." + } + }, + "description": "Creates combinations of tokens as a single token. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html" + } + }, + "SnowballTokenFilterLanguage": { + "type": "string", + "enum": [ + "armenian", + "basque", + "catalan", + "danish", + "dutch", + "english", + "finnish", + "french", + "german", + "german2", + "hungarian", + "italian", + "kp", + "lovins", + "norwegian", + "porter", + "portuguese", + "romanian", + "russian", + "spanish", + "swedish", + "turkish" + ], + "x-ms-enum": { + "name": "SnowballTokenFilterLanguage", + "modelAsString": false, + "values": [ + { + "value": "armenian", + "name": "Armenian", + "description": "Selects the Lucene Snowball stemming tokenizer for Armenian." + }, + { + "value": "basque", + "name": "Basque", + "description": "Selects the Lucene Snowball stemming tokenizer for Basque." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the Lucene Snowball stemming tokenizer for Catalan." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the Lucene Snowball stemming tokenizer for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the Lucene Snowball stemming tokenizer for Dutch." + }, + { + "value": "english", + "name": "English", + "description": "Selects the Lucene Snowball stemming tokenizer for English." + }, + { + "value": "finnish", + "name": "Finnish", + "description": "Selects the Lucene Snowball stemming tokenizer for Finnish." + }, + { + "value": "french", + "name": "French", + "description": "Selects the Lucene Snowball stemming tokenizer for French." + }, + { + "value": "german", + "name": "German", + "description": "Selects the Lucene Snowball stemming tokenizer for German." + }, + { + "value": "german2", + "name": "German2", + "description": "Selects the Lucene Snowball stemming tokenizer that uses the German variant algorithm." + }, + { + "value": "hungarian", + "name": "Hungarian", + "description": "Selects the Lucene Snowball stemming tokenizer for Hungarian." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the Lucene Snowball stemming tokenizer for Italian." + }, + { + "value": "kp", + "name": "Kp", + "description": "Selects the Lucene Snowball stemming tokenizer for Dutch that uses the Kraaij-Pohlmann stemming algorithm." + }, + { + "value": "lovins", + "name": "Lovins", + "description": "Selects the Lucene Snowball stemming tokenizer for English that uses the Lovins stemming algorithm." + }, + { + "value": "norwegian", + "name": "Norwegian", + "description": "Selects the Lucene Snowball stemming tokenizer for Norwegian." + }, + { + "value": "porter", + "name": "Porter", + "description": "Selects the Lucene Snowball stemming tokenizer for English that uses the Porter stemming algorithm." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the Lucene Snowball stemming tokenizer for Portuguese." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the Lucene Snowball stemming tokenizer for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the Lucene Snowball stemming tokenizer for Russian." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the Lucene Snowball stemming tokenizer for Spanish." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the Lucene Snowball stemming tokenizer for Swedish." + }, + { + "value": "turkish", + "name": "Turkish", + "description": "Selects the Lucene Snowball stemming tokenizer for Turkish." + } + ] + }, + "description": "The language to use for a Snowball token filter." + }, + "SnowballTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.SnowballTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "language": { + "$ref": "#/definitions/SnowballTokenFilterLanguage", + "description": "The language to use." + } + }, + "required": [ + "language" + ], + "description": "A filter that stems words using a Snowball-generated stemmer. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html" + } + }, + "StemmerTokenFilterLanguage": { + "type": "string", + "enum": [ + "arabic", + "armenian", + "basque", + "brazilian", + "bulgarian", + "catalan", + "czech", + "danish", + "dutch", + "dutchKp", + "english", + "lightEnglish", + "minimalEnglish", + "possessiveEnglish", + "porter2", + "lovins", + "finnish", + "lightFinnish", + "french", + "lightFrench", + "minimalFrench", + "galician", + "minimalGalician", + "german", + "german2", + "lightGerman", + "minimalGerman", + "greek", + "hindi", + "hungarian", + "lightHungarian", + "indonesian", + "irish", + "italian", + "lightItalian", + "sorani", + "latvian", + "norwegian", + "lightNorwegian", + "minimalNorwegian", + "lightNynorsk", + "minimalNynorsk", + "portuguese", + "lightPortuguese", + "minimalPortuguese", + "portugueseRslp", + "romanian", + "russian", + "lightRussian", + "spanish", + "lightSpanish", + "swedish", + "lightSwedish", + "turkish" + ], + "x-ms-enum": { + "name": "StemmerTokenFilterLanguage", + "modelAsString": false, + "values": [ + { + "value": "arabic", + "name": "Arabic", + "description": "Selects the Lucene stemming tokenizer for Arabic." + }, + { + "value": "armenian", + "name": "Armenian", + "description": "Selects the Lucene stemming tokenizer for Armenian." + }, + { + "value": "basque", + "name": "Basque", + "description": "Selects the Lucene stemming tokenizer for Basque." + }, + { + "value": "brazilian", + "name": "Brazilian", + "description": "Selects the Lucene stemming tokenizer for Portuguese (Brazil)." + }, + { + "value": "bulgarian", + "name": "Bulgarian", + "description": "Selects the Lucene stemming tokenizer for Bulgarian." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the Lucene stemming tokenizer for Catalan." + }, + { + "value": "czech", + "name": "Czech", + "description": "Selects the Lucene stemming tokenizer for Czech." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the Lucene stemming tokenizer for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the Lucene stemming tokenizer for Dutch." + }, + { + "value": "dutchKp", + "name": "DutchKp", + "description": "Selects the Lucene stemming tokenizer for Dutch that uses the Kraaij-Pohlmann stemming algorithm." + }, + { + "value": "english", + "name": "English", + "description": "Selects the Lucene stemming tokenizer for English." + }, + { + "value": "lightEnglish", + "name": "LightEnglish", + "description": "Selects the Lucene stemming tokenizer for English that does light stemming." + }, + { + "value": "minimalEnglish", + "name": "MinimalEnglish", + "description": "Selects the Lucene stemming tokenizer for English that does minimal stemming." + }, + { + "value": "possessiveEnglish", + "name": "PossessiveEnglish", + "description": "Selects the Lucene stemming tokenizer for English that removes trailing possessives from words." + }, + { + "value": "porter2", + "name": "Porter2", + "description": "Selects the Lucene stemming tokenizer for English that uses the Porter2 stemming algorithm." + }, + { + "value": "lovins", + "name": "Lovins", + "description": "Selects the Lucene stemming tokenizer for English that uses the Lovins stemming algorithm." + }, + { + "value": "finnish", + "name": "Finnish", + "description": "Selects the Lucene stemming tokenizer for Finnish." + }, + { + "value": "lightFinnish", + "name": "LightFinnish", + "description": "Selects the Lucene stemming tokenizer for Finnish that does light stemming." + }, + { + "value": "french", + "name": "French", + "description": "Selects the Lucene stemming tokenizer for French." + }, + { + "value": "lightFrench", + "name": "LightFrench", + "description": "Selects the Lucene stemming tokenizer for French that does light stemming." + }, + { + "value": "minimalFrench", + "name": "MinimalFrench", + "description": "Selects the Lucene stemming tokenizer for French that does minimal stemming." + }, + { + "value": "galician", + "name": "Galician", + "description": "Selects the Lucene stemming tokenizer for Galician." + }, + { + "value": "minimalGalician", + "name": "MinimalGalician", + "description": "Selects the Lucene stemming tokenizer for Galician that does minimal stemming." + }, + { + "value": "german", + "name": "German", + "description": "Selects the Lucene stemming tokenizer for German." + }, + { + "value": "german2", + "name": "German2", + "description": "Selects the Lucene stemming tokenizer that uses the German variant algorithm." + }, + { + "value": "lightGerman", + "name": "LightGerman", + "description": "Selects the Lucene stemming tokenizer for German that does light stemming." + }, + { + "value": "minimalGerman", + "name": "MinimalGerman", + "description": "Selects the Lucene stemming tokenizer for German that does minimal stemming." + }, + { + "value": "greek", + "name": "Greek", + "description": "Selects the Lucene stemming tokenizer for Greek." + }, + { + "value": "hindi", + "name": "Hindi", + "description": "Selects the Lucene stemming tokenizer for Hindi." + }, + { + "value": "hungarian", + "name": "Hungarian", + "description": "Selects the Lucene stemming tokenizer for Hungarian." + }, + { + "value": "lightHungarian", + "name": "LightHungarian", + "description": "Selects the Lucene stemming tokenizer for Hungarian that does light stemming." + }, + { + "value": "indonesian", + "name": "Indonesian", + "description": "Selects the Lucene stemming tokenizer for Indonesian." + }, + { + "value": "irish", + "name": "Irish", + "description": "Selects the Lucene stemming tokenizer for Irish." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the Lucene stemming tokenizer for Italian." + }, + { + "value": "lightItalian", + "name": "LightItalian", + "description": "Selects the Lucene stemming tokenizer for Italian that does light stemming." + }, + { + "value": "sorani", + "name": "Sorani", + "description": "Selects the Lucene stemming tokenizer for Sorani." + }, + { + "value": "latvian", + "name": "Latvian", + "description": "Selects the Lucene stemming tokenizer for Latvian." + }, + { + "value": "norwegian", + "name": "Norwegian", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Bokmål)." + }, + { + "value": "lightNorwegian", + "name": "LightNorwegian", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Bokmål) that does light stemming." + }, + { + "value": "minimalNorwegian", + "name": "MinimalNorwegian", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Bokmål) that does minimal stemming." + }, + { + "value": "lightNynorsk", + "name": "LightNynorsk", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Nynorsk) that does light stemming." + }, + { + "value": "minimalNynorsk", + "name": "MinimalNynorsk", + "description": "Selects the Lucene stemming tokenizer for Norwegian (Nynorsk) that does minimal stemming." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the Lucene stemming tokenizer for Portuguese." + }, + { + "value": "lightPortuguese", + "name": "LightPortuguese", + "description": "Selects the Lucene stemming tokenizer for Portuguese that does light stemming." + }, + { + "value": "minimalPortuguese", + "name": "MinimalPortuguese", + "description": "Selects the Lucene stemming tokenizer for Portuguese that does minimal stemming." + }, + { + "value": "portugueseRslp", + "name": "PortugueseRslp", + "description": "Selects the Lucene stemming tokenizer for Portuguese that uses the RSLP stemming algorithm." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the Lucene stemming tokenizer for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the Lucene stemming tokenizer for Russian." + }, + { + "value": "lightRussian", + "name": "LightRussian", + "description": "Selects the Lucene stemming tokenizer for Russian that does light stemming." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the Lucene stemming tokenizer for Spanish." + }, + { + "value": "lightSpanish", + "name": "LightSpanish", + "description": "Selects the Lucene stemming tokenizer for Spanish that does light stemming." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the Lucene stemming tokenizer for Swedish." + }, + { + "value": "lightSwedish", + "name": "LightSwedish", + "description": "Selects the Lucene stemming tokenizer for Swedish that does light stemming." + }, + { + "value": "turkish", + "name": "Turkish", + "description": "Selects the Lucene stemming tokenizer for Turkish." + } + ] + }, + "description": "The language to use for a stemmer token filter." + }, + "StemmerTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StemmerTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "language": { + "$ref": "#/definitions/StemmerTokenFilterLanguage", + "description": "The language to use." + } + }, + "required": [ + "language" + ], + "description": "Language specific stemming filter. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters" + } + }, + "StemmerOverrideTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StemmerOverrideTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "rules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of stemming rules in the following format: \"word => stem\", for example: \"ran => run\"." + } + }, + "required": [ + "rules" + ], + "description": "Provides the ability to override other stemming filters with custom dictionary-based stemming. Any dictionary-stemmed terms will be marked as keywords so that they will not be stemmed with stemmers down the chain. Must be placed before any stemming filters. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/StemmerOverrideFilter.html" + } + }, + "StopwordsList": { + "type": "string", + "enum": [ + "arabic", + "armenian", + "basque", + "brazilian", + "bulgarian", + "catalan", + "czech", + "danish", + "dutch", + "english", + "finnish", + "french", + "galician", + "german", + "greek", + "hindi", + "hungarian", + "indonesian", + "irish", + "italian", + "latvian", + "norwegian", + "persian", + "portuguese", + "romanian", + "russian", + "sorani", + "spanish", + "swedish", + "thai", + "turkish" + ], + "x-ms-enum": { + "name": "StopwordsList", + "modelAsString": false, + "values": [ + { + "value": "arabic", + "name": "Arabic", + "description": "Selects the stopword list for Arabic." + }, + { + "value": "armenian", + "name": "Armenian", + "description": "Selects the stopword list for Armenian." + }, + { + "value": "basque", + "name": "Basque", + "description": "Selects the stopword list for Basque." + }, + { + "value": "brazilian", + "name": "Brazilian", + "description": "Selects the stopword list for Portuguese (Brazil)." + }, + { + "value": "bulgarian", + "name": "Bulgarian", + "description": "Selects the stopword list for Bulgarian." + }, + { + "value": "catalan", + "name": "Catalan", + "description": "Selects the stopword list for Catalan." + }, + { + "value": "czech", + "name": "Czech", + "description": "Selects the stopword list for Czech." + }, + { + "value": "danish", + "name": "Danish", + "description": "Selects the stopword list for Danish." + }, + { + "value": "dutch", + "name": "Dutch", + "description": "Selects the stopword list for Dutch." + }, + { + "value": "english", + "name": "English", + "description": "Selects the stopword list for English." + }, + { + "value": "finnish", + "name": "Finnish", + "description": "Selects the stopword list for Finnish." + }, + { + "value": "french", + "name": "French", + "description": "Selects the stopword list for French." + }, + { + "value": "galician", + "name": "Galician", + "description": "Selects the stopword list for Galician." + }, + { + "value": "german", + "name": "German", + "description": "Selects the stopword list for German." + }, + { + "value": "greek", + "name": "Greek", + "description": "Selects the stopword list for Greek." + }, + { + "value": "hindi", + "name": "Hindi", + "description": "Selects the stopword list for Hindi." + }, + { + "value": "hungarian", + "name": "Hungarian", + "description": "Selects the stopword list for Hungarian." + }, + { + "value": "indonesian", + "name": "Indonesian", + "description": "Selects the stopword list for Indonesian." + }, + { + "value": "irish", + "name": "Irish", + "description": "Selects the stopword list for Irish." + }, + { + "value": "italian", + "name": "Italian", + "description": "Selects the stopword list for Italian." + }, + { + "value": "latvian", + "name": "Latvian", + "description": "Selects the stopword list for Latvian." + }, + { + "value": "norwegian", + "name": "Norwegian", + "description": "Selects the stopword list for Norwegian." + }, + { + "value": "persian", + "name": "Persian", + "description": "Selects the stopword list for Persian." + }, + { + "value": "portuguese", + "name": "Portuguese", + "description": "Selects the stopword list for Portuguese." + }, + { + "value": "romanian", + "name": "Romanian", + "description": "Selects the stopword list for Romanian." + }, + { + "value": "russian", + "name": "Russian", + "description": "Selects the stopword list for Russian." + }, + { + "value": "sorani", + "name": "Sorani", + "description": "Selects the stopword list for Sorani." + }, + { + "value": "spanish", + "name": "Spanish", + "description": "Selects the stopword list for Spanish." + }, + { + "value": "swedish", + "name": "Swedish", + "description": "Selects the stopword list for Swedish." + }, + { + "value": "thai", + "name": "Thai", + "description": "Selects the stopword list for Thai." + }, + { + "value": "turkish", + "name": "Turkish", + "description": "Selects the stopword list for Turkish." + } + ] + }, + "description": "Identifies a predefined list of language-specific stopwords." + }, + "StopwordsTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.StopwordsTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "stopwords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of stopwords. This property and the stopwords list property cannot both be set." + }, + "stopwordsList": { + "$ref": "#/definitions/StopwordsList", + "default": "english", + "description": "A predefined list of stopwords to use. This property and the stopwords property cannot both be set. Default is English." + }, + "ignoreCase": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to ignore case. If true, all words are converted to lower case first. Default is false." + }, + "removeTrailing": { + "x-ms-client-name": "RemoveTrailingStopWords", + "type": "boolean", + "default": true, + "description": "A value indicating whether to ignore the last search term if it's a stop word. Default is true." + } + }, + "description": "Removes stop words from a token stream. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html" + } + }, + "SynonymTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.SynonymTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "synonyms": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of synonyms in following one of two formats: 1. incredible, unbelievable, fabulous => amazing - all terms on the left side of => symbol will be replaced with all terms on its right side; 2. incredible, unbelievable, fabulous, amazing - comma separated list of equivalent words. Set the expand option to change how this list is interpreted." + }, + "ignoreCase": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to case-fold input for matching. Default is false." + }, + "expand": { + "type": "boolean", + "default": true, + "description": "A value indicating whether all words in the list of synonyms (if => notation is not used) will map to one another. If true, all words in the list of synonyms (if => notation is not used) will map to one another. The following list: incredible, unbelievable, fabulous, amazing is equivalent to: incredible, unbelievable, fabulous, amazing => incredible, unbelievable, fabulous, amazing. If false, the following list: incredible, unbelievable, fabulous, amazing will be equivalent to: incredible, unbelievable, fabulous, amazing => incredible. Default is true." + } + }, + "required": [ + "synonyms" + ], + "description": "Matches single or multi-word synonyms in a token stream. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/synonym/SynonymFilter.html" + } + }, + "TruncateTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.TruncateTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "length": { + "type": "integer", + "format": "int32", + "default": 300, + "maximum": 300, + "description": "The length at which terms will be truncated. Default and maximum is 300." + } + }, + "description": "Truncates the terms to a specific length. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html" + } + }, + "UniqueTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.UniqueTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "onlyOnSamePosition": { + "type": "boolean", + "default": false, + "description": "A value indicating whether to remove duplicates only at the same position. Default is false." + } + }, + "description": "Filters out tokens with same text as the previous token. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html" + } + }, + "WordDelimiterTokenFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.WordDelimiterTokenFilter", + "allOf": [ + { + "$ref": "#/definitions/TokenFilter" + } + ], + "properties": { + "generateWordParts": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to generate part words. If set, causes parts of words to be generated; for example \"AzureSearch\" becomes \"Azure\" \"Search\". Default is true." + }, + "generateNumberParts": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to generate number subwords. Default is true." + }, + "catenateWords": { + "type": "boolean", + "default": false, + "description": "A value indicating whether maximum runs of word parts will be catenated. For example, if this is set to true, \"Azure-Search\" becomes \"AzureSearch\". Default is false." + }, + "catenateNumbers": { + "type": "boolean", + "default": false, + "description": "A value indicating whether maximum runs of number parts will be catenated. For example, if this is set to true, \"1-2\" becomes \"12\". Default is false." + }, + "catenateAll": { + "type": "boolean", + "default": false, + "description": "A value indicating whether all subword parts will be catenated. For example, if this is set to true, \"Azure-Search-1\" becomes \"AzureSearch1\". Default is false." + }, + "splitOnCaseChange": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to split words on caseChange. For example, if this is set to true, \"AzureSearch\" becomes \"Azure\" \"Search\". Default is true." + }, + "preserveOriginal": { + "type": "boolean", + "default": false, + "description": "A value indicating whether original words will be preserved and added to the subword list. Default is false." + }, + "splitOnNumerics": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to split on numbers. For example, if this is set to true, \"Azure1Search\" becomes \"Azure\" \"1\" \"Search\". Default is true." + }, + "stemEnglishPossessive": { + "type": "boolean", + "default": true, + "description": "A value indicating whether to remove trailing \"'s\" for each subword. Default is true." + }, + "protectedWords": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of tokens to protect from being delimited." + } + }, + "description": "Splits words into subwords and performs optional transformations on subword groups. This token filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/WordDelimiterFilter.html" + } + }, + "CharFilter": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the char filter." + }, + "name": { + "type": "string", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/custom-analyzers-in-azure-search#index-attribute-reference" + }, + "description": "The name of the char filter. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters." + } + }, + "required": [ + "@odata.type", + "name" + ], + "description": "Base type for character filters.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "MappingCharFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.MappingCharFilter", + "allOf": [ + { + "$ref": "#/definitions/CharFilter" + } + ], + "properties": { + "mappings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of mappings of the following format: \"a=>b\" (all occurrences of the character \"a\" will be replaced with character \"b\")." + } + }, + "required": [ + "mappings" + ], + "description": "A character filter that applies mappings defined with the mappings option. Matching is greedy (longest pattern matching at a given point wins). Replacement is allowed to be the empty string. This character filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/MappingCharFilter.html" + } + }, + "PatternReplaceCharFilter": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.PatternReplaceCharFilter", + "allOf": [ + { + "$ref": "#/definitions/CharFilter" + } + ], + "properties": { + "pattern": { + "type": "string", + "description": "A regular expression pattern." + }, + "replacement": { + "type": "string", + "description": "The replacement text." + } + }, + "required": [ + "pattern", + "replacement" + ], + "description": "A character filter that replaces characters in the input string. It uses a regular expression to identify character sequences to preserve and a replacement pattern to identify characters to replace. For example, given the input text \"aa bb aa bb\", pattern \"(aa)\\s+(bb)\", and replacement \"$1#$2\", the result would be \"aa#bb aa#bb\". This character filter is implemented using Apache Lucene.", + "externalDocs": { + "url": "https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternReplaceCharFilter.html" + } + }, + "Similarity": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string" + } + }, + "required": [ + "@odata.type" + ], + "description": "Base type for similarity algorithms. Similarity algorithms are used to calculate scores that tie queries to documents. The higher the score, the more relevant the document is to that specific query. Those scores are used to rank the search results.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/index-ranking-similarity" + } + }, + "ClassicSimilarity": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.ClassicSimilarity", + "allOf": [ + { + "$ref": "#/definitions/Similarity" + } + ], + "description": "Legacy similarity algorithm which uses the Lucene TFIDFSimilarity implementation of TF-IDF. This variation of TF-IDF introduces static document length normalization as well as coordinating factors that penalize documents that only partially match the searched queries." + }, + "BM25Similarity": { + "x-ms-discriminator-value": "#Microsoft.Azure.Search.BM25Similarity", + "allOf": [ + { + "$ref": "#/definitions/Similarity" + } + ], + "properties": { + "k1": { + "type": "number", + "format": "double", + "description": "This property controls the scaling function between the term frequency of each matching terms and the final relevance score of a document-query pair. By default, a value of 1.2 is used. A value of 0.0 means the score does not scale with an increase in term frequency.", + "x-nullable": true + }, + "b": { + "type": "number", + "format": "double", + "description": "This property controls how the length of a document affects the relevance score. By default, a value of 0.75 is used. A value of 0.0 means no length normalization is applied, while a value of 1.0 means the score is fully normalized by the length of the document.", + "x-nullable": true + } + }, + "description": "Ranking function based on the Okapi BM25 similarity algorithm. BM25 is a TF-IDF-like algorithm that includes length normalization (controlled by the 'b' parameter) as well as term frequency saturation (controlled by the 'k1' parameter)." + }, + "DataSourceCredentials": { + "properties": { + "connectionString": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Data-Source" + }, + "type": "string", + "description": "The connection string for the datasource." + } + }, + "description": "Represents credentials that can be used to connect to a datasource." + }, + "SearchIndexerDataContainer": { + "properties": { + "name": { + "type": "string", + "description": "The name of the table or view (for Azure SQL data source) or collection (for CosmosDB data source) that will be indexed." + }, + "query": { + "type": "string", + "description": "A query that is applied to this data container. The syntax and meaning of this parameter is datasource-specific. Not supported by Azure SQL datasources." + } + }, + "required": [ + "name" + ], + "description": "Represents information about the entity (such as Azure SQL table or CosmosDB collection) that will be indexed." + }, + "DataChangeDetectionPolicy": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the data change detection policy." + } + }, + "required": [ + "@odata.type" + ], + "description": "Base type for data change detection policies." + }, + "HighWaterMarkChangeDetectionPolicy": { + "description": "Defines a data change detection policy that captures changes based on the value of a high water mark column.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", + "allOf": [ + { + "$ref": "#/definitions/DataChangeDetectionPolicy" + } + ], + "properties": { + "highWaterMarkColumnName": { + "type": "string", + "description": "The name of the high water mark column." + } + }, + "required": [ + "highWaterMarkColumnName" + ] + }, + "SqlIntegratedChangeTrackingPolicy": { + "description": "Defines a data change detection policy that captures changes using the Integrated Change Tracking feature of Azure SQL Database.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy", + "allOf": [ + { + "$ref": "#/definitions/DataChangeDetectionPolicy" + } + ] + }, + "DataDeletionDetectionPolicy": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the data deletion detection policy." + } + }, + "required": [ + "@odata.type" + ], + "description": "Base type for data deletion detection policies." + }, + "SoftDeleteColumnDeletionDetectionPolicy": { + "description": "Defines a data deletion detection policy that implements a soft-deletion strategy. It determines whether an item should be deleted based on the value of a designated 'soft delete' column.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", + "allOf": [ + { + "$ref": "#/definitions/DataDeletionDetectionPolicy" + } + ], + "properties": { + "softDeleteColumnName": { + "type": "string", + "description": "The name of the column to use for soft-deletion detection." + }, + "softDeleteMarkerValue": { + "type": "string", + "description": "The marker value that identifies an item as deleted." + } + } + }, + "SearchIndexerDataSourceType": { + "type": "string", + "enum": [ + "azuresql", + "cosmosdb", + "azureblob", + "azuretable", + "mysql" + ], + "x-ms-enum": { + "name": "SearchIndexerDataSourceType", + "modelAsString": true, + "values": [ + { + "value": "azuresql", + "name": "AzureSql", + "description": "Indicates an Azure SQL datasource." + }, + { + "value": "cosmosdb", + "name": "CosmosDb", + "description": "Indicates a CosmosDB datasource." + }, + { + "value": "azureblob", + "name": "AzureBlob", + "description": "Indicates a Azure Blob datasource." + }, + { + "value": "azuretable", + "name": "AzureTable", + "description": "Indicates a Azure Table datasource." + }, + { + "value": "mysql", + "name": "MySql", + "description": "Indicates a MySql datasource." + } + ] + }, + "description": "Defines the type of a datasource." + }, + "SearchIndexerDataSource": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the datasource." + }, + "description": { + "type": "string", + "description": "The description of the datasource." + }, + "type": { + "$ref": "#/definitions/SearchIndexerDataSourceType", + "description": "The type of the datasource." + }, + "credentials": { + "$ref": "#/definitions/DataSourceCredentials", + "description": "Credentials for the datasource." + }, + "container": { + "$ref": "#/definitions/SearchIndexerDataContainer", + "description": "The data container for the datasource." + }, + "dataChangeDetectionPolicy": { + "$ref": "#/definitions/DataChangeDetectionPolicy", + "x-nullable": true, + "description": "The data change detection policy for the datasource." + }, + "dataDeletionDetectionPolicy": { + "$ref": "#/definitions/DataDeletionDetectionPolicy", + "x-nullable": true, + "description": "The data deletion detection policy for the datasource." + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the data source." + } + }, + "required": [ + "name", + "type", + "credentials", + "container" + ], + "description": "Represents a datasource definition, which can be used to configure an indexer." + }, + "ListDataSourcesResult": { + "properties": { + "value": { + "x-ms-client-name": "DataSources", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexerDataSource" + }, + "description": "The datasources in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List Datasources request. If successful, it includes the full definitions of all datasources." + }, + "IndexingSchedule": { + "properties": { + "interval": { + "type": "string", + "format": "duration", + "description": "The interval of time between indexer executions." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The time when an indexer should start running." + } + }, + "required": [ + "interval" + ], + "description": "Represents a schedule for indexer execution." + }, + "IndexingParameters": { + "properties": { + "batchSize": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The number of items that are read from the data source and indexed as a single batch in order to improve performance. The default depends on the data source type." + }, + "maxFailedItems": { + "type": "integer", + "format": "int32", + "default": 0, + "x-nullable": true, + "description": "The maximum number of items that can fail indexing for indexer execution to still be considered successful. -1 means no limit. Default is 0." + }, + "maxFailedItemsPerBatch": { + "type": "integer", + "format": "int32", + "default": 0, + "x-nullable": true, + "description": "The maximum number of items in a single batch that can fail indexing for the batch to still be considered successful. -1 means no limit. Default is 0." + }, + "configuration": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "A dictionary of indexer-specific configuration properties. Each name is the name of a specific property. Each value must be of a primitive type." + } + }, + "description": "Represents parameters for indexer execution." + }, + "FieldMappingFunction": { + "properties": { + "name": { + "type": "string", + "description": "The name of the field mapping function." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "A dictionary of parameter name/value pairs to pass to the function. Each value must be of a primitive type." + } + }, + "required": [ + "name" + ], + "description": "Represents a function that transforms a value from a data source before indexing.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings" + } + }, + "FieldMapping": { + "properties": { + "sourceFieldName": { + "type": "string", + "description": "The name of the field in the data source." + }, + "targetFieldName": { + "type": "string", + "description": "The name of the target field in the index. Same as the source field name by default." + }, + "mappingFunction": { + "$ref": "#/definitions/FieldMappingFunction", + "x-nullable": true, + "description": "A function to apply to each source field value before indexing." + } + }, + "required": [ + "sourceFieldName" + ], + "description": "Defines a mapping between a field in a data source and a target field in an index.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings" + } + }, + "SearchIndexer": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the indexer." + }, + "description": { + "type": "string", + "description": "The description of the indexer." + }, + "dataSourceName": { + "type": "string", + "description": "The name of the datasource from which this indexer reads data." + }, + "skillsetName": { + "type": "string", + "description": "The name of the skillset executing with this indexer." + }, + "targetIndexName": { + "type": "string", + "description": "The name of the index to which this indexer writes data." + }, + "schedule": { + "$ref": "#/definitions/IndexingSchedule", + "x-nullable": true, + "description": "The schedule for this indexer." + }, + "parameters": { + "$ref": "#/definitions/IndexingParameters", + "x-nullable": true, + "description": "Parameters for indexer execution." + }, + "fieldMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + }, + "description": "Defines mappings between fields in the data source and corresponding target fields in the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings" + } + }, + "outputFieldMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + }, + "description": "Output field mappings are applied after enrichment and immediately before indexing.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/search-indexer-field-mappings" + } + }, + "disabled": { + "x-ms-client-name": "IsDisabled", + "type": "boolean", + "default": false, + "x-nullable": true, + "description": "A value indicating whether the indexer is disabled. Default is false." + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the indexer." + } + }, + "required": [ + "name", + "dataSourceName", + "targetIndexName" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Indexer-operations" + }, + "description": "Represents an indexer." + }, + "ListIndexersResult": { + "properties": { + "value": { + "x-ms-client-name": "Indexers", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexer" + }, + "description": "The indexers in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List Indexers request. If successful, it includes the full definitions of all indexers." + }, + "SearchIndexerError": { + "properties": { + "key": { + "type": "string", + "readOnly": true, + "description": "The key of the item for which indexing failed." + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "The message describing the error that occurred while processing the item." + }, + "statusCode": { + "type": "integer", + "format": "int32", + "x-nullable": false, + "readOnly": true, + "description": "The status code indicating why the indexing operation failed. Possible values include: 400 for a malformed input document, 404 for document not found, 409 for a version conflict, 422 when the index is temporarily unavailable, or 503 for when the service is too busy." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the source at which the error originated. For example, this could refer to a particular skill in the attached skillset. This may not be always available." + }, + "details": { + "type": "string", + "readOnly": true, + "description": "Additional, verbose details about the error to assist in debugging the indexer. This may not be always available." + }, + "documentationLink": { + "type": "string", + "readOnly": true, + "description": "A link to a troubleshooting guide for these classes of errors. This may not be always available." + } + }, + "required": [ + "errorMessage", + "statusCode" + ], + "description": "Represents an item- or document-level indexing error." + }, + "SearchIndexerWarning": { + "properties": { + "key": { + "type": "string", + "readOnly": true, + "description": "The key of the item which generated a warning." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The message describing the warning that occurred while processing the item." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the source at which the warning originated. For example, this could refer to a particular skill in the attached skillset. This may not be always available." + }, + "details": { + "type": "string", + "readOnly": true, + "description": "Additional, verbose details about the warning to assist in debugging the indexer. This may not be always available." + }, + "documentationLink": { + "type": "string", + "readOnly": true, + "description": "A link to a troubleshooting guide for these classes of warnings. This may not be always available." + } + }, + "required": [ + "message" + ], + "description": "Represents an item-level warning." + }, + "IndexerExecutionResult": { + "properties": { + "status": { + "$ref": "#/definitions/IndexerExecutionStatus", + "readOnly": true, + "description": "The outcome of this indexer execution." + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "The error message indicating the top-level error, if any." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The start time of this indexer execution." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "x-nullable": true, + "description": "The end time of this indexer execution, if the execution has already completed." + }, + "errors": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexerError" + }, + "description": "The item-level indexing errors." + }, + "warnings": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexerWarning" + }, + "description": "The item-level indexing warnings." + }, + "itemsProcessed": { + "x-ms-client-name": "ItemCount", + "type": "integer", + "format": "int32", + "x-nullable": false, + "readOnly": true, + "description": "The number of items that were processed during this indexer execution. This includes both successfully processed items and items where indexing was attempted but failed." + }, + "itemsFailed": { + "x-ms-client-name": "FailedItemCount", + "type": "integer", + "format": "int32", + "x-nullable": false, + "readOnly": true, + "description": "The number of items that failed to be indexed during this indexer execution." + }, + "initialTrackingState": { + "type": "string", + "readOnly": true, + "description": "Change tracking state with which an indexer execution started." + }, + "finalTrackingState": { + "type": "string", + "readOnly": true, + "description": "Change tracking state with which an indexer execution finished." + } + }, + "required": [ + "status", + "errors", + "warnings", + "itemsProcessed", + "itemsFailed" + ], + "description": "Represents the result of an individual indexer execution." + }, + "IndexerExecutionStatus": { + "type": "string", + "enum": [ + "transientFailure", + "success", + "inProgress", + "reset" + ], + "x-ms-enum": { + "name": "IndexerExecutionStatus", + "modelAsString": false, + "values": [ + { + "value": "transientFailure", + "name": "TransientFailure", + "description": "An indexer invocation has failed, but the failure may be transient. Indexer invocations will continue per schedule." + }, + { + "value": "success", + "name": "Success", + "description": "Indexer execution completed successfully." + }, + { + "value": "inProgress", + "name": "InProgress", + "description": "Indexer execution is in progress." + }, + { + "value": "reset", + "name": "Reset", + "description": "Indexer has been reset." + } + ] + }, + "x-nullable": false, + "description": "Represents the status of an individual indexer execution." + }, + "SearchIndexerStatus": { + "properties": { + "status": { + "$ref": "#/definitions/IndexerStatus", + "readOnly": true, + "description": "Overall indexer status." + }, + "lastResult": { + "$ref": "#/definitions/IndexerExecutionResult", + "readOnly": true, + "description": "The result of the most recent or an in-progress indexer execution." + }, + "executionHistory": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/IndexerExecutionResult" + }, + "description": "History of the recent indexer executions, sorted in reverse chronological order." + }, + "limits": { + "$ref": "#/definitions/SearchIndexerLimits", + "readOnly": true, + "description": "The execution limits for the indexer." + } + }, + "required": [ + "status", + "executionHistory", + "limits" + ], + "description": "Represents the current status and execution history of an indexer." + }, + "IndexerStatus": { + "type": "string", + "enum": [ + "unknown", + "error", + "running" + ], + "x-ms-enum": { + "name": "IndexerStatus", + "modelAsString": false, + "values": [ + { + "value": "unknown", + "name": "Unknown", + "description": "Indicates that the indexer is in an unknown state." + }, + { + "value": "error", + "name": "Error", + "description": "Indicates that the indexer experienced an error that cannot be corrected without human intervention." + }, + { + "value": "running", + "name": "Running", + "description": "Indicates that the indexer is running normally." + } + ] + }, + "x-nullable": false, + "description": "Represents the overall indexer status." + }, + "SearchIndexerLimits": { + "properties": { + "maxRunTime": { + "type": "string", + "format": "duration", + "readOnly": true, + "description": "The maximum duration that the indexer is permitted to run for one execution." + }, + "maxDocumentExtractionSize": { + "type": "number", + "format": "int64", + "readOnly": true, + "description": "The maximum size of a document, in bytes, which will be considered valid for indexing." + }, + "maxDocumentContentCharactersToExtract": { + "type": "number", + "format": "int64", + "readOnly": true, + "description": "The maximum number of characters that will be extracted from a document picked up for indexing." + } + } + }, + "SearchField": { + "properties": { + "name": { + "type": "string", + "description": "The name of the field, which must be unique within the fields collection of the index or parent field.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + } + }, + "type": { + "$ref": "#/definitions/SearchFieldDataType", + "description": "The data type of the field.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/supported-data-types" + } + }, + "key": { + "type": "boolean", + "description": "A value indicating whether the field uniquely identifies documents in the index. Exactly one top-level field in each index must be chosen as the key field and it must be of type Edm.String. Key fields can be used to look up documents directly and update or delete specific documents. Default is false for simple fields and null for complex fields." + }, + "retrievable": { + "type": "boolean", + "description": "A value indicating whether the field can be returned in a search result. You can disable this option if you want to use a field (for example, margin) as a filter, sorting, or scoring mechanism but do not want the field to be visible to the end user. This property must be true for key fields, and it must be null for complex fields. This property can be changed on existing fields. Enabling this property does not cause any increase in index storage requirements. Default is true for simple fields and null for complex fields." + }, + "searchable": { + "type": "boolean", + "description": "A value indicating whether the field is full-text searchable. This means it will undergo analysis such as word-breaking during indexing. If you set a searchable field to a value like \"sunny day\", internally it will be split into the individual tokens \"sunny\" and \"day\". This enables full-text searches for these terms. Fields of type Edm.String or Collection(Edm.String) are searchable by default. This property must be false for simple fields of other non-string data types, and it must be null for complex fields. Note: searchable fields consume extra space in your index since Azure Cognitive Search will store an additional tokenized version of the field value for full-text searches. If you want to save space in your index and you don't need a field to be included in searches, set searchable to false." + }, + "filterable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in $filter queries. filterable differs from searchable in how strings are handled. Fields of type Edm.String or Collection(Edm.String) that are filterable do not undergo word-breaking, so comparisons are for exact matches only. For example, if you set such a field f to \"sunny day\", $filter=f eq 'sunny' will find no matches, but $filter=f eq 'sunny day' will. This property must be null for complex fields. Default is true for simple fields and null for complex fields." + }, + "sortable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in $orderby expressions. By default Azure Cognitive Search sorts results by score, but in many experiences users will want to sort by fields in the documents. A simple field can be sortable only if it is single-valued (it has a single value in the scope of the parent document). Simple collection fields cannot be sortable, since they are multi-valued. Simple sub-fields of complex collections are also multi-valued, and therefore cannot be sortable. This is true whether it's an immediate parent field, or an ancestor field, that's the complex collection. Complex fields cannot be sortable and the sortable property must be null for such fields. The default for sortable is true for single-valued simple fields, false for multi-valued simple fields, and null for complex fields." + }, + "facetable": { + "type": "boolean", + "description": "A value indicating whether to enable the field to be referenced in facet queries. Typically used in a presentation of search results that includes hit count by category (for example, search for digital cameras and see hits by brand, by megapixels, by price, and so on). This property must be null for complex fields. Fields of type Edm.GeographyPoint or Collection(Edm.GeographyPoint) cannot be facetable. Default is true for all other simple fields." + }, + "analyzer": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" + }, + "$ref": "#/definitions/LexicalAnalyzerName", + "description": "The name of the analyzer to use for the field. This option can be used only with searchable fields and it can't be set together with either searchAnalyzer or indexAnalyzer. Once the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields.", + "x-nullable": true + }, + "searchAnalyzer": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" + }, + "$ref": "#/definitions/LexicalAnalyzerName", + "description": "The name of the analyzer used at search time for the field. This option can be used only with searchable fields. It must be set together with indexAnalyzer and it cannot be set together with the analyzer option. This property cannot be set to the name of a language analyzer; use the analyzer property instead if you need a language analyzer. This analyzer can be updated on an existing field. Must be null for complex fields.", + "x-nullable": true + }, + "indexAnalyzer": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Language-support" + }, + "$ref": "#/definitions/LexicalAnalyzerName", + "description": "The name of the analyzer used at indexing time for the field. This option can be used only with searchable fields. It must be set together with searchAnalyzer and it cannot be set together with the analyzer option. This property cannot be set to the name of a language analyzer; use the analyzer property instead if you need a language analyzer. Once the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields.", + "x-nullable": true + }, + "synonymMaps": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Synonym-Map-operations" + }, + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of the names of synonym maps to associate with this field. This option can be used only with searchable fields. Currently only one synonym map per field is supported. Assigning a synonym map to a field ensures that query terms targeting that field are expanded at query-time using the rules in the synonym map. This attribute can be changed on existing fields. Must be null or an empty collection for complex fields." + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchField" + }, + "description": "A list of sub-fields if this is a field of type Edm.ComplexType or Collection(Edm.ComplexType). Must be null or empty for simple fields." + } + }, + "required": [ + "name", + "type" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index" + }, + "description": "Represents a field in an index definition, which describes the name, data type, and search behavior of a field." + }, + "TextWeights": { + "properties": { + "weights": { + "type": "object", + "additionalProperties": { + "type": "number", + "format": "double", + "x-nullable": false + }, + "description": "The dictionary of per-field weights to boost document scoring. The keys are field names and the values are the weights for each field." + } + }, + "required": [ + "weights" + ], + "description": "Defines weights on index fields for which matches should boost scoring in search queries." + }, + "ScoringFunction": { + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of function to use. Valid values include magnitude, freshness, distance, and tag. The function type must be lower case." + }, + "fieldName": { + "type": "string", + "description": "The name of the field used as input to the scoring function." + }, + "boost": { + "type": "number", + "format": "double", + "description": "A multiplier for the raw score. Must be a positive number not equal to 1.0." + }, + "interpolation": { + "$ref": "#/definitions/ScoringFunctionInterpolation", + "description": "A value indicating how boosting will be interpolated across document scores; defaults to \"Linear\"." + } + }, + "required": [ + "type", + "fieldName", + "boost" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Base type for functions that can modify document scores during ranking." + }, + "DistanceScoringFunction": { + "x-ms-discriminator-value": "distance", + "allOf": [ + { + "$ref": "#/definitions/ScoringFunction" + } + ], + "properties": { + "distance": { + "x-ms-client-name": "Parameters", + "$ref": "#/definitions/DistanceScoringParameters", + "description": "Parameter values for the distance scoring function." + } + }, + "required": [ + "distance" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines a function that boosts scores based on distance from a geographic location." + }, + "DistanceScoringParameters": { + "properties": { + "referencePointParameter": { + "type": "string", + "description": "The name of the parameter passed in search queries to specify the reference location." + }, + "boostingDistance": { + "type": "number", + "format": "double", + "description": "The distance in kilometers from the reference location where the boosting range ends." + } + }, + "required": [ + "referencePointParameter", + "boostingDistance" + ], + "description": "Provides parameter values to a distance scoring function." + }, + "FreshnessScoringFunction": { + "x-ms-discriminator-value": "freshness", + "allOf": [ + { + "$ref": "#/definitions/ScoringFunction" + } + ], + "properties": { + "freshness": { + "x-ms-client-name": "Parameters", + "$ref": "#/definitions/FreshnessScoringParameters", + "description": "Parameter values for the freshness scoring function." + } + }, + "required": [ + "freshness" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines a function that boosts scores based on the value of a date-time field." + }, + "FreshnessScoringParameters": { + "properties": { + "boostingDuration": { + "type": "string", + "format": "duration", + "description": "The expiration period after which boosting will stop for a particular document." + } + }, + "required": [ + "boostingDuration" + ], + "description": "Provides parameter values to a freshness scoring function." + }, + "MagnitudeScoringFunction": { + "x-ms-discriminator-value": "magnitude", + "allOf": [ + { + "$ref": "#/definitions/ScoringFunction" + } + ], + "properties": { + "magnitude": { + "x-ms-client-name": "Parameters", + "$ref": "#/definitions/MagnitudeScoringParameters", + "description": "Parameter values for the magnitude scoring function." + } + }, + "required": [ + "magnitude" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines a function that boosts scores based on the magnitude of a numeric field." + }, + "MagnitudeScoringParameters": { + "properties": { + "boostingRangeStart": { + "type": "number", + "format": "double", + "description": "The field value at which boosting starts." + }, + "boostingRangeEnd": { + "type": "number", + "format": "double", + "description": "The field value at which boosting ends." + }, + "constantBoostBeyondRange": { + "x-ms-client-name": "ShouldBoostBeyondRangeByConstant", + "type": "boolean", + "description": "A value indicating whether to apply a constant boost for field values beyond the range end value; default is false." + } + }, + "required": [ + "boostingRangeStart", + "boostingRangeEnd" + ], + "description": "Provides parameter values to a magnitude scoring function." + }, + "TagScoringFunction": { + "x-ms-discriminator-value": "tag", + "allOf": [ + { + "$ref": "#/definitions/ScoringFunction" + } + ], + "properties": { + "tag": { + "x-ms-client-name": "Parameters", + "$ref": "#/definitions/TagScoringParameters", + "description": "Parameter values for the tag scoring function." + } + }, + "required": [ + "tag" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines a function that boosts scores of documents with string values matching a given list of tags." + }, + "TagScoringParameters": { + "properties": { + "tagsParameter": { + "type": "string", + "description": "The name of the parameter passed in search queries to specify the list of tags to compare against the target field." + } + }, + "required": [ + "tagsParameter" + ], + "description": "Provides parameter values to a tag scoring function." + }, + "ScoringFunctionInterpolation": { + "type": "string", + "enum": [ + "linear", + "constant", + "quadratic", + "logarithmic" + ], + "x-ms-enum": { + "name": "ScoringFunctionInterpolation", + "modelAsString": false, + "values": [ + { + "value": "linear", + "name": "Linear", + "description": "Boosts scores by a linearly decreasing amount. This is the default interpolation for scoring functions." + }, + { + "value": "constant", + "name": "Constant", + "description": "Boosts scores by a constant factor." + }, + { + "value": "quadratic", + "name": "Quadratic", + "description": "Boosts scores by an amount that decreases quadratically. Boosts decrease slowly for higher scores, and more quickly as the scores decrease. This interpolation option is not allowed in tag scoring functions." + }, + { + "value": "logarithmic", + "name": "Logarithmic", + "description": "Boosts scores by an amount that decreases logarithmically. Boosts decrease quickly for higher scores, and more slowly as the scores decrease. This interpolation option is not allowed in tag scoring functions." + } + ] + }, + "description": "Defines the function used to interpolate score boosting across a range of documents." + }, + "ScoringProfile": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the scoring profile." + }, + "text": { + "x-ms-client-name": "TextWeights", + "$ref": "#/definitions/TextWeights", + "description": "Parameters that boost scoring based on text matches in certain index fields.", + "x-nullable": true + }, + "functions": { + "type": "array", + "items": { + "$ref": "#/definitions/ScoringFunction" + }, + "description": "The collection of functions that influence the scoring of documents." + }, + "functionAggregation": { + "$ref": "#/definitions/ScoringFunctionAggregation", + "description": "A value indicating how the results of individual scoring functions should be combined. Defaults to \"Sum\". Ignored if there are no scoring functions." + } + }, + "required": [ + "name" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Add-scoring-profiles-to-a-search-index" + }, + "description": "Defines parameters for a search index that influence scoring in search queries." + }, + "ScoringFunctionAggregation": { + "type": "string", + "enum": [ + "sum", + "average", + "minimum", + "maximum", + "firstMatching" + ], + "x-ms-enum": { + "name": "ScoringFunctionAggregation", + "modelAsString": false, + "values": [ + { + "value": "sum", + "name": "Sum", + "description": "Boost scores by the sum of all scoring function results." + }, + { + "value": "average", + "name": "Average", + "description": "Boost scores by the average of all scoring function results." + }, + { + "value": "minimum", + "name": "Minimum", + "description": "Boost scores by the minimum of all scoring function results." + }, + { + "value": "maximum", + "name": "Maximum", + "description": "Boost scores by the maximum of all scoring function results." + }, + { + "value": "firstMatching", + "name": "FirstMatching", + "description": "Boost scores using the first applicable scoring function in the scoring profile." + } + ] + }, + "description": "Defines the aggregation function used to combine the results of all the scoring functions in a scoring profile." + }, + "CorsOptions": { + "properties": { + "allowedOrigins": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of origins from which JavaScript code will be granted access to your index. Can contain a list of hosts of the form {protocol}://{fully-qualified-domain-name}[:{port#}], or a single '*' to allow all origins (not recommended)." + }, + "maxAgeInSeconds": { + "type": "integer", + "format": "int64", + "description": "The duration for which browsers should cache CORS preflight responses. Defaults to 5 minutes." + } + }, + "required": [ + "allowedOrigins" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Index" + }, + "description": "Defines options to control Cross-Origin Resource Sharing (CORS) for an index." + }, + "Suggester": { + "properties": { + "name": { + "type": "string", + "description": "The name of the suggester." + }, + "searchMode": { + "type": "string", + "enum": [ + "analyzingInfixMatching" + ], + "x-ms-enum": { + "name": "SuggesterSearchMode", + "modelAsString": false, + "values": [ + { + "value": "analyzingInfixMatching", + "name": "AnalyzingInfixMatching", + "description": "Matches consecutive whole terms and prefixes in a field. For example, for the field 'The fastest brown fox', the queries 'fast' and 'fastest brow' would both match." + } + ] + }, + "description": "A value indicating the capabilities of the suggester." + }, + "sourceFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of field names to which the suggester applies. Each field must be searchable." + } + }, + "required": [ + "name", + "searchMode", + "sourceFields" + ], + "description": "Defines how the Suggest API should apply to a group of fields in the index." + }, + "SearchIndex": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the index." + }, + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchField" + }, + "description": "The fields of the index." + }, + "scoringProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ScoringProfile" + }, + "description": "The scoring profiles for the index." + }, + "defaultScoringProfile": { + "type": "string", + "description": "The name of the scoring profile to use if none is specified in the query. If this property is not set and no scoring profile is specified in the query, then default scoring (tf-idf) will be used." + }, + "corsOptions": { + "$ref": "#/definitions/CorsOptions", + "description": "Options to control Cross-Origin Resource Sharing (CORS) for the index.", + "x-nullable": true + }, + "suggesters": { + "type": "array", + "items": { + "$ref": "#/definitions/Suggester" + }, + "description": "The suggesters for the index." + }, + "analyzers": { + "type": "array", + "items": { + "$ref": "#/definitions/LexicalAnalyzer" + }, + "description": "The analyzers for the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "tokenizers": { + "type": "array", + "items": { + "$ref": "#/definitions/LexicalTokenizer" + }, + "description": "The tokenizers for the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "tokenFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/TokenFilter" + }, + "description": "The token filters for the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "charFilters": { + "type": "array", + "items": { + "$ref": "#/definitions/CharFilter" + }, + "description": "The character filters for the index.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search" + } + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your data when you want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true + }, + "similarity": { + "$ref": "#/definitions/Similarity", + "description": "The type of similarity algorithm to be used when scoring and ranking the documents matching a search query. The similarity algorithm can only be defined at index creation time and cannot be modified on existing indexes. If null, the ClassicSimilarity algorithm is used.", + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/index-ranking-similarity" + } + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the index." + } + }, + "required": [ + "name", + "fields" + ], + "description": "Represents a search index definition, which describes the fields and search behavior of an index." + }, + "GetIndexStatisticsResult": { + "properties": { + "documentCount": { + "type": "integer", + "format": "int64", + "x-nullable": false, + "readOnly": true, + "description": "The number of documents in the index." + }, + "storageSize": { + "type": "integer", + "format": "int64", + "x-nullable": false, + "readOnly": true, + "description": "The amount of storage in bytes consumed by the index." + } + }, + "required": [ + "documentCount", + "storageSize" + ], + "description": "Statistics for a given index. Statistics are collected periodically and are not guaranteed to always be up-to-date." + }, + "ListIndexesResult": { + "properties": { + "value": { + "x-ms-client-name": "Indexes", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndex" + }, + "description": "The indexes in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List Indexes request. If successful, it includes the full definitions of all indexes." + }, + "SearchIndexerSkillset": { + "properties": { + "name": { + "type": "string", + "description": "The name of the skillset." + }, + "description": { + "type": "string", + "description": "The description of the skillset." + }, + "skills": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchIndexerSkill" + }, + "description": "A list of skills in the skillset." + }, + "cognitiveServices": { + "x-ms-client-name": "CognitiveServicesAccount", + "$ref": "#/definitions/CognitiveServicesAccount", + "description": "Details about cognitive services to be used when running skills." + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the skillset." + } + }, + "required": [ + "name", + "skills" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-tutorial-blob" + }, + "description": "A list of skills." + }, + "CognitiveServicesAccount": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the cognitive service resource attached to a skillset." + }, + "description": { + "type": "string", + "description": "Description of the cognitive service resource attached to a skillset." + } + }, + "required": [ + "@odata.type" + ], + "description": "Base type for describing any cognitive service resource attached to a skillset." + }, + "DefaultCognitiveServicesAccount": { + "description": "An empty object that represents the default cognitive service resource for a skillset.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.DefaultCognitiveServices", + "allOf": [ + { + "$ref": "#/definitions/CognitiveServicesAccount" + } + ] + }, + "CognitiveServicesAccountKey": { + "description": "A cognitive service resource provisioned with a key that is attached to a skillset.", + "x-ms-discriminator-value": "#Microsoft.Azure.Search.CognitiveServicesByKey", + "allOf": [ + { + "$ref": "#/definitions/CognitiveServicesAccount" + } + ], + "properties": { + "key": { + "type": "string", + "description": "The key used to provision the cognitive service resource attached to a skillset." + } + }, + "required": [ + "key" + ] + }, + "SearchIndexerSkill": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "Identifies the concrete type of the skill." + }, + "name": { + "type": "string", + "description": "The name of the skill which uniquely identifies it within the skillset. A skill with no name defined will be given a default name of its 1-based index in the skills array, prefixed with the character '#'." + }, + "description": { + "type": "string", + "description": "The description of the skill which describes the inputs, outputs, and usage of the skill." + }, + "context": { + "type": "string", + "description": "Represents the level at which operations take place, such as the document root or document content (for example, /document or /document/content). The default is /document." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/InputFieldMappingEntry" + }, + "description": "Inputs of the skills could be a column in the source data set, or the output of an upstream skill." + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFieldMappingEntry" + }, + "description": "The output of a skill is either a field in a search index, or a value that can be consumed as an input by another skill." + } + }, + "required": [ + "@odata.type", + "inputs", + "outputs" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-predefined-skills" + }, + "description": "Base type for skills." + }, + "InputFieldMappingEntry": { + "properties": { + "name": { + "type": "string", + "description": "The name of the input." + }, + "source": { + "type": "string", + "description": "The source of the input." + }, + "sourceContext": { + "type": "string", + "description": "The source context used for selecting recursive inputs." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/InputFieldMappingEntry" + }, + "description": "The recursive inputs used when creating a complex type." + } + }, + "required": [ + "name" + ], + "description": "Input field mapping for a skill." + }, + "OutputFieldMappingEntry": { + "properties": { + "name": { + "type": "string", + "description": "The name of the output defined by the skill." + }, + "targetName": { + "type": "string", + "description": "The target name of the output. It is optional and default to name." + } + }, + "required": [ + "name" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/naming-rules" + }, + "description": "Output field mapping for a skill." + }, + "ConditionalSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Util.ConditionalSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-conditional" + }, + "description": "A skill that enables scenarios that require a Boolean operation to determine the data to assign to an output." + }, + "KeyPhraseExtractionSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.KeyPhraseExtractionSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/KeyPhraseExtractionSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "maxKeyPhraseCount": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "A number indicating how many key phrases to return. If absent, all identified key phrases will be returned." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-keyphrases" + }, + "description": "A skill that uses text analytics for key phrase extraction." + }, + "OcrSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Vision.OcrSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/OcrSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "detectOrientation": { + "x-ms-client-name": "ShouldDetectOrientation", + "type": "boolean", + "default": false, + "description": "A value indicating to turn orientation detection on or not. Default is false." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-ocr" + }, + "description": "A skill that extracts text from image files." + }, + "ImageAnalysisSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Vision.ImageAnalysisSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/ImageAnalysisSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "visualFeatures": { + "type": "array", + "items": { + "$ref": "#/definitions/VisualFeature", + "x-nullable": false + }, + "description": "A list of visual features." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ImageDetail", + "x-nullable": false + }, + "description": "A string indicating which domain-specific details to return." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-image-analysis" + }, + "description": "A skill that analyzes image files. It extracts a rich set of visual features based on the image content." + }, + "LanguageDetectionSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.LanguageDetectionSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-language-detection" + }, + "description": "A skill that detects the language of input text and reports a single language code for every document submitted on the request. The language code is paired with a score indicating the confidence of the analysis." + }, + "ShaperSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Util.ShaperSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-shaper" + }, + "description": "A skill for reshaping the outputs. It creates a complex type to support composite fields (also known as multipart fields)." + }, + "MergeSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.MergeSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "insertPreTag": { + "type": "string", + "default": " ", + "description": "The tag indicates the start of the merged text. By default, the tag is an empty space." + }, + "insertPostTag": { + "type": "string", + "default": " ", + "description": "The tag indicates the end of the merged text. By default, the tag is an empty space." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-textmerger" + }, + "description": "A skill for merging two or more strings into a single unified string, with an optional user-defined delimiter separating each component part." + }, + "EntityRecognitionSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.EntityRecognitionSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "categories": { + "type": "array", + "items": { + "$ref": "#/definitions/EntityCategory", + "x-nullable": false + }, + "description": "A list of entity categories that should be extracted." + }, + "defaultLanguageCode": { + "$ref": "#/definitions/EntityRecognitionSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "includeTypelessEntities": { + "type": "boolean", + "x-nullable": true, + "description": "Determines whether or not to include entities which are well known but don't conform to a pre-defined type. If this configuration is not set (default), set to null or set to false, entities which don't conform to one of the pre-defined types will not be surfaced." + }, + "minimumPrecision": { + "type": "number", + "format": "double", + "x-nullable": true, + "description": "A value between 0 and 1 that be used to only include entities whose confidence score is greater than the value specified. If not set (default), or if explicitly set to null, all entities will be included." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-entity-recognition" + }, + "description": "Text analytics entity recognition." + }, + "SentimentSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.SentimentSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/SentimentSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-sentiment" + }, + "description": "Text analytics positive-negative sentiment analysis, scored as a floating point value in a range of zero to 1." + }, + "SplitSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.SplitSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultLanguageCode": { + "$ref": "#/definitions/SplitSkillLanguage", + "description": "A value indicating which language code to use. Default is en." + }, + "textSplitMode": { + "$ref": "#/definitions/TextSplitMode", + "x-nullable": false, + "description": "A value indicating which split mode to perform." + }, + "maximumPageLength": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The desired maximum page length. Default is 10000." + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-textsplit" + }, + "description": "A skill to split a string into chunks of text." + }, + "TextTranslationSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Text.TranslationSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "defaultToLanguageCode": { + "$ref": "#/definitions/TextTranslationSkillLanguage", + "description": "The language code to translate documents into for documents that don't specify the to language explicitly. " + }, + "defaultFromLanguageCode": { + "$ref": "#/definitions/TextTranslationSkillLanguage", + "description": "The language code to translate documents from for documents that don't specify the from language explicitly." + }, + "suggestedFrom": { + "$ref": "#/definitions/TextTranslationSkillLanguage", + "x-nullable": true, + "description": "The language code to translate documents from when neither the fromLanguageCode input nor the defaultFromLanguageCode parameter are provided, and the automatic language detection is unsuccessful. Default is en." + } + }, + "required": [ + "defaultToLanguageCode" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-skill-text-translation" + }, + "description": "A skill to translate text from one language to another." + }, + "WebApiSkill": { + "x-ms-discriminator-value": "#Microsoft.Skills.Custom.WebApiSkill", + "allOf": [ + { + "$ref": "#/definitions/SearchIndexerSkill" + } + ], + "properties": { + "uri": { + "type": "string", + "description": "The url for the Web API." + }, + "httpHeaders": { + "$ref": "#/definitions/WebApiHttpHeaders", + "description": "The headers required to make the http request." + }, + "httpMethod": { + "type": "string", + "description": "The method for the http request." + }, + "timeout": { + "type": "string", + "format": "duration", + "description": "The desired timeout for the request. Default is 30 seconds." + }, + "batchSize": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The desired batch size which indicates number of documents." + }, + "degreeOfParallelism": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "If set, the number of parallel calls that can be made to the Web API." + } + }, + "required": [ + "uri" + ], + "externalDocs": { + "url": "https://docs.microsoft.com/azure/search/cognitive-search-custom-skill-web-api" + }, + "description": "A skill that can call a Web API endpoint, allowing you to extend a skillset by having it call your custom code." + }, + "WebApiHttpHeaders": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A dictionary of http request headers." + }, + "ListSkillsetsResult": { + "properties": { + "value": { + "x-ms-client-name": "Skillsets", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchIndexerSkillset" + }, + "description": "The skillsets defined in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a list skillset request. If successful, it includes the full definitions of all skillsets." + }, + "TextSplitMode": { + "type": "string", + "enum": [ + "pages", + "sentences" + ], + "x-ms-enum": { + "name": "TextSplitMode", + "modelAsString": true, + "values": [ + { + "value": "pages", + "name": "Pages", + "description": "Split the text into individual pages." + }, + { + "value": "sentences", + "name": "Sentences", + "description": "Split the text into individual sentences." + } + ] + }, + "description": "A value indicating which split mode to perform." + }, + "VisualFeature": { + "type": "string", + "enum": [ + "adult", + "brands", + "categories", + "description", + "faces", + "objects", + "tags" + ], + "x-ms-enum": { + "name": "VisualFeature", + "modelAsString": true, + "values": [ + { + "value": "adult", + "name": "Adult", + "description": "Visual features recognized as adult persons." + }, + { + "value": "brands", + "name": "Brands", + "description": "Visual features recognized as commercial brands." + }, + { + "value": "categories", + "name": "Categories", + "description": "Categories." + }, + { + "value": "description", + "name": "Description", + "description": "Description." + }, + { + "value": "faces", + "name": "Faces", + "description": "Visual features recognized as people faces." + }, + { + "value": "objects", + "name": "Objects", + "description": "Visual features recognized as objects." + }, + { + "value": "tags", + "name": "Tags", + "description": "Tags." + } + ] + }, + "description": "The strings indicating what visual feature types to return." + }, + "ImageDetail": { + "type": "string", + "enum": [ + "celebrities", + "landmarks" + ], + "x-ms-enum": { + "name": "ImageDetail", + "modelAsString": true, + "values": [ + { + "value": "celebrities", + "name": "Celebrities", + "description": "Details recognized as celebrities." + }, + { + "value": "landmarks", + "name": "Landmarks", + "description": "Details recognized as landmarks." + } + ] + }, + "description": "A string indicating which domain-specific details to return." + }, + "EntityCategory": { + "type": "string", + "enum": [ + "location", + "organization", + "person", + "quantity", + "datetime", + "url", + "email" + ], + "x-ms-enum": { + "name": "EntityCategory", + "modelAsString": true, + "values": [ + { + "value": "location", + "name": "Location", + "description": "Entities describing a physical location." + }, + { + "value": "organization", + "name": "Organization", + "description": "Entities describing an organization." + }, + { + "value": "person", + "name": "Person", + "description": "Entities describing a person." + }, + { + "value": "quantity", + "name": "Quantity", + "description": "Entities describing a quantity." + }, + { + "value": "datetime", + "name": "Datetime", + "description": "Entities describing a date and time." + }, + { + "value": "url", + "name": "Url", + "description": "Entities describing a URL." + }, + { + "value": "email", + "name": "Email", + "description": "Entities describing an email address." + } + ] + }, + "description": "A string indicating what entity categories to return." + }, + "SentimentSkillLanguage": { + "type": "string", + "enum": [ + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "it", + "no", + "pl", + "pt-PT", + "ru", + "es", + "sv", + "tr" + ], + "x-ms-enum": { + "name": "SentimentSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "el", + "description": "Greek" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "no", + "description": "Norwegian (Bokmaal)" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt-PT", + "description": "Portuguese (Portugal)" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + }, + { + "value": "tr", + "description": "Turkish" + } + ] + }, + "description": "The language codes supported for input text by SentimentSkill." + }, + "KeyPhraseExtractionSkillLanguage": { + "type": "string", + "enum": [ + "da", + "nl", + "en", + "fi", + "fr", + "de", + "it", + "ja", + "ko", + "no", + "pl", + "pt-PT", + "pt-BR", + "ru", + "es", + "sv" + ], + "x-ms-enum": { + "name": "KeyPhraseExtractionSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "no", + "description": "Norwegian (Bokmaal)" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt-PT", + "description": "Portuguese (Portugal)" + }, + { + "value": "pt-BR", + "description": "Portuguese (Brazil)" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + } + ] + }, + "description": "The language codes supported for input text by KeyPhraseExtractionSkill." + }, + "OcrSkillLanguage": { + "type": "string", + "enum": [ + "zh-Hans", + "zh-Hant", + "cs", + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "hu", + "it", + "ja", + "ko", + "nb", + "pl", + "pt", + "ru", + "es", + "sv", + "tr", + "ar", + "ro", + "sr-Cyrl", + "sr-Latn", + "sk" + ], + "x-ms-enum": { + "name": "OcrSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "zh-Hans", + "description": "Chinese-Simplified" + }, + { + "value": "zh-Hant", + "description": "Chinese-Traditional" + }, + { + "value": "cs", + "description": "Czech" + }, + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "el", + "description": "Greek" + }, + { + "value": "hu", + "description": "Hungarian" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "nb", + "description": "Norwegian (Bokmaal)" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt", + "description": "Portuguese" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + }, + { + "value": "tr", + "description": "Turkish" + }, + { + "value": "ar", + "description": "Arabic" + }, + { + "value": "ro", + "description": "Romanian" + }, + { + "value": "sr-Cyrl", + "description": "Serbian (Cyrillic, Serbia)" + }, + { + "value": "sr-Latn", + "description": "Serbian (Latin, Serbia)" + }, + { + "value": "sk", + "description": "Slovak" + } + ] + }, + "description": "The language codes supported for input by OcrSkill." + }, + "SplitSkillLanguage": { + "type": "string", + "enum": [ + "da", + "de", + "en", + "es", + "fi", + "fr", + "it", + "ko", + "pt" + ], + "x-ms-enum": { + "name": "SplitSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "da", + "description": "Danish" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "pt", + "description": "Portuguese" + } + ] + }, + "description": "The language codes supported for input text by SplitSkill." + }, + "EntityRecognitionSkillLanguage": { + "type": "string", + "enum": [ + "ar", + "cs", + "zh-Hans", + "zh-Hant", + "da", + "nl", + "en", + "fi", + "fr", + "de", + "el", + "hu", + "it", + "ja", + "ko", + "no", + "pl", + "pt-PT", + "pt-BR", + "ru", + "es", + "sv", + "tr" + ], + "x-ms-enum": { + "name": "EntityRecognitionSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "ar", + "description": "Arabic" + }, + { + "value": "cs", + "description": "Czech" + }, + { + "value": "zh-Hans", + "description": "Chinese-Simplified" + }, + { + "value": "zh-Hant", + "description": "Chinese-Traditional" + }, + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "el", + "description": "Greek" + }, + { + "value": "hu", + "description": "Hungarian" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "no", + "description": "Norwegian (Bokmaal)" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt-PT", + "description": "Portuguese (Portugal)" + }, + { + "value": "pt-BR", + "description": "Portuguese (Brazil)" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + }, + { + "value": "tr", + "description": "Turkish" + } + ] + }, + "description": "The language codes supported for input text by EntityRecognitionSkill." + }, + "TextTranslationSkillLanguage": { + "type": "string", + "enum": [ + "af", + "ar", + "bn", + "bs", + "bg", + "yue", + "ca", + "zh-Hans", + "zh-Hant", + "hr", + "cs", + "da", + "nl", + "en", + "et", + "fj", + "fil", + "fi", + "fr", + "de", + "el", + "ht", + "he", + "hi", + "mww", + "hu", + "is", + "id", + "it", + "ja", + "sw", + "tlh", + "ko", + "lv", + "lt", + "mg", + "ms", + "mt", + "nb", + "fa", + "pl", + "pt", + "otq", + "ro", + "ru", + "sm", + "sr-Cyrl", + "sr-Latn", + "sk", + "sl", + "es", + "sv", + "ty", + "ta", + "te", + "th", + "to", + "tr", + "uk", + "ur", + "vi", + "cy", + "yua" + ], + "x-ms-enum": { + "name": "TextTranslationSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "af", + "description": "Afrikaans" + }, + { + "value": "ar", + "description": "Arabic" + }, + { + "value": "bn", + "description": "Bangla" + }, + { + "value": "bs", + "description": "Bosnian (Latin)" + }, + { + "value": "bg", + "description": "Bulgarian" + }, + { + "value": "yue", + "description": "Cantonese (Traditional)" + }, + { + "value": "ca", + "description": "Catalan" + }, + { + "value": "zh-Hans", + "description": "Chinese Simplified" + }, + { + "value": "zh-Hant", + "description": "Chinese Traditional" + }, + { + "value": "hr", + "description": "Croatian" + }, + { + "value": "cs", + "description": "Czech" + }, + { + "value": "da", + "description": "Danish" + }, + { + "value": "nl", + "description": "Dutch" + }, + { + "value": "en", + "description": "English" + }, + { + "value": "et", + "description": "Estonian" + }, + { + "value": "fj", + "description": "Fijian" + }, + { + "value": "fil", + "description": "Filipino" + }, + { + "value": "fi", + "description": "Finnish" + }, + { + "value": "fr", + "description": "French" + }, + { + "value": "de", + "description": "German" + }, + { + "value": "el", + "description": "Greek" + }, + { + "value": "ht", + "description": "Haitian Creole" + }, + { + "value": "he", + "description": "Hebrew" + }, + { + "value": "hi", + "description": "Hindi" + }, + { + "value": "mww", + "description": "Hmong Daw" + }, + { + "value": "hu", + "description": "Hungarian" + }, + { + "value": "is", + "description": "Icelandic" + }, + { + "value": "id", + "description": "Indonesian" + }, + { + "value": "it", + "description": "Italian" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "sw", + "description": "Kiswahili" + }, + { + "value": "tlh", + "description": "Klingon" + }, + { + "value": "ko", + "description": "Korean" + }, + { + "value": "lv", + "description": "Latvian" + }, + { + "value": "lt", + "description": "Lithuanian" + }, + { + "value": "mg", + "description": "Malagasy" + }, + { + "value": "ms", + "description": "Malay" + }, + { + "value": "mt", + "description": "Maltese" + }, + { + "value": "nb", + "description": "Norwegian" + }, + { + "value": "fa", + "description": "Persian" + }, + { + "value": "pl", + "description": "Polish" + }, + { + "value": "pt", + "description": "Portuguese" + }, + { + "value": "otq", + "description": "Queretaro Otomi" + }, + { + "value": "ro", + "description": "Romanian" + }, + { + "value": "ru", + "description": "Russian" + }, + { + "value": "sm", + "description": "Samoan" + }, + { + "value": "sr-Cyrl", + "description": "Serbian (Cyrillic)" + }, + { + "value": "sr-Latn", + "description": "Serbian (Latin)" + }, + { + "value": "sk", + "description": "Slovak" + }, + { + "value": "sl", + "description": "Slovenian" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "sv", + "description": "Swedish" + }, + { + "value": "ty", + "description": "Tahitian" + }, + { + "value": "ta", + "description": "Tamil" + }, + { + "value": "te", + "description": "Telugu" + }, + { + "value": "th", + "description": "Thai" + }, + { + "value": "to", + "description": "Tongan" + }, + { + "value": "tr", + "description": "Turkish" + }, + { + "value": "uk", + "description": "Ukrainian" + }, + { + "value": "ur", + "description": "Urdu" + }, + { + "value": "vi", + "description": "Vietnamese" + }, + { + "value": "cy", + "description": "Welsh" + }, + { + "value": "yua", + "description": "Yucatec Maya" + } + ] + }, + "description": "The language codes supported for input text by TextTranslationSkill." + }, + "ImageAnalysisSkillLanguage": { + "type": "string", + "enum": [ + "en", + "es", + "ja", + "pt", + "zh" + ], + "x-ms-enum": { + "name": "ImageAnalysisSkillLanguage", + "modelAsString": true, + "values": [ + { + "value": "en", + "description": "English" + }, + { + "value": "es", + "description": "Spanish" + }, + { + "value": "ja", + "description": "Japanese" + }, + { + "value": "pt", + "description": "Portuguese" + }, + { + "value": "zh", + "description": "Chinese" + } + ] + }, + "description": "The language codes supported for input by ImageAnalysisSkill." + }, + "SynonymMap": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the synonym map." + }, + "format": { + "type": "string", + "enum": [ + "solr" + ], + "x-ms-enum": { + "name": "SynonymMapFormat", + "modelAsString": false, + "values": [ + { + "value": "solr", + "name": "Solr", + "description": "Selects the SOLR format for synonym maps." + } + ] + }, + "description": "The format of the synonym map. Only the 'solr' format is currently supported." + }, + "synonyms": { + "type": "string", + "description": "A series of synonym rules in the specified synonym map format. The rules must be separated by newlines.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Synonym-Map#SynonymMapFormat" + } + }, + "encryptionKey": { + "$ref": "#/definitions/SearchResourceEncryptionKey", + "description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your data when you want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.", + "externalDocs": { + "url": "https://aka.ms/azure-search-encryption-with-cmk" + }, + "x-nullable": true + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the synonym map." + } + }, + "required": [ + "name", + "format", + "synonyms" + ], + "description": "Represents a synonym map definition." + }, + "ListSynonymMapsResult": { + "properties": { + "value": { + "x-ms-client-name": "SynonymMaps", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SynonymMap" + }, + "description": "The synonym maps in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List SynonymMaps request. If successful, it includes the full definitions of all synonym maps." + }, + "SearchResourceEncryptionKey": { + "properties": { + "keyVaultKeyName": { + "x-ms-client-name": "keyName", + "type": "string", + "description": "The name of your Azure Key Vault key to be used to encrypt your data at rest." + }, + "keyVaultKeyVersion": { + "x-ms-client-name": "keyVersion", + "type": "string", + "description": "The version of your Azure Key Vault key to be used to encrypt your data at rest." + }, + "keyVaultUri": { + "x-ms-client-name": "vaultUri", + "type": "string", + "description": "The URI of your Azure Key Vault, also referred to as DNS name, that contains the key to be used to encrypt your data at rest. An example URI might be https://my-keyvault-name.vault.azure.net." + }, + "accessCredentials": { + "$ref": "#/definitions/AzureActiveDirectoryApplicationCredentials", + "description": "Optional Azure Active Directory credentials used for accessing your Azure Key Vault. Not required if using managed identity instead.", + "externalDocs": { + "url": "https://aka.ms/azure-search-msi" + } + } + }, + "required": [ + "keyVaultKeyName", + "keyVaultKeyVersion", + "keyVaultUri" + ], + "description": "A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be used to encrypt or decrypt data-at-rest in Azure Cognitive Search, such as indexes and synonym maps." + }, + "AzureActiveDirectoryApplicationCredentials": { + "properties": { + "applicationId": { + "type": "string", + "description": "An AAD Application ID that was granted the required access permissions to the Azure Key Vault that is to be used when encrypting your data at rest. The Application ID should not be confused with the Object ID for your AAD Application." + }, + "applicationSecret": { + "type": "string", + "description": "The authentication key of the specified AAD application." + } + }, + "required": [ + "applicationId" + ], + "description": "Credentials of a registered application created for your search service, used for authenticated access to the encryption keys stored in Azure Key Vault." + }, + "ServiceStatistics": { + "properties": { + "counters": { + "$ref": "#/definitions/ServiceCounters", + "description": "Service level resource counters." + }, + "limits": { + "$ref": "#/definitions/ServiceLimits", + "description": "Service level general limits." + } + }, + "required": [ + "counters", + "limits" + ], + "description": "Response from a get service statistics request. If successful, it includes service level counters and limits." + }, + "ServiceCounters": { + "properties": { + "documentCount": { + "x-ms-client-name": "documentCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of documents across all indexes in the service." + }, + "indexesCount": { + "x-ms-client-name": "indexCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of indexes." + }, + "indexersCount": { + "x-ms-client-name": "indexerCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of indexers." + }, + "dataSourcesCount": { + "x-ms-client-name": "dataSourceCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of data sources." + }, + "storageSize": { + "x-ms-client-name": "storageSizeCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total size of used storage in bytes." + }, + "synonymMaps": { + "x-ms-client-name": "synonymMapCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of synonym maps." + } + }, + "required": [ + "documentCount", + "indexesCount", + "indexersCount", + "dataSourcesCount", + "storageSize", + "synonymMaps" + ], + "description": "Represents service-level resource counters and quotas." + }, + "ServiceLimits": { + "properties": { + "maxFieldsPerIndex": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The maximum allowed fields per index." + }, + "maxFieldNestingDepthPerIndex": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The maximum depth which you can nest sub-fields in an index, including the top-level complex field. For example, a/b/c has a nesting depth of 3." + }, + "maxComplexCollectionFieldsPerIndex": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The maximum number of fields of type Collection(Edm.ComplexType) allowed in an index." + }, + "maxComplexObjectsInCollectionsPerDocument": { + "type": "integer", + "format": "int32", + "x-nullable": true, + "description": "The maximum number of objects in complex collections allowed per document." + } + }, + "description": "Represents various service level limits." + }, + "ResourceCounter": { + "properties": { + "usage": { + "type": "integer", + "format": "int64", + "x-nullable": false, + "description": "The resource usage amount." + }, + "quota": { + "type": "integer", + "format": "int64", + "x-nullable": true, + "description": "The resource amount quota." + } + }, + "required": [ + "usage" + ], + "description": "Represents a resource's usage and quota." + }, + "SearchError": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "A human-readable representation of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/SearchError" + }, + "readOnly": true, + "description": "An array of details about specific errors that led to this reported error." + } + }, + "required": [ + "message" + ], + "description": "Describes an error condition for the Azure Cognitive Search API." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ClientRequestIdParameter": { + "name": "x-ms-client-request-id", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "The tracking ID sent with the request to help with debugging.", + "x-ms-client-request-id": true, + "x-ms-parameter-grouping": { + "name": "request-options" + }, + "x-ms-parameter-location": "method" + }, + "IfMatchParameter": { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Defines the If-Match condition. The operation will be performed only if the ETag on the server matches this value.", + "x-ms-parameter-location": "method" + }, + "IfNoneMatchParameter": { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Defines the If-None-Match condition. The operation will be performed only if the ETag on the server does not match this value.", + "x-ms-parameter-location": "method" + }, + "PreferHeaderParameter": { + "name": "Prefer", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "return=representation" + ], + "description": "For HTTP PUT requests, instructs the service to return the created/updated resource on success.", + "x-ms-parameter-location": "method" + }, + "EndpointParameter": { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "description": "The endpoint URL of the search service.", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/search/data-plane/Azure.Search/readme.md b/specification/search/data-plane/Azure.Search/readme.md index 3d2cb4bc6377..9e0c7d0e0ffa 100644 --- a/specification/search/data-plane/Azure.Search/readme.md +++ b/specification/search/data-plane/Azure.Search/readme.md @@ -26,6 +26,180 @@ These are the global settings for SearchServiceClient and SearchIndexClient. title: SearchClient opt-in-extensible-enums: true openapi-type: data-plane + +directive: + - where: + - $.definitions.AnalyzedTokenInfo.properties.endOffset + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.AnalyzedTokenInfo.properties.position + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.AnalyzedTokenInfo.properties.startOffset + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.AnalyzedTokenInfo.properties.token + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.AutocompleteItem.properties.queryPlusText + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.AutocompleteItem.properties.text + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.AutocompleteResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.GetIndexStatisticsResult.properties.documentCount + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.GetIndexStatisticsResult.properties.storageSize + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexDocumentsResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexerExecutionResult.properties.errors + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexerExecutionResult.properties.itemsFailed + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexerExecutionResult.properties.itemsProcessed + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexerExecutionResult.properties.status + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexerExecutionResult.properties.warnings + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexingResult.properties.key + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexingResult.properties.status + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.IndexingResult.properties.statusCode + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.ListDataSourcesResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.ListIndexersResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.ListIndexesResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.ListSkillsetsResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.ListSynonymMapsResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchDocumentsResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchError.properties.message + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchIndexerError.properties.errorMessage + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchIndexerError.properties.statusCode + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchIndexerStatus.properties.executionHistory + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchIndexerStatus.properties.limits + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchIndexerStatus.properties.status + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchIndexerWarning.properties.message + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SearchResult.properties["@search.score"] + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SuggestDocumentsResult.properties.value + suppress: + - RequiredReadOnlyProperties + - where: + - $.definitions.SuggestResult.properties["@search.text"] + suppress: + - RequiredReadOnlyProperties +``` + +### Tag: package-2020-06-searchservice-preview + +These settings apply only when `--tag=package-2020-06-searchservice-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-searchservice-preview' +input-file: +- preview/2020-06-30-Preview/searchservice.json +``` + +### Tag: package-2020-06-searchindex-preview + +These settings apply only when `--tag=package-2020-06-searchindex-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-searchindex-preview' +input-file: +- preview/2020-06-30-Preview/searchindex.json +``` + +### Tag: package-2020-06-searchservice + +These settings apply only when `--tag=package-2020-06-searchservice` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-searchservice' +input-file: +- preview/2020-06-30/searchservice.json +``` + +### Tag: package-2020-06-searchindex + +These settings apply only when `--tag=package-2020-06-searchindex` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06-searchindex' +input-file: +- preview/2020-06-30/searchindex.json ``` ### Tag: package-2019-05-searchservice-preview @@ -545,6 +719,10 @@ require: $(this-folder)/../../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/preview/2020-06-30-Preview/searchservice.json + - $(this-folder)/preview/2020-06-30-Preview/searchindex.json + - $(this-folder)/preview/2020-06-30/searchservice.json + - $(this-folder)/preview/2020-06-30/searchindex.json - $(this-folder)/preview/2019-05-06-preview/searchservice.json - $(this-folder)/preview/2019-05-06-preview/searchindex.json - $(this-folder)/stable/2019-05-06/searchservice.json diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json deleted file mode 100644 index b5c469638cb5..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource", - "sharedPrivateLinkResource": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName" - } - } - }, - "responses": { - "200": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - }, - "201": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeleteSharedPrivateLinkResource.json deleted file mode 100644 index 236065a4d0fc..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/DeleteSharedPrivateLinkResource.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" - }, - "responses": { - "200": {}, - "404": {} - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetSharedPrivateLinkResource.json deleted file mode 100644 index 67bbc1de7bf8..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/GetSharedPrivateLinkResource.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" - }, - "responses": { - "200": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSharedPrivateLinkResourcesByService.json deleted file mode 100644 index 7049d4037776..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSharedPrivateLinkResourcesByService.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2019-10-01-preview", - "subscriptionId": "subid" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - ] - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSupportedPrivateLinkResources.json index ffb6908fc3c2..59001defac96 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSupportedPrivateLinkResources.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/ListSupportedPrivateLinkResources.json @@ -20,64 +20,6 @@ ], "requiredZoneNames": [ "privatelink.search.windows.net" - ], - "shareablePrivateLinkResourceTypes": [ - { - "name": "blob", - "properties": { - "type": "Microsoft.Storage/storageAccounts", - "groupId": "blob", - "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" - } - }, - { - "name": "table", - "properties": { - "type": "Microsoft.Storage/storageAccounts", - "groupId": "table", - "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" - } - }, - { - "name": "Sql", - "properties": { - "type": "Microsoft.DocumentDB/databaseAccounts", - "groupId": "Sql", - "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)." - } - }, - { - "name": "plr", - "properties": { - "type": "Microsoft.Sql/servers", - "groupId": "sqlServer", - "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)." - } - }, - { - "name": "vault", - "properties": { - "type": "Microsoft.KeyVault/vaults", - "groupId": "vault", - "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data" - } - }, - { - "name": "plr", - "properties": { - "type": "Microsoft.DBforMySQL/servers", - "groupId": "mysqlServer", - "description": "Azure Cognitive Search indexers can connect to MySQL databases for reading data (data source, preview)." - } - }, - { - "name": "site", - "properties": { - "type": "Microsoft.Web/sites", - "groupId": "sites", - "description": "Azure Cognitive Search indexers can connect to App Services when executing custom web api skills that can be present in a skillset (optional) attached to the indexer." - } - } ] } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json index 101b058d119b..59c8a03031b2 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateService.json @@ -43,8 +43,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } }, @@ -71,8 +70,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json index 07cda1191dbd..879b5741afc0 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -46,8 +46,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "SystemAssigned", @@ -79,8 +78,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "SystemAssigned", diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json index f06e389bff2e..1e56e251f98b 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchGetService.json @@ -29,8 +29,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json index 49a38ed0914a..4745a7e47ae3 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesByResourceGroup.json @@ -30,8 +30,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } }, { @@ -56,8 +55,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } ] diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json index e7984e1d37b4..9b8b4d6b9ab5 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchListServicesBySubscription.json @@ -29,8 +29,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } }, { @@ -55,8 +54,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } ] diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json index 8b3d56bbf2f1..3af307242c6d 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateService.json @@ -39,8 +39,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json index f3132081a997..75012045c018 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromCustomIPs.json @@ -48,8 +48,7 @@ } ] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json index 46b48947b09f..f5976ef7516d 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -38,8 +38,7 @@ "networkRuleSet": { "endpointAccess": "Private" }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json index 0690361f0fd5..83e5c3c40836 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json @@ -35,8 +35,7 @@ "endpointAccess": "Public", "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "None" diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json index 33da30768990..0f2522f8f95b 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2019-10-01-preview/search.json @@ -879,221 +879,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { - "put": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_CreateOrUpdate", - "x-ms-examples": { - "SharedPrivateLinkResourceCreateOrUpdate": { - "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" - } - }, - "description": "Creates or updates a shared private link resource managed by the Search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "name": "sharedPrivateLinkResource", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The definition of the shared private link resource to create or update." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The existing shared private link resource definition was successfully updated.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "201": { - "description": "The shared private link resource was successfully created.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "default": { - "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled. HTTP 409 (Conflict): A shared private link resource of the same name is being deleted, please retry in a few minutes.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "get": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_Get", - "x-ms-examples": { - "SharedPrivateLinkResourceGet": { - "$ref": "./examples/GetSharedPrivateLinkResource.json" - } - }, - "description": "Gets the details of the shared private link resource managed by the Search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, Search service or shared private link resource could not be found.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_Delete", - "x-ms-examples": { - "SharedPrivateLinkResourceDelete": { - "$ref": "./examples/DeleteSharedPrivateLinkResource.json" - } - }, - "description": "Deletes the shared private link resource from the Search service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The shared private link resource was successfully deleted from the search service." - }, - "404": { - "description": "The subscription, resource group, Search service or shared private link resource could not be found." - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { - "get": { - "tags": [ - "SharedPrivateLinkResources" - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "SharedPrivateLinkResources_ListByService", - "x-ms-examples": { - "ListSharedPrivateLinkResourcesByService": { - "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" - } - }, - "description": "Gets a list of all shared private link resources managed by the given service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResourceListResult" - } - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { "get": { "tags": [ @@ -1437,72 +1222,6 @@ "description": "Response containing a list of Private Endpoint connections.", "x-ms-external": true }, - "SharedPrivateLinkResource": { - "properties": { - "name": { - "type": "string", - "description": "The name of the shared private link resource.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" - } - }, - "properties": { - "$ref": "#/definitions/SharedPrivateLinkResourceProperties", - "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." - } - }, - "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." - }, - "SharedPrivateLinkResourceProperties": { - "properties": { - "privateLinkResourceId": { - "type": "string", - "description": "The resource id of the resource the shared private link resource is for." - }, - "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 managed by the Azure Cognitive Search service." - }, - "SharedPrivateLinkResourceListResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of Shared Private Link Resources." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of shared private link resources, if there are any." - } - }, - "description": "Response containing a list of Shared Private Link Resources.", - "x-ms-external": true - }, "PrivateLinkResourcesResult": { "properties": { "value": { @@ -1564,52 +1283,9 @@ "type": "string" }, "description": "The list of required DNS zone names of the private link resource." - }, - "shareablePrivateLinkResourceTypes": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ShareablePrivateLinkResourceType" - }, - "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." - } - }, - "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." - }, - "ShareablePrivateLinkResourceType": { - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "properties": { - "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", - "readOnly": true, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - } - }, - "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "ShareablePrivateLinkResourceProperties": { - "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "groupId": { - "readOnly": true, - "type": "string", - "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "description": { - "readOnly": true, - "type": "string", - "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." } }, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." }, "SearchService": { "properties": { @@ -1711,14 +1387,6 @@ "$ref": "#/definitions/PrivateEndpointConnection" }, "description": "The list of private endpoint connections to the Azure Cognitive Search service." - }, - "sharedPrivateLinkResources": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of shared private link resources managed by the Azure Cognitive Search service." } }, "description": "Properties of the Search service." @@ -1934,14 +1602,6 @@ "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", "x-ms-parameter-location": "method" }, - "SharedPrivateLinkResourceNameParameter": { - "name": "sharedPrivateLinkResourceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", - "x-ms-parameter-location": "method" - }, "ClientRequestIdParameter": { "name": "x-ms-client-request-id", "x-ms-client-name": "clientRequestId", diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json new file mode 100644 index 000000000000..28f34365cde2 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/CreateOrUpdateSharedPrivateLinkResource.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource", + "sharedPrivateLinkResource": { + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "resourceRegion": null + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2020-08-01-Preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2020-08-01-Preview" + } + }, + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeletePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..36af86a1eb48 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeletePrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "", + "actionsRequired": "None" + } + } + } + }, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeleteSharedPrivateLinkResource.json new file mode 100644 index 000000000000..1070a81ee204 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/DeleteSharedPrivateLinkResource.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2020-08-01-Preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2020-08-01-Preview" + } + }, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetPrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..730aeac1d7a9 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetSharedPrivateLinkResource.json new file mode 100644 index 000000000000..e58ded2d7413 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/GetSharedPrivateLinkResource.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource" + }, + "responses": { + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListPrivateEndpointConnectionsByService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListPrivateEndpointConnectionsByService.json new file mode 100644 index 000000000000..d74307d041ca --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListPrivateEndpointConnectionsByService.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSharedPrivateLinkResourcesByService.json new file mode 100644 index 000000000000..19c6b1b8a1e0 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSharedPrivateLinkResourcesByService.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSupportedPrivateLinkResources.json new file mode 100644 index 000000000000..6f63e0ef88bb --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/ListSupportedPrivateLinkResources.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", + "name": "searchService", + "type": "Microsoft.Search/searchServices/privateLinkResources", + "properties": { + "groupId": "searchService", + "requiredMembers": [ + "searchService" + ], + "requiredZoneNames": [ + "privatelink.search.windows.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "blob", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "groupId": "blob", + "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" + } + }, + { + "name": "table", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "groupId": "table", + "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" + } + }, + { + "name": "Sql", + "properties": { + "type": "Microsoft.DocumentDB/databaseAccounts", + "groupId": "Sql", + "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)." + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.Sql/servers", + "groupId": "sqlServer", + "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)." + } + }, + { + "name": "vault", + "properties": { + "type": "Microsoft.KeyVault/vaults", + "groupId": "vault", + "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data" + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.DBforMySQL/servers", + "groupId": "mysqlServer", + "description": "Azure Cognitive Search indexers can connect to MySQL databases for reading data (data source, preview)." + } + }, + { + "name": "site", + "properties": { + "type": "Microsoft.Web/sites", + "groupId": "sites", + "description": "Azure Cognitive Search indexers can connect to App Services when executing custom web api skills that can be present in a skillset (optional) attached to the indexer." + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCheckNameAvailability.json new file mode 100644 index 000000000000..5b5e37fc6ba5 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "checkNameAvailabilityInput": { + "name": "mysearchservice", + "type": "searchServices" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateService.json new file mode 100644 index 000000000000..c875389ee5ad --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateService.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..3aff241f8039 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "disabled", + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..5634aabbba46 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json new file mode 100644 index 000000000000..0cf1e2a0f232 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "hostingMode": "default" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateQueryKey.json new file mode 100644 index 000000000000..9498e2ce9f68 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchCreateQueryKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "name": "Query key for browser-based clients", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "Query key for browser-based clients", + "key": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteQueryKey.json new file mode 100644 index 000000000000..14f290a455bb --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteQueryKey.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "key": "", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteService.json new file mode 100644 index 000000000000..ccc8afbe01b7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchDeleteService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetAdminKeys.json new file mode 100644 index 000000000000..16ed9cb80470 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetAdminKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetService.json new file mode 100644 index 000000000000..e6b0928c69b7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchGetService.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListQueryKeysBySearchService.json new file mode 100644 index 000000000000..82068f8402d8 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListQueryKeysBySearchService.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Query key for browser-based clients", + "key": "" + }, + { + "name": "Query key for mobile clients", + "key": "" + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesByResourceGroup.json new file mode 100644 index 000000000000..8b320eae8bf3 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", + "name": "mysearchservice2", + "location": "eastus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesBySubscription.json new file mode 100644 index 000000000000..5ca13251ce28 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchListServicesBySubscription.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", + "name": "mysearchservice2", + "location": "eastus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchRegenerateAdminKey.json new file mode 100644 index 000000000000..f9c2bd23722d --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchRegenerateAdminKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "keyKind": "primary", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateService.json new file mode 100644 index 000000000000..be76e1be69e7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateService.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "properties": { + "replicaCount": 2 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 2, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..f598186640f3 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "publicNetworkAccess": "disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..a2aacbacc2c1 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "10.2.3.4" + } + ] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json new file mode 100644 index 000000000000..534e842ff133 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/SearchUpdateServiceToRemoveIdentity.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "service": { + "sku": { + "name": "standard" + }, + "identity": { + "type": "None" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": {}, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "None" + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/UpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..f30dfd51ffe4 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/examples/UpdatePrivateEndpointConnection.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01-preview", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected for some reason" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected for some reason", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/search.json b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/search.json new file mode 100644 index 000000000000..5e6a16736b32 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2020-08-01-preview/search.json @@ -0,0 +1,2024 @@ +{ + "swagger": "2.0", + "info": { + "title": "SearchManagementClient", + "description": "Client that can be used to manage Azure Cognitive Search services and API keys.", + "version": "2020-08-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Search/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.Search provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": { + "post": { + "tags": [ + "AdminKeys" + ], + "operationId": "AdminKeys_Get", + "x-ms-examples": { + "SearchGetAdminKeys": { + "$ref": "./examples/SearchGetAdminKeys.json" + } + }, + "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { + "post": { + "tags": [ + "AdminKeys" + ], + "operationId": "AdminKeys_Regenerate", + "x-ms-examples": { + "SearchRegenerateAdminKey": { + "$ref": "./examples/SearchRegenerateAdminKey.json" + } + }, + "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "keyKind", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "AdminKeyKind", + "modelAsString": false + }, + "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": { + "post": { + "tags": [ + "QueryKeys" + ], + "operationId": "QueryKeys_Create", + "x-ms-examples": { + "SearchCreateQueryKey": { + "$ref": "./examples/SearchCreateQueryKey.json" + } + }, + "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the new query API key." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "schema": { + "$ref": "#/definitions/QueryKey" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": { + "post": { + "tags": [ + "QueryKeys" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "QueryKeys_ListBySearchService", + "x-ms-examples": { + "SearchListQueryKeysBySearchService": { + "$ref": "./examples/SearchListQueryKeysBySearchService.json" + } + }, + "description": "Returns the list of query API keys for the given Azure Cognitive Search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "schema": { + "$ref": "#/definitions/ListQueryKeysResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": { + "delete": { + "tags": [ + "QueryKeys" + ], + "operationId": "QueryKeys_Delete", + "x-ms-examples": { + "SearchDeleteQueryKey": { + "$ref": "./examples/SearchDeleteQueryKey.json" + } + }, + "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "key", + "in": "path", + "required": true, + "type": "string", + "description": "The query key to be deleted. Query keys are identified by value, not by name." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The query key was successfully deleted." + }, + "204": { + "description": "The query key was successfully deleted." + }, + "404": { + "description": "The subscription, resource group, search service, or query key could not be found." + }, + "default": { + "description": "HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}": { + "put": { + "tags": [ + "Services" + ], + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "SearchCreateOrUpdateService": { + "$ref": "./examples/SearchCreateOrUpdateService.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json" + }, + "SearchCreateOrUpdateServiceWithIdentity": { + "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json" + } + }, + "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchService" + }, + "description": "The definition of the search service to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "201": { + "description": "If you requested creation of a free search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service name or service definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Services" + ], + "operationId": "Services_Update", + "x-ms-examples": { + "SearchUpdateService": { + "$ref": "./examples/SearchUpdateService.json" + }, + "SearchUpdateServiceToRemoveIdentity": { + "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json" + }, + "searchUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "searchUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json" + } + }, + "description": "Updates an existing search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to update." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchServiceUpdate" + }, + "description": "The definition of the search service to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Services" + ], + "operationId": "Services_Get", + "x-ms-examples": { + "SearchGetService": { + "$ref": "./examples/SearchGetService.json" + } + }, + "description": "Gets the search service with the given name in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service name could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Services" + ], + "operationId": "Services_Delete", + "x-ms-examples": { + "SearchDeleteService": { + "$ref": "./examples/SearchDeleteService.json" + } + }, + "description": "Deletes a search service in the given resource group, along with its associated resources.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The search service was successfully deleted." + }, + "204": { + "description": "The search service was successfully deleted." + }, + "404": { + "description": "The subscription, resource group, or search service could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "SearchListServicesByResourceGroup": { + "$ref": "./examples/SearchListServicesByResourceGroup.json" + } + }, + "description": "Gets a list of all Search services in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given resource group.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "operationId": "PrivateLinkResources_ListSupported", + "x-ms-examples": { + "ListSupportedPrivateLinkResources": { + "$ref": "./examples/ListSupportedPrivateLinkResources.json" + } + }, + "description": "Gets a list of all supported private link resource types for the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all supported private link resource types for the given service.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnectionUpdate": { + "$ref": "./examples/UpdatePrivateEndpointConnection.json" + } + }, + "description": "Updates a Private Endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The definition of the private endpoint connection to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing private endpoint connection definition was successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given private endpoint connection name or the private endpoint connection definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } + }, + "description": "Gets the details of the private endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } + }, + "description": "Disconnects the private endpoint connection and deletes it from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully disconnected and removed from the search service. The response will contain the updated definition of the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "404": { + "description": "The subscription, resource group, search service or private endpoint connection could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "PrivateEndpointConnections_ListByService", + "x-ms-examples": { + "ListPrivateEndpointConnectionsByService": { + "$ref": "./examples/ListPrivateEndpointConnectionsByService.json" + } + }, + "description": "Gets a list of all private endpoint connections in the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all private endpoint connections for the given service.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "put": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_CreateOrUpdate", + "x-ms-examples": { + "SharedPrivateLinkResourceCreateOrUpdate": { + "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the creation or update of a shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "name": "sharedPrivateLinkResource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The definition of the shared private link resource to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The details of the shared private link resource that was created or updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "202": { + "description": "The shared private link resource create or update operation has been accepted and will complete asynchronously." + }, + "default": { + "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Get", + "x-ms-examples": { + "SharedPrivateLinkResourceGet": { + "$ref": "./examples/GetSharedPrivateLinkResource.json" + } + }, + "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Delete", + "x-ms-examples": { + "SharedPrivateLinkResourceDelete": { + "$ref": "./examples/DeleteSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the deletion of the shared private link resource from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "The shared private link resource deletion operation was accepted and will complete asynchronously." + }, + "204": { + "description": "The backing private endpoint for the shared private link resource could not be found." + }, + "404": { + "description": "The subscription, resource group, search service or shared private link resource could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "SharedPrivateLinkResources_ListByService", + "x-ms-examples": { + "ListSharedPrivateLinkResourcesByService": { + "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" + } + }, + "description": "Gets a list of all shared private link resources managed by the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListBySubscription", + "x-ms-examples": { + "SearchListServicesBySubscription": { + "$ref": "./examples/SearchListServicesBySubscription.json" + } + }, + "description": "Gets a list of all Search services in the given subscription.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given subscription.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { + "post": { + "tags": [ + "Services" + ], + "description": "Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "SearchCheckNameAvailability": { + "$ref": "./examples/SearchCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "The resource name and type to check.", + "x-ms-client-flatten": true, + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CheckNameAvailabilityInput": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.", + "type": "string", + "enum": [ + "searchServices" + ], + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false + } + } + }, + "description": "Input of check name availability API." + }, + "CheckNameAvailabilityOutput": { + "type": "object", + "properties": { + "nameAvailable": { + "x-ms-client-name": "IsNameAvailable", + "description": "A value indicating whether the name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.", + "type": "string", + "readOnly": true, + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "UnavailableNameReason", + "modelAsString": true + } + }, + "message": { + "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.", + "type": "string", + "readOnly": true + } + }, + "description": "Output of check name availability API." + }, + "AdminKeyResult": { + "properties": { + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "The primary admin API key of the search service." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "The secondary admin API key of the search service." + } + }, + "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service." + }, + "QueryKey": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the query API key; may be empty." + }, + "key": { + "readOnly": true, + "type": "string", + "description": "The value of the query API key." + } + }, + "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only." + }, + "ListQueryKeysResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/QueryKey" + }, + "description": "The query keys for the Azure Cognitive Search service." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size." + } + }, + "description": "Response containing the query API keys for a given Azure Cognitive Search service.", + "x-ms-external": true + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'", + "enum": [ + "free", + "basic", + "standard", + "standard2", + "standard3", + "storage_optimized_l1", + "storage_optimized_l2" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "NetworkRuleSet": { + "properties": { + "ipRules": { + "type": "array", + "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method.", + "items": { + "$ref": "#/definitions/IpRule" + } + } + }, + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "IpRule": { + "properties": { + "value": { + "type": "string", + "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." + } + }, + "description": "The IP restriction rule of the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "properties": { + "id": { + "type": "string", + "description": "The resource id of the private endpoint resource from Microsoft.Network provider." + } + }, + "description": "The private endpoint resource from Microsoft.Network provider." + }, + "privateLinkServiceConnectionState": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the the private link service connection. Can be Pending, Approved, Rejected, or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "The description for the private link service connection state." + }, + "actionsRequired": { + "type": "string", + "description": "A description of any extra actions that may be required.", + "default": "None" + } + }, + "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint." + } + }, + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of Private Endpoint connections." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "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." + } + }, + "description": "Response containing a list of Private Endpoint connections.", + "x-ms-external": true + }, + "SharedPrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties", + "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceProperties": { + "properties": { + "privateLinkResourceId": { + "type": "string", + "description": "The resource id of the resource the shared private link resource is for." + }, + "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." + }, + "resourceRegion": { + "type": "string", + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).", + "externalDocs": { + "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.", + "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns" + } + }, + "status": { + "type": "string", + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": false + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the shared private link resource. Can be Updating, Deleting, Failed, Succeeded or Incomplete.", + "enum": [ + "Updating", + "Deleting", + "Failed", + "Succeeded", + "Incomplete" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceProvisioningState", + "modelAsString": false + } + } + }, + "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of Shared Private Link Resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of shared private link resources, if there are any." + } + }, + "description": "Response containing a list of Shared Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResourcesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The list of supported Private Link Resources." + } + }, + "description": "Response containing a list of supported Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a supported private link resource for the Azure Cognitive Search service." + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "readOnly": true, + "type": "string", + "description": "The group ID of the private link resource." + }, + "requiredMembers": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required members of the private link resource." + }, + "requiredZoneNames": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required DNS zone names of the private link resource." + }, + "shareablePrivateLinkResourceTypes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + }, + "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." + } + }, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." + }, + "ShareablePrivateLinkResourceType": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + } + }, + "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "ShareablePrivateLinkResourceProperties": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "groupId": { + "readOnly": true, + "type": "string", + "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + } + }, + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "SearchService": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes an Azure Cognitive Search service and its current state." + }, + "SearchServiceUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "location": { + "type": "string", + "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", + "externalDocs": { + "url": "https://aka.ms/search-rp-info" + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags to help categorize the resource in the Azure portal." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "The parameters used to update an Azure Cognitive Search service." + }, + "SearchServiceProperties": { + "properties": { + "replicaCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12, + "default": 1, + "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU." + }, + "partitionCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12, + "default": 1, + "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3." + }, + "hostingMode": { + "type": "string", + "default": "default", + "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.", + "enum": [ + "default", + "highDensity" + ], + "x-ms-enum": { + "name": "HostingMode", + "modelAsString": false + } + }, + "publicNetworkAccess": { + "type": "string", + "default": "enabled", + "description": "This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": false + } + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", + "enum": [ + "running", + "provisioning", + "deleting", + "degraded", + "disabled", + "error" + ], + "x-ms-enum": { + "name": "SearchServiceStatus", + "modelAsString": false + } + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "The details of the search service status." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.", + "enum": [ + "succeeded", + "provisioning", + "failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections to the Azure Cognitive Search service." + }, + "sharedPrivateLinkResources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources managed by the Azure Cognitive Search service." + } + }, + "description": "Properties of the search service." + }, + "SearchServiceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SearchService" + }, + "description": "The list of Search services." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size." + } + }, + "description": "Response containing a list of Azure Cognitive Search services.", + "x-ms-external": true + }, + "AsyncOperationResult": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The current status of the long running asynchronous shared private link resource operation.", + "enum": [ + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceAsyncOperationResult", + "modelAsString": true + } + } + }, + "description": "The details of a long running asynchronous shared private link resource operation" + }, + "CloudError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." + } + }, + "description": "Contains information about an API error.", + "x-ms-external": true + }, + "CloudErrorBody": { + "type": "object", + "description": "Describes a particular API error with an error code and a message.", + "properties": { + "code": { + "type": "string", + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." + }, + "message": { + "type": "string", + "description": "A message that describes the error in detail and provides debugging information." + }, + "target": { + "type": "string", + "description": "The target of the particular error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "Contains nested errors that are related to this error." + } + }, + "x-ms-external": true + }, + "Operation": { + "description": "Describes a REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation. This name is of the form {provider}/{resource}/{operation}.", + "readOnly": true, + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "readOnly": true, + "properties": { + "provider": { + "description": "The friendly name of the resource provider.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "The operation type: read, write, delete, listKeys/action, etc.", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "The resource type on which the operation is performed.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The friendly name of the operation.", + "readOnly": true, + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true, + "description": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of operation list results, if any." + } + } + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal.", + "x-ms-parameter-location": "method" + }, + "SearchServiceNameParameter": { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service associated with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "SharedPrivateLinkResourceNameParameter": { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", + "x-ms-parameter-location": "method" + }, + "OperationNameParameter": { + "name": "operationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a shared private link resource operation.", + "x-ms-parameter-location": "method" + }, + "ClientRequestIdParameter": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "clientRequestId", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "x-ms-client-request-id": true, + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for each request." + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/CreateOrUpdateSharedPrivateLinkResource.json deleted file mode 100644 index 9a595ad24cd6..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/CreateOrUpdateSharedPrivateLinkResource.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2020-03-13", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource", - "sharedPrivateLinkResource": { - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName" - } - } - }, - "responses": { - "200": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - }, - "201": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/DeleteSharedPrivateLinkResource.json deleted file mode 100644 index 71b307bfd2d2..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/DeleteSharedPrivateLinkResource.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2020-03-13", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" - }, - "responses": { - "200": {}, - "404": {} - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/GetSharedPrivateLinkResource.json deleted file mode 100644 index b2b8b3183ad9..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/GetSharedPrivateLinkResource.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2020-03-13", - "subscriptionId": "subid", - "sharedPrivateLinkResourceName": "testResource" - }, - "responses": { - "200": { - "body": { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSharedPrivateLinkResourcesByService.json deleted file mode 100644 index b456979fed5f..000000000000 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSharedPrivateLinkResourcesByService.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "parameters": { - "searchServiceName": "mysearchservice", - "resourceGroupName": "rg1", - "api-version": "2020-03-13", - "subscriptionId": "subid" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "testResource", - "properties": { - "requestMessage": "please approve", - "groupId": "blob", - "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", - "status": "Pending" - } - } - ] - } - } - } -} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSupportedPrivateLinkResources.json index f4794759ea8c..66b3f17038bb 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSupportedPrivateLinkResources.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/ListSupportedPrivateLinkResources.json @@ -20,48 +20,6 @@ ], "requiredZoneNames": [ "privatelink.search.windows.net" - ], - "shareablePrivateLinkResourceTypes": [ - { - "name": "blob", - "properties": { - "type": "Microsoft.Storage/storageAccounts", - "groupId": "blob", - "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" - } - }, - { - "name": "table", - "properties": { - "type": "Microsoft.Storage/storageAccounts", - "groupId": "table", - "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" - } - }, - { - "name": "Sql", - "properties": { - "type": "Microsoft.DocumentDB/databaseAccounts", - "groupId": "Sql", - "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)." - } - }, - { - "name": "plr", - "properties": { - "type": "Microsoft.Sql/servers", - "groupId": "sqlServer", - "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)." - } - }, - { - "name": "vault", - "properties": { - "type": "Microsoft.KeyVault/vaults", - "groupId": "vault", - "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data" - } - } ] } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateService.json index 54d65779055b..0beca37cc83f 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateService.json @@ -43,8 +43,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } }, @@ -71,8 +70,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json index c0c46c253951..7038e071d58f 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -44,8 +44,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } }, @@ -72,8 +71,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json index 04a1a93a0753..4cf1595e3e7c 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -60,8 +60,7 @@ } ] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } }, @@ -95,8 +94,7 @@ } ] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceWithIdentity.json index ffcb5f2574d3..33d6073aed1a 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceWithIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -46,8 +46,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "SystemAssigned", @@ -79,8 +78,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "SystemAssigned", diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchGetService.json index 673753347e5a..e2a263595715 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchGetService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchGetService.json @@ -29,8 +29,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesByResourceGroup.json index 9a06f209589a..77f15332d0bb 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesByResourceGroup.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesByResourceGroup.json @@ -30,8 +30,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } }, { @@ -56,8 +55,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } ] diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesBySubscription.json index 907991ee8dbe..5ceb81de727a 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesBySubscription.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchListServicesBySubscription.json @@ -29,8 +29,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } }, { @@ -55,8 +54,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } ] diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateService.json index 063d1a9325c4..6cf2e603e495 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateService.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateService.json @@ -39,8 +39,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json index cb73c5c6854a..14518382f355 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -37,8 +37,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json index 2220cb66433a..29ebfa811900 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -51,8 +51,7 @@ } ] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToRemoveIdentity.json index 5fcb2deacab0..662c187c43db 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToRemoveIdentity.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/examples/SearchUpdateServiceToRemoveIdentity.json @@ -35,8 +35,7 @@ "networkRuleSet": { "ipRules": [] }, - "privateEndpointConnections": [], - "sharedPrivateLinkResources": [] + "privateEndpointConnections": [] }, "identity": { "type": "None" diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/search.json index 4fe1afbaa3af..5b1307e54729 100644 --- a/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/search.json +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-03-13/search.json @@ -885,221 +885,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { - "put": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_CreateOrUpdate", - "x-ms-examples": { - "SharedPrivateLinkResourceCreateOrUpdate": { - "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" - } - }, - "description": "Creates or updates a shared private link resource managed by the Search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "name": "sharedPrivateLinkResource", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The definition of the shared private link resource to create or update." - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The existing shared private link resource definition was successfully updated.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "201": { - "description": "The shared private link resource was successfully created.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "default": { - "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled. HTTP 409 (Conflict): A shared private link resource of the same name is being deleted, please retry in a few minutes.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "get": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_Get", - "x-ms-examples": { - "SharedPrivateLinkResourceGet": { - "$ref": "./examples/GetSharedPrivateLinkResource.json" - } - }, - "description": "Gets the details of the shared private link resource managed by the Search service in the given resource group.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResource" - } - }, - "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, Search service or shared private link resource could not be found.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - }, - "delete": { - "tags": [ - "SharedPrivateLinkResources" - ], - "operationId": "SharedPrivateLinkResources_Delete", - "x-ms-examples": { - "SharedPrivateLinkResourceDelete": { - "$ref": "./examples/DeleteSharedPrivateLinkResource.json" - } - }, - "description": "Deletes the shared private link resource from the Search service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - }, - { - "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" - }, - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The shared private link resource was successfully deleted from the search service." - }, - "404": { - "description": "The subscription, resource group, Search service or shared private link resource could not be found." - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { - "get": { - "tags": [ - "SharedPrivateLinkResources" - ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "operationId": "SharedPrivateLinkResources_ListByService", - "x-ms-examples": { - "ListSharedPrivateLinkResourcesByService": { - "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" - } - }, - "description": "Gets a list of all shared private link resources managed by the given service.", - "externalDocs": { - "url": "https://aka.ms/search-manage" - }, - "parameters": [ - { - "$ref": "#/parameters/ClientRequestIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SearchServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", - "schema": { - "$ref": "#/definitions/SharedPrivateLinkResourceListResult" - } - }, - "default": { - "description": "An unexpected error occurred during the operation.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - } - } - }, "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { "get": { "tags": [ @@ -1442,84 +1227,6 @@ "description": "Response containing a list of Private Endpoint connections.", "x-ms-external": true }, - "SharedPrivateLinkResource": { - "x-ms-azure-resource": true, - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the shared private link resource.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" - } - }, - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the shared private link resource." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "The resource type." - }, - "properties": { - "$ref": "#/definitions/SharedPrivateLinkResourceProperties", - "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." - } - }, - "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." - }, - "SharedPrivateLinkResourceProperties": { - "properties": { - "privateLinkResourceId": { - "type": "string", - "description": "The resource id of the resource the shared private link resource is for." - }, - "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 managed by the Azure Cognitive Search service." - }, - "SharedPrivateLinkResourceListResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of Shared Private Link Resources." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of shared private link resources, if there are any." - } - }, - "description": "Response containing a list of Shared Private Link Resources.", - "x-ms-external": true - }, "PrivateLinkResourcesResult": { "properties": { "value": { @@ -1581,52 +1288,9 @@ "type": "string" }, "description": "The list of required DNS zone names of the private link resource." - }, - "shareablePrivateLinkResourceTypes": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ShareablePrivateLinkResourceType" - }, - "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." - } - }, - "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." - }, - "ShareablePrivateLinkResourceType": { - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "properties": { - "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", - "readOnly": true, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." } }, - "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "ShareablePrivateLinkResourceProperties": { - "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "groupId": { - "readOnly": true, - "type": "string", - "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." - }, - "description": { - "readOnly": true, - "type": "string", - "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." - } - }, - "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." }, "SearchService": { "properties": { @@ -1741,14 +1405,6 @@ "$ref": "#/definitions/PrivateEndpointConnection" }, "description": "The list of private endpoint connections to the Azure Cognitive Search service." - }, - "sharedPrivateLinkResources": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResource" - }, - "description": "The list of shared private link resources managed by the Azure Cognitive Search service." } }, "description": "Properties of the Search service." @@ -1969,14 +1625,6 @@ "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", "x-ms-parameter-location": "method" }, - "SharedPrivateLinkResourceNameParameter": { - "name": "sharedPrivateLinkResourceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", - "x-ms-parameter-location": "method" - }, "ClientRequestIdParameter": { "name": "x-ms-client-request-id", "x-ms-client-name": "clientRequestId", @@ -2003,7 +1651,7 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for each request. The current version is 2019-10-01-Preview." + "description": "The API version to use for each request." } } } diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/CreateOrUpdateSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/CreateOrUpdateSharedPrivateLinkResource.json new file mode 100644 index 000000000000..24bb3d0f8b02 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/CreateOrUpdateSharedPrivateLinkResource.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource", + "sharedPrivateLinkResource": { + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "resourceRegion": null + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2020-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/08586060559526078782?api-version=2020-08-01" + } + }, + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeletePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..5a01604954aa --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeletePrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Disconnected", + "description": "", + "actionsRequired": "None" + } + } + } + }, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeleteSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeleteSharedPrivateLinkResource.json new file mode 100644 index 000000000000..b290ae25cc12 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/DeleteSharedPrivateLinkResource.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2020-08-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchService/sharedPrivateLinkResources/testResource/operationStatuses/159c5e07-c829-4896-8aba-a1d4fcc7c89c?api-version=2020-08-01" + } + }, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetPrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..2f6b49214fd7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetSharedPrivateLinkResource.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetSharedPrivateLinkResource.json new file mode 100644 index 000000000000..8c8ac94ba49d --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/GetSharedPrivateLinkResource.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "sharedPrivateLinkResourceName": "testResource" + }, + "responses": { + "200": { + "body": { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListPrivateEndpointConnectionsByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListPrivateEndpointConnectionsByService.json new file mode 100644 index 000000000000..3d691fbacdc5 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListPrivateEndpointConnectionsByService.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSharedPrivateLinkResourcesByService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSharedPrivateLinkResourcesByService.json new file mode 100644 index 000000000000..462327452964 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSharedPrivateLinkResourcesByService.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testResource", + "type": "Microsoft.Search/searchServices/sharedPrivateLinkResources", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/sharedPrivateLinkResources/testResource", + "properties": { + "requestMessage": "please approve", + "groupId": "blob", + "privateLinkResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Storage/storageAccounts/storageAccountName", + "status": "Pending", + "resourceRegion": null + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSupportedPrivateLinkResources.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSupportedPrivateLinkResources.json new file mode 100644 index 000000000000..c6e38d5d462d --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/ListSupportedPrivateLinkResources.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateLinkResources/searchService", + "name": "searchService", + "type": "Microsoft.Search/searchServices/privateLinkResources", + "properties": { + "groupId": "searchService", + "requiredMembers": [ + "searchService" + ], + "requiredZoneNames": [ + "privatelink.search.windows.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "blob", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "groupId": "blob", + "description": "Azure Cognitive Search indexers can connect to blobs in Azure Storage for reading data (data source), for writing intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" + } + }, + { + "name": "table", + "properties": { + "type": "Microsoft.Storage/storageAccounts", + "groupId": "table", + "description": "Azure Cognitive Search indexers can connect to tables in Azure Storage for reading data (data source), for writing book-keeping information about intermediate results of indexer execution (annotation cache, preview) or for storing any knowledge store projections (preview)" + } + }, + { + "name": "Sql", + "properties": { + "type": "Microsoft.DocumentDB/databaseAccounts", + "groupId": "Sql", + "description": "Azure Cognitive Search indexers can connect to CosmosDB using the SQL head for reading data (data source)." + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.Sql/servers", + "groupId": "sqlServer", + "description": "Azure Cognitive Search indexers can connect to AzureSQL databases in a SQL server for reading data (data source)." + } + }, + { + "name": "vault", + "properties": { + "type": "Microsoft.KeyVault/vaults", + "groupId": "vault", + "description": "Azure Cognitive Search can access keys in Azure Key Vault to encrypt search index and synonym map data" + } + }, + { + "name": "plr", + "properties": { + "type": "Microsoft.DBforMySQL/servers", + "groupId": "mysqlServer", + "description": "Azure Cognitive Search indexers can connect to MySQL databases for reading data (data source, preview)." + } + }, + { + "name": "site", + "properties": { + "type": "Microsoft.Web/sites", + "groupId": "sites", + "description": "Azure Cognitive Search indexers can connect to App Services when executing custom web api skills that can be present in a skillset (optional) attached to the indexer." + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCheckNameAvailability.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCheckNameAvailability.json new file mode 100644 index 000000000000..f973a4783c8d --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "subid", + "checkNameAvailabilityInput": { + "name": "mysearchservice", + "type": "searchServices" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateService.json new file mode 100644 index 000000000000..679065c266d5 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateService.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..847cbc887428 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "disabled", + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..57b221deaba6 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "privateEndpointConnections": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceWithIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceWithIdentity.json new file mode 100644 index 000000000000..7145ff6a576c --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateOrUpdateServiceWithIdentity.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "hostingMode": "default" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9d1e1f18-2122-4988-a11c-878782e40a5c", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateQueryKey.json new file mode 100644 index 000000000000..fd65a7329468 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchCreateQueryKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "name": "Query key for browser-based clients", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "Query key for browser-based clients", + "key": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteQueryKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteQueryKey.json new file mode 100644 index 000000000000..9c0fedbe4365 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteQueryKey.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "key": "", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteService.json new file mode 100644 index 000000000000..0f74e1d83143 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchDeleteService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "204": {}, + "404": {} + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetAdminKeys.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetAdminKeys.json new file mode 100644 index 000000000000..d2951637cc7f --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetAdminKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetService.json new file mode 100644 index 000000000000..beb7c5224e1c --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchGetService.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListQueryKeysBySearchService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListQueryKeysBySearchService.json new file mode 100644 index 000000000000..052d7bad11eb --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListQueryKeysBySearchService.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Query key for browser-based clients", + "key": "" + }, + { + "name": "Query key for mobile clients", + "key": "" + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesByResourceGroup.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesByResourceGroup.json new file mode 100644 index 000000000000..000882a556c9 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice2", + "name": "mysearchservice2", + "location": "eastus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesBySubscription.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesBySubscription.json new file mode 100644 index 000000000000..38ab8da5cf47 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchListServicesBySubscription.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Search/searchServices/mysearchservice2", + "name": "mysearchservice2", + "location": "eastus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchRegenerateAdminKey.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchRegenerateAdminKey.json new file mode 100644 index 000000000000..7441c4e84dd4 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchRegenerateAdminKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "keyKind": "primary", + "api-version": "2020-08-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateService.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateService.json new file mode 100644 index 000000000000..eb910e6100d7 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateService.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "properties": { + "replicaCount": 2 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 2, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json new file mode 100644 index 000000000000..8068f7b76318 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "publicNetworkAccess": "disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "basic" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "disabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json new file mode 100644 index 000000000000..14d7c421d258 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "10.2.3.4" + } + ] + }, + "privateEndpointConnections": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToRemoveIdentity.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToRemoveIdentity.json new file mode 100644 index 000000000000..40a16e42b72c --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/SearchUpdateServiceToRemoveIdentity.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "service": { + "sku": { + "name": "standard" + }, + "identity": { + "type": "None" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": {}, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [] + }, + "privateEndpointConnections": [] + }, + "identity": { + "type": "None" + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/UpdatePrivateEndpointConnection.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/UpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..97eab9a25754 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/examples/UpdatePrivateEndpointConnection.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2020-08-01", + "subscriptionId": "subid", + "privateEndpointConnectionName": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected for some reason" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice/privateEndpointConnections/testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "name": "testEndpoint.50bf4fbe-d7c1-4b48-a642-4f5892642546", + "type": "Microsoft.Search/searchServices/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/testEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected for some reason", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/search.json b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/search.json new file mode 100644 index 000000000000..b7e40aba57e2 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/stable/2020-08-01/search.json @@ -0,0 +1,2024 @@ +{ + "swagger": "2.0", + "info": { + "title": "SearchManagementClient", + "description": "Client that can be used to manage Azure Cognitive Search services and API keys.", + "version": "2020-08-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.Search/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.Search provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": { + "post": { + "tags": [ + "AdminKeys" + ], + "operationId": "AdminKeys_Get", + "x-ms-examples": { + "SearchGetAdminKeys": { + "$ref": "./examples/SearchGetAdminKeys.json" + } + }, + "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/regenerateAdminKey/{keyKind}": { + "post": { + "tags": [ + "AdminKeys" + ], + "operationId": "AdminKeys_Regenerate", + "x-ms-examples": { + "SearchRegenerateAdminKey": { + "$ref": "./examples/SearchRegenerateAdminKey.json" + } + }, + "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "keyKind", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "AdminKeyKind", + "modelAsString": false + }, + "description": "Specifies which key to regenerate. Valid values include 'primary' and 'secondary'." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.", + "schema": { + "$ref": "#/definitions/AdminKeyResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/createQueryKey/{name}": { + "post": { + "tags": [ + "QueryKeys" + ], + "operationId": "QueryKeys_Create", + "x-ms-examples": { + "SearchCreateQueryKey": { + "$ref": "./examples/SearchCreateQueryKey.json" + } + }, + "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the new query API key." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "schema": { + "$ref": "#/definitions/QueryKey" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": { + "post": { + "tags": [ + "QueryKeys" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "QueryKeys_ListBySearchService", + "x-ms-examples": { + "SearchListQueryKeysBySearchService": { + "$ref": "./examples/SearchListQueryKeysBySearchService.json" + } + }, + "description": "Returns the list of query API keys for the given Azure Cognitive Search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "schema": { + "$ref": "#/definitions/ListQueryKeysResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/deleteQueryKey/{key}": { + "delete": { + "tags": [ + "QueryKeys" + ], + "operationId": "QueryKeys_Delete", + "x-ms-examples": { + "SearchDeleteQueryKey": { + "$ref": "./examples/SearchDeleteQueryKey.json" + } + }, + "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "name": "key", + "in": "path", + "required": true, + "type": "string", + "description": "The query key to be deleted. Query keys are identified by value, not by name." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The query key was successfully deleted." + }, + "204": { + "description": "The query key was successfully deleted." + }, + "404": { + "description": "The subscription, resource group, search service, or query key could not be found." + }, + "default": { + "description": "HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}": { + "put": { + "tags": [ + "Services" + ], + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "SearchCreateOrUpdateService": { + "$ref": "./examples/SearchCreateOrUpdateService.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json" + }, + "SearchCreateOrUpdateServiceWithIdentity": { + "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json" + } + }, + "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchService" + }, + "description": "The definition of the search service to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "201": { + "description": "If you requested creation of a free search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service name or service definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Services" + ], + "operationId": "Services_Update", + "x-ms-examples": { + "SearchUpdateService": { + "$ref": "./examples/SearchUpdateService.json" + }, + "SearchUpdateServiceToRemoveIdentity": { + "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json" + }, + "searchUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "searchUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json" + } + }, + "description": "Updates an existing search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to update." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchServiceUpdate" + }, + "description": "The definition of the search service to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Services" + ], + "operationId": "Services_Get", + "x-ms-examples": { + "SearchGetService": { + "$ref": "./examples/SearchGetService.json" + } + }, + "description": "Gets the search service with the given name in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service name could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Services" + ], + "operationId": "Services_Delete", + "x-ms-examples": { + "SearchDeleteService": { + "$ref": "./examples/SearchDeleteService.json" + } + }, + "description": "Deletes a search service in the given resource group, along with its associated resources.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The search service was successfully deleted." + }, + "204": { + "description": "The search service was successfully deleted." + }, + "404": { + "description": "The subscription, resource group, or search service could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "SearchListServicesByResourceGroup": { + "$ref": "./examples/SearchListServicesByResourceGroup.json" + } + }, + "description": "Gets a list of all search services in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given resource group.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "operationId": "PrivateLinkResources_ListSupported", + "x-ms-examples": { + "ListSupportedPrivateLinkResources": { + "$ref": "./examples/ListSupportedPrivateLinkResources.json" + } + }, + "description": "Gets a list of all supported private link resource types for the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all supported private link resource types for the given service.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnectionUpdate": { + "$ref": "./examples/UpdatePrivateEndpointConnection.json" + } + }, + "description": "Updates a Private Endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The definition of the private endpoint connection to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing private endpoint connection definition was successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given private endpoint connection name or the private endpoint connection definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } + }, + "description": "Gets the details of the private endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } + }, + "description": "Disconnects the private endpoint connection and deletes it from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully disconnected and removed from the search service. The response will contain the updated definition of the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "404": { + "description": "The subscription, resource group, search service or private endpoint connection could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "PrivateEndpointConnections_ListByService", + "x-ms-examples": { + "ListPrivateEndpointConnectionsByService": { + "$ref": "./examples/ListPrivateEndpointConnectionsByService.json" + } + }, + "description": "Gets a list of all private endpoint connections in the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all private endpoint connections for the given service.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "put": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_CreateOrUpdate", + "x-ms-examples": { + "SharedPrivateLinkResourceCreateOrUpdate": { + "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the creation or update of a shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "name": "sharedPrivateLinkResource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The definition of the shared private link resource to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The details of the shared private link resource that was created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "202": { + "description": "The shared private link resource create or update operation has been accepted and will complete asynchronously." + }, + "default": { + "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Get", + "x-ms-examples": { + "SharedPrivateLinkResourceGet": { + "$ref": "./examples/GetSharedPrivateLinkResource.json" + } + }, + "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Delete", + "x-ms-examples": { + "SharedPrivateLinkResourceDelete": { + "$ref": "./examples/DeleteSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the deletion of the shared private link resource from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "The shared private link resource deletion operation was accepted and will complete asynchronously." + }, + "204": { + "description": "The backing private endpoint for the shared private link resource could not be found." + }, + "404": { + "description": "The subscription, resource group, search service or shared private link resource could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "SharedPrivateLinkResources_ListByService", + "x-ms-examples": { + "ListSharedPrivateLinkResourcesByService": { + "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" + } + }, + "description": "Gets a list of all shared private link resources managed by the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListBySubscription", + "x-ms-examples": { + "SearchListServicesBySubscription": { + "$ref": "./examples/SearchListServicesBySubscription.json" + } + }, + "description": "Gets a list of all search services in the given subscription.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given subscription.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { + "post": { + "tags": [ + "Services" + ], + "description": "Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "SearchCheckNameAvailability": { + "$ref": "./examples/SearchCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "The resource name and type to check.", + "x-ms-client-flatten": true, + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CheckNameAvailabilityInput": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.", + "type": "string", + "enum": [ + "searchServices" + ], + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false + } + } + }, + "description": "Input of check name availability API." + }, + "CheckNameAvailabilityOutput": { + "type": "object", + "properties": { + "nameAvailable": { + "x-ms-client-name": "IsNameAvailable", + "description": "A value indicating whether the name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.", + "type": "string", + "readOnly": true, + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "UnavailableNameReason", + "modelAsString": true + } + }, + "message": { + "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.", + "type": "string", + "readOnly": true + } + }, + "description": "Output of check name availability API." + }, + "AdminKeyResult": { + "properties": { + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "The primary admin API key of the search service." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "The secondary admin API key of the search service." + } + }, + "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service." + }, + "QueryKey": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the query API key; may be empty." + }, + "key": { + "readOnly": true, + "type": "string", + "description": "The value of the query API key." + } + }, + "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only." + }, + "ListQueryKeysResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/QueryKey" + }, + "description": "The query keys for the Azure Cognitive Search service." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size." + } + }, + "description": "Response containing the query API keys for a given Azure Cognitive Search service.", + "x-ms-external": true + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'", + "enum": [ + "free", + "basic", + "standard", + "standard2", + "standard3", + "storage_optimized_l1", + "storage_optimized_l2" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "NetworkRuleSet": { + "properties": { + "ipRules": { + "type": "array", + "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method.", + "items": { + "$ref": "#/definitions/IpRule" + } + } + }, + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "IpRule": { + "properties": { + "value": { + "type": "string", + "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." + } + }, + "description": "The IP restriction rule of the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "properties": { + "id": { + "type": "string", + "description": "The resource id of the private endpoint resource from Microsoft.Network provider." + } + }, + "description": "The private endpoint resource from Microsoft.Network provider." + }, + "privateLinkServiceConnectionState": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the the private link service connection. Can be Pending, Approved, Rejected, or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "The description for the private link service connection state." + }, + "actionsRequired": { + "type": "string", + "description": "A description of any extra actions that may be required.", + "default": "None" + } + }, + "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint." + } + }, + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of Private Endpoint connections." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "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." + } + }, + "description": "Response containing a list of Private Endpoint connections.", + "x-ms-external": true + }, + "SharedPrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties", + "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceProperties": { + "properties": { + "privateLinkResourceId": { + "type": "string", + "description": "The resource id of the resource the shared private link resource is for." + }, + "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." + }, + "resourceRegion": { + "type": "string", + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).", + "externalDocs": { + "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.", + "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns" + } + }, + "status": { + "type": "string", + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": false + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the shared private link resource. Can be Updating, Deleting, Failed, Succeeded or Incomplete.", + "enum": [ + "Updating", + "Deleting", + "Failed", + "Succeeded", + "Incomplete" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceProvisioningState", + "modelAsString": false + } + } + }, + "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of Shared Private Link Resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of shared private link resources, if there are any." + } + }, + "description": "Response containing a list of Shared Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResourcesResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The list of supported Private Link Resources." + } + }, + "description": "Response containing a list of supported Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a supported private link resource for the Azure Cognitive Search service." + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "readOnly": true, + "type": "string", + "description": "The group ID of the private link resource." + }, + "requiredMembers": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required members of the private link resource." + }, + "requiredZoneNames": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required DNS zone names of the private link resource." + }, + "shareablePrivateLinkResourceTypes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + }, + "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." + } + }, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." + }, + "ShareablePrivateLinkResourceType": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + } + }, + "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "ShareablePrivateLinkResourceProperties": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "groupId": { + "readOnly": true, + "type": "string", + "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + } + }, + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "SearchService": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes an Azure Cognitive Search service and its current state." + }, + "SearchServiceUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "location": { + "type": "string", + "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", + "externalDocs": { + "url": "https://aka.ms/search-rp-info" + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags to help categorize the resource in the Azure portal." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "The parameters used to update an Azure Cognitive Search service." + }, + "SearchServiceProperties": { + "properties": { + "replicaCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12, + "default": 1, + "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU." + }, + "partitionCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 12, + "default": 1, + "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3." + }, + "hostingMode": { + "type": "string", + "default": "default", + "description": "Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'.", + "enum": [ + "default", + "highDensity" + ], + "x-ms-enum": { + "name": "HostingMode", + "modelAsString": false + } + }, + "publicNetworkAccess": { + "type": "string", + "default": "enabled", + "description": "This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": false + } + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", + "enum": [ + "running", + "provisioning", + "deleting", + "degraded", + "disabled", + "error" + ], + "x-ms-enum": { + "name": "SearchServiceStatus", + "modelAsString": false + } + }, + "statusDetails": { + "readOnly": true, + "type": "string", + "description": "The details of the search service status." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.", + "enum": [ + "succeeded", + "provisioning", + "failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections to the Azure Cognitive Search service." + }, + "sharedPrivateLinkResources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources managed by the Azure Cognitive Search service." + } + }, + "description": "Properties of the search service." + }, + "SearchServiceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SearchService" + }, + "description": "The list of search services." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size." + } + }, + "description": "Response containing a list of Azure Cognitive Search services.", + "x-ms-external": true + }, + "AsyncOperationResult": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The current status of the long running asynchronous shared private link resource operation.", + "enum": [ + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceAsyncOperationResult", + "modelAsString": true + } + } + }, + "description": "The details of a long running asynchronous shared private link resource operation" + }, + "CloudError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." + } + }, + "description": "Contains information about an API error.", + "x-ms-external": true + }, + "CloudErrorBody": { + "type": "object", + "description": "Describes a particular API error with an error code and a message.", + "properties": { + "code": { + "type": "string", + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." + }, + "message": { + "type": "string", + "description": "A message that describes the error in detail and provides debugging information." + }, + "target": { + "type": "string", + "description": "The target of the particular error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "Contains nested errors that are related to this error." + } + }, + "x-ms-external": true + }, + "Operation": { + "description": "Describes a REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation. This name is of the form {provider}/{resource}/{operation}.", + "readOnly": true, + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "readOnly": true, + "properties": { + "provider": { + "description": "The friendly name of the resource provider.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "The operation type: read, write, delete, listKeys/action, etc.", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "The resource type on which the operation is performed.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The friendly name of the operation.", + "readOnly": true, + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true, + "description": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of operation list results, if any." + } + } + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the current subscription. You can obtain this value from the Azure Resource Manager API or the portal.", + "x-ms-parameter-location": "method" + }, + "SearchServiceNameParameter": { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service associated with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "SharedPrivateLinkResourceNameParameter": { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", + "x-ms-parameter-location": "method" + }, + "OperationNameParameter": { + "name": "operationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a shared private link resource operation.", + "x-ms-parameter-location": "method" + }, + "ClientRequestIdParameter": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "clientRequestId", + "in": "header", + "required": false, + "type": "string", + "format": "uuid", + "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", + "x-ms-client-request-id": true, + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription. You can obtain this value from the Azure Resource Manager API or the portal." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for each request." + } + } +} diff --git a/specification/search/resource-manager/readme.azureresourceschema.md b/specification/search/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..13dc9c705646 --- /dev/null +++ b/specification/search/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,84 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-search-2020-08-01-preview + - tag: schema-search-2020-08-01 + - tag: schema-search-2020-03-13 + - tag: schema-search-2019-10-01-preview + - tag: schema-search-2015-08-19 + - tag: schema-search-2015-02-28 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-search-2020-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-search-2020-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/preview/2020-08-01-preview/search.json + +``` + +### Tag: schema-search-2020-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-search-2020-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/stable/2020-08-01/search.json + +``` + +### Tag: schema-search-2020-03-13 and azureresourceschema + +``` yaml $(tag) == 'schema-search-2020-03-13' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/stable/2020-03-13/search.json + +``` + +### Tag: schema-search-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-search-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/preview/2019-10-01-preview/search.json + +``` + +### Tag: schema-search-2015-08-19 and azureresourceschema + +``` yaml $(tag) == 'schema-search-2015-08-19' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/stable/2015-08-19/search.json + +``` + +### Tag: schema-search-2015-02-28 and azureresourceschema + +``` yaml $(tag) == 'schema-search-2015-02-28' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Search/stable/2015-02-28/search.json + +``` diff --git a/specification/search/resource-manager/readme.go.md b/specification/search/resource-manager/readme.go.md index 0c4e0350036e..e93d6897eedb 100644 --- a/specification/search/resource-manager/readme.go.md +++ b/specification/search/resource-manager/readme.go.md @@ -13,9 +13,28 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-08 + - tag: package-2020-03 - tag: package-2015-08 - tag: package-2015-02 ``` +### Tag: package-2020-08 and go + +These settings apply only when `--tag=package-2020-08 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-08' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-08-01/$(namespace) +``` + +### Tag: package-2020-03 and go + +These settings apply only when `--tag=package-2020-03 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-03' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-03-13/$(namespace) +``` ### Tag: package-2015-08 and go diff --git a/specification/search/resource-manager/readme.md b/specification/search/resource-manager/readme.md index ea9072326d03..4341e33a2fe8 100644 --- a/specification/search/resource-manager/readme.md +++ b/specification/search/resource-manager/readme.md @@ -26,7 +26,15 @@ These are the global settings for the SearchManagementClient API. ``` yaml openapi-type: arm -tag: package-2020-03 +tag: package-2020-08 +``` + +### Tag: package-2020-08 + +These settings apply only when `--tag=package-2020-08` is specified on the command line. +``` yaml $(tag) == 'package-2020-08' +input-file: +- Microsoft.Search/stable/2020-08-01/search.json ``` ### Tag: package-2020-03 @@ -55,9 +63,19 @@ input-file: - Microsoft.Search/stable/2015-02-28/search.json ``` +### Tag: package-2020-08-preview + +These settings apply only when `--tag=package-2020-08-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08-preview' +input-file: +- Microsoft.Search/preview/2020-08-01-preview/search.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' input-file: - Microsoft.Search/preview/2019-10-01-preview/search.json @@ -84,6 +102,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_search'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js search/resource-manager ``` @@ -126,6 +147,7 @@ batch: - tag: package-2015-02 - tag: package-2015-08 - tag: package-2020-03 + - tag: package-2020-08 ``` ### Tag: package-2015-02 and java @@ -167,6 +189,23 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-08 and java + +These settings apply only when `--tag=package-2020-08 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.search.v2020_08_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/search/mgmt-resource-manager/v2020_08_01 +regenerate-manager: true +generate-interface: true +``` + + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## Multi-API/Profile support for AutoRest v3 generators @@ -180,9 +219,11 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Search/stable/2020-08-01/search.json - $(this-folder)/Microsoft.Search/stable/2020-03-13/search.json - $(this-folder)/Microsoft.Search/stable/2015-08-19/search.json - $(this-folder)/Microsoft.Search/stable/2015-02-28/search.json + - $(this-folder)/Microsoft.Search/preview/2020-08-01-preview/search.json - $(this-folder)/Microsoft.Search/preview/2019-10-01-preview/search.json ``` diff --git a/specification/search/resource-manager/readme.ruby.md b/specification/search/resource-manager/readme.ruby.md index 8919ed6a6c05..015606328a5a 100644 --- a/specification/search/resource-manager/readme.ruby.md +++ b/specification/search/resource-manager/readme.ruby.md @@ -14,6 +14,7 @@ azure-arm: true batch: - tag: package-2015-08 - tag: package-2020-03 + - tag: package-2020-08 ``` ### Tag: package-2015-08 and ruby @@ -34,4 +35,14 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-08' && $(ruby) +namespace: "Azure::Search::Mgmt::V2020_08_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_search/lib ``` \ No newline at end of file diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json index 87aacf936084..1121d592edc7 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/automations.json @@ -158,8 +158,11 @@ }, "put": { "x-ms-examples": { - "Create or update a security automation": { - "$ref": "./examples/Automations/PutAutomation_example.json" + "Create or update a security automation for all assessments": { + "$ref": "./examples/Automations/PutAutomationAllAssessments_example.json" + }, + "Create or update a security automation for all high severity assessments": { + "$ref": "./examples/Automations/PutAutomationHighSeverityAssessments_example.json" }, "Disable or enable a security automation": { "$ref": "./examples/Automations/PutDisableAutomation_example.json" @@ -373,6 +376,7 @@ "description": "A valid event source type.", "enum": [ "Assessments", + "SubAssessments", "Alerts" ], "x-ms-enum": { @@ -382,6 +386,9 @@ { "value": "Assessments" }, + { + "value": "SubAssessments" + }, { "value": "Alerts" } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationAllAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationAllAssessments_example.json new file mode 100644 index 000000000000..59b97b381e18 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationAllAssessments_example.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "automationName": "exampleAutomation", + "resourceGroupName": "exampleResourceGroup", + "Automation": { + "location": "Central US", + "etag": "etag value (must be supplied for update)", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments" + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp", + "uri": "https://exampleTriggerUri1.com" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation", + "name": "exampleAutomation", + "type": "Microsoft.Security/automations", + "location": "Central US", + "etag": "new etag value", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/SecurityAutomations/exampleAutomation", + "name": "exampleAutomation", + "type": "Microsoft.Security/SecurityAutomations", + "location": "Central US", + "etag": "new etag value", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp" + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationHighSeverityAssessments_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationHighSeverityAssessments_example.json new file mode 100644 index 000000000000..d79b128f65df --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomationHighSeverityAssessments_example.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "automationName": "exampleAutomation", + "resourceGroupName": "exampleResourceGroup", + "Automation": { + "location": "Central US", + "etag": "etag value (must be supplied for update)", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any high severity security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [ + { + "rules": [ + { + "propertyJPath": "properties.metadata.severity", + "propertyType": "String", + "expectedValue": "High", + "operator": "Equals" + } + ] + } + ] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp", + "uri": "https://exampleTriggerUri1.com" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation", + "name": "exampleAutomation", + "type": "Microsoft.Security/automations", + "location": "Central US", + "etag": "new etag value", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any high severity security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [ + { + "rules": [ + { + "propertyJPath": "properties.metadata.severity", + "propertyType": "String", + "expectedValue": "High", + "operator": "Equals" + } + ] + } + ] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/SecurityAutomations/exampleAutomation", + "name": "exampleAutomation", + "type": "Microsoft.Security/SecurityAutomations", + "location": "Central US", + "etag": "new etag value", + "tags": {}, + "properties": { + "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any high severity security assessment", + "isEnabled": true, + "scopes": [ + { + "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", + "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" + } + ], + "sources": [ + { + "eventSource": "Assessments", + "ruleSets": [ + { + "rules": [ + { + "propertyJPath": "properties.metadata.severity", + "propertyType": "String", + "expectedValue": "High", + "operator": "Equals" + } + ] + } + ] + } + ], + "actions": [ + { + "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", + "actionType": "LogicApp" + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json deleted file mode 100644 index f0fb970efdf8..000000000000 --- a/specification/security/resource-manager/Microsoft.Security/preview/2019-01-01-preview/examples/Automations/PutAutomation_example.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "parameters": { - "api-version": "2019-01-01-preview", - "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", - "automationName": "exampleAutomation", - "resourceGroupName": "exampleResourceGroup", - "Automation": { - "location": "Central US", - "etag": "etag value (must be supplied for update)", - "tags": {}, - "properties": { - "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment", - "isEnabled": true, - "scopes": [ - { - "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", - "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" - } - ], - "sources": [ - { - "eventSource": "Assessments", - "ruleSets": [ - { - "rules": [ - { - "propertyJPath": "$.Entity.AssessmentType", - "propertyType": "String", - "expectedValue": "customAssessment", - "operator": "Equals" - } - ] - } - ] - } - ], - "actions": [ - { - "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", - "actionType": "LogicApp", - "uri": "https://exampleTriggerUri1.com" - } - ] - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/automations/exampleAutomation", - "name": "exampleAutomation", - "type": "Microsoft.Security/automations", - "location": "Central US", - "etag": "new etag value", - "tags": {}, - "properties": { - "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment", - "isEnabled": true, - "scopes": [ - { - "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", - "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" - } - ], - "sources": [ - { - "eventSource": "Assessments", - "ruleSets": [ - { - "rules": [ - { - "propertyJPath": "$.Entity.AssessmentType", - "propertyType": "String", - "expectedValue": "customAssessment", - "operator": "Equals" - } - ] - } - ] - } - ], - "actions": [ - { - "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", - "actionType": "LogicApp" - } - ] - } - } - }, - "201": { - "body": { - "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/SecurityAutomations/exampleAutomation", - "name": "exampleAutomation", - "type": "Microsoft.Security/SecurityAutomations", - "location": "Central US", - "etag": "new etag value", - "tags": {}, - "properties": { - "description": "An example of a security automation that triggers one LogicApp resource (myTest1) on any security assessment of type customAssessment", - "isEnabled": true, - "scopes": [ - { - "description": "A description that helps to identify this scope - for example: security assessments that relate to the resource group myResourceGroup within the subscription a5caac9c-5c04-49af-b3d0-e204f40345d5", - "scopePath": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/myResourceGroup" - } - ], - "sources": [ - { - "eventSource": "Assessments", - "ruleSets": [ - { - "rules": [ - { - "propertyJPath": "$.Entity.AssessmentType", - "propertyType": "String", - "expectedValue": "customAssessment", - "operator": "Equals" - } - ] - } - ] - } - ], - "actions": [ - { - "logicAppResourceId": "/subscriptions/e54a4a18-5b94-4f90-9471-bd3decad8a2e/resourceGroups/sample/providers/Microsoft.Logic/workflows/MyTest1", - "actionType": "LogicApp" - } - ] - } - } - } - } -} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/connectors.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/connectors.json new file mode 100644 index 000000000000..665e132c03d2 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/connectors.json @@ -0,0 +1,618 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-01-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}/providers/Microsoft.Security/connectors": { + "get": { + "x-ms-examples": { + "Get all Cloud accounts connectors of a subscription": { + "$ref": "./examples/Connectors/GetListConnectorSubscription_example.json" + } + }, + "tags": [ + "Connectors" + ], + "description": "Cloud accounts connectors of a subscription", + "operationId": "Connectors_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectorSettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/connectors/{connectorName}": { + "get": { + "x-ms-examples": { + "Details of a specific cloud account connector": { + "$ref": "./examples/Connectors/GetConnectorSubscription_example.json" + } + }, + "tags": [ + "Connectors" + ], + "description": "Details of a specific cloud account connector", + "operationId": "Connectors_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ConnectorName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectorSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "AwsCred - Create a cloud account connector for a subscription": { + "$ref": "./examples/Connectors/CreateUpdateAwsCredConnectorSubscription_example.json" + }, + "AwsAssumeRole - Create a cloud account connector for a subscription": { + "$ref": "./examples/Connectors/CreateUpdateAwsAssumeRoleConnectorSubscription_example.json" + }, + "gcpCredentials - Create a cloud account connector for a subscription": { + "$ref": "./examples/Connectors/CreateUpdateGcpCredentialsConnectorSubscription_example.json" + } + }, + "tags": [ + "Connectors" + ], + "description": "Create a cloud account connector or update an existing one. Connect to your AWS cloud account using either account credentials or role-based authentication.", + "operationId": "Connectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ConnectorName" + }, + { + "$ref": "#/parameters/ConnectorSetting" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectorSetting" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a cloud account connector from a subscription": { + "$ref": "./examples/Connectors/DeleteConnectorSubscription_example.json" + } + }, + "tags": [ + "Connectors" + ], + "description": "Delete a cloud account connector from a subscription", + "operationId": "Connectors_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ConnectorName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "The connector is not found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ConnectorSettingList": { + "type": "object", + "description": "For a subscription, list of all cloud account connectors and their settings", + "properties": { + "value": { + "description": "List of all the cloud account connector settings", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectorSetting" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "ConnectorSetting": { + "type": "object", + "description": "The connector setting", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Connector setting data", + "$ref": "#/definitions/ConnectorSettingProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "ConnectorSettingProperties": { + "type": "object", + "description": "Describes properties of an connector setting", + "properties": { + "hybridComputeSettings": { + "description": "Settings for hybrid compute management, these settings are relevant only Arc autoProvision (Hybrid Compute).", + "type": "object", + "$ref": "#/definitions/HybridComputeSettingsProperties" + }, + "authenticationDetails": { + "description": "Settings for authentication management, these settings are relevant only for the cloud connector.", + "type": "object", + "$ref": "#/definitions/AuthenticationDetailsProperties" + } + } + }, + "HybridComputeSettingsProperties": { + "type": "object", + "description": "Settings for hybrid compute management", + "properties": { + "hybridComputeProvisioningState": { + "description": "State of the service principal and its secret", + "type": "string", + "readOnly": true, + "enum": [ + "Valid", + "Invalid", + "Expired" + ], + "x-ms-enum": { + "name": "hybridComputeProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Valid", + "description": "Valid service principal details." + }, + { + "value": "Invalid", + "description": "Invalid service principal details." + }, + { + "value": "Expired", + "description": "the service principal details are expired" + } + ] + } + }, + "autoProvision": { + "type": "string", + "description": "Whether or not to automatically install Azure Arc (hybrid compute) agents on machines", + "enum": [ + "On", + "Off" + ], + "x-ms-enum": { + "name": "autoProvision", + "modelAsString": true, + "values": [ + { + "value": "On", + "description": "Install missing Azure Arc agent on VMs automatically" + }, + { + "value": "Off", + "description": "Do not install Azure Arc agent on the VMs automatically" + } + ] + } + }, + "resourceGroupName": { + "type": "string", + "description": "The name of the resource group where Arc (Hybrid Compute) connectors are connected." + }, + "region": { + "type": "string", + "description": "The location where the meta data of machines will be stored", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "proxyServer": { + "type": "object", + "description": "For a non-Azure machine that is not connected directly to the internet, specify a proxy server that the non-Azure machine can use.", + "$ref": "#/definitions/ProxyServerProperties" + }, + "servicePrincipal": { + "description": "An object to access resources that are secured by an Azure AD tenant.", + "type": "object", + "$ref": "#/definitions/ServicePrincipalProperties" + } + }, + "required": [ + "autoProvision" + ] + }, + "ServicePrincipalProperties": { + "type": "object", + "description": "Details of the service principal.", + "properties": { + "applicationId": { + "type": "string", + "description": "Application id of service principal." + }, + "secret": { + "type": "string", + "description": "A secret string that the application uses to prove its identity, also can be referred to as application password (write only)." + } + } + }, + "AuthenticationDetailsProperties": { + "type": "object", + "description": "Settings for cloud authentication management", + "discriminator": "authenticationType", + "properties": { + "authenticationProvisioningState": { + "description": "State of the multi-cloud connector", + "type": "string", + "readOnly": true, + "enum": [ + "Valid", + "Invalid", + "Expired", + "IncorrectPolicy" + ], + "x-ms-enum": { + "name": "authenticationProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Valid", + "description": "Valid connector" + }, + { + "value": "Invalid", + "description": "Invalid connector" + }, + { + "value": "Expired", + "description": "the connection is expired" + }, + { + "value": "IncorrectPolicy", + "description": "Incorrect policy of the connector" + } + ] + } + }, + "grantedPermissions": { + "description": "The permissions detected in the cloud account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PermissionProperty" + } + }, + "authenticationType": { + "description": "Connect to your cloud account, for AWS use either account credentials or role-based authentication. For GCP use account organization credentials.", + "type": "string", + "enum": [ + "awsCreds", + "awsAssumeRole", + "gcpCredentials" + ], + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true, + "values": [ + { + "value": "awsCreds", + "description": "AWS cloud account connector user credentials authentication" + }, + { + "value": "awsAssumeRole", + "description": "AWS account connector assume role authentication" + }, + { + "value": "gcpCredentials", + "description": "GCP account connector service to service authentication" + } + ] + } + } + }, + "required": [ + "authenticationType" + ] + }, + "AwsCredsAuthenticationDetailsProperties": { + "type": "object", + "description": "AWS cloud account connector based credentials, the credentials is composed of access key id and secret key, for more details, refer to Creating an IAM User in Your AWS Account (write only)", + "x-ms-discriminator-value": "awsCreds", + "allOf": [ + { + "$ref": "#/definitions/AuthenticationDetailsProperties" + } + ], + "properties": { + "accountId": { + "description": "The ID of the cloud account", + "type": "string", + "readOnly": true + }, + "awsAccessKeyId": { + "type": "string", + "description": "Public key element of the AWS credential object (write only)" + }, + "awsSecretAccessKey": { + "type": "string", + "description": "Secret key element of the AWS credential object (write only)" + } + }, + "required": [ + "awsAccessKeyId", + "awsSecretAccessKey" + ] + }, + "AwAssumeRoleAuthenticationDetailsProperties": { + "type": "object", + "description": "AWS cloud account connector based assume role, the role enables delegating access to your AWS resources. The role is composed of role arn and external id, for more details, refer to Creating a Role to Delegate Permissions to an IAM User (write only)", + "x-ms-discriminator-value": "awsAssumeRole", + "allOf": [ + { + "$ref": "#/definitions/AuthenticationDetailsProperties" + } + ], + "properties": { + "accountId": { + "description": "The ID of the cloud account", + "type": "string", + "readOnly": true + }, + "awsAssumeRoleArn": { + "type": "string", + "description": "Assumed role ID is an identifier that you can use to create temporary security credentials." + }, + "awsExternalId": { + "type": "string", + "description": "A unique identifier that is required when you assume a role in another account." + } + }, + "required": [ + "awsAssumeRoleArn", + "awsExternalId" + ] + }, + "GcpCredentialsDetailsProperties": { + "type": "object", + "description": "GCP cloud account connector based service to service credentials, the credentials is composed of organization id and json api key (write only)", + "x-ms-discriminator-value": "gcpCredentials", + "allOf": [ + { + "$ref": "#/definitions/AuthenticationDetailsProperties" + } + ], + "properties": { + "organizationId": { + "description": "The Organization ID of the GCP cloud account", + "type": "string" + }, + "type": { + "type": "string", + "description": "Type field of the API key (write only)" + }, + "projectId": { + "type": "string", + "description": "Project Id field of the API key (write only)" + }, + "privateKeyId": { + "type": "string", + "description": "Private key Id field of the API key (write only)" + }, + "privateKey": { + "type": "string", + "description": "Private key field of the API key (write only)" + }, + "clientEmail": { + "type": "string", + "description": "Client email field of the API key (write only)" + }, + "clientId": { + "type": "string", + "description": "Client Id field of the API key (write only)" + }, + "authUri": { + "type": "string", + "description": "Auth Uri field of the API key (write only)" + }, + "tokenUri": { + "type": "string", + "description": "Token Uri field of the API key (write only)" + }, + "authProviderX509CertUrl": { + "type": "string", + "description": "Auth provider x509 certificate url field of the API key (write only)" + }, + "clientX509CertUrl": { + "type": "string", + "description": "Client x509 certificate url field of the API key (write only)" + } + }, + "required": [ + "organizationId", + "type", + "projectId", + "privateKeyId", + "privateKey", + "clientEmail", + "clientId", + "authUri", + "tokenUri", + "authProviderX509CertUrl", + "clientX509CertUrl" + ] + }, + "PermissionProperty": { + "description": "A permission detected in the cloud account.", + "type": "string", + "readOnly": true, + "enum": [ + "AWS::AWSSecurityHubReadOnlyAccess", + "AWS::SecurityAudit", + "AWS::AmazonSSMAutomationRole", + "GCP::Security Center Admin Viewer" + ], + "x-ms-enum": { + "name": "PermissionProperty", + "modelAsString": true, + "values": [ + { + "value": "AWS::AWSSecurityHubReadOnlyAccess", + "description": "This permission provides read only access to AWS Security Hub resources." + }, + { + "value": "AWS::SecurityAudit", + "description": "This permission grants access to read security configuration metadata." + }, + { + "value": "AWS::AmazonSSMAutomationRole", + "description": "The permission provides for EC2 Automation service to execute activities defined within Automation documents." + }, + { + "value": "GCP::Security Center Admin Viewer", + "description": "This permission provides read only access to GCP Security Command Center." + } + ] + } + }, + "ProxyServerProperties": { + "type": "object", + "description": "For a non-Azure machine that is not connected directly to the internet, specify a proxy server that the non-Azure machine can use.", + "properties": { + "ip": { + "type": "string", + "description": "Proxy server IP" + }, + "port": { + "type": "string", + "description": "Proxy server port" + } + } + } + }, + "parameters": { + "ConnectorName": { + "name": "connectorName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the cloud account connector", + "x-ms-parameter-location": "method" + }, + "ConnectorSetting": { + "name": "connectorSetting", + "in": "body", + "required": true, + "description": "Settings for the cloud account connector", + "schema": { + "$ref": "#/definitions/ConnectorSetting" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateAwsAssumeRoleConnectorSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateAwsAssumeRoleConnectorSubscription_example.json new file mode 100644 index 000000000000..a4405f77bf03 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateAwsAssumeRoleConnectorSubscription_example.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "connectorName": "aws_dev2", + "connectorSetting": { + "properties": { + "hybridComputeSettings": { + "autoProvision": "On", + "resourceGroupName": "AwsConnectorRG", + "region": "West US 2", + "proxyServer": { + "ip": "167.220.197.140", + "port": "34" + }, + "servicePrincipal": { + "applicationId": "ad9bcd79-be9c-45ab-abd8-80ca1654a7d1", + "secret": "x2yS:FnCHssRkH0@CJY5pATzlEs@r5m." + } + }, + "authenticationDetails": { + "authenticationType": "awsAssumeRole", + "awsAssumeRoleArn": "arn:aws:iam::81231569658:role/AscConnector", + "awsExternalId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev2", + "name": "aws_dev2", + "type": "Microsoft.Security/connectors", + "properties": { + "hybridComputeSettings": { + "hybridComputeProvisioningState": "Valid", + "autoProvision": "On", + "resourceGroupName": "AwsConnectorRG", + "region": "West US 2", + "proxyServer": { + "ip": "167.220.197.140", + "port": "34" + }, + "servicePrincipal": { + "applicationId": "ad9bcd79-be9c-45ab-abd8-80ca1654a7d1" + } + }, + "authenticationDetails": { + "authenticationProvisioningState": "Valid", + "grantedPermissions": [ + "AWS::AWSSecurityHubReadOnlyAccess", + "AWS::SecurityAudit", + "AWS::AmazonSSMAutomationRole" + ], + "authenticationType": "awsAssumeRole", + "accountId": "81231569658", + "awsAssumeRoleArn": "arn:aws:iam::81231569658:role/AscConnector", + "awsExternalId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateAwsCredConnectorSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateAwsCredConnectorSubscription_example.json new file mode 100644 index 000000000000..8e89a390a07c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateAwsCredConnectorSubscription_example.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "connectorName": "aws_dev1", + "connectorSetting": { + "properties": { + "hybridComputeSettings": { + "autoProvision": "On", + "resourceGroupName": "AwsConnectorRG", + "region": "West US 2", + "proxyServer": { + "ip": "167.220.197.140", + "port": "34" + }, + "servicePrincipal": { + "applicationId": "ad9bcd79-be9c-45ab-abd8-80ca1654a7d1", + "secret": "x2yS:FnCHssRkH0@CJY5pATzlEs@r5m." + } + }, + "authenticationDetails": { + "authenticationType": "awsCreds", + "awsAccessKeyId": "AKIARPZCNODDNAEQFSOE", + "awsSecretAccessKey": "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" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev1", + "name": "aws_dev1", + "type": "Microsoft.Security/connectors", + "properties": { + "hybridComputeSettings": { + "hybridComputeProvisioningState": "Valid", + "autoProvision": "On", + "resourceGroupName": "AwsConnectorRG", + "region": "West US 2", + "proxyServer": { + "ip": "287.221.107.152", + "port": "34" + }, + "servicePrincipal": { + "applicationId": "ad9bcd79-be9c-45ab-abd8-80ca1654a7d1" + } + }, + "authenticationDetails": { + "authenticationProvisioningState": "Valid", + "grantedPermissions": [ + "AWS::AWSSecurityHubReadOnlyAccess", + "AWS::SecurityAudit", + "AWS::AmazonSSMAutomationRole" + ], + "authenticationType": "awsCreds", + "accountId": "922315681122", + "awsAccessKeyId": "", + "awsSecretAccessKey": "" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateGcpCredentialsConnectorSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateGcpCredentialsConnectorSubscription_example.json new file mode 100644 index 000000000000..da4d9d77ebf3 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/CreateUpdateGcpCredentialsConnectorSubscription_example.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "connectorName": "gcp_dev", + "connectorSetting": { + "properties": { + "hybridComputeSettings": { + "autoProvision": "Off" + }, + "authenticationDetails": { + "authenticationType": "gcpCredentials", + "organizationId": "AscDemoOrg", + "type": "service_account", + "projectId": "asc-project-1234", + "privateKeyId": "6efg587hra2568as34d22326b044cc20dc2af", + "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCpxYHcLzcDZ6/Q\nAeQZnQXM5GTb3p09Xsbjo2T2F61b6I7FZiQXBrbw3Zf0CUCkkqTTpD5xifl82yQ6\n89V7SAe8hxI7esAcVDhm/aJMqzVjHLISAU2L3li1sn0jjY2oYtndwN6bRivP8O6t\n9F+W6E0zMlbCxtpZEHLbb6WxlJJrwEQ0MPH2yOCwZUQi6NHksAtEzX2nNKJNyUC7\nQyBVHHMm34H2bmZwsuQp3y2otpcJ9tJnVmYfC3k/w4x2L+DIK7JnQP/C1wQqu2du\nc0w6sydF6RhLoHButrVdYRJTdfK4k03SsSTyMqZ+f7LNnKw3xenzw1VmEpk8mvoQ\nt08tCBOrAgMBAAECggEAByzz6iyMtLYjNjV+QJ7kad6VbL2iA8AHxANZ9xTVHPdd\nYXaJu/dqsA+NpqDlfI8+LDva782XH/HbPCqmMUnAGfXTjXQIvqnIoIHD5F2wKfpC\nhIRNlMXXFgbvRxtqi11yO+80+XcjzuwuCmgzyhsTeEB+bkkdXXpWgHPdmv3emnM6\nMQM9Zgrug0UndPmiUwKOcJSU4PlmlTpHEV4vA6JfA4bvphy9m1jxO5qWeah5yym2\n6FP5BRIDF98kFrDnSXJjajwgLCQ+MypFQXyax6XkxDxuKXbng1bv7eZDjqazIChk\nm0y14X0s0jnWc+AX8vfeSf7d+EsGdVinEwR1aAawEQKBgQDqDB0qxcIQ1oI1Kww8\n9vXefTiuWsf47F+fJ/DIOEbiRfE8IdCgmOABvcqJIoxW/DFMBEdLCcx73Km7pOmd\nKg1ddScnaO8cOj2v/Ub+fAqVrA4ki4ViYP0A7/Nogga3Jr/x3ey5bitrIfFImteS\nCgBHBzZvoQpvO4lB2tKVgo2P9wKBgQC5sgTEq4sasRGSAY6lIoJno0I8w28a/16D\nes60XQeY1ger8uTGwlT02v/u/arDUmRLPClpujXq6gK29KvtRCHy7JkpGbqW2bZs\nPFKKWR7Tk3XPKYyjv94AIi5/xoFeDhS4lpAvy3Z5tQhYS6wqWKvT6yZQ3kM+Hfxs\npHgvu3mU7QKBgQC9/E1k3hj1cBtMK4CIsHPPQljTd4+iacYJPPPAo6YuoVX8WPqw\nksgrwbN59Fh1d8xQh5yTtgWOegYx8uFMGcm1lpbM7+pBQKm4hWGuzGQPMRZd5f/F\nZzOZIi61I+9tlv/yxxIVR+/ozCm/pSneO04UWi9/F/uPZYW6tnWAtfRR6wKBgGsZ\n8MQaCK4JaI/klAhMghgSQnbXZXKVzUZaA3Rln6cX8u7KtgapOOTMlwaZie8Dy1LV\nTTFstAJcm9o3/h1nyYjZy3C4JTUyNpPwqs6enjf7edxVI4eidwFutZD+xcigqHTa\naikW2atSrZB3fMIjyF7+5meH+hKOqvNiXOty3qn1AoGAZuVxYQy5FVq3YZxzr3Aa\nAm0ShoXTF6QYIbsaUiUGoa/NlHcw9V/lj4AqBRbxbaYMD+hz2J/od9cb268eJKY8\n3b6MvaUqdNhNnWodJXLhgtmGEHDKmTppz2JSTx/tVzCfhFdcOC79StZvcKLhtoFQ\n+/3lEw6NCIXzm5E4+dtJG4k=\n-----END PRIVATE KEY-----\n", + "clientEmail": "asc-135@asc-project-1234.iam.gserviceaccount.com", + "clientId": "105889053725632919854", + "authUri": "https://accounts.google.com/o/oauth2/auth", + "tokenUri": "https://oauth2.googleapis.com/token", + "authProviderX509CertUrl": "https://www.googleapis.com/oauth2/v1/certs", + "clientX509CertUrl": "https://www.googleapis.com/robot/v1/metadata/x509/asc-135%40asc-project-1234.iam.gserviceaccount.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/gcp_dev", + "name": "gcp_dev", + "type": "Microsoft.Security/connectors", + "properties": { + "hybridComputeSettings": { + "hybridComputeProvisioningState": "Invalid", + "autoProvision": "Off", + "resourceGroupName": "", + "region": "", + "proxyServer": null, + "servicePrincipal": null + }, + "authenticationDetails": { + "authenticationProvisioningState": "Valid", + "grantedPermissions": [ + "GCP::Security Center Admin Viewer" + ], + "authenticationType": "gcpCredentials", + "organizationId": "AscDemoOrg", + "type": "", + "projectId": "", + "privateKeyId": "", + "privateKey": "", + "clientEmail": "", + "clientId": "", + "authUri": "", + "tokenUri": "", + "authProviderX509CertUrl": "", + "clientX509CertUrl": "" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/DeleteConnectorSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/DeleteConnectorSubscription_example.json new file mode 100644 index 000000000000..b387c969aaa5 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/DeleteConnectorSubscription_example.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "connectorName": "aws_dev1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/GetConnectorSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/GetConnectorSubscription_example.json new file mode 100644 index 000000000000..d5dc6f6126dc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/GetConnectorSubscription_example.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "connectorName": "aws_dev1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev1", + "name": "aws_dev1", + "type": "Microsoft.Security/connectors", + "properties": { + "hybridComputeSettings": { + "hybridComputeProvisioningState": "Valid", + "autoProvision": "On", + "resourceGroupName": "AwsConnectorRG", + "region": "West US 2", + "proxyServer": { + "ip": "287.221.107.152", + "port": "34" + }, + "servicePrincipal": { + "applicationId": "ad9bcd79-be9c-45ab-abd8-80ca1654a7d1" + } + }, + "authenticationDetails": { + "authenticationProvisioningState": "Valid", + "grantedPermissions": [ + "AWS::AWSSecurityHubReadOnlyAccess", + "AWS::SecurityAudit", + "AWS::AmazonSSMAutomationRole" + ], + "authenticationType": "awsCreds", + "accountId": "922315681122", + "awsAccessKeyId": "", + "awsSecretAccessKey": "" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/GetListConnectorSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/GetListConnectorSubscription_example.json new file mode 100644 index 000000000000..641911442de9 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/Connectors/GetListConnectorSubscription_example.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev1", + "name": "aws_dev1", + "type": "Microsoft.Security/connectors", + "properties": { + "hybridComputeSettings": { + "hybridComputeProvisioningState": "Valid", + "autoProvision": "On", + "resourceGroupName": "AwsConnectorRG", + "region": "West US 2", + "proxyServer": { + "ip": "287.221.107.152", + "port": "34" + }, + "servicePrincipal": { + "applicationId": "ad9bcd79-be9c-45ab-abd8-80ca1654a7d1" + } + }, + "authenticationDetails": { + "authenticationProvisioningState": "Valid", + "grantedPermissions": [ + "AWS::AWSSecurityHubReadOnlyAccess", + "AWS::SecurityAudit", + "AWS::AmazonSSMAutomationRole" + ], + "authenticationType": "awsCreds", + "accountId": "922315681122", + "awsAccessKeyId": "", + "awsSecretAccessKey": "" + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/aws_dev2", + "name": "aws_dev2", + "type": "Microsoft.Security/connectors", + "properties": { + "hybridComputeSettings": { + "hybridComputeProvisioningState": "Valid", + "autoProvision": "On", + "resourceGroupName": "AwsConnectorRG", + "region": "West US 2", + "proxyServer": { + "ip": "167.210.187.160", + "port": "34" + }, + "servicePrincipal": { + "applicationId": "ad9bcd79-be9c-45ab-abd8-80ca1654a7d1" + } + }, + "authenticationDetails": { + "authenticationProvisioningState": "Valid", + "grantedPermissions": [ + "AWS::AWSSecurityHubReadOnlyAccess", + "AWS::SecurityAudit", + "AWS::AmazonSSMAutomationRole" + ], + "authenticationType": "awsAssumeRole", + "accountId": "81231569658", + "awsAssumeRoleArn": "arn:aws:iam::81231569658:role/AscConnector", + "awsExternalId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + } + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/connectors/gcp_dev", + "name": "gcp_dev", + "type": "Microsoft.Security/connectors", + "properties": { + "hybridComputeSettings": { + "hybridComputeProvisioningState": "Invalid", + "autoProvision": "Off", + "resourceGroupName": "", + "region": "", + "proxyServer": null, + "servicePrincipal": null + }, + "authenticationDetails": { + "authenticationProvisioningState": "Valid", + "grantedPermissions": [ + "GCP::Security Center Admin Viewer" + ], + "authenticationType": "gcpCredentials", + "organizationId": "AscDemoOrg", + "type": "", + "projectId": "", + "privateKeyId": "", + "privateKey": "", + "clientEmail": "", + "clientId": "", + "authUri": "", + "tokenUri": "", + "authProviderX509CertUrl": "", + "clientX509CertUrl": "" + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/CreateSecurityContact_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/CreateSecurityContact_example.json new file mode 100644 index 000000000000..253eda8038ee --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/CreateSecurityContact_example.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "securityContactName": "default", + "securityContact": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/securityContacts/default", + "name": "default", + "type": "Microsoft.Security/securityContacts", + "properties": { + "notificationsByRole": { + "state": "On", + "roles": [ + "Owner" + ] + }, + "emails": "john@contoso.com;jane@contoso.com", + "phone": "(214)275-4038", + "alertNotifications": { + "state": "On", + "minimalSeverity": "Low" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/securityContacts/default", + "name": "default", + "type": "Microsoft.Security/securityContact", + "properties": { + "notificationsByRole": { + "state": "On", + "roles": [ + "Owner" + ] + }, + "emails": "john@microsoft.com;jane@microsoft.com", + "phone": "(214)275-4038", + "alertNotifications": { + "state": "On", + "minimalSeverity": "Low" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/DeleteSecurityContact_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/DeleteSecurityContact_example.json new file mode 100644 index 000000000000..35b5da04ef5a --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/DeleteSecurityContact_example.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "securityContactName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/GetSecurityContact_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/GetSecurityContact_example.json new file mode 100644 index 000000000000..434c74a8c18f --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/GetSecurityContact_example.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2017-20-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "securityContactName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/securityContacts/default", + "name": "default", + "type": "Microsoft.Security/securityContacts", + "properties": { + "notificationsByRole": { + "state": "On", + "roles": [ + "Owner" + ] + }, + "emails": "john@contoso.com;jane@contoso.com", + "phone": "(214)275-4038", + "alertNotifications": { + "state": "On", + "minimalSeverity": "Low" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/GetSecurityContactsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/GetSecurityContactsSubscription_example.json new file mode 100644 index 000000000000..9e407546e185 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/SecurityContacts/GetSecurityContactsSubscription_example.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-01-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/securityContact/default", + "name": "default", + "type": "Microsoft.Security/securityContact", + "properties": { + "notificationsByRole": { + "state": "On", + "roles": [ + "Owner", + "Admin" + ] + }, + "emails": "john@contoso.com;Jane@contoso.com", + "phone": "(214)275-4038", + "alertNotifications": { + "state": "On", + "minimalSeverity": "Low" + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json index 58c0d683cb8c..f2ea30f42b44 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/GetSecureScoresSingle_example.json @@ -15,7 +15,8 @@ "score": { "max": 13, "current": 3 - } + }, + "weight": 15 } } } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json index c9fc267708c1..c301919d5266 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/examples/secureScores/ListSecureScores_example.json @@ -16,7 +16,8 @@ "score": { "max": 13, "current": 3.5 - } + }, + "weight": 30 } } ] diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json index 3e742573ba4f..4117c5311845 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/secureScore.json @@ -331,6 +331,14 @@ "readOnly": true, "x-ms-client-flatten": true, "$ref": "#/definitions/ScoreDetails" + }, + "weight": { + "description": "The weight for calculation of an aggregated score for several scopes", + "readOnly": true, + "type": "integer", + "format": "int64", + "minimum": 0, + "exclusiveMinimum": false } } }, diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/securityContacts.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/securityContacts.json new file mode 100644 index 000000000000..3fbed20bac58 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-01-01-preview/securityContacts.json @@ -0,0 +1,383 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-01-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}/providers/Microsoft.Security/securityContacts": { + "get": { + "x-ms-examples": { + "List security contact data": { + "$ref": "./examples/SecurityContacts/GetSecurityContactsSubscription_example.json" + } + }, + "tags": [ + "Security Contacts" + ], + "description": "List all security contact configurations for the subscription", + "operationId": "SecurityContacts_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContactList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts/{securityContactName}": { + "get": { + "x-ms-examples": { + "Get a security contact": { + "$ref": "./examples/SecurityContacts/GetSecurityContact_example.json" + } + }, + "tags": [ + "Security Contacts" + ], + "description": "Get Default Security contact configurations for the subscription", + "operationId": "SecurityContacts_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SecurityContactName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create security contact data": { + "$ref": "./examples/SecurityContacts/CreateSecurityContact_example.json" + } + }, + "tags": [ + "Security Contacts" + ], + "description": "Create security contact configurations for the subscription", + "operationId": "SecurityContacts_Create", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SecurityContactName" + } + ], + "responses": { + "201": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityContact" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Deletes a security contact data": { + "$ref": "./examples/SecurityContacts/DeleteSecurityContact_example.json" + } + }, + "tags": [ + "Security Contacts" + ], + "description": "Security contact configurations for the subscription", + "operationId": "SecurityContacts_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/SecurityContactName" + } + ], + "responses": { + "200": { + "description": "Security contact deleted" + }, + "204": { + "description": "Security contact was not found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SecurityContactList": { + "type": "object", + "description": "List of security contacts response", + "properties": { + "value": { + "readOnly": true, + "description": "List of security contacts", + "type": "array", + "items": { + "$ref": "#/definitions/SecurityContact" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "SecurityContact": { + "type": "object", + "description": "Contact details and configurations for notifications coming from Azure Security Center.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Security contact data", + "$ref": "#/definitions/SecurityContactProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "SecurityContactProperties": { + "type": "object", + "description": "Describes security contact properties", + "properties": { + "emails": { + "type": "string", + "description": "List of email addresses which will get notifications from Azure Security Center by the configurations defined in this security contact." + }, + "phone": { + "type": "string", + "description": "The security contact's phone number" + }, + "alertNotifications": { + "type": "object", + "description": "Defines whether to send email notifications about new security alerts", + "properties": { + "state": { + "type": "string", + "description": "Defines if email notifications will be sent about new security alerts", + "enum": [ + "On", + "Off" + ], + "x-ms-enum": { + "name": "state", + "modelAsString": true, + "values": [ + { + "value": "On", + "description": "Get notifications on new alerts" + }, + { + "value": "Off", + "description": "Don't get notifications on new alerts" + } + ] + } + }, + "minimalSeverity": { + "type": "string", + "description": "Defines the minimal alert severity which will be sent as email notifications", + "enum": [ + "High", + "Medium", + "Low" + ], + "x-ms-enum": { + "name": "minimalSeverity", + "modelAsString": true, + "values": [ + { + "value": "High", + "description": "Get notifications on new alerts with High severity" + }, + { + "value": "Medium", + "description": "Get notifications on new alerts with medium or high severity" + }, + { + "value": "Low", + "description": "Don't get notifications on new alerts with low, medium or high severity" + } + ] + } + } + } + }, + "notificationsByRole": { + "type": "object", + "description": "Defines whether to send email notifications from Azure Security Center to persons with specific RBAC roles on the subscription.", + "properties": { + "state": { + "type": "string", + "description": "Defines whether to send email notifications from Azure Security Center to persons with specific RBAC roles on the subscription.", + "enum": [ + "On", + "Off" + ], + "x-ms-enum": { + "name": "state", + "modelAsString": true, + "values": [ + { + "value": "On", + "description": "Send notification on new alerts to the subscription's admins" + }, + { + "value": "Off", + "description": "Don't send notification on new alerts to the subscription's admins" + } + ] + } + }, + "roles": { + "type": "array", + "description": "Defines which RBAC roles will get email notifications from Azure Security Center. List of allowed RBAC roles: ", + "items": { + "$ref": "#/definitions/SecurityContactRole" + } + } + } + } + } + }, + "SecurityContactRole": { + "type": "string", + "description": "A possible role to configure sending security notification alerts to", + "enum": [ + "AccountAdmin", + "ServiceAdmin", + "Owner", + "Contributor" + ], + "x-ms-enum": { + "name": "roles", + "modelAsString": true, + "values": [ + { + "value": "AccountAdmin", + "description": "If enabled, send notification on new alerts to the account admins" + }, + { + "value": "ServiceAdmin", + "description": "If enabled, send notification on new alerts to the service admins" + }, + { + "value": "Owner", + "description": "If enabled, send notification on new alerts to the subscription owners" + }, + { + "value": "Contributor", + "description": "If enabled, send notification on new alerts to the subscription contributors" + } + ] + } + } + }, + "parameters": { + "SecurityContactName": { + "name": "securityContactName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the security contact object", + "x-ms-parameter-location": "method" + }, + "SecurityContact": { + "name": "securityContact", + "in": "body", + "required": true, + "description": "Security contact object", + "schema": { + "$ref": "#/definitions/SecurityContact" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Delete.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Delete.json new file mode 100644 index 000000000000..1e27394b4322 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Delete.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Get.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Get.json new file mode 100644 index 000000000000..838aa27b70fa --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Get.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default", + "type": "Microsoft.Security/iotDefenderSettings", + "properties": {} + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/List.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/List.json new file mode 100644 index 000000000000..2cf5f5fee30d --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/List.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default", + "type": "Microsoft.Security/iotDefenderSettings", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/PackageDownloads.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/PackageDownloads.json new file mode 100644 index 000000000000..a074c8f4ed72 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/PackageDownloads.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "sensor": { + "full": { + "iso": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ], + "ovf": { + "enterprise": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ], + "medium": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ], + "line": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ] + } + }, + "upgrade": [ + { + "version": "2.8.2", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.10", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ] + }, + "centralManager": { + "full": { + "iso": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.11", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ], + "ovf": { + "enterprise": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + } + ], + "enterpriseHighAvailability": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + } + ], + "medium": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + } + ], + "mediumHighAvailability": [ + { + "version": "3.1", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + } + ] + } + }, + "upgrade": [ + { + "version": "2.8.2", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Latest" + }, + { + "version": "2.8.10", + "link": "http://microsoft.com/downloadLocation", + "versionKind": "Previous" + } + ] + }, + "threatIntelligence": { + "link": "http://microsoft.com/downloadLocation" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Put.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Put.json new file mode 100644 index 000000000000..b4738db76a87 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotDefenderSettings/Put.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default", + "type": "Microsoft.Security/iotDefenderSettings", + "properties": {} + } + }, + "201": { + "body": { + "name": "default", + "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default", + "type": "Microsoft.Security/iotDefenderSettings", + "properties": {} + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Delete.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Delete.json new file mode 100644 index 000000000000..c24e42c7df41 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", + "iotSensorName": "mySensor" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/DownloadActivation.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/DownloadActivation.json new file mode 100644 index 000000000000..2aebd9e8ac3b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/DownloadActivation.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", + "iotSensorName": "mySensor" + }, + "responses": { + "200": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Get.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Get.json new file mode 100644 index 000000000000..3c79cade9456 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", + "iotSensorName": "mySensor" + }, + "responses": { + "200": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/List.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/List.json new file mode 100644 index 000000000000..b7e9675bad0d --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/List.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + }, + { + "name": "otherSensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/iotSensors/otherSensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Put.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Put.json new file mode 100644 index 000000000000..9bcb0dc2df12 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/examples/IotSensors/Put.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-08-06-preview", + "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub", + "iotSensorName": "mySensor" + }, + "responses": { + "200": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + } + }, + "201": { + "body": { + "name": "mySensor", + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.Security/iotSensors/mySensor", + "type": "Microsoft.Security/iotSensors", + "properties": {} + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json new file mode 100644 index 000000000000..afdeadc4a050 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json @@ -0,0 +1,449 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-06-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings": { + "get": { + "x-ms-examples": { + "List IoT Defender settings": { + "$ref": "./examples/IotDefenderSettings/List.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "description": "List IoT Defender Settings", + "operationId": "IotDefenderSettings_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default": { + "get": { + "x-ms-examples": { + "Get IoT Defender settings": { + "$ref": "./examples/IotDefenderSettings/Get.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "operationId": "IotDefenderSettings_Get", + "description": "Get IoT Defender Settings", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "IoT Defender Settings", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update IoT Defender settings": { + "$ref": "./examples/IotDefenderSettings/Put.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "operationId": "IotDefenderSettings_CreateOrUpdate", + "description": "Create or update IoT Defender settings", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "Updated IoT Defender settings", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsModel" + } + }, + "201": { + "description": "Created IoT Defender settings", + "schema": { + "$ref": "#/definitions/IotDefenderSettingsModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete IoT Defender settings": { + "$ref": "./examples/IotDefenderSettings/Delete.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "operationId": "IotDefenderSettings_Delete", + "description": "Delete IoT Defender settings", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "IoT Defender settings deleted" + }, + "204": { + "description": "IoT Defender settings does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings/default/packageDownloads": { + "post": { + "x-ms-examples": { + "Package downloads": { + "$ref": "./examples/IotDefenderSettings/PackageDownloads.json" + } + }, + "tags": [ + "IoT Defender Settings" + ], + "operationId": "IotDefenderSettings_PackageDownloads", + "description": "Information about downloadable packages", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "Package downloads", + "schema": { + "$ref": "#/definitions/PackageDownloads" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotDefenderSettingsList": { + "description": "List of IoT Defender settings", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotDefenderSettingsModel" + } + } + } + }, + "IotDefenderSettingsModel": { + "type": "object", + "description": "IoT Defender settings", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "IoT Defender settings properties", + "$ref": "#/definitions/IotDefenderSettingsProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotDefenderSettingsProperties": { + "type": "object", + "description": "IoT Defender settings properties", + "properties": {} + }, + "DownloadLink": { + "type": "string", + "description": "Download link", + "readOnly": true + }, + "PackageDownloadInfo": { + "type": "object", + "description": "Information on a specific package download", + "properties": { + "version": { + "type": "string", + "description": "Version number", + "readOnly": true + }, + "link": { + "description": "Download link", + "$ref": "#/definitions/DownloadLink" + }, + "versionKind": { + "type": "string", + "description": "Kind of the version", + "readOnly": true, + "enum": [ + "Latest", + "Previous", + "Preview" + ], + "x-ms-enum": { + "name": "versionKind", + "modelAsString": true, + "values": [ + { + "value": "Latest" + }, + { + "value": "Previous" + }, + { + "value": "Preview" + } + ] + } + } + } + }, + "PackageDownloads": { + "type": "object", + "description": "Information about package downloads", + "readOnly": true, + "properties": { + "sensor": { + "type": "object", + "description": "Contains all Sensor binary downloads", + "readOnly": true, + "properties": { + "full": { + "type": "object", + "description": "Contains full package downloads", + "readOnly": true, + "properties": { + "iso": { + "type": "array", + "description": "Contains all ISO full versions for the sensor", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "ovf": { + "type": "object", + "description": "Contains all OVF (virtual machine) full versions for the sensor", + "properties": { + "enterprise": { + "type": "array", + "description": "Enterprise package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "medium": { + "type": "array", + "description": "Medium package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "line": { + "type": "array", + "description": "Line package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + } + } + } + } + }, + "upgrade": { + "type": "array", + "description": "Sensor upgrade package downloads (on existing installations)", + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + } + } + }, + "centralManager": { + "type": "object", + "description": "All downloads for Central Manager", + "readOnly": true, + "properties": { + "full": { + "type": "object", + "description": "Contains full package downloads", + "readOnly": true, + "properties": { + "iso": { + "type": "array", + "description": "Contains all ISO full versions of the Central Manager", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "ovf": { + "type": "object", + "description": "Contains all OVF (virtual machine) full versions of the Central Manager", + "readOnly": true, + "properties": { + "enterprise": { + "type": "array", + "description": "The Enterprise package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "enterpriseHighAvailability": { + "type": "array", + "description": "The EnterpriseHighAvailability package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "medium": { + "type": "array", + "description": "The Medium package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + }, + "mediumHighAvailability": { + "type": "array", + "description": "The MediumHighAvailability package type", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + } + } + } + } + }, + "upgrade": { + "type": "array", + "description": "Central Manager upgrade package downloads (on existing installations)", + "readOnly": true, + "items": { + "$ref": "#/definitions/PackageDownloadInfo" + } + } + } + }, + "threatIntelligence": { + "type": "object", + "description": "All downloads for threat intelligence", + "readOnly": true, + "properties": { + "link": { + "description": "Download link", + "$ref": "#/definitions/DownloadLink" + } + } + } + } + } + }, + "parameters": {} +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json new file mode 100644 index 000000000000..cad4e4eaf779 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json @@ -0,0 +1,285 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-08-06-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": { + "/{scope}/providers/Microsoft.Security/iotSensors": { + "get": { + "x-ms-examples": { + "List IoT sensors": { + "$ref": "./examples/IotSensors/List.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "description": "List IoT sensors", + "operationId": "IotSensors_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotSensorsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/iotSensors/{iotSensorName}": { + "get": { + "x-ms-examples": { + "Get IoT sensor": { + "$ref": "./examples/IotSensors/Get.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "operationId": "IotSensors_Get", + "description": "Get IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + }, + { + "$ref": "#/parameters/IotSensorName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotSensor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update IoT sensor": { + "$ref": "./examples/IotSensors/Put.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "operationId": "IotSensors_CreateOrUpdate", + "description": "Create or update IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + }, + { + "$ref": "#/parameters/IotSensorName" + } + ], + "responses": { + "200": { + "description": "Updated IoT sensor", + "schema": { + "$ref": "#/definitions/IotSensor" + } + }, + "201": { + "description": "Created IoT sensor", + "schema": { + "$ref": "#/definitions/IotSensor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete IoT sensor": { + "$ref": "./examples/IotSensors/Delete.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "operationId": "IotSensors_Delete", + "description": "Delete IoT sensor", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + }, + { + "$ref": "#/parameters/IotSensorName" + } + ], + "responses": { + "200": { + "description": "Deleted IoT sensor" + }, + "204": { + "description": "IoT sensor does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Security/iotSensors/{iotSensorName}/downloadActivation": { + "post": { + "x-ms-examples": { + "Download activation file": { + "$ref": "./examples/IotSensors/DownloadActivation.json" + } + }, + "tags": [ + "IoT Sensors" + ], + "operationId": "IotSensors_DownloadActivation", + "description": "Download sensor activation file", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/IotSensorScope" + }, + { + "$ref": "#/parameters/IotSensorName" + } + ], + "responses": { + "200": { + "description": "Downloaded activation file" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotSensorsList": { + "description": "List of IoT sensors", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotSensor" + } + } + } + }, + "IotSensor": { + "type": "object", + "description": "IoT sensor", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "IoT sensor properties", + "$ref": "#/definitions/IotSensorProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotSensorProperties": { + "type": "object", + "description": "IoT sensor properties", + "properties": {} + } + }, + "parameters": { + "IotSensorScope": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "Scope of the query, can be subscription (/subscriptions/326b1ffa-8ac7-4034-8437-69bef733dede) or IoT Hub (/providers/Microsoft.Devices/iotHubs/myHub)", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "IotSensorName": { + "name": "iotSensorName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the IoT sensor", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlert.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlert.json index e5a4a8ad0a32..15000c2b1292 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlert.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlert.json @@ -11,7 +11,7 @@ "body": { "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Fail/2019-02-02", "name": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Fail/2019-02-02", - "type": "Microsoft.Security/IoTSecurityAggregatedAlert", + "type": "Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedAlerts", "properties": { "alertType": "IoT_Bruteforce_Fail", "alertDisplayName": "Failed Bruteforce", diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlertList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlertList.json index a29bcea8950d..efdb32bef5d3 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlertList.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAggregatedAlertList.json @@ -12,7 +12,7 @@ { "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Fail/2019-02-02", "name": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Fail/2019-02-02", - "type": "Microsoft.Security/IoTSecurityAggregatedAlert", + "type": "Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedAlerts", "properties": { "alertType": "IoT_Bruteforce_Fail", "alertDisplayName": "Failed Bruteforce", @@ -43,7 +43,7 @@ { "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Success/2019-02-02", "name": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_Bruteforce_Success/2019-02-02", - "type": "Microsoft.Security/IoTSecurityAggregatedAlert", + "type": "Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedAlerts", "properties": { "alertType": "IoT_Bruteforce_Success", "alertDisplayName": "Successful Bruteforce", diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalytics.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalytics.json index a7337a494529..d46451067bc4 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalytics.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalytics.json @@ -10,7 +10,7 @@ "body": { "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", "name": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", - "type": "Microsoft.Security/IoTSecuritySolutionAnalyticsModel", + "type": "Microsoft.Security/iotSecuritySolutions/analyticsModels", "properties": { "metrics": { "high": 5, diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalyticsList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalyticsList.json index aa75fced7adf..05f3130b231d 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalyticsList.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityAnalyticsList.json @@ -12,7 +12,7 @@ { "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", "name": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/MyGroup/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default", - "type": "Microsoft.Security/IoTSecuritySolutionAnalyticsModelList", + "type": "Microsoft.Security/iotSecuritySolutions/analyticsModels", "properties": { "metrics": { "high": 5, diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendation.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendation.json index 51b44a0c90c2..82d08f53e634 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendation.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendation.json @@ -11,7 +11,7 @@ "body": { "id": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/OpenPortsOnDevice", "name": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/OpenPortsOnDevice", - "type": "Microsoft.Security/IoTSecurityAggregatedRecommendation", + "type": "Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedRecommendations", "properties": { "recommendationName": "OpenPortsOnDevice", "recommendationDisplayName": "Permissive firewall policy in one of the chains was found", diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendationList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendationList.json index 3a331b30297d..84e6845afc78 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendationList.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IoTSecuritySolutionsAnalytics/GetIoTSecuritySolutionsSecurityRecommendationList.json @@ -12,7 +12,7 @@ { "id": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/OpenPortsOnDevice", "name": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/OpenPortsOnDevice", - "type": "Microsoft.Security/IoTSecurityAggregatedRecommendation", + "type": "Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedRecommendations", "properties": { "recommendationName": "OpenPortsOnDevice", "recommendationDisplayName": "Permissive firewall policy in one of the chains was found", @@ -29,7 +29,7 @@ { "id": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/TooLargeIPRange", "name": "/subscriptions/075423e9-7d33-4166-8bdf-3920b04e3735/resourceGroups/IoTEdgeResources/providers/Microsoft.Security/IoTSecuritySolutions/Locations/eastus/default/IoT_InstallAgent", - "type": "Microsoft.Security/IoTSecurityAggregatedRecommendation", + "type": "Microsoft.Security/iotSecuritySolutions/analyticsModels/aggregatedRecommendations", "properties": { "recommendationName": "TooLargeIPRange", "recommendationDisplayName": "Permissive firewall policy in one of the chains was found", diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlertTypes/GetIoTAlertType.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlertTypes/GetIoTAlertType.json new file mode 100644 index 000000000000..e6d553afd312 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlertTypes/GetIoTAlertType.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2019-08-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myGroup", + "solutionName": "mySolution", + "iotAlertTypeName": "IoT_PrivilegedContainer" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotAlertTypes/IoT_PrivilegedContainer", + "name": "IoT_PrivilegedContainer", + "type": "Microsoft.Security/iotSecuritySolutions/iotAlertTypes", + "properties": { + "alertDisplayName": "Privileged container detected", + "severity": "Medium", + "description": "Machine logs indicate that a privileged Docker container is running. A privileged container has full access to host resources. If compromised, a malicious actor can use the privileged container to gain access to the host machine.", + "providerName": "IoTSecurity", + "remediationSteps": [ + "If the container doesn't need to run in privileged mode, remove the privileges from the container." + ], + "intent": "Exploitation,Execution", + "vendorName": "Microsoft", + "productName": "Azure Security Center for IoT", + "productComponentName": "IoT Hub" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlertTypes/GetIoTAlertTypeList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlertTypes/GetIoTAlertTypeList.json new file mode 100644 index 000000000000..e66b6c645391 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlertTypes/GetIoTAlertTypeList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2019-08-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myGroup", + "solutionName": "mySolution" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotAlertTypes", + "name": "IoT_PrivilegedContainer", + "type": "Microsoft.Security/iotSecuritySolutions/iotAlertTypes", + "properties": { + "alertDisplayName": "Privileged container detected", + "severity": "Medium", + "description": "Machine logs indicate that a privileged Docker container is running. A privileged container has full access to host resources. If compromised, a malicious actor can use the privileged container to gain access to the host machine.", + "providerName": "IoTSecurity", + "remediationSteps": [ + "If the container doesn't need to run in privileged mode, remove the privileges from the container." + ], + "intent": "Exploitation,Execution", + "vendorName": "Microsoft", + "productName": "Azure Security Center for IoT", + "productComponentName": "IoT Hub" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlert.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlert.json new file mode 100644 index 000000000000..a93e1cf0bc37 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlert.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2019-08-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myGroup", + "solutionName": "mySolution", + "iotAlertId": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8" + }, + "responses": { + "200": { + "body": { + "properties": { + "systemAlertId": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", + "compromisedEntity": "device-1", + "alertType": "IoT_PrivilegedContainer", + "startTimeUtc": "2020-05-13T06:32:25Z", + "endTimeUtc": "2020-05-13T06:32:25Z", + "entities": [ + { + "$id": "1", + "CommandLine": "docker run --privileged", + "Type": "process" + } + ], + "extendedProperties": { + "CommandLine": "docker run --privileged", + "User Name": "aUser", + "UserId": "", + "ParentProcessId": 1593, + "DeviceId": "device-1" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlertList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlertList.json new file mode 100644 index 000000000000..af86889cbe2f --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotAlerts/GetIoTAlertList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2019-08-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myGroup", + "solutionName": "mySolution", + "alertType": "IoT_PrivilegedContainer", + "startTimeUtc>": "2020-05-12T06:32:25Z", + "startTimeUtc<": "2020-05-14T06:32:25Z", + "$limit": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "systemAlertId": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", + "compromisedEntity": "device-1", + "alertType": "IoT_PrivilegedContainer", + "startTimeUtc": "2020-05-13T06:32:25Z", + "endTimeUtc": "2020-05-13T06:32:25Z", + "entities": [ + { + "$id": "1", + "CommandLine": "docker run --privileged", + "Type": "process" + } + ], + "extendedProperties": { + "CommandLine": "docker run --privileged", + "User Name": "aUser", + "UserId": "", + "ParentProcessId": 1593, + "DeviceId": "device-1" + } + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotAlerts?api-version=2019-08-01&alertType=IoT_PrivilegedContainer&startTimeUtc>=2020-05-12T06:32:25Z&startTimeUtc<=2020-05-14T06:32:25Z&$limit=1&$skipToken=903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", + "totalCount": 23 + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendationTypes/GetIoTRecommendationType.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendationTypes/GetIoTRecommendationType.json new file mode 100644 index 000000000000..1e2008614da0 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendationTypes/GetIoTRecommendationType.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2019-08-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myGroup", + "solutionName": "mySolution", + "iotRecommendationTypeName": "IoT_VulnerableTLSCipherSuite" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotRecommendationTypes/IoT_VulnerableTLSCipherSuite", + "name": "IoT_VulnerableTLSCipherSuite", + "type": "Microsoft.Security/iotSecuritySolutions/iotRecommendationTypes", + "properties": { + "recommendationDisplayName": "TLS cipher suite upgrade needed", + "severity": "Medium", + "description": "Insecure TLS configurations detected. Immediate TLS cipher suite upgrade recommended.", + "remediationSteps": [ + "Upgrade your TLS cipher suite to a secure configuration. See the Guide to TLS Standards Compliance for more information." + ], + "vendorName": "Microsoft", + "control": "Communication between device and IoT Hub is not optimized", + "productName": "Azure Security Center for IoT", + "productComponentName": "IoT Hub" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendationTypes/GetIoTRecommendationTypeList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendationTypes/GetIoTRecommendationTypeList.json new file mode 100644 index 000000000000..1632037b20c2 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendationTypes/GetIoTRecommendationTypeList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2019-08-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myGroup", + "solutionName": "mySolution" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotRecommendationTypes/IoT_VulnerableTLSCipherSuite", + "name": "IoT_VulnerableTLSCipherSuite", + "type": "Microsoft.Security/iotSecuritySolutions/iotRecommendationTypes", + "properties": { + "recommendationDisplayName": "TLS cipher suite upgrade needed", + "severity": "Medium", + "description": "Insecure TLS configurations detected. Immediate TLS cipher suite upgrade recommended.", + "remediationSteps": [ + "Upgrade your TLS cipher suite to a secure configuration. See the Guide to TLS Standards Compliance for more information." + ], + "vendorName": "Microsoft", + "control": "Communication between device and IoT Hub is not optimized", + "productName": "Azure Security Center for IoT", + "productComponentName": "IoT Hub" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendation.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendation.json new file mode 100644 index 000000000000..ef023e236bfb --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendation.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-08-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myGroup", + "solutionName": "mySolution", + "iotRecommendationId": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8" + }, + "responses": { + "200": { + "body": { + "name": "IoT_Baseline|device-1", + "properties": { + "recommendationType": "IoT_Baseline", + "deviceId": "device-1", + "discoveredTimeUtc": "2020-05-13T06:32:25Z", + "recommendationAdditionalData": { + "SnapshotId": "48519d58-4e35-46cd-aed5-6251af95ed50", + "TotalFailedRules": "7", + "TotalRulesFailedDuoToError": "1", + "TotalInformationalFailedRules": "2", + "TotalCriticalFailedRules": "3", + "TotalWarningFailedRules": "1" + } + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendationList.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendationList.json new file mode 100644 index 000000000000..d1e9b306b467 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/examples/IotRecommendations/GetIoTRecommendationList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2019-08-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myGroup", + "solutionName": "mySolution", + "recommendationType": "IoT_Baseline", + "$limit": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "IoT_Baseline|device-1", + "properties": { + "recommendationType": "IoT_Baseline", + "deviceId": "device-1", + "discoveredTimeUtc": "2020-05-13T06:32:25Z", + "recommendationAdditionalData": { + "SnapshotId": "48519d58-4e35-46cd-aed5-6251af95ed50", + "TotalFailedRules": "7", + "TotalRulesFailedDuoToError": "1", + "TotalInformationalFailedRules": "2", + "TotalCriticalFailedRules": "3", + "TotalWarningFailedRules": "1" + } + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myGroup/providers/Microsoft.Security/iotSecuritySolutions/mySolution/iotRecommendations?api-version=2019-08-01&recommendationType=IoT_Baseline&$limit=1&$skipToken=903e76ff-17eb-4bac-ac8a-2bc31ab68fd8", + "totalCount": 23 + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlertTypes.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlertTypes.json new file mode 100644 index 000000000000..8dbda6e511ad --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlertTypes.json @@ -0,0 +1,329 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2019-08-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.Security/iotSecuritySolutions/{solutionName}/iotAlertTypes": { + "get": { + "x-ms-examples": { + "Get IoT Alert Types": { + "$ref": "./examples/IotAlertTypes/GetIoTAlertTypeList.json" + } + }, + "tags": [ + "IoT Security Alert Types" + ], + "description": "List IoT alert types", + "operationId": "IotAlertTypes_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotAlertTypeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/iotAlertTypes/{iotAlertTypeName}": { + "get": { + "x-ms-examples": { + "Get IoT Alert Type": { + "$ref": "./examples/IotAlertTypes/GetIoTAlertType.json" + } + }, + "tags": [ + "IoT Security Alert Types" + ], + "operationId": "IotAlertTypes_Get", + "description": "Get IoT alert type", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + }, + { + "in": "path", + "name": "iotAlertTypeName", + "required": true, + "type": "string", + "description": "Name of the alert type" + } + ], + "responses": { + "200": { + "description": "IoT alert type", + "schema": { + "$ref": "#/definitions/IotAlertType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotAlertTypeList": { + "type": "object", + "description": "List of alert types", + "properties": { + "value": { + "type": "array", + "description": "List data", + "items": { + "$ref": "#/definitions/IotAlertType" + } + } + } + }, + "IotAlertType": { + "type": "object", + "description": "IoT alert type.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Alert type properties", + "$ref": "#/definitions/IotAlertTypeProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotAlertTypeProperties": { + "type": "object", + "description": "IoT alert type information.", + "properties": { + "alertDisplayName": { + "readOnly": true, + "type": "string", + "example": "Privileged container detected", + "description": "The display name of the alert" + }, + "severity": { + "readOnly": true, + "type": "string", + "example": "Medium", + "description": "The severity of the alert", + "enum": [ + "Informational", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "alertSeverity", + "modelAsString": true, + "values": [ + { + "value": "Informational" + }, + { + "value": "Low" + }, + { + "value": "Medium" + }, + { + "value": "High" + } + ] + } + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the suspected vulnerability and meaning.", + "example": "Machine logs indicate that a privileged Docker container is running. A privileged container has full access to host resources. If compromised, a malicious actor can use the privileged container to gain access to the host machine." + }, + "providerName": { + "readOnly": true, + "type": "string", + "example": "IoTSecurity", + "description": "The name of the alert provider or internal partner" + }, + "productName": { + "readOnly": true, + "type": "string", + "example": "Azure Security Center for IoT", + "description": "The name of the product which published this alert" + }, + "productComponentName": { + "readOnly": true, + "type": "string", + "example": "IoT Hub", + "description": "The name of a component inside the product which generated the alert" + }, + "vendorName": { + "readOnly": true, + "type": "string", + "example": "Microsoft", + "description": "The name of the vendor that raise the alert" + }, + "intent": { + "readOnly": true, + "type": "string", + "example": "Exploitation,Execution", + "description": "Kill chain related intent behind the alert. Could contain multiple enum values (separated by commas)", + "enum": [ + "Unknown", + "PreAttack", + "InitialAccess", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "Probing", + "Exploitation" + ], + "x-ms-enum": { + "name": "alertIntent", + "modelAsString": true, + "values": [ + { + "value": "Unknown" + }, + { + "value": "PreAttack" + }, + { + "value": "InitialAccess" + }, + { + "value": "Persistence" + }, + { + "value": "PrivilegeEscalation" + }, + { + "value": "DefenseEvasion" + }, + { + "value": "CredentialAccess" + }, + { + "value": "Discovery" + }, + { + "value": "LateralMovement" + }, + { + "value": "Execution" + }, + { + "value": "Collection" + }, + { + "value": "Exfiltration" + }, + { + "value": "CommandAndControl" + }, + { + "value": "Impact" + }, + { + "value": "Probing" + }, + { + "value": "Exploitation" + } + ] + } + }, + "remediationSteps": { + "readOnly": true, + "description": "Manual action items to take to remediate the alert", + "type": "array", + "items": { + "type": "string", + "example": "If the container doesn't need to run in privileged mode, remove the privileges from the container." + } + } + } + } + }, + "parameters": { + "SolutionName": { + "name": "solutionName", + "in": "path", + "required": true, + "description": "The name of the IoT Security solution.", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlerts.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlerts.json new file mode 100644 index 000000000000..b51e7a792f22 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotAlerts.json @@ -0,0 +1,279 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2019-08-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.Security/iotSecuritySolutions/{solutionName}/iotAlerts": { + "get": { + "x-ms-examples": { + "Get IoT Alerts": { + "$ref": "./examples/IotAlerts/GetIoTAlertList.json" + } + }, + "tags": [ + "IoT Security Alerts" + ], + "description": "List IoT alerts", + "operationId": "IotAlerts_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + }, + { + "in": "query", + "name": "startTimeUtc>", + "x-ms-client-name": "minStartTimeUtc", + "required": false, + "type": "string", + "description": "Filter by minimum startTimeUtc (ISO 8601 format)" + }, + { + "in": "query", + "name": "startTimeUtc<", + "x-ms-client-name": "maxStartTimeUtc", + "required": false, + "type": "string", + "description": "Filter by maximum startTimeUtc (ISO 8601 format)" + }, + { + "in": "query", + "name": "alertType", + "required": false, + "type": "string", + "description": "Filter by alert type" + }, + { + "in": "query", + "name": "$limit", + "required": false, + "type": "integer", + "format": "int32", + "description": "Limit the number of items returned in a single page" + }, + { + "in": "query", + "name": "$skipToken", + "required": false, + "type": "string", + "description": "Skip token used for pagination" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotAlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/iotAlerts/{iotAlertId}": { + "get": { + "x-ms-examples": { + "Get IoT Alert": { + "$ref": "./examples/IotAlerts/GetIoTAlert.json" + } + }, + "tags": [ + "IoT Security Alerts" + ], + "operationId": "IotAlerts_Get", + "description": "Get IoT alert", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + }, + { + "in": "path", + "name": "iotAlertId", + "required": true, + "type": "string", + "description": "Id of the alert" + } + ], + "responses": { + "200": { + "description": "IoT alert", + "schema": { + "$ref": "#/definitions/IotAlert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotAlertList": { + "description": "List of IoT alerts", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotAlert" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "When available, follow the URI to get the next page of data" + }, + "totalCount": { + "readOnly": true, + "format": "int32", + "type": "integer", + "description": "Total count of alerts that conforms with the given filter options (not affected by page size)" + } + } + }, + "IotAlert": { + "type": "object", + "description": "IoT alert", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Alert properties", + "$ref": "#/definitions/IotAlertProperties" + } + } + }, + "IotAlertProperties": { + "type": "object", + "description": "IoT alert properties", + "properties": { + "systemAlertId": { + "description": "Holds the product canonical identifier of the alert within the scope of a product", + "readOnly": true, + "type": "string", + "example": "903e76ff-17eb-4bac-ac8a-2bc31ab68fd8" + }, + "compromisedEntity": { + "description": "Display name of the main entity being reported on", + "readOnly": true, + "type": "string", + "example": "device-1" + }, + "alertType": { + "description": "The type name of the alert", + "readOnly": true, + "type": "string", + "example": "IoT_PrivilegedContainer" + }, + "startTimeUtc": { + "description": "The impact start time of the alert (the time of the first event or activity included in the alert)", + "readOnly": true, + "type": "string", + "example": "2020-05-13T06:32:25Z" + }, + "endTimeUtc": { + "description": "The impact end time of the alert (the time of the last event or activity included in the alert)", + "readOnly": true, + "type": "string", + "example": "2020-05-13T06:32:25Z" + }, + "entities": { + "description": "A list of entities related to the alert", + "type": "array", + "items": { + "type": "object" + }, + "example": [ + { + "$id": "1", + "CommandLine": "docker run --privileged", + "Type": "process" + } + ] + }, + "extendedProperties": { + "type": "object", + "description": "A bag of fields which extends the alert information", + "example": { + "CommandLine": "docker run --privileged", + "User Name": "aUser", + "UserId": "", + "ParentProcessId": 1593, + "DeviceId": "device-1" + } + } + } + } + }, + "parameters": { + "SolutionName": { + "name": "solutionName", + "in": "path", + "required": true, + "description": "The name of the IoT Security solution.", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json new file mode 100644 index 000000000000..e4d95b007eb8 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json @@ -0,0 +1,269 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2019-08-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.Security/iotSecuritySolutions/{solutionName}/iotRecommendationTypes": { + "get": { + "x-ms-examples": { + "Get IoT Recommendation Types": { + "$ref": "./examples/IotRecommendationTypes/GetIoTRecommendationTypeList.json" + } + }, + "tags": [ + "IoT Security Recommendation Types" + ], + "description": "List IoT recommendation types", + "operationId": "IotRecommendationTypes_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotRecommendationTypeList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/iotRecommendationTypes/{iotRecommendationTypeName}": { + "get": { + "x-ms-examples": { + "Get IoT Recommendation Type": { + "$ref": "./examples/IotRecommendationTypes/GetIoTRecommendationType.json" + } + }, + "tags": [ + "IoT Security Recommendation Types" + ], + "operationId": "IotRecommendationTypes_Get", + "description": "Get IoT recommendation type", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + }, + { + "in": "path", + "name": "iotRecommendationTypeName", + "required": true, + "type": "string", + "description": "Name of the recommendation type" + } + ], + "responses": { + "200": { + "description": "IoT recommendation type", + "schema": { + "$ref": "#/definitions/IotRecommendationType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotRecommendationTypeList": { + "type": "object", + "description": "List of recommendation types", + "properties": { + "value": { + "type": "array", + "description": "List data", + "items": { + "$ref": "#/definitions/IotRecommendationType" + } + } + } + }, + "IotRecommendationType": { + "type": "object", + "description": "IoT recommendation type.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Recommendation type properties", + "$ref": "#/definitions/IotRecommendationTypeProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotRecommendationTypeProperties": { + "type": "object", + "description": "IoT recommendation type information.", + "properties": { + "recommendationDisplayName": { + "readOnly": true, + "type": "string", + "example": "TLS cipher suite upgrade needed", + "description": "The display name of the recommendation" + }, + "severity": { + "readOnly": true, + "type": "string", + "example": "Medium", + "description": "The severity of the recommendation", + "enum": [ + "Unknown", + "NotApplicable", + "Healthy", + "OffByPolicy", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "recommendationSeverity", + "modelAsString": true, + "values": [ + { + "value": "Unknown" + }, + { + "value": "NotApplicable" + }, + { + "value": "Healthy" + }, + { + "value": "OffByPolicy" + }, + { + "value": "Low" + }, + { + "value": "Medium" + }, + { + "value": "High" + } + ] + } + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the suspected vulnerability and meaning.", + "example": "Insecure TLS configurations detected. Immediate TLS cipher suite upgrade recommended." + }, + "productName": { + "readOnly": true, + "type": "string", + "example": "Azure Security Center for IoT", + "description": "The name of the product which published this recommendation" + }, + "productComponentName": { + "readOnly": true, + "type": "string", + "example": "IoT Hub", + "description": "The name of a component inside the product which generated the recommendation" + }, + "vendorName": { + "readOnly": true, + "type": "string", + "example": "Microsoft", + "description": "The name of the vendor that raised the recommendation" + }, + "control": { + "readOnly": true, + "type": "string", + "example": "Communication between device and IoT Hub is not optimized", + "description": "The name of the recommendation's control category " + }, + "remediationSteps": { + "readOnly": true, + "description": "Manual action items to take to resolve the recommendation", + "type": "array", + "items": { + "type": "string", + "example": "Upgrade your TLS cipher suite to a secure configuration. See the Guide to TLS Standards Compliance for more information." + } + }, + "dataSource": { + "readOnly": true, + "description": "The alert's data source", + "type": "string", + "example": "IoT Hub" + } + } + } + }, + "parameters": { + "SolutionName": { + "name": "solutionName", + "in": "path", + "required": true, + "description": "The name of the IoT Security solution.", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendations.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendations.json new file mode 100644 index 000000000000..c50b08a6f7c8 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-08-01/iotRecommendations.json @@ -0,0 +1,243 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2019-08-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.Security/iotSecuritySolutions/{solutionName}/iotRecommendations": { + "get": { + "x-ms-examples": { + "Get IoT Recommendations": { + "$ref": "./examples/IotRecommendations/GetIoTRecommendationList.json" + } + }, + "tags": [ + "IoT Security Recommendations" + ], + "description": "List IoT recommendations", + "operationId": "IotRecommendations_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + }, + { + "in": "query", + "name": "recommendationType", + "required": false, + "type": "string", + "description": "Filter by recommendation type" + }, + { + "in": "query", + "name": "$limit", + "required": false, + "type": "integer", + "format": "int32", + "description": "Limit the number of items returned in a single page" + }, + { + "in": "query", + "name": "$skipToken", + "required": false, + "type": "string", + "description": "Skip token used for pagination" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IotRecommendationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/iotRecommendations/{iotRecommendationId}": { + "get": { + "x-ms-examples": { + "Get IoT Recommendation": { + "$ref": "./examples/IotRecommendations/GetIoTRecommendation.json" + } + }, + "tags": [ + "IoT Security Recommendations" + ], + "operationId": "IotRecommendations_Get", + "description": "Get IoT recommendation", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SolutionName" + }, + { + "in": "path", + "name": "iotRecommendationId", + "required": true, + "type": "string", + "description": "Id of the recommendation" + } + ], + "responses": { + "200": { + "description": "IoT recommendation", + "schema": { + "$ref": "#/definitions/IotRecommendation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "IotRecommendationList": { + "description": "List of IoT recommendations", + "type": "object", + "properties": { + "value": { + "description": "List data", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotRecommendation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "When available, follow the URI to get the next page of data" + }, + "totalCount": { + "readOnly": true, + "format": "int32", + "type": "integer", + "description": "Total count of recommendations that conforms with the given filter options (not affected by page size)" + } + } + }, + "IotRecommendation": { + "type": "object", + "description": "IoT recommendation", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Recommendation properties", + "$ref": "#/definitions/IotRecommendationProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "IotRecommendationProperties": { + "type": "object", + "description": "IoT recommendation properties", + "properties": { + "deviceId": { + "description": "Identifier of the device being reported on", + "readOnly": true, + "type": "string", + "example": "device-1" + }, + "recommendationType": { + "description": "The type name of the recommendation", + "readOnly": true, + "type": "string", + "example": "IoT_PrivilegedContainer" + }, + "discoveredTimeUtc": { + "description": "The discovery time of the recommendation", + "readOnly": true, + "type": "string", + "example": "2020-05-13T06:32:25Z" + }, + "recommendationAdditionalData": { + "type": "object", + "description": "A bag of fields which extends the recommendation information", + "example": { + "SnapshotId": "48519d58-4e35-46cd-aed5-6251af95ed50", + "TotalFailedRules": "7", + "TotalRulesFailedDuoToError": "1", + "TotalInformationalFailedRules": "2", + "TotalCriticalFailedRules": "3", + "TotalWarningFailedRules": "1" + } + } + } + } + }, + "parameters": { + "SolutionName": { + "name": "solutionName", + "in": "path", + "required": true, + "description": "The name of the IoT Security solution.", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json new file mode 100644 index 000000000000..0c1bbb667ab3 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json @@ -0,0 +1,238 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-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.Security/securitySolutions": { + "get": { + "x-ms-examples": { + "Get security solutions": { + "$ref": "./examples/SecuritySolutions/GetSecuritySolutionsSubscription_example.json" + } + }, + "tags": [ + "SecuritySolutions" + ], + "description": "Gets a list of Security Solutions for the subscription.", + "operationId": "SecuritySolutions_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecuritySolutionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/securitySolutions/{securitySolutionName}": { + "get": { + "x-ms-examples": { + "Get a security solution from a security data location": { + "$ref": "./examples/SecuritySolutions/GetSecuritySolutionsResourceGroupLocation_example.json" + } + }, + "tags": [ + "SecuritySolutions" + ], + "description": "Gets a specific Security Solution.", + "operationId": "SecuritySolutions_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/SecuritySolutionName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecuritySolution" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SecuritySolutionList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecuritySolution" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "SecuritySolution": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecuritySolutionProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "SecuritySolutionProperties": { + "type": "object", + "properties": { + "securityFamily": { + "type": "string", + "description": "The security family of the security solution", + "enum": [ + "Waf", + "Ngfw", + "SaasWaf", + "Va" + ], + "x-ms-enum": { + "name": "securityFamily", + "modelAsString": true, + "values": [ + { + "value": "Waf" + }, + { + "value": "Ngfw" + }, + { + "value": "SaasWaf" + }, + { + "value": "Va" + } + ] + } + }, + "provisioningState": { + "type": "string", + "description": "The security family provisioning State", + "enum": [ + "Succeeded", + "Failed", + "Updating" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded" + }, + { + "value": "Failed" + }, + { + "value": "Updating" + } + ] + } + }, + "template": { + "type": "string", + "description": "The security solutions' template" + }, + "protectionStatus": { + "type": "string", + "description": "The security solutions' status" + } + }, + "required": [ + "securityFamily", + "provisioningState", + "template", + "protectionStatus" + ] + } + }, + "parameters": { + "SecuritySolutionName": { + "name": "securitySolutionName", + "type": "string", + "in": "path", + "required": true, + "description": "Name of security solution.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/alerts.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/alerts.json new file mode 100644 index 000000000000..1761bd6f335a --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/alerts.json @@ -0,0 +1,966 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) alerts resource provider", + "version": "2020-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.Security/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a subscription": { + "$ref": "./examples/Alerts/GetAlertsSubscription_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the subscription", + "operationId": "Alerts_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a resource group": { + "$ref": "./examples/Alerts/GetAlertsResourceGroup_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the resource group", + "operationId": "Alerts_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertsSubscriptionsLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the subscription that are stored in a specific location", + "operationId": "Alerts_ListSubscriptionLevelByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertsResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the resource group that are stored in a specific location", + "operationId": "Alerts_ListResourceGroupLevelByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { + "get": { + "x-ms-examples": { + "Get security alert on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Get an alert that is associated with a subscription", + "operationId": "Alerts_GetSubscriptionLevel", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { + "get": { + "x-ms-examples": { + "Get security alert on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Get an alert that is associated a resource group or a resource in a resource group", + "operationId": "Alerts_GetResourceGroupLevel", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/dismiss": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelStateToDismiss", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/resolve": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelStateToResolve", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/activate": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelStateToActivate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/resolve": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelStateToResolve", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/dismiss": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelStateToDismiss", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/activate": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelStateToActivate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Alert": { + "type": "object", + "description": "Security alert", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "describes security alert properties.", + "$ref": "#/definitions/AlertProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "AlertEntity": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "Changing set of properties depending on the entity type.", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "Type of entity" + } + } + }, + "AlertExtendedLinks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Links related to the alert" + }, + "AlertExtendedProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Custom properties for the alert." + }, + "AlertList": { + "type": "object", + "description": "List of security alerts", + "properties": { + "value": { + "type": "array", + "description": "describes security alert properties.", + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "AlertProperties": { + "type": "object", + "description": "describes security alert properties.", + "properties": { + "alertType": { + "readOnly": true, + "type": "string", + "description": "Unique identifier for the detection logic (all alert instances from the same detection logic will have the same alertType)." + }, + "systemAlertId": { + "readOnly": true, + "type": "string", + "description": "Unique identifier for the alert." + }, + "productComponentName": { + "readOnly": true, + "type": "string", + "description": "The name of Azure Security Center pricing tier which powering this alert. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-pricing" + }, + "alertDisplayName": { + "readOnly": true, + "type": "string", + "description": "The display name of the alert." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the suspicious activity that was detected." + }, + "severity": { + "readOnly": true, + "type": "string", + "enum": [ + "Informational", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "alertSeverity", + "modelAsString": true, + "values": [ + { + "value": "Informational", + "description": "Informational" + }, + { + "value": "Low", + "description": "Low" + }, + { + "value": "Medium", + "description": "Medium" + }, + { + "value": "High", + "description": "High" + } + ] + }, + "description": "The risk level of the threat that was detected. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-alerts-overview#how-are-alerts-classified." + }, + "intent": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "PreAttack", + "InitialAccess", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "Probing", + "Exploitation" + ], + "x-ms-enum": { + "name": "intent", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Unknown" + }, + { + "value": "PreAttack", + "description": "PreAttack could be either an attempt to access a certain resource regardless of a malicious intent, or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt, originating from outside the network, to scan the target system and find a way in. Further details on the PreAttack stage can be read in [MITRE Pre-Att&ck matrix](https://attack.mitre.org/matrices/pre/)." + }, + { + "value": "InitialAccess", + "description": "InitialAccess is the stage where an attacker manages to get foothold on the attacked resource." + }, + { + "value": "Persistence", + "description": "Persistence is any access, action, or configuration change to a system that gives a threat actor a persistent presence on that system." + }, + { + "value": "PrivilegeEscalation", + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network." + }, + { + "value": "DefenseEvasion", + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses." + }, + { + "value": "CredentialAccess", + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment." + }, + { + "value": "Discovery", + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network." + }, + { + "value": "LateralMovement", + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems." + }, + { + "value": "Execution", + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system." + }, + { + "value": "Collection", + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration." + }, + { + "value": "Exfiltration", + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network." + }, + { + "value": "CommandAndControl", + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network." + }, + { + "value": "Impact", + "description": "Impact events primarily try to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process." + }, + { + "value": "Probing", + "description": "Probing could be either an attempt to access a certain resource regardless of a malicious intent, or a failed attempt to gain access to a target system to gather information prior to exploitation." + }, + { + "value": "Exploitation", + "description": "Exploitation is the stage where an attacker manages to get a foothold on the attacked resource. This stage is relevant for compute hosts and resources such as user accounts, certificates etc." + } + ] + }, + "description": "The kill chain related intent behind the alert. For list of supported values, and explanations of Azure Security Center's supported kill chain intents." + }, + "startTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time of the first event or activity included in the alert in ISO8601 format." + }, + "endTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time of the last event or activity included in the alert in ISO8601 format." + }, + "resourceIdentifiers": { + "readOnly": true, + "type": "array", + "description": "The resource identifiers that can be used to direct the alert to the right product exposure group (tenant, workspace, subscription etc.). There can be multiple identifiers of different type per alert.", + "items": { + "$ref": "#/definitions/ResourceIdentifier" + } + }, + "remediationSteps": { + "readOnly": true, + "type": "array", + "description": "Manual action items to take to remediate the alert.", + "items": { + "readOnly": true, + "type": "string" + } + }, + "vendorName": { + "readOnly": true, + "type": "string", + "description": "The name of the vendor that raises the alert." + }, + "status": { + "readOnly": true, + "type": "string", + "enum": [ + "Active", + "Resolved", + "Dismissed" + ], + "x-ms-enum": { + "name": "alertStatus", + "modelAsString": true, + "values": [ + { + "value": "Active", + "description": "An alert which doesn't specify a value is assigned the status 'Active'" + }, + { + "value": "Resolved", + "description": "Alert closed after handling" + }, + { + "value": "Dismissed", + "description": "Alert dismissed as false positive" + } + ] + }, + "description": "The life cycle status of the alert." + }, + "extendedLinks": { + "readOnly": true, + "type": "array", + "description": "Links related to the alert", + "items": { + "$ref": "#/definitions/AlertExtendedLinks" + } + }, + "alertUri": { + "readOnly": true, + "type": "string", + "description": "A direct link to the alert page in Azure Portal." + }, + "timeGeneratedUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time the alert was generated in ISO8601 format." + }, + "productName": { + "readOnly": true, + "type": "string", + "description": "The name of the product which published this alert (Azure Security Center, Azure ATP, Microsoft Defender ATP, O365 ATP, MCAS, and so on)." + }, + "processingEndTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC processing end time of the alert in ISO8601 format." + }, + "entities": { + "readOnly": true, + "type": "array", + "description": "A list of entities related to the alert.", + "items": { + "$ref": "#/definitions/AlertEntity" + } + }, + "isIncident": { + "readOnly": true, + "type": "boolean", + "description": "This field determines whether the alert is an incident (a compound grouping of several alerts) or a single alert." + }, + "correlationKey": { + "readOnly": true, + "type": "string", + "description": "Key for corelating related alerts. Alerts with the same correlation key considered to be related." + }, + "extendedProperties": { + "$ref": "#/definitions/AlertExtendedProperties", + "description": "Custom properties for the alert." + }, + "compromisedEntity": { + "readOnly": true, + "type": "string", + "description": "The display name of the resource most related to this alert." + } + } + }, + "AzureResourceIdentifier": { + "type": "object", + "description": "Azure resource identifier.", + "x-ms-discriminator-value": "AzureResource", + "allOf": [ + { + "$ref": "#/definitions/ResourceIdentifier" + } + ], + "properties": { + "azureResourceId": { + "readOnly": true, + "type": "string", + "description": "ARM resource identifier for the cloud resource being alerted on" + } + } + }, + "LogAnalyticsIdentifier": { + "type": "object", + "description": "Represents a Log Analytics workspace scope identifier.", + "x-ms-discriminator-value": "LogAnalytics", + "allOf": [ + { + "$ref": "#/definitions/ResourceIdentifier" + } + ], + "properties": { + "workspaceId": { + "readOnly": true, + "type": "string", + "description": "The LogAnalytics workspace id that stores this alert." + }, + "workspaceSubscriptionId": { + "readOnly": true, + "type": "string", + "description": "The azure subscription id for the LogAnalytics workspace storing this alert.", + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$" + }, + "workspaceResourceGroup": { + "readOnly": true, + "type": "string", + "description": "The azure resource group for the LogAnalytics workspace storing this alert" + }, + "agentId": { + "readOnly": true, + "type": "string", + "description": "(optional) The LogAnalytics agent id reporting the event that this alert is based on." + } + } + }, + "ResourceIdentifier": { + "type": "object", + "description": "A resource identifier for an alert which can be used to direct the alert to the right product exposure group (tenant, workspace, subscription etc.).", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "There can be multiple identifiers of different type per alert, this field specify the identifier type.", + "enum": [ + "AzureResource", + "LogAnalytics" + ], + "x-ms-enum": { + "name": "ResourceIdentifierType", + "modelAsString": true, + "values": [ + { + "value": "AzureResource" + }, + { + "value": "LogAnalytics" + } + ] + } + } + } + } + }, + "parameters": { + "AlertName": { + "name": "alertName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the alert object", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json index 891ad2d1a162..4bfa1d9d474d 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json @@ -36,11 +36,11 @@ "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.Security/applicationWhitelistings": { "get": { - "description": "Gets a list of application control VM/server groups for the subscription.", + "description": "Gets a list of application control machine groups for the subscription.", "operationId": "AdaptiveApplicationControls_List", "x-ms-examples": { - "Gets a list of application control VM/server groups for the subscription": { - "$ref": "./examples/ApplicationWhitelistings/GetApplicationWhitelistingsSubscription_example.json" + "Gets a list of application control groups of machines for the subscription": { + "$ref": "./examples/ApplicationWhitelistings/GetAdaptiveApplicationControlsSubscription_example.json" } }, "tags": [ @@ -67,7 +67,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/AppWhitelistingGroups" + "$ref": "#/definitions/AdaptiveApplicationControlGroups" } }, "default": { @@ -85,7 +85,7 @@ "operationId": "AdaptiveApplicationControls_Get", "x-ms-examples": { "Gets a configured application control VM/server group": { - "$ref": "./examples/ApplicationWhitelistings/GetApplicationWhitelistingsGroup_example.json" + "$ref": "./examples/ApplicationWhitelistings/GetAdaptiveApplicationControlsGroup_example.json" } }, "tags": [ @@ -112,7 +112,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/AppWhitelistingGroup" + "$ref": "#/definitions/AdaptiveApplicationControlGroup" } }, "default": { @@ -128,11 +128,11 @@ "applicationWhitelistings" ], "x-ms-examples": { - "Update an application control VM/server group by adding a new file": { - "$ref": "./examples/ApplicationWhitelistings/PutApplicationWhitelistings_example.json" + "Update an application control machine group by adding a new application": { + "$ref": "./examples/ApplicationWhitelistings/PutAdaptiveApplicationControls_example.json" } }, - "description": "Update an application control VM/server group", + "description": "Update an application control machine group", "operationId": "AdaptiveApplicationControls_Put", "consumes": [ "application/json" @@ -151,14 +151,14 @@ "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" }, { - "$ref": "#/parameters/AppWhitelistingGroup" + "$ref": "#/parameters/AdaptiveApplicationControlGroup" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/AppWhitelistingGroup" + "$ref": "#/definitions/AdaptiveApplicationControlGroup" } }, "default": { @@ -171,14 +171,14 @@ }, "delete": { "x-ms-examples": { - "Delete an application control VM/server group": { - "$ref": "./examples/ApplicationWhitelistings/DeleteApplicationWhitelistings_example.json" + "Delete an application control machine group": { + "$ref": "./examples/ApplicationWhitelistings/DeleteAdaptiveApplicationControls_example.json" } }, "tags": [ "applicationWhitelistings" ], - "description": "Delete an application control VM/server group", + "description": "Delete an application control machine group", "operationId": "AdaptiveApplicationControls_Delete", "parameters": [ { @@ -215,24 +215,24 @@ } }, "definitions": { - "AppWhitelistingGroups": { + "AdaptiveApplicationControlGroups": { "type": "object", - "description": "Represents a list of VM/server groups and set of rules that are Recommended by Azure Security Center to be allowed", + "description": "Represents a list of machine groups and set of rules that are recommended by Azure Security Center to be allowed", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/AppWhitelistingGroup" + "$ref": "#/definitions/AdaptiveApplicationControlGroup" } } } }, - "AppWhitelistingGroup": { + "AdaptiveApplicationControlGroup": { "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/AppWhitelistingGroupData" + "$ref": "#/definitions/AdaptiveApplicationControlGroupData" } }, "required": [ @@ -247,9 +247,9 @@ } ] }, - "AppWhitelistingGroupData": { + "AdaptiveApplicationControlGroupData": { "type": "object", - "description": "Represents a VM/server group and set of rules to be allowed running on a machine", + "description": "Represents a machines group and set of rules to be allowed running on a machine", "properties": { "enforcementMode": { "$ref": "#/definitions/EnforcementMode" @@ -267,7 +267,7 @@ }, "issues": { "readOnly": true, - "$ref": "#/definitions/AppWhitelistingIssuesSummaries" + "$ref": "#/definitions/AdaptiveApplicationControlIssuesSummaries" }, "sourceSystem": { "readOnly": true, @@ -283,7 +283,7 @@ }, "ConfigurationStatus": { "type": "string", - "description": "The configuration status of the VM/server group or machine or rule on the machine", + "description": "The configuration status of the machines group or machine or rule", "enum": [ "Configured", "NotConfigured", @@ -294,7 +294,7 @@ }, "EnforcementMode": { "type": "string", - "description": "The application control policy enforcement/protection mode of the VM/server group", + "description": "The application control policy enforcement/protection mode of the machine group", "enum": [ "Audit", "Enforce", @@ -303,7 +303,7 @@ }, "EnforcementSupport": { "type": "string", - "description": "The VM/server supportability of Enforce feature", + "description": "The machine supportability of Enforce feature", "enum": [ "Supported", "NotSupported", @@ -330,7 +330,7 @@ }, "RecommendationStatus": { "type": "string", - "description": "The recommendation status of the VM/server group or VM/server", + "description": "The initial recommendation status of the machine group or machine", "enum": [ "Recommended", "NotRecommended", @@ -340,7 +340,7 @@ }, "RecommendationAction": { "type": "string", - "description": "The recommendation action of the VM/server or rule", + "description": "The recommendation action of the machine or rule", "enum": [ "Recommended", "Add", @@ -359,9 +359,9 @@ "VersionAndAboveSignature" ] }, - "AppWhitelistingIssue": { + "AdaptiveApplicationControlIssue": { "type": "string", - "description": "An alert that VMs/servers within a group can have", + "description": "An alert that machines within a group can have", "enum": [ "ViolationsAudited", "ViolationsBlocked", @@ -385,7 +385,7 @@ }, "SourceSystem": { "type": "string", - "description": "The source type of the VM/server group", + "description": "The source type of the machine group", "enum": [ "Azure_AppLocker", "Azure_AuditD", @@ -394,23 +394,23 @@ "None" ] }, - "AppWhitelistingIssueSummary": { + "AdaptiveApplicationControlIssueSummary": { "type": "object", - "description": "Represents a summary of the alerts of the VM/server group", + "description": "Represents a summary of the alerts of the machine group", "properties": { "issue": { - "$ref": "#/definitions/AppWhitelistingIssue" + "$ref": "#/definitions/AdaptiveApplicationControlIssue" }, "numberOfVms": { "type": "number", - "description": "The number of machines in the VM/server group that have this alert" + "description": "The number of machines in the group that have this alert" } } }, - "AppWhitelistingIssuesSummaries": { + "AdaptiveApplicationControlIssuesSummaries": { "type": "array", "items": { - "$ref": "#/definitions/AppWhitelistingIssueSummary" + "$ref": "#/definitions/AdaptiveApplicationControlIssueSummary" } }, "VmRecommendations": { @@ -421,7 +421,7 @@ }, "VmRecommendation": { "type": "object", - "description": "Represents a machine that is part of a VM/server group", + "description": "Represents a machine that is part of a machine group", "properties": { "configurationStatus": { "$ref": "#/definitions/ConfigurationStatus" @@ -489,7 +489,7 @@ "properties": { "path": { "type": "string", - "description": "The full path to whitelist", + "description": "The full path of the file, or an identifier of the application", "example": "C:\\Windows\\System32\\calc.exe" }, "action": { @@ -503,7 +503,7 @@ }, "common": { "type": "boolean", - "description": "Whether the path is commonly run on the machine" + "description": "Whether the application is commonly run on the machine" }, "userSids": { "type": "array", @@ -529,25 +529,20 @@ }, "GroupResourceId": { "type": "string", - "description": "The azure resource id of the application control VM/server group", + "description": "The azure resource id of the application control machine group", "example": "/subscriptions/12345678-1234-1234-1234-123456789123/providers/Microsoft.Security/applicationWhitelistings/GROUP1" }, "VmResourceId": { "type": "string", - "description": "The full azure resource id of the machine", + "description": "The full resource id of the machine", "example": "/subscriptions/12345678-1234-1234-1234-123456789123/resourcegroups/group/providers/microsoft.compute/virtualmachines/vm" - }, - "AppWhitelistingResourceType": { - "type": "string", - "description": "The resource type of the application control resources", - "example": "Microsoft.Security/applicationWhitelistings" } }, "parameters": { "GroupName": { "name": "groupName", "in": "path", - "description": "Name of an application control VM/server group", + "description": "Name of an application control machine group", "required": true, "type": "string", "x-ms-parameter-location": "method" @@ -576,12 +571,12 @@ ], "x-ms-parameter-location": "method" }, - "AppWhitelistingGroup": { + "AdaptiveApplicationControlGroup": { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/AppWhitelistingGroup" + "$ref": "#/definitions/AdaptiveApplicationControlGroup" }, "x-ms-parameter-location": "method" } diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertResourceGroupLocation_example.json new file mode 100644 index 000000000000..49446f9f4617 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertResourceGroupLocation_example.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertSubscriptionLocation_example.json new file mode 100644 index 000000000000..50fb76fb502e --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertSubscriptionLocation_example.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json new file mode 100644 index 000000000000..cf33060d8dbd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1", + "ascLocation": "westeurope" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroup_example.json new file mode 100644 index 000000000000..8cada3557ed0 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsResourceGroup_example.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscription_example.json new file mode 100644 index 000000000000..3d2769779efc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscription_example.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/westeurope/alerts/2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "name": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_SuspiciousScreenSaver", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Suspicious Screensaver process executed", + "description": "The process ‘c:\\users\\contosoUser\\scrsave.scr’ was observed executing from an uncommon location. Files with the .scr extensions are screen saver files and are normally reside and execute from the Windows system directory.", + "severity": "Medium", + "intent": "Execution", + "startTimeUtc": "2019-05-07T13:51:45.0045913Z", + "endTimeUtc": "2019-05-07T13:51:45.0045913Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "1. Run Process Explorer and try to identify unknown running processes (see https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)", + "2. Make sure the machine is completely updated and has an updated anti-malware application installed", + "3. Run a full anti-malware scan and verify that the threat was removed", + "4. Install and run Microsoft’s Malicious Software Removal Tool (see https://www.microsoft.com/en-us/download/malicious-software-removal-tool-details.aspx)", + "5. Run Microsoft’s Autoruns utility and try to identify unknown applications that are configured to run at login (see https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx)", + "6. Escalate the alert to the information security team" + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2019-05-07T13:51:48.3810457Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2019-05-07T13:51:48.9810457Z", + "entities": [ + { + "dnsDomain": "", + "ntDomain": "", + "hostName": "vm2", + "netBiosName": "vm2", + "azureID": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myRg2/providers/microsoft.compute/virtualmachines/vm2", + "omsAgentID": "45b44640-3b94-4892-a28c-4a5cae27065a", + "operatingSystem": "Unknown", + "type": "host", + "OsVersion": null + }, + { + "name": "contosoUser", + "ntDomain": "vm2", + "logonId": "0x61450d87", + "sid": "S-1-5-21-2144575486-8928446540-5163864319-500", + "type": "account" + }, + { + "directory": "c:\\windows\\system32", + "name": "cmd.exe", + "type": "file" + }, + { + "processId": "0x3c44", + "type": "process" + }, + { + "directory": "c:\\users\\contosoUser", + "name": "scrsave.scr", + "type": "file" + }, + { + "processId": "0x4aec", + "commandLine": "c:\\users\\contosoUser\\scrsave.scr", + "creationTimeUtc": "2018-05-07T13:51:45.0045913Z", + "type": "process" + } + ], + "isIncident": true, + "correlationKey": "4hno6LF0xzCl5tqrk4nrBW+MY1BX816W6q6+0srk4", + "compromisedEntity": "vm2", + "extendedProperties": { + "domain name": "vm2", + "user name": "vm2\\contosoUser", + "process name": "c:\\users\\contosoUser\\scrsave.scr", + "command line": "c:\\users\\contosoUser\\scrsave.scr", + "parent process": "cmd.exe", + "process id": "0x4aec", + "account logon id": "0x61450d87", + "user SID": "S-1-5-21-2144575486-8928446540-5163864319-500", + "parent process id": "0x3c44", + "resourceType": "Virtual Machine" + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json new file mode 100644 index 000000000000..de7348db0c15 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/westeurope/alerts/2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "name": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_SuspiciousScreenSaver", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Suspicious Screensaver process executed", + "description": "The process ‘c:\\users\\contosoUser\\scrsave.scr’ was observed executing from an uncommon location. Files with the .scr extensions are screen saver files and are normally reside and execute from the Windows system directory.", + "severity": "Medium", + "intent": "Execution", + "startTimeUtc": "2019-05-07T13:51:45.0045913Z", + "endTimeUtc": "2019-05-07T13:51:45.0045913Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "1. Run Process Explorer and try to identify unknown running processes (see https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)", + "2. Make sure the machine is completely updated and has an updated anti-malware application installed", + "3. Run a full anti-malware scan and verify that the threat was removed", + "4. Install and run Microsoft’s Malicious Software Removal Tool (see https://www.microsoft.com/en-us/download/malicious-software-removal-tool-details.aspx)", + "5. Run Microsoft’s Autoruns utility and try to identify unknown applications that are configured to run at login (see https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx)", + "6. Escalate the alert to the information security team" + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2019-05-07T13:51:48.3810457Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2019-05-07T13:51:48.9810457Z", + "entities": [ + { + "dnsDomain": "", + "ntDomain": "", + "hostName": "vm2", + "netBiosName": "vm2", + "azureID": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myRg2/providers/microsoft.compute/virtualmachines/vm2", + "omsAgentID": "45b44640-3b94-4892-a28c-4a5cae27065a", + "operatingSystem": "Unknown", + "type": "host", + "OsVersion": null + }, + { + "name": "contosoUser", + "ntDomain": "vm2", + "logonId": "0x61450d87", + "sid": "S-1-5-21-2144575486-8928446540-5163864319-500", + "type": "account" + }, + { + "directory": "c:\\windows\\system32", + "name": "cmd.exe", + "type": "file" + }, + { + "processId": "0x3c44", + "type": "process" + }, + { + "directory": "c:\\users\\contosoUser", + "name": "scrsave.scr", + "type": "file" + }, + { + "processId": "0x4aec", + "commandLine": "c:\\users\\contosoUser\\scrsave.scr", + "creationTimeUtc": "2018-05-07T13:51:45.0045913Z", + "type": "process" + } + ], + "isIncident": true, + "correlationKey": "4hno6LF0xzCl5tqrk4nrBW+MY1BX816W6q6+0srk4", + "compromisedEntity": "vm2", + "extendedProperties": { + "domainName": "vm2", + "userName": "vm2\\contosoUser", + "processName": "c:\\users\\contosoUser\\scrsave.scr", + "command line": "c:\\users\\contosoUser\\scrsave.scr", + "parent process": "cmd.exe", + "process id": "0x4aec", + "account logon id": "0x61450d87", + "user SID": "S-1-5-21-2144575486-8928446540-5163864319-500", + "parent process id": "0x3c44", + "resourceType": "Virtual Machine" + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json new file mode 100644 index 000000000000..b7be3ef5f435 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg2", + "ascLocation": "westeurope", + "alertName": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "alertUpdateActionType": "Dismiss" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json new file mode 100644 index 000000000000..bdcbe43029d3 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg2", + "ascLocation": "westeurope", + "alertName": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "alertUpdateActionType": "Resolve" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json new file mode 100644 index 000000000000..52b671bde85c --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "alertUpdateActionType": "Dismiss" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json new file mode 100644 index 000000000000..4fe76e01925d --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "alertUpdateActionType": "Resolve" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/DeleteApplicationWhitelistings_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/DeleteAdaptiveApplicationControls_example.json similarity index 100% rename from specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/DeleteApplicationWhitelistings_example.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/DeleteAdaptiveApplicationControls_example.json diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetApplicationWhitelistingsGroup_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetAdaptiveApplicationControlsGroup_example.json similarity index 100% rename from specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetApplicationWhitelistingsGroup_example.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetAdaptiveApplicationControlsGroup_example.json diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetApplicationWhitelistingsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetAdaptiveApplicationControlsSubscription_example.json similarity index 100% rename from specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetApplicationWhitelistingsSubscription_example.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/GetAdaptiveApplicationControlsSubscription_example.json diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/PutApplicationWhitelistings_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/PutAdaptiveApplicationControls_example.json similarity index 100% rename from specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/PutApplicationWhitelistings_example.json rename to specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/ApplicationWhitelistings/PutAdaptiveApplicationControls_example.json diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutions/GetSecuritySolutionsResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutions/GetSecuritySolutionsResourceGroupLocation_example.json new file mode 100644 index 000000000000..6c0bd6832ccd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutions/GetSecuritySolutionsResourceGroupLocation_example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg2", + "ascLocation": "centralus", + "securitySolutionName": "paloalto7" + }, + "responses": { + "200": { + "body": { + "properties": { + "securityFamily": "Ngfw", + "protectionStatus": "Good", + "template": "paloalto.paloaltofw", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/securitySolutions/paloalto7", + "name": "MyVA", + "type": "Microsoft.Security/locations/securitySolutions", + "location": "eastus2" + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutions/GetSecuritySolutionsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutions/GetSecuritySolutionsSubscription_example.json new file mode 100644 index 000000000000..e255b72c1293 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutions/GetSecuritySolutionsSubscription_example.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "securityFamily": "SaasWaf", + "protectionStatus": "Good", + "template": "microsoft/ApplicationGateway-ARM", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/centralus/securitySolutions/SaasWaf", + "name": "MySaasWaf", + "type": "Microsoft.Security/locations/securitySolutions", + "location": "eastus" + }, + { + "properties": { + "securityFamily": "Va", + "protectionStatus": "Good", + "template": "qualys.qualysAgent", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/centralus/securitySolutions/MyVA", + "name": "MyVA", + "type": "Microsoft.Security/locations/securitySolutions", + "location": "eastus2" + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutionsReferenceData/GetSecuritySolutionsReferenceDataSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutionsReferenceData/GetSecuritySolutionsReferenceDataSubscriptionLocation_example.json new file mode 100644 index 000000000000..1f8b43f377f2 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutionsReferenceData/GetSecuritySolutionsReferenceDataSubscriptionLocation_example.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westcentralus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "alertVendorName": "Microsoft", + "securityFamily": "SaasWaf", + "packageInfoUrl": "www.azure.com", + "productName": "Web Application Firewall", + "publisher": "microsoft", + "publisherDisplayName": "Microsoft Inc.", + "template": "microsoft/ApplicationGateway-ARM" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/westcentralus/securitySolutionsReferenceData/microsoft.ApplicationGateway-ARM", + "name": "microsoft.ApplicationGateway-ARM", + "type": "Microsoft.Security/locations/securitySolutionsReferenceData" + }, + { + "properties": { + "alertVendorName": "Qualys VA", + "securityFamily": "Va", + "packageInfoUrl": "http://www.qualys.com/", + "productName": "Vulnerability Assessment", + "publisher": "qualys", + "publisherDisplayName": "Qualys, Inc.", + "template": "qualys/qualysAgent" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/westcentralus/securitySolutionsReferenceData/qualys.qualysAgent", + "name": "qualys.qualysAgent", + "type": "Microsoft.Security/locations/SecuritySolutions" + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutionsReferenceData/GetSecuritySolutionsReferenceDataSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutionsReferenceData/GetSecuritySolutionsReferenceDataSubscription_example.json new file mode 100644 index 000000000000..ee3c112ca4cd --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/examples/SecuritySolutionsReferenceData/GetSecuritySolutionsReferenceDataSubscription_example.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "alertVendorName": "Microsoft", + "securityFamily": "SaasWaf", + "packageInfoUrl": "www.azure.com", + "productName": "Web Application Firewall", + "publisher": "microsoft", + "publisherDisplayName": "Microsoft Inc.", + "template": "microsoft/ApplicationGateway-ARM" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/westcentralus/securitySolutionsReferenceData/microsoft.ApplicationGateway-ARM", + "name": "microsoft.ApplicationGateway-ARM", + "type": "Microsoft.Security/locations/securitySolutionsReferenceData" + }, + { + "properties": { + "alertVendorName": "Qualys VA", + "securityFamily": "Va", + "packageInfoUrl": "http://www.qualys.com/", + "productName": "Vulnerability Assessment", + "publisher": "qualys", + "publisherDisplayName": "Qualys, Inc.", + "template": "qualys/qualysAgent" + }, + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/locations/westcentralus/securitySolutionsReferenceData/qualys.qualysAgent", + "name": "qualys.qualysAgent", + "type": "Microsoft.Security/locations/SecuritySolutions" + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json new file mode 100644 index 000000000000..92b203a528f5 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json @@ -0,0 +1,212 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2020-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.Security/securitySolutionsReferenceData": { + "get": { + "x-ms-examples": { + "Get security solutions": { + "$ref": "./examples/SecuritySolutionsReferenceData/GetSecuritySolutionsReferenceDataSubscription_example.json" + } + }, + "tags": [ + "securitySolutionsReferenceData" + ], + "description": "Gets a list of all supported Security Solutions for the subscription.", + "operationId": "securitySolutionsReferenceData_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/securitySolutionsReferenceDataList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/securitySolutionsReferenceData": { + "get": { + "x-ms-examples": { + "Get security solutions from a security data location": { + "$ref": "./examples/SecuritySolutionsReferenceData/GetSecuritySolutionsReferenceDataSubscriptionLocation_example.json" + } + }, + "tags": [ + "SecuritySolutionsReferenceData" + ], + "description": "Gets list of all supported Security Solutions for subscription and location.", + "operationId": "SecuritySolutionsReferenceData_ListByHomeRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/securitySolutionsReferenceDataList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "securitySolutionsReferenceDataList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/securitySolutionsReferenceData" + } + } + } + }, + "securitySolutionsReferenceData": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/securitySolutionsReferenceDataProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + }, + { + "$ref": "../../../common/v1/types.json#/definitions/Location" + } + ] + }, + "securitySolutionsReferenceDataProperties": { + "type": "object", + "properties": { + "securityFamily": { + "type": "string", + "description": "The security family of the security solution", + "enum": [ + "Waf", + "Ngfw", + "SaasWaf", + "Va" + ], + "x-ms-enum": { + "name": "securityFamily", + "modelAsString": true, + "values": [ + { + "value": "Waf" + }, + { + "value": "Ngfw" + }, + { + "value": "SaasWaf" + }, + { + "value": "Va" + } + ] + } + }, + "alertVendorName": { + "type": "string", + "description": "The security solutions' vendor name" + }, + "packageInfoUrl": { + "type": "string", + "description": "The security solutions' package info url" + }, + "productName": { + "type": "string", + "description": "The security solutions' product name" + }, + "publisher": { + "type": "string", + "description": "The security solutions' publisher" + }, + "publisherDisplayName": { + "type": "string", + "description": "The security solutions' publisher display name" + }, + "template": { + "type": "string", + "description": "The security solutions' template" + } + }, + "required": [ + "securityFamily", + "alertVendorName", + "packageInfoUrl", + "productName", + "publisher", + "publisherDisplayName", + "template" + ] + } + } +} diff --git a/specification/security/resource-manager/common/v1/types.json b/specification/security/resource-manager/common/v1/types.json index 48bec7b159a3..bfb922e1a2f0 100644 --- a/specification/security/resource-manager/common/v1/types.json +++ b/specification/security/resource-manager/common/v1/types.json @@ -65,7 +65,7 @@ "$ref": "#/definitions/Resource" }, { - "$ref": "#/definitions/Location" + "$ref": "#/definitions/AzureTrackedResourceLocation" }, { "$ref": "#/definitions/Kind" @@ -122,6 +122,16 @@ } } }, + "AzureTrackedResourceLocation": { + "type": "object", + "description": "Describes an Azure resource with location", + "properties": { + "location": { + "type": "string", + "description": "Location where the resource is stored" + } + } + }, "AscLocationList": { "type": "object", "description": "List of locations where ASC saves your data", @@ -169,7 +179,8 @@ "description": "The platform where the assessed resource resides", "enum": [ "Azure", - "OnPremise" + "OnPremise", + "OnPremiseSql" ], "x-ms-enum": { "name": "source", @@ -182,6 +193,10 @@ { "value": "OnPremise", "description": "Resource in an on premise machine connected to Azure cloud" + }, + { + "value": "OnPremiseSql", + "description": "SQL Resource in an on premise machine connected to Azure cloud" } ] } @@ -242,6 +257,30 @@ "machineName" ] }, + "OnPremiseSqlResourceDetails": { + "type": "object", + "description": "Details of the On Premise Sql resource that was assessed", + "x-ms-discriminator-value": "OnPremiseSql", + "allOf": [ + { + "$ref": "#/definitions/OnPremiseResourceDetails" + } + ], + "properties": { + "serverName": { + "type": "string", + "description": "The Sql server name installed on the machine" + }, + "databaseName": { + "type": "string", + "description": "The Sql database name installed on the machine" + } + }, + "required": [ + "serverName", + "databaseName" + ] + }, "AzureResourceLinks": { "description": "array of azure resource IDs", "readOnly": true, diff --git a/specification/security/resource-manager/readme.azureresourceschema.md b/specification/security/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..84dc1c926799 --- /dev/null +++ b/specification/security/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,236 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-security-2020-08-06-preview + - tag: schema-security-2020-01-01-preview + - tag: schema-security-2020-01-01 + - tag: schema-security-2019-08-01 + - tag: schema-security-2019-01-01-preview + - tag: schema-security-2019-01-01 + - tag: schema-security-2018-06-01 + - tag: schema-security-2017-08-01-preview + - tag: schema-security-2017-08-01 + - tag: schema-security-2015-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-security-2020-08-06-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2020-08-06-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json + - Microsoft.Security/preview/2020-08-06-preview/iotSensors.json + - $(this-folder)/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json + - $(this-folder)/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json + +``` + +### Tag: schema-security-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2020-01-01-preview/secureScore.json + - Microsoft.Security/preview/2020-01-01-preview/connectors.json + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/secureScore.json + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/connectors.json + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/securityContacts.json + +``` + +### Tag: schema-security-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json + - Microsoft.Security/stable/2020-01-01/assessmentMetadata.json + - Microsoft.Security/stable/2020-01-01/assessments.json + - Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json + - Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json + - Microsoft.Security/stable/2020-01-01/allowedConnections.json + - Microsoft.Security/stable/2020-01-01/topologies.json + - Microsoft.Security/stable/2020-01-01/alerts.json + - Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json + - Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json + - Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json + - Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json + - Microsoft.Security/stable/2020-01-01/SecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessments.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/allowedConnections.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/topologies.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/alerts.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json + +``` + +### Tag: schema-security-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json + - Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json + - Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json + - Microsoft.Security/stable/2019-08-01/iotAlertTypes.json + - Microsoft.Security/stable/2019-08-01/iotAlerts.json + - Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json + - Microsoft.Security/stable/2019-08-01/iotRecommendations.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlertTypes.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlerts.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotRecommendations.json + +``` + +### Tag: schema-security-2019-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2019-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2019-01-01-preview/automations.json + - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json + - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json + - Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json + - Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json + - Microsoft.Security/preview/2019-01-01-preview/assessments.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/automations.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/alertsSuppressionRules.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json + - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessments.json + +``` + +### Tag: schema-security-2019-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2019-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2019-01-01/alerts.json + - Microsoft.Security/stable/2019-01-01/settings.json + - Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json + - $(this-folder)/Microsoft.Security/stable/2019-01-01/settings.json + - $(this-folder)/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json + +``` + +### Tag: schema-security-2018-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2018-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2018-06-01/pricings.json + - $(this-folder)/Microsoft.Security/stable/2018-06-01/pricings.json + +``` + +### Tag: schema-security-2017-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2017-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2017-08-01-preview/pricings.json + - Microsoft.Security/preview/2017-08-01-preview/securityContacts.json + - Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json + - Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json + - Microsoft.Security/preview/2017-08-01-preview/compliances.json + - Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json + - Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json + - Microsoft.Security/preview/2017-08-01-preview/settings.json + - Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json + - Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json + - Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/pricings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/securityContacts.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/compliances.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/advancedThreatProtectionSettings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/deviceSecurityGroups.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/settings.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json + - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json + +``` + +### Tag: schema-security-2017-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-security-2017-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/stable/2017-08-01/complianceResults.json + - $(this-folder)/Microsoft.Security/stable/2017-08-01/complianceResults.json + +``` + +### Tag: schema-security-2015-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-security-2015-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Security/preview/2015-06-01-preview/operations.json + - Microsoft.Security/preview/2015-06-01-preview/locations.json + - Microsoft.Security/preview/2015-06-01-preview/tasks.json + - Microsoft.Security/preview/2015-06-01-preview/alerts.json + - Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json + - Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json + - Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json + - Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json + - Microsoft.Security/preview/2015-06-01-preview/topologies.json + - Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json + - Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/operations.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/locations.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/tasks.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/alerts.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/discoveredSecuritySolutions.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/jitNetworkAccessPolicies.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/applicationWhitelistings.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/externalSecuritySolutions.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/topologies.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/allowedConnections.json + - $(this-folder)/Microsoft.Security/preview/2015-06-01-preview/adaptiveNetworkHardenings.json + +``` diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index 982c3d005409..175fa216254a 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -36,6 +36,22 @@ directive: from: iotSecuritySolutionAnalytics.json where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels"].get' reason: The list returns limited number of items + - suppress: PageableOperation + from: alertTypes.json + where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/alertTypes"].get' + reason: The list returns limited number of items + - suppress: PageableOperation + from: recommendationTypes.json + where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/recommendationTypes"].get' + reason: The list returns limited number of items + - suppress: PageableOperation + from: iotDefenderSettings.json + where: '$.paths["/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotDefenderSettings"].get' + reason: The list returns limited number of items + - suppress: PageableOperation + from: iotSensors.json + where: '$.paths["/{scope}/providers/Microsoft.Security/iotSensors/{iotSensorName}"].get' + reason: The list returns limited number of items ``` ### Basic Information @@ -53,6 +69,7 @@ tag: package-composite-v3 The following packages may be composed from multiple api-versions. + ### Tag: package-composite-v1 These settings apply only when `--tag=package-composite-v1` is specified on the command line. @@ -60,6 +77,7 @@ These settings apply only when `--tag=package-composite-v1` is specified on the ``` yaml $(tag) == 'package-composite-v1' input-file: - Microsoft.Security/preview/2020-01-01-preview/secureScore.json +- Microsoft.Security/preview/2020-01-01-preview/connectors.json - Microsoft.Security/preview/2019-01-01-preview/automations.json - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json @@ -97,6 +115,7 @@ These settings apply only when `--tag=package-composite-v2` is specified on the ``` yaml $(tag) == 'package-composite-v2' input-file: - Microsoft.Security/preview/2020-01-01-preview/secureScore.json +- Microsoft.Security/preview/2020-01-01-preview/connectors.json - Microsoft.Security/preview/2019-01-01-preview/automations.json - Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json @@ -137,12 +156,15 @@ These settings apply only when `--tag=package-composite-v3` is specified on the input-file: - Microsoft.Security/stable/2017-08-01/complianceResults.json - Microsoft.Security/stable/2018-06-01/pricings.json -- Microsoft.Security/stable/2019-01-01/alerts.json - Microsoft.Security/stable/2019-01-01/settings.json - Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json - Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json - Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json - Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json +- Microsoft.Security/stable/2019-08-01/iotAlertTypes.json +- Microsoft.Security/stable/2019-08-01/iotAlerts.json +- Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json +- Microsoft.Security/stable/2019-08-01/iotRecommendations.json - Microsoft.Security/preview/2015-06-01-preview/locations.json - Microsoft.Security/preview/2015-06-01-preview/operations.json - Microsoft.Security/preview/2015-06-01-preview/tasks.json @@ -163,10 +185,16 @@ input-file: - Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json - Microsoft.Security/stable/2020-01-01/allowedConnections.json - Microsoft.Security/stable/2020-01-01/topologies.json +- Microsoft.Security/stable/2020-01-01/alerts.json - Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json - Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json +- Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json - Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json - Microsoft.Security/preview/2020-01-01-preview/secureScore.json +- Microsoft.Security/stable/2020-01-01/SecuritySolutions.json +- Microsoft.Security/preview/2020-01-01-preview/connectors.json +- Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json +- Microsoft.Security/preview/2020-08-06-preview/iotSensors.json # Needed when there is more than one input file override-info: @@ -175,7 +203,7 @@ override-info: ### Tag: package-2015-06-preview-only -These settings apply only when `--tag=package-2015-06-preview-only` is specified on the command line. +These settings apply only when `--tag=package-2015-06-preview-only` is specified on the command line. This tag is used for Ruby SDK. ``` yaml $(tag) == 'package-2015-06-preview-only' input-file: @@ -198,7 +226,7 @@ override-info: ### Tag: package-2017-08-preview-only -These settings apply only when `--tag=package-2017-08-preview-only` is specified on the command line. +These settings apply only when `--tag=package-2017-08-preview-only` is specified on the command line. This tag is used for Ruby SDK. ``` yaml $(tag) == 'package-2017-08-preview-only' input-file: @@ -221,7 +249,7 @@ override-info: ### Tag: package-2019-01-preview-only -These settings apply only when `--tag=package-2019-01-preview-only` is specified on the command line. +These settings apply only when `--tag=package-2019-01-preview-only` is specified on the command line. This tag is used for Ruby SDK. ``` yaml $(tag) == 'package-2019-01-preview-only' input-file: @@ -237,11 +265,12 @@ override-info: ### Tag: package-2020-01-preview-only -These settings apply only when `--tag=package-2020-01-preview-only` is specified on the command line. +These settings apply only when `--tag=package-2020-01-preview-only` is specified on the command line. This tag is used for Ruby SDK. ``` yaml $(tag) == 'package-2020-01-preview-only' input-file: - Microsoft.Security/preview/2020-01-01-preview/secureScore.json +- Microsoft.Security/preview/2020-01-01-preview/connectors.json # Needed when there is more than one input file override-info: @@ -250,7 +279,7 @@ override-info: ### Tag: package-2017-08-only -These settings apply only when `--tag=package-2017-08-only` is specified on the command line. +These settings apply only when `--tag=package-2017-08-only` is specified on the command line. This tag is used for Ruby SDK. ``` yaml $(tag) == 'package-2017-08-only' input-file: @@ -263,7 +292,7 @@ override-info: ### Tag: package-2018-06-only -These settings apply only when `--tag=package-2018-06-only` is specified on the command line. +These settings apply only when `--tag=package-2018-06-only` is specified on the command line. This tag is used for Ruby SDK. ``` yaml $(tag) == 'package-2018-06-only' input-file: @@ -276,7 +305,7 @@ override-info: ### Tag: package-2019-01-only -These settings apply only when `--tag=package-2019-01-only` is specified on the command line. +These settings apply only when `--tag=package-2019-01-only` is specified on the command line. This tag is used for Ruby SDK. ``` yaml $(tag) == 'package-2019-01-only' input-file: @@ -290,12 +319,67 @@ override-info: ### Tag: package-2019-08-only -These settings apply only when `--tag=package-2019-08-only` is specified on the command line. +These settings apply only when `--tag=package-2019-08-only` is specified on the command line. This tag is used for Ruby SDK. ``` yaml $(tag) == 'package-2019-08-only' input-file: - Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json - Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json +- Microsoft.Security/stable/2019-08-01/iotAlertTypes.json +- Microsoft.Security/stable/2019-08-01/iotAlerts.json +- Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json +- Microsoft.Security/stable/2019-08-01/iotRecommendations.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2020-01-preview-only + +These settings apply only when `--tag=package-2020-01-preview-only` is specified on the command line. This tag is used for Ruby SDK. + +``` yaml $(tag) == 'package-package-2020-01-preview-only' +input-file: +- Microsoft.Security/preview/2020-01-01-preview/secureScore.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2020-01-only + +These settings apply only when `--tag=package-2020-01-only` is specified on the command line. This tag is used for Ruby SDK. + +``` yaml $(tag) == 'package-2020-01-only' +input-file: +- Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json +- Microsoft.Security/stable/2020-01-01/allowedConnections.json +- Microsoft.Security/stable/2020-01-01/applicationWhitelistings.json +- Microsoft.Security/stable/2020-01-01/assessmentMetadata.json +- Microsoft.Security/stable/2020-01-01/assessments.json +- Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json +- Microsoft.Security/stable/2020-01-01/SecuritySolutions.json +- Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json +- Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json +- Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json +- Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json +- Microsoft.Security/stable/2020-01-01/topologies.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + +### Tag: package-2020-08-preview-only + +These settings apply only when `--tag=package-2020-08-preview-only` is specified on the command line. This tag is used for Ruby SDK. + +``` yaml $(tag) == 'package-2020-08-preview-only' +input-file: +- Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json +- Microsoft.Security/preview/2020-08-06-preview/iotSensors.json # Needed when there is more than one input file override-info: @@ -318,6 +402,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js security/resource-manager ``` ## C# @@ -344,24 +431,33 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.ruby.md](./readme.ruby.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. This block is updated by an automatic script. Edits may be lost! -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ + +``` yaml $(tag) == 'all-api-versions' /*autogenerated*/ # include the azure profile definitions from the standard location require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.Security/preview/2020-08-06-preview/iotDefenderSettings.json + - $(this-folder)/Microsoft.Security/preview/2020-08-06-preview/iotSensors.json - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/secureScore.json + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/connectors.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/automations.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/subAssessments.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/regulatoryCompliance.json - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/pricings.json - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/securityContacts.json + - $(this-folder)/Microsoft.Security/preview/2020-01-01-preview/securityContacts.json - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/workspaceSettings.json - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/autoProvisioningSettings.json - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/compliances.json @@ -384,13 +480,16 @@ input-file: - $(this-folder)/Microsoft.Security/stable/2018-06-01/pricings.json - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutions.json - $(this-folder)/Microsoft.Security/preview/2017-08-01-preview/iotSecuritySolutionAnalytics.json - - $(this-folder)/Microsoft.Security/stable/2019-01-01/alerts.json - $(this-folder)/Microsoft.Security/stable/2017-08-01/complianceResults.json - $(this-folder)/Microsoft.Security/stable/2019-01-01/settings.json - $(this-folder)/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json - $(this-folder)/Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotSecuritySolutionAnalytics.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlertTypes.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotAlerts.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotRecommendationTypes.json + - $(this-folder)/Microsoft.Security/stable/2019-08-01/iotRecommendations.json - $(this-folder)/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessmentMetadata.json - $(this-folder)/Microsoft.Security/stable/2020-01-01/assessments.json @@ -398,8 +497,11 @@ input-file: - $(this-folder)/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json - $(this-folder)/Microsoft.Security/stable/2020-01-01/allowedConnections.json - $(this-folder)/Microsoft.Security/stable/2020-01-01/topologies.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/alerts.json - $(this-folder)/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json - $(this-folder)/Microsoft.Security/stable/2020-01-01/discoveredSecuritySolutions.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/securitySolutionsReferenceData.json + - $(this-folder)/Microsoft.Security/stable/2020-01-01/SecuritySolutions.json - $(this-folder)/Microsoft.Security/stable/2020-01-01/externalSecuritySolutions.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessmentMetadata.json - $(this-folder)/Microsoft.Security/preview/2019-01-01-preview/assessments.json @@ -412,4 +514,4 @@ uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` \ No newline at end of file +``` diff --git a/specification/security/resource-manager/readme.ruby.md b/specification/security/resource-manager/readme.ruby.md index 475b93b981df..0adaee281057 100644 --- a/specification/security/resource-manager/readme.ruby.md +++ b/specification/security/resource-manager/readme.ruby.md @@ -5,7 +5,7 @@ Please also specify `--node-sdks-folder=`. -``` yaml $(tag) == 'package-composite-v1' && $(ruby) - namespace: "Azure::Security::Mgmt::package_composite_v1" +``` yaml $(tag) == 'package-2020-01-preview-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2020_01_01_preview" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib ``` -### Tag: package-composite-v2 and ruby +### Tag: package-2020-01-only and ruby -These settings apply only when `--tag=package-composite-v2 --ruby` is specified on the command line. +These settings apply only when `--tag=package-2020-01-only --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. -``` yaml $(tag) == 'package-composite-v2' && $(ruby) - namespace: "Azure::Security::Mgmt::package_composite_v2" +``` yaml $(tag) == 'package-2020-01-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2020_01_01" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib ``` + +### Tag: package-2019-08-only and ruby + +These settings apply only when `--tag=package-2019-08-only --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-08-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2019_08_01" + output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib +``` + +### Tag: package-2019-01-only and ruby + +These settings apply only when `--tag=package-2019-01-only --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-01-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2019_01_01" + output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib +``` + +### Tag: package-2018-06-only and ruby + +These settings apply only when `--tag=package-2018-06-only --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2018-03-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2018_06_01" + output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib +``` + +### Tag: package-2017-08-only and ruby + +These settings apply only when `--tag=package-2017-08-only --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2017-08-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2017_08_01" + output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib +``` +### Tag: package-2019-01-preview-only and ruby + +These settings apply only when `--tag=package-2019-01-preview-only --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2019-01-preview-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2019_01_01_preview" + output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib +``` + +### Tag: package-2017-08-preview-only and ruby + +These settings apply only when `--tag=package-2017-08-preview-only --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2017-08-preview-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2017_08_01_preview" + output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib +``` + +### Tag: package-2015-06-preview-only and ruby + +These settings apply only when `--tag=package-2015-06-preview-only --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2015-06-preview-only' && $(ruby) + namespace: "Azure::Security::Mgmt::V2015_06_01_preview" + output-folder: $(ruby-sdks-folder)/management/azure_mgmt_security/lib +``` + diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json index 0bfdb0305304..cadf9002a0ce 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json @@ -1729,6 +1729,9 @@ }, "Get a MDATP data connector": { "$ref": "./examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json" + }, + "Get a Office ATP data connector": { + "$ref": "./examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json" } }, "tags": [ @@ -1899,6 +1902,9 @@ }, "Check requirements for Mdatp.": { "$ref": "./examples/dataConnectors/CheckRequirementsMdatp.json" + }, + "Check requirements for OfficeATP.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficeATP.json" } }, "tags": [ @@ -3320,1110 +3326,1058 @@ } } } - } - }, - "definitions": { - "AADDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" - } - ], - "description": "Represents AAD (Azure Active Directory) data connector.", - "properties": { - "properties": { - "$ref": "#/definitions/AADDataConnectorProperties", - "description": "AAD (Azure Active Directory) data connector properties.", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "AzureActiveDirectory" }, - "AADDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": { + "get": { + "x-ms-examples": { + "Get all watchlists.": { + "$ref": "./examples/watchlists/GetWatchlists.json" + } }, - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" - } - ], - "description": "AAD (Azure Active Directory) data connector properties.", - "type": "object" - }, - "AADCheckRequirements": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorsCheckRequirements" - } - ], - "description": "Represents AAD (Azure Active Directory) requirements check request.", - "properties": { - "properties": { - "$ref": "#/definitions/AADCheckRequirementsProperties", - "description": "AAD (Azure Active Directory) requirements check properties.", - "x-ms-client-flatten": true + "tags": [ + "Watchlists" + ], + "description": "Gets all watchlists.", + "operationId": "Watchlists_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "type": "object", - "x-ms-discriminator-value": "AzureActiveDirectory" + } }, - "AADCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "/subscriptions/{subscriptionId}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": { + "get": { + "x-ms-examples": { + "Get all watchlists.": { + "$ref": "./examples/watchlists/GetWatchlists.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Gets all watchlists in a subscription.", + "operationId": "Watchlists_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - ], - "description": "AAD (Azure Active Directory) requirements check properties.", - "type": "object" + } }, - "AATPDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" - } - ], - "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", - "properties": { - "properties": { - "$ref": "#/definitions/AATPDataConnectorProperties", - "description": "AATP (Azure Advanced Threat Protection) data connector properties.", - "x-ms-client-flatten": true + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}": { + "get": { + "x-ms-examples": { + "Get a watchlist.": { + "$ref": "./examples/watchlists/GetWatchlistByAlias.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Gets a watchlist.", + "operationId": "Watchlists_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } }, - "type": "object", - "x-ms-discriminator-value": "AzureAdvancedThreatProtection" - }, - "AATPDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "delete": { + "x-ms-examples": { + "Delete a watchlist.": { + "$ref": "./examples/watchlists/DeleteWatchlist.json" + } }, - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" - } - ], - "description": "AATP (Azure Advanced Threat Protection) data connector properties.", - "type": "object" - }, - "AATPCheckRequirements": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorsCheckRequirements" - } - ], - "description": "Represents AATP (Azure Advanced Threat Protection) requirements check request.", - "properties": { - "properties": { - "$ref": "#/definitions/AATPCheckRequirementsProperties", - "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", - "x-ms-client-flatten": true + "tags": [ + "Watchlists" + ], + "description": "Delete a watchlist.", + "operationId": "Watchlists_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } }, - "type": "object", - "x-ms-discriminator-value": "AzureAdvancedThreatProtection" - }, - "AATPCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", - "type": "object" - }, - "ASCDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" - } - ], - "description": "Represents ASC (Azure Security Center) data connector.", - "properties": { - "properties": { - "$ref": "#/definitions/ASCDataConnectorProperties", - "description": "ASC (Azure Security Center) data connector properties.", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "AzureSecurityCenter" - }, - "ASCDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" - } - ], - "description": "ASC (Azure Security Center) data connector properties.", - "properties": { - "subscriptionId": { - "description": "The subscription id to connect to, and get the data from.", - "type": "string" + "put": { + "x-ms-examples": { + "Creates a watchlist.": { + "$ref": "./examples/watchlists/CreateWatchlist.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Creates a watchlist", + "operationId": "Watchlists_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/Watchlist" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - }, - "type": "object" + } }, - "ASCCheckRequirements": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorsCheckRequirements" - } - ], - "description": "Represents ASC (Azure Security Center) requirements check request.", - "properties": { - "properties": { - "$ref": "#/definitions/ASCCheckRequirementsProperties", - "description": "ASC (Azure Security Center) requirements check properties.", - "x-ms-client-flatten": true + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator": { + "post": { + "x-ms-examples": { + "Create a new Threat Intelligence": { + "$ref": "./examples/threatintelligence/CreateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Create a threat intelligence.", + "operationId": "CreateThreatIntelligence", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIndicatorObjectToUpsert" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - }, - "type": "object", - "x-ms-discriminator-value": "AzureSecurityCenter" + } }, - "ASCCheckRequirementsProperties": { - "description": "ASC (Azure Security Center) requirements check properties.", - "properties": { - "subscriptionId": { - "description": "The subscription id to connect to, and get the data from.", - "type": "string" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators": { + "get": { + "x-ms-examples": { + "Get all threat intelligence.": { + "$ref": "./examples/threatintelligence/GetThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Gets all threat intelligence.", + "operationId": "ThreatIntelligenceIndicators_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ODataFilter" + }, + { + "$ref": "#/parameters/ODataTop" + }, + { + "$ref": "#/parameters/ODataSkipToken" + }, + { + "$ref": "#/parameters/ODataOrderBy" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "type": "object" + } }, - "AccountEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents an account entity.", - "properties": { - "properties": { - "$ref": "#/definitions/AccountEntityProperties", - "description": "Account entity properties", - "x-ms-client-flatten": true + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}": { + "get": { + "x-ms-examples": { + "Get a threat intelligence indicator by name.": { + "$ref": "./examples/threatintelligence/GetThreatIntelligenceById.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Gets a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } }, - "type": "object", - "x-ms-discriminator-value": "Account" - }, - "AccountEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "Account entity property bag.", - "properties": { - "aadTenantId": { - "description": "The Azure Active Directory tenant id.", - "readOnly": true, - "type": "string" + "put": { + "x-ms-examples": { + "Upsert the Threat Intelligence": { + "$ref": "./examples/threatintelligence/UpsertThreatIntelligence.json" + } }, - "aadUserId": { - "description": "The Azure Active Directory user id.", - "readOnly": true, - "type": "string" - }, - "accountName": { - "description": "The name of the account. This field should hold only the name without any domain added to it, i.e. administrator.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "The display name of the account.", - "readOnly": true, - "type": "string" - }, - "hostEntityId": { - "description": "The Host entity id that contains the account in case it is a local account (not domain joined)", - "readOnly": true, - "type": "string" - }, - "isDomainJoined": { - "description": "Determines whether this is a domain account.", - "readOnly": true, - "type": "boolean" - }, - "ntDomain": { - "description": "The NetBIOS domain name as it appears in the alert format – domain\\username. Examples: NT AUTHORITY.", - "readOnly": true, - "type": "string" - }, - "objectGuid": { - "description": "The objectGUID attribute is a single-value attribute that is the unique identifier for the object, assigned by active directory.", - "format": "uuid", - "readOnly": true, - "type": "string" - }, - "puid": { - "description": "The Azure Active Directory Passport User ID.", - "readOnly": true, - "type": "string" - }, - "sid": { - "description": "The account security identifier, e.g. S-1-5-18.", - "readOnly": true, - "type": "string" - }, - "upnSuffix": { - "description": "The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com.", - "readOnly": true, - "type": "string" - }, - "dnsDomain": { - "description": "The fully qualified domain DNS name.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "ActionRequest": { - "allOf": [ - { - "$ref": "#/definitions/ResourceWithEtag" - } - ], - "description": "Action for alert rule.", - "properties": { - "properties": { - "$ref": "#/definitions/ActionRequestProperties", - "description": "Action properties for put request", - "x-ms-client-flatten": true - } - }, - "type": "object" - }, - "ActionPropertiesBase": { - "description": "Action property bag base.", - "properties": { - "logicAppResourceId": { - "description": "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.", - "type": "string" - } - }, - "type": "object" - }, - "ActionRequestProperties": { - "allOf": [ - { - "$ref": "#/definitions/ActionPropertiesBase" - } - ], - "description": "Action property bag.", - "properties": { - "triggerUri": { - "description": "Logic App Callback URL for this specific workflow.", - "type": "string" + "tags": [ + "ThreatIntelligence" + ], + "description": "Upsert a threat intelligence.", + "operationId": "ThreatIntelligenceIndicatorUpsert_Create", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIndicatorObjectToUpsert" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } }, - "type": "object" - }, - "ActionResponse": { - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Action for alert rule.", - "properties": { - "etag": { - "description": "Etag of the action.", - "type": "string" + "delete": { + "x-ms-examples": { + "Delete the Threat Intelligence": { + "$ref": "./examples/threatintelligence/DeleteThreatIntelligence.json" + } }, - "properties": { - "$ref": "#/definitions/ActionResponseProperties", - "description": "Action properties for get request", - "x-ms-client-flatten": true + "tags": [ + "ThreatIntelligence" + ], + "description": "Delete a threat intelligence.", + "operationId": "ThreatIntelligenceIndicator_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } - }, - "type": "object" + } }, - "ActionResponseProperties": { - "allOf": [ - { - "$ref": "#/definitions/ActionPropertiesBase" - } - ], - "description": "Action property bag.", - "properties": { - "workflowId": { - "description": "The name of the logic app's workflow.", - "type": "string" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators": { + "post": { + "x-ms-examples": { + "Get all threat intelligence.": { + "$ref": "./examples/threatintelligence/QueryThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Query all threat intelligence.", + "operationId": "ThreatIntelligenceIndicatorsList_Query", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceArmStixQuery" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "type": "object" + } }, - "ActionsList": { - "description": "List all the actions.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of actions.", - "readOnly": true, - "type": "string" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics": { + "get": { + "x-ms-examples": { + "Get threat intelligence indicators metrics.": { + "$ref": "./examples/threatintelligence/CollectThreatIntelligenceMetrics.json" + } }, - "value": { - "description": "Array of actions.", - "items": { - "$ref": "#/definitions/ActionResponse" + "tags": [ + "ThreatIntelligence" + ], + "description": "Get the threat intelligence metrics.", + "operationId": "ThreatIntelligenceIndicatorMetrics_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" }, - "type": "array" + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIndicatorEntityKind" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceMetricResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags": { + "post": { + "x-ms-examples": { + "Append tags to a Threat Intelligence": { + "$ref": "./examples/threatintelligence/AppendTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Append tags to a threat intelligence.", + "operationId": "ThreatIntelligenceIndicator_AppendTags", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + }, + { + "$ref": "#/parameters/ThreatIntelligenceAppendTagsRequestBody" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags": { + "post": { + "x-ms-examples": { + "Replace tags to a Threat Intelligence": { + "$ref": "./examples/threatintelligence/ReplaceTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Replace tags to a threat intelligence.", + "operationId": "ThreatIntelligenceIndicator_ReplaceTags", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/OperationalInsightsResourceProvider" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceIdentifier" + }, + { + "$ref": "#/parameters/ThreatIntelligenceReplaceTagsModel" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AADDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AAD (Azure Active Directory) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AADDataConnectorProperties", + "description": "AAD (Azure Active Directory) data connector properties.", + "x-ms-client-flatten": true } }, - "required": [ - "value" - ] + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" }, - "Aggregations": { + "AADDataConnectorProperties": { "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/DataConnectorTenantId" }, { - "$ref": "#/definitions/AggregationsKind" + "$ref": "#/definitions/DataConnectorWithAlertsProperties" } ], - "description": "The aggregation.", - "discriminator": "kind", - "type": "object", - "required": [ - "kind" - ] + "description": "AAD (Azure Active Directory) data connector properties.", + "type": "object" }, - "AggregationsKind": { - "description": "Describes an Azure resource with kind.", + "AADCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents AAD (Azure Active Directory) requirements check request.", "properties": { - "kind": { - "description": "The kind of the setting", - "enum": [ - "CasesAggregation" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AggregationsKind" - } + "properties": { + "$ref": "#/definitions/AADCheckRequirementsProperties", + "description": "AAD (Azure Active Directory) requirements check properties.", + "x-ms-client-flatten": true } }, - "required": [ - "kind" + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } ], + "description": "AAD (Azure Active Directory) requirements check properties.", "type": "object" }, - "AlertRule": { + "AATPDataConnector": { "allOf": [ { - "$ref": "#/definitions/ResourceWithEtag" - }, - { - "$ref": "#/definitions/AlertRuleKind" + "$ref": "#/definitions/DataConnector" } ], - "description": "Alert rule.", - "discriminator": "kind", - "type": "object", - "required": [ - "kind" - ] - }, - "AlertRuleKind": { - "description": "Describes an Azure resource with kind.", + "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", "properties": { - "kind": { - "description": "The kind of the alert rule", - "enum": [ - "Scheduled", - "MicrosoftSecurityIncidentCreation", - "Fusion" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AlertRuleKind", - "values": [ - { - "value": "Scheduled" - }, - { - "value": "MicrosoftSecurityIncidentCreation" - }, - { - "value": "Fusion" - } - ] - } + "properties": { + "$ref": "#/definitions/AATPDataConnectorProperties", + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true } }, - "required": [ - "kind" - ], - "type": "object" + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" }, - "AlertRuleTemplate": { + "AATPDataConnectorProperties": { "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/DataConnectorTenantId" }, { - "$ref": "#/definitions/AlertRuleKind" + "$ref": "#/definitions/DataConnectorWithAlertsProperties" } ], - "description": "Alert rule template.", - "discriminator": "kind", - "type": "object", - "required": [ - "kind" - ] + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "type": "object" }, - "AlertRuleTemplateDataSource": { - "description": "alert rule template data sources", - "properties": { - "connectorId": { - "description": "The connector id that provides the following data types", - "type": "string" - }, - "dataTypes": { - "description": "The data types used by the alert rule template", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AlertRuleTemplatePropertiesBase": { - "description": "Base alert rule template property bag.", - "properties": { - "alertRulesCreatedByTemplateCount": { - "description": "the number of alert rules that were created by this template", - "type": "integer" - }, - "createdDateUTC": { - "description": "The time that this alert rule template has been added.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "The description of the alert rule template.", - "type": "string" - }, - "displayName": { - "description": "The display name for alert rule template.", - "type": "string" - }, - "requiredDataConnectors": { - "description": "The required data sources for this template", - "items": { - "$ref": "#/definitions/AlertRuleTemplateDataSource" - }, - "type": "array" - }, - "status": { - "description": "The alert rule template status.", - "enum": [ - "Installed", - "Available", - "NotAvailable" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "TemplateStatus", - "values": [ - { - "description": "Alert rule template installed. and can not use more then once", - "value": "Installed" - }, - { - "description": "Alert rule template is available.", - "value": "Available" - }, - { - "description": "Alert rule template is not available", - "value": "NotAvailable" - } - ] - } - } - }, - "type": "object" - }, - "AlertRuleTemplatesList": { - "description": "List all the alert rule templates.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of alert rule templates.", - "readOnly": true, - "type": "string" - }, - "value": { - "description": "Array of alert rule templates.", - "items": { - "$ref": "#/definitions/AlertRuleTemplate" - }, - "type": "array" + "AATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" } - }, - "required": [ - "value" - ] - }, - "AlertRuleTriggerOperator": { - "description": "The operation against the threshold that triggers alert rule.", - "enum": [ - "GreaterThan", - "LessThan", - "Equal", - "NotEqual" ], - "type": "string", - "x-ms-enum": { - "modelAsString": false, - "name": "TriggerOperator" - } - }, - "AlertRulesList": { - "description": "List all the alert rules.", + "description": "Represents AATP (Azure Advanced Threat Protection) requirements check request.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of alert rules.", - "readOnly": true, - "type": "string" - }, - "value": { - "description": "Array of alert rules.", - "items": { - "$ref": "#/definitions/AlertRule" - }, - "type": "array" + "properties": { + "$ref": "#/definitions/AATPCheckRequirementsProperties", + "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true } }, - "required": [ - "value" - ] - }, - "AlertSeverity": { - "description": "The severity of the alert", - "enum": [ - "High", - "Medium", - "Low", - "Informational" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AlertSeverity", - "values": [ - { - "description": "High severity", - "value": "High" - }, - { - "description": "Medium severity", - "value": "Medium" - }, - { - "description": "Low severity", - "value": "Low" - }, - { - "description": "Informational severity", - "value": "Informational" - } - ] - } + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" }, - "AlertsDataTypeOfDataConnector": { - "description": "Alerts data type for data connectors.", - "properties": { - "alerts": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Alerts data type connection.", - "type": "object" + "AATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" } - }, - "type": "object" - }, - "AttackTactic": { - "description": "The severity for alerts created by this alert rule.", - "enum": [ - "InitialAccess", - "Execution", - "Persistence", - "PrivilegeEscalation", - "DefenseEvasion", - "CredentialAccess", - "Discovery", - "LateralMovement", - "Collection", - "Exfiltration", - "CommandAndControl", - "Impact" ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AttackTactic" - } + "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", + "type": "object" }, - "AwsCloudTrailDataConnector": { + "ASCDataConnector": { "allOf": [ { "$ref": "#/definitions/DataConnector" } ], - "description": "Represents Amazon Web Services CloudTrail data connector.", + "description": "Represents ASC (Azure Security Center) data connector.", "properties": { "properties": { - "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties", - "description": "Amazon Web Services CloudTrail data connector properties.", + "$ref": "#/definitions/ASCDataConnectorProperties", + "description": "ASC (Azure Security Center) data connector properties.", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + "x-ms-discriminator-value": "AzureSecurityCenter" }, - "AwsCloudTrailDataConnectorDataTypes": { - "description": "The available data types for Amazon Web Services CloudTrail data connector.", - "properties": { - "logs": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Logs data type.", - "type": "object" + "ASCDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" } - }, - "type": "object" - }, - "AwsCloudTrailDataConnectorProperties": { - "description": "Amazon Web Services CloudTrail data connector properties.", + ], + "description": "ASC (Azure Security Center) data connector properties.", "properties": { - "awsRoleArn": { - "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.", + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", "type": "string" - }, - "dataTypes": { - "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes", - "description": "The available data types for the connector." } }, "type": "object" }, - "AwsCloudTrailCheckRequirements": { + "ASCCheckRequirements": { "allOf": [ { "$ref": "#/definitions/DataConnectorsCheckRequirements" } ], - "description": "Amazon Web Services CloudTrail requirements check request.", - "type": "object", - "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" - }, - "AzureResourceEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents an azure resource entity.", + "description": "Represents ASC (Azure Security Center) requirements check request.", "properties": { "properties": { - "$ref": "#/definitions/AzureResourceEntityProperties", - "description": "AzureResource entity properties", + "$ref": "#/definitions/ASCCheckRequirementsProperties", + "description": "ASC (Azure Security Center) requirements check properties.", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "AzureResource" + "x-ms-discriminator-value": "AzureSecurityCenter" }, - "AzureResourceEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "AzureResource entity property bag.", + "ASCCheckRequirementsProperties": { + "description": "ASC (Azure Security Center) requirements check properties.", "properties": { - "resourceId": { - "description": "The azure resource id of the resource", - "readOnly": true, + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", "type": "string" } }, "type": "object" }, - "RelationBase": { - "type": "object", - "description": "Represents a relation", + "AccountEntity": { "allOf": [ { - "$ref": "#/definitions/Resource" - }, - { - "type": "object", - "properties": { - "kind": { - "type": "string", - "description": "The type of relation node", - "readOnly": true, - "enum": [ - "CasesToBookmarks" - ], - "x-ms-enum": { - "name": "RelationTypes", - "modelAsString": true, - "values": [ - { - "value": "CasesToBookmarks", - "description": "Relations between cases and bookmarks" - } - ] - } - }, - "etag": { - "type": "string", - "description": "ETag for relation" - } - } + "$ref": "#/definitions/Entity" } - ] - }, - "CaseRelationList": { - "description": "List of case relations.", + ], + "description": "Represents an account entity.", "properties": { - "nextLink": { - "readOnly": true, - "description": "URL to fetch the next set of relations.", - "type": "string" - }, - "value": { - "description": "Array of relations.", - "type": "array", - "items": { - "$ref": "#/definitions/CaseRelation" - } + "properties": { + "$ref": "#/definitions/AccountEntityProperties", + "description": "Account entity properties", + "x-ms-client-flatten": true } }, - "required": [ - "value" - ] - }, - "CaseRelation": { "type": "object", - "description": "Represents a case relation", + "x-ms-discriminator-value": "Account" + }, + "AccountEntityProperties": { "allOf": [ { - "$ref": "#/definitions/RelationBase" + "$ref": "#/definitions/EntityCommonProperties" } ], + "description": "Account entity property bag.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Case relation properties", - "$ref": "#/definitions/CaseRelationProperties" - } - } - }, - "CaseRelationProperties": { - "type": "object", - "description": "Case relation properties", - "properties": { - "relationName": { - "type": "string", - "description": "Name of relation" + "aadTenantId": { + "description": "The Azure Active Directory tenant id.", + "readOnly": true, + "type": "string" }, - "bookmarkId": { - "type": "string", - "description": "The case related bookmark id" + "aadUserId": { + "description": "The Azure Active Directory user id.", + "readOnly": true, + "type": "string" }, - "caseIdentifier": { - "type": "string", - "description": "The case identifier" + "accountName": { + "description": "The name of the account. This field should hold only the name without any domain added to it, i.e. administrator.", + "readOnly": true, + "type": "string" }, - "bookmarkName": { - "type": "string", - "description": "The case related bookmark name" - } - }, - "required": [ - "relationName", - "caseIdentifier", - "bookmarkId" - ] - }, - "RelationsModelInput": { - "type": "object", - "description": "Relation input model", - "allOf": [ - { - "$ref": "#/definitions/RelationBase" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "Relation input properties", - "$ref": "#/definitions/RelationsModelInputProperties" - } - } - }, - "RelationsModelInputProperties": { - "type": "object", - "description": "Relation input properties", - "properties": { - "relationName": { - "type": "string", - "description": "Name of relation" + "displayName": { + "description": "The display name of the account.", + "readOnly": true, + "type": "string" }, - "sourceRelationNode": { - "type": "object", - "description": "Relation source node", - "$ref": "#/definitions/RelationNode" + "hostEntityId": { + "description": "The Host entity id that contains the account in case it is a local account (not domain joined)", + "readOnly": true, + "type": "string" }, - "targetRelationNode": { - "type": "object", - "description": "Relation target node", - "$ref": "#/definitions/RelationNode" - } - } - }, - "RelationNode": { - "type": "object", - "description": "Relation node", - "properties": { - "relationNodeId": { - "type": "string", - "description": "Relation Node Id" + "isDomainJoined": { + "description": "Determines whether this is a domain account.", + "readOnly": true, + "type": "boolean" }, - "relationNodeKind": { - "type": "string", - "description": "The type of relation node", + "ntDomain": { + "description": "The NetBIOS domain name as it appears in the alert format – domain\\username. Examples: NT AUTHORITY.", "readOnly": true, - "enum": [ - "Case", - "Bookmark" - ], - "x-ms-enum": { - "name": "RelationNodeKind", - "modelAsString": true, - "values": [ - { - "value": "Case", - "description": "Case node part of the relation" - }, - { - "value": "Bookmark", - "description": "Bookmark node part of the relation" - } - ] - } + "type": "string" }, - "etag": { - "type": "string", - "description": "Etag for relation node" + "objectGuid": { + "description": "The objectGUID attribute is a single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" }, - "relationAdditionalProperties": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Additional set of properties" + "puid": { + "description": "The Azure Active Directory Passport User ID.", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The account security identifier, e.g. S-1-5-18.", + "readOnly": true, + "type": "string" + }, + "upnSuffix": { + "description": "The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The fully qualified domain DNS name.", + "readOnly": true, + "type": "string" } - } + }, + "type": "object" }, - "Bookmark": { + "ActionRequest": { "allOf": [ { "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "Represents a bookmark in Azure Security Insights.", + "description": "Action for alert rule.", "properties": { "properties": { - "$ref": "#/definitions/BookmarkProperties", - "description": "Bookmark properties", + "$ref": "#/definitions/ActionRequestProperties", + "description": "Action properties for put request", "x-ms-client-flatten": true } }, "type": "object" }, - "BookmarkList": { - "description": "List all the bookmarks.", + "ActionPropertiesBase": { + "description": "Action property bag base.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of cases.", - "readOnly": true, + "logicAppResourceId": { + "description": "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.", "type": "string" - }, - "value": { - "description": "Array of bookmarks.", - "items": { - "$ref": "#/definitions/Bookmark" - }, - "type": "array" } }, - "required": [ - "value" - ] + "type": "object" }, - "BookmarkProperties": { - "description": "Describes bookmark properties", - "properties": { - "created": { - "description": "The time the bookmark was created", - "format": "date-time", - "type": "string" - }, - "createdBy": { - "$ref": "#/definitions/UserInfo", - "description": "Describes a user that created the bookmark", - "type": "object" - }, - "displayName": { - "description": "The display name of the bookmark", - "type": "string" - }, - "labels": { - "description": "List of labels relevant to this bookmark", - "items": { - "$ref": "#/definitions/Label" - }, - "type": "array" - }, - "notes": { - "description": "The notes of the bookmark", - "type": "string" - }, - "query": { - "description": "The query of the bookmark.", - "type": "string" - }, - "queryResult": { - "description": "The query result of the bookmark.", - "type": "string" - }, - "updated": { - "description": "The last time the bookmark was updated", - "format": "date-time", - "type": "string" - }, - "updatedBy": { - "$ref": "#/definitions/UserInfo", - "description": "Describes a user that updated the bookmark", - "type": "object" - }, - "incidentInfo": { - "$ref": "#/definitions/IncidentInfo", - "description": "Describes an incident that relates to bookmark", - "type": "object" + "ActionRequestProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" } - }, - "required": [ - "displayName", - "query" ], - "type": "object" - }, - "BookmarkExpandParameters": { - "description": "The parameters required to execute an expand operation on the given bookmark.", + "description": "Action property bag.", "properties": { - "endTime": { - "description": "The end date filter, so the only expansion results returned are before this date.", - "format": "date-time", - "type": "string" - }, - "expansionId": { - "description": "The Id of the expansion to perform.", - "format": "uuid", - "type": "string" - }, - "startTime": { - "description": "The start date filter, so the only expansion results returned are after this date.", - "format": "date-time", + "triggerUri": { + "description": "Logic App Callback URL for this specific workflow.", "type": "string" } - } - }, - "BookmarkExpandResponse": { - "description": "The entity expansion result operation response.", - "properties": { - "metaData": { - "$ref": "#/definitions/ExpansionResultsMetadata", - "description": "The metadata from the expansion operation results." - }, - "value": { - "description": "The expansion result values.", - "properties": { - "entities": { - "description": "Array of the expansion result entities.", - "items": { - "$ref": "#/definitions/Entity" - }, - "type": "array" - } - }, - "type": "object" - } - } + }, + "type": "object" }, - "Case": { + "ActionResponse": { "allOf": [ { - "$ref": "#/definitions/ResourceWithEtag" + "$ref": "#/definitions/Resource" } ], - "description": "Represents a case in Azure Security Insights.", + "description": "Action for alert rule.", "properties": { + "etag": { + "description": "Etag of the action.", + "type": "string" + }, "properties": { - "$ref": "#/definitions/CaseProperties", - "description": "Case properties", + "$ref": "#/definitions/ActionResponseProperties", + "description": "Action properties for get request", "x-ms-client-flatten": true } }, "type": "object" }, - "CaseComment": { + "ActionResponseProperties": { "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ActionPropertiesBase" } ], - "description": "Represents a case comment", + "description": "Action property bag.", "properties": { - "properties": { - "$ref": "#/definitions/CaseCommentProperties", - "description": "Case comment properties", - "x-ms-client-flatten": true + "workflowId": { + "description": "The name of the logic app's workflow.", + "type": "string" } }, "type": "object" }, - "CaseCommentList": { - "description": "List of case comments.", + "ActionsList": { + "description": "List all the actions.", "properties": { "nextLink": { - "description": "URL to fetch the next set of comments.", + "description": "URL to fetch the next set of actions.", "readOnly": true, "type": "string" }, "value": { - "description": "Array of comments.", + "description": "Array of actions.", "items": { - "$ref": "#/definitions/CaseComment" + "$ref": "#/definitions/ActionResponse" }, "type": "array" } @@ -4432,591 +4386,607 @@ "value" ] }, - "CaseCommentProperties": { - "description": "Case comment property bag.", - "properties": { - "createdTimeUtc": { - "description": "The time the comment was created", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "message": { - "description": "The comment message", - "type": "string" + "Aggregations": { + "allOf": [ + { + "$ref": "#/definitions/Resource" }, - "userInfo": { - "$ref": "#/definitions/UserInfo", - "description": "Describes the user that created the comment", - "readOnly": true, - "type": "object" + { + "$ref": "#/definitions/AggregationsKind" + } + ], + "description": "The aggregation.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "AggregationsKind": { + "description": "Describes an Azure resource with kind.", + "properties": { + "kind": { + "description": "The kind of the setting", + "enum": [ + "CasesAggregation" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AggregationsKind" + } } }, "required": [ - "message" + "kind" ], "type": "object" }, - "CaseList": { - "description": "List all the cases.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of cases.", - "readOnly": true, - "type": "string" + "AlertRule": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" }, - "value": { - "description": "Array of cases.", - "items": { - "$ref": "#/definitions/Case" - }, - "type": "array" + { + "$ref": "#/definitions/AlertRuleKind" } - }, + ], + "description": "Alert rule.", + "discriminator": "kind", + "type": "object", "required": [ - "value" + "kind" ] }, - "CaseProperties": { - "description": "Describes case properties", + "AlertRuleKind": { + "description": "Describes an Azure resource with kind.", "properties": { - "caseNumber": { - "description": "a sequential number", - "readOnly": true, - "type": "integer" - }, - "closeReason": { - "description": "The reason the case was closed", + "kind": { + "description": "The kind of the alert rule", "enum": [ - "Resolved", - "Dismissed", - "TruePositive", - "FalsePositive", - "Other" + "Scheduled", + "MicrosoftSecurityIncidentCreation", + "Fusion" ], "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "CloseReason", + "name": "AlertRuleKind", "values": [ { - "description": "Case was resolved", - "value": "Resolved" + "value": "Scheduled" }, { - "description": "Case was dismissed", - "value": "Dismissed" + "value": "MicrosoftSecurityIncidentCreation" }, { - "description": "Case was true positive", - "value": "TruePositive" - }, - { - "description": "Case was false positive", - "value": "FalsePositive" - }, - { - "description": "Case was closed for another reason", - "value": "Other" + "value": "Fusion" } ] } + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "AlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/Resource" }, - "closedReasonText": { - "description": "the case close reason details", - "type": "string" - }, - "createdTimeUtc": { - "description": "The time the case was created", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "The description of the case", - "type": "string" - }, - "endTimeUtc": { - "description": "The end time of the case", - "format": "date-time", + { + "$ref": "#/definitions/AlertRuleKind" + } + ], + "description": "Alert rule template.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "AlertRuleTemplateDataSource": { + "description": "alert rule template data sources", + "properties": { + "connectorId": { + "description": "The connector id that provides the following data types", "type": "string" }, - "labels": { - "description": "List of labels relevant to this case", + "dataTypes": { + "description": "The data types used by the alert rule template", "items": { - "$ref": "#/definitions/Label" + "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AlertRuleTemplatePropertiesBase": { + "description": "Base alert rule template property bag.", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "type": "integer" }, - "lastComment": { - "description": "the last comment in the case", - "readOnly": true, - "type": "string" - }, - "lastUpdatedTimeUtc": { - "description": "The last time the case was updated", + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", "format": "date-time", "readOnly": true, "type": "string" }, - "owner": { - "$ref": "#/definitions/UserInfo", - "description": "Describes a user that the case is assigned to", - "type": "object" + "description": { + "description": "The description of the alert rule template.", + "type": "string" }, - "relatedAlertIds": { - "description": "List of related alert identifiers", - "items": { - "description": "related alert id", - "type": "string" - }, - "readOnly": true, - "type": "array" + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" }, - "tactics": { - "description": "The tactics associated with case", + "requiredDataConnectors": { + "description": "The required data sources for this template", "items": { - "$ref": "#/definitions/AttackTactic" + "$ref": "#/definitions/AlertRuleTemplateDataSource" }, - "readOnly": true, "type": "array" }, - "severity": { - "description": "The severity of the case", - "enum": [ - "Critical", - "High", - "Medium", - "Low", - "Informational" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "CaseSeverity", - "values": [ - { - "description": "Critical severity", - "value": "Critical" - }, - { - "description": "High severity", - "value": "High" - }, - { - "description": "Medium severity", - "value": "Medium" - }, - { - "description": "Low severity", - "value": "Low" - }, - { - "description": "Informational severity", - "value": "Informational" - } - ] - } - }, - "startTimeUtc": { - "description": "The start time of the case", - "format": "date-time", - "type": "string" - }, "status": { - "description": "The status of the case", + "description": "The alert rule template status.", "enum": [ - "Draft", - "New", - "InProgress", - "Closed" + "Installed", + "Available", + "NotAvailable" ], "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "CaseStatus", + "name": "TemplateStatus", "values": [ { - "description": "Case that wasn't promoted yet to active", - "value": "Draft" - }, - { - "description": "An active case which isn't handled currently", - "value": "New" + "description": "Alert rule template installed. and can not use more then once", + "value": "Installed" }, { - "description": "An active case which is handled", - "value": "InProgress" + "description": "Alert rule template is available.", + "value": "Available" }, { - "description": "A non active case", - "value": "Closed" + "description": "Alert rule template is not available", + "value": "NotAvailable" } ] } - }, - "title": { - "description": "The title of the case", - "type": "string" - }, - "totalComments": { - "description": "the number of total comments in the case", - "readOnly": true, - "type": "integer" } }, - "required": [ - "title", - "severity", - "status", - "startTimeUtc" - ], "type": "object" }, - "CasesAggregation": { - "allOf": [ - { - "$ref": "#/definitions/Aggregations" - } - ], - "description": "Represents aggregations results for cases.", + "AlertRuleTemplatesList": { + "description": "List all the alert rule templates.", "properties": { - "properties": { - "$ref": "#/definitions/CasesAggregationProperties", - "description": "Properties of aggregations results of cases.", - "x-ms-client-flatten": true + "nextLink": { + "description": "URL to fetch the next set of alert rule templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rule templates.", + "items": { + "$ref": "#/definitions/AlertRuleTemplate" + }, + "type": "array" } }, - "type": "object", - "x-ms-discriminator-value": "CasesAggregation" + "required": [ + "value" + ] }, - "CasesAggregationBySeverityProperties": { - "description": "Aggregative results of cases by severity property bag.", + "AlertRuleTriggerOperator": { + "description": "The operation against the threshold that triggers alert rule.", + "enum": [ + "GreaterThan", + "LessThan", + "Equal", + "NotEqual" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "TriggerOperator" + } + }, + "AlertRulesList": { + "description": "List all the alert rules.", "properties": { - "totalCriticalSeverity": { - "description": "Total amount of open cases with severity Critical", - "readOnly": true, - "type": "integer" - }, - "totalHighSeverity": { - "description": "Total amount of open cases with severity High", - "readOnly": true, - "type": "integer" - }, - "totalInformationalSeverity": { - "description": "Total amount of open cases with severity Informational", + "nextLink": { + "description": "URL to fetch the next set of alert rules.", "readOnly": true, - "type": "integer" + "type": "string" }, - "totalLowSeverity": { - "description": "Total amount of open cases with severity Low", - "readOnly": true, - "type": "integer" - }, - "totalMediumSeverity": { - "description": "Total amount of open cases with severity medium", - "readOnly": true, - "type": "integer" + "value": { + "description": "Array of alert rules.", + "items": { + "$ref": "#/definitions/AlertRule" + }, + "type": "array" } }, - "type": "object" + "required": [ + "value" + ] }, - "CasesAggregationByStatusProperties": { - "description": "Aggregative results of cases by status property bag.", + "AlertSeverity": { + "description": "The severity of the alert", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "AlertsDataTypeOfDataConnector": { + "description": "Alerts data type for data connectors.", "properties": { - "totalDismissedStatus": { - "description": "Total amount of open cases with status Dismissed", - "readOnly": true, - "type": "integer" - }, - "totalInProgressStatus": { - "description": "Total amount of open cases with status InProgress", - "readOnly": true, - "type": "integer" - }, - "totalNewStatus": { - "description": "Total amount of open cases with status New", - "readOnly": true, - "type": "integer" - }, - "totalResolvedStatus": { - "description": "Total amount of open cases with status Resolved", - "readOnly": true, - "type": "integer" + "alerts": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Alerts data type connection.", + "type": "object" } }, "type": "object" }, - "CasesAggregationProperties": { - "description": "Aggregative results of cases property bag.", + "AttackTactic": { + "description": "The severity for alerts created by this alert rule.", + "enum": [ + "InitialAccess", + "Execution", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "PreAttack" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AttackTactic" + } + }, + "AwsCloudTrailDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Amazon Web Services CloudTrail data connector.", "properties": { - "aggregationBySeverity": { - "$ref": "#/definitions/CasesAggregationBySeverityProperties", - "description": "Aggregations results by case severity." - }, - "aggregationByStatus": { - "$ref": "#/definitions/CasesAggregationByStatusProperties", - "description": "Aggregations results by case status." + "properties": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties", + "description": "Amazon Web Services CloudTrail data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AwsCloudTrailDataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services CloudTrail data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" } }, "type": "object" }, - "ClientInfo": { - "description": "Information on the client (user or application) that made some action", + "AwsCloudTrailDataConnectorProperties": { + "description": "Amazon Web Services CloudTrail data connector properties.", "properties": { - "email": { - "description": "The email of the client.", - "type": "string" - }, - "name": { - "description": "The name of the client.", - "type": "string" - }, - "objectId": { - "description": "The object id of the client.", - "format": "uuid", + "awsRoleArn": { + "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.", "type": "string" }, - "userPrincipalName": { - "description": "The user principal name of the client.", - "type": "string" + "dataTypes": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes", + "description": "The available data types for the connector." } }, "type": "object" }, - "CloudApplicationEntity": { + "AwsCloudTrailCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Amazon Web Services CloudTrail requirements check request.", + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AzureResourceEntity": { "allOf": [ { "$ref": "#/definitions/Entity" } ], - "description": "Represents a cloud application entity.", + "description": "Represents an azure resource entity.", "properties": { "properties": { - "$ref": "#/definitions/CloudApplicationEntityProperties", - "description": "CloudApplication entity properties", + "$ref": "#/definitions/AzureResourceEntityProperties", + "description": "AzureResource entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "CloudApplication" + "x-ms-discriminator-value": "AzureResource" }, - "CloudApplicationEntityProperties": { + "AzureResourceEntityProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "CloudApplication entity property bag.", + "description": "AzureResource entity property bag.", "properties": { - "appId": { - "description": "The technical identifier of the application.", - "readOnly": true, - "type": "integer" - }, - "appName": { - "description": "The name of the related cloud application.", + "resourceId": { + "description": "The azure resource id of the resource", "readOnly": true, "type": "string" }, - "instanceName": { - "description": "The user defined instance name of the cloud application. It is often used to distinguish between several applications of the same type that a customer has.", + "subscriptionId": { + "description": "The subscription id of the resource", "readOnly": true, "type": "string" } }, "type": "object" }, - "CloudError": { - "description": "Error response structure.", - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody", - "description": "Error data", - "x-ms-client-flatten": true - } - }, + "RelationBase": { "type": "object", - "x-ms-external": true + "description": "Represents a relation", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "The type of relation node", + "readOnly": true, + "enum": [ + "CasesToBookmarks" + ], + "x-ms-enum": { + "name": "RelationTypes", + "modelAsString": true, + "values": [ + { + "value": "CasesToBookmarks", + "description": "Relations between cases and bookmarks" + } + ] + } + }, + "etag": { + "type": "string", + "description": "ETag for relation" + } + } + } + ] }, - "CloudErrorBody": { - "description": "Error details.", + "CaseRelationList": { + "description": "List of case relations.", "properties": { - "code": { - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "nextLink": { "readOnly": true, + "description": "URL to fetch the next set of relations.", "type": "string" }, - "message": { - "description": "A message describing the error, intended to be suitable for display in a user interface.", - "readOnly": true, - "type": "string" + "value": { + "description": "Array of relations.", + "type": "array", + "items": { + "$ref": "#/definitions/CaseRelation" + } } }, - "type": "object", - "x-ms-external": true + "required": [ + "value" + ] }, - "DataConnector": { + "CaseRelation": { + "type": "object", + "description": "Represents a case relation", "allOf": [ { - "$ref": "#/definitions/ResourceWithEtag" - }, - { - "$ref": "#/definitions/DataConnectorKind" + "$ref": "#/definitions/RelationBase" } ], - "description": "Data connector.", - "discriminator": "kind", - "type": "object", - "required": [ - "kind" - ] + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Case relation properties", + "$ref": "#/definitions/CaseRelationProperties" + } + } }, - "DataConnectorsCheckRequirements": { - "description": "Data connector requirements properties.", + "CaseRelationProperties": { + "type": "object", + "description": "Case relation properties", "properties": { - "kind": { - "$ref": "#/definitions/DataConnectorKind", - "description": "Describes the kind of connector to be checked." + "relationName": { + "type": "string", + "description": "Name of relation" + }, + "bookmarkId": { + "type": "string", + "description": "The case related bookmark id" + }, + "caseIdentifier": { + "type": "string", + "description": "The case identifier" + }, + "bookmarkName": { + "type": "string", + "description": "The case related bookmark name" } }, - "discriminator": "kind", - "type": "object", "required": [ - "kind" + "relationName", + "caseIdentifier", + "bookmarkId" ] }, - "DataConnectorAuthorizationState": { - "description": "Describes the state of user's authorization for a connector kind.", - "enum": [ - "Valid", - "Invalid" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "DataConnectorAuthorizationState", - "values": [ - { - "value": "Valid" - }, - { - "value": "Invalid" - } - ] - } - }, - "DataConnectorLicenseState": { - "description": "Describes the state of user's license for a connector kind.", - "enum": [ - "Valid", - "Invalid", - "Unknown" + "RelationsModelInput": { + "type": "object", + "description": "Relation input model", + "allOf": [ + { + "$ref": "#/definitions/RelationBase" + } ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "DataConnectorLicenseState", - "values": [ - { - "value": "Valid" - }, - { - "value": "Invalid" - }, - { - "value": "Unknown" - } - ] + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Relation input properties", + "$ref": "#/definitions/RelationsModelInputProperties" + } } }, - "DataConnectorDataTypeCommon": { - "description": "Common field for data type in data connectors.", + "RelationsModelInputProperties": { + "type": "object", + "description": "Relation input properties", "properties": { - "state": { - "description": "Describe whether this data type connection is enabled or not.", - "enum": [ - "Enabled", - "Disabled" - ], + "relationName": { "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "DataTypeState" - } + "description": "Name of relation" + }, + "sourceRelationNode": { + "type": "object", + "description": "Relation source node", + "$ref": "#/definitions/RelationNode" + }, + "targetRelationNode": { + "type": "object", + "description": "Relation target node", + "$ref": "#/definitions/RelationNode" } - }, - "type": "object" + } }, - "DataConnectorKind": { - "description": "Describes an Azure resource with kind.", + "RelationNode": { + "type": "object", + "description": "Relation node", "properties": { - "kind": { - "description": "The kind of the data connector", + "relationNodeId": { + "type": "string", + "description": "Relation Node Id" + }, + "relationNodeKind": { + "type": "string", + "description": "The type of relation node", + "readOnly": true, "enum": [ - "AzureActiveDirectory", - "AzureSecurityCenter", - "MicrosoftCloudAppSecurity", - "ThreatIntelligence", - "ThreatIntelligenceTaxii", - "Office365", - "AmazonWebServicesCloudTrail", - "AzureAdvancedThreatProtection", - "MicrosoftDefenderAdvancedThreatProtection" + "Case", + "Bookmark" ], - "type": "string", "x-ms-enum": { + "name": "RelationNodeKind", "modelAsString": true, - "name": "DataConnectorKind", "values": [ { - "value": "AzureActiveDirectory" - }, - { - "value": "AzureSecurityCenter" - }, - { - "value": "MicrosoftCloudAppSecurity" - }, - { - "value": "ThreatIntelligence" - }, - { - "value": "ThreatIntelligenceTaxii" - }, - { - "value": "Office365" - }, - { - "value": "AmazonWebServicesCloudTrail" - }, - { - "value": "AzureAdvancedThreatProtection" + "value": "Case", + "description": "Case node part of the relation" }, { - "value": "MicrosoftDefenderAdvancedThreatProtection" + "value": "Bookmark", + "description": "Bookmark node part of the relation" } ] } + }, + "etag": { + "type": "string", + "description": "Etag for relation node" + }, + "relationAdditionalProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Additional set of properties" + } + } + }, + "Bookmark": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" } - }, - "required": [ - "kind" ], + "description": "Represents a bookmark in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/BookmarkProperties", + "description": "Bookmark properties", + "x-ms-client-flatten": true + } + }, "type": "object" }, - "DataConnectorList": { - "description": "List all the data connectors.", + "BookmarkList": { + "description": "List all the bookmarks.", "properties": { "nextLink": { - "description": "URL to fetch the next set of data connectors.", + "description": "URL to fetch the next set of cases.", "readOnly": true, "type": "string" }, "value": { - "description": "Array of data connectors.", + "description": "Array of bookmarks.", "items": { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/Bookmark" }, "type": "array" } @@ -5025,129 +4995,66 @@ "value" ] }, - "DataConnectorRequirementsState": { - "description": "Data connector requirements status.", + "BookmarkProperties": { + "description": "Describes bookmark properties", "properties": { - "authorizationState": { - "description": "Authorization state for this connector", - "$ref": "#/definitions/DataConnectorAuthorizationState" + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" }, - "licenseState": { - "description": "License state for this connector", - "$ref": "#/definitions/DataConnectorLicenseState" - } - }, - "type": "object" - }, - "DataConnectorTenantId": { - "description": "Properties data connector on tenant level.", - "properties": { - "tenantId": { - "description": "The tenant id to connect to, and get the data from.", + "createdBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", "type": "string" - } - }, - "type": "object" - }, - "DataConnectorWithAlertsProperties": { - "description": "Data connector properties.", - "properties": { - "dataTypes": { - "$ref": "#/definitions/AlertsDataTypeOfDataConnector", - "description": "The available data types for the connector." - } - }, - "type": "object" - }, - "DnsEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents a dns entity.", - "properties": { - "properties": { - "$ref": "#/definitions/DnsEntityProperties", - "description": "Dns entity properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "DnsResolution" - }, - "DnsEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "Dns entity property bag.", - "properties": { - "dnsServerIpEntityId": { - "description": "An ip entity id for the dns server resolving the request", - "readOnly": true, + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the bookmark", "type": "string" }, - "domainName": { - "description": "The name of the dns record associated with the alert", - "readOnly": true, + "query": { + "description": "The query of the bookmark.", "type": "string" }, - "hostIpAddressEntityId": { - "description": "An ip entity id for the dns request client", - "readOnly": true, + "queryResult": { + "description": "The query result of the bookmark.", "type": "string" }, - "ipAddressEntityIds": { - "description": "Ip entity identifiers for the resolved ip address.", - "items": { - "description": "Ip entity id", - "type": "string" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "Entity": { - "allOf": [ - { - "$ref": "#/definitions/Resource" + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" }, - { - "$ref": "#/definitions/EntityKind" - } - ], - "description": "Specific entity.", - "discriminator": "kind", - "type": "object", - "required": [ - "kind" - ] - }, - "EntityCommonProperties": { - "description": "Entity common property bag.", - "properties": { - "additionalData": { - "additionalProperties": { - "type": "object" - }, - "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", - "readOnly": true, + "updatedBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", "type": "object" }, - "friendlyName": { - "description": "The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated.", - "readOnly": true, - "type": "string" + "incidentInfo": { + "$ref": "#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" } }, + "required": [ + "displayName", + "query" + ], "type": "object" }, - "EntityExpandParameters": { - "description": "The parameters required to execute an expand operation on the given entity.", + "BookmarkExpandParameters": { + "description": "The parameters required to execute an expand operation on the given bookmark.", "properties": { "endTime": { "description": "The end date filter, so the only expansion results returned are before this date.", @@ -5166,7 +5073,7 @@ } } }, - "EntityExpandResponse": { + "BookmarkExpandResponse": { "description": "The entity expansion result operation response.", "properties": { "metaData": { @@ -5188,190 +5095,1002 @@ } } }, - "EntityInnerKind": { - "description": "The kind of the entity", - "enum": [ - "Account", - "Host", - "File", - "AzureResource", - "CloudApplication", - "DnsResolution", - "FileHash", - "Ip", - "Malware", - "Process", - "RegistryKey", - "RegistryValue", - "SecurityGroup", - "Url", - "IoTDevice", - "SecurityAlert", - "Bookmark" + "Case": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" + } ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "EntityKind", - "values": [ - { - "description": "Entity represents account in the system.", - "value": "Account" - }, - { - "description": "Entity represents host in the system.", - "value": "Host" + "description": "Represents a case in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/CaseProperties", + "description": "Case properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "CaseComment": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Represents a case comment", + "properties": { + "properties": { + "$ref": "#/definitions/CaseCommentProperties", + "description": "Case comment properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "CaseCommentList": { + "description": "List of case comments.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of comments.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of comments.", + "items": { + "$ref": "#/definitions/CaseComment" }, - { - "description": "Entity represents file in the system.", - "value": "File" + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "CaseCommentProperties": { + "description": "Case comment property bag.", + "properties": { + "createdTimeUtc": { + "description": "The time the comment was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The comment message", + "type": "string" + }, + "userInfo": { + "$ref": "#/definitions/UserInfo", + "description": "Describes the user that created the comment", + "readOnly": true, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "CaseList": { + "description": "List all the cases.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of cases.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of cases.", + "items": { + "$ref": "#/definitions/Case" }, - { - "description": "Entity represents azure resource in the system.", - "value": "AzureResource" - }, - { - "description": "Entity represents cloud application in the system.", - "value": "CloudApplication" - }, - { - "description": "Entity represents dns resolution in the system.", - "value": "DnsResolution" - }, - { - "description": "Entity represents file hash in the system.", - "value": "FileHash" - }, - { - "description": "Entity represents ip in the system.", - "value": "Ip" - }, - { - "description": "Entity represents malware in the system.", - "value": "Malware" - }, - { - "description": "Entity represents process in the system.", - "value": "Process" - }, - { - "description": "Entity represents registry key in the system.", - "value": "RegistryKey" - }, - { - "description": "Entity represents registry value in the system.", - "value": "RegistryValue" - }, - { - "description": "Entity represents security group in the system.", - "value": "SecurityGroup" - }, - { - "description": "Entity represents url in the system.", - "value": "Url" + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "CaseProperties": { + "description": "Describes case properties", + "properties": { + "caseNumber": { + "description": "a sequential number", + "readOnly": true, + "type": "integer" + }, + "closeReason": { + "description": "The reason the case was closed", + "enum": [ + "Resolved", + "Dismissed", + "TruePositive", + "FalsePositive", + "Other" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CloseReason", + "values": [ + { + "description": "Case was resolved", + "value": "Resolved" + }, + { + "description": "Case was dismissed", + "value": "Dismissed" + }, + { + "description": "Case was true positive", + "value": "TruePositive" + }, + { + "description": "Case was false positive", + "value": "FalsePositive" + }, + { + "description": "Case was closed for another reason", + "value": "Other" + } + ] + } + }, + "closedReasonText": { + "description": "the case close reason details", + "type": "string" + }, + "createdTimeUtc": { + "description": "The time the case was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the case", + "type": "string" + }, + "endTimeUtc": { + "description": "The end time of the case", + "format": "date-time", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this case", + "items": { + "$ref": "#/definitions/Label" }, - { - "description": "Entity represents IoT device in the system.", - "value": "IoTDevice" + "type": "array" + }, + "lastComment": { + "description": "the last comment in the case", + "readOnly": true, + "type": "string" + }, + "lastUpdatedTimeUtc": { + "description": "The last time the case was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "owner": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that the case is assigned to", + "type": "object" + }, + "relatedAlertIds": { + "description": "List of related alert identifiers", + "items": { + "description": "related alert id", + "type": "string" }, - { - "description": "Entity represents security alert in the system.", - "value": "SecurityAlert" + "readOnly": true, + "type": "array" + }, + "tactics": { + "description": "The tactics associated with case", + "items": { + "$ref": "#/definitions/AttackTactic" }, - { - "description": "Entity represents bookmark in the system.", - "value": "Bookmark" + "readOnly": true, + "type": "array" + }, + "severity": { + "description": "The severity of the case", + "enum": [ + "Critical", + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CaseSeverity", + "values": [ + { + "description": "Critical severity", + "value": "Critical" + }, + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] } - ] - } + }, + "startTimeUtc": { + "description": "The start time of the case", + "format": "date-time", + "type": "string" + }, + "status": { + "description": "The status of the case", + "enum": [ + "Draft", + "New", + "InProgress", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CaseStatus", + "values": [ + { + "description": "Case that wasn't promoted yet to active", + "value": "Draft" + }, + { + "description": "An active case which isn't handled currently", + "value": "New" + }, + { + "description": "An active case which is handled", + "value": "InProgress" + }, + { + "description": "A non active case", + "value": "Closed" + } + ] + } + }, + "title": { + "description": "The title of the case", + "type": "string" + }, + "totalComments": { + "description": "the number of total comments in the case", + "readOnly": true, + "type": "integer" + } + }, + "required": [ + "title", + "severity", + "status", + "startTimeUtc" + ], + "type": "object" }, - "EntityInnerType": { - "description": "The type of the entity", - "enum": [ - "Account", - "Host", - "File", - "AzureResource", - "CloudApplication", - "DNS", - "FileHash", - "IP", - "Malware", - "Process", - "RegistryKey", - "RegistryValue", - "SecurityGroup", - "URL", - "IoTDevice", - "SecurityAlert", - "HuntingBookmark" + "CasesAggregation": { + "allOf": [ + { + "$ref": "#/definitions/Aggregations" + } + ], + "description": "Represents aggregations results for cases.", + "properties": { + "properties": { + "$ref": "#/definitions/CasesAggregationProperties", + "description": "Properties of aggregations results of cases.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "CasesAggregation" + }, + "CasesAggregationBySeverityProperties": { + "description": "Aggregative results of cases by severity property bag.", + "properties": { + "totalCriticalSeverity": { + "description": "Total amount of open cases with severity Critical", + "readOnly": true, + "type": "integer" + }, + "totalHighSeverity": { + "description": "Total amount of open cases with severity High", + "readOnly": true, + "type": "integer" + }, + "totalInformationalSeverity": { + "description": "Total amount of open cases with severity Informational", + "readOnly": true, + "type": "integer" + }, + "totalLowSeverity": { + "description": "Total amount of open cases with severity Low", + "readOnly": true, + "type": "integer" + }, + "totalMediumSeverity": { + "description": "Total amount of open cases with severity medium", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "CasesAggregationByStatusProperties": { + "description": "Aggregative results of cases by status property bag.", + "properties": { + "totalDismissedStatus": { + "description": "Total amount of open cases with status Dismissed", + "readOnly": true, + "type": "integer" + }, + "totalInProgressStatus": { + "description": "Total amount of open cases with status InProgress", + "readOnly": true, + "type": "integer" + }, + "totalNewStatus": { + "description": "Total amount of open cases with status New", + "readOnly": true, + "type": "integer" + }, + "totalResolvedStatus": { + "description": "Total amount of open cases with status Resolved", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "CasesAggregationProperties": { + "description": "Aggregative results of cases property bag.", + "properties": { + "aggregationBySeverity": { + "$ref": "#/definitions/CasesAggregationBySeverityProperties", + "description": "Aggregations results by case severity." + }, + "aggregationByStatus": { + "$ref": "#/definitions/CasesAggregationByStatusProperties", + "description": "Aggregations results by case status." + } + }, + "type": "object" + }, + "ClientInfo": { + "description": "Information on the client (user or application) that made some action", + "properties": { + "email": { + "description": "The email of the client.", + "type": "string" + }, + "name": { + "description": "The name of the client.", + "type": "string" + }, + "objectId": { + "description": "The object id of the client.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the client.", + "type": "string" + } + }, + "type": "object" + }, + "CloudApplicationEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a cloud application entity.", + "properties": { + "properties": { + "$ref": "#/definitions/CloudApplicationEntityProperties", + "description": "CloudApplication entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "CloudApplication" + }, + "CloudApplicationEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "CloudApplication entity property bag.", + "properties": { + "appId": { + "description": "The technical identifier of the application.", + "readOnly": true, + "type": "integer" + }, + "appName": { + "description": "The name of the related cloud application.", + "readOnly": true, + "type": "string" + }, + "instanceName": { + "description": "The user defined instance name of the cloud application. It is often used to distinguish between several applications of the same type that a customer has.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudError": { + "description": "Error response structure.", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Error data", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "Error details.", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "readOnly": true, + "type": "string" + } + }, + "type": "object", + "x-ms-external": true + }, + "DataConnector": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" + }, + { + "$ref": "#/definitions/DataConnectorKind" + } + ], + "description": "Data connector.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "DataConnectorsCheckRequirements": { + "description": "Data connector requirements properties.", + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "Describes the kind of connector to be checked." + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "DataConnectorAuthorizationState": { + "description": "Describes the state of user's authorization for a connector kind.", + "enum": [ + "Valid", + "Invalid" ], "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "EntityType", + "name": "DataConnectorAuthorizationState", "values": [ { - "description": "Entity represents account in the system.", - "value": "Account" - }, - { - "description": "Entity represents host in the system.", - "value": "Host" - }, - { - "description": "Entity represents file in the system.", - "value": "File" - }, - { - "description": "Entity represents azure resource in the system.", - "value": "AzureResource" - }, - { - "description": "Entity represents cloud application in the system.", - "value": "CloudApplication" + "value": "Valid" }, { - "description": "Entity represents dns in the system.", - "value": "DNS" - }, - { - "description": "Entity represents file hash in the system.", - "value": "FileHash" - }, - { - "description": "Entity represents ip in the system.", - "value": "IP" - }, - { - "description": "Entity represents malware in the system.", - "value": "Malware" - }, - { - "description": "Entity represents process in the system.", - "value": "Process" - }, + "value": "Invalid" + } + ] + } + }, + "DataConnectorLicenseState": { + "description": "Describes the state of user's license for a connector kind.", + "enum": [ + "Valid", + "Invalid", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorLicenseState", + "values": [ { - "description": "Entity represents registry key in the system.", - "value": "RegistryKey" + "value": "Valid" }, { - "description": "Entity represents registry value in the system.", - "value": "RegistryValue" + "value": "Invalid" }, { - "description": "Entity represents security group in the system.", - "value": "SecurityGroup" + "value": "Unknown" + } + ] + } + }, + "DataConnectorDataTypeCommon": { + "description": "Common field for data type in data connectors.", + "properties": { + "state": { + "description": "Describe whether this data type connection is enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataTypeState" + } + } + }, + "type": "object" + }, + "DataConnectorKind": { + "description": "Describes an Azure resource with kind.", + "properties": { + "kind": { + "description": "The kind of the data connector", + "enum": [ + "AzureActiveDirectory", + "AzureSecurityCenter", + "MicrosoftCloudAppSecurity", + "ThreatIntelligence", + "ThreatIntelligenceTaxii", + "Office365", + "OfficeATP", + "AmazonWebServicesCloudTrail", + "AzureAdvancedThreatProtection", + "MicrosoftDefenderAdvancedThreatProtection" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorKind", + "values": [ + { + "value": "AzureActiveDirectory" + }, + { + "value": "AzureSecurityCenter" + }, + { + "value": "MicrosoftCloudAppSecurity" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "ThreatIntelligenceTaxii" + }, + { + "value": "Office365" + }, + { + "value": "OfficeATP" + }, + { + "value": "AmazonWebServicesCloudTrail" + }, + { + "value": "AzureAdvancedThreatProtection" + }, + { + "value": "MicrosoftDefenderAdvancedThreatProtection" + } + ] + } + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "DataConnectorList": { + "description": "List all the data connectors.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of data connectors.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of data connectors.", + "items": { + "$ref": "#/definitions/DataConnector" }, - { - "description": "Entity represents url in the system.", - "value": "URL" + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "DataConnectorRequirementsState": { + "description": "Data connector requirements status.", + "properties": { + "authorizationState": { + "description": "Authorization state for this connector", + "$ref": "#/definitions/DataConnectorAuthorizationState" + }, + "licenseState": { + "description": "License state for this connector", + "$ref": "#/definitions/DataConnectorLicenseState" + } + }, + "type": "object" + }, + "DataConnectorTenantId": { + "description": "Properties data connector on tenant level.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "DataConnectorWithAlertsProperties": { + "description": "Data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "DnsEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a dns entity.", + "properties": { + "properties": { + "$ref": "#/definitions/DnsEntityProperties", + "description": "Dns entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "DnsResolution" + }, + "DnsEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Dns entity property bag.", + "properties": { + "dnsServerIpEntityId": { + "description": "An ip entity id for the dns server resolving the request", + "readOnly": true, + "type": "string" + }, + "domainName": { + "description": "The name of the dns record associated with the alert", + "readOnly": true, + "type": "string" + }, + "hostIpAddressEntityId": { + "description": "An ip entity id for the dns request client", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityIds": { + "description": "Ip entity identifiers for the resolved ip address.", + "items": { + "description": "Ip entity id", + "type": "string" }, - { - "description": "Entity represents IoT device in the system.", - "value": "IoTDevice" + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "Entity": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "$ref": "#/definitions/EntityKind" + } + ], + "description": "Specific entity.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "EntityCommonProperties": { + "description": "Entity common property bag.", + "properties": { + "additionalData": { + "additionalProperties": { + "type": "object" }, - { + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "readOnly": true, + "type": "object" + }, + "friendlyName": { + "description": "The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EntityExpandParameters": { + "description": "The parameters required to execute an expand operation on the given entity.", + "properties": { + "endTime": { + "description": "The end date filter, so the only expansion results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "expansionId": { + "description": "The Id of the expansion to perform.", + "format": "uuid", + "type": "string" + }, + "startTime": { + "description": "The start date filter, so the only expansion results returned are after this date.", + "format": "date-time", + "type": "string" + } + } + }, + "EntityExpandResponse": { + "description": "The entity expansion result operation response.", + "properties": { + "metaData": { + "$ref": "#/definitions/ExpansionResultsMetadata", + "description": "The metadata from the expansion operation results." + }, + "value": { + "description": "The expansion result values.", + "properties": { + "entities": { + "description": "Array of the expansion result entities.", + "items": { + "$ref": "#/definitions/Entity" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "EntityInnerKind": { + "description": "The kind of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DnsResolution", + "FileHash", + "Ip", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "Url", + "IoTDevice", + "SecurityAlert", + "Bookmark" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityKind", + "values": [ + { + "description": "Entity represents account in the system.", + "value": "Account" + }, + { + "description": "Entity represents host in the system.", + "value": "Host" + }, + { + "description": "Entity represents file in the system.", + "value": "File" + }, + { + "description": "Entity represents azure resource in the system.", + "value": "AzureResource" + }, + { + "description": "Entity represents cloud application in the system.", + "value": "CloudApplication" + }, + { + "description": "Entity represents dns resolution in the system.", + "value": "DnsResolution" + }, + { + "description": "Entity represents file hash in the system.", + "value": "FileHash" + }, + { + "description": "Entity represents ip in the system.", + "value": "Ip" + }, + { + "description": "Entity represents malware in the system.", + "value": "Malware" + }, + { + "description": "Entity represents process in the system.", + "value": "Process" + }, + { + "description": "Entity represents registry key in the system.", + "value": "RegistryKey" + }, + { + "description": "Entity represents registry value in the system.", + "value": "RegistryValue" + }, + { + "description": "Entity represents security group in the system.", + "value": "SecurityGroup" + }, + { + "description": "Entity represents url in the system.", + "value": "Url" + }, + { + "description": "Entity represents IoT device in the system.", + "value": "IoTDevice" + }, + { + "description": "Entity represents security alert in the system.", + "value": "SecurityAlert" + }, + { + "description": "Entity represents bookmark in the system.", + "value": "Bookmark" + } + ] + } + }, + "EntityInnerType": { + "description": "The type of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DNS", + "FileHash", + "IP", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "URL", + "IoTDevice", + "SecurityAlert", + "HuntingBookmark" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityType", + "values": [ + { + "description": "Entity represents account in the system.", + "value": "Account" + }, + { + "description": "Entity represents host in the system.", + "value": "Host" + }, + { + "description": "Entity represents file in the system.", + "value": "File" + }, + { + "description": "Entity represents azure resource in the system.", + "value": "AzureResource" + }, + { + "description": "Entity represents cloud application in the system.", + "value": "CloudApplication" + }, + { + "description": "Entity represents dns in the system.", + "value": "DNS" + }, + { + "description": "Entity represents file hash in the system.", + "value": "FileHash" + }, + { + "description": "Entity represents ip in the system.", + "value": "IP" + }, + { + "description": "Entity represents malware in the system.", + "value": "Malware" + }, + { + "description": "Entity represents process in the system.", + "value": "Process" + }, + { + "description": "Entity represents registry key in the system.", + "value": "RegistryKey" + }, + { + "description": "Entity represents registry value in the system.", + "value": "RegistryValue" + }, + { + "description": "Entity represents security group in the system.", + "value": "SecurityGroup" + }, + { + "description": "Entity represents url in the system.", + "value": "URL" + }, + { + "description": "Entity represents IoT device in the system.", + "value": "IoTDevice" + }, + { "description": "Entity represents security alert in the system.", "value": "SecurityAlert" }, @@ -5379,578 +6098,968 @@ "description": "Entity represents HuntingBookmark in the system.", "value": "HuntingBookmark" } - ] - } - }, - "EntityKind": { - "description": "Describes an entity with kind.", - "properties": { - "kind": { - "$ref": "#/definitions/EntityInnerKind", - "description": "The kind of the entity." - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - "EntityList": { - "description": "List of all the entities.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of entities.", + ] + } + }, + "EntityKind": { + "description": "Describes an entity with kind.", + "properties": { + "kind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the entity." + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "EntityList": { + "description": "List of all the entities.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entities.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entities.", + "items": { + "$ref": "#/definitions/Entity" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "EntityQuery": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specific entity query.", + "properties": { + "properties": { + "$ref": "#/definitions/EntityQueryProperties", + "description": "Entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "EntityQueryList": { + "description": "List of all the entity queries.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entity queries.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entity queries.", + "items": { + "$ref": "#/definitions/EntityQuery" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "EntityQueryProperties": { + "description": "Describes entity query properties", + "properties": { + "dataSources": { + "description": "List of the data sources that are required to run the query", + "items": { + "description": "data source", + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "The query display name", + "type": "string" + }, + "inputEntityType": { + "$ref": "#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "inputFields": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "input field", + "type": "string" + }, + "type": "array" + }, + "outputEntityTypes": { + "description": "List of the desired output types to be constructed from the result", + "items": { + "$ref": "#/definitions/EntityInnerType", + "description": "output entity type" + }, + "type": "array" + }, + "queryTemplate": { + "description": "The template query string to be parsed and formatted", + "type": "string" + } + }, + "type": "object" + }, + "ExpansionResultAggregation": { + "description": "Information of a specific aggregation in the expansion result.", + "properties": { + "aggregationType": { + "description": "The common type of the aggregation. (for e.g. entity field name)", + "type": "string" + }, + "count": { + "description": "Total number of aggregations of the given kind (and aggregationType if given) in the expansion result.", + "type": "integer" + }, + "displayName": { + "description": "The display name of the aggregation by type.", + "type": "string" + }, + "entityKind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "ExpansionResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "aggregations": { + "description": "Information of the aggregated nodes in the expansion result.", + "items": { + "$ref": "#/definitions/ExpansionResultAggregation" + }, + "type": "array" + } + }, + "type": "object" + }, + "FileEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "File" + }, + "FileEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "File entity property bag.", + "properties": { + "directory": { + "description": "The full path to the file.", + "readOnly": true, + "type": "string" + }, + "fileHashEntityIds": { + "description": "The file hash entity identifiers associated with this file", + "items": { + "description": "file hash id", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "fileName": { + "description": "The file name without path (some alerts might not include path).", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id which the file belongs to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FileHashEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file hash entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileHashEntityProperties", + "description": "FileHash entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "FileHash" + }, + "FileHashEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "FileHash entity property bag.", + "properties": { + "algorithm": { + "description": "The hash algorithm type.", + "enum": [ + "Unknown", + "MD5", + "SHA1", + "SHA256", + "SHA256AC" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "FileHashAlgorithm", + "values": [ + { + "description": "Unknown hash algorithm", + "value": "Unknown" + }, + { + "description": "MD5 hash type", + "value": "MD5" + }, + { + "description": "SHA1 hash type", + "value": "SHA1" + }, + { + "description": "SHA256 hash type", + "value": "SHA256" + }, + { + "description": "SHA256 Authenticode hash type", + "value": "SHA256AC" + } + ] + } + }, + "hashValue": { + "description": "The file hash value.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FusionAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Fusion alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleProperties", + "description": "Fusion alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleProperties": { + "description": "Fusion alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "FusionAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Fusion alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + } + ], + "description": "Fusion alert rule template properties", + "properties": { + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule." + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "type": "array" + } + }, + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "GeoLocation": { + "description": "The geo-location context attached to the ip entity", + "properties": { + "asn": { + "description": "Autonomous System Number", + "readOnly": true, + "type": "integer" + }, + "city": { + "description": "City name", + "readOnly": true, + "type": "string" + }, + "countryCode": { + "description": "The country code according to ISO 3166 format", + "readOnly": true, + "type": "string" + }, + "countryName": { + "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "state": { + "description": "State name", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "HostEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a host entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HostEntityProperties", + "description": "Host entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Host" + }, + "HostEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Host entity property bag.", + "properties": { + "azureID": { + "description": "The azure resource id of the VM.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain", + "readOnly": true, + "type": "string" + }, + "hostName": { + "description": "The hostname without the domain suffix.", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this host belongs to a domain.", + "readOnly": true, + "type": "boolean" + }, + "netBiosName": { + "description": "The host name (pre-windows2000).", + "readOnly": true, + "type": "string" + }, + "ntDomain": { + "description": "The NT domain that this host belongs to.", + "readOnly": true, + "type": "string" + }, + "omsAgentID": { + "description": "The OMS agent id, if the host has OMS agent installed.", + "readOnly": true, + "type": "string" + }, + "osFamily": { + "description": "The operating system type.", + "enum": [ + "Linux", + "Windows", + "Android", + "IOS" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "OSFamily", + "values": [ + { + "description": "Host with Linux operating system.", + "value": "Linux" + }, + { + "description": "Host with Windows operating system.", + "value": "Windows" + }, + { + "description": "Host with Android operating system.", + "value": "Android" + }, + { + "description": "Host with IOS operating system.", + "value": "IOS" + } + ] + } + }, + "osVersion": { + "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration", "readOnly": true, "type": "string" - }, - "value": { - "description": "Array of entities.", - "items": { - "$ref": "#/definitions/Entity" - }, - "type": "array" } }, - "required": [ - "value" - ] + "type": "object" }, - "EntityQuery": { + "Incident": { "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "Specific entity query.", + "description": "Represents an incident in Azure Security Insights.", "properties": { "properties": { - "$ref": "#/definitions/EntityQueryProperties", - "description": "Entity query properties", + "$ref": "#/definitions/IncidentProperties", + "description": "Incident properties", "x-ms-client-flatten": true } }, "type": "object" }, - "EntityQueryList": { - "description": "List of all the entity queries.", + "IncidentAdditionalData": { + "description": "Incident additional data property bag.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of entity queries.", + "alertsCount": { + "description": "The number of alerts in the incident", "readOnly": true, - "type": "string" - }, - "value": { - "description": "Array of entity queries.", - "items": { - "$ref": "#/definitions/EntityQuery" - }, - "type": "array" - } - }, - "required": [ - "value" - ] - }, - "EntityQueryProperties": { - "description": "Describes entity query properties", - "properties": { - "dataSources": { - "description": "List of the data sources that are required to run the query", - "items": { - "description": "data source", - "type": "string" - }, - "type": "array" + "type": "integer" }, - "displayName": { - "description": "The query display name", - "type": "string" + "bookmarksCount": { + "description": "The number of bookmarks in the incident", + "readOnly": true, + "type": "integer" }, - "inputEntityType": { - "$ref": "#/definitions/EntityInnerType", - "description": "The type of the query's source entity" + "commentsCount": { + "description": "The number of comments in the incident", + "readOnly": true, + "type": "integer" }, - "inputFields": { - "description": "List of the fields of the source entity that are required to run the query", + "alertProductNames": { + "description": "List of product names of alerts in the incident", "items": { - "description": "input field", + "description": "Alert product name", "type": "string" }, + "readOnly": true, "type": "array" }, - "outputEntityTypes": { - "description": "List of the desired output types to be constructed from the result", - "items": { - "$ref": "#/definitions/EntityInnerType", - "description": "output entity type" - }, - "type": "array" - }, - "queryTemplate": { - "description": "The template query string to be parsed and formatted", - "type": "string" - } - }, - "type": "object" - }, - "ExpansionResultAggregation": { - "description": "Information of a specific aggregation in the expansion result.", - "properties": { - "aggregationType": { - "description": "The common type of the aggregation. (for e.g. entity field name)", - "type": "string" - }, - "count": { - "description": "Total number of aggregations of the given kind (and aggregationType if given) in the expansion result.", - "type": "integer" - }, - "displayName": { - "description": "The display name of the aggregation by type.", - "type": "string" - }, - "entityKind": { - "$ref": "#/definitions/EntityInnerKind", - "description": "The kind of the aggregated entity." - } - }, - "required": [ - "entityKind", - "count" - ], - "type": "object" - }, - "ExpansionResultsMetadata": { - "description": "Expansion result metadata.", - "properties": { - "aggregations": { - "description": "Information of the aggregated nodes in the expansion result.", + "tactics": { + "description": "The tactics associated with incident", "items": { - "$ref": "#/definitions/ExpansionResultAggregation" + "$ref": "#/definitions/AttackTactic" }, + "readOnly": true, "type": "array" } }, "type": "object" }, - "FileEntity": { + "IncidentComment": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/Resource" } ], - "description": "Represents a file entity.", + "description": "Represents an incident comment", "properties": { "properties": { - "$ref": "#/definitions/FileEntityProperties", - "description": "File entity properties", + "$ref": "#/definitions/IncidentCommentProperties", + "description": "Incident comment properties", "x-ms-client-flatten": true } }, - "type": "object", - "x-ms-discriminator-value": "File" + "type": "object" }, - "FileEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "File entity property bag.", + "IncidentCommentList": { + "description": "List of incident comments.", "properties": { - "directory": { - "description": "The full path to the file.", + "nextLink": { + "description": "URL to fetch the next set of comments.", "readOnly": true, "type": "string" }, - "fileHashEntityIds": { - "description": "The file hash entity identifiers associated with this file", + "value": { + "description": "Array of comments.", "items": { - "description": "file hash id", - "type": "string" + "$ref": "#/definitions/IncidentComment" }, - "readOnly": true, "type": "array" - }, - "fileName": { - "description": "The file name without path (some alerts might not include path).", + } + }, + "required": [ + "value" + ] + }, + "IncidentCommentProperties": { + "description": "Incident comment property bag.", + "properties": { + "createdTimeUtc": { + "description": "The time the comment was created", + "format": "date-time", "readOnly": true, "type": "string" }, - "hostEntityId": { - "description": "The Host entity id which the file belongs to", - "readOnly": true, + "message": { + "description": "The comment message", "type": "string" + }, + "author": { + "$ref": "#/definitions/ClientInfo", + "description": "Describes the client that created the comment", + "readOnly": true, + "type": "object" } }, - "type": "object" - }, - "FileHashEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } + "required": [ + "message" ], - "description": "Represents a file hash entity.", - "properties": { - "properties": { - "$ref": "#/definitions/FileHashEntityProperties", - "description": "FileHash entity properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "FileHash" + "type": "object" }, - "FileHashEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "FileHash entity property bag.", + "IncidentLabel": { + "description": "Represents an incident label", "properties": { - "algorithm": { - "description": "The hash algorithm type.", - "enum": [ - "Unknown", - "MD5", - "SHA1", - "SHA256", - "SHA256AC" + "labelName": { + "description": "The name of the label", + "type": "string" + }, + "labelType": { + "description": "The type of the label", + "enum": [ + "User", + "System" ], - "readOnly": true, "type": "string", + "readOnly": true, "x-ms-enum": { "modelAsString": true, - "name": "FileHashAlgorithm", + "name": "IncidentLabelType", "values": [ { - "description": "Unknown hash algorithm", - "value": "Unknown" - }, - { - "description": "MD5 hash type", - "value": "MD5" - }, - { - "description": "SHA1 hash type", - "value": "SHA1" - }, - { - "description": "SHA256 hash type", - "value": "SHA256" + "description": "Label manually created by a user", + "value": "User" }, { - "description": "SHA256 Authenticode hash type", - "value": "SHA256AC" + "description": "Label automatically created by the system", + "value": "System" } ] } - }, - "hashValue": { - "description": "The file hash value.", - "readOnly": true, - "type": "string" } }, + "required": [ + "labelName" + ], "type": "object" }, - "FusionAlertRule": { - "allOf": [ - { - "$ref": "#/definitions/AlertRule" - } - ], - "description": "Represents Fusion alert rule.", + "IncidentList": { + "description": "List all the incidents.", "properties": { - "properties": { - "$ref": "#/definitions/FusionAlertRuleProperties", - "description": "Fusion alert rule properties", - "x-ms-client-flatten": true + "nextLink": { + "description": "URL to fetch the next set of incidents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of incidents.", + "items": { + "$ref": "#/definitions/Incident" + }, + "type": "array" } }, - "type": "object", - "x-ms-discriminator-value": "Fusion" + "required": [ + "value" + ] }, - "FusionAlertRuleProperties": { - "description": "Fusion alert rule base property bag.", + "IncidentOwnerInfo": { + "description": "Information on the user an incident is assigned to", "properties": { - "alertRuleTemplateName": { - "description": "The Name of the alert rule template used to create this rule.", + "email": { + "description": "The email of the user the incident is assigned to.", "type": "string" }, - "description": { - "description": "The description of the alert rule.", - "readOnly": true, + "assignedTo": { + "description": "The name of the user the incident is assigned to.", "type": "string" }, - "displayName": { - "description": "The display name for alerts created by this alert rule.", - "readOnly": true, + "objectId": { + "description": "The object id of the user the incident is assigned to.", + "format": "uuid", "type": "string" }, - "enabled": { - "description": "Determines whether this alert rule is enabled or disabled.", - "type": "boolean" - }, - "lastModifiedUtc": { - "description": "The last time that this alert has been modified.", - "format": "date-time", - "readOnly": true, + "userPrincipalName": { + "description": "The user principal name of the user the incident is assigned to.", "type": "string" - }, - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity for alerts created by this alert rule.", - "readOnly": true - }, - "tactics": { - "description": "The tactics of the alert rule", - "items": { - "$ref": "#/definitions/AttackTactic" - }, - "readOnly": true, - "type": "array" } }, - "required": [ - "alertRuleTemplateName", - "enabled" - ], "type": "object" }, - "FusionAlertRuleTemplate": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplate" - } - ], - "description": "Represents Fusion alert rule template.", - "properties": { - "properties": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" - } - ], - "description": "Fusion alert rule template properties", - "properties": { - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity for alerts created by this alert rule." - }, - "tactics": { - "description": "The tactics of the alert rule template", - "items": { - "$ref": "#/definitions/AttackTactic" - }, - "type": "array" - } - }, - "required": [ - "displayName", - "description", - "status", - "severity", - "alertRulesCreatedByTemplateCount" - ], - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "Fusion" - }, - "GeoLocation": { - "description": "The geo-location context attached to the ip entity", + "IncidentProperties": { + "description": "Describes incident properties", "properties": { - "asn": { - "description": "Autonomous System Number", - "readOnly": true, - "type": "integer" - }, - "city": { - "description": "City name", + "additionalData": { + "$ref": "#/definitions/IncidentAdditionalData", + "description": "Additional data on the incident", "readOnly": true, - "type": "string" + "type": "object" }, - "countryCode": { - "description": "The country code according to ISO 3166 format", - "readOnly": true, - "type": "string" + "classification": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } }, - "countryName": { - "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name", - "readOnly": true, + "classificationComment": { + "description": "Describes the reason the incident was closed", "type": "string" }, - "latitude": { - "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.", - "format": "double", - "readOnly": true, - "type": "number" - }, - "longitude": { - "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.", - "format": "double", - "readOnly": true, - "type": "number" + "classificationReason": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } }, - "state": { - "description": "State name", + "createdTimeUtc": { + "description": "The time the incident was created", + "format": "date-time", "readOnly": true, "type": "string" - } - }, - "readOnly": true, - "type": "object" - }, - "HostEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents a host entity.", - "properties": { - "properties": { - "$ref": "#/definitions/HostEntityProperties", - "description": "Host entity properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "Host" - }, - "HostEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "Host entity property bag.", - "properties": { - "azureID": { - "description": "The azure resource id of the VM.", - "readOnly": true, + }, + "description": { + "description": "The description of the incident", "type": "string" }, - "dnsDomain": { - "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain", - "readOnly": true, + "firstActivityTimeUtc": { + "description": "The time of the first activity in the incident", + "format": "date-time", "type": "string" }, - "hostName": { - "description": "The hostname without the domain suffix.", + "incidentUrl": { + "description": "The deep-link url to the incident in Azure portal", "readOnly": true, "type": "string" }, - "isDomainJoined": { - "description": "Determines whether this host belongs to a domain.", + "incidentNumber": { + "description": "A sequential number", "readOnly": true, - "type": "boolean" + "type": "integer" }, - "netBiosName": { - "description": "The host name (pre-windows2000).", - "readOnly": true, + "labels": { + "description": "List of labels relevant to this incident", + "items": { + "$ref": "#/definitions/IncidentLabel" + }, + "type": "array" + }, + "lastActivityTimeUtc": { + "description": "The time of the last activity in the incident", + "format": "date-time", "type": "string" }, - "ntDomain": { - "description": "The NT domain that this host belongs to.", + "lastModifiedTimeUtc": { + "description": "The last time the incident was updated", + "format": "date-time", "readOnly": true, "type": "string" }, - "omsAgentID": { - "description": "The OMS agent id, if the host has OMS agent installed.", + "owner": { + "$ref": "#/definitions/IncidentOwnerInfo", + "description": "Describes a user that the incident is assigned to", + "type": "object" + }, + "relatedAnalyticRuleIds": { + "description": "List of resource ids of Analytic rules related to the incident", + "items": { + "description": "Related Analytic rule resource id", + "type": "string" + }, "readOnly": true, - "type": "string" + "type": "array" }, - "osFamily": { - "description": "The operating system type.", + "severity": { + "description": "The severity of the incident", "enum": [ - "Linux", - "Windows", - "Android", - "IOS" + "High", + "Medium", + "Low", + "Informational" ], "type": "string", "x-ms-enum": { - "modelAsString": false, - "name": "OSFamily", + "modelAsString": true, + "name": "IncidentSeverity", "values": [ { - "description": "Host with Linux operating system.", - "value": "Linux" + "description": "High severity", + "value": "High" }, { - "description": "Host with Windows operating system.", - "value": "Windows" + "description": "Medium severity", + "value": "Medium" }, { - "description": "Host with Android operating system.", - "value": "Android" + "description": "Low severity", + "value": "Low" }, { - "description": "Host with IOS operating system.", - "value": "IOS" + "description": "Informational severity", + "value": "Informational" } ] } }, - "osVersion": { - "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration", - "readOnly": true, + "status": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "title": { + "description": "The title of the incident", "type": "string" } }, + "required": [ + "title", + "severity", + "status" + ], "type": "object" }, - "Incident": { + "IpEntity": { "allOf": [ { - "$ref": "#/definitions/ResourceWithEtag" + "$ref": "#/definitions/Entity" } ], - "description": "Represents an incident in Azure Security Insights.", + "description": "Represents an ip entity.", "properties": { "properties": { - "$ref": "#/definitions/IncidentProperties", - "description": "Incident properties", + "$ref": "#/definitions/IpEntityProperties", + "description": "Ip entity properties", "x-ms-client-flatten": true } }, - "type": "object" + "type": "object", + "x-ms-discriminator-value": "Ip" }, - "IncidentAdditionalData": { - "description": "Incident additional data property bag.", + "IpEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Ip entity property bag.", "properties": { - "alertsCount": { - "description": "The number of alerts in the incident", - "readOnly": true, - "type": "integer" - }, - "bookmarksCount": { - "description": "The number of bookmarks in the incident", - "readOnly": true, - "type": "integer" - }, - "commentsCount": { - "description": "The number of comments in the incident", + "address": { + "description": "The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)", "readOnly": true, - "type": "integer" + "type": "string" }, - "alertProductNames": { - "description": "List of product names of alerts in the incident", - "items": { - "description": "Alert product name", - "type": "string" - }, - "readOnly": true, - "type": "array" + "location": { + "$ref": "#/definitions/GeoLocation", + "description": "The geo-location context attached to the ip entity" }, - "tactics": { - "description": "The tactics associated with incident", + "threatIntelligence": { + "description": "A list of TI contexts attached to the ip entity.", "items": { - "$ref": "#/definitions/AttackTactic" + "$ref": "#/definitions/ThreatIntelligence" }, "readOnly": true, "type": "array" @@ -5958,2390 +7067,2848 @@ }, "type": "object" }, - "IncidentComment": { + "Label": { + "description": "Label that will be used to tag and filter on.", + "type": "string" + }, + "MCASDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MCASDataConnectorProperties", + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASDataConnectorDataTypes": { + "allOf": [ + { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector" + } + ], + "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "discoveryLogs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Discovery log data type connection.", + "type": "object" + } + }, + "type": "object" + }, + "MCASDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MCASDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "MCASCheckRequirements": { "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/DataConnectorsCheckRequirements" } ], - "description": "Represents an incident comment", + "description": "Represents MCAS (Microsoft Cloud App Security) requirements check request.", "properties": { "properties": { - "$ref": "#/definitions/IncidentCommentProperties", - "description": "Incident comment properties", + "$ref": "#/definitions/MCASCheckRequirementsProperties", + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", "x-ms-client-flatten": true } }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", "type": "object" }, - "IncidentCommentList": { - "description": "List of incident comments.", + "MDATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of comments.", - "readOnly": true, - "type": "string" - }, - "value": { - "description": "Array of comments.", - "items": { - "$ref": "#/definitions/IncidentComment" - }, - "type": "array" + "properties": { + "$ref": "#/definitions/MDATPDataConnectorProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true } }, - "required": [ - "value" - ] + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" }, - "IncidentCommentProperties": { - "description": "Incident comment property bag.", - "properties": { - "createdTimeUtc": { - "description": "The time the comment was created", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "message": { - "description": "The comment message", - "type": "string" + "MDATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" }, - "author": { - "$ref": "#/definitions/ClientInfo", - "description": "Describes the client that created the comment", - "readOnly": true, - "type": "object" + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" } - }, - "required": [ - "message" ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", "type": "object" }, - "IncidentLabel": { - "description": "Represents an incident label", - "properties": { - "labelName": { - "description": "The name of the label", - "type": "string" - }, - "labelType": { - "description": "The type of the label", - "enum": [ - "User", - "System" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "modelAsString": true, - "name": "IncidentLabelType", - "values": [ - { - "description": "Label manually created by a user", - "value": "User" - }, - { - "description": "Label automatically created by the system", - "value": "System" - } - ] - } + "MDATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" } - }, - "required": [ - "labelName" ], - "type": "object" - }, - "IncidentList": { - "description": "List all the incidents.", + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of incidents.", - "readOnly": true, - "type": "string" - }, - "value": { - "description": "Array of incidents.", - "items": { - "$ref": "#/definitions/Incident" - }, - "type": "array" + "properties": { + "$ref": "#/definitions/MDATPCheckRequirementsProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true } }, - "required": [ - "value" - ] + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" }, - "IncidentOwnerInfo": { - "description": "Information on the user an incident is assigned to", - "properties": { - "email": { - "description": "The email of the user the incident is assigned to.", - "type": "string" - }, - "assignedTo": { - "description": "The name of the user the incident is assigned to.", - "type": "string" - }, - "objectId": { - "description": "The object id of the user the incident is assigned to.", - "format": "uuid", - "type": "string" - }, - "userPrincipalName": { - "description": "The user principal name of the user the incident is assigned to.", - "type": "string" + "MDATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" } - }, + ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", "type": "object" }, - "IncidentProperties": { - "description": "Describes incident properties", - "properties": { - "additionalData": { - "$ref": "#/definitions/IncidentAdditionalData", - "description": "Additional data on the incident", - "readOnly": true, - "type": "object" - }, - "classification": { - "description": "The reason the incident was closed", - "enum": [ - "Undetermined", - "TruePositive", - "BenignPositive", - "FalsePositive" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "IncidentClassification", - "values": [ - { - "description": "Incident classification was undetermined", - "value": "Undetermined" - }, - { - "description": "Incident was true positive", - "value": "TruePositive" - }, - { - "description": "Incident was benign positive", - "value": "BenignPositive" - }, - { - "description": "Incident was false positive", - "value": "FalsePositive" - } - ] - } - }, - "classificationComment": { - "description": "Describes the reason the incident was closed", - "type": "string" - }, - "classificationReason": { - "description": "The classification reason the incident was closed with", - "enum": [ - "SuspiciousActivity", - "SuspiciousButExpected", - "IncorrectAlertLogic", - "InaccurateData" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "IncidentClassificationReason", - "values": [ - { - "description": "Classification reason was suspicious activity", - "value": "SuspiciousActivity" - }, - { - "description": "Classification reason was suspicious but expected", - "value": "SuspiciousButExpected" - }, - { - "description": "Classification reason was incorrect alert logic", - "value": "IncorrectAlertLogic" - }, - { - "description": "Classification reason was inaccurate data", - "value": "InaccurateData" - } - ] - } - }, - "createdTimeUtc": { - "description": "The time the incident was created", - "format": "date-time", + "MalwareEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a malware entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MalwareEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Malware" + }, + "MalwareEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Malware entity property bag.", + "properties": { + "category": { + "description": "The malware category by the vendor, e.g. Trojan", "readOnly": true, "type": "string" }, - "description": { - "description": "The description of the incident", - "type": "string" - }, - "firstActivityTimeUtc": { - "description": "The time of the first activity in the incident", - "format": "date-time", - "type": "string" + "fileEntityIds": { + "description": "List of linked file entity identifiers on which the malware was found", + "items": { + "description": "file entity id", + "type": "string" + }, + "readOnly": true, + "type": "array" }, - "incidentUrl": { - "description": "The deep-link url to the incident in Azure portal", + "malwareName": { + "description": "The malware name by the vendor, e.g. Win32/Toga!rfn", "readOnly": true, "type": "string" }, - "incidentNumber": { - "description": "A sequential number", + "processEntityIds": { + "description": "List of linked process entity identifiers on which the malware was found.", + "items": { + "description": "process entity id", + "type": "string" + }, "readOnly": true, - "type": "integer" - }, - "labels": { - "description": "List of labels relevant to this incident", + "type": "array" + } + }, + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties", + "description": "MicrosoftSecurityIncidentCreation rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": { + "description": "MicrosoftSecurityIncidentCreation rule common property bag.", + "properties": { + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", "items": { - "$ref": "#/definitions/IncidentLabel" + "type": "string" }, "type": "array" }, - "lastActivityTimeUtc": { - "description": "The time of the last activity in the incident", - "format": "date-time", - "type": "string" - }, - "lastModifiedTimeUtc": { - "description": "The last time the incident was updated", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "owner": { - "$ref": "#/definitions/IncidentOwnerInfo", - "description": "Describes a user that the incident is assigned to", - "type": "object" - }, - "relatedAnalyticRuleIds": { - "description": "List of resource ids of Analytic rules related to the incident", + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", "items": { - "description": "Related Analytic rule resource id", "type": "string" }, - "readOnly": true, "type": "array" }, - "severity": { - "description": "The severity of the incident", + "productFilter": { + "description": "The alerts' productName on which the cases will be generated", "enum": [ - "High", - "Medium", - "Low", - "Informational" + "Microsoft Cloud App Security", + "Azure Security Center", + "Azure Advanced Threat Protection", + "Azure Active Directory Identity Protection", + "Azure Security Center for IoT" ], "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "IncidentSeverity", - "values": [ - { - "description": "High severity", - "value": "High" - }, - { - "description": "Medium severity", - "value": "Medium" - }, - { - "description": "Low severity", - "value": "Low" - }, - { - "description": "Informational severity", - "value": "Informational" - } - ] + "name": "MicrosoftSecurityProductName" } }, - "status": { - "description": "The status of the incident", - "enum": [ - "New", - "Active", - "Closed" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "IncidentStatus", - "values": [ - { - "description": "An active incident which isn't being handled currently", - "value": "New" - }, - { - "description": "An active incident which is being handled", - "value": "Active" - }, - { - "description": "A non-active incident", - "value": "Closed" - } - ] - } + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "#/definitions/AlertSeverity" + }, + "type": "array" + } + }, + "required": [ + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" }, - "title": { - "description": "The title of the incident", + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, "type": "string" } }, - "required": [ - "title", - "severity", - "status" + "required": [ + "displayName", + "enabled", + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + }, + { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "required": [ + "displayName", + "description", + "createdDateUTC", + "status", + "alertRulesCreatedByTemplateCount", + "productFilter" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "OfficeATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeATPDataConnectorProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeATP" + }, + "OfficeATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", "type": "object" }, - "IpEntity": { + "OfficeATPCheckRequirements": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/DataConnectorsCheckRequirements" } ], - "description": "Represents an ip entity.", + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) requirements check request.", "properties": { "properties": { - "$ref": "#/definitions/IpEntityProperties", - "description": "Ip entity properties", + "$ref": "#/definitions/OfficeATPCheckRequirementsProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Ip" + "x-ms-discriminator-value": "OfficeATP" }, - "IpEntityProperties": { + "OfficeATPCheckRequirementsProperties": { "allOf": [ { - "$ref": "#/definitions/EntityCommonProperties" + "$ref": "#/definitions/DataConnectorTenantId" } ], - "description": "Ip entity property bag.", + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "OfficeConsent": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Consent for Office365 tenant that already made.", "properties": { - "address": { - "description": "The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)", + "properties": { + "$ref": "#/definitions/OfficeConsentProperties", + "description": "Office consent properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "OfficeConsentList": { + "description": "List of all the office365 consents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of office consents.", "readOnly": true, "type": "string" }, - "location": { - "$ref": "#/definitions/GeoLocation", - "description": "The geo-location context attached to the ip entity" - }, - "threatIntelligence": { - "description": "A list of TI contexts attached to the ip entity.", + "value": { + "description": "Array of the consents.", "items": { - "$ref": "#/definitions/ThreatIntelligence" + "$ref": "#/definitions/OfficeConsent" }, - "readOnly": true, "type": "array" } }, - "type": "object" + "required": [ + "value" + ] }, - "Label": { - "description": "Label that will be used to tag and filter on.", - "type": "string" + "OfficeConsentProperties": { + "description": "Consent property bag.", + "properties": { + "tenantId": { + "description": "The tenantId of the Office365 with the consent.", + "type": "string" + }, + "tenantName": { + "description": "The tenant name of the Office365 with the consent.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" }, - "MCASDataConnector": { + "OfficeDataConnector": { "allOf": [ { "$ref": "#/definitions/DataConnector" } ], - "description": "Represents MCAS (Microsoft Cloud App Security) data connector.", + "description": "Represents office data connector.", "properties": { "properties": { - "$ref": "#/definitions/MCASDataConnectorProperties", - "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "$ref": "#/definitions/OfficeDataConnectorProperties", + "description": "Office data connector properties.", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + "x-ms-discriminator-value": "Office365" }, - "MCASDataConnectorDataTypes": { - "allOf": [ - { - "$ref": "#/definitions/AlertsDataTypeOfDataConnector" - } - ], - "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", + "OfficeDataConnectorDataTypes": { + "description": "The available data types for office data connector.", "properties": { - "discoveryLogs": { + "exchange": { "allOf": [ { "$ref": "#/definitions/DataConnectorDataTypeCommon" } ], - "description": "Discovery log data type connection.", + "description": "Exchange data type connection.", + "type": "object" + }, + "sharePoint": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "SharePoint data type connection.", + "type": "object" + }, + "teams": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Teams data type connection.", "type": "object" } }, "type": "object" }, - "MCASDataConnectorProperties": { + "OfficeDataConnectorProperties": { "allOf": [ { "$ref": "#/definitions/DataConnectorTenantId" } ], - "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "description": "Office data connector properties.", "properties": { "dataTypes": { - "$ref": "#/definitions/MCASDataConnectorDataTypes", + "$ref": "#/definitions/OfficeDataConnectorDataTypes", "description": "The available data types for the connector." } }, "type": "object" }, - "MCASCheckRequirements": { + "Operation": { + "description": "Operation provided by provider", + "properties": { + "display": { + "description": "Properties of the operation", + "properties": { + "description": { + "description": "Description of the operation", + "type": "string" + }, + "operation": { + "description": "Operation name", + "type": "string" + }, + "provider": { + "description": "Provider name", + "type": "string" + }, + "resource": { + "description": "Resource name", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Name of the operation", + "type": "string" + } + } + }, + "OperationsList": { + "description": "Lists the operations available in the SecurityInsights RP.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of operations.", + "type": "string" + }, + "value": { + "description": "Array of operations", + "items": { + "$ref": "#/definitions/Operation" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "ProcessEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a process entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ProcessEntityProperties", + "description": "Process entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Process" + }, + "ProcessEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Process entity property bag.", + "properties": { + "accountEntityId": { + "description": "The account entity id running the processes.", + "readOnly": true, + "type": "string" + }, + "commandLine": { + "description": "The command line used to create the process", + "readOnly": true, + "type": "string" + }, + "creationTimeUtc": { + "description": "The time when the process started to run", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "elevationToken": { + "description": "The elevation token associated with the process.", + "enum": [ + "Default", + "Full", + "Limited" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "ElevationToken", + "values": [ + { + "description": "Default elevation token", + "value": "Default" + }, + { + "description": "Full elevation token", + "value": "Full" + }, + { + "description": "Limited elevation token", + "value": "Limited" + } + ] + } + }, + "hostEntityId": { + "description": "The host entity id on which the process was running", + "readOnly": true, + "type": "string" + }, + "hostLogonSessionEntityId": { + "description": "The session entity id in which the process was running", + "readOnly": true, + "type": "string" + }, + "imageFileEntityId": { + "description": "Image file entity id", + "readOnly": true, + "type": "string" + }, + "parentProcessEntityId": { + "description": "The parent process entity id.", + "readOnly": true, + "type": "string" + }, + "processId": { + "description": "The process ID", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryKeyEntity": { "allOf": [ { - "$ref": "#/definitions/DataConnectorsCheckRequirements" + "$ref": "#/definitions/Entity" } ], - "description": "Represents MCAS (Microsoft Cloud App Security) requirements check request.", + "description": "Represents a registry key entity.", "properties": { "properties": { - "$ref": "#/definitions/MCASCheckRequirementsProperties", - "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", + "$ref": "#/definitions/RegistryKeyEntityProperties", + "description": "RegistryKey entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" - }, - "MCASCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", - "type": "object" + "x-ms-discriminator-value": "RegistryKey" }, - "MDATPDataConnector": { + "RegistryKeyEntityProperties": { "allOf": [ { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.", + "description": "RegistryKey entity property bag.", "properties": { - "properties": { - "$ref": "#/definitions/MDATPDataConnectorProperties", - "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" - }, - "MDATPDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "hive": { + "description": "the hive that holds the registry key.", + "enum": [ + "HKEY_LOCAL_MACHINE", + "HKEY_CLASSES_ROOT", + "HKEY_CURRENT_CONFIG", + "HKEY_USERS", + "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "HKEY_PERFORMANCE_DATA", + "HKEY_PERFORMANCE_NLSTEXT", + "HKEY_PERFORMANCE_TEXT", + "HKEY_A", + "HKEY_CURRENT_USER" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryHive", + "values": [ + { + "description": "HKEY_LOCAL_MACHINE", + "value": "HKEY_LOCAL_MACHINE" + }, + { + "description": "HKEY_CLASSES_ROOT", + "value": "HKEY_CLASSES_ROOT" + }, + { + "description": "HKEY_CURRENT_CONFIG", + "value": "HKEY_CURRENT_CONFIG" + }, + { + "description": "HKEY_USERS", + "value": "HKEY_USERS" + }, + { + "description": "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "value": "HKEY_CURRENT_USER_LOCAL_SETTINGS" + }, + { + "description": "HKEY_PERFORMANCE_DATA", + "value": "HKEY_PERFORMANCE_DATA" + }, + { + "description": "HKEY_PERFORMANCE_NLSTEXT", + "value": "HKEY_PERFORMANCE_NLSTEXT" + }, + { + "description": "HKEY_PERFORMANCE_TEXT", + "value": "HKEY_PERFORMANCE_TEXT" + }, + { + "description": "HKEY_A", + "value": "HKEY_A" + }, + { + "description": "HKEY_CURRENT_USER", + "value": "HKEY_CURRENT_USER" + } + ] + } }, - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" - } - ], - "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", - "type": "object" - }, - "MDATPCheckRequirements": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorsCheckRequirements" - } - ], - "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.", - "properties": { - "properties": { - "$ref": "#/definitions/MDATPCheckRequirementsProperties", - "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", - "x-ms-client-flatten": true + "key": { + "description": "The registry key path.", + "readOnly": true, + "type": "string" } }, - "type": "object", - "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" - }, - "MDATPCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", "type": "object" }, - "MalwareEntity": { + "RegistryValueEntity": { "allOf": [ { "$ref": "#/definitions/Entity" } ], - "description": "Represents a malware entity.", + "description": "Represents a registry value entity.", "properties": { "properties": { - "$ref": "#/definitions/MalwareEntityProperties", - "description": "File entity properties", + "$ref": "#/definitions/RegistryValueEntityProperties", + "description": "RegistryKey entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Malware" + "x-ms-discriminator-value": "RegistryValue" }, - "MalwareEntityProperties": { + "RegistryValueEntityProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "Malware entity property bag.", + "description": "RegistryValue entity property bag.", "properties": { - "category": { - "description": "The malware category by the vendor, e.g. Trojan", + "keyEntityId": { + "description": "The registry key entity id.", "readOnly": true, "type": "string" }, - "fileEntityIds": { - "description": "List of linked file entity identifiers on which the malware was found", - "items": { - "description": "file entity id", - "type": "string" - }, + "valueData": { + "description": "String formatted representation of the value data.", "readOnly": true, - "type": "array" + "type": "string" }, - "malwareName": { - "description": "The malware name by the vendor, e.g. Win32/Toga!rfn", + "valueName": { + "description": "The registry value name.", "readOnly": true, "type": "string" }, - "processEntityIds": { - "description": "List of linked process entity identifiers on which the malware was found.", - "items": { - "description": "process entity id", - "type": "string" - }, + "valueType": { + "description": "Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.", + "enum": [ + "None", + "Unknown", + "String", + "ExpandString", + "Binary", + "DWord", + "MultiString", + "QWord" + ], "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "MicrosoftSecurityIncidentCreationAlertRule": { - "allOf": [ - { - "$ref": "#/definitions/AlertRule" - } - ], - "description": "Represents MicrosoftSecurityIncidentCreation rule.", - "properties": { - "properties": { - "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties", - "description": "MicrosoftSecurityIncidentCreation rule properties", - "x-ms-client-flatten": true + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryValueKind", + "values": [ + { + "description": "None", + "value": "None" + }, + { + "description": "Unknown value type", + "value": "Unknown" + }, + { + "description": "String value type", + "value": "String" + }, + { + "description": "ExpandString value type", + "value": "ExpandString" + }, + { + "description": "Binary value type", + "value": "Binary" + }, + { + "description": "DWord value type", + "value": "DWord" + }, + { + "description": "MultiString value type", + "value": "MultiString" + }, + { + "description": "QWord value type", + "value": "QWord" + } + ] + } } }, - "type": "object", - "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + "type": "object" }, - "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": { - "description": "MicrosoftSecurityIncidentCreation rule common property bag.", + "RelationList": { + "description": "List of relations.", "properties": { - "displayNamesFilter": { - "description": "the alerts' displayNames on which the cases will be generated", - "items": { - "type": "string" - }, - "type": "array" + "nextLink": { + "readOnly": true, + "description": "URL to fetch the next set of relations.", + "type": "string" }, - "displayNamesExcludeFilter": { - "description": "the alerts' displayNames on which the cases will not be generated", + "value": { + "description": "Array of relations.", + "type": "array", "items": { - "type": "string" - }, - "type": "array" - }, - "productFilter": { - "description": "The alerts' productName on which the cases will be generated", - "enum": [ - "Microsoft Cloud App Security", - "Azure Security Center", - "Azure Advanced Threat Protection", - "Azure Active Directory Identity Protection", - "Azure Security Center for IoT" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "MicrosoftSecurityProductName" + "$ref": "#/definitions/Relation" } - }, - "severitiesFilter": { - "description": "the alerts' severities on which the cases will be generated", - "items": { - "$ref": "#/definitions/AlertSeverity" - }, - "type": "array" } }, "required": [ - "productFilter" - ], - "type": "object" + "value" + ] }, - "MicrosoftSecurityIncidentCreationAlertRuleProperties": { + "Relation": { + "type": "object", + "description": "Represents a relation between two resources", "allOf": [ { - "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "MicrosoftSecurityIncidentCreation rule property bag.", "properties": { - "alertRuleTemplateName": { - "description": "The Name of the alert rule template used to create this rule.", + "properties": { + "$ref": "#/definitions/RelationProperties", + "description": "Relation properties", + "x-ms-client-flatten": true + } + } + }, + "RelationProperties": { + "description": "Relation property bag.", + "properties": { + "relatedResourceId": { + "description": "The resource ID of the related resource", "type": "string" }, - "description": { - "description": "The description of the alert rule.", + "relatedResourceName": { + "description": "The name of the related resource", + "readOnly": true, "type": "string" }, - "displayName": { - "description": "The display name for alerts created by this alert rule.", + "relatedResourceType": { + "description": "The resource type of the related resource", + "readOnly": true, "type": "string" }, - "enabled": { - "description": "Determines whether this alert rule is enabled or disabled.", - "type": "boolean" - }, - "lastModifiedUtc": { - "description": "The last time that this alert has been modified.", - "format": "date-time", + "relatedResourceKind": { + "description": "The resource kind of the related resource", "readOnly": true, "type": "string" } }, "required": [ - "displayName", - "enabled", - "productFilter" - ], - "type": "object" - }, - "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplate" - } - ], - "description": "Represents MicrosoftSecurityIncidentCreation rule template.", - "properties": { - "properties": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" - }, - { - "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" - } - ], - "description": "MicrosoftSecurityIncidentCreation rule template properties", - "required": [ - "displayName", - "description", - "createdDateUTC", - "status", - "alertRulesCreatedByTemplateCount", - "productFilter" - ], - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" - }, - "OfficeConsent": { - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "relatedResourceId" ], - "description": "Consent for Office365 tenant that already made.", - "properties": { - "properties": { - "$ref": "#/definitions/OfficeConsentProperties", - "description": "Office consent properties", - "x-ms-client-flatten": true - } - }, "type": "object" }, - "OfficeConsentList": { - "description": "List of all the office365 consents.", + "Resource": { + "description": "An azure resource object", "properties": { - "nextLink": { - "description": "URL to fetch the next set of office consents.", + "id": { + "description": "Azure resource Id", "readOnly": true, "type": "string" }, - "value": { - "description": "Array of the consents.", - "items": { - "$ref": "#/definitions/OfficeConsent" - }, - "type": "array" + "name": { + "description": "Azure resource name", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Azure resource type", + "readOnly": true, + "type": "string" } }, - "required": [ - "value" - ] + "x-ms-azure-resource": true }, - "OfficeConsentProperties": { - "description": "Consent property bag.", + "ResourceWithEtag": { + "description": "An azure resource object with an Etag property", "properties": { - "tenantId": { - "description": "The tenantId of the Office365 with the consent.", + "id": { + "description": "Azure resource Id", + "readOnly": true, "type": "string" }, - "tenantName": { - "description": "The tenant name of the Office365 with the consent.", + "name": { + "description": "Azure resource name", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Azure resource type", "readOnly": true, "type": "string" + }, + "etag": { + "description": "Etag of the azure resource", + "type": "string" } }, - "type": "object" + "x-ms-azure-resource": true }, - "OfficeDataConnector": { + "ScheduledAlertRule": { "allOf": [ { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/AlertRule" } ], - "description": "Represents office data connector.", + "description": "Represents scheduled alert rule.", "properties": { "properties": { - "$ref": "#/definitions/OfficeDataConnectorProperties", - "description": "Office data connector properties.", + "$ref": "#/definitions/ScheduledAlertRuleProperties", + "description": "Scheduled alert rule properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Office365" + "x-ms-discriminator-value": "Scheduled" }, - "OfficeDataConnectorDataTypes": { - "description": "The available data types for office data connector.", + "ScheduledAlertRuleCommonProperties": { + "description": "Schedule alert rule template property bag.", "properties": { - "exchange": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Exchange data type connection.", - "type": "object" + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" }, - "sharePoint": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "SharePoint data type connection.", - "type": "object" + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "type": "integer" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + } + }, + "type": "object" + }, + "EventGroupingSettings": { + "description": "Event grouping settings property bag.", + "properties": { + "aggregationKind": { + "$ref": "#/definitions/EventGroupingAggregationKind" } }, "type": "object" }, - "OfficeDataConnectorProperties": { + "EventGroupingAggregationKind": { + "description": "The event grouping aggregation kinds", + "enum": [ + "SingleAlert", + "AlertPerResult" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EventGroupingAggregationKind" + } + }, + "ScheduledAlertRuleProperties": { "allOf": [ { - "$ref": "#/definitions/DataConnectorTenantId" + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" } ], - "description": "Office data connector properties.", - "properties": { - "dataTypes": { - "$ref": "#/definitions/OfficeDataConnectorDataTypes", - "description": "The available data types for the connector." - } - }, - "type": "object" - }, - "Operation": { - "description": "Operation provided by provider", + "description": "Scheduled alert rule base property bag.", "properties": { - "display": { - "description": "Properties of the operation", - "properties": { - "description": { - "description": "Description of the operation", - "type": "string" - }, - "operation": { - "description": "Operation name", - "type": "string" - }, - "provider": { - "description": "Provider name", - "type": "string" - }, - "resource": { - "description": "Resource name", - "type": "string" - } - }, - "type": "object" + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" }, - "name": { - "description": "Name of the operation", + "description": { + "description": "The description of the alert rule.", "type": "string" - } - } - }, - "OperationsList": { - "description": "Lists the operations available in the SecurityInsights RP.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of operations.", + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", "type": "string" }, - "value": { - "description": "Array of operations", + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert rule has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "suppressionDuration": { + "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", + "format": "duration", + "type": "string" + }, + "suppressionEnabled": { + "description": "Determines whether the suppression for this alert rule is enabled or disabled.", + "type": "boolean" + }, + "tactics": { + "description": "The tactics of the alert rule", "items": { - "$ref": "#/definitions/Operation" + "$ref": "#/definitions/AttackTactic" }, "type": "array" + }, + "incidentConfiguration": { + "$ref": "#/definitions/IncidentConfiguration", + "description": "The settings of the incidents that created from alerts triggered by this analytics rule" } }, "required": [ - "value" - ] + "displayName", + "enabled", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "suppressionEnabled", + "suppressionDuration" + ], + "type": "object" }, - "ProcessEntity": { + "ScheduledAlertRuleTemplate": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/AlertRuleTemplate" } ], - "description": "Represents a process entity.", + "description": "Represents scheduled alert rule template.", "properties": { "properties": { - "$ref": "#/definitions/ProcessEntityProperties", - "description": "Process entity properties", + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + }, + { + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" + } + ], + "description": "Scheduled alert rule template properties", + "properties": { + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "type": "array" + } + }, + "required": [ + "displayName", + "description", + "status", + "alertRulesCreatedByTemplateCount", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold" + ], "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Process" + "x-ms-discriminator-value": "Scheduled" }, - "ProcessEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" + "IncidentConfiguration": { + "description": "Incident Configuration property bag.", + "properties": { + "createIncident": { + "description": "Create incidents from alerts triggered by this analytics rule", + "type": "boolean" + }, + "groupingConfiguration": { + "$ref": "#/definitions/GroupingConfiguration", + "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents" } - ], - "description": "Process entity property bag.", + }, + "type": "object", + "required": [ + "createIncident" + ] + }, + "GroupingConfiguration": { + "description": "Grouping configuration property bag.", "properties": { - "accountEntityId": { - "description": "The account entity id running the processes.", - "readOnly": true, - "type": "string" + "enabled": { + "description": "Grouping enabled", + "type": "boolean" }, - "commandLine": { - "description": "The command line used to create the process", - "readOnly": true, - "type": "string" + "reopenClosedIncident": { + "description": "Re-open closed matching incidents", + "type": "boolean" }, - "creationTimeUtc": { - "description": "The time when the process started to run", - "format": "date-time", - "readOnly": true, + "lookbackDuration": { + "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)", + "format": "duration", "type": "string" }, - "elevationToken": { - "description": "The elevation token associated with the process.", + "entitiesMatchingMethod": { + "description": "Grouping matching method", "enum": [ - "Default", - "Full", - "Limited" + "All", + "None", + "Custom" ], "type": "string", "x-ms-enum": { - "modelAsString": false, - "name": "ElevationToken", + "modelAsString": true, + "name": "EntitiesMatchingMethod", "values": [ { - "description": "Default elevation token", - "value": "Default" + "description": "Grouping alerts into a single incident if all the entities match", + "value": "All" }, { - "description": "Full elevation token", - "value": "Full" + "description": "Grouping all alerts triggered by this rule into a single incident", + "value": "None" }, { - "description": "Limited elevation token", - "value": "Limited" + "description": "Grouping alerts into a single incident if the selected entities match", + "value": "Custom" } ] } }, - "hostEntityId": { - "description": "The host entity id on which the process was running", - "readOnly": true, - "type": "string" - }, - "hostLogonSessionEntityId": { - "description": "The session entity id in which the process was running", - "readOnly": true, - "type": "string" - }, - "imageFileEntityId": { - "description": "Image file entity id", - "readOnly": true, - "type": "string" - }, - "parentProcessEntityId": { - "description": "The parent process entity id.", - "readOnly": true, - "type": "string" - }, - "processId": { - "description": "The process ID", - "readOnly": true, - "type": "string" + "groupByEntities": { + "description": "A list of entity types to group by (when entitiesMatchingMethod is Custom)", + "items": { + "description": "Grouping entity type", + "enum": [ + "Account", + "Host", + "Ip", + "Url" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "GroupingEntityType", + "values": [ + { + "description": "Account entity", + "value": "Account" + }, + { + "description": "Host entity", + "value": "Host" + }, + { + "description": "Ip entity", + "value": "Ip" + }, + { + "description": "Url entity", + "value": "Url" + } + ] + } + }, + "type": "array" } }, - "type": "object" + "type": "object", + "required": [ + "enabled", + "reopenClosedIncident", + "lookbackDuration", + "entitiesMatchingMethod" + ] }, - "RegistryKeyEntity": { + "SecurityAlert": { "allOf": [ { "$ref": "#/definitions/Entity" } ], - "description": "Represents a registry key entity.", + "description": "Represents a security alert entity.", "properties": { "properties": { - "$ref": "#/definitions/RegistryKeyEntityProperties", - "description": "RegistryKey entity properties", + "$ref": "#/definitions/SecurityAlertProperties", + "description": "SecurityAlert entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "RegistryKey" + "x-ms-discriminator-value": "SecurityAlert" }, - "RegistryKeyEntityProperties": { + "SecurityAlertProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "RegistryKey entity property bag.", + "description": "SecurityAlert entity property bag.", "properties": { - "hive": { - "description": "the hive that holds the registry key.", + "alertDisplayName": { + "description": "The display name of the alert.", + "readOnly": true, + "type": "string" + }, + "alertType": { + "description": "The type name of the alert.", + "readOnly": true, + "type": "string" + }, + "compromisedEntity": { + "description": "Display name of the main entity being reported on.", + "readOnly": true, + "type": "string" + }, + "confidenceLevel": { + "description": "The confidence level of this alert.", "enum": [ - "HKEY_LOCAL_MACHINE", - "HKEY_CLASSES_ROOT", - "HKEY_CURRENT_CONFIG", - "HKEY_USERS", - "HKEY_CURRENT_USER_LOCAL_SETTINGS", - "HKEY_PERFORMANCE_DATA", - "HKEY_PERFORMANCE_NLSTEXT", - "HKEY_PERFORMANCE_TEXT", - "HKEY_A", - "HKEY_CURRENT_USER" + "Unknown", + "Low", + "High" ], "readOnly": true, "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "RegistryHive", + "name": "ConfidenceLevel", "values": [ { - "description": "HKEY_LOCAL_MACHINE", - "value": "HKEY_LOCAL_MACHINE" - }, - { - "description": "HKEY_CLASSES_ROOT", - "value": "HKEY_CLASSES_ROOT" - }, - { - "description": "HKEY_CURRENT_CONFIG", - "value": "HKEY_CURRENT_CONFIG" - }, - { - "description": "HKEY_USERS", - "value": "HKEY_USERS" + "description": "Unknown confidence, the is the default value", + "value": "Unknown" }, { - "description": "HKEY_CURRENT_USER_LOCAL_SETTINGS", - "value": "HKEY_CURRENT_USER_LOCAL_SETTINGS" + "description": "Low confidence, meaning we have some doubts this is indeed malicious or part of an attack", + "value": "Low" }, { - "description": "HKEY_PERFORMANCE_DATA", - "value": "HKEY_PERFORMANCE_DATA" + "description": "High confidence that the alert is true positive malicious", + "value": "High" + } + ] + } + }, + "confidenceReasons": { + "description": "The confidence reasons", + "items": { + "description": "confidence reason item", + "properties": { + "reason": { + "description": "The reason's description", + "readOnly": true, + "type": "string" }, + "reasonType": { + "description": "The type (category) of the reason", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "confidenceScore": { + "description": "The confidence score of the alert.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "confidenceScoreStatus": { + "description": "The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final.", + "enum": [ + "NotApplicable", + "InProcess", + "NotFinal", + "Final" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceScoreStatus", + "values": [ { - "description": "HKEY_PERFORMANCE_NLSTEXT", - "value": "HKEY_PERFORMANCE_NLSTEXT" + "description": "Score will not be calculated for this alert as it is not supported by virtual analyst", + "value": "NotApplicable" }, { - "description": "HKEY_PERFORMANCE_TEXT", - "value": "HKEY_PERFORMANCE_TEXT" + "description": "No score was set yet and calculation is in progress", + "value": "InProcess" }, { - "description": "HKEY_A", - "value": "HKEY_A" + "description": "Score is calculated and shown as part of the alert, but may be updated again at a later time following the processing of additional data", + "value": "NotFinal" }, { - "description": "HKEY_CURRENT_USER", - "value": "HKEY_CURRENT_USER" + "description": "Final score was calculated and available", + "value": "Final" } ] } }, - "key": { - "description": "The registry key path.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "RegistryValueEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents a registry value entity.", - "properties": { - "properties": { - "$ref": "#/definitions/RegistryValueEntityProperties", - "description": "RegistryKey entity properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "RegistryValue" - }, - "RegistryValueEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "RegistryValue entity property bag.", - "properties": { - "keyEntityId": { - "description": "The registry key entity id.", - "readOnly": true, - "type": "string" - }, - "valueData": { - "description": "String formatted representation of the value data.", + "description": { + "description": "Alert description.", "readOnly": true, "type": "string" }, - "valueName": { - "description": "The registry value name.", + "endTimeUtc": { + "description": "The impact end time of the alert (the time of the last event contributing to the alert).", + "format": "date-time", "readOnly": true, "type": "string" }, - "valueType": { - "description": "Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.", + "intent": { + "description": "Holds the alert intent stage(s) mapping for this alert.", "enum": [ - "None", "Unknown", - "String", - "ExpandString", - "Binary", - "DWord", - "MultiString", - "QWord" + "Probing", + "Exploitation", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact" ], "readOnly": true, "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "RegistryValueKind", + "name": "KillChainIntent", "values": [ { - "description": "None", - "value": "None" + "description": "The default value.", + "value": "Unknown" + }, + { + "description": "Probing could be an attempt to access a certain resource regardless of a malicious intent or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt originating from outside the network in attempt to scan the target system and find a way in.", + "value": "Probing" + }, + { + "description": "Exploitation is the stage where an attacker manage to get foothold on the attacked resource. This stage is applicable not only for compute hosts, but also for resources such as user accounts, certificates etc. Adversaries will often be able to control the resource after this stage.", + "value": "Exploitation" + }, + { + "description": "Persistence is any access, action, or configuration change to a system that gives an adversary a persistent presence on that system. Adversaries will often need to maintain access to systems through interruptions such as system restarts, loss of credentials, or other failures that would require a remote access tool to restart or alternate backdoor for them to regain access.", + "value": "Persistence" + }, + { + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network. Certain tools or actions require a higher level of privilege to work and are likely necessary at many points throughout an operation. User accounts with permissions to access specific systems or perform specific functions necessary for adversaries to achieve their objective may also be considered an escalation of privilege.", + "value": "PrivilegeEscalation" + }, + { + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques in other categories that have the added benefit of subverting a particular defense or mitigation. ", + "value": "DefenseEvasion" + }, + { + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment. Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts (local system administrator or domain users with administrator access) to use within the network. With sufficient access within a network, an adversary can create accounts for later use within the environment.", + "value": "CredentialAccess" }, { - "description": "Unknown value type", - "value": "Unknown" + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.", + "value": "Discovery" }, { - "description": "String value type", - "value": "String" + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems. The lateral movement techniques could allow an adversary to gather information from a system without needing additional tools, such as a remote access tool. An adversary can use lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, access to specific information or files, access to additional credentials, or to cause an effect.", + "value": "LateralMovement" }, { - "description": "ExpandString value type", - "value": "ExpandString" + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system. This tactic is often used in conjunction with lateral movement to expand access to remote systems on a network.", + "value": "Execution" }, { - "description": "Binary value type", - "value": "Binary" + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Collection" }, { - "description": "DWord value type", - "value": "DWord" + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Exfiltration" }, { - "description": "MultiString value type", - "value": "MultiString" + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network.", + "value": "CommandAndControl" }, { - "description": "QWord value type", - "value": "QWord" + "description": "The impact intent primary objective is to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process. This would often refer to techniques such as ransom-ware, defacement, data manipulation and others.", + "value": "Impact" } ] } - } - }, - "type": "object" - }, - "RelationList": { - "description": "List of relations.", - "properties": { - "nextLink": { - "readOnly": true, - "description": "URL to fetch the next set of relations.", - "type": "string" - }, - "value": { - "description": "Array of relations.", - "type": "array", - "items": { - "$ref": "#/definitions/Relation" - } - } - }, - "required": [ - "value" - ] - }, - "Relation": { - "type": "object", - "description": "Represents a relation between two resources", - "allOf": [ - { - "$ref": "#/definitions/ResourceWithEtag" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RelationProperties", - "description": "Relation properties", - "x-ms-client-flatten": true - } - } - }, - "RelationProperties": { - "description": "Relation property bag.", - "properties": { - "relatedResourceId": { - "description": "The resource ID of the related resource", - "type": "string" }, - "relatedResourceName": { - "description": "The name of the related resource", - "readOnly": true, - "type": "string" - }, - "relatedResourceType": { - "description": "The resource type of the related resource", + "providerAlertId": { + "description": "The identifier of the alert inside the product which generated the alert.", "readOnly": true, "type": "string" }, - "relatedResourceKind": { - "description": "The resource kind of the related resource", - "readOnly": true, - "type": "string" - } - }, - "required": [ - "relatedResourceId" - ], - "type": "object" - }, - "Resource": { - "description": "An azure resource object", - "properties": { - "id": { - "description": "Azure resource Id", + "processingEndTime": { + "description": "The time the alert was made available for consumption.", + "format": "date-time", "readOnly": true, "type": "string" }, - "name": { - "description": "Azure resource name", + "productComponentName": { + "description": "The name of a component inside the product which generated the alert.", "readOnly": true, "type": "string" }, - "type": { - "description": "Azure resource type", - "readOnly": true, - "type": "string" - } - }, - "x-ms-azure-resource": true - }, - "ResourceWithEtag": { - "description": "An azure resource object with an Etag property", - "properties": { - "id": { - "description": "Azure resource Id", + "productName": { + "description": "The name of the product which published this alert.", "readOnly": true, "type": "string" }, - "name": { - "description": "Azure resource name", + "productVersion": { + "description": "The version of the product generating the alert.", "readOnly": true, "type": "string" }, - "type": { - "description": "Azure resource type", + "remediationSteps": { + "description": "Manual action items to take to remediate the alert.", + "items": { + "type": "string" + }, "readOnly": true, - "type": "string" - }, - "etag": { - "description": "Etag of the azure resource", - "type": "string" - } - }, - "x-ms-azure-resource": true - }, - "ScheduledAlertRule": { - "allOf": [ - { - "$ref": "#/definitions/AlertRule" - } - ], - "description": "Represents scheduled alert rule.", - "properties": { - "properties": { - "$ref": "#/definitions/ScheduledAlertRuleProperties", - "description": "Scheduled alert rule properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "Scheduled" - }, - "ScheduledAlertRuleCommonProperties": { - "description": "Schedule alert rule template property bag.", - "properties": { - "query": { - "description": "The query that creates alerts for this rule.", - "type": "string" - }, - "queryFrequency": { - "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", - "format": "duration", - "type": "string" - }, - "queryPeriod": { - "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", - "format": "duration", - "type": "string" + "type": "array" }, "severity": { "$ref": "#/definitions/AlertSeverity", - "description": "The severity for alerts created by this alert rule." - }, - "triggerOperator": { - "$ref": "#/definitions/AlertRuleTriggerOperator", - "description": "The operation against the threshold that triggers alert rule." + "description": "The severity of the alert" }, - "triggerThreshold": { - "description": "The threshold triggers this alert rule.", - "type": "integer" - } - }, - "type": "object" - }, - "ScheduledAlertRuleProperties": { - "allOf": [ - { - "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" - } - ], - "description": "Scheduled alert rule base property bag.", - "properties": { - "alertRuleTemplateName": { - "description": "The Name of the alert rule template used to create this rule.", + "startTimeUtc": { + "description": "The impact start time of the alert (the time of the first event contributing to the alert).", + "format": "date-time", + "readOnly": true, "type": "string" }, - "description": { - "description": "The description of the alert rule.", - "type": "string" + "status": { + "description": "The lifecycle status of the alert.", + "enum": [ + "Unknown", + "New", + "Resolved", + "Dismissed", + "InProgress" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertStatus", + "values": [ + { + "description": "Unknown value", + "value": "Unknown" + }, + { + "description": "New alert", + "value": "New" + }, + { + "description": "Alert closed after handling", + "value": "Resolved" + }, + { + "description": "Alert dismissed as false positive", + "value": "Dismissed" + }, + { + "description": "Alert is being handled", + "value": "InProgress" + } + ] + } }, - "displayName": { - "description": "The display name for alerts created by this alert rule.", + "systemAlertId": { + "description": "Holds the product identifier of the alert for the product.", + "readOnly": true, "type": "string" }, - "enabled": { - "description": "Determines whether this alert rule is enabled or disabled.", - "type": "boolean" + "tactics": { + "description": "The tactics of the alert", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" }, - "lastModifiedUtc": { - "description": "The last time that this alert rule has been modified.", + "timeGenerated": { + "description": "The time the alert was generated.", "format": "date-time", "readOnly": true, "type": "string" }, - "suppressionDuration": { - "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", - "format": "duration", + "vendorName": { + "description": "The name of the vendor that raise the alert.", + "readOnly": true, "type": "string" }, - "suppressionEnabled": { - "description": "Determines whether the suppression for this alert rule is enabled or disabled.", - "type": "boolean" + "alertLink": { + "description": "The uri link of the alert.", + "readOnly": true, + "type": "string" }, - "tactics": { - "description": "The tactics of the alert rule", + "resourceIdentifiers": { + "description": "The list of resource identifiers of the alert.", "items": { - "$ref": "#/definitions/AttackTactic" + "type": "object" }, + "readOnly": true, "type": "array" - }, - "incidentConfiguration": { - "$ref": "#/definitions/IncidentConfiguration", - "description": "The settings of the incidents that created from alerts triggered by this analytics rule" } }, - "required": [ - "displayName", - "enabled", - "severity", - "query", - "queryFrequency", - "queryPeriod", - "triggerOperator", - "triggerThreshold", - "suppressionEnabled", - "suppressionDuration" - ], "type": "object" }, - "ScheduledAlertRuleTemplate": { + "SecurityGroupEntity": { "allOf": [ { - "$ref": "#/definitions/AlertRuleTemplate" + "$ref": "#/definitions/Entity" } ], - "description": "Represents scheduled alert rule template.", + "description": "Represents a security group entity.", "properties": { "properties": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" - }, - { - "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" - } - ], - "description": "Scheduled alert rule template properties", - "properties": { - "tactics": { - "description": "The tactics of the alert rule template", - "items": { - "$ref": "#/definitions/AttackTactic" - }, - "type": "array" - } - }, - "required": [ - "displayName", - "description", - "status", - "alertRulesCreatedByTemplateCount", - "severity", - "query", - "queryFrequency", - "queryPeriod", - "triggerOperator", - "triggerThreshold" - ], + "$ref": "#/definitions/SecurityGroupEntityProperties", + "description": "SecurityGroup entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Scheduled" + "x-ms-discriminator-value": "SecurityGroup" }, - "IncidentConfiguration": { - "description": "Incident Configuration property bag.", + "SecurityGroupEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityGroup entity property bag.", "properties": { - "createIncident": { - "description": "Create incidents from alerts triggered by this analytics rule", - "type": "boolean" + "distinguishedName": { + "description": "The group distinguished name", + "readOnly": true, + "type": "string" }, - "groupingConfiguration": { - "$ref": "#/definitions/GroupingConfiguration", - "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents" + "objectGuid": { + "description": "A single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SettingList": { + "description": "List of all the settings.", + "properties": { + "value": { + "description": "Array of settings.", + "items": { + "$ref": "#/definitions/Settings" + }, + "type": "array" } }, - "type": "object", "required": [ - "createIncident" + "value" ] }, - "GroupingConfiguration": { - "description": "Grouping configuration property bag.", - "properties": { - "enabled": { - "description": "Grouping enabled", - "type": "boolean" - }, - "reopenClosedIncident": { - "description": "Re-open closed matching incidents", - "type": "boolean" - }, - "lookbackDuration": { - "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)", - "format": "duration", - "type": "string" + "Settings": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" }, - "entitiesMatchingMethod": { - "description": "Grouping matching method", + { + "$ref": "#/definitions/SettingsKind" + } + ], + "description": "The Setting.", + "discriminator": "kind", + "type": "object" + }, + "SettingsKind": { + "description": "Describes an Azure resource with kind.", + "properties": { + "kind": { + "description": "The kind of the setting", "enum": [ - "All", - "None", - "Custom" + "EyesOn", + "EntityAnalytics", + "Ueba" ], "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "EntitiesMatchingMethod", - "values": [ - { - "description": "Grouping alerts into a single incident if all the entities match", - "value": "All" - }, - { - "description": "Grouping all alerts triggered by this rule into a single incident", - "value": "None" - }, - { - "description": "Grouping alerts into a single incident if the selected entities match", - "value": "Custom" - } - ] + "name": "SettingKind" } - }, - "groupByEntities": { - "description": "A list of entity types to group by (when entitiesMatchingMethod is Custom)", - "items": { - "description": "Grouping entity type", - "enum": [ - "Account", - "Host", - "Ip", - "Url" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "GroupingEntityType", - "values": [ - { - "description": "Account entity", - "value": "Account" - }, - { - "description": "Host entity", - "value": "Host" - }, - { - "description": "Ip entity", - "value": "Ip" - }, - { - "description": "Url entity", - "value": "Url" - } - ] + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "TIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents threat intelligence data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/TIDataConnectorProperties", + "description": "TI (Threat Intelligence) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TIDataConnectorDataTypes": { + "description": "The available data types for TI (Threat Intelligence) data connector.", + "properties": { + "indicators": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" } - }, - "type": "array" + ], + "description": "Data type for indicators connection.", + "type": "object" + } + }, + "type": "object" + }, + "TIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "TI (Threat Intelligence) data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/TIDataConnectorDataTypes", + "description": "The available data types for the connector." } }, - "type": "object", - "required": [ - "enabled", - "reopenClosedIncident", - "lookbackDuration", - "entitiesMatchingMethod" - ] + "type": "object" }, - "SecurityAlert": { + "TICheckRequirements": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/DataConnectorsCheckRequirements" } ], - "description": "Represents a security alert entity.", + "description": "Represents threat intelligence requirements check request.", "properties": { "properties": { - "$ref": "#/definitions/SecurityAlertProperties", - "description": "SecurityAlert entity properties", + "$ref": "#/definitions/TICheckRequirementsProperties", + "description": "TI (Threat Intelligence) requirements check properties.", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "SecurityAlert" + "x-ms-discriminator-value": "ThreatIntelligence" }, - "SecurityAlertProperties": { + "TICheckRequirementsProperties": { "allOf": [ { - "$ref": "#/definitions/EntityCommonProperties" + "$ref": "#/definitions/DataConnectorTenantId" } ], - "description": "SecurityAlert entity property bag.", + "description": "TI (Threat Intelligence) requirements check properties.", + "properties": {}, + "type": "object" + }, + "TiTaxiiDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents threat intelligence taxii data connector.", "properties": { - "alertDisplayName": { - "description": "The display name of the alert.", - "readOnly": true, - "type": "string" - }, - "alertType": { - "description": "The type name of the alert.", - "readOnly": true, - "type": "string" - }, - "compromisedEntity": { - "description": "Display name of the main entity being reported on.", - "readOnly": true, - "type": "string" - }, - "confidenceLevel": { - "description": "The confidence level of this alert.", - "enum": [ - "Unknown", - "Low", - "High" - ], - "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "ConfidenceLevel", - "values": [ - { - "description": "Unknown confidence, the is the default value", - "value": "Unknown" - }, - { - "description": "Low confidence, meaning we have some doubts this is indeed malicious or part of an attack", - "value": "Low" - }, - { - "description": "High confidence that the alert is true positive malicious", - "value": "High" - } - ] - } - }, - "confidenceReasons": { - "description": "The confidence reasons", - "items": { - "description": "confidence reason item", - "properties": { - "reason": { - "description": "The reason's description", - "readOnly": true, - "type": "string" - }, - "reasonType": { - "description": "The type (category) of the reason", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "readOnly": true, - "type": "array" - }, - "confidenceScore": { - "description": "The confidence score of the alert.", - "format": "double", - "readOnly": true, - "type": "number" - }, - "confidenceScoreStatus": { - "description": "The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final.", - "enum": [ - "NotApplicable", - "InProcess", - "NotFinal", - "Final" - ], - "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "ConfidenceScoreStatus", - "values": [ - { - "description": "Score will not be calculated for this alert as it is not supported by virtual analyst", - "value": "NotApplicable" - }, - { - "description": "No score was set yet and calculation is in progress", - "value": "InProcess" - }, - { - "description": "Score is calculated and shown as part of the alert, but may be updated again at a later time following the processing of additional data", - "value": "NotFinal" - }, - { - "description": "Final score was calculated and available", - "value": "Final" - } - ] - } - }, - "description": { - "description": "Alert description.", - "readOnly": true, - "type": "string" - }, - "endTimeUtc": { - "description": "The impact end time of the alert (the time of the last event contributing to the alert).", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "intent": { - "description": "Holds the alert intent stage(s) mapping for this alert.", - "enum": [ - "Unknown", - "Probing", - "Exploitation", - "Persistence", - "PrivilegeEscalation", - "DefenseEvasion", - "CredentialAccess", - "Discovery", - "LateralMovement", - "Execution", - "Collection", - "Exfiltration", - "CommandAndControl", - "Impact" - ], - "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "KillChainIntent", - "values": [ - { - "description": "The default value.", - "value": "Unknown" - }, - { - "description": "Probing could be an attempt to access a certain resource regardless of a malicious intent or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt originating from outside the network in attempt to scan the target system and find a way in.", - "value": "Probing" - }, - { - "description": "Exploitation is the stage where an attacker manage to get foothold on the attacked resource. This stage is applicable not only for compute hosts, but also for resources such as user accounts, certificates etc. Adversaries will often be able to control the resource after this stage.", - "value": "Exploitation" - }, - { - "description": "Persistence is any access, action, or configuration change to a system that gives an adversary a persistent presence on that system. Adversaries will often need to maintain access to systems through interruptions such as system restarts, loss of credentials, or other failures that would require a remote access tool to restart or alternate backdoor for them to regain access.", - "value": "Persistence" - }, - { - "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network. Certain tools or actions require a higher level of privilege to work and are likely necessary at many points throughout an operation. User accounts with permissions to access specific systems or perform specific functions necessary for adversaries to achieve their objective may also be considered an escalation of privilege.", - "value": "PrivilegeEscalation" - }, - { - "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques in other categories that have the added benefit of subverting a particular defense or mitigation. ", - "value": "DefenseEvasion" - }, - { - "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment. Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts (local system administrator or domain users with administrator access) to use within the network. With sufficient access within a network, an adversary can create accounts for later use within the environment.", - "value": "CredentialAccess" - }, - { - "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.", - "value": "Discovery" - }, - { - "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems. The lateral movement techniques could allow an adversary to gather information from a system without needing additional tools, such as a remote access tool. An adversary can use lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, access to specific information or files, access to additional credentials, or to cause an effect.", - "value": "LateralMovement" - }, - { - "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system. This tactic is often used in conjunction with lateral movement to expand access to remote systems on a network.", - "value": "Execution" - }, - { - "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", - "value": "Collection" - }, - { - "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", - "value": "Exfiltration" - }, - { - "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network.", - "value": "CommandAndControl" - }, - { - "description": "The impact intent primary objective is to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process. This would often refer to techniques such as ransom-ware, defacement, data manipulation and others.", - "value": "Impact" - } - ] - } - }, - "providerAlertId": { - "description": "The identifier of the alert inside the product which generated the alert.", - "readOnly": true, + "properties": { + "$ref": "#/definitions/TiTaxiiDataConnectorProperties", + "description": "Threat intelligence taxii client data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiDataConnectorDataTypes": { + "description": "The available data types for Threat Intelligence taxii client data connector.", + "properties": { + "taxiiClient": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for taxii client.", + "type": "object" + } + }, + "type": "object" + }, + "TiTaxiiDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence taxii client data connector properties.", + "properties": { + "workspaceId": { + "description": "The workspace id.", "type": "string" }, - "processingEndTime": { - "description": "The time the alert was made available for consumption.", - "format": "date-time", - "readOnly": true, + "friendlyName": { + "description": "The friendly name for taxii client connector.", "type": "string" }, - "productComponentName": { - "description": "The name of a component inside the product which generated the alert.", - "readOnly": true, + "taxiiServer": { + "description": "The API root server for taxii client.", "type": "string" }, - "productName": { - "description": "The name of the product which published this alert.", - "readOnly": true, + "collectionId": { + "description": "The taxii collection id.", "type": "string" }, - "productVersion": { - "description": "The version of the product generating the alert.", - "readOnly": true, + "userName": { + "description": "The taxii server user name.", "type": "string" }, - "remediationSteps": { - "description": "Manual action items to take to remediate the alert.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity of the alert" - }, - "startTimeUtc": { - "description": "The impact start time of the alert (the time of the first event contributing to the alert).", - "format": "date-time", - "readOnly": true, + "password": { + "description": "The taxii server password.", "type": "string" }, - "status": { - "description": "The lifecycle status of the alert.", - "enum": [ - "Unknown", - "New", - "Resolved", - "Dismissed", - "InProgress" - ], + "dataTypes": { + "$ref": "#/definitions/TiTaxiiDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "TiTaxiiCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents threat intelligence requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiCheckRequirementsProperties", + "description": "Ti Taxii (Threat Intelligence Taxii) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence taxii client data connector properties.", + "type": "object" + }, + "ThreatIntelligence": { + "description": "ThreatIntelligence property bag.", + "properties": { + "confidence": { + "description": "Confidence (must be between 0 and 1)", + "format": "double", "readOnly": true, - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AlertStatus", - "values": [ - { - "description": "Unknown value", - "value": "Unknown" - }, - { - "description": "New alert", - "value": "New" - }, - { - "description": "Alert closed after handling", - "value": "Resolved" - }, - { - "description": "Alert dismissed as false positive", - "value": "Dismissed" - }, - { - "description": "Alert is being handled", - "value": "InProgress" - } - ] - } + "type": "number" }, - "systemAlertId": { - "description": "Holds the product identifier of the alert for the product.", + "providerName": { + "description": "Name of the provider from whom this Threat Intelligence information was received", "readOnly": true, "type": "string" }, - "tactics": { - "description": "The tactics of the alert", - "items": { - "$ref": "#/definitions/AttackTactic" - }, + "reportLink": { + "description": "Report link", "readOnly": true, - "type": "array" + "type": "string" }, - "timeGenerated": { - "description": "The time the alert was generated.", - "format": "date-time", + "threatDescription": { + "description": "Threat description (free text)", "readOnly": true, "type": "string" }, - "vendorName": { - "description": "The name of the vendor that raise the alert.", + "threatName": { + "description": "Threat name (e.g. \"Jedobot malware\")", "readOnly": true, "type": "string" }, - "alertLink": { - "description": "The uri link of the alert.", + "threatType": { + "description": "Threat type (e.g. \"Botnet\")", "readOnly": true, "type": "string" } }, "type": "object" }, - "SecurityGroupEntity": { + "EyesOn": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/Settings" } ], - "description": "Represents a security group entity.", + "description": "Settings with single toggle.", "properties": { "properties": { - "$ref": "#/definitions/SecurityGroupEntityProperties", - "description": "SecurityGroup entity properties", + "$ref": "#/definitions/EyesOnSettingsProperties", + "description": "EyesOn properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "SecurityGroup" + "x-ms-discriminator-value": "EyesOn" }, - "SecurityGroupEntityProperties": { + "EyesOnSettingsProperties": { + "description": "EyesOn property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "EntityAnalytics": { "allOf": [ { - "$ref": "#/definitions/EntityCommonProperties" + "$ref": "#/definitions/Settings" } ], - "description": "SecurityGroup entity property bag.", + "description": "Settings with single toggle.", "properties": { - "distinguishedName": { - "description": "The group distinguished name", - "readOnly": true, - "type": "string" - }, - "objectGuid": { - "description": "A single-value attribute that is the unique identifier for the object, assigned by active directory.", - "format": "uuid", - "readOnly": true, - "type": "string" - }, - "sid": { - "description": "The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group", - "readOnly": true, - "type": "string" + "properties": { + "$ref": "#/definitions/EntityAnalyticsProperties", + "description": "EntityAnalytics properties", + "x-ms-client-flatten": true } }, - "type": "object" + "type": "object", + "x-ms-discriminator-value": "EntityAnalytics" }, - "SettingList": { - "description": "List of all the settings.", + "EntityAnalyticsProperties": { + "description": "EntityAnalytics property bag.", "properties": { - "value": { - "description": "Array of settings.", - "items": { - "$ref": "#/definitions/Settings" - }, - "type": "array" + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" } }, - "required": [ - "value" - ] + "type": "object" }, - "Settings": { + "Ueba": { "allOf": [ { - "$ref": "#/definitions/ResourceWithEtag" - }, - { - "$ref": "#/definitions/SettingsKind" + "$ref": "#/definitions/Settings" } ], - "description": "The Setting.", - "discriminator": "kind", - "type": "object" + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/UebaProperties", + "description": "Ueba properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ueba" }, - "SettingsKind": { - "description": "Describes an Azure resource with kind.", + "UebaProperties": { + "description": "Ueba property bag.", "properties": { - "kind": { - "description": "The kind of the setting", - "enum": [ - "EyesOn" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "SettingKind" - } + "dataSources": { + "description": "The relevant data sources that enriched by ueba", + "items": { + "$ref": "#/definitions/UebaDataSources" + }, + "type": "array" } }, - "required": [ - "kind" - ], "type": "object" }, - "TIDataConnector": { + "UebaDataSources": { + "description": "The data source that enriched by ueba.", + "enum": [ + "AuditLogs", + "AzureActivity", + "SecurityEvent", + "SigninLogs" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "UebaDataSources" + } + }, + "UrlEntity": { "allOf": [ { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/Entity" } ], - "description": "Represents threat intelligence data connector.", + "description": "Represents a url entity.", "properties": { "properties": { - "$ref": "#/definitions/TIDataConnectorProperties", - "description": "TI (Threat Intelligence) data connector properties.", + "$ref": "#/definitions/UrlEntityProperties", + "description": "Url entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "ThreatIntelligence" - }, - "TIDataConnectorDataTypes": { - "description": "The available data types for TI (Threat Intelligence) data connector.", - "properties": { - "indicators": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Data type for indicators connection.", - "type": "object" - } - }, - "type": "object" + "x-ms-discriminator-value": "Url" }, - "TIDataConnectorProperties": { + "UrlEntityProperties": { "allOf": [ { - "$ref": "#/definitions/DataConnectorTenantId" + "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "TI (Threat Intelligence) data connector properties.", + "description": "Url entity property bag.", "properties": { - "dataTypes": { - "$ref": "#/definitions/TIDataConnectorDataTypes", - "description": "The available data types for the connector." + "url": { + "description": "A full URL the entity points to", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "TICheckRequirements": { + "IoTDeviceEntity": { "allOf": [ { - "$ref": "#/definitions/DataConnectorsCheckRequirements" + "$ref": "#/definitions/Entity" } ], - "description": "Represents threat intelligence requirements check request.", + "description": "Represents an IoT device entity.", "properties": { "properties": { - "$ref": "#/definitions/TICheckRequirementsProperties", - "description": "TI (Threat Intelligence) requirements check properties.", + "$ref": "#/definitions/IoTDeviceEntityProperties", + "description": "IoTDevice entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "ThreatIntelligence" + "x-ms-discriminator-value": "IoTDevice" }, - "TICheckRequirementsProperties": { + "IoTDeviceEntityProperties": { "allOf": [ { - "$ref": "#/definitions/DataConnectorTenantId" + "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "TI (Threat Intelligence) requirements check properties.", - "properties": {}, + "description": "IoTDevice entity property bag.", + "properties": { + "deviceId": { + "description": "The ID of the IoT Device in the IoT Hub", + "readOnly": true, + "type": "string" + }, + "iotSecurityAgentId": { + "description": "The ID of the security agent running on the device", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "deviceType": { + "description": "The type of the device", + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "The vendor of the device", + "readOnly": true, + "type": "string" + }, + "edgeId": { + "description": "The ID of the edge device", + "readOnly": true, + "type": "string" + }, + "iotHubEntityId": { + "description": "The AzureResource entity id of the IoT Hub", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id of this device", + "readOnly": true, + "type": "string" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the IoTDevice entity.", + "items": { + "$ref": "#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array" + } + }, "type": "object" }, - "TiTaxiiDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" - } - ], - "description": "Represents threat intelligence taxii data connector.", + "UserInfo": { + "description": "User information that made some action", "properties": { - "properties": { - "$ref": "#/definitions/TiTaxiiDataConnectorProperties", - "description": "Threat intelligence taxii client data connector properties.", - "x-ms-client-flatten": true + "email": { + "description": "The email of the user.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the user.", + "readOnly": true, + "type": "string" + }, + "objectId": { + "description": "The object id of the user.", + "format": "uuid", + "type": "string", + "x-nullable": true } }, - "type": "object", - "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + "type": "object" }, - "TiTaxiiDataConnectorDataTypes": { - "description": "The available data types for Threat Intelligence taxii client data connector.", + "IncidentInfo": { + "description": "Describes related incident information for the bookmark", "properties": { - "taxiiClient": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } + "incidentId": { + "description": "Incident Id", + "type": "string" + }, + "severity": { + "description": "The severity of the incident", + "enum": [ + "Critical", + "High", + "Medium", + "Low", + "Informational" ], - "description": "Data type for taxii client.", - "type": "object" + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CaseSeverity", + "values": [ + { + "description": "Critical severity", + "value": "Critical" + }, + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "title": { + "description": "The title of the incident", + "type": "string" + }, + "relationName": { + "description": "Relation Name", + "type": "string" } }, + "required": [ + "incidentId", + "severity", + "title", + "relationName" + ], "type": "object" }, - "TiTaxiiDataConnectorProperties": { + "WatchlistList": { + "description": "List all the watchlists.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlists.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist.", + "items": { + "$ref": "#/definitions/Watchlist" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "Watchlist": { "allOf": [ { - "$ref": "#/definitions/DataConnectorTenantId" + "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "Threat Intelligence taxii client data connector properties.", + "description": "Represents a Watchlist in Azure Security Insights.", "properties": { - "workspaceId": { - "description": "The workspace id.", + "properties": { + "$ref": "#/definitions/WatchlistProperties", + "description": "Watchlist properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistProperties": { + "description": "Describes watchlist properties", + "properties": { + "createdTimeUtc": { + "description": "The time the watchlist was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that created the watchlist", + "type": "object" + }, + "displayName": { + "description": "The display name of the watchlist", + "type": "string" + }, + "watchlistType": { + "description": "The type of the watchlist", + "type": "string" + }, + "source": { + "description": "The source of the watchlist", + "enum": [ + "Local file", + "Remote storage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "source" + } + }, + "provider": { + "description": "The provider of the watchlist", "type": "string" }, - "friendlyName": { - "description": "The friendly name for taxii client connector.", + "description": { + "description": "A description of the watchlist", "type": "string" }, - "taxiiServer": { - "description": "The API root server for taxii client.", + "tenantId": { + "description": "The tenantId where the watchlist belongs to.", "type": "string" }, - "collectionId": { - "description": "The taxii collection id.", + "workspaceId": { + "description": "The workspaceId where the watchlist belongs to.", "type": "string" }, - "userName": { - "description": "The taxii server user name.", + "labels": { + "description": "List of labels relevant to this watchlist", + "items": { + "$ref": "#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the watchlist", "type": "string" }, - "password": { - "description": "The taxii server password.", + "lastUpdatedTimeUtc": { + "description": "The last time the watchlist was updated", + "format": "date-time", "type": "string" }, - "dataTypes": { - "$ref": "#/definitions/TiTaxiiDataConnectorDataTypes", - "description": "The available data types for the connector." + "updatedBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist", + "type": "object" + }, + "defaultDuration": { + "description": "The default duration of a watchlist (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "watchlistItems": { + "description": "List of watchlist items.", + "items": { + "$ref": "#/definitions/WatchlistItem" + }, + "type": "array" } }, + "required": [ + "displayName", + "source", + "provider" + ], "type": "object" }, - "TiTaxiiCheckRequirements": { + "WatchlistItem": { "allOf": [ { - "$ref": "#/definitions/DataConnectorsCheckRequirements" + "$ref": "#/definitions/Resource" } ], - "description": "Represents threat intelligence requirements check request.", + "description": "Represents a Watchlist Item in Azure Security Insights.", "properties": { "properties": { - "$ref": "#/definitions/TiTaxiiCheckRequirementsProperties", - "description": "Ti Taxii (Threat Intelligence Taxii) requirements check properties.", + "$ref": "#/definitions/WatchlistItemProperties", + "description": "Watchlist item properties", "x-ms-client-flatten": true } }, - "type": "object", - "x-ms-discriminator-value": "ThreatIntelligenceTaxii" - }, - "TiTaxiiCheckRequirementsProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], - "description": "Threat Intelligence taxii client data connector properties.", "type": "object" }, - "ThreatIntelligence": { - "description": "ThreatIntelligence property bag.", + "WatchlistItemProperties": { + "description": "Describes watchlist item properties", "properties": { - "confidence": { - "description": "Confidence (must be between 0 and 1)", - "format": "double", - "readOnly": true, - "type": "number" + "createdBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that created the watchlist", + "type": "object" }, - "providerName": { - "description": "Name of the provider from whom this Threat Intelligence information was received", - "readOnly": true, + "updatedBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist", + "type": "object" + }, + "watchlistItemName": { + "description": "Name of the watchlist item", "type": "string" }, - "reportLink": { - "description": "Report link", - "readOnly": true, + "watchlistItemPair": { + "description": "A key-value pair for a watchlist item", + "type": "object" + }, + "entityMapping": { + "description": "A key-value pair for a watchlist item entity mapping", + "type": "object" + }, + "tenantId": { + "description": "The tenantId to which this watchlist item belongs to", "type": "string" }, - "threatDescription": { - "description": "Threat description (free text)", - "readOnly": true, + "createdTimeUtc": { + "description": "The time the watchlist item was created", + "format": "date-time", "type": "string" }, - "threatName": { - "description": "Threat name (e.g. \"Jedobot malware\")", - "readOnly": true, + "lastUpdatedTimeUtc": { + "description": "The last time the watchlist item was updated", + "format": "date-time", "type": "string" }, - "threatType": { - "description": "Threat type (e.g. \"Botnet\")", - "readOnly": true, + "timeToLiveUtc": { + "description": "The time to live for the watchlist item", + "format": "date-time", + "type": "string" + }, + "watchlistItemType": { + "description": "The type of the watchlist item", + "type": "string" + }, + "watchlistId": { + "description": "The watchlist id of the parent of this watchlist item", "type": "string" } }, + "required": [ + "watchlistId", + "watchlistItemPair" + ], "type": "object" }, - "EyesOn": { + "ThreatIntelligenceResourceList": { + "description": "List of all the threat intelligence entities.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entities.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of threat intelligence entities.", + "items": { + "$ref": "#/definitions/ThreatIntelligenceResource" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "ThreatIntelligenceResource": { "allOf": [ { - "$ref": "#/definitions/Settings" + "$ref": "#/definitions/ResourceWithEtag" + }, + { + "$ref": "#/definitions/ThreatIntelligenceResourceKind" } ], - "description": "Settings with single toggle.", + "description": "Threat intelligence resource.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "ThreatIntelligenceIndicatorModel": { + "allOf": [ + { + "$ref": "#/definitions/ThreatIntelligenceResource" + } + ], + "description": "Threat intelligence indicator entity.", "properties": { "properties": { - "$ref": "#/definitions/EyesOnSettingsProperties", - "description": "EyesOn properties", + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "EyesOn" - }, - "EyesOnSettingsProperties": { - "description": "EyesOn property bag.", - "properties": { - "isEnabled": { - "description": "Determines whether the setting is enable or disabled.", - "readOnly": true, - "type": "boolean" - } - }, - "type": "object" + "x-ms-discriminator-value": "indicator" }, - "UrlEntity": { + "ThreatIntelligenceIndicatorWithoutReadOnlyFields": { "allOf": [ { - "$ref": "#/definitions/Entity" + "$ref": "#/definitions/ThreatIntelligenceResourceKind" } ], - "description": "Represents a url entity.", + "description": "Threat intelligence indicator entity.", "properties": { + "etag": { + "description": "Etag of the azure resource", + "type": "string" + }, "properties": { - "$ref": "#/definitions/UrlEntityProperties", - "description": "Url entity properties", + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "Url" + "x-ms-discriminator-value": "indicator" }, - "UrlEntityProperties": { + "ThreatIntelligenceResourceKind": { + "description": "Describes an entity with kind.", + "properties": { + "kind": { + "$ref": "#/definitions/ThreatIntelligenceResourceInnerKind", + "description": "The kind of the entity." + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "ThreatIntelligenceResourceInnerKind": { + "description": "The kind of the threat intelligence entity", + "enum": [ + "indicator" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceResourceKind", + "values": [ + { + "description": "Entity represents threat intelligence indicator in the system.", + "value": "indicator" + } + ] + } + }, + "ThreatIntelligenceIndicatorProperties": { "allOf": [ { "$ref": "#/definitions/EntityCommonProperties" } ], - "description": "Url entity property bag.", + "description": "Describes threat intelligence entity properties", "properties": { - "url": { - "description": "A full URL the entity points to", - "readOnly": true, + "threatIntelligenceTags": { + "description": "List of tags", + "items": { + "description": "tag", + "type": "string" + }, + "type": "array" + }, + "lastUpdatedTimeUtc": { + "description": "Last updated time in UTC", + "type": "string" + }, + "source": { + "description": "Source of a threat intelligence entity", + "type": "string" + }, + "displayName": { + "description": "Display name of a threat intelligence entity", + "type": "string" + }, + "description": { + "description": "Description of a threat intelligence entity", + "type": "string" + }, + "indicatorTypes": { + "description": "Indicator types of threat intelligence entities", + "items": { + "description": "Indicator type of a threat intelligence entity", + "type": "string" + }, + "type": "array" + }, + "pattern": { + "description": "Pattern of a threat intelligence entity", + "type": "string" + }, + "patternType": { + "description": "Pattern type of a threat intelligence entity", + "type": "string" + }, + "killChainPhases": { + "description": "Kill chain phases", + "items": { + "description": "Kill chain phase", + "$ref": "#/definitions/ThreatIntelligenceKillChainPhase" + }, + "type": "array" + }, + "externalId": { + "description": "External ID of threat intelligence entity", + "type": "string" + }, + "createdByRef": { + "description": "Created by reference of threat intelligence entity", + "type": "string" + }, + "externalReferences": { + "description": "External References", + "items": { + "description": "external_reference", + "type": "string" + }, + "type": "array" + }, + "granularMarkings": { + "description": "Granular Markings", + "items": { + "description": "Granular marking", + "$ref": "#/definitions/ThreatIntelligenceGranularMarkingModel" + }, + "type": "array" + }, + "revoked": { + "description": "Is threat intelligence entity revoked", + "type": "boolean" + }, + "confidence": { + "description": "Confidence of threat intelligence entity", + "type": "integer", + "format": "int32" + }, + "labels": { + "description": "Labels of threat intelligence entity", + "items": { + "description": "label", + "type": "string" + }, + "type": "array" + }, + "threatTypes": { + "description": "Threat types", + "items": { + "description": "Threat type", + "type": "string" + }, + "type": "array" + }, + "validFrom": { + "description": "Valid from", + "type": "string" + }, + "validUntil": { + "description": "Valid until", + "type": "string" + }, + "created": { + "description": "Created by", + "type": "string" + }, + "modified": { + "description": "Modified by", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceKillChainPhase": { + "description": "Describes threat kill chain phase entity", + "properties": { + "killChainName": { + "description": "Kill chainName name", "type": "string" + }, + "phaseName": { + "description": "Phase name", + "type": "integer", + "format": "int32" } }, "type": "object" }, - "IoTDeviceEntity": { - "allOf": [ - { - "$ref": "#/definitions/Entity" - } - ], - "description": "Represents an IoT device entity.", + "ThreatIntelligenceGranularMarkingModel": { + "description": "Describes threat granular marking model entity", "properties": { - "properties": { - "$ref": "#/definitions/IoTDeviceEntityProperties", - "description": "IoTDevice entity properties", - "x-ms-client-flatten": true + "language": { + "description": "Language granular marking model", + "type": "string" + }, + "markingRef": { + "description": "marking reference granular marking model", + "type": "integer", + "format": "int32" + }, + "selectors": { + "description": "granular marking model selectors", + "items": { + "description": "granular marking model selector", + "type": "string" + }, + "type": "array" } }, - "type": "object", - "x-ms-discriminator-value": "IoTDevice" + "type": "object" }, - "IoTDeviceEntityProperties": { - "allOf": [ - { - "$ref": "#/definitions/EntityCommonProperties" - } - ], - "description": "IoTDevice entity property bag.", + "ThreatIntelligenceArmStixQuery": { + "description": "Describes threat intelligence ARM STIX query", "properties": { - "deviceId": { - "description": "The ID of the IoT Device in the IoT Hub", - "readOnly": true, - "type": "string" + "pageSize": { + "description": "Page size", + "type": "integer", + "format": "int32" }, - "iotSecurityAgentId": { - "description": "The ID of the security agent running on the device", - "format": "uuid", - "readOnly": true, - "type": "string" + "minConfidence": { + "description": "Minimum confidence", + "type": "integer", + "format": "int32" }, - "deviceType": { - "description": "The type of the device", - "readOnly": true, - "type": "string" + "maxConfidence": { + "description": "Maximum confidence", + "type": "integer", + "format": "int32" }, - "vendor": { - "description": "The vendor of the device", - "readOnly": true, + "minValidUntil": { + "description": "Minimum Valid until", "type": "string" }, - "edgeId": { - "description": "The ID of the edge device", - "readOnly": true, + "maxValidUntil": { + "description": "Maximum Valid until", "type": "string" }, - "iotHubEntityId": { - "description": "The AzureResource entity id of the IoT Hub", - "readOnly": true, - "type": "string" + "includeDisabled": { + "description": "To include disabled indicators", + "type": "boolean" }, - "hostEntityId": { - "description": "The Host entity id of this device", - "readOnly": true, - "type": "string" + "sortBy": { + "description": "List of Sort rules", + "items": { + "description": "Sort By", + "$ref": "#/definitions/ThreatIntelligenceArmStixSortBy" + }, + "type": "array" }, - "threatIntelligence": { - "description": "A list of TI contexts attached to the IoTDevice entity.", + "sources": { + "description": "Sources of a threat intelligence entity", "items": { - "$ref": "#/definitions/ThreatIntelligence" + "description": "Source", + "type": "string" + }, + "type": "array" + }, + "patternTypes": { + "description": "Pattern types", + "items": { + "description": "Pattern type", + "type": "string" + }, + "type": "array" + }, + "threatTypes": { + "description": "Threat types", + "items": { + "description": "Threat type", + "type": "string" + }, + "type": "array" + }, + "ids": { + "description": "Ids of threat intelligence entities", + "items": { + "description": "Id of a threat intelligence entity", + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "Keywords of threat intelligence entities", + "items": { + "description": "keyword of a threat intelligence entity", + "type": "string" }, - "readOnly": true, "type": "array" + }, + "skipToken": { + "description": "Skip Token", + "type": "string" } }, "type": "object" }, - "UserInfo": { - "description": "User information that made some action", + "ThreatIntelligenceArmStixSortBy": { + "description": "Describes an threat intelligence ARM STIX Sort By", "properties": { - "email": { - "description": "The email of the user.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "The name of the user.", - "readOnly": true, + "itemKey": { + "description": "Item key", "type": "string" }, - "objectId": { - "description": "The object id of the user.", - "format": "uuid", - "type": "string", - "x-nullable": true + "sortOrder": { + "$ref": "#/definitions/ThreatIntelligenceArmStixSortOrder", + "description": "Sort order." } }, "type": "object" }, - "IncidentInfo": { - "description": "Describes related incident information for the bookmark", + "ThreatIntelligenceArmStixSortOrder": { + "description": "Describes an threat intelligence ARM STIX Sort Order", + "enum": [ + "unsorted", + "ascending", + "descending" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceArmStixSortBy", + "values": [ + { + "value": "unsorted" + }, + { + "value": "ascending" + }, + { + "value": "descending" + } + ] + } + }, + "ThreatIntelligenceAppendTagsRequestBody": { + "description": "Describes threat intelligence indicator append tags request body", "properties": { - "incidentId": { - "description": "Incident Id", + "threatIntelligenceTags": { + "description": "List of threat intelligence tags", + "items": { + "description": "parameter", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricResourceList": { + "description": "List of all the threat intelligence metric resource.", + "properties": { + "value": { + "description": "Array of threat intelligence metrics resource.", + "items": { + "$ref": "#/definitions/ThreatIntelligenceMetricResource" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "ThreatIntelligenceMetricResource": { + "description": "Threat intelligence metric resource.", + "properties": { + "properties": { + "description": "Threat intelligence metric.", + "$ref": "#/definitions/ThreatIntelligenceMetric" + } + } + }, + "ThreatIntelligenceMetric": { + "description": "Describes threat intelligence metric", + "properties": { + "lastUpdatedTimeUtc": { + "description": "Time Metric", "type": "string" }, - "severity": { - "description": "The severity of the incident", - "enum": [ - "Critical", - "High", - "Medium", - "Low", - "Informational" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "CaseSeverity", - "values": [ - { - "description": "Critical severity", - "value": "Critical" - }, - { - "description": "High severity", - "value": "High" - }, - { - "description": "Medium severity", - "value": "Medium" - }, - { - "description": "Low severity", - "value": "Low" - }, - { - "description": "Informational severity", - "value": "Informational" - } - ] - } + "threatTypeMetrics": { + "description": "Threat type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" }, - "title": { - "description": "The title of the incident", - "type": "string" + "patternTypeMetrics": { + "description": "Pattern type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" }, - "relationName": { - "description": "Relation Name", + "sourceMetrics": { + "description": "Source metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricEntity": { + "description": "Describes threat intelligence metric entity", + "properties": { + "metricName": { + "description": "Metric name", "type": "string" + }, + "metricValue": { + "description": "Metric value", + "type": "integer", + "format": "int32" } }, - "required": [ - "incidentId", - "severity", - "title", - "relationName" - ], "type": "object" } }, @@ -8661,7 +10228,7 @@ "x-ms-parameter-location": "method" }, "SettingsName": { - "description": "The setting name. Supports- EyesOn", + "description": "The setting name. Supports - EyesOn, EntityAnalytics, Ueba", "in": "path", "name": "settingsName", "required": true, @@ -8685,6 +10252,80 @@ "required": true, "type": "string", "x-ms-parameter-location": "method" + }, + "WatchlistAlias": { + "description": "Watchlist Alias", + "in": "path", + "name": "watchlistAlias", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Watchlist": { + "description": "The watchlist", + "in": "body", + "name": "watchlist", + "required": true, + "schema": { + "$ref": "#/definitions/Watchlist" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIdentifier": { + "description": "Threat Intelligence Identifier", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIndicatorObjectToUpsert": { + "description": "The threat intelligence entity properties for upsert", + "in": "body", + "name": "ThreatIntelligenceIndicatorObjectToUpsert", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorWithoutReadOnlyFields" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceReplaceTagsModel": { + "description": "The threat intelligence entity properties for updating tags", + "in": "body", + "name": "ThreatIntelligenceReplaceTagsModel", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorWithoutReadOnlyFields" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceArmStixQuery": { + "description": "The threat intelligence ARM STIX query", + "in": "body", + "name": "ThreatIntelligenceArmStixQuery", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceArmStixQuery" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIndicatorEntityKind": { + "description": "The threat intelligence entity kind", + "in": "query", + "name": "ctiEntityKind", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceAppendTagsRequestBody": { + "description": "The threat intelligence append tags request body", + "in": "body", + "name": "ThreatIntelligenceAppendTagsRequestBody", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceAppendTagsRequestBody" + }, + "x-ms-parameter-location": "method" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json index b85ce69bbb1d..71168e4b9897 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json @@ -23,6 +23,9 @@ "triggerThreshold": 0, "displayName": "Changes to Amazon VPC settings", "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "tactics": [ "PrivilegeEscalation", "LateralMovement" diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json index 26fe44559cda..c03e8e794cbd 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json @@ -25,6 +25,9 @@ "triggerThreshold": 0, "suppressionDuration": "PT1H", "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "incidentConfiguration": { "createIncident": true, "groupingConfiguration": { @@ -67,6 +70,9 @@ "suppressionDuration": "PT1H", "suppressionEnabled": false, "lastModifiedUtc": "2019-01-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "incidentConfiguration": { "createIncident": true, "groupingConfiguration": { diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json index a82531d8b2d4..ccf7c6c6ed5d 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetAllAlertRules.json @@ -34,6 +34,9 @@ "suppressionDuration": "PT1H", "suppressionEnabled": false, "lastModifiedUtc": "2019-01-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "incidentConfiguration": { "createIncident": true, "groupingConfiguration": { diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json index 25a9d7240913..d4dc43f15071 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/alertRules/GetScheduledAlertRule.json @@ -33,6 +33,9 @@ "suppressionDuration": "PT1H", "suppressionEnabled": false, "lastModifiedUtc": "2019-01-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, "incidentConfiguration": { "createIncident": true, "groupingConfiguration": { diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json new file mode 100644 index 000000000000..2e1b31f61760 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "DataConnectorsCheckRequirements": { + "kind": "OfficeATP", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json index 5a843a956be8..7bab944cb7e8 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json @@ -17,6 +17,9 @@ }, "exchange": { "state": "Enabled" + }, + "teams": { + "state": "Enabled" } } } @@ -38,6 +41,9 @@ }, "exchange": { "state": "Enabled" + }, + "teams": { + "state": "Enabled" } } } @@ -58,6 +64,9 @@ }, "exchange": { "state": "Enabled" + }, + "teams": { + "state": "Enabled" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json index 6c783118cb3b..d5cc1b3077fc 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetDataConnectors.json @@ -156,6 +156,21 @@ } } } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } } ] } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json new file mode 100644 index 000000000000..cf6f4020b451 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "3d3e955e-33eb-401d-89a7-251c81ddd660" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json index 7a9e73d1c7ce..2ba766091cf3 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json @@ -23,6 +23,9 @@ }, "exchange": { "state": "Enabled" + }, + "teams": { + "state": "Enabled" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAzureResourceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAzureResourceEntityById.json index d630c9f4f3ec..e4e589b66489 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAzureResourceEntityById.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/entities/GetAzureResourceEntityById.json @@ -16,7 +16,8 @@ "kind": "AzureResource", "properties": { "friendlyName": "vm1", - "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1" + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0" } } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json new file mode 100644 index 000000000000..127198b2179d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceAppendTagsRequestBody": { + "threatIntelligenceTags": [ + "tag1", + "tag2" + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json new file mode 100644 index 000000000000..2755c5120c4f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lastUpdatedTimeUtc": "2020-09-01T19:44:44.117403Z", + "threatTypeMetrics": [ + { + "metricName": "compromised", + "metricValue": 20 + } + ], + "patternTypeMetrics": [ + { + "metricName": "url", + "metricValue": 20 + } + ], + "sourceMetrics": [ + { + "metricName": "Azure Sentinel", + "metricValue": 10315 + }, + { + "metricName": "zinga", + "metricValue": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json new file mode 100644 index 000000000000..1b6935e0a3b7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ThreatIntelligenceIndicatorObjectToUpsert": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json new file mode 100644 index 000000000000..76f6009ce7ec --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json new file mode 100644 index 000000000000..ceec827d2de5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2020-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..a3185f2a44bb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:18:49.2259902Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json new file mode 100644 index 000000000000..da7b93120aa6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ThreatIntelligenceArmStixQuery": { + "pageSize": 100, + "minConfidence": 25, + "maxConfidence": 80, + "minValidUntil": "2020-04-05T17:44:00.114052Z", + "maxValidUntil": "2020-04-25T17:44:00.114052Z", + "sources": [ + "Azure Sentinel" + ], + "sortBy": [ + { + "itemKey": "lastUpdatedTimeUtc", + "sortOrder": "descending" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2020-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators 2", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json new file mode 100644 index 000000000000..c2bd89dcf026 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceReplaceTagsModel": { + "etag": "\"0000262c-0000-0800-0000-5e9767060000\"", + "kind": "indicator", + "properties": { + "threatIntelligenceTags": [ + "patching tags" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T19:56:08.828946Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/UpsertThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/UpsertThreatIntelligence.json new file mode 100644 index 000000000000..0b8345af8e3b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/threatintelligence/UpsertThreatIntelligence.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceIndicatorObjectToUpsert": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/CreateWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/CreateWatchlist.json new file mode 100644 index 000000000000..07cf84ce8165 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/CreateWatchlist.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "displayName": "High Value Assets Watchlist", + "watchlistType": "watchlist", + "source": "Local file", + "provider": "Azure Sentinel", + "description": "Watchlist Description", + "notes": "A note for the watchlist", + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1D2H3M4S" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "displayName": "High Value Assets Watchlist", + "watchlistType": "watchlist", + "source": "Local file", + "provider": "Azure Sentinel", + "description": "Watchlist Description", + "notes": "A note for the watchlist", + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1D2H3M4S" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "displayName": "High Value Assets Watchlist", + "watchlistType": "watchlist", + "source": "Local file", + "provider": "Azure Sentinel", + "description": "Watchlist Description", + "notes": "A note for the watchlist", + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1D2H3M4S" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/DeleteWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/DeleteWatchlist.json new file mode 100644 index 000000000000..f466add6d9f0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/DeleteWatchlist.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlistByAlias.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlistByAlias.json new file mode 100644 index 000000000000..7e8db045c713 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlistByAlias.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "createdTimeUtc": "2019-01-01T13:15:30Z", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "displayName": "High Value Assets Watchlist", + "watchlistType": "watchlist", + "source": "Local file", + "provider": "Azure Sentinel", + "description": "A description", + "tenantId": "9ad7a5a8-490c-4f6e-b906-be97a89fa92a", + "workspaceId": "8a6c62fc-325f-48b2-a330-7863bf73eb45", + "labels": [ + "Tag1", + "Tag2" + ], + "notes": "A note for the watchlist", + "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z", + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "defaultDuration": "P1D2H3M4S" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlists.json new file mode 100644 index 000000000000..35fe3af660a4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2019-01-01-preview/examples/watchlists/GetWatchlists.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "createdTimeUtc": "2019-01-01T13:15:30Z", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "displayName": "High Value Assets Watchlist", + "watchlistType": "watchlist", + "source": "Local file", + "provider": "Azure Sentinel", + "description": "A description", + "tenantId": "9ad7a5a8-490c-4f6e-b906-be97a89fa92a", + "workspaceId": "8a6c62fc-325f-48b2-a330-7863bf73eb45", + "labels": [ + "Tag1", + "Tag2" + ], + "notes": "A note for the watchlist", + "lastUpdatedTimeUtc": "2019-01-01T13:15:30Z", + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "defaultDuration": "P1D2H3M4S" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json index 0dae763435cf..daac982bd922 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json @@ -93,7 +93,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/AlertRulesList" } @@ -147,7 +147,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/AlertRule" } @@ -199,7 +199,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/AlertRule" } @@ -248,7 +248,7 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK, Operation successfully completed" }, "204": { "description": "No Content" @@ -293,7 +293,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/ActionsList" } @@ -344,7 +344,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/ActionResponse" } @@ -393,7 +393,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/ActionResponse" } @@ -445,7 +445,282 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates": { + "get": { + "x-ms-examples": { + "Get all alert rule templates.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplates.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets all alert rule templates.", + "operationId": "AlertRuleTemplates_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRuleTemplatesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}": { + "get": { + "x-ms-examples": { + "Get alert rule template by Id.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplateById.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets the alert rule template.", + "operationId": "AlertRuleTemplates_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AlertRuleTemplateId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRuleTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks": { + "get": { + "x-ms-examples": { + "Get all bookmarks.": { + "$ref": "./examples/bookmarks/GetBookmarks.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets all bookmarks.", + "operationId": "Bookmarks_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/BookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}": { + "get": { + "x-ms-examples": { + "Get a bookmark.": { + "$ref": "./examples/bookmarks/GetBookmarkById.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets a bookmark.", + "operationId": "Bookmarks_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a bookmark.": { + "$ref": "./examples/bookmarks/CreateBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Creates or updates the bookmark.", + "operationId": "Bookmarks_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "#/parameters/Bookmark" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a bookmark.": { + "$ref": "./examples/bookmarks/DeleteBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Delete the bookmark.", + "operationId": "Bookmarks_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" }, "204": { "description": "No Content" @@ -487,7 +762,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/DataConnectorList" } @@ -556,7 +831,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/DataConnector" } @@ -602,7 +877,7 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK, Operation successfully completed", "schema": { "$ref": "#/definitions/DataConnector" } @@ -651,7 +926,7 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK, Operation successfully completed" }, "204": { "description": "No Content" @@ -664,190 +939,1064 @@ } } } - } - }, - "definitions": { - "AADDataConnector": { - "allOf": [ - { - "$ref": "#/definitions/DataConnector" - } - ], - "description": "Represents AAD (Azure Active Directory) data connector.", - "properties": { - "properties": { - "$ref": "#/definitions/AADDataConnectorProperties", - "description": "AAD (Azure Active Directory) data connector properties.", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "AzureActiveDirectory" }, - "AADDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents": { + "get": { + "x-ms-examples": { + "Get all incidents.": { + "$ref": "./examples/incidents/GetIncidents.json" + } }, - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" - } - ], - "description": "AAD (Azure Active Directory) data connector properties.", - "type": "object" - }, + "tags": [ + "Incidents" + ], + "description": "Gets all incidents.", + "operationId": "Incidents_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ODataFilter" + }, + { + "$ref": "#/parameters/ODataOrderBy" + }, + { + "$ref": "#/parameters/ODataTop" + }, + { + "$ref": "#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}": { + "get": { + "x-ms-examples": { + "Get an incident.": { + "$ref": "./examples/incidents/GetIncidentById.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets an incident.", + "operationId": "Incidents_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident.": { + "$ref": "./examples/incidents/CreateIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Creates or updates the incident.", + "operationId": "Incidents_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/Incident" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an incident.": { + "$ref": "./examples/incidents/DeleteIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Delete the incident.", + "operationId": "Incidents_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments": { + "get": { + "x-ms-examples": { + "Get all incident comments.": { + "$ref": "./examples/incidents/comments/GetAllIncidentComments.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets all incident comments.", + "operationId": "IncidentComments_ListByIncident", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/ODataFilter" + }, + { + "$ref": "#/parameters/ODataOrderBy" + }, + { + "$ref": "#/parameters/ODataTop" + }, + { + "$ref": "#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentCommentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/IncidentComment", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}": { + "get": { + "x-ms-examples": { + "Get an incident comment.": { + "$ref": "./examples/incidents/comments/GetIncidentCommentById.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets an incident comment.", + "operationId": "IncidentComments_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates an incident comment.": { + "$ref": "./examples/incidents/comments/CreateIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Creates the incident comment.", + "operationId": "IncidentComments_CreateComment", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + }, + { + "$ref": "#/parameters/IncidentComment" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AADDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AAD (Azure Active Directory) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AADDataConnectorProperties", + "description": "AAD (Azure Active Directory) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADDataConnectorProperties": { + "description": "AAD (Azure Active Directory) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, "AATPDataConnector": { "allOf": [ { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPDataConnectorProperties", + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPDataConnectorProperties": { + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "ASCDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents ASC (Azure Security Center) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/ASCDataConnectorProperties", + "description": "ASC (Azure Security Center) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureSecurityCenter" + }, + "ASCDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "ASC (Azure Security Center) data connector properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "ActionRequest": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" + } + ], + "description": "Action for alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ActionRequestProperties", + "description": "Action properties for put request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionPropertiesBase": { + "description": "Action property bag base.", + "properties": { + "logicAppResourceId": { + "description": "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.", + "type": "string" + } + }, + "required": [ + "logicAppResourceId" + ], + "type": "object" + }, + "ActionRequestProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "triggerUri": { + "description": "Logic App Callback URL for this specific workflow.", + "type": "string" + } + }, + "type": "object" + }, + "ActionResponse": { + "allOf": [ + { + "$ref": "#/definitions/Resource" } ], - "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", + "description": "Action for alert rule.", "properties": { + "etag": { + "description": "Etag of the action.", + "type": "string" + }, "properties": { - "$ref": "#/definitions/AATPDataConnectorProperties", - "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "$ref": "#/definitions/ActionResponseProperties", + "description": "Action properties for get request", "x-ms-client-flatten": true } }, - "type": "object", - "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + "type": "object" }, - "AATPDataConnectorProperties": { + "ActionResponseProperties": { "allOf": [ { - "$ref": "#/definitions/DataConnectorTenantId" + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "workflowId": { + "description": "The name of the logic app's workflow.", + "type": "string" + } + }, + "type": "object" + }, + "ActionsList": { + "description": "List all the actions.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of actions.", + "readOnly": true, + "type": "string" }, + "value": { + "description": "Array of actions.", + "items": { + "$ref": "#/definitions/ActionResponse" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "AlertRule": { + "allOf": [ { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" + "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "description": "Alert rule.", + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKind", + "description": "The alert rule kind" + } + }, "type": "object" }, - "ASCDataConnector": { + "AlertRuleKind": { + "description": "The kind of the alert rule", + "enum": [ + "Scheduled", + "MicrosoftSecurityIncidentCreation", + "Fusion" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertRuleKind", + "values": [ + { + "value": "Scheduled" + }, + { + "value": "MicrosoftSecurityIncidentCreation" + }, + { + "value": "Fusion" + } + ] + } + }, + "AlertRuleTemplateStatus": { + "description": "The alert rule template status.", + "enum": [ + "Installed", + "Available", + "NotAvailable" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "TemplateStatus", + "values": [ + { + "description": "Alert rule template installed. and can not use more then once", + "value": "Installed" + }, + { + "description": "Alert rule template is available.", + "value": "Available" + }, + { + "description": "Alert rule template is not available", + "value": "NotAvailable" + } + ] + } + }, + "AlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Alert rule template.", + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKind", + "description": "The alert rule kind", + "type": "string" + } + }, + "type": "object" + }, + "AlertRuleTemplateDataSource": { + "description": "alert rule template data sources", + "properties": { + "connectorId": { + "description": "The connector id that provides the following data types", + "type": "string" + }, + "dataTypes": { + "description": "The data types used by the alert rule template", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlertRuleTemplatesList": { + "description": "List all the alert rule templates.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rule templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rule templates.", + "items": { + "$ref": "#/definitions/AlertRuleTemplate" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "AlertRuleTriggerOperator": { + "description": "The operation against the threshold that triggers alert rule.", + "enum": [ + "GreaterThan", + "LessThan", + "Equal", + "NotEqual" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "TriggerOperator" + } + }, + "AlertRulesList": { + "description": "List all the alert rules.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rules.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rules.", + "items": { + "$ref": "#/definitions/AlertRule" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "AlertSeverity": { + "description": "The severity of the alert", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "MicrosoftSecurityProductName": { + "description": "The alerts' productName on which the cases will be generated", + "enum": [ + "Microsoft Cloud App Security", + "Azure Security Center", + "Azure Advanced Threat Protection", + "Azure Active Directory Identity Protection", + "Azure Security Center for IoT" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MicrosoftSecurityProductName" + } + }, + "AlertsDataTypeOfDataConnector": { + "description": "Alerts data type for data connectors.", + "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection.", + "type": "object" + } + }, + "type": "object" + }, + "AttackTactic": { + "description": "The severity for alerts created by this alert rule.", + "enum": [ + "InitialAccess", + "Execution", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AttackTactic" + } + }, + "AwsCloudTrailDataConnector": { "allOf": [ { "$ref": "#/definitions/DataConnector" } ], - "description": "Represents ASC (Azure Security Center) data connector.", + "description": "Represents Amazon Web Services CloudTrail data connector.", "properties": { "properties": { - "$ref": "#/definitions/ASCDataConnectorProperties", - "description": "ASC (Azure Security Center) data connector properties.", + "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties", + "description": "Amazon Web Services CloudTrail data connector properties.", "x-ms-client-flatten": true } }, "type": "object", - "x-ms-discriminator-value": "AzureSecurityCenter" + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" }, - "ASCDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" + "AwsCloudTrailDataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services CloudTrail data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" } - ], - "description": "ASC (Azure Security Center) data connector properties.", + }, + "type": "object" + }, + "AwsCloudTrailDataConnectorProperties": { + "description": "Amazon Web Services CloudTrail data connector properties.", "properties": { - "subscriptionId": { - "description": "The subscription id to connect to, and get the data from.", + "awsRoleArn": { + "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.", "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes", + "description": "The available data types for the connector." } }, "type": "object" }, - "ActionRequest": { + "Bookmark": { "allOf": [ { "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "Action for alert rule.", + "description": "Represents a bookmark in Azure Security Insights.", "properties": { "properties": { - "$ref": "#/definitions/ActionRequestProperties", - "description": "Action properties for put request", + "$ref": "#/definitions/BookmarkProperties", + "description": "Bookmark properties", "x-ms-client-flatten": true } }, "type": "object" }, - "ActionPropertiesBase": { - "description": "Action property bag base.", + "BookmarkList": { + "description": "List all the bookmarks.", "properties": { - "logicAppResourceId": { - "description": "Logic App Resource Id, providers/Microsoft.Logic/workflows/{WorkflowID}.", + "nextLink": { + "description": "URL to fetch the next set of cases.", + "readOnly": true, "type": "string" + }, + "value": { + "description": "Array of bookmarks.", + "items": { + "$ref": "#/definitions/Bookmark" + }, + "type": "array" } }, "required": [ - "logicAppResourceId" - ], - "type": "object" + "value" + ] }, - "ActionRequestProperties": { - "allOf": [ - { - "$ref": "#/definitions/ActionPropertiesBase" - } - ], - "description": "Action property bag.", + "BookmarkProperties": { + "description": "Describes bookmark properties", "properties": { - "triggerUri": { - "description": "Logic App Callback URL for this specific workflow.", + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", "type": "string" + }, + "updatedBy": { + "$ref": "#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "incidentInfo": { + "$ref": "#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" } }, + "required": [ + "displayName", + "query" + ], "type": "object" }, - "ActionResponse": { - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Action for alert rule.", + "ClientInfo": { + "description": "Information on the client (user or application) that made some action", "properties": { - "etag": { - "description": "Etag of the action.", + "email": { + "description": "The email of the client.", "type": "string" }, - "properties": { - "$ref": "#/definitions/ActionResponseProperties", - "description": "Action properties for get request", - "x-ms-client-flatten": true + "name": { + "description": "The name of the client.", + "type": "string" + }, + "objectId": { + "description": "The object id of the client.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the client.", + "type": "string" } }, "type": "object" }, - "ActionResponseProperties": { + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The error object of the CloudError response" + } + }, + "description": "An error response for a resource management request." + }, + "DataConnector": { "allOf": [ { - "$ref": "#/definitions/ActionPropertiesBase" + "$ref": "#/definitions/ResourceWithEtag" } ], - "description": "Action property bag.", + "description": "Data connector.", + "discriminator": "kind", + "required": [ + "kind" + ], "properties": { - "workflowId": { - "description": "The name of the logic app's workflow.", - "type": "string" + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "The data connector kind" } }, "type": "object" }, - "ActionsList": { - "description": "List all the actions.", + "DataConnectorDataTypeCommon": { + "description": "Common field for data type in data connectors.", + "properties": { + "state": { + "description": "Describe whether this data type connection is enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataTypeState" + } + } + }, + "type": "object" + }, + "DataConnectorKind": { + "description": "The kind of the data connector", + "enum": [ + "AzureActiveDirectory", + "AzureSecurityCenter", + "MicrosoftCloudAppSecurity", + "ThreatIntelligence", + "Office365", + "AmazonWebServicesCloudTrail", + "AzureAdvancedThreatProtection", + "MicrosoftDefenderAdvancedThreatProtection" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorKind", + "values": [ + { + "value": "AzureActiveDirectory" + }, + { + "value": "AzureSecurityCenter" + }, + { + "value": "MicrosoftCloudAppSecurity" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "Office365" + }, + { + "value": "AmazonWebServicesCloudTrail" + }, + { + "value": "AzureAdvancedThreatProtection" + }, + { + "value": "MicrosoftDefenderAdvancedThreatProtection" + } + ] + } + }, + "DataConnectorList": { + "description": "List all the data connectors.", "properties": { "nextLink": { - "description": "URL to fetch the next set of actions.", + "description": "URL to fetch the next set of data connectors.", "readOnly": true, "type": "string" }, "value": { - "description": "Array of actions.", + "description": "Array of data connectors.", "items": { - "$ref": "#/definitions/ActionResponse" + "$ref": "#/definitions/DataConnector" }, "type": "array" } @@ -856,93 +2005,120 @@ "value" ] }, - "AlertRule": { + "DataConnectorTenantId": { + "description": "Properties data connector on tenant level.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "DataConnectorWithAlertsProperties": { + "description": "Data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "FusionAlertRule": { "allOf": [ { - "$ref": "#/definitions/ResourceWithEtag" - }, - { - "$ref": "#/definitions/AlertRuleKind" + "$ref": "#/definitions/AlertRule" } ], - "description": "Alert rule.", - "discriminator": "kind", - "required": [ - "kind" - ], - "type": "object" + "description": "Represents Fusion alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleProperties", + "description": "Fusion alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" }, - "AlertRuleKind": { - "description": "Describes an Azure resource with kind.", + "FusionAlertRuleProperties": { + "description": "Fusion alert rule base property bag.", "properties": { - "kind": { - "description": "The kind of the alert rule", - "enum": [ - "Scheduled", - "MicrosoftSecurityIncidentCreation", - "Fusion" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AlertRuleKind", - "values": [ - { - "value": "Scheduled" - }, - { - "value": "MicrosoftSecurityIncidentCreation" - }, - { - "value": "Fusion" - } - ] - } + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" } }, "required": [ - "kind" + "alertRuleTemplateName", + "enabled" ], "type": "object" }, - "AlertRuleTemplate": { + "FusionAlertRuleTemplate": { "allOf": [ { - "$ref": "#/definitions/Resource" - }, - { - "$ref": "#/definitions/AlertRuleKind" + "$ref": "#/definitions/AlertRuleTemplate" } ], - "description": "Alert rule template.", - "discriminator": "kind", - "required": [ - "kind" - ], - "type": "object" - }, - "AlertRuleTemplateDataSource": { - "description": "alert rule template data sources", + "description": "Represents Fusion alert rule template.", "properties": { - "connectorId": { - "description": "The connector id that provides the following data types", - "type": "string" - }, - "dataTypes": { - "description": "The data types used by the alert rule template", - "items": { - "type": "string" - }, - "type": "array" + "properties": { + "$ref": "#/definitions/FusionAlertRuleTemplateProperties", + "description": "Fusion alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true } }, - "type": "object" + "type": "object", + "x-ms-discriminator-value": "Fusion" }, - "AlertRuleTemplatePropertiesBase": { - "description": "Base alert rule template property bag.", + "FusionAlertRuleTemplateProperties": { + "description": "Represents Fusion alert rule template properties", "properties": { "alertRulesCreatedByTemplateCount": { "description": "the number of alert rules that were created by this template", + "format": "int32", "type": "integer" }, "createdDateUTC": { @@ -967,309 +2143,190 @@ "type": "array" }, "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", "description": "The alert rule template status.", - "enum": [ - "Installed", - "Available", - "NotAvailable" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "TemplateStatus", - "values": [ - { - "description": "Alert rule template installed. and can not use more then once", - "value": "Installed" - }, - { - "description": "Alert rule template is available.", - "value": "Available" - }, - { - "description": "Alert rule template is not available", - "value": "NotAvailable" - } - ] - } + "type": "string" + }, + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule." + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "type": "array" } }, "type": "object" }, - "AlertRuleTriggerOperator": { - "description": "The operation against the threshold that triggers alert rule.", - "enum": [ - "GreaterThan", - "LessThan", - "Equal", - "NotEqual" + "Incident": { + "allOf": [ + { + "$ref": "#/definitions/ResourceWithEtag" + } ], - "type": "string", - "x-ms-enum": { - "modelAsString": false, - "name": "TriggerOperator" - } + "description": "Represents an incident in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentProperties", + "description": "Incident properties", + "x-ms-client-flatten": true + } + }, + "type": "object" }, - "AlertRulesList": { - "description": "List all the alert rules.", + "IncidentAdditionalData": { + "description": "Incident additional data property bag.", "properties": { - "nextLink": { - "description": "URL to fetch the next set of alert rules.", + "alertsCount": { + "description": "The number of alerts in the incident", + "format": "int32", "readOnly": true, - "type": "string" + "type": "integer" }, - "value": { - "description": "Array of alert rules.", + "bookmarksCount": { + "description": "The number of bookmarks in the incident", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "commentsCount": { + "description": "The number of comments in the incident", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "alertProductNames": { + "description": "List of product names of alerts in the incident", "items": { - "$ref": "#/definitions/AlertRule" + "description": "Alert product name", + "type": "string" }, + "readOnly": true, "type": "array" - } - }, - "required": [ - "value" - ] - }, - "AlertSeverity": { - "description": "The severity of the alert", - "enum": [ - "High", - "Medium", - "Low", - "Informational" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AlertSeverity", - "values": [ - { - "description": "High severity", - "value": "High" - }, - { - "description": "Medium severity", - "value": "Medium" - }, - { - "description": "Low severity", - "value": "Low" + }, + "tactics": { + "description": "The tactics associated with incident", + "items": { + "$ref": "#/definitions/AttackTactic" }, - { - "description": "Informational severity", - "value": "Informational" - } - ] - } - }, - "AlertsDataTypeOfDataConnector": { - "description": "Alerts data type for data connectors.", - "properties": { - "alerts": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Alerts data type connection.", - "type": "object" + "readOnly": true, + "type": "array" } }, "type": "object" }, - "AttackTactic": { - "description": "The severity for alerts created by this alert rule.", - "enum": [ - "InitialAccess", - "Execution", - "Persistence", - "PrivilegeEscalation", - "DefenseEvasion", - "CredentialAccess", - "Discovery", - "LateralMovement", - "Collection", - "Exfiltration", - "CommandAndControl", - "Impact" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "AttackTactic" - } - }, - "AwsCloudTrailDataConnector": { + "IncidentComment": { "allOf": [ { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/Resource" } ], - "description": "Represents Amazon Web Services CloudTrail data connector.", + "description": "Represents an incident comment", "properties": { "properties": { - "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties", - "description": "Amazon Web Services CloudTrail data connector properties.", + "$ref": "#/definitions/IncidentCommentProperties", + "description": "Incident comment properties", "x-ms-client-flatten": true } }, - "type": "object", - "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" - }, - "AwsCloudTrailDataConnectorDataTypes": { - "description": "The available data types for Amazon Web Services CloudTrail data connector.", - "properties": { - "logs": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Logs data type.", - "type": "object" - } - }, "type": "object" }, - "AwsCloudTrailDataConnectorProperties": { - "description": "Amazon Web Services CloudTrail data connector properties.", + "IncidentCommentList": { + "description": "List of incident comments.", "properties": { - "awsRoleArn": { - "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.", + "nextLink": { + "description": "URL to fetch the next set of comments.", + "readOnly": true, "type": "string" }, - "dataTypes": { - "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes", - "description": "The available data types for the connector." - } - }, - "type": "object" - }, - "CloudError": { - "description": "Error response structure.", - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody", - "description": "Error data", - "x-ms-client-flatten": true + "value": { + "description": "Array of comments.", + "items": { + "$ref": "#/definitions/IncidentComment" + }, + "type": "array" } }, - "type": "object", - "x-ms-external": true + "required": [ + "value" + ] }, - "CloudErrorBody": { - "description": "Error details.", + "IncidentCommentProperties": { + "description": "Incident comment property bag.", "properties": { - "code": { - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "createdTimeUtc": { + "description": "The time the comment was created", + "format": "date-time", "readOnly": true, "type": "string" }, "message": { - "description": "A message describing the error, intended to be suitable for display in a user interface.", - "readOnly": true, + "description": "The comment message", "type": "string" - } - }, - "type": "object", - "x-ms-external": true - }, - "DataConnector": { - "allOf": [ - { - "$ref": "#/definitions/ResourceWithEtag" }, - { - "$ref": "#/definitions/DataConnectorKind" + "author": { + "$ref": "#/definitions/ClientInfo", + "description": "Describes the client that created the comment", + "readOnly": true, + "type": "object" } - ], - "description": "Data connector.", - "discriminator": "kind", + }, "required": [ - "kind" + "message" ], "type": "object" }, - "DataConnectorDataTypeCommon": { - "description": "Common field for data type in data connectors.", - "properties": { - "state": { - "description": "Describe whether this data type connection is enabled or not.", - "enum": [ - "Enabled", - "Disabled" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "DataTypeState" - } - } - }, - "type": "object" - }, - "DataConnectorKind": { - "description": "Describes an Azure resource with kind.", + "IncidentLabel": { + "description": "Represents an incident label", "properties": { - "kind": { - "description": "The kind of the data connector", + "labelName": { + "description": "The name of the label", + "type": "string" + }, + "labelType": { + "description": "The type of the label", "enum": [ - "AzureActiveDirectory", - "AzureSecurityCenter", - "MicrosoftCloudAppSecurity", - "ThreatIntelligence", - "Office365", - "AmazonWebServicesCloudTrail", - "AzureAdvancedThreatProtection", - "MicrosoftDefenderAdvancedThreatProtection" + "User", + "System" ], "type": "string", + "readOnly": true, "x-ms-enum": { "modelAsString": true, - "name": "DataConnectorKind", + "name": "IncidentLabelType", "values": [ { - "value": "AzureActiveDirectory" - }, - { - "value": "AzureSecurityCenter" - }, - { - "value": "MicrosoftCloudAppSecurity" - }, - { - "value": "ThreatIntelligence" - }, - { - "value": "Office365" - }, - { - "value": "AmazonWebServicesCloudTrail" - }, - { - "value": "AzureAdvancedThreatProtection" + "description": "Label manually created by a user", + "value": "User" }, { - "value": "MicrosoftDefenderAdvancedThreatProtection" + "description": "Label automatically created by the system", + "value": "System" } ] } } }, + "required": [ + "labelName" + ], "type": "object" }, - "DataConnectorList": { - "description": "List all the data connectors.", + "IncidentList": { + "description": "List all the incidents.", "properties": { "nextLink": { - "description": "URL to fetch the next set of data connectors.", + "description": "URL to fetch the next set of incidents.", "readOnly": true, "type": "string" }, "value": { - "description": "Array of data connectors.", + "description": "Array of incidents.", "items": { - "$ref": "#/definitions/DataConnector" + "$ref": "#/definitions/Incident" }, "type": "array" } @@ -1278,130 +2335,234 @@ "value" ] }, - "DataConnectorTenantId": { - "description": "Properties data connector on tenant level.", + "IncidentOwnerInfo": { + "description": "Information on the user an incident is assigned to", "properties": { - "tenantId": { - "description": "The tenant id to connect to, and get the data from.", + "email": { + "description": "The email of the user the incident is assigned to.", + "type": "string" + }, + "assignedTo": { + "description": "The name of the user the incident is assigned to.", + "type": "string" + }, + "objectId": { + "description": "The object id of the user the incident is assigned to.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the user the incident is assigned to.", "type": "string" } }, "type": "object" }, - "DataConnectorWithAlertsProperties": { - "description": "Data connector properties.", - "properties": { - "dataTypes": { - "$ref": "#/definitions/AlertsDataTypeOfDataConnector", - "description": "The available data types for the connector." - } - }, - "type": "object" - }, - "FusionAlertRule": { - "allOf": [ - { - "$ref": "#/definitions/AlertRule" - } - ], - "description": "Represents Fusion alert rule.", - "properties": { - "properties": { - "$ref": "#/definitions/FusionAlertRuleProperties", - "description": "Fusion alert rule properties", - "x-ms-client-flatten": true - } - }, - "type": "object", - "x-ms-discriminator-value": "Fusion" - }, - "FusionAlertRuleProperties": { - "description": "Fusion alert rule base property bag.", + "IncidentProperties": { + "description": "Describes incident properties", "properties": { - "alertRuleTemplateName": { - "description": "The Name of the alert rule template used to create this rule.", + "additionalData": { + "$ref": "#/definitions/IncidentAdditionalData", + "description": "Additional data on the incident", + "readOnly": true, + "type": "object" + }, + "classification": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", "type": "string" }, - "description": { - "description": "The description of the alert rule.", + "classificationReason": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } + }, + "createdTimeUtc": { + "description": "The time the incident was created", + "format": "date-time", "readOnly": true, "type": "string" }, - "displayName": { - "description": "The display name for alerts created by this alert rule.", + "description": { + "description": "The description of the incident", + "type": "string" + }, + "firstActivityTimeUtc": { + "description": "The time of the first activity in the incident", + "format": "date-time", + "type": "string" + }, + "incidentUrl": { + "description": "The deep-link url to the incident in Azure portal", "readOnly": true, "type": "string" }, - "enabled": { - "description": "Determines whether this alert rule is enabled or disabled.", - "type": "boolean" + "incidentNumber": { + "description": "A sequential number", + "format": "int32", + "readOnly": true, + "type": "integer" }, - "lastModifiedUtc": { - "description": "The last time that this alert has been modified.", + "labels": { + "description": "List of labels relevant to this incident", + "items": { + "$ref": "#/definitions/IncidentLabel" + }, + "type": "array" + }, + "lastActivityTimeUtc": { + "description": "The time of the last activity in the incident", + "format": "date-time", + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the incident was updated", "format": "date-time", "readOnly": true, "type": "string" }, - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity for alerts created by this alert rule.", - "readOnly": true + "owner": { + "$ref": "#/definitions/IncidentOwnerInfo", + "description": "Describes a user that the incident is assigned to", + "type": "object" }, - "tactics": { - "description": "The tactics of the alert rule", + "relatedAnalyticRuleIds": { + "description": "List of resource ids of Analytic rules related to the incident", "items": { - "$ref": "#/definitions/AttackTactic" + "description": "Related Analytic rule resource id", + "type": "string" }, "readOnly": true, "type": "array" - } - }, - "required": [ - "alertRuleTemplateName", - "enabled" - ], - "type": "object" - }, - "FusionAlertRuleTemplate": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplate" - } - ], - "description": "Represents Fusion alert rule template.", - "properties": { - "properties": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" - } + }, + "severity": { + "description": "The severity of the incident", + "enum": [ + "High", + "Medium", + "Low", + "Informational" ], - "description": "Fusion alert rule template properties", - "properties": { - "severity": { - "$ref": "#/definitions/AlertSeverity", - "description": "The severity for alerts created by this alert rule." - }, - "tactics": { - "description": "The tactics of the alert rule template", - "items": { - "$ref": "#/definitions/AttackTactic" + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentSeverity", + "values": [ + { + "description": "High severity", + "value": "High" }, - "type": "array" - } - }, - "required": [ - "displayName", - "description", - "status", - "severity", - "alertRulesCreatedByTemplateCount" + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "status": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" ], - "x-ms-client-flatten": true + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "title": { + "description": "The title of the incident", + "type": "string" } }, - "type": "object", - "x-ms-discriminator-value": "Fusion" + "required": [ + "title", + "severity", + "status" + ], + "type": "object" }, "Label": { "description": "Label that will be used to tag and filter on.", @@ -1432,26 +2593,24 @@ ], "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection." + }, "discoveryLogs": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorDataTypeCommon" - } - ], - "description": "Discovery log data type connection.", - "type": "object" + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Discovery log data type connection." } }, "type": "object" }, "MCASDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], "description": "MCAS (Microsoft Cloud App Security) data connector properties.", "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, "dataTypes": { "$ref": "#/definitions/MCASDataConnectorDataTypes", "description": "The available data types for the connector." @@ -1477,15 +2636,17 @@ "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" }, "MDATPDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" }, - { - "$ref": "#/definitions/DataConnectorWithAlertsProperties" + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." } - ], - "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + }, "type": "object" }, "MicrosoftSecurityIncidentCreationAlertRule": { @@ -1515,20 +2676,16 @@ }, "type": "array" }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, "productFilter": { - "description": "The alerts' productName on which the cases will be generated", - "enum": [ - "Microsoft Cloud App Security", - "Azure Security Center", - "Azure Advanced Threat Protection", - "Azure Active Directory Identity Protection", - "Azure Security Center for IoT" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "MicrosoftSecurityProductName" - } + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" }, "severitiesFilter": { "description": "the alerts' severities on which the cases will be generated", @@ -1581,6 +2738,71 @@ ], "type": "object" }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties": { + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array" + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "#/definitions/AlertSeverity" + }, + "type": "array" + } + }, + "required": [ + "productFilter" + ], + "type": "object" + }, "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { "allOf": [ { @@ -1590,14 +2812,7 @@ "description": "Represents MicrosoftSecurityIncidentCreation rule template.", "properties": { "properties": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" - }, - { - "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" - } - ], + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties", "description": "MicrosoftSecurityIncidentCreation rule template properties", "required": [ "displayName", @@ -1706,13 +2921,12 @@ "type": "object" }, "OfficeDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], "description": "Office data connector properties.", "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, "dataTypes": { "$ref": "#/definitions/OfficeDataConnectorDataTypes", "description": "The available data types for the connector." @@ -1860,6 +3074,7 @@ }, "triggerThreshold": { "description": "The threshold triggers this alert rule.", + "format": "int32", "type": "integer" } }, @@ -1926,6 +3141,77 @@ ], "type": "object" }, + "ScheduledAlertRuleTemplateProperties": { + "description": "Scheduled alert rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array" + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "severity": { + "$ref": "#/definitions/AlertSeverity", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "format": "int32", + "type": "integer" + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "#/definitions/AttackTactic" + }, + "type": "array" + } + }, + "type": "object" + }, "ScheduledAlertRuleTemplate": { "allOf": [ { @@ -1935,24 +3221,8 @@ "description": "Represents scheduled alert rule template.", "properties": { "properties": { - "allOf": [ - { - "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" - }, - { - "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" - } - ], + "$ref": "#/definitions/ScheduledAlertRuleTemplateProperties", "description": "Scheduled alert rule template properties", - "properties": { - "tactics": { - "description": "The tactics of the alert rule template", - "items": { - "$ref": "#/definitions/AttackTactic" - }, - "type": "array" - } - }, "required": [ "displayName", "description", @@ -1975,36 +3245,33 @@ "allOf": [ { "$ref": "#/definitions/ResourceWithEtag" - }, - { - "$ref": "#/definitions/SettingsKind" } ], - "description": "The Setting.", + "description": "The Settings.", "discriminator": "kind", "required": [ "kind" ], - "type": "object" - }, - "SettingsKind": { - "description": "Describes an Azure resource with kind.", "properties": { "kind": { - "description": "The kind of the setting", - "enum": [ - "UebaSettings", - "ToggleSettings" - ], - "type": "string", - "x-ms-enum": { - "modelAsString": true, - "name": "SettingKind" - } + "$ref": "#/definitions/SettingsKind", + "description": "The data connector kind" } }, "type": "object" }, + "SettingsKind": { + "description": "The kind of the setting", + "enum": [ + "UebaSettings", + "ToggleSettings" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SettingKind" + } + }, "TIDataConnector": { "allOf": [ { @@ -2038,13 +3305,12 @@ "type": "object" }, "TIDataConnectorProperties": { - "allOf": [ - { - "$ref": "#/definitions/DataConnectorTenantId" - } - ], "description": "TI (Threat Intelligence) data connector properties.", "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, "dataTypes": { "$ref": "#/definitions/TIDataConnectorDataTypes", "description": "The available data types for the connector." @@ -2213,7 +3479,7 @@ "type": "string", "x-ms-enum": { "modelAsString": true, - "name": "IncidentSeverity", + "name": "CaseSeverity", "values": [ { "description": "Critical severity", @@ -2311,6 +3577,24 @@ "required": true, "type": "string" }, + "Bookmark": { + "description": "The bookmark", + "in": "body", + "name": "bookmark", + "required": true, + "schema": { + "$ref": "#/definitions/Bookmark" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkId": { + "description": "Bookmark ID", + "in": "path", + "name": "bookmarkId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "ConsentId": { "description": "consent ID", "in": "path", @@ -2353,6 +3637,42 @@ "type": "string", "x-ms-parameter-location": "method" }, + "Incident": { + "description": "The incident", + "in": "body", + "name": "incident", + "required": true, + "schema": { + "$ref": "#/definitions/Incident" + }, + "x-ms-parameter-location": "method" + }, + "IncidentComment": { + "description": "The incident comment", + "in": "body", + "name": "incidentComment", + "required": true, + "schema": { + "$ref": "#/definitions/IncidentComment" + }, + "x-ms-parameter-location": "method" + }, + "IncidentCommentId": { + "description": "Incident comment ID", + "in": "path", + "name": "incidentCommentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "IncidentId": { + "description": "Incident ID", + "in": "path", + "name": "incidentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "ODataFilter": { "description": "Filters the results, based on a Boolean condition. Optional.", "in": "query", diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/CreateActionOfAlertRule.json index 00c3cda73a97..e600106c6361 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/CreateActionOfAlertRule.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/actions/CreateActionOfAlertRule.json @@ -8,9 +8,6 @@ "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e", "action": { - "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", - "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", - "type": "Microsoft.SecurityInsights/alertRules/actions", "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", "properties": { "triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature", diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json new file mode 100644 index 000000000000..d37e8c470833 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "alertRuleTemplateId": "65360bb0-8986-4ade-a89d-af3cf44d28aa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json new file mode 100644 index 000000000000..d10304254569 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/f71aba3d-28fb-450b-b192-4e76a83015c8", + "name": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Place holder: Fusion uses graph powered machine learning algorithms to correlate between millions of lower fidelity anomalous activities from different products such as Azure AD Identity Protection, and Microsoft Cloud App Security, to combine them into a manageable number of interesting security cases.\n", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "createdDateUTC": "2019-07-25T00:00:00Z", + "status": "Available", + "severity": "High", + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/b3cfc7c0-092c-481c-a55b-34a3979758cb", + "name": "b3cfc7c0-092c-481c-a55b-34a3979758cb", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "Create incidents based on Microsoft Cloud App Security alerts", + "description": "Create incidents based on all alerts generated in Microsoft Cloud App Security", + "createdDateUTC": "2019-07-16T00:00:00Z", + "status": "Available", + "alertRulesCreatedByTemplateCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateFusionAlertRule.json index ef362004531b..ea49be0c55ab 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateFusionAlertRule.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/alertRules/CreateFusionAlertRule.json @@ -10,7 +10,7 @@ "kind": "Fusion", "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", "properties": { - "enabled": "true", + "enabled": true, "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" } } diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/CreateBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/CreateBookmark.json new file mode 100644 index 000000000000..302388cb061a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/CreateBookmark.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "bookmark": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/DeleteBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/DeleteBookmark.json new file mode 100644 index 000000000000..ed370512b64f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/DeleteBookmark.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/GetBookmarkById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/GetBookmarkById.json new file mode 100644 index 000000000000..1fc0d3f2facd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/GetBookmarkById.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/GetBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/GetBookmarks.json new file mode 100644 index 000000000000..5e2412060910 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/bookmarks/GetBookmarks.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/CreateOfficeDataConnetor.json index 8b13b4b1723b..ef13fed0c62c 100644 --- a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/CreateOfficeDataConnetor.json +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/dataConnectors/CreateOfficeDataConnetor.json @@ -7,9 +7,6 @@ "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", "dataConnector": { - "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", - "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", - "type": "Microsoft.SecurityInsights/dataConnectors", "kind": "Office365", "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", "properties": { diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/CreateIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/CreateIncident.json new file mode 100644 index 000000000000..b0ec076e645c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/CreateIncident.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incident": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/DeleteIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/DeleteIncident.json new file mode 100644 index 000000000000..48c85f20499e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/DeleteIncident.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/GetIncidentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/GetIncidentById.json new file mode 100644 index 000000000000..02700be4d343 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/GetIncidentById.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "InaccurateData", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/GetIncidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/GetIncidents.json new file mode 100644 index 000000000000..a7c9c0c95747 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/GetIncidents.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "$orderby": "properties/createdTimeUtc desc", + "$top": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "Persistence" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/CreateIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/CreateIncidentComment.json new file mode 100644 index 000000000000..c14515e36f4c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/CreateIncidentComment.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "incidentComment": { + "properties": { + "message": "Some message" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/GetAllIncidentComments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/GetAllIncidentComments.json new file mode 100644 index 000000000000..63d4de097b65 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/GetAllIncidentComments.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/GetIncidentCommentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/GetIncidentCommentById.json new file mode 100644 index 000000000000..5874711a65b4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2020-01-01/examples/incidents/comments/GetIncidentCommentById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-01-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/readme.azureresourceschema.md b/specification/securityinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c1616a19b90a --- /dev/null +++ b/specification/securityinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-securityinsights-2020-01-01 + - tag: schema-securityinsights-2019-01-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-securityinsights-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-securityinsights-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SecurityInsights/stable/2020-01-01/SecurityInsights.json + +``` + +### Tag: schema-securityinsights-2019-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-securityinsights-2019-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json + +``` diff --git a/specification/securityinsights/resource-manager/readme.go.md b/specification/securityinsights/resource-manager/readme.go.md index 0d9fb50cbd7c..0398622f6b2f 100644 --- a/specification/securityinsights/resource-manager/readme.go.md +++ b/specification/securityinsights/resource-manager/readme.go.md @@ -23,7 +23,7 @@ These settings apply only when `--tag=package-composite-v1 --go` is specified on Please also specify `--go-sdk-folder=`. ```yaml $(tag) == 'package-composite-v1' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/v1.0/$(namespace) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/v1.0/$(namespace) ``` ### Tag: package-2019-01-preview-only and go diff --git a/specification/securityinsights/resource-manager/readme.md b/specification/securityinsights/resource-manager/readme.md index c49bc63d957a..a0f8dae7ca0e 100644 --- a/specification/securityinsights/resource-manager/readme.md +++ b/specification/securityinsights/resource-manager/readme.md @@ -52,6 +52,12 @@ These settings apply only when `--tag=package-2019-01-preview-only` is specified ```yaml $(tag) == 'package-2019-01-preview-only' input-file: - Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json +directive: + - suppress: R4017 + from: Microsoft.SecurityInsights/preview/2019-01-01-preview/SecurityInsights.json + where: $.definitions.ThreatIntelligenceResource + reason: Our API is designed based on per region per workspace concept. There is no use case of our customers to get all indicators in multiple workspaces. + approved-by: "@cheggert" ``` --- @@ -71,6 +77,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js securityinsights/resource-manager ``` ## C# @@ -104,6 +113,10 @@ See configuration in [readme.nodejs.md](./readme.nodejs.md) See configuration in [readme.typescript.md](./readme.typescript.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/serialconsole/resource-manager/readme.azureresourceschema.md b/specification/serialconsole/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..3b81576bee0f --- /dev/null +++ b/specification/serialconsole/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-serialconsole-2018-05-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-serialconsole-2018-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-serialconsole-2018-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SerialConsole/stable/2018-05-01/serialconsole.json + +``` diff --git a/specification/serialconsole/resource-manager/readme.md b/specification/serialconsole/resource-manager/readme.md index f6b832b4ef9e..eae19181721c 100644 --- a/specification/serialconsole/resource-manager/readme.md +++ b/specification/serialconsole/resource-manager/readme.md @@ -47,6 +47,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-go - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js serialconsole/resource-manager ``` ## C# @@ -64,6 +67,10 @@ csharp: See configuration in [readme.go.md](./readme.go.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/service-map/resource-manager/readme.azureresourceschema.md b/specification/service-map/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a92884d7690c --- /dev/null +++ b/specification/service-map/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-operationalinsights-2015-11-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-operationalinsights-2015-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-operationalinsights-2015-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.OperationalInsights/preview/2015-11-01-preview/arm-service-map.json + +``` diff --git a/specification/service-map/resource-manager/readme.md b/specification/service-map/resource-manager/readme.md index cfe3a0b35022..2842243d46fa 100644 --- a/specification/service-map/resource-manager/readme.md +++ b/specification/service-map/resource-manager/readme.md @@ -68,6 +68,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js service-map/resource-manager ``` ## Go @@ -110,6 +113,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json new file mode 100644 index 000000000000..f02d9ac717c8 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json @@ -0,0 +1,278 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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.ServiceBus/namespaces/{namespaceName}/ipfilterrules": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListIpFilterRules", + "x-ms-examples": { + "ListIpFilterRules": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIPFilterRuleListAll.json" + } + }, + "description": "Gets a list of IP Filter rules for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule successfully returned.", + "schema": { + "$ref": "#/definitions/IpFilterRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdateIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleCreate": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleCreateorUpdate.json" + } + }, + "description": "Creates or updates an IpFilterRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IpFilterRule" + }, + "description": "The Namespace IpFilterRule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule created", + "schema": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_DeleteIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleDelete": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleDelete.json" + } + }, + "description": "Deletes an IpFilterRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_GetIpFilterRule", + "x-ms-examples": { + "NameSpaceIpFilterRuleGet": { + "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleGet.json" + } + }, + "description": "Gets an IpFilterRule for a Namespace by rule name.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace IpFilterRule returned successfully.", + "schema": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "IpFilterRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Accept", + "Reject" + ], + "x-ms-enum": { + "name": "IPAction", + "modelAsString": true + } + }, + "filterName": { + "type": "string", + "description": "IP Filter name" + } + }, + "description": "Properties supplied to create or update IpFilterRules" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Single item in a List or Get IpFilterRules operation" + }, + "IpFilterRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + }, + "description": "Result of the List IpFilter Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of IpFilter Rules" + } + }, + "description": "The response from the List namespace operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json new file mode 100644 index 000000000000..adaa6ddb1ec1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json @@ -0,0 +1,218 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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.ServiceBus/namespaces/{namespaceName}/networkrulesets/default": { + "put": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleSetCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" + } + }, + "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "The Namespace NetworkRuleSet." + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleSetget": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json" + } + }, + "operationId": "Namespaces_GetNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Subnet": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "description": "Properties supplied for Subnet" + }, + "NWRuleSetIpRules": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "NetworkRuleIPAction", + "modelAsString": true + } + } + }, + "description": "The response from the List namespace operation." + }, + "NWRuleSetVirtualNetworkRules": { + "x-ms-client-flatten": true, + "properties": { + "subnet": { + "$ref": "#/definitions/Subnet", + "description": "Subnet properties" + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Value that indicates whether to ignore missing Vnet Service Endpoint" + } + }, + "description": "The response from the List namespace operation." + }, + "NetworkRuleSet": { + "properties": { + "properties": { + "description": "NetworkRuleSet properties", + "x-ms-client-flatten": true, + "properties": { + "defaultAction": { + "type": "string", + "description": "Default Action for Network Rule Set", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" + }, + "description": "List VirtualNetwork Rules" + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetIpRules" + }, + "description": "List of IpRules" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of topic resource." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json new file mode 100644 index 000000000000..317ff3dcc018 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json @@ -0,0 +1,262 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListVirtualNetworkRules", + "x-ms-examples": { + "ListIpFilterRules": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleListAll.json" + } + }, + "description": "Gets a list of VirtualNetwork rules for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule successfully returned.", + "schema": { + "$ref": "#/definitions/VirtualNetworkRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdateVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleCreateorUpdate.json" + } + }, + "description": "Creates or updates an VirtualNetworkRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The Namespace VirtualNetworkRule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule created", + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_DeleteVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleDelete": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleDelete.json" + } + }, + "description": "Deletes an VirtualNetworkRule for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_GetVirtualNetworkRule", + "x-ms-examples": { + "NameSpaceVirtualNetworkRuleGet": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleGet.json" + } + }, + "description": "Gets an VirtualNetworkRule for a Namespace by rule name.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace VirtualNetworkRule returned successfully.", + "schema": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "VirtualNetworkRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "virtualNetworkSubnetId": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "description": "Properties supplied to create or update VirtualNetworkRules" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Single item in a List or Get VirtualNetworkRules operation" + }, + "VirtualNetworkRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "Result of the List VirtualNetwork Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains an incomplete list of VirtualNetwork Rules" + } + }, + "description": "The response from the List namespace operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json new file mode 100644 index 000000000000..4de96524d573 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2018-01-01-preview", + "subscriptionId": "subID", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "parameters": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-8396/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-2847" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "testing" + }, + "provisioningState": "Succeeded" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json new file mode 100644 index 000000000000..68fd4f7ca8ae --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-3285", + "resourceGroupName": "ArunMonocle", + "privateEndpointConnectionName": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0", + "api-version": "2018-01-01-preview", + "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json new file mode 100644 index 000000000000..59d91c8508cf --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-ServiceBus-4794", + "privateEndpointConnectionName": "privateEndpointConnectionName", + "api-version": "2018-01-01-preview", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5828/privateEndpointConnections/privateEndpointConnectionName", + "name": "privateEndpointConnectionName", + "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json new file mode 100644 index 000000000000..3bbc4b026f43 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-5828", + "resourceGroupName": "SDK-ServiceBus-4794", + "api-version": "2018-01-01-preview", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-7182/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5705-new/privateEndpointConnections/5dc668b3-70e4-437f-b61c-a3c1e594be7a", + "name": "5dc668b3-70e4-437f-b61c-a3c1e594be7a", + "type": "Microsoft.ServiceBus/Namespaces/PrivateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-ServiceBus-7182/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5705-new" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json new file mode 100644 index 000000000000..c1ace47195d3 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "namespaceName": "sdk-Namespace-2924", + "resourceGroupName": "ArunMonocle", + "api-version": "2018-01-01-preview", + "subscriptionId": "subID" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/subID/resourceGroups/SDK-ServiceBus-4794/providers/Microsoft.ServiceBus/namespaces/sdk-Namespace-5828/privateLinkResources/namespace", + "name": "namespace", + "type": "Microsoft.ServiceBus/namespaces/privateLinkResources", + "properties": { + "groupId": "namespace", + "requiredMembers": [ + "namespace" + ], + "requiredZoneNames": [ + "privatelink.servicebus.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCreate.json index 273a70b3260d..951500ff5854 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCreate.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceCreate.json @@ -2,7 +2,7 @@ "parameters": { "namespaceName": "sdk-Namespace2924", "resourceGroupName": "ArunMonocle", - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", "parameters": { "sku": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceDelete.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceDelete.json index 747d0b106269..a458cb82e01a 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceDelete.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceDelete.json @@ -2,7 +2,7 @@ "parameters": { "namespaceName": "sdk-Namespace-3285", "resourceGroupName": "ArunMonocle", - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" }, "responses": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceGet.json index 0afe4e79a6b7..6f2d4a002b41 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceGet.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceGet.json @@ -2,7 +2,7 @@ "parameters": { "namespaceName": "sdk-Namespace-2924", "resourceGroupName": "ArunMonocle", - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" }, "responses": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceList.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceList.json index 7e3dcb10e2f7..f1391889645d 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceList.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceList.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4" }, "responses": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceListByResourceGroup.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceListByResourceGroup.json index 5704dd8f2e78..34a52c6ed57c 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceListByResourceGroup.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceListByResourceGroup.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", "resourceGroupName": "ArunMonocle" }, diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceUpdate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceUpdate.json index ae587b027e02..51527f927861 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceUpdate.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/examples/NameSpaces/SBNameSpaceUpdate.json @@ -2,7 +2,7 @@ "parameters": { "namespaceName": "sdk-Namespace-3285", "resourceGroupName": "ArunMonocle", - "api-version": "2017-04-01", + "api-version": "2018-01-01-preview", "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4", "parameters": { "location": "South Central US", diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json new file mode 100644 index 000000000000..c0c3b8bd4637 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json @@ -0,0 +1,968 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-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}/providers/Microsoft.ServiceBus/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_List", + "x-ms-examples": { + "NameSpaceList": { + "$ref": "./examples/NameSpaces/SBNameSpaceList.json" + } + }, + "description": "Gets all the available namespaces within the subscription, irrespective of the resource groups.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespaceListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListByResourceGroup", + "x-ms-examples": { + "NameSpaceListByResourceGroup": { + "$ref": "./examples/NameSpaces/SBNameSpaceListByResourceGroup.json" + } + }, + "description": "Gets the available namespaces within a resource group.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespaceListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdate", + "x-ms-examples": { + "NameSpaceCreate": { + "$ref": "./examples/NameSpaces/SBNameSpaceCreate.json" + } + }, + "description": "Creates or updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Parameters supplied to create a namespace resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace created successfully.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "201": { + "description": "Namespace create request accepted.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "202": { + "description": "Namespace create or update request accepted." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Delete", + "x-ms-examples": { + "NameSpaceDelete": { + "$ref": "./examples/NameSpaces/SBNameSpaceDelete.json" + } + }, + "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully deleted." + }, + "202": { + "description": "Namespace delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Get", + "x-ms-examples": { + "NameSpaceGet": { + "$ref": "./examples/NameSpaces/SBNameSpaceGet.json" + } + }, + "description": "Gets a description for the specified namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Update", + "x-ms-examples": { + "NameSpaceUpdate": { + "$ref": "./examples/NameSpaces/SBNameSpaceUpdate.json" + } + }, + "description": "Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespaceUpdateParameters" + }, + "description": "Parameters supplied to update a namespace resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace updated successfully.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "201": { + "description": "Namespace update request accepted.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "202": { + "description": "Namespace update request accepted." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "NameSpaceCreate": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionList.json" + } + }, + "description": "Gets the available PrivateEndpointConnections within a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "PrivateEndpointConnections successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionCreate": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionCreate.json" + } + }, + "description": "Creates or updates PrivateEndpointConnections of service namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "Parameters supplied to update Status of PrivateEndPoint Connection to namespace resource." + } + ], + "responses": { + "200": { + "description": "Status of PrivateEndPoint Connection Created successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Request to update Status of PrivateEndPoint Connection accepted.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionDelete": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionDelete.json" + } + }, + "description": "Deletes an existing Private Endpoint Connection.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "Private Endpoint Connection successfully deleted." + }, + "202": { + "description": "Private Endpoint Connection delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "NameSpacePrivateEndPointConnectionGet": { + "$ref": "./examples/NameSpaces/PrivateEndPointConnectionGet.json" + } + }, + "description": "Gets a description for the specified Private Endpoint Connection.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Description of Private Endpoint Connection returned successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/privateLinkResources": { + "get": { + "tags": [ + "Namespaces PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "NameSpacePrivateLinkResourcesGet": { + "$ref": "./examples/NameSpaces/PrivateLinkResourcesGet.json" + } + }, + "description": "Gets lists of resources that supports Privatelinks.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private Link resource List", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ResourceNamespacePatch": { + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "SBNamespaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Result of the List Namespace operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces." + } + }, + "description": "The response of the List Namespace operation." + }, + "SBNamespace": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceUpdateParameters": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of SKU" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Properties of BYOK Identity description" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was created" + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics" + }, + "zoneRedundant": { + "type": "boolean", + "description": "Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Properties of BYOK Encryption description" + } + }, + "description": "Properties of the namespace." + }, + "SBSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "description": "The billing tier of this particular SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." + } + }, + "required": [ + "name" + ], + "description": "SKU of the namespace." + }, + "Identity": { + "x-ms-client-flatten": true, + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault" + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault" + }, + "type": { + "type": "string", + "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'", + "default": "SystemAssigned", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "description": "Properties to configure Identity for Bring your Own Keys" + }, + "Encryption": { + "x-ms-client-flatten": true, + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": false + } + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + } + }, + "description": "Properties to configure keyVault Properties" + }, + "PrivateEndpointConnection": { + "description": "Properties of the PrivateEndpointConnection.", + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of the private endpoint connection resource.", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The Private Endpoint resource for this Connection." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/ConnectionState", + "description": "Details about the state of the connection." + }, + "provisioningState": { + "description": "Provisioning state of the Private Endpoint Connection.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "EndPointProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "PrivateEndpoint information.", + "properties": { + "id": { + "description": "The ARM identifier for Private Endpoint.", + "type": "string" + } + } + }, + "ConnectionState": { + "description": "ConnectionState information.", + "properties": { + "status": { + "description": "Status of the connection.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Description of the connection state.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "Result of the list of all private endpoint connections operation.", + "properties": { + "value": { + "description": "A collection of private endpoint connection resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "A link for the next page of private endpoint connection resources.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "Information of the private link resource.", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Properties of the private link resource.", + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string" + }, + "name": { + "description": "Name of the resource", + "type": "string" + }, + "type": { + "description": "Type of the resource", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "description": "Properties of PrivateLinkResource", + "properties": { + "groupId": { + "type": "string" + }, + "requiredMembers": { + "type": "array", + "description": "Required Members", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "description": "Required Zone Names", + "items": { + "type": "string" + } + } + } + }, + "PrivateLinkResourcesListResult": { + "description": "Result of the List private link resources operation.", + "properties": { + "value": { + "description": "A collection of private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "A link for the next page of private link resources.", + "type": "string" + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json new file mode 100644 index 000000000000..e5342767dd0b --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json @@ -0,0 +1,126 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", + "version": "2018-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ServiceBus/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/SBOperations_List.json" + } + }, + "description": "Lists all of the available ServiceBus REST API operations.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list ServiceBus operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "List of ServiceBus operations supported by the Microsoft.ServiceBus resource provider.", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "A ServiceBus REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.ServiceBus" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource on which the operation is performed: Invoice, etc." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Operation type: Read, write, delete, etc." + } + } + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json deleted file mode 100644 index 33c89e5d3e11..000000000000 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json +++ /dev/null @@ -1,1435 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "ServiceBusManagementClient", - "description": "Azure Service Bus client for managing Namespace, IPFilter Rules, VirtualNetworkRules and Zone Redundant", - "version": "2018-01-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/providers/Microsoft.ServiceBus/operations": { - "get": { - "tags": [ - "Operations" - ], - "operationId": "Operations_List", - "x-ms-examples": { - "OperationsList": { - "$ref": "./examples/SBOperations_List.json" - } - }, - "description": "Lists all of the available ServiceBus REST API operations.", - "parameters": [ - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/OperationListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_List", - "x-ms-examples": { - "NameSpaceList": { - "$ref": "./examples/NameSpaces/SBNameSpaceList.json" - } - }, - "description": "Gets all the available namespaces within the subscription, irrespective of the resource groups.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespaces successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespaceListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_ListByResourceGroup", - "x-ms-examples": { - "NameSpaceListByResourceGroup": { - "$ref": "./examples/NameSpaces/SBNameSpaceListByResourceGroup.json" - } - }, - "description": "Gets the available namespaces within a resource group.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespaces successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespaceListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}": { - "put": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_CreateOrUpdate", - "x-ms-examples": { - "NameSpaceCreate": { - "$ref": "./examples/NameSpaces/SBNameSpaceCreate.json" - } - }, - "description": "Creates or updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "namespaceName", - "in": "path", - "required": true, - "type": "string", - "description": "The namespace name." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBNamespace" - }, - "description": "Parameters supplied to create a namespace resource." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Namespace create request accepted.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "200": { - "description": "Namespace created successfully.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "202": { - "description": "Namespace create or update request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_Delete", - "x-ms-examples": { - "NameSpaceDelete": { - "$ref": "./examples/NameSpaces/SBNameSpaceDelete.json" - } - }, - "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace successfully deleted." - }, - "202": { - "description": "Namespace delete request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true - }, - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_Get", - "x-ms-examples": { - "NameSpaceGet": { - "$ref": "./examples/NameSpaces/SBNameSpaceGet.json" - } - }, - "description": "Gets a description for the specified namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "patch": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_Update", - "x-ms-examples": { - "NameSpaceUpdate": { - "$ref": "./examples/NameSpaces/SBNameSpaceUpdate.json" - } - }, - "description": "Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBNamespaceUpdateParameters" - }, - "description": "Parameters supplied to update a namespace resource." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Namespace update request accepted.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "200": { - "description": "Namespace updated successfully.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "202": { - "description": "Namespace update request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_ListIpFilterRules", - "x-ms-examples": { - "ListIpFilterRules": { - "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIPFilterRuleListAll.json" - } - }, - "description": "Gets a list of IP Filter rules for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace IpFilterRule successfully returned.", - "schema": { - "$ref": "#/definitions/IpFilterRuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/ipfilterrules/{ipFilterRuleName}": { - "put": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_CreateOrUpdateIpFilterRule", - "x-ms-examples": { - "NameSpaceIpFilterRuleCreate": { - "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleCreateorUpdate.json" - } - }, - "description": "Creates or updates an IpFilterRule for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/ipFilterRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/IpFilterRule" - }, - "description": "The Namespace IpFilterRule." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace IpFilterRule created", - "schema": { - "$ref": "#/definitions/IpFilterRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_DeleteIpFilterRule", - "x-ms-examples": { - "NameSpaceIpFilterRuleDelete": { - "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleDelete.json" - } - }, - "description": "Deletes an IpFilterRule for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/ipFilterRuleNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace IpFilterRule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_GetIpFilterRule", - "x-ms-examples": { - "NameSpaceIpFilterRuleGet": { - "$ref": "./examples/NameSpaces/IPFilterRule/SBNameSpaceIpFilterRuleGet.json" - } - }, - "description": "Gets an IpFilterRule for a Namespace by rule name.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/ipFilterRuleNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace IpFilterRule returned successfully.", - "schema": { - "$ref": "#/definitions/IpFilterRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_ListVirtualNetworkRules", - "x-ms-examples": { - "ListIpFilterRules": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleListAll.json" - } - }, - "description": "Gets a list of VirtualNetwork rules for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace VirtualNetworkRule successfully returned.", - "schema": { - "$ref": "#/definitions/VirtualNetworkRuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/virtualnetworkrules/{virtualNetworkRuleName}": { - "put": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_CreateOrUpdateVirtualNetworkRule", - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleCreate": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleCreateorUpdate.json" - } - }, - "description": "Creates or updates an VirtualNetworkRule for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - }, - "description": "The Namespace VirtualNetworkRule." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace VirtualNetworkRule created", - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_DeleteVirtualNetworkRule", - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleDelete": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleDelete.json" - } - }, - "description": "Deletes an VirtualNetworkRule for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace VirtualNetworkRule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_GetVirtualNetworkRule", - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleGet": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNameSpaceVirtualNetworkRuleGet.json" - } - }, - "description": "Gets an VirtualNetworkRule for a Namespace by rule name.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace VirtualNetworkRule returned successfully.", - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkrulesets/default": { - "put": { - "tags": [ - "Namespaces" - ], - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleSetCreate": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" - } - }, - "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", - "description": "Gets NetworkRuleSet for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/NetworkRuleSet" - }, - "description": "The Namespace IpFilterRule." - } - ], - "responses": { - "200": { - "description": "Namespace NetworkRuleSet successfully returned.", - "schema": { - "$ref": "#/definitions/NetworkRuleSet" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "x-ms-examples": { - "NameSpaceVirtualNetworkRuleSetget": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json" - } - }, - "operationId": "Namespaces_GetNetworkRuleSet", - "description": "Gets NetworkRuleSet for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/namespaceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace NetworkRuleSet successfully returned.", - "schema": { - "$ref": "#/definitions/NetworkRuleSet" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "TrackedResource": { - "properties": { - "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" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "required": [ - "location" - ], - "description": "The Resource definition." - }, - "Resource": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Resource Id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Resource name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Resource type" - } - }, - "x-ms-azure-resource": true, - "description": "The Resource definition for other than namespace." - }, - "ResourceNamespacePatch": { - "properties": { - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "The Resource definition." - }, - "SBNamespaceListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SBNamespace" - }, - "description": "Result of the List Namespace operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces." - } - }, - "description": "The response of the List Namespace operation." - }, - "SBNamespace": { - "properties": { - "sku": { - "$ref": "#/definitions/SBSku", - "description": "Properties of SKU" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBNamespaceProperties", - "description": "Properties of the namespace." - } - }, - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "description": "Description of a namespace resource." - }, - "SBNamespaceUpdateParameters": { - "properties": { - "sku": { - "$ref": "#/definitions/SBSku", - "description": "Properties of SKU" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBNamespaceProperties", - "description": "Properties of the namespace." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ResourceNamespacePatch" - } - ], - "description": "Description of a namespace resource." - }, - "SBNamespaceProperties": { - "properties": { - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state of the namespace." - }, - "createdAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "The time the namespace was created." - }, - "updatedAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "The time the namespace was updated." - }, - "serviceBusEndpoint": { - "readOnly": true, - "type": "string", - "description": "Endpoint you can use to perform Service Bus operations." - }, - "metricId": { - "readOnly": true, - "type": "string", - "description": "Identifier for Azure Insights metrics" - }, - "zoneRedundant": { - "type": "boolean", - "description": "Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones." - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "Properties of BYOK Identity description" - }, - "encryption": { - "$ref": "#/definitions/Encryption", - "description": "Properties of BYOK Encryption description" - } - }, - "description": "Properties of the namespace." - }, - "SBSku": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of this SKU.", - "enum": [ - "Basic", - "Standard", - "Premium" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": false - } - }, - "tier": { - "type": "string", - "description": "The billing tier of this particular SKU.", - "enum": [ - "Basic", - "Standard", - "Premium" - ], - "x-ms-enum": { - "name": "SkuTier", - "modelAsString": false - } - }, - "capacity": { - "format": "int32", - "type": "integer", - "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." - } - }, - "required": [ - "name" - ], - "description": "SKU of the namespace." - }, - "OperationListResult": { - "description": "Result of the request to list ServiceBus operations. It contains a list of operations and a URL link to get the next set of results.", - "properties": { - "value": { - "readOnly": true, - "type": "array", - "description": "List of ServiceBus operations supported by the Microsoft.ServiceBus resource provider.", - "items": { - "$ref": "#/definitions/Operation" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "URL to get the next set of operation list results if there are any." - } - } - }, - "Operation": { - "description": "A ServiceBus REST API operation", - "type": "object", - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Operation name: {provider}/{resource}/{operation}" - }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "readOnly": true, - "type": "string", - "description": "Service provider: Microsoft.ServiceBus" - }, - "resource": { - "readOnly": true, - "type": "string", - "description": "Resource on which the operation is performed: Invoice, etc." - }, - "operation": { - "readOnly": true, - "type": "string", - "description": "Operation type: Read, write, delete, etc." - } - } - } - } - }, - "ErrorResponse": { - "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", - "type": "object", - "properties": { - "code": { - "description": "Error code.", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - }, - "IpFilterRule": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "properties": { - "ipMask": { - "type": "string", - "description": "IP Mask" - }, - "action": { - "type": "string", - "description": "The IP Filter Action", - "enum": [ - "Accept", - "Reject" - ], - "x-ms-enum": { - "name": "IPAction", - "modelAsString": true - } - }, - "filterName": { - "type": "string", - "description": "IP Filter name" - } - }, - "description": "Properties supplied to create or update IpFilterRules" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Single item in a List or Get IpFilterRules operation" - }, - "IpFilterRuleListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/IpFilterRule" - }, - "description": "Result of the List IpFilter Rules operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains an incomplete list of IpFilter Rules" - } - }, - "description": "The response from the List namespace operation." - }, - "VirtualNetworkRule": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "properties": { - "virtualNetworkSubnetId": { - "type": "string", - "description": "Resource ID of Virtual Network Subnet" - } - }, - "description": "Properties supplied to create or update VirtualNetworkRules" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Single item in a List or Get VirtualNetworkRules operation" - }, - "VirtualNetworkRuleListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkRule" - }, - "description": "Result of the List VirtualNetwork Rules operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains an incomplete list of VirtualNetwork Rules" - } - }, - "description": "The response from the List namespace operation." - }, - "Subnet": { - "properties": { - "id": { - "type": "string", - "description": "Resource ID of Virtual Network Subnet" - } - }, - "description": "Properties supplied for Subnet" - }, - "NWRuleSetIpRules": { - "x-ms-client-flatten": true, - "properties": { - "ipMask": { - "type": "string", - "description": "IP Mask" - }, - "action": { - "type": "string", - "description": "The IP Filter Action", - "enum": [ - "Allow" - ], - "x-ms-enum": { - "name": "NetworkRuleIPAction", - "modelAsString": true - } - } - }, - "description": "The response from the List namespace operation." - }, - "NWRuleSetVirtualNetworkRules": { - "x-ms-client-flatten": true, - "properties": { - "subnet": { - "$ref": "#/definitions/Subnet", - "description": "Subnet properties" - }, - "ignoreMissingVnetServiceEndpoint": { - "type": "boolean", - "description": "Value that indicates whether to ignore missing Vnet Service Endpoint" - } - }, - "description": "The response from the List namespace operation." - }, - "NetworkRuleSet": { - "properties": { - "properties": { - "description": "NetworkRuleSet properties", - "x-ms-client-flatten": true, - "properties": { - "defaultAction": { - "type": "string", - "description": "Default Action for Network Rule Set", - "enum": [ - "Allow", - "Deny" - ], - "x-ms-enum": { - "name": "DefaultAction", - "modelAsString": true - } - }, - "virtualNetworkRules": { - "type": "array", - "items": { - "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" - }, - "description": "List VirtualNetwork Rules" - }, - "ipRules": { - "type": "array", - "items": { - "$ref": "#/definitions/NWRuleSetIpRules" - }, - "description": "List of IpRules" - } - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of topic resource." - }, - "Identity": { - "x-ms-client-flatten": true, - "properties": { - "principalId": { - "type": "string", - "description": "ObjectId from the KeyVault" - }, - "tenantId": { - "type": "string", - "description": "TenantId from the KeyVault" - }, - "type": { - "type": "string", - "description": "Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'", - "default": "SystemAssigned", - "enum": [ - "SystemAssigned" - ], - "x-ms-enum": { - "name": "IdentityType", - "modelAsString": false - } - } - }, - "description": "Properties to configure Identity for Bring your Own Keys" - }, - "Encryption": { - "x-ms-client-flatten": true, - "properties": { - "keyVaultProperties": { - "$ref": "#/definitions/KeyVaultProperties", - "description": "Properties of KeyVault" - }, - "keySource": { - "type": "string", - "description": "Enumerates the possible value of keySource for Encryption", - "default": "Microsoft.KeyVault", - "enum": [ - "Microsoft.KeyVault" - ], - "x-ms-enum": { - "name": "keySource", - "modelAsString": false - } - } - }, - "description": "Properties to configure Encryption" - }, - "KeyVaultProperties": { - "properties": { - "keyName": { - "type": "string", - "description": "Name of the Key from KeyVault" - }, - "keyVaultUri": { - "type": "string", - "description": "Uri of KeyVault" - } - }, - "description": "Properties to configure keyVault Properties" - } - }, - "parameters": { - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Subscription credentials that uniquely identify a 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." - }, - "resourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method", - "description": "Name of the Resource group within the Azure subscription." - }, - "namespaceNameParameter": { - "name": "namespaceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 6, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The namespace name" - }, - "skuNameParameter": { - "name": "sku", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The sku type." - }, - "skipParameter": { - "name": "$skip", - "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "topParameter": { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N usageDetails.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "ipFilterRuleNameParameter": { - "name": "ipFilterRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The IP Filter Rule name." - }, - "virtualNetworkRuleNameParameter": { - "name": "virtualNetworkRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The Virtual Network Rule name." - } - } -} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json new file mode 100644 index 000000000000..c5af8932ebb9 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json @@ -0,0 +1,1095 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules": { + "get": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_ListAuthorizationRules", + "x-ms-examples": { + "NameSpaceAuthorizationRuleListAll": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json" + } + }, + "description": "Gets the authorization rules for a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace authorization rules returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}": { + "put": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_CreateOrUpdateAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleCreate": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json" + } + }, + "description": "Creates or updates an authorization rule for a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639410.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "description": "The shared access authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace authorization rule created.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_DeleteAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleDelete": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json" + } + }, + "description": "Deletes a namespace authorization rule.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639417.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace authorization rule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_GetAuthorizationRule", + "x-ms-examples": { + "NameSpaceAuthorizationRuleGet": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json" + } + }, + "description": "Gets an authorization rule for a namespace by rule name.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace authorization rule returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys": { + "post": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_ListKeys", + "x-ms-examples": { + "NameSpaceAuthorizationRuleListKey": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json" + } + }, + "description": "Gets the primary and secondary connection strings for the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639398.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully returned.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys": { + "post": { + "tags": [ + "Namespaces AuthorizationRule" + ], + "operationId": "Namespaces_RegenerateKeys", + "x-ms-examples": { + "NameSpaceAuthorizationRuleRegenerateKey": { + "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json" + } + }, + "description": "Regenerates the primary or secondary connection strings for the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt718977.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateAccessKeyParameters" + }, + "description": "Parameters supplied to regenerate the authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rule successfully regenerated.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules": { + "get": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_ListAuthorizationRules", + "x-ms-examples": { + "QueueAuthorizationRuleListAll": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleListAll.json" + } + }, + "description": "Gets all authorization rules for a queue.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705607.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rules successfully returned.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}": { + "put": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_CreateOrUpdateAuthorizationRule", + "x-ms-examples": { + "QueueAuthorizationRuleCreate": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleCreate.json" + } + }, + "description": "Creates an authorization rule for a queue.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "description": "The shared access authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rule successfully created.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_DeleteAuthorizationRule", + "x-ms-examples": { + "QueueAuthorizationRuleDelete": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleDelete.json" + } + }, + "description": "Deletes a queue authorization rule.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705609.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_GetAuthorizationRule", + "x-ms-examples": { + "QueueAuthorizationRuleGet": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleGet.json" + } + }, + "description": "Gets an authorization rule for a queue by rule name.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705611.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rule successfully returned.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys": { + "post": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_ListKeys", + "x-ms-examples": { + "QueueAuthorizationRuleListKey": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleListKey.json" + } + }, + "description": "Primary and secondary connection strings to the queue.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705608.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully returned.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { + "post": { + "tags": [ + "Queues AuthorizationRule" + ], + "operationId": "Queues_RegenerateKeys", + "x-ms-examples": { + "QueueAuthorizationRuleRegenerateKey": { + "$ref": "./examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json" + } + }, + "description": "Regenerates the primary or secondary connection strings to the queue.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt705606.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateAccessKeyParameters" + }, + "description": "Parameters supplied to regenerate the authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully regenerated.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules": { + "get": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_ListAuthorizationRules", + "x-ms-examples": { + "TopicAuthorizationRuleListAll": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleListAll.json" + } + }, + "description": "Gets authorization rules for a topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Authorization rules successfully returned.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}": { + "put": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_CreateOrUpdateAuthorizationRule", + "x-ms-examples": { + "TopicAuthorizationRuleCreate": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleCreate.json" + } + }, + "description": "Creates an authorization rule for the specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720678.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "description": "The shared access authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic authorization rule successfully created.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_GetAuthorizationRule", + "x-ms-examples": { + "TopicAuthorizationRuleGet": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleGet.json" + } + }, + "description": "Returns the specified authorization rule.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720676.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic authorization rule returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_DeleteAuthorizationRule", + "x-ms-examples": { + "TopicAuthorizationRuleDelete": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleDelete.json" + } + }, + "description": "Deletes a topic authorization rule.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic authorization rule successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys": { + "post": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_ListKeys", + "x-ms-examples": { + "TopicAuthorizationRuleListKey": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleListKey.json" + } + }, + "description": "Gets the primary and secondary connection strings for the topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720677.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully retrieved.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { + "post": { + "tags": [ + "Topics AuthorizationRule" + ], + "operationId": "Topics_RegenerateKeys", + "x-ms-examples": { + "TopicAuthorizationRuleRegenerateKey": { + "$ref": "./examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json" + } + }, + "description": "Regenerates primary or secondary connection strings for the topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt720679.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateAccessKeyParameters" + }, + "description": "Parameters supplied to regenerate the authorization rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully regenerated.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBAuthorizationRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "description": "Result of the List Authorization Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Authorization Rules." + } + }, + "description": "The response to the List Namespace operation." + }, + "SBAuthorizationRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "rights": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Manage", + "Send", + "Listen" + ], + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": false + } + }, + "description": "The rights associated with the rule." + } + }, + "required": [ + "rights" + ], + "description": "AuthorizationRule properties." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of a namespace authorization rule." + }, + "AccessKeys": { + "properties": { + "primaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the created namespace authorization rule." + }, + "secondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the created namespace authorization rule." + }, + "aliasPrimaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the alias if GEO DR is enabled" + }, + "aliasSecondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the alias if GEO DR is enabled" + }, + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." + }, + "keyName": { + "readOnly": true, + "type": "string", + "description": "A string that describes the authorization rule." + } + }, + "description": "Namespace/ServiceBus Connection String" + }, + "RegenerateAccessKeyParameters": { + "properties": { + "keyType": { + "type": "string", + "description": "The access key to regenerate.", + "enum": [ + "PrimaryKey", + "SecondaryKey" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": false + } + }, + "key": { + "type": "string", + "description": "Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType" + } + }, + "required": [ + "keyType" + ], + "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json new file mode 100644 index 000000000000..3d47a43a7882 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json @@ -0,0 +1,132 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability": { + "post": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CheckNameAvailability", + "x-ms-examples": { + "NameSpaceCheckNameAvailability": { + "$ref": "./examples/NameSpaces/SBNameSpaceCheckNameAvailability.json" + } + }, + "description": "Check the give namespace name availability.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailability" + }, + "description": "Parameters to check availability of the given namespace name" + } + ], + "responses": { + "200": { + "description": "check availability returned successfully.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "CheckNameAvailability": { + "properties": { + "name": { + "type": "string", + "description": "The Name to check the namespace name availability and The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number." + } + }, + "required": [ + "name" + ], + "description": "Description of a Check Name availability request properties." + }, + "CheckNameAvailabilityResult": { + "properties": { + "message": { + "readOnly": true, + "type": "string", + "description": "The detailed info regarding the reason associated with the namespace." + }, + "nameAvailable": { + "type": "boolean", + "description": "Value indicating namespace is availability, true if the namespace is available; otherwise, false." + }, + "reason": { + "$ref": "#/definitions/UnavailableReason", + "description": "The reason for unavailability of a namespace." + } + }, + "description": "Description of a Check Name availability request properties." + }, + "UnavailableReason": { + "type": "string", + "enum": [ + "None", + "InvalidName", + "SubscriptionIsDisabled", + "NameInUse", + "NameInLockdown", + "TooManyNamespaceInCurrentSubscription" + ], + "x-ms-enum": { + "name": "UnavailableReason", + "modelAsString": false + }, + "description": "Specifies the reason for the unavailability of the service." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json new file mode 100644 index 000000000000..963984f6b5d3 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json @@ -0,0 +1,750 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_CheckNameAvailability", + "x-ms-examples": { + "AliasNameAvailability": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasCheckNameAvailability.json" + } + }, + "description": "Check the give namespace name availability.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailability" + }, + "description": "Parameters to check availability of the given namespace name" + } + ], + "responses": { + "200": { + "description": "check availability returned successfully.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs": { + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_List", + "x-ms-examples": { + "SBAliasList": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasList.json" + } + }, + "description": "Gets all Alias(Disaster Recovery configurations)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Alias(Disaster Recovery configurations) for servicebus namespace", + "schema": { + "$ref": "#/definitions/ArmDisasterRecoveryListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}": { + "put": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_CreateOrUpdate", + "x-ms-examples": { + "SBAliasCreate": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasCreate.json" + } + }, + "description": "Creates or updates a new Alias(Disaster Recovery configuration)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + }, + "description": "Parameters required to create an Alias(Disaster Recovery configuration)" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Alias(Disaster Recovery configuration) successfully created", + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + } + }, + "201": { + "description": "Alias(Disaster Recovery configuration) creation request received" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_Delete", + "x-ms-examples": { + "SBAliasDelete": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasDelete.json" + } + }, + "description": "Deletes an Alias(Disaster Recovery configuration)", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete Alias(Disaster Recovery configuration) request accepted" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_Get", + "x-ms-examples": { + "SBAliasGet": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasGet.json" + } + }, + "description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Alias(Disaster Recovery configurations)", + "schema": { + "$ref": "#/definitions/ArmDisasterRecovery" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_BreakPairing", + "x-ms-examples": { + "SBEHAliasBreakPairing": { + "$ref": "./examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json" + } + }, + "description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Break-Pairing operation is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_FailOver", + "x-ms-examples": { + "SBAliasFailOver": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasFailOver.json" + } + }, + "description": "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Failover operation is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules": { + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_ListAuthorizationRules", + "x-ms-examples": { + "NameSpaceAuthorizationRuleListAll": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListAll.json" + } + }, + "description": "Gets the authorization rules for a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "DisasterRecoveryConfigs authorization rules returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}": { + "get": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_GetAuthorizationRule", + "x-ms-examples": { + "DisasterRecoveryConfigsAuthorizationRuleGet": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleGet.json" + } + }, + "description": "Gets an authorization rule for a namespace by rule name.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "DisasterRecoveryConfigs authorization rule returned successfully.", + "schema": { + "$ref": "#/definitions/SBAuthorizationRule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys": { + "post": { + "tags": [ + "DisasterRecoveryConfigs" + ], + "operationId": "DisasterRecoveryConfigs_ListKeys", + "x-ms-examples": { + "DisasterRecoveryConfigsAuthorizationRuleListKey": { + "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListKey.json" + } + }, + "description": "Gets the primary and secondary connection strings for the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639398.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Connection strings successfully returned.", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBAuthorizationRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBAuthorizationRule" + }, + "description": "Result of the List Authorization Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Authorization Rules." + } + }, + "description": "The response to the List Namespace operation." + }, + "SBAuthorizationRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "rights": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Manage", + "Send", + "Listen" + ], + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": false + } + }, + "description": "The rights associated with the rule." + } + }, + "required": [ + "rights" + ], + "description": "AuthorizationRule properties." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of a namespace authorization rule." + }, + "AccessKeys": { + "properties": { + "primaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the created namespace authorization rule." + }, + "secondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the created namespace authorization rule." + }, + "aliasPrimaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Primary connection string of the alias if GEO DR is enabled" + }, + "aliasSecondaryConnectionString": { + "readOnly": true, + "type": "string", + "description": "Secondary connection string of the alias if GEO DR is enabled" + }, + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." + }, + "keyName": { + "readOnly": true, + "type": "string", + "description": "A string that describes the authorization rule." + } + }, + "description": "Namespace/ServiceBus Connection String" + }, + "RegenerateAccessKeyParameters": { + "properties": { + "keyType": { + "type": "string", + "description": "The access key to regenerate.", + "enum": [ + "PrimaryKey", + "SecondaryKey" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": false + } + }, + "key": { + "type": "string", + "description": "Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType" + } + }, + "required": [ + "keyType" + ], + "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset." + }, + "UnavailableReason": { + "type": "string", + "enum": [ + "None", + "InvalidName", + "SubscriptionIsDisabled", + "NameInUse", + "NameInLockdown", + "TooManyNamespaceInCurrentSubscription" + ], + "x-ms-enum": { + "name": "UnavailableReason", + "modelAsString": false + }, + "description": "Specifies the reason for the unavailability of the service." + }, + "CheckNameAvailability": { + "properties": { + "name": { + "type": "string", + "description": "The Name to check the namespace name availability and The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number." + } + }, + "required": [ + "name" + ], + "description": "Description of a Check Name availability request properties." + }, + "CheckNameAvailabilityResult": { + "properties": { + "message": { + "readOnly": true, + "type": "string", + "description": "The detailed info regarding the reason associated with the namespace." + }, + "nameAvailable": { + "type": "boolean", + "description": "Value indicating namespace is availability, true if the namespace is available; otherwise, false." + }, + "reason": { + "$ref": "#/definitions/UnavailableReason", + "description": "The reason for unavailability of a namespace." + } + }, + "description": "Description of a Check Name availability request properties." + }, + "ArmDisasterRecovery": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed'", + "enum": [ + "Accepted", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningStateDR", + "modelAsString": false + } + }, + "pendingReplicationOperationsCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of entities pending to be replicated." + }, + "partnerNamespace": { + "type": "string", + "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing" + }, + "alternateName": { + "type": "string", + "description": "Primary/Secondary eventhub namespace name, which is part of GEO DR pairing" + }, + "role": { + "readOnly": true, + "type": "string", + "description": "role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'", + "enum": [ + "Primary", + "PrimaryNotReplicating", + "Secondary" + ], + "x-ms-enum": { + "name": "RoleDisasterRecovery", + "modelAsString": false + } + } + }, + "description": "Properties required to the Create Or Update Alias(Disaster Recovery configurations)" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation" + }, + "ArmDisasterRecoveryListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ArmDisasterRecovery" + }, + "description": "List of Alias(Disaster Recovery configurations)" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration)" + } + }, + "description": "The result of the List Alias(Disaster Recovery configuration) operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json new file mode 100644 index 000000000000..165c2a2c8983 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json @@ -0,0 +1,280 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions": { + "get": { + "tags": [ + "PremiumMessagingRegions" + ], + "operationId": "PremiumMessagingRegions_List", + "x-ms-examples": { + "PremiumMessagingRegionsList": { + "$ref": "./examples/SkuRegions/PremiumMessagingRegions.json" + } + }, + "description": "Gets the available premium messaging regions for servicebus ", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Premium messaging regions successfully returned.", + "schema": { + "$ref": "#/definitions/PremiumMessagingRegionsListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ResourceNamespacePatch": { + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "PremiumMessagingRegions": { + "properties": { + "properties": { + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "Region code" + }, + "fullName": { + "readOnly": true, + "type": "string", + "description": "Full name of the region" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Premium Messaging Region" + }, + "PremiumMessagingRegionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PremiumMessagingRegions" + }, + "description": "Result of the List PremiumMessagingRegions type." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions." + } + }, + "description": "The response of the List PremiumMessagingRegions operation." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a 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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "NamespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The namespace name" + }, + "AuthorizationRuleNameParameter": { + "name": "authorizationRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The authorization rule name." + }, + "QueueNameParameter": { + "name": "queueName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The queue name." + }, + "TopicNameParameter": { + "name": "topicName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The topic name." + }, + "SubscriptionNameParameter": { + "name": "subscriptionName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The subscription name." + }, + "RuleNameParameter": { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The rule name." + }, + "SkuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + }, + "AliasNameParameter": { + "name": "alias", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Disaster Recovery configuration name" + }, + "ConfigNameParameter": { + "name": "configName", + "in": "path", + "description": "The configuration name. Should always be \"$default\".", + "required": true, + "type": "string", + "enum": [ + "$default" + ], + "x-ms-enum": { + "name": "MigrationConfigurationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "$skip", + "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Queue.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Queue.json new file mode 100644 index 000000000000..3507b2b3be4a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Queue.json @@ -0,0 +1,381 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues": { + "get": { + "tags": [ + "Queues" + ], + "operationId": "Queues_ListByNamespace", + "x-ms-examples": { + "QueueListByNameSpace": { + "$ref": "./examples/Queues/SBQueueListByNameSpace.json" + } + }, + "description": "Gets the queues within a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639415.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Queues successfully returned.", + "schema": { + "$ref": "#/definitions/SBQueueListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}": { + "put": { + "tags": [ + "Queues" + ], + "operationId": "Queues_CreateOrUpdate", + "x-ms-examples": { + "QueueCreate": { + "$ref": "./examples/Queues/SBQueueCreate.json" + } + }, + "description": "Creates or updates a Service Bus queue. This operation is idempotent.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639395.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBQueue" + }, + "description": "Parameters supplied to create or update a queue resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Queue successfully created.", + "schema": { + "$ref": "#/definitions/SBQueue" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Queues" + ], + "operationId": "Queues_Delete", + "x-ms-examples": { + "QueueDelete": { + "$ref": "./examples/Queues/SBQueueDelete.json" + } + }, + "description": "Deletes a queue from the specified namespace in a resource group.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639411.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Queue successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Queues" + ], + "operationId": "Queues_Get", + "x-ms-examples": { + "QueueGet": { + "$ref": "./examples/Queues/SBQueueGet.json" + } + }, + "description": "Returns a description for the specified queue.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639380.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/QueueNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Queue description successfully returned.", + "schema": { + "$ref": "#/definitions/SBQueue" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBQueueListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBQueue" + }, + "description": "Result of the List Queues operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of queues." + } + }, + "description": "The response to the List Queues operation." + }, + "SBQueue": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBQueueProperties", + "description": "Queue Properties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of queue Resource." + }, + "SBQueueProperties": { + "properties": { + "countDetails": { + "readOnly": true, + "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails", + "description": "Message Count Details." + }, + "createdAt": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The exact time the message was created." + }, + "updatedAt": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The exact time the message was updated." + }, + "accessedAt": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Last time a message was sent, or the last time there was a receive request to this queue." + }, + "sizeInBytes": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "The size of the queue, in bytes." + }, + "messageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "The number of messages in the queue." + }, + "lockDuration": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute." + }, + "maxSizeInMegabytes": { + "format": "int32", + "type": "integer", + "description": "The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024." + }, + "requiresDuplicateDetection": { + "type": "boolean", + "description": "A value indicating if this queue requires duplicate detection." + }, + "requiresSession": { + "type": "boolean", + "description": "A value that indicates whether the queue supports the concept of sessions." + }, + "defaultMessageTimeToLive": { + "format": "duration", + "type": "string", + "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." + }, + "deadLetteringOnMessageExpiration": { + "type": "boolean", + "description": "A value that indicates whether this queue has dead letter support when a message expires." + }, + "duplicateDetectionHistoryTimeWindow": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." + }, + "maxDeliveryCount": { + "format": "int32", + "type": "integer", + "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10." + }, + "status": { + "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus", + "description": "Enumerates the possible values for the status of a messaging entity." + }, + "enableBatchedOperations": { + "type": "boolean", + "description": "Value that indicates whether server-side batched operations are enabled." + }, + "autoDeleteOnIdle": { + "format": "duration", + "type": "string", + "description": "ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes." + }, + "enablePartitioning": { + "type": "boolean", + "description": "A value that indicates whether the queue is to be partitioned across multiple message brokers." + }, + "enableExpress": { + "type": "boolean", + "description": "A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage." + }, + "forwardTo": { + "type": "string", + "description": "Queue/Topic name to forward the messages" + }, + "forwardDeadLetteredMessagesTo": { + "type": "string", + "description": "Queue/Topic name to forward the Dead Letter message" + } + }, + "description": "The Queue Properties definition." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Rules.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Rules.json new file mode 100644 index 000000000000..0a2be2c6dc3a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Rules.json @@ -0,0 +1,447 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules": { + "get": { + "tags": [ + "Rules" + ], + "operationId": "Rules_ListBySubscriptions", + "x-ms-examples": { + "RulesListBySubscriptions": { + "$ref": "./examples/Rules/RuleListBySubscription.json" + } + }, + "description": "List all the rules within given topic-subscription", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved list of Rules.", + "schema": { + "$ref": "#/definitions/RuleListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}": { + "put": { + "tags": [ + "Rules" + ], + "operationId": "Rules_CreateOrUpdate", + "x-ms-examples": { + "RulesCreateOrUpdate": { + "$ref": "./examples/Rules/RuleCreate.json" + }, + "RulesCreateSqlFilter": { + "$ref": "./examples/Rules/RuleCreate_SqlFilter.json" + }, + "RulesCreateCorrelationFilter": { + "$ref": "./examples/Rules/RuleCreate_CorrelationFilter.json" + } + }, + "description": "Creates a new rule and updates an existing rule", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Rule" + }, + "description": "Parameters supplied to create a rule." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Rule created.", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Rules" + ], + "operationId": "Rules_Delete", + "x-ms-examples": { + "RulesDelete": { + "$ref": "./examples/Rules/RuleDelete.json" + } + }, + "description": "Deletes an existing rule.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Rule deleted." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Rules_Get", + "x-ms-examples": { + "RulesGet": { + "$ref": "./examples/Rules/RuleGet.json" + } + }, + "description": "Retrieves the description for the specified rule.", + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/RuleNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved rule description.", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Rule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Ruleproperties", + "description": "Properties of Rule resource" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of Rule Resource." + }, + "Ruleproperties": { + "properties": { + "action": { + "$ref": "#/definitions/Action", + "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression." + }, + "filterType": { + "$ref": "#/definitions/FilterType", + "description": "Filter type that is evaluated against a BrokeredMessage." + }, + "sqlFilter": { + "$ref": "#/definitions/SqlFilter", + "description": "Properties of sqlFilter" + }, + "correlationFilter": { + "$ref": "#/definitions/CorrelationFilter", + "description": "Properties of correlationFilter" + } + }, + "description": "Description of Rule Resource." + }, + "RuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Rule" + }, + "description": "Result of the List Rules operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of rules" + } + }, + "description": "The response of the List rule operation." + }, + "FilterType": { + "type": "string", + "enum": [ + "SqlFilter", + "CorrelationFilter" + ], + "x-ms-enum": { + "name": "FilterType", + "modelAsString": false + }, + "description": "Rule filter types" + }, + "SqlFilter": { + "type": "object", + "properties": { + "sqlExpression": { + "type": "string", + "description": "The SQL expression. e.g. MyProperty='ABC'" + }, + "compatibilityLevel": { + "format": "int32", + "type": "integer", + "default": 20, + "minimum": 20, + "maximum": 20, + "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." + }, + "requiresPreprocessing": { + "type": "boolean", + "default": true, + "description": "Value that indicates whether the rule action requires preprocessing." + } + }, + "description": "Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline." + }, + "CorrelationFilter": { + "type": "object", + "properties": { + "properties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "dictionary object for custom filters" + }, + "correlationId": { + "type": "string", + "description": "Identifier of the correlation." + }, + "messageId": { + "type": "string", + "description": "Identifier of the message." + }, + "to": { + "type": "string", + "description": "Address to send to." + }, + "replyTo": { + "type": "string", + "description": "Address of the queue to reply to." + }, + "label": { + "type": "string", + "description": "Application specific label." + }, + "sessionId": { + "type": "string", + "description": "Session identifier." + }, + "replyToSessionId": { + "type": "string", + "description": "Session identifier to reply to." + }, + "contentType": { + "type": "string", + "description": "Content type of the message." + }, + "requiresPreprocessing": { + "type": "boolean", + "default": true, + "description": "Value that indicates whether the rule action requires preprocessing." + } + }, + "description": "Represents the correlation filter expression." + }, + "Action": { + "type": "object", + "properties": { + "sqlExpression": { + "type": "string", + "description": "SQL expression. e.g. MyProperty='ABC'" + }, + "compatibilityLevel": { + "format": "int32", + "type": "integer", + "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." + }, + "requiresPreprocessing": { + "type": "boolean", + "default": true, + "description": "Value that indicates whether the rule action requires preprocessing." + } + }, + "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression." + }, + "SqlRuleAction": { + "type": "object", + "properties": { + "sqlExpression": { + "type": "string", + "description": "SQL expression. e.g. MyProperty='ABC'" + }, + "compatibilityLevel": { + "format": "int32", + "type": "integer", + "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." + }, + "requiresPreprocessing": { + "type": "boolean", + "default": true, + "description": "Value that indicates whether the rule action requires preprocessing." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Action" + } + ], + "description": "Represents set of actions written in SQL language-based syntax that is performed against a ServiceBus.Messaging.BrokeredMessage " + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json new file mode 100644 index 000000000000..b276ca8f3ea3 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json @@ -0,0 +1,227 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs": { + "get": { + "tags": [ + "EventHubs" + ], + "operationId": "EventHubs_ListByNamespace", + "x-ms-examples": { + "RulesCreateOrUpdate": { + "$ref": "./examples/SkuRegions/EventHubs.json" + } + }, + "description": "Gets all the Event Hubs in a service bus Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Event Hubs.", + "schema": { + "$ref": "#/definitions/EventHubListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Eventhub": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "partitionIds": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Current number of shards on the Event Hub." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Exact time the Event Hub was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the message was updated." + }, + "messageRetentionInDays": { + "format": "int64", + "type": "integer", + "maximum": 7, + "minimum": 1, + "description": "Number of days to retain the events for this Event Hub, value should be 1 to 7 days" + }, + "partitionCount": { + "format": "int64", + "type": "integer", + "maximum": 32, + "minimum": 1, + "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions." + }, + "status": { + "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus", + "description": "Enumerates the possible values for the status of a Event Hub." + }, + "captureDescription": { + "$ref": "#/definitions/CaptureDescription", + "description": "Properties of capture description" + } + }, + "description": "Properties supplied to the Create Or Update Event Hub operation." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Single item in List or Get Event Hub operation" + }, + "EventHubListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Eventhub" + }, + "description": "Result of the List EventHubs operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of EventHubs." + } + }, + "description": "The result of the List EventHubs operation." + }, + "CaptureDescription": { + "properties": { + "enabled": { + "type": "boolean", + "description": "A value that indicates whether capture description is enabled. " + }, + "encoding": { + "type": "string", + "description": "Enumerates the possible values for the encoding format of capture description.", + "enum": [ + "Avro", + "AvroDeflate" + ], + "x-ms-enum": { + "name": "EncodingCaptureDescription", + "modelAsString": false + } + }, + "intervalInSeconds": { + "format": "int32", + "type": "integer", + "maximum": 900, + "minimum": 60, + "description": "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds" + }, + "sizeLimitInBytes": { + "format": "int32", + "type": "integer", + "maximum": 524288000, + "minimum": 10485760, + "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 and 524288000 bytes" + }, + "destination": { + "$ref": "#/definitions/Destination", + "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)" + } + }, + "description": "Properties to configure capture description for eventhub" + }, + "Destination": { + "properties": { + "name": { + "type": "string", + "description": "Name for capture destination" + }, + "properties": { + "x-ms-client-flatten": true, + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "Resource id of the storage account to be used to create the blobs" + }, + "blobContainer": { + "type": "string", + "description": "Blob container Name" + }, + "archiveNameFormat": { + "type": "string", + "description": "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order" + } + }, + "description": "Properties describing the storage account, blob container and archive name format for capture destination" + } + }, + "description": "Capture storage details for capture description" + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrate.json new file mode 100644 index 000000000000..73bb7df40663 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrate.json @@ -0,0 +1,113 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrate": { + "post": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Migrate", + "x-ms-examples": { + "NameSpaceUpdate": { + "$ref": "./examples/NameSpaces/SBNamespaceMigrate.json" + } + }, + "description": "This operation Migrate the given namespace to provided name type", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespaceMigrate" + }, + "description": "Parameters supplied to migrate namespace type." + } + ], + "responses": { + "200": { + "description": "Migrate Namespace type is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBNamespaceMigrate": { + "type": "object", + "properties": { + "targetNamespaceType": { + "type": "string", + "description": "Type of namespaces", + "enum": [ + "Messaging", + "NotificationHub", + "Mixed", + "EventHub", + "Relay" + ], + "x-ms-enum": { + "name": "NameSpaceType", + "modelAsString": false + } + } + }, + "required": [ + "targetNamespaceType" + ], + "description": "Namespace Migrate Object" + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json new file mode 100644 index 000000000000..1fd6e21e8fc1 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json @@ -0,0 +1,375 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations": { + "get": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_List", + "x-ms-examples": { + "MigrationConfigurationsList": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationList.json" + } + }, + "description": "Gets all migrationConfigurations", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of migrationConfigurations for servicebus namespace", + "schema": { + "$ref": "#/definitions/MigrationConfigListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}": { + "put": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_CreateAndStartMigration", + "x-ms-examples": { + "MigrationConfigurationsStartMigration": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json" + } + }, + "description": "Creates Migration configuration and starts migration of entities from Standard to Premium namespace", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MigrationConfigProperties" + }, + "description": "Parameters required to create Migration Configuration" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Migration Config successfully created", + "schema": { + "$ref": "#/definitions/MigrationConfigProperties" + } + }, + "201": { + "description": "Migration Config creation request received" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_Delete", + "x-ms-examples": { + "MigrationConfigurationsDelete": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationDelete.json" + } + }, + "description": "Deletes a MigrationConfiguration", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete Migration Config request accepted" + }, + "204": { + "description": "Not Found" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_Get", + "x-ms-examples": { + "MigrationConfigurationsGet": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationGet.json" + } + }, + "description": "Retrieves Migration Config", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved Migration Config)", + "schema": { + "$ref": "#/definitions/MigrationConfigProperties" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade": { + "post": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_CompleteMigration", + "x-ms-examples": { + "MigrationConfigurationsCompleteMigration": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json" + } + }, + "description": "This operation Completes Migration of entities by pointing the connection strings to Premium namespace and any entities created after the operation will be under Premium Namespace. CompleteMigration operation will fail when entity migration is in-progress.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "upgrade operation of Migration Config is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert": { + "post": { + "tags": [ + "MigrationConfigs" + ], + "operationId": "MigrationConfigs_Revert", + "x-ms-examples": { + "MigrationConfigurationsRevert": { + "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationRevert.json" + } + }, + "description": "This operation reverts Migration", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ConfigNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "MigrationConfig Revert operation is successful." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "MigrationConfigProperties": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of Migration Configuration " + }, + "pendingReplicationOperationsCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of entities pending to be replicated." + }, + "targetNamespace": { + "type": "string", + "description": "Existing premium Namespace ARM Id name which has no entities, will be used for migration" + }, + "postMigrationName": { + "type": "string", + "description": "Name to access Standard Namespace after migration" + }, + "migrationState": { + "readOnly": true, + "type": "string", + "description": "State in which Standard to Premium Migration is, possible values : Unknown, Reverting, Completing, Initiating, Syncing, Active" + } + }, + "required": [ + "targetNamespace", + "postMigrationName" + ], + "description": "Properties required to the Create Migration Configuration" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Single item in List or Get Migration Config operation" + }, + "MigrationConfigListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MigrationConfigProperties" + }, + "description": "List of Migration Configs" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of migrationConfigurations" + } + }, + "description": "The result of the List migrationConfigurations operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/namespaces.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/namespaces.json new file mode 100644 index 000000000000..0a0a320f695c --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/namespaces.json @@ -0,0 +1,491 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_List", + "x-ms-examples": { + "NameSpaceList": { + "$ref": "./examples/NameSpaces/SBNameSpaceList.json" + } + }, + "description": "Gets all the available namespaces within the subscription, irrespective of the resource groups.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespaceListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces": { + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_ListByResourceGroup", + "x-ms-examples": { + "NameSpaceListByResourceGroup": { + "$ref": "./examples/NameSpaces/SBNameSpaceListByResourceGroup.json" + } + }, + "description": "Gets the available namespaces within a resource group.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespaces successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespaceListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}": { + "put": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_CreateOrUpdate", + "x-ms-examples": { + "NameSpaceCreate": { + "$ref": "./examples/NameSpaces/SBNameSpaceCreate.json" + } + }, + "description": "Creates or updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Parameters supplied to create a namespace resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace created successfully.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "201": { + "description": "Namespace create request accepted.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "202": { + "description": "Namespace create or update request accepted." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Delete", + "x-ms-examples": { + "NameSpaceDelete": { + "$ref": "./examples/NameSpaces/SBNameSpaceDelete.json" + } + }, + "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully deleted." + }, + "202": { + "description": "Namespace delete request accepted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Get", + "x-ms-examples": { + "NameSpaceGet": { + "$ref": "./examples/NameSpaces/SBNameSpaceGet.json" + } + }, + "description": "Gets a description for the specified namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace successfully returned.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Namespaces" + ], + "operationId": "Namespaces_Update", + "x-ms-examples": { + "NameSpaceUpdate": { + "$ref": "./examples/NameSpaces/SBNameSpaceUpdate.json" + } + }, + "description": "Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBNamespaceUpdateParameters" + }, + "description": "Parameters supplied to update a namespace resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace updated successfully.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "201": { + "description": "Namespace update request accepted.", + "schema": { + "$ref": "#/definitions/SBNamespace" + } + }, + "202": { + "description": "Namespace update request accepted." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ResourceNamespacePatch": { + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "SBNamespaceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBNamespace" + }, + "description": "Result of the List Namespace operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces." + } + }, + "description": "The response of the List Namespace operation." + }, + "SBNamespace": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of Sku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceUpdateParameters": { + "properties": { + "sku": { + "$ref": "#/definitions/SBSku", + "description": "Properties of Sku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBNamespaceProperties", + "description": "Properties of the namespace." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Description of a namespace resource." + }, + "SBNamespaceProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the namespace." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "serviceBusEndpoint": { + "readOnly": true, + "type": "string", + "description": "Endpoint you can use to perform Service Bus operations." + }, + "metricId": { + "readOnly": true, + "type": "string", + "description": "Identifier for Azure Insights metrics" + } + }, + "description": "Properties of the namespace." + }, + "SBSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of this SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "description": "The billing tier of this particular SKU.", + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." + } + }, + "required": [ + "name" + ], + "description": "SKU of the namespace." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/networksets.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/networksets.json new file mode 100644 index 000000000000..686dcf03fb43 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/networksets.json @@ -0,0 +1,283 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default": { + "put": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetCreate": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" + } + }, + "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", + "description": "Create or update NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "The Namespace IpFilterRule." + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetGet": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json" + } + }, + "operationId": "Namespaces_GetNetworkRuleSet", + "description": "Gets NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Namespace NetworkRuleSet successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSet" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets": { + "get": { + "tags": [ + "Namespaces" + ], + "x-ms-examples": { + "NameSpaceNetworkRuleSetList": { + "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json" + } + }, + "operationId": "Namespaces_ListNetworkRuleSets", + "description": "Gets list of NetworkRuleSet for a Namespace.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of NetworkRuleSets for Namespace successfully returned.", + "schema": { + "$ref": "#/definitions/NetworkRuleSetListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "NWRuleSetIpRules": { + "x-ms-client-flatten": true, + "properties": { + "ipMask": { + "type": "string", + "description": "IP Mask" + }, + "action": { + "type": "string", + "description": "The IP Filter Action", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "NetworkRuleIPAction", + "modelAsString": true + }, + "default": "Allow" + } + }, + "description": "Description of NetWorkRuleSet - IpRules resource." + }, + "Subnet": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID of Virtual Network Subnet" + } + }, + "required": [ + "id" + ], + "description": "Properties supplied for Subnet" + }, + "NWRuleSetVirtualNetworkRules": { + "x-ms-client-flatten": true, + "properties": { + "subnet": { + "$ref": "#/definitions/Subnet", + "description": "Subnet properties" + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Value that indicates whether to ignore missing VNet Service Endpoint" + } + }, + "description": "Description of VirtualNetworkRules - NetworkRules resource." + }, + "NetworkRuleSet": { + "properties": { + "properties": { + "description": "NetworkRuleSet properties", + "x-ms-client-flatten": true, + "properties": { + "defaultAction": { + "type": "string", + "description": "Default Action for Network Rule Set", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + } + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" + }, + "description": "List VirtualNetwork Rules" + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NWRuleSetIpRules" + }, + "description": "List of IpRules" + } + } + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of NetworkRuleSet resource." + }, + "NetworkRuleSetListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkRuleSet" + }, + "description": "Result of the List NetworkRuleSet operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet." + } + }, + "description": "The response of the List NetworkRuleSet operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/operations.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/operations.json new file mode 100644 index 000000000000..0bedb0121ae5 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/operations.json @@ -0,0 +1,126 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ServiceBus/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/SBOperations_List.json" + } + }, + "description": "Lists all of the available ServiceBus REST API operations.", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list ServiceBus operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "List of ServiceBus operations supported by the Microsoft.ServiceBus resource provider.", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "A ServiceBus REST API operation", + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.ServiceBus" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource on which the operation is performed: Invoice, etc." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Operation type: Read, write, delete, etc." + } + } + } + } + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json deleted file mode 100644 index 2970266db160..000000000000 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json +++ /dev/null @@ -1,4922 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "ServiceBusManagementClient", - "description": "Azure Service Bus client", - "version": "2017-04-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/providers/Microsoft.ServiceBus/operations": { - "get": { - "tags": [ - "Operations" - ], - "operationId": "Operations_List", - "x-ms-examples": { - "OperationsList": { - "$ref": "./examples/SBOperations_List.json" - } - }, - "description": "Lists all of the available ServiceBus REST API operations.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/OperationListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability": { - "post": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_CheckNameAvailability", - "x-ms-examples": { - "NameSpaceCheckNameAvailability": { - "$ref": "./examples/NameSpaces/SBNameSpaceCheckNameAvailability.json" - } - }, - "description": "Check the give namespace name availability.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CheckNameAvailability" - }, - "description": "Parameters to check availability of the given namespace name" - } - ], - "responses": { - "200": { - "description": "check availability returned successfully.", - "schema": { - "$ref": "#/definitions/CheckNameAvailabilityResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_List", - "x-ms-examples": { - "NameSpaceList": { - "$ref": "./examples/NameSpaces/SBNameSpaceList.json" - } - }, - "description": "Gets all the available namespaces within the subscription, irrespective of the resource groups.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespaces successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespaceListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_ListByResourceGroup", - "x-ms-examples": { - "NameSpaceListByResourceGroup": { - "$ref": "./examples/NameSpaces/SBNameSpaceListByResourceGroup.json" - } - }, - "description": "Gets the available namespaces within a resource group.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespaces successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespaceListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}": { - "put": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_CreateOrUpdate", - "x-ms-examples": { - "NameSpaceCreate": { - "$ref": "./examples/NameSpaces/SBNameSpaceCreate.json" - } - }, - "description": "Creates or updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "name": "namespaceName", - "in": "path", - "required": true, - "type": "string", - "description": "The namespace name." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBNamespace" - }, - "description": "Parameters supplied to create a namespace resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Namespace create request accepted.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "200": { - "description": "Namespace created successfully.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "202": { - "description": "Namespace create or update request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_Delete", - "x-ms-examples": { - "NameSpaceDelete": { - "$ref": "./examples/NameSpaces/SBNameSpaceDelete.json" - } - }, - "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace successfully deleted." - }, - "202": { - "description": "Namespace delete request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true - }, - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_Get", - "x-ms-examples": { - "NameSpaceGet": { - "$ref": "./examples/NameSpaces/SBNameSpaceGet.json" - } - }, - "description": "Gets a description for the specified namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace successfully returned.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "patch": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_Update", - "x-ms-examples": { - "NameSpaceUpdate": { - "$ref": "./examples/NameSpaces/SBNameSpaceUpdate.json" - } - }, - "description": "Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBNamespaceUpdateParameters" - }, - "description": "Parameters supplied to update a namespace resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Namespace update request accepted.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "200": { - "description": "Namespace updated successfully.", - "schema": { - "$ref": "#/definitions/SBNamespace" - } - }, - "202": { - "description": "Namespace update request accepted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules": { - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_ListAuthorizationRules", - "x-ms-examples": { - "NameSpaceAuthorizationRuleListAll": { - "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleListAll.json" - } - }, - "description": "Gets the authorization rules for a namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace authorization rules returned successfully.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}": { - "put": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_CreateOrUpdateAuthorizationRule", - "x-ms-examples": { - "NameSpaceAuthorizationRuleCreate": { - "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleCreate.json" - } - }, - "description": "Creates or updates an authorization rule for a namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639410.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - }, - "description": "The shared access authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace authorization rule created.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_DeleteAuthorizationRule", - "x-ms-examples": { - "NameSpaceAuthorizationRuleDelete": { - "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleDelete.json" - } - }, - "description": "Deletes a namespace authorization rule.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639417.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Namespace authorization rule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_GetAuthorizationRule", - "x-ms-examples": { - "NameSpaceAuthorizationRuleGet": { - "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleGet.json" - } - }, - "description": "Gets an authorization rule for a namespace by rule name.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace authorization rule returned successfully.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys": { - "post": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_ListKeys", - "x-ms-examples": { - "NameSpaceAuthorizationRuleListKey": { - "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleListKey.json" - } - }, - "description": "Gets the primary and secondary connection strings for the namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639398.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Connection strings successfully returned.", - "schema": { - "$ref": "#/definitions/AccessKeys" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys": { - "post": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_RegenerateKeys", - "x-ms-examples": { - "NameSpaceAuthorizationRuleRegenerateKey": { - "$ref": "./examples/NameSpaces/SBNameSpaceAuthorizationRuleRegenerateKey.json" - } - }, - "description": "Regenerates the primary or secondary connection strings for the namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt718977.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RegenerateAccessKeyParameters" - }, - "description": "Parameters supplied to regenerate the authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Authorization rule successfully regenerated.", - "schema": { - "$ref": "#/definitions/AccessKeys" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrate": { - "post": { - "tags": [ - "Namespaces" - ], - "operationId": "Namespaces_Migrate", - "x-ms-examples": { - "NameSpaceUpdate": { - "$ref": "./examples/NameSpaces/SBNamespaceMigrate.json" - } - }, - "description": "This operation Migrate the given namespace to provided name type", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBNamespaceMigrate" - }, - "description": "Parameters supplied to migrate namespace type." - } - ], - "responses": { - "200": { - "description": "Migrate Namespace type is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/CheckNameAvailability": { - "post": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_CheckNameAvailability", - "x-ms-examples": { - "AliasNameAvailability": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasCheckNameAvailability.json" - } - }, - "description": "Check the give namespace name availability.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CheckNameAvailability" - }, - "description": "Parameters to check availability of the given namespace name" - } - ], - "responses": { - "200": { - "description": "check availability returned successfully.", - "schema": { - "$ref": "#/definitions/CheckNameAvailabilityResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs": { - "get": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_List", - "x-ms-examples": { - "SBAliasList": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasList.json" - } - }, - "description": "Gets all Alias(Disaster Recovery configurations)", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of Alias(Disaster Recovery configurations) for servicebus namespace", - "schema": { - "$ref": "#/definitions/ArmDisasterRecoveryListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}": { - "put": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_CreateOrUpdate", - "x-ms-examples": { - "SBAliasCreate": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasCreate.json" - } - }, - "description": "Creates or updates a new Alias(Disaster Recovery configuration)", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ArmDisasterRecovery" - }, - "description": "Parameters required to create an Alias(Disaster Recovery configuration)" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Alias(Disaster Recovery configuration) successfully created", - "schema": { - "$ref": "#/definitions/ArmDisasterRecovery" - } - }, - "201": { - "description": "Alias(Disaster Recovery configuration) creation request received" - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_Delete", - "x-ms-examples": { - "SBAliasDelete": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasDelete.json" - } - }, - "description": "Deletes an Alias(Disaster Recovery configuration)", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Delete Alias(Disaster Recovery configuration) request accepted" - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_Get", - "x-ms-examples": { - "SBAliasGet": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasGet.json" - } - }, - "description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the Alias(Disaster Recovery configurations)", - "schema": { - "$ref": "#/definitions/ArmDisasterRecovery" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing": { - "post": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_BreakPairing", - "x-ms-examples": { - "SBEHAliasBreakPairing": { - "$ref": "./examples/disasterRecoveryConfigs/SBEHAliasBreakPairing.json" - } - }, - "description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Break-Pairing operation is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover": { - "post": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_FailOver", - "x-ms-examples": { - "SBAliasFailOver": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasFailOver.json" - } - }, - "description": "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Failover operation is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules": { - "get": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_ListAuthorizationRules", - "x-ms-examples": { - "NameSpaceAuthorizationRuleListAll": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListAll.json" - } - }, - "description": "Gets the authorization rules for a namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "DisasterRecoveryConfigs authorization rules returned successfully.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}": { - "get": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_GetAuthorizationRule", - "x-ms-examples": { - "DisasterRecoveryConfigsAuthorizationRuleGet": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleGet.json" - } - }, - "description": "Gets an authorization rule for a namespace by rule name.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "DisasterRecoveryConfigs authorization rule returned successfully.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/AuthorizationRules/{authorizationRuleName}/listKeys": { - "post": { - "tags": [ - "DisasterRecoveryConfigs" - ], - "operationId": "DisasterRecoveryConfigs_ListKeys", - "x-ms-examples": { - "DisasterRecoveryConfigsAuthorizationRuleListKey": { - "$ref": "./examples/disasterRecoveryConfigs/SBAliasAuthorizationRuleListKey.json" - } - }, - "description": "Gets the primary and secondary connection strings for the namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639398.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/AliasNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Connection strings successfully returned.", - "schema": { - "$ref": "#/definitions/AccessKeys" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations": { - "get": { - "tags": [ - "MigrationConfigs" - ], - "operationId": "MigrationConfigs_List", - "x-ms-examples": { - "MigrationConfigurationsList": { - "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationList.json" - } - }, - "description": "Gets all migrationConfigurations", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of migrationConfigurations for servicebus namespace", - "schema": { - "$ref": "#/definitions/MigrationConfigListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}": { - "put": { - "tags": [ - "MigrationConfigs" - ], - "operationId": "MigrationConfigs_CreateAndStartMigration", - "x-ms-examples": { - "MigrationConfigurationsStartMigration": { - "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationCreateAndStartMigration.json" - } - }, - "description": "Creates Migration configuration and starts migration of entities from Standard to Premium namespace", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MigrationConfigProperties" - }, - "description": "Parameters required to create Migration Configuration" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Migration Config successfully created", - "schema": { - "$ref": "#/definitions/MigrationConfigProperties" - } - }, - "201": { - "description": "Migration Config creation request received" - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "MigrationConfigs" - ], - "operationId": "MigrationConfigs_Delete", - "x-ms-examples": { - "MigrationConfigurationsDelete": { - "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationDelete.json" - } - }, - "description": "Deletes a MigrationConfiguration", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Delete Migration Config request accepted" - }, - "204": { - "description": "Not Found" - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "MigrationConfigs" - ], - "operationId": "MigrationConfigs_Get", - "x-ms-examples": { - "MigrationConfigurationsGet": { - "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationGet.json" - } - }, - "description": "Retrieves Migration Config", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved Migration Config)", - "schema": { - "$ref": "#/definitions/MigrationConfigProperties" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/upgrade": { - "post": { - "tags": [ - "MigrationConfigs" - ], - "operationId": "MigrationConfigs_CompleteMigration", - "x-ms-examples": { - "MigrationConfigurationsCompleteMigration": { - "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationCompleteMigration.json" - } - }, - "description": "This operation Completes Migration of entities by pointing the connection strings to Premium namespace and any entities created after the operation will be under Premium Namespace. CompleteMigration operation will fail when entity migration is in-progress.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "upgrade operation of Migration Config is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/migrationConfigurations/{configName}/revert": { - "post": { - "tags": [ - "MigrationConfigs" - ], - "operationId": "MigrationConfigs_Revert", - "x-ms-examples": { - "MigrationConfigurationsRevert": { - "$ref": "./examples/Migrationconfigurations/SBMigrationconfigurationRevert.json" - } - }, - "description": "This operation reverts Migration", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ConfigNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "MigrationConfig Revert operation is successful." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues": { - "get": { - "tags": [ - "Queues" - ], - "operationId": "Queues_ListByNamespace", - "x-ms-examples": { - "QueueListByNameSpace": { - "$ref": "./examples/Queues/SBQueueListByNameSpace.json" - } - }, - "description": "Gets the queues within a namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639415.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkipParameter" - }, - { - "$ref": "#/parameters/TopParameter" - } - ], - "responses": { - "200": { - "description": "Queues successfully returned.", - "schema": { - "$ref": "#/definitions/SBQueueListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}": { - "put": { - "tags": [ - "Queues" - ], - "operationId": "Queues_CreateOrUpdate", - "x-ms-examples": { - "QueueCreate": { - "$ref": "./examples/Queues/SBQueueCreate.json" - } - }, - "description": "Creates or updates a Service Bus queue. This operation is idempotent.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639395.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBQueue" - }, - "description": "Parameters supplied to create or update a queue resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Queue successfully created.", - "schema": { - "$ref": "#/definitions/SBQueue" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Queues" - ], - "operationId": "Queues_Delete", - "x-ms-examples": { - "QueueDelete": { - "$ref": "./examples/Queues/SBQueueDelete.json" - } - }, - "description": "Deletes a queue from the specified namespace in a resource group.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639411.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Queue successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Queues" - ], - "operationId": "Queues_Get", - "x-ms-examples": { - "QueueGet": { - "$ref": "./examples/Queues/SBQueueGet.json" - } - }, - "description": "Returns a description for the specified queue.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639380.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Queue description successfully returned.", - "schema": { - "$ref": "#/definitions/SBQueue" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules": { - "get": { - "tags": [ - "Queues" - ], - "operationId": "Queues_ListAuthorizationRules", - "x-ms-examples": { - "QueueAuthorizationRuleListAll": { - "$ref": "./examples/Queues/SBQueueAuthorizationRuleListAll.json" - } - }, - "description": "Gets all authorization rules for a queue.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt705607.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Authorization rules successfully returned.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}": { - "put": { - "tags": [ - "Queues" - ], - "operationId": "Queues_CreateOrUpdateAuthorizationRule", - "x-ms-examples": { - "QueueAuthorizationRuleCreate": { - "$ref": "./examples/Queues/SBQueueAuthorizationRuleCreate.json" - } - }, - "description": "Creates an authorization rule for a queue.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - }, - "description": "The shared access authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Authorization rule successfully created.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Queues" - ], - "operationId": "Queues_DeleteAuthorizationRule", - "x-ms-examples": { - "QueueAuthorizationRuleDelete": { - "$ref": "./examples/Queues/SBQueueAuthorizationRuleDelete.json" - } - }, - "description": "Deletes a queue authorization rule.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt705609.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Authorization rule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Queues" - ], - "operationId": "Queues_GetAuthorizationRule", - "x-ms-examples": { - "QueueAuthorizationRuleGet": { - "$ref": "./examples/Queues/SBQueueAuthorizationRuleGet.json" - } - }, - "description": "Gets an authorization rule for a queue by rule name.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt705611.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Authorization rule successfully returned.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/ListKeys": { - "post": { - "tags": [ - "Queues" - ], - "operationId": "Queues_ListKeys", - "x-ms-examples": { - "QueueAuthorizationRuleListKey": { - "$ref": "./examples/Queues/SBQueueAuthorizationRuleListKey.json" - } - }, - "description": "Primary and secondary connection strings to the queue.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt705608.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Connection strings successfully returned.", - "schema": { - "$ref": "#/definitions/AccessKeys" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { - "post": { - "tags": [ - "Queues" - ], - "operationId": "Queues_RegenerateKeys", - "x-ms-examples": { - "QueueAuthorizationRuleRegenerateKey": { - "$ref": "./examples/Queues/SBQueueAuthorizationRuleRegenerateKey.json" - } - }, - "description": "Regenerates the primary or secondary connection strings to the queue.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt705606.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/QueueNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RegenerateAccessKeyParameters" - }, - "description": "Parameters supplied to regenerate the authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Connection strings successfully regenerated.", - "schema": { - "$ref": "#/definitions/AccessKeys" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics": { - "get": { - "tags": [ - "Topics" - ], - "operationId": "Topics_ListByNamespace", - "x-ms-examples": { - "TopicGet": { - "$ref": "./examples/Topics/SBTopicListByNameSpace.json" - } - }, - "description": "Gets all the topics in a namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639388.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkipParameter" - }, - { - "$ref": "#/parameters/TopParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved list of topics.", - "schema": { - "$ref": "#/definitions/SBTopicListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}": { - "put": { - "tags": [ - "Topics" - ], - "operationId": "Topics_CreateOrUpdate", - "x-ms-examples": { - "TopicCreate": { - "$ref": "./examples/Topics/SBTopicCreate.json" - } - }, - "description": "Creates a topic in the specified namespace.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639409.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBTopic" - }, - "description": "Parameters supplied to create a topic resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Topic successfully created.", - "schema": { - "$ref": "#/definitions/SBTopic" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Topics" - ], - "operationId": "Topics_Delete", - "x-ms-examples": { - "TopicDelete": { - "$ref": "./examples/Topics/SBTopicDelete.json" - } - }, - "description": "Deletes a topic from the specified namespace and resource group.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639404.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "200": { - "description": "Topic successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Topics" - ], - "operationId": "Topics_Get", - "x-ms-examples": { - "TopicGet": { - "$ref": "./examples/Topics/SBTopicGet.json" - } - }, - "description": "Returns a description for the specified topic.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639399.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Topic description successfully retrieved.", - "schema": { - "$ref": "#/definitions/SBTopic" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules": { - "get": { - "tags": [ - "Topics" - ], - "operationId": "Topics_ListAuthorizationRules", - "x-ms-examples": { - "TopicAuthorizationRuleListAll": { - "$ref": "./examples/Topics/SBTopicAuthorizationRuleListAll.json" - } - }, - "description": "Gets authorization rules for a topic.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Authorization rules successfully returned.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}": { - "put": { - "tags": [ - "Topics" - ], - "operationId": "Topics_CreateOrUpdateAuthorizationRule", - "x-ms-examples": { - "TopicAuthorizationRuleCreate": { - "$ref": "./examples/Topics/SBTopicAuthorizationRuleCreate.json" - } - }, - "description": "Creates an authorization rule for the specified topic.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt720678.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - }, - "description": "The shared access authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Topic authorization rule successfully created.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Topics" - ], - "operationId": "Topics_GetAuthorizationRule", - "x-ms-examples": { - "TopicAuthorizationRuleGet": { - "$ref": "./examples/Topics/SBTopicAuthorizationRuleGet.json" - } - }, - "description": "Returns the specified authorization rule.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt720676.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Topic authorization rule returned successfully.", - "schema": { - "$ref": "#/definitions/SBAuthorizationRule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Topics" - ], - "operationId": "Topics_DeleteAuthorizationRule", - "x-ms-examples": { - "TopicAuthorizationRuleDelete": { - "$ref": "./examples/Topics/SBTopicAuthorizationRuleDelete.json" - } - }, - "description": "Deletes a topic authorization rule.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Topic authorization rule successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys": { - "post": { - "tags": [ - "Topics" - ], - "operationId": "Topics_ListKeys", - "x-ms-examples": { - "TopicAuthorizationRuleListKey": { - "$ref": "./examples/Topics/SBTopicAuthorizationRuleListKey.json" - } - }, - "description": "Gets the primary and secondary connection strings for the topic.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt720677.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Connection strings successfully retrieved.", - "schema": { - "$ref": "#/definitions/AccessKeys" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { - "post": { - "tags": [ - "Topics" - ], - "operationId": "Topics_RegenerateKeys", - "x-ms-examples": { - "TopicAuthorizationRuleRegenerateKey": { - "$ref": "./examples/Topics/SBTopicAuthorizationRuleRegenerateKey.json" - } - }, - "description": "Regenerates primary or secondary connection strings for the topic.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt720679.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/AuthorizationRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RegenerateAccessKeyParameters" - }, - "description": "Parameters supplied to regenerate the authorization rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Connection strings successfully regenerated.", - "schema": { - "$ref": "#/definitions/AccessKeys" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions": { - "get": { - "tags": [ - "Subscriptions" - ], - "operationId": "Subscriptions_ListByTopic", - "x-ms-examples": { - "SubscriptionListByTopic": { - "$ref": "./examples/Subscriptions/SBSubscriptionListByTopic.json" - } - }, - "description": "List all the subscriptions under a specified topic.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639400.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkipParameter" - }, - { - "$ref": "#/parameters/TopParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved list of subscriptions.", - "schema": { - "$ref": "#/definitions/SBSubscriptionListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}": { - "put": { - "tags": [ - "Subscriptions" - ], - "operationId": "Subscriptions_CreateOrUpdate", - "x-ms-examples": { - "SubscriptionCreate": { - "$ref": "./examples/Subscriptions/SBSubscriptionCreate.json" - } - }, - "description": "Creates a topic subscription.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639385.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/SBSubscription" - }, - "description": "Parameters supplied to create a subscription resource." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Subscription create request accepted.", - "schema": { - "$ref": "#/definitions/SBSubscription" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Subscriptions" - ], - "operationId": "Subscriptions_Delete", - "x-ms-examples": { - "SubscriptionDelete": { - "$ref": "./examples/Subscriptions/SBSubscriptionDelete.json" - } - }, - "description": "Deletes a subscription from the specified topic.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639381.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No content." - }, - "200": { - "description": "Subscription successfully deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Subscriptions" - ], - "operationId": "Subscriptions_Get", - "x-ms-examples": { - "SubscriptionGet": { - "$ref": "./examples/Subscriptions/SBSubscriptionGet.json" - } - }, - "description": "Returns a subscription description for the specified topic.", - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/azure/mt639402.aspx" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved subscription description.", - "schema": { - "$ref": "#/definitions/SBSubscription" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules": { - "get": { - "tags": [ - "Rules" - ], - "operationId": "Rules_ListBySubscriptions", - "x-ms-examples": { - "RulesListBySubscriptions": { - "$ref": "./examples/Rules/RuleListBySubscription.json" - } - }, - "description": "List all the rules within given topic-subscription", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkipParameter" - }, - { - "$ref": "#/parameters/TopParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved list of Rules.", - "schema": { - "$ref": "#/definitions/RuleListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName}": { - "put": { - "tags": [ - "Rules" - ], - "operationId": "Rules_CreateOrUpdate", - "x-ms-examples": { - "RulesCreateOrUpdate": { - "$ref": "./examples/Rules/RuleCreate.json" - }, - "RulesCreateSqlFilter": { - "$ref": "./examples/Rules/RuleCreate_SqlFilter.json" - }, - "RulesCreateCorrelationFilter": { - "$ref": "./examples/Rules/RuleCreate_CorrelationFilter.json" - } - }, - "description": "Creates a new rule and updates an existing rule", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Rule" - }, - "description": "Parameters supplied to create a rule." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Rule created.", - "schema": { - "$ref": "#/definitions/Rule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Rules" - ], - "operationId": "Rules_Delete", - "x-ms-examples": { - "RulesDelete": { - "$ref": "./examples/Rules/RuleDelete.json" - } - }, - "description": "Deletes an existing rule.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "200": { - "description": "Rule deleted." - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Subscriptions" - ], - "operationId": "Rules_Get", - "x-ms-examples": { - "RulesGet": { - "$ref": "./examples/Rules/RuleGet.json" - } - }, - "description": "Retrieves the description for the specified rule.", - "externalDocs": { - "url": "" - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/TopicNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved rule description.", - "schema": { - "$ref": "#/definitions/Rule" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions": { - "get": { - "tags": [ - "Regions" - ], - "operationId": "Regions_ListBySku", - "x-ms-examples": { - "RegionsListBySku": { - "$ref": "./examples/SkuRegions/SkuRegions.json" - } - }, - "description": "Gets the available Regions for a given sku", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/SkuNameParameter" - } - ], - "responses": { - "200": { - "description": "Regions successfully returned.", - "schema": { - "$ref": "#/definitions/PremiumMessagingRegionsListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/premiumMessagingRegions": { - "get": { - "tags": [ - "PremiumMessagingRegions" - ], - "operationId": "PremiumMessagingRegions_List", - "x-ms-examples": { - "PremiumMessagingRegionsList": { - "$ref": "./examples/SkuRegions/PremiumMessagingRegions.json" - } - }, - "description": "Gets the available premium messaging regions for servicebus ", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Premium messaging regions successfully returned.", - "schema": { - "$ref": "#/definitions/PremiumMessagingRegionsListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs": { - "get": { - "tags": [ - "EventHubs" - ], - "operationId": "EventHubs_ListByNamespace", - "x-ms-examples": { - "RulesCreateOrUpdate": { - "$ref": "./examples/SkuRegions/EventHubs.json" - } - }, - "description": "Gets all the Event Hubs in a service bus Namespace.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of Event Hubs.", - "schema": { - "$ref": "#/definitions/EventHubListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets/default": { - "put": { - "tags": [ - "Namespaces" - ], - "x-ms-examples": { - "NameSpaceNetworkRuleSetCreate": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json" - } - }, - "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet", - "description": "Create or update NetworkRuleSet for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/NetworkRuleSet" - }, - "description": "The Namespace IpFilterRule." - } - ], - "responses": { - "200": { - "description": "Namespace NetworkRuleSet successfully returned.", - "schema": { - "$ref": "#/definitions/NetworkRuleSet" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Namespaces" - ], - "x-ms-examples": { - "NameSpaceNetworkRuleSetGet": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json" - } - }, - "operationId": "Namespaces_GetNetworkRuleSet", - "description": "Gets NetworkRuleSet for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Namespace NetworkRuleSet successfully returned.", - "schema": { - "$ref": "#/definitions/NetworkRuleSet" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets": { - "get": { - "tags": [ - "Namespaces" - ], - "x-ms-examples": { - "NameSpaceNetworkRuleSetList": { - "$ref": "./examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetList.json" - } - }, - "operationId": "Namespaces_ListNetworkRuleSets", - "description": "Gets list of NetworkRuleSet for a Namespace.", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/NamespaceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "List of NetworkRuleSets for Namespace successfully returned.", - "schema": { - "$ref": "#/definitions/NetworkRuleSetListResult" - } - }, - "default": { - "description": "ServiceBus error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "TrackedResource": { - "properties": { - "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" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "required": [ - "location" - ], - "description": "The Resource definition." - }, - "Resource": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Resource Id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Resource name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Resource type" - } - }, - "x-ms-azure-resource": true, - "description": "The Resource definition for other than namespace." - }, - "ResourceNamespacePatch": { - "properties": { - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "The Resource definition." - }, - "SBNamespaceListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SBNamespace" - }, - "description": "Result of the List Namespace operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces." - } - }, - "description": "The response of the List Namespace operation." - }, - "SBNamespace": { - "properties": { - "sku": { - "$ref": "#/definitions/SBSku", - "description": "Properties of Sku" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBNamespaceProperties", - "description": "Properties of the namespace." - } - }, - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "description": "Description of a namespace resource." - }, - "SBNamespaceUpdateParameters": { - "properties": { - "sku": { - "$ref": "#/definitions/SBSku", - "description": "Properties of Sku" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBNamespaceProperties", - "description": "Properties of the namespace." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ResourceNamespacePatch" - } - ], - "description": "Description of a namespace resource." - }, - "SBNamespaceProperties": { - "properties": { - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state of the namespace." - }, - "createdAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "The time the namespace was created." - }, - "updatedAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "The time the namespace was updated." - }, - "serviceBusEndpoint": { - "readOnly": true, - "type": "string", - "description": "Endpoint you can use to perform Service Bus operations." - }, - "metricId": { - "readOnly": true, - "type": "string", - "description": "Identifier for Azure Insights metrics" - } - }, - "description": "Properties of the namespace." - }, - "SBSku": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of this SKU.", - "enum": [ - "Basic", - "Standard", - "Premium" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": false - } - }, - "tier": { - "type": "string", - "description": "The billing tier of this particular SKU.", - "enum": [ - "Basic", - "Standard", - "Premium" - ], - "x-ms-enum": { - "name": "SkuTier", - "modelAsString": false - } - }, - "capacity": { - "format": "int32", - "type": "integer", - "description": "The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4." - } - }, - "required": [ - "name" - ], - "description": "SKU of the namespace." - }, - "SBNamespaceMigrate": { - "type": "object", - "properties": { - "targetNamespaceType": { - "type": "string", - "description": "Type of namespaces", - "enum": [ - "Messaging", - "NotificationHub", - "Mixed", - "EventHub", - "Relay" - ], - "x-ms-enum": { - "name": "NameSpaceType", - "modelAsString": false - } - } - }, - "required": [ - "targetNamespaceType" - ], - "description": "Namespace Migrate Object" - }, - "SBAuthorizationRuleListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SBAuthorizationRule" - }, - "description": "Result of the List Authorization Rules operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of Authorization Rules." - } - }, - "description": "The response to the List Namespace operation." - }, - "SBAuthorizationRule": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "properties": { - "rights": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Manage", - "Send", - "Listen" - ], - "x-ms-enum": { - "name": "AccessRights", - "modelAsString": false - } - }, - "description": "The rights associated with the rule." - } - }, - "required": [ - "rights" - ], - "description": "AuthorizationRule properties." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of a namespace authorization rule." - }, - "AuthorizationRuleProperties": { - "properties": { - "rights": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Manage", - "Send", - "Listen" - ], - "x-ms-enum": { - "name": "AccessRights", - "modelAsString": false - } - }, - "description": "The rights associated with the rule." - } - }, - "required": [ - "rights" - ], - "description": "AuthorizationRule properties." - }, - "AccessKeys": { - "properties": { - "primaryConnectionString": { - "readOnly": true, - "type": "string", - "description": "Primary connection string of the created namespace authorization rule." - }, - "secondaryConnectionString": { - "readOnly": true, - "type": "string", - "description": "Secondary connection string of the created namespace authorization rule." - }, - "aliasPrimaryConnectionString": { - "readOnly": true, - "type": "string", - "description": "Primary connection string of the alias if GEO DR is enabled" - }, - "aliasSecondaryConnectionString": { - "readOnly": true, - "type": "string", - "description": "Secondary connection string of the alias if GEO DR is enabled" - }, - "primaryKey": { - "readOnly": true, - "type": "string", - "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." - }, - "secondaryKey": { - "readOnly": true, - "type": "string", - "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." - }, - "keyName": { - "readOnly": true, - "type": "string", - "description": "A string that describes the authorization rule." - } - }, - "description": "Namespace/ServiceBus Connection String" - }, - "RegenerateAccessKeyParameters": { - "properties": { - "keyType": { - "type": "string", - "description": "The access key to regenerate.", - "enum": [ - "PrimaryKey", - "SecondaryKey" - ], - "x-ms-enum": { - "name": "KeyType", - "modelAsString": false - } - }, - "key": { - "type": "string", - "description": "Optional, if the key value provided, is reset for KeyType value or autogenerate Key value set for keyType" - } - }, - "required": [ - "keyType" - ], - "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset." - }, - "SBQueueListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SBQueue" - }, - "description": "Result of the List Queues operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of queues." - } - }, - "description": "The response to the List Queues operation." - }, - "SBQueue": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBQueueProperties", - "description": "Queue Properties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of queue Resource." - }, - "SBQueueProperties": { - "properties": { - "countDetails": { - "readOnly": true, - "$ref": "#/definitions/MessageCountDetails", - "description": "Message Count Details." - }, - "createdAt": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The exact time the message was created." - }, - "updatedAt": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The exact time the message was updated." - }, - "accessedAt": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "Last time a message was sent, or the last time there was a receive request to this queue." - }, - "sizeInBytes": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "The size of the queue, in bytes." - }, - "messageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "The number of messages in the queue." - }, - "lockDuration": { - "format": "duration", - "type": "string", - "description": "ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute." - }, - "maxSizeInMegabytes": { - "format": "int32", - "type": "integer", - "description": "The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024." - }, - "requiresDuplicateDetection": { - "type": "boolean", - "description": "A value indicating if this queue requires duplicate detection." - }, - "requiresSession": { - "type": "boolean", - "description": "A value that indicates whether the queue supports the concept of sessions." - }, - "defaultMessageTimeToLive": { - "format": "duration", - "type": "string", - "description": "ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." - }, - "deadLetteringOnMessageExpiration": { - "type": "boolean", - "description": "A value that indicates whether this queue has dead letter support when a message expires." - }, - "duplicateDetectionHistoryTimeWindow": { - "format": "duration", - "type": "string", - "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." - }, - "maxDeliveryCount": { - "format": "int32", - "type": "integer", - "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10." - }, - "status": { - "$ref": "#/definitions/EntityStatus", - "description": "Enumerates the possible values for the status of a messaging entity." - }, - "enableBatchedOperations": { - "type": "boolean", - "description": "Value that indicates whether server-side batched operations are enabled." - }, - "autoDeleteOnIdle": { - "format": "duration", - "type": "string", - "description": "ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes." - }, - "enablePartitioning": { - "type": "boolean", - "description": "A value that indicates whether the queue is to be partitioned across multiple message brokers." - }, - "enableExpress": { - "type": "boolean", - "description": "A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage." - }, - "forwardTo": { - "type": "string", - "description": "Queue/Topic name to forward the messages" - }, - "forwardDeadLetteredMessagesTo": { - "type": "string", - "description": "Queue/Topic name to forward the Dead Letter message" - } - }, - "description": "The Queue Properties definition." - }, - "MessageCountDetails": { - "type": "object", - "properties": { - "activeMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of active messages in the queue, topic, or subscription." - }, - "deadLetterMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of messages that are dead lettered." - }, - "scheduledMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of scheduled messages." - }, - "transferMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of messages transferred to another queue, topic, or subscription." - }, - "transferDeadLetterMessageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of messages transferred into dead letters." - } - }, - "description": "Message Count Details." - }, - "SBTopicListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SBTopic" - }, - "description": "Result of the List Topics operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of topics." - } - }, - "description": "The response to the List Topics operation." - }, - "SBTopic": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBTopicProperties", - "description": "Properties of topic resource." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of topic resource." - }, - "SBTopicProperties": { - "properties": { - "sizeInBytes": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Size of the topic, in bytes." - }, - "createdAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "Exact time the message was created." - }, - "updatedAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "The exact time the message was updated." - }, - "accessedAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "Last time the message was sent, or a request was received, for this topic." - }, - "subscriptionCount": { - "readOnly": true, - "format": "int32", - "type": "integer", - "description": "Number of subscriptions." - }, - "countDetails": { - "readOnly": true, - "$ref": "#/definitions/MessageCountDetails", - "description": "Message count details" - }, - "defaultMessageTimeToLive": { - "format": "duration", - "type": "string", - "description": "ISO 8601 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." - }, - "maxSizeInMegabytes": { - "format": "int32", - "type": "integer", - "description": "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024." - }, - "requiresDuplicateDetection": { - "type": "boolean", - "description": "Value indicating if this topic requires duplicate detection." - }, - "duplicateDetectionHistoryTimeWindow": { - "format": "duration", - "type": "string", - "description": "ISO8601 timespan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." - }, - "enableBatchedOperations": { - "type": "boolean", - "description": "Value that indicates whether server-side batched operations are enabled." - }, - "status": { - "$ref": "#/definitions/EntityStatus", - "description": "Enumerates the possible values for the status of a messaging entity." - }, - "supportOrdering": { - "type": "boolean", - "description": "Value that indicates whether the topic supports ordering." - }, - "autoDeleteOnIdle": { - "format": "duration", - "type": "string", - "description": "ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes." - }, - "enablePartitioning": { - "type": "boolean", - "description": "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled." - }, - "enableExpress": { - "type": "boolean", - "description": "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage." - } - }, - "description": "The Topic Properties definition." - }, - "SBSubscriptionListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SBSubscription" - }, - "description": "Result of the List Subscriptions operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of subscriptions." - } - }, - "description": "The response to the List Subscriptions operation." - }, - "SBSubscription": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SBSubscriptionProperties", - "description": "Properties of subscriptions resource." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of subscription resource." - }, - "SBSubscriptionProperties": { - "properties": { - "messageCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of messages." - }, - "createdAt": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "Exact time the message was created." - }, - "accessedAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "Last time there was a receive request to this subscription." - }, - "updatedAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "The exact time the message was updated." - }, - "countDetails": { - "readOnly": true, - "$ref": "#/definitions/MessageCountDetails", - "description": "Message count details" - }, - "lockDuration": { - "format": "duration", - "type": "string", - "description": "ISO 8061 lock duration timespan for the subscription. The default value is 1 minute." - }, - "requiresSession": { - "type": "boolean", - "description": "Value indicating if a subscription supports the concept of sessions." - }, - "defaultMessageTimeToLive": { - "format": "duration", - "type": "string", - "description": "ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." - }, - "deadLetteringOnFilterEvaluationExceptions": { - "type": "boolean", - "description": "Value that indicates whether a subscription has dead letter support on filter evaluation exceptions." - }, - "deadLetteringOnMessageExpiration": { - "type": "boolean", - "description": "Value that indicates whether a subscription has dead letter support when a message expires." - }, - "duplicateDetectionHistoryTimeWindow": { - "format": "duration", - "type": "string", - "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." - }, - "maxDeliveryCount": { - "format": "int32", - "type": "integer", - "description": "Number of maximum deliveries." - }, - "status": { - "$ref": "#/definitions/EntityStatus", - "description": "Enumerates the possible values for the status of a messaging entity." - }, - "enableBatchedOperations": { - "type": "boolean", - "description": "Value that indicates whether server-side batched operations are enabled." - }, - "autoDeleteOnIdle": { - "format": "duration", - "type": "string", - "description": "ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes." - }, - "forwardTo": { - "type": "string", - "description": "Queue/Topic name to forward the messages" - }, - "forwardDeadLetteredMessagesTo": { - "type": "string", - "description": "Queue/Topic name to forward the Dead Letter message" - } - }, - "description": "Description of Subscription Resource." - }, - "EntityStatus": { - "type": "string", - "enum": [ - "Active", - "Disabled", - "Restoring", - "SendDisabled", - "ReceiveDisabled", - "Creating", - "Deleting", - "Renaming", - "Unknown" - ], - "x-ms-enum": { - "name": "EntityStatus", - "modelAsString": false - }, - "description": "Entity status." - }, - "UnavailableReason": { - "type": "string", - "enum": [ - "None", - "InvalidName", - "SubscriptionIsDisabled", - "NameInUse", - "NameInLockdown", - "TooManyNamespaceInCurrentSubscription" - ], - "x-ms-enum": { - "name": "UnavailableReason", - "modelAsString": false - }, - "description": "Specifies the reason for the unavailability of the service." - }, - "CheckNameAvailability": { - "properties": { - "name": { - "type": "string", - "description": "The Name to check the namespace name availability and The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number." - } - }, - "required": [ - "name" - ], - "description": "Description of a Check Name availability request properties." - }, - "CheckNameAvailabilityResult": { - "properties": { - "message": { - "readOnly": true, - "type": "string", - "description": "The detailed info regarding the reason associated with the namespace." - }, - "nameAvailable": { - "type": "boolean", - "description": "Value indicating namespace is availability, true if the namespace is available; otherwise, false." - }, - "reason": { - "$ref": "#/definitions/UnavailableReason", - "description": "The reason for unavailability of a namespace." - } - }, - "description": "Description of a Check Name availability request properties." - }, - "OperationListResult": { - "description": "Result of the request to list ServiceBus operations. It contains a list of operations and a URL link to get the next set of results.", - "properties": { - "value": { - "readOnly": true, - "type": "array", - "description": "List of ServiceBus operations supported by the Microsoft.ServiceBus resource provider.", - "items": { - "$ref": "#/definitions/Operation" - } - }, - "nextLink": { - "readOnly": true, - "type": "string", - "description": "URL to get the next set of operation list results if there are any." - } - } - }, - "Operation": { - "description": "A ServiceBus REST API operation", - "type": "object", - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Operation name: {provider}/{resource}/{operation}" - }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "readOnly": true, - "type": "string", - "description": "Service provider: Microsoft.ServiceBus" - }, - "resource": { - "readOnly": true, - "type": "string", - "description": "Resource on which the operation is performed: Invoice, etc." - }, - "operation": { - "readOnly": true, - "type": "string", - "description": "Operation type: Read, write, delete, etc." - } - } - } - } - }, - "ErrorResponse": { - "description": "Error response indicates ServiceBus service is not able to process the incoming request. The reason is provided in the error message.", - "type": "object", - "properties": { - "code": { - "description": "Error code.", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - }, - "Rule": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/Ruleproperties", - "description": "Properties of Rule resource" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of Rule Resource." - }, - "Ruleproperties": { - "properties": { - "action": { - "$ref": "#/definitions/Action", - "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression." - }, - "filterType": { - "$ref": "#/definitions/FilterType", - "description": "Filter type that is evaluated against a BrokeredMessage." - }, - "sqlFilter": { - "$ref": "#/definitions/SqlFilter", - "description": "Properties of sqlFilter" - }, - "correlationFilter": { - "$ref": "#/definitions/CorrelationFilter", - "description": "Properties of correlationFilter" - } - }, - "description": "Description of Rule Resource." - }, - "RuleListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Rule" - }, - "description": "Result of the List Rules operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of rules" - } - }, - "description": "The response of the List rule operation." - }, - "FilterType": { - "type": "string", - "enum": [ - "SqlFilter", - "CorrelationFilter" - ], - "x-ms-enum": { - "name": "FilterType", - "modelAsString": false - }, - "description": "Rule filter types" - }, - "SqlFilter": { - "type": "object", - "properties": { - "sqlExpression": { - "type": "string", - "description": "The SQL expression. e.g. MyProperty='ABC'" - }, - "compatibilityLevel": { - "format": "int32", - "type": "integer", - "default": 20, - "minimum": 20, - "maximum": 20, - "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." - }, - "requiresPreprocessing": { - "type": "boolean", - "default": true, - "description": "Value that indicates whether the rule action requires preprocessing." - } - }, - "description": "Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline." - }, - "CorrelationFilter": { - "type": "object", - "properties": { - "properties": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "dictionary object for custom filters" - }, - "correlationId": { - "type": "string", - "description": "Identifier of the correlation." - }, - "messageId": { - "type": "string", - "description": "Identifier of the message." - }, - "to": { - "type": "string", - "description": "Address to send to." - }, - "replyTo": { - "type": "string", - "description": "Address of the queue to reply to." - }, - "label": { - "type": "string", - "description": "Application specific label." - }, - "sessionId": { - "type": "string", - "description": "Session identifier." - }, - "replyToSessionId": { - "type": "string", - "description": "Session identifier to reply to." - }, - "contentType": { - "type": "string", - "description": "Content type of the message." - }, - "requiresPreprocessing": { - "type": "boolean", - "default": true, - "description": "Value that indicates whether the rule action requires preprocessing." - } - }, - "description": "Represents the correlation filter expression." - }, - "Action": { - "type": "object", - "properties": { - "sqlExpression": { - "type": "string", - "description": "SQL expression. e.g. MyProperty='ABC'" - }, - "compatibilityLevel": { - "format": "int32", - "type": "integer", - "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." - }, - "requiresPreprocessing": { - "type": "boolean", - "default": true, - "description": "Value that indicates whether the rule action requires preprocessing." - } - }, - "description": "Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter expression." - }, - "SqlRuleAction": { - "type": "object", - "properties": { - "sqlExpression": { - "type": "string", - "description": "SQL expression. e.g. MyProperty='ABC'" - }, - "compatibilityLevel": { - "format": "int32", - "type": "integer", - "description": "This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20." - }, - "requiresPreprocessing": { - "type": "boolean", - "default": true, - "description": "Value that indicates whether the rule action requires preprocessing." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Action" - } - ], - "description": "Represents set of actions written in SQL language-based syntax that is performed against a ServiceBus.Messaging.BrokeredMessage " - }, - "PremiumMessagingRegions": { - "properties": { - "properties": { - "properties": { - "code": { - "readOnly": true, - "type": "string", - "description": "Region code" - }, - "fullName": { - "readOnly": true, - "type": "string", - "description": "Full name of the region" - } - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/ResourceNamespacePatch" - } - ], - "description": "Premium Messaging Region" - }, - "PremiumMessagingRegionsListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/PremiumMessagingRegions" - }, - "description": "Result of the List PremiumMessagingRegions type." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions." - } - }, - "description": "The response of the List PremiumMessagingRegions operation." - }, - "Eventhub": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "properties": { - "partitionIds": { - "readOnly": true, - "type": "array", - "items": { - "type": "string" - }, - "description": "Current number of shards on the Event Hub." - }, - "createdAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "Exact time the Event Hub was created." - }, - "updatedAt": { - "readOnly": true, - "format": "date-time", - "type": "string", - "description": "The exact time the message was updated." - }, - "messageRetentionInDays": { - "format": "int64", - "type": "integer", - "maximum": 7, - "minimum": 1, - "description": "Number of days to retain the events for this Event Hub, value should be 1 to 7 days" - }, - "partitionCount": { - "format": "int64", - "type": "integer", - "maximum": 32, - "minimum": 1, - "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions." - }, - "status": { - "type": "string", - "description": "Enumerates the possible values for the status of the Event Hub.", - "enum": [ - "Active", - "Disabled", - "Restoring", - "SendDisabled", - "ReceiveDisabled", - "Creating", - "Deleting", - "Renaming", - "Unknown" - ], - "x-ms-enum": { - "name": "EntityStatus", - "modelAsString": false - } - }, - "captureDescription": { - "$ref": "#/definitions/CaptureDescription", - "description": "Properties of capture description" - } - }, - "description": "Properties supplied to the Create Or Update Event Hub operation." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Single item in List or Get Event Hub operation" - }, - "EventHubListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Eventhub" - }, - "description": "Result of the List EventHubs operation." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "Link to the next set of results. Not empty if Value contains incomplete list of EventHubs." - } - }, - "description": "The result of the List EventHubs operation." - }, - "CaptureDescription": { - "properties": { - "enabled": { - "type": "boolean", - "description": "A value that indicates whether capture description is enabled. " - }, - "encoding": { - "type": "string", - "description": "Enumerates the possible values for the encoding format of capture description.", - "enum": [ - "Avro", - "AvroDeflate" - ], - "x-ms-enum": { - "name": "EncodingCaptureDescription", - "modelAsString": false - } - }, - "intervalInSeconds": { - "format": "int32", - "type": "integer", - "maximum": 900, - "minimum": 60, - "description": "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds" - }, - "sizeLimitInBytes": { - "format": "int32", - "type": "integer", - "maximum": 524288000, - "minimum": 10485760, - "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 and 524288000 bytes" - }, - "destination": { - "$ref": "#/definitions/Destination", - "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)" - } - }, - "description": "Properties to configure capture description for eventhub" - }, - "Destination": { - "properties": { - "name": { - "type": "string", - "description": "Name for capture destination" - }, - "properties": { - "x-ms-client-flatten": true, - "properties": { - "storageAccountResourceId": { - "type": "string", - "description": "Resource id of the storage account to be used to create the blobs" - }, - "blobContainer": { - "type": "string", - "description": "Blob container Name" - }, - "archiveNameFormat": { - "type": "string", - "description": "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order" - } - }, - "description": "Properties describing the storage account, blob container and archive name format for capture destination" - } - }, - "description": "Capture storage details for capture description" - }, - "ArmDisasterRecovery": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "properties": { - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed'", - "enum": [ - "Accepted", - "Succeeded", - "Failed" - ], - "x-ms-enum": { - "name": "ProvisioningStateDR", - "modelAsString": false - } - }, - "pendingReplicationOperationsCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of entities pending to be replicated." - }, - "partnerNamespace": { - "type": "string", - "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing" - }, - "alternateName": { - "type": "string", - "description": "Primary/Secondary eventhub namespace name, which is part of GEO DR pairing" - }, - "role": { - "readOnly": true, - "type": "string", - "description": "role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'", - "enum": [ - "Primary", - "PrimaryNotReplicating", - "Secondary" - ], - "x-ms-enum": { - "name": "RoleDisasterRecovery", - "modelAsString": false - } - } - }, - "description": "Properties required to the Create Or Update Alias(Disaster Recovery configurations)" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation" - }, - "ArmDisasterRecoveryListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ArmDisasterRecovery" - }, - "description": "List of Alias(Disaster Recovery configurations)" - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration)" - } - }, - "description": "The result of the List Alias(Disaster Recovery configuration) operation." - }, - "MigrationConfigProperties": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "properties": { - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state of Migration Configuration " - }, - "pendingReplicationOperationsCount": { - "readOnly": true, - "format": "int64", - "type": "integer", - "description": "Number of entities pending to be replicated." - }, - "targetNamespace": { - "type": "string", - "description": "Existing premium Namespace ARM Id name which has no entities, will be used for migration" - }, - "postMigrationName": { - "type": "string", - "description": "Name to access Standard Namespace after migration" - }, - "migrationState": { - "readOnly": true, - "type": "string", - "description": "State in which Standard to Premium Migration is, possible values : Unknown, Reverting, Completing, Initiating, Syncing, Active" - } - }, - "required": [ - "targetNamespace", - "postMigrationName" - ], - "description": "Properties required to the Create Migration Configuration" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Single item in List or Get Migration Config operation" - }, - "MigrationConfigListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/MigrationConfigProperties" - }, - "description": "List of Migration Configs" - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "Link to the next set of results. Not empty if Value contains incomplete list of migrationConfigurations" - } - }, - "description": "The result of the List migrationConfigurations operation." - }, - "Subnet": { - "properties": { - "id": { - "type": "string", - "description": "Resource ID of Virtual Network Subnet" - } - }, - "required": [ - "id" - ], - "description": "Properties supplied for Subnet" - }, - "NWRuleSetIpRules": { - "x-ms-client-flatten": true, - "properties": { - "ipMask": { - "type": "string", - "description": "IP Mask" - }, - "action": { - "type": "string", - "description": "The IP Filter Action", - "enum": [ - "Allow" - ], - "x-ms-enum": { - "name": "NetworkRuleIPAction", - "modelAsString": true - }, - "default": "Allow" - } - }, - "description": "Description of NetWorkRuleSet - IpRules resource." - }, - "NWRuleSetVirtualNetworkRules": { - "x-ms-client-flatten": true, - "properties": { - "subnet": { - "$ref": "#/definitions/Subnet", - "description": "Subnet properties" - }, - "ignoreMissingVnetServiceEndpoint": { - "type": "boolean", - "description": "Value that indicates whether to ignore missing VNet Service Endpoint" - } - }, - "description": "Description of VirtualNetworkRules - NetworkRules resource." - }, - "NetworkRuleSet": { - "properties": { - "properties": { - "description": "NetworkRuleSet properties", - "x-ms-client-flatten": true, - "properties": { - "defaultAction": { - "type": "string", - "description": "Default Action for Network Rule Set", - "enum": [ - "Allow", - "Deny" - ], - "x-ms-enum": { - "name": "DefaultAction", - "modelAsString": true - } - }, - "virtualNetworkRules": { - "type": "array", - "items": { - "$ref": "#/definitions/NWRuleSetVirtualNetworkRules" - }, - "description": "List VirtualNetwork Rules" - }, - "ipRules": { - "type": "array", - "items": { - "$ref": "#/definitions/NWRuleSetIpRules" - }, - "description": "List of IpRules" - } - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Description of NetworkRuleSet resource." - }, - "NetworkRuleSetListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/NetworkRuleSet" - }, - "description": "Result of the List NetworkRuleSet operation." - }, - "nextLink": { - "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet." - } - }, - "description": "The response of the List NetworkRuleSet operation." - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Subscription credentials that uniquely identify a 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." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 90, - "x-ms-parameter-location": "method", - "description": "Name of the Resource group within the Azure subscription." - }, - "NamespaceNameParameter": { - "name": "namespaceName", - "in": "path", - "required": true, - "type": "string", - "minLength": 6, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The namespace name" - }, - "AuthorizationRuleNameParameter": { - "name": "authorizationRuleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The authorization rule name." - }, - "QueueNameParameter": { - "name": "queueName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The queue name." - }, - "TopicNameParameter": { - "name": "topicName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "x-ms-parameter-location": "method", - "description": "The topic name." - }, - "SubscriptionNameParameter": { - "name": "subscriptionName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The subscription name." - }, - "RuleNameParameter": { - "name": "ruleName", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The rule name." - }, - "SkuNameParameter": { - "name": "sku", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The sku type." - }, - "AliasNameParameter": { - "name": "alias", - "in": "path", - "required": true, - "type": "string", - "minLength": 1, - "maxLength": 50, - "x-ms-parameter-location": "method", - "description": "The Disaster Recovery configuration name" - }, - "ConfigNameParameter": { - "name": "configName", - "in": "path", - "description": "The configuration name. Should always be \"$default\".", - "required": true, - "type": "string", - "enum": [ - "$default" - ], - "x-ms-enum": { - "name": "MigrationConfigurationName", - "modelAsString": true - }, - "x-ms-parameter-location": "method" - }, - "SkipParameter": { - "name": "$skip", - "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 0, - "maximum": 1000, - "x-ms-parameter-location": "method" - }, - "TopParameter": { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N usageDetails.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 1000, - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/sku.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/sku.json new file mode 100644 index 000000000000..441383120485 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/sku.json @@ -0,0 +1,145 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/sku/{sku}/regions": { + "get": { + "tags": [ + "Regions" + ], + "operationId": "Regions_ListBySku", + "x-ms-examples": { + "RegionsListBySku": { + "$ref": "./examples/SkuRegions/SkuRegions.json" + } + }, + "description": "Gets the available Regions for a given sku", + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkuNameParameter" + } + ], + "responses": { + "200": { + "description": "Regions successfully returned.", + "schema": { + "$ref": "#/definitions/PremiumMessagingRegionsListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ResourceNamespacePatch": { + "properties": { + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "The Resource definition." + }, + "PremiumMessagingRegions": { + "properties": { + "properties": { + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "Region code" + }, + "fullName": { + "readOnly": true, + "type": "string", + "description": "Full name of the region" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ], + "description": "Premium Messaging Region" + }, + "PremiumMessagingRegionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PremiumMessagingRegions" + }, + "description": "Result of the List PremiumMessagingRegions type." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next set of results. Not empty if Value contains incomplete list of PremiumMessagingRegions." + } + }, + "description": "The response of the List PremiumMessagingRegions operation." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json new file mode 100644 index 000000000000..380bb3d8806a --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json @@ -0,0 +1,374 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions": { + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_ListByTopic", + "x-ms-examples": { + "SubscriptionListByTopic": { + "$ref": "./examples/Subscriptions/SBSubscriptionListByTopic.json" + } + }, + "description": "List all the subscriptions under a specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639400.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved list of subscriptions.", + "schema": { + "$ref": "#/definitions/SBSubscriptionListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}": { + "put": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_CreateOrUpdate", + "x-ms-examples": { + "SubscriptionCreate": { + "$ref": "./examples/Subscriptions/SBSubscriptionCreate.json" + } + }, + "description": "Creates a topic subscription.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639385.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBSubscription" + }, + "description": "Parameters supplied to create a subscription resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Subscription create request accepted.", + "schema": { + "$ref": "#/definitions/SBSubscription" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_Delete", + "x-ms-examples": { + "SubscriptionDelete": { + "$ref": "./examples/Subscriptions/SBSubscriptionDelete.json" + } + }, + "description": "Deletes a subscription from the specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639381.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Subscription successfully deleted." + }, + "204": { + "description": "No content." + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_Get", + "x-ms-examples": { + "SubscriptionGet": { + "$ref": "./examples/Subscriptions/SBSubscriptionGet.json" + } + }, + "description": "Returns a subscription description for the specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639402.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved subscription description.", + "schema": { + "$ref": "#/definitions/SBSubscription" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBSubscriptionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBSubscription" + }, + "description": "Result of the List Subscriptions operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of subscriptions." + } + }, + "description": "The response to the List Subscriptions operation." + }, + "SBSubscription": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBSubscriptionProperties", + "description": "Properties of subscriptions resource." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of subscription resource." + }, + "SBSubscriptionProperties": { + "properties": { + "messageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of messages." + }, + "createdAt": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Exact time the message was created." + }, + "accessedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Last time there was a receive request to this subscription." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the message was updated." + }, + "countDetails": { + "readOnly": true, + "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails", + "description": "Message count details" + }, + "lockDuration": { + "format": "duration", + "type": "string", + "description": "ISO 8061 lock duration timespan for the subscription. The default value is 1 minute." + }, + "requiresSession": { + "type": "boolean", + "description": "Value indicating if a subscription supports the concept of sessions." + }, + "defaultMessageTimeToLive": { + "format": "duration", + "type": "string", + "description": "ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." + }, + "deadLetteringOnFilterEvaluationExceptions": { + "type": "boolean", + "description": "Value that indicates whether a subscription has dead letter support on filter evaluation exceptions." + }, + "deadLetteringOnMessageExpiration": { + "type": "boolean", + "description": "Value that indicates whether a subscription has dead letter support when a message expires." + }, + "duplicateDetectionHistoryTimeWindow": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." + }, + "maxDeliveryCount": { + "format": "int32", + "type": "integer", + "description": "Number of maximum deliveries." + }, + "status": { + "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus", + "description": "Enumerates the possible values for the status of a messaging entity." + }, + "enableBatchedOperations": { + "type": "boolean", + "description": "Value that indicates whether server-side batched operations are enabled." + }, + "autoDeleteOnIdle": { + "format": "duration", + "type": "string", + "description": "ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes." + }, + "forwardTo": { + "type": "string", + "description": "Queue/Topic name to forward the messages" + }, + "forwardDeadLetteredMessagesTo": { + "type": "string", + "description": "Queue/Topic name to forward the Dead Letter message" + } + }, + "description": "Description of Subscription Resource." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/topics.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/topics.json new file mode 100644 index 000000000000..ed15010fd198 --- /dev/null +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/topics.json @@ -0,0 +1,359 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceBusManagementClient", + "description": "Azure Service Bus client", + "version": "2017-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics": { + "get": { + "tags": [ + "Topics" + ], + "operationId": "Topics_ListByNamespace", + "x-ms-examples": { + "TopicGet": { + "$ref": "./examples/Topics/SBTopicListByNameSpace.json" + } + }, + "description": "Gets all the topics in a namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639388.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved list of topics.", + "schema": { + "$ref": "#/definitions/SBTopicListResult" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}": { + "put": { + "tags": [ + "Topics" + ], + "operationId": "Topics_CreateOrUpdate", + "x-ms-examples": { + "TopicCreate": { + "$ref": "./examples/Topics/SBTopicCreate.json" + } + }, + "description": "Creates a topic in the specified namespace.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639409.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SBTopic" + }, + "description": "Parameters supplied to create a topic resource." + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic successfully created.", + "schema": { + "$ref": "#/definitions/SBTopic" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Topics" + ], + "operationId": "Topics_Delete", + "x-ms-examples": { + "TopicDelete": { + "$ref": "./examples/Topics/SBTopicDelete.json" + } + }, + "description": "Deletes a topic from the specified namespace and resource group.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639404.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic successfully deleted." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Topics" + ], + "operationId": "Topics_Get", + "x-ms-examples": { + "TopicGet": { + "$ref": "./examples/Topics/SBTopicGet.json" + } + }, + "description": "Returns a description for the specified topic.", + "externalDocs": { + "url": "https://msdn.microsoft.com/en-us/library/azure/mt639399.aspx" + }, + "parameters": [ + { + "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/TopicNameParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Topic description successfully retrieved.", + "schema": { + "$ref": "#/definitions/SBTopic" + } + }, + "default": { + "description": "ServiceBus error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "SBTopicListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SBTopic" + }, + "description": "Result of the List Topics operation." + }, + "nextLink": { + "type": "string", + "description": "Link to the next set of results. Not empty if Value contains incomplete list of topics." + } + }, + "description": "The response to the List Topics operation." + }, + "SBTopic": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SBTopicProperties", + "description": "Properties of topic resource." + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/definitions.json#/definitions/Resource" + } + ], + "description": "Description of topic resource." + }, + "SBTopicProperties": { + "properties": { + "sizeInBytes": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Size of the topic, in bytes." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Exact time the message was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the message was updated." + }, + "accessedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "Last time the message was sent, or a request was received, for this topic." + }, + "subscriptionCount": { + "readOnly": true, + "format": "int32", + "type": "integer", + "description": "Number of subscriptions." + }, + "countDetails": { + "readOnly": true, + "$ref": "../../../common/v1/definitions.json#/definitions/MessageCountDetails", + "description": "Message count details" + }, + "defaultMessageTimeToLive": { + "format": "duration", + "type": "string", + "description": "ISO 8601 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself." + }, + "maxSizeInMegabytes": { + "format": "int32", + "type": "integer", + "description": "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. Default is 1024." + }, + "requiresDuplicateDetection": { + "type": "boolean", + "description": "Value indicating if this topic requires duplicate detection." + }, + "duplicateDetectionHistoryTimeWindow": { + "format": "duration", + "type": "string", + "description": "ISO8601 timespan structure that defines the duration of the duplicate detection history. The default value is 10 minutes." + }, + "enableBatchedOperations": { + "type": "boolean", + "description": "Value that indicates whether server-side batched operations are enabled." + }, + "status": { + "$ref": "../../../common/v1/definitions.json#/definitions/EntityStatus", + "description": "Enumerates the possible values for the status of a messaging entity." + }, + "supportOrdering": { + "type": "boolean", + "description": "Value that indicates whether the topic supports ordering." + }, + "autoDeleteOnIdle": { + "format": "duration", + "type": "string", + "description": "ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes." + }, + "enablePartitioning": { + "type": "boolean", + "description": "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled." + }, + "enableExpress": { + "type": "boolean", + "description": "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage." + } + }, + "description": "The Topic Properties definition." + } + }, + "parameters": {} +} diff --git a/specification/servicebus/resource-manager/common/v1/definitions.json b/specification/servicebus/resource-manager/common/v1/definitions.json new file mode 100644 index 000000000000..1e9255ffda10 --- /dev/null +++ b/specification/servicebus/resource-manager/common/v1/definitions.json @@ -0,0 +1,359 @@ +{ + "swagger": "2.0", + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "info": { + "version": "1.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "TrackedResource": { + "properties": { + "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" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "location" + ], + "description": "The Resource definition." + }, + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + } + }, + "x-ms-azure-resource": true, + "description": "The Resource definition for other than namespace." + }, + "EntityStatus": { + "type": "string", + "enum": [ + "Active", + "Disabled", + "Restoring", + "SendDisabled", + "ReceiveDisabled", + "Creating", + "Deleting", + "Renaming", + "Unknown" + ], + "x-ms-enum": { + "name": "EntityStatus", + "modelAsString": false + }, + "description": "Entity status." + }, + "MessageCountDetails": { + "type": "object", + "properties": { + "activeMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of active messages in the queue, topic, or subscription." + }, + "deadLetterMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of messages that are dead lettered." + }, + "scheduledMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of scheduled messages." + }, + "transferMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of messages transferred to another queue, topic, or subscription." + }, + "transferDeadLetterMessageCount": { + "readOnly": true, + "format": "int64", + "type": "integer", + "description": "Number of messages transferred into dead letters." + } + }, + "description": "Message Count Details." + }, + "ErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponse" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "ErrorAdditionalInfo": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." + } + }, + "description": "The resource management error additional info." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials that uniquely identify a 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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "NamespaceNameParameter": { + "name": "namespaceName", + "in": "path", + "required": true, + "type": "string", + "minLength": 6, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The namespace name" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The PrivateEndpointConnection name" + }, + "AuthorizationRuleNameParameter": { + "name": "authorizationRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The authorization rule name." + }, + "QueueNameParameter": { + "name": "queueName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The queue name." + }, + "TopicNameParameter": { + "name": "topicName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The topic name." + }, + "AliasNameParameter": { + "name": "alias", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The Disaster Recovery configuration name" + }, + "SubscriptionNameParameter": { + "name": "subscriptionName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The subscription name." + }, + "ConfigNameParameter": { + "name": "configName", + "in": "path", + "description": "The configuration name. Should always be \"$default\".", + "required": true, + "type": "string", + "enum": [ + "$default" + ], + "x-ms-enum": { + "name": "MigrationConfigurationName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "$skip", + "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N usageDetails.", + "in": "query", + "required": false, + "type": "integer", + "minimum": 1, + "maximum": 1000, + "x-ms-parameter-location": "method" + }, + "RuleNameParameter": { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The rule name." + }, + "SkuNameParameter": { + "name": "sku", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 50, + "x-ms-parameter-location": "method", + "description": "The sku type." + }, + "IpFilterRuleNameParameter": { + "name": "ipFilterRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The IP Filter Rule name." + }, + "VirtualNetworkRuleNameParameter": { + "name": "virtualNetworkRuleName", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "description": "The Virtual Network Rule name." + } + } +} diff --git a/specification/servicebus/resource-manager/readme.azureresourceschema.md b/specification/servicebus/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..72a1c9f004ef --- /dev/null +++ b/specification/servicebus/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,66 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-servicebus-2018-01-01-preview + - tag: schema-servicebus-2017-04-01 + - tag: schema-servicebus-2015-08-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-servicebus-2018-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicebus-2018-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json + - Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json + - Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json + - Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json + - Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json + +``` + +### Tag: schema-servicebus-2017-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicebus-2017-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json + - Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json + - Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json + - Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json + - Microsoft.ServiceBus/stable/2017-04-01/migrate.json + - Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json + - Microsoft.ServiceBus/stable/2017-04-01/namespaces.json + - Microsoft.ServiceBus/stable/2017-04-01/networksets.json + - Microsoft.ServiceBus/stable/2017-04-01/operations.json + - Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json + - Microsoft.ServiceBus/stable/2017-04-01/Queue.json + - Microsoft.ServiceBus/stable/2017-04-01/Rules.json + - Microsoft.ServiceBus/stable/2017-04-01/sku.json + - Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json + - Microsoft.ServiceBus/stable/2017-04-01/topics.json + +``` + +### Tag: schema-servicebus-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicebus-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceBus/stable/2015-08-01/servicebus.json + +``` diff --git a/specification/servicebus/resource-manager/readme.md b/specification/servicebus/resource-manager/readme.md index 9ab1fb7f2d0f..83e7741ca82d 100644 --- a/specification/servicebus/resource-manager/readme.md +++ b/specification/servicebus/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the ServiceBus API. ``` yaml openapi-type: arm -tag: package-2017-04 +tag: package-2018-01-preview ``` ### Tag: package-2018-01-preview @@ -35,7 +35,23 @@ These settings apply only when `--tag=package-2018-01-preview` is specified on t ``` yaml $(tag) == 'package-2018-01-preview' input-file: -- Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json +- Microsoft.ServiceBus/preview/2018-01-01-preview/operationlist-preview.json +- Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json +- Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json +- Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json +- Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json +- Microsoft.ServiceBus/stable/2017-04-01/migrate.json +- Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json +- Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json +- Microsoft.ServiceBus/stable/2017-04-01/Queue.json +- Microsoft.ServiceBus/stable/2017-04-01/sku.json +- Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json +- Microsoft.ServiceBus/stable/2017-04-01/topics.json +- Microsoft.ServiceBus/stable/2017-04-01/Rules.json ``` ### Tag: package-2017-04 @@ -45,7 +61,21 @@ These settings apply only when `--tag=package-2017-04` is specified on the comma ``` yaml $(tag) == 'package-2017-04' input-file: -- Microsoft.ServiceBus/stable/2017-04-01/servicebus.json +- Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json +- Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json +- Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json +- Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json +- Microsoft.ServiceBus/stable/2017-04-01/migrate.json +- Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json +- Microsoft.ServiceBus/stable/2017-04-01/namespaces.json +- Microsoft.ServiceBus/stable/2017-04-01/networksets.json +- Microsoft.ServiceBus/stable/2017-04-01/operations.json +- Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json +- Microsoft.ServiceBus/stable/2017-04-01/Queue.json +- Microsoft.ServiceBus/stable/2017-04-01/Rules.json +- Microsoft.ServiceBus/stable/2017-04-01/sku.json +- Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json +- Microsoft.ServiceBus/stable/2017-04-01/topics.json ``` Important notes: @@ -82,6 +112,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_service_bus'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js servicebus/resource-manager ``` @@ -135,6 +168,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -147,10 +184,26 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.ServiceBus/preview/2018-01-01-preview/servicebus-preview.json - - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/servicebus.json - $(this-folder)/Microsoft.ServiceBus/stable/2015-08-01/servicebus.json - + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/AuthorizationRules.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/CheckNameAvailability.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/DisasterRecoveryConfig.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/eventhubs.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/migrate.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/migrationconfigs.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/namespaces.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/networksets.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/operations.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/PremiumMessagingRegions.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/Queue.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/Rules.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/sku.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/subscriptions.json + - $(this-folder)/Microsoft.ServiceBus/stable/2017-04-01/topics.json + - $(this-folder)/Microsoft.ServiceBus/preview/2018-01-01-preview/IPFilterRules-preview.json + - $(this-folder)/Microsoft.ServiceBus/preview/2018-01-01-preview/namespace-preview.json + - $(this-folder)/Microsoft.ServiceBus/preview/2018-01-01-preview/NetworkRuleSet-preview.json + - $(this-folder)/Microsoft.ServiceBus/preview/2018-01-01-preview/VirtualNetworkRules-preview.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/DeleteNodes_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/DeleteNodes_example.json new file mode 100644 index 000000000000..9baa8c28a136 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/DeleteNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2020-01-01-preview", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + } + }, + "200": {} + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterDeleteOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterDeleteOperation_example.json new file mode 100644 index 000000000000..d59d195b8d47 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterDeleteOperation_example.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2020-01-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterGetOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterGetOperation_example.json new file mode 100644 index 000000000000..cfe0add5855e --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterGetOperation_example.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeMode": "Manual", + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "00:10:00", + "healthCheckWaitDuration": "00:00:30", + "healthCheckStableDuration": "00:00:30", + "healthCheckRetryTimeout": "00:05:00", + "upgradeTimeout": "01:00:00", + "upgradeDomainTimeout": "00:15:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 0, + "maxPercentUnhealthyApplications": 0, + "applicationHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0 + }, + "serviceTypeHealthPolicies": { + "myServiceType1": { + "maxPercentUnhealthyServices": 100 + } + } + } + } + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0, + "applicationDeltaHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeDeltaHealthPolicy": { + "maxPercentDeltaUnhealthyServices": 0 + }, + "serviceTypeDeltaHealthPolicies": { + "myServiceType1": { + "maxPercentDeltaUnhealthyServices": 0 + } + } + } + } + } + } + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterListByResourceGroupOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterListByResourceGroupOperation_example.json new file mode 100644 index 000000000000..a2a77127f87c --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterListByResourceGroupOperation_example.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807", + "healthCheckWaitDuration": "00:05:00", + "healthCheckStableDuration": "00:05:00", + "healthCheckRetryTimeout": "00:45:00", + "upgradeTimeout": "12:00:00", + "upgradeDomainTimeout": "02:00:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 100, + "maxPercentUnhealthyApplications": 100 + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0 + } + }, + "clusterUpgradeMode": "Automatic" + } + }, + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster2", + "name": "myCluster2", + "tags": {}, + "etag": "W/\"636462502164040075\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "2747e469-b24e-4039-8a0a-46151419523f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster2", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807", + "healthCheckWaitDuration": "00:05:00", + "healthCheckStableDuration": "00:05:00", + "healthCheckRetryTimeout": "00:45:00", + "upgradeTimeout": "12:00:00", + "upgradeDomainTimeout": "02:00:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 100, + "maxPercentUnhealthyApplications": 100 + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0 + } + }, + "clusterUpgradeMode": "Automatic" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterListBySubscriptionOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterListBySubscriptionOperation_example.json new file mode 100644 index 000000000000..9537ff81fa6e --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterListBySubscriptionOperation_example.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807", + "healthCheckWaitDuration": "00:05:00", + "healthCheckStableDuration": "00:05:00", + "healthCheckRetryTimeout": "00:45:00", + "upgradeTimeout": "12:00:00", + "upgradeDomainTimeout": "02:00:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 100, + "maxPercentUnhealthyApplications": 100 + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0 + } + }, + "clusterUpgradeMode": "Automatic" + } + }, + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster2", + "name": "myCluster2", + "tags": {}, + "etag": "W/\"636462502164040075\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "2747e469-b24e-4039-8a0a-46151419523f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster2", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807", + "healthCheckWaitDuration": "00:05:00", + "healthCheckStableDuration": "00:05:00", + "healthCheckRetryTimeout": "00:45:00", + "upgradeTimeout": "12:00:00", + "upgradeDomainTimeout": "02:00:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 100, + "maxPercentUnhealthyApplications": 100 + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0 + } + }, + "clusterUpgradeMode": "Automatic" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPatchOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPatchOperation_example.json new file mode 100644 index 000000000000..02924f1656e1 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPatchOperation_example.json @@ -0,0 +1,294 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2020-01-01-preview", + "parameters": { + "tags": { + "a": "b" + }, + "properties": { + "clusterCodeVersion": "7.0.457.9590", + "clientConnectionPort": 19001, + "httpGatewayConnectionPort": 19081, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "false" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "00:10:00", + "healthCheckWaitDuration": "00:00:30", + "healthCheckStableDuration": "00:00:30", + "healthCheckRetryTimeout": "00:05:00", + "upgradeTimeout": "01:00:00", + "upgradeDomainTimeout": "00:15:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 0, + "maxPercentUnhealthyApplications": 0, + "applicationHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0 + }, + "serviceTypeHealthPolicies": { + "myServiceType1": { + "maxPercentUnhealthyServices": 100 + } + } + } + } + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0, + "applicationDeltaHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeDeltaHealthPolicy": { + "maxPercentDeltaUnhealthyServices": 0 + }, + "serviceTypeDeltaHealthPolicies": { + "myServiceType1": { + "maxPercentDeltaUnhealthyServices": 0 + } + } + } + } + } + }, + "clusterUpgradeMode": "Automatic" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19001, + "httpGatewayConnectionPort": 19081, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "false" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "00:10:00", + "healthCheckWaitDuration": "00:00:30", + "healthCheckStableDuration": "00:00:30", + "healthCheckRetryTimeout": "00:05:00", + "upgradeTimeout": "01:00:00", + "upgradeDomainTimeout": "00:15:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 0, + "maxPercentUnhealthyApplications": 0, + "applicationHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0 + }, + "serviceTypeHealthPolicies": { + "myServiceType1": { + "maxPercentUnhealthyServices": 100 + } + } + } + } + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0, + "applicationDeltaHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeDeltaHealthPolicy": { + "maxPercentDeltaUnhealthyServices": 0 + }, + "serviceTypeDeltaHealthPolicies": { + "myServiceType1": { + "maxPercentDeltaUnhealthyServices": 0 + } + } + } + } + } + }, + "clusterUpgradeMode": "Automatic" + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19001, + "httpGatewayConnectionPort": 19081, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "protocol": "tcp", + "probeProtocol": "http" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "false" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "00:10:00", + "healthCheckWaitDuration": "00:00:30", + "healthCheckStableDuration": "00:00:30", + "healthCheckRetryTimeout": "00:05:00", + "upgradeTimeout": "01:00:00", + "upgradeDomainTimeout": "00:15:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 0, + "maxPercentUnhealthyApplications": 0, + "applicationHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0 + }, + "serviceTypeHealthPolicies": { + "myServiceType1": { + "maxPercentUnhealthyServices": 100 + } + } + } + } + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0, + "applicationDeltaHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeDeltaHealthPolicy": { + "maxPercentDeltaUnhealthyServices": 0 + }, + "serviceTypeDeltaHealthPolicies": { + "myServiceType1": { + "maxPercentDeltaUnhealthyServices": 0 + } + } + } + } + } + }, + "clusterUpgradeMode": "Automatic" + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_max.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_max.json new file mode 100644 index 000000000000..1f8f1f9fe8d9 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_max.json @@ -0,0 +1,408 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2020-01-01-preview", + "parameters": { + "location": "eastus", + "tags": {}, + "sku": { + "name": "Basic" + }, + "properties": { + "clusterCodeVersion": "7.1.168.9494", + "dnsName": "myCluster", + "adminUserName": "vmadmin", + "adminPassword": "{vm-password}", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "protocol": "tcp", + "probeProtocol": "http" + } + ], + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "00:10:00", + "healthCheckWaitDuration": "00:00:30", + "healthCheckStableDuration": "00:00:30", + "healthCheckRetryTimeout": "00:05:00", + "upgradeTimeout": "01:00:00", + "upgradeDomainTimeout": "00:15:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 0, + "maxPercentUnhealthyApplications": 0, + "applicationHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0 + }, + "serviceTypeHealthPolicies": { + "myServiceType1": { + "maxPercentUnhealthyServices": 100 + } + } + } + } + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0, + "applicationDeltaHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeDeltaHealthPolicy": { + "maxPercentDeltaUnhealthyServices": 0 + }, + "serviceTypeDeltaHealthPolicies": { + "myServiceType1": { + "maxPercentDeltaUnhealthyServices": 0 + } + } + } + } + } + }, + "clusterUpgradeMode": "Manual" + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "00:10:00", + "healthCheckWaitDuration": "00:00:30", + "healthCheckStableDuration": "00:00:30", + "healthCheckRetryTimeout": "00:05:00", + "upgradeTimeout": "01:00:00", + "upgradeDomainTimeout": "00:15:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 0, + "maxPercentUnhealthyApplications": 0, + "applicationHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0 + }, + "serviceTypeHealthPolicies": { + "myServiceType1": { + "maxPercentUnhealthyServices": 100 + } + } + } + } + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0, + "applicationDeltaHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeDeltaHealthPolicy": { + "maxPercentDeltaUnhealthyServices": 0 + }, + "serviceTypeDeltaHealthPolicies": { + "myServiceType1": { + "maxPercentDeltaUnhealthyServices": 0 + } + } + } + } + } + }, + "clusterUpgradeMode": "Manual" + } + } + }, + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "00:10:00", + "healthCheckWaitDuration": "00:00:30", + "healthCheckStableDuration": "00:00:30", + "healthCheckRetryTimeout": "00:05:00", + "upgradeTimeout": "01:00:00", + "upgradeDomainTimeout": "00:15:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 0, + "maxPercentUnhealthyApplications": 0, + "applicationHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0 + }, + "serviceTypeHealthPolicies": { + "myServiceType1": { + "maxPercentUnhealthyServices": 100 + } + } + } + } + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0, + "applicationDeltaHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeDeltaHealthPolicy": { + "maxPercentDeltaUnhealthyServices": 0 + }, + "serviceTypeDeltaHealthPolicies": { + "myServiceType1": { + "maxPercentDeltaUnhealthyServices": 0 + } + } + } + } + } + }, + "clusterUpgradeMode": "Manual" + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "00:10:00", + "healthCheckWaitDuration": "00:00:30", + "healthCheckStableDuration": "00:00:30", + "healthCheckRetryTimeout": "00:05:00", + "upgradeTimeout": "01:00:00", + "upgradeDomainTimeout": "00:15:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 0, + "maxPercentUnhealthyApplications": 0, + "applicationHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0 + }, + "serviceTypeHealthPolicies": { + "myServiceType1": { + "maxPercentUnhealthyServices": 100 + } + } + } + } + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0, + "applicationDeltaHealthPolicies": { + "fabric:/myApp1": { + "defaultServiceTypeDeltaHealthPolicy": { + "maxPercentDeltaUnhealthyServices": 0 + }, + "serviceTypeDeltaHealthPolicies": { + "myServiceType1": { + "maxPercentDeltaUnhealthyServices": 0 + } + } + } + } + } + }, + "clusterUpgradeMode": "Manual" + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_min.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_min.json new file mode 100644 index 000000000000..eef0431e06cb --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterPutOperation_example_min.json @@ -0,0 +1,210 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2020-01-01-preview", + "parameters": { + "location": "eastus", + "properties": { + "clusterCodeVersion": "7.1.168.9494", + "dnsName": "myCluster", + "adminUserName": "vmadmin", + "adminPassword": "{vm-password}", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807", + "healthCheckWaitDuration": "00:05:00", + "healthCheckStableDuration": "00:05:00", + "healthCheckRetryTimeout": "00:45:00", + "upgradeTimeout": "12:00:00", + "upgradeDomainTimeout": "02:00:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 100, + "maxPercentUnhealthyApplications": 100 + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0 + } + }, + "clusterUpgradeMode": "Automatic" + } + } + }, + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807", + "healthCheckWaitDuration": "00:05:00", + "healthCheckStableDuration": "00:05:00", + "healthCheckRetryTimeout": "00:45:00", + "upgradeTimeout": "12:00:00", + "upgradeDomainTimeout": "02:00:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 100, + "maxPercentUnhealthyApplications": 100 + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0 + } + }, + "clusterUpgradeMode": "Automatic" + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprint": "12599211F8F14C90AFA9532AD79A6F2CA1C00622", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "clusterUpgradeDescription": { + "forceRestart": false, + "upgradeReplicaSetCheckTimeout": "10675199.02:48:05.4775807", + "healthCheckWaitDuration": "00:05:00", + "healthCheckStableDuration": "00:05:00", + "healthCheckRetryTimeout": "00:45:00", + "upgradeTimeout": "12:00:00", + "upgradeDomainTimeout": "02:00:00", + "healthPolicy": { + "maxPercentUnhealthyNodes": 100, + "maxPercentUnhealthyApplications": 100 + }, + "deltaHealthPolicy": { + "maxPercentDeltaUnhealthyNodes": 0, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": 0, + "maxPercentDeltaUnhealthyApplications": 0 + } + }, + "clusterUpgradeMode": "Automatic" + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterVersionsListByOS_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterVersionsListByOS_example.json new file mode 100644 index 000000000000..feb742537a42 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ManagedClusterVersionsListByOS_example.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "location": "eastus", + "osType": "Windows", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "msiVersion": "7.0.470.9590", + "supportExpiryUtc": "2020-08-01T00:00:00", + "osType": "Windows" + }, + { + "msiVersion": "7.1.409.9590", + "supportExpiryUtc": "", + "osType": "Windows" + } + ] + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeDeleteOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeDeleteOperation_example.json new file mode 100644 index 000000000000..577f254ca490 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeDeleteOperation_example.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2020-01-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeGetOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeGetOperation_example.json new file mode 100644 index 000000000000..da4b281b58b3 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeGetOperation_example.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "FE", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/FE", + "name": "FE", + "tags": {}, + "properties": { + "isPrimary": true, + "dataDiskSizeGB": 100, + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D2", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter", + "vmImageVersion": "latest", + "vmInstanceCount": 5, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeListOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeListOperation_example.json new file mode 100644 index 000000000000..6f4b84062835 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypeListOperation_example.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/FE", + "name": "FE", + "tags": {}, + "properties": { + "isPrimary": true, + "dataDiskSizeGB": 100, + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D2", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter", + "vmImageVersion": "latest", + "vmInstanceCount": 5 + } + }, + { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePatchOperation_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePatchOperation_example.json new file mode 100644 index 000000000000..65d76cff104f --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePatchOperation_example.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2020-01-01-preview", + "parameters": { + "tags": { + "a": "b" + }, + "properties": { + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmInstanceCount": 10, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": { + "a": "b" + }, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": { + "a": "b" + }, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePutOperation_example_max.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePutOperation_example_max.json new file mode 100644 index 000000000000..4935cda63706 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePutOperation_example_max.json @@ -0,0 +1,223 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2020-01-01-preview", + "parameters": { + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePutOperation_example_min.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePutOperation_example_min.json new file mode 100644 index 000000000000..81608fe06218 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/NodeTypePutOperation_example_min.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2020-01-01-preview", + "parameters": { + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10 + } + } + }, + "responses": { + "201": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10 + } + } + }, + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10 + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + }, + "body": { + "type": "nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10 + } + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/Operations_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/Operations_example.json new file mode 100644 index 000000000000..7cefa2a7eda0 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/Operations_example.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ServiceFabric/managedClusters/read", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Read Cluster", + "description": "Read any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/managedClusters/write", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Create or Update Cluster", + "description": "Create or Update any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/managedClusters/delete", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Delete Cluster", + "description": "Delete any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/locations/clusterVersions/read", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "Cluster Versions", + "operation": "Read Cluster Version", + "description": "Read any Cluster Version" + } + }, + { + "name": "Microsoft.ServiceFabric/managedclusters/locations/osType/clusterVersions/read", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "Cluster Versions By Os", + "operation": "Read Cluster Version By Os", + "description": "Read any Cluster Version for a specific os" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/read", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Read Node type", + "description": "Read any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/write", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Create or Update Node type", + "description": "Create or Update any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/delete", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Delete Node type", + "description": "Delete any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/restart/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Restart nodes from Node type", + "description": "Restart nodes from Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/reimage/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Reimage nodes from Node type", + "description": "Reimage nodes from Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/deleteNode/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Delete nodes from Node type", + "description": "Delete nodes from Node type" + } + } + ] + } + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ReimageNodes_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ReimageNodes_example.json new file mode 100644 index 000000000000..9baa8c28a136 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/ReimageNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2020-01-01-preview", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + } + }, + "200": {} + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/RestartNodes_example.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/RestartNodes_example.json new file mode 100644 index 000000000000..9baa8c28a136 --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/examples/RestartNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2020-01-01-preview", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2020-01-01-preview" + } + }, + "200": {} + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json new file mode 100644 index 000000000000..45af9872d23f --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json @@ -0,0 +1,1232 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceFabricManagementClient", + "description": "Azure Service Fabric Resource Provider API Client", + "version": "2020-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters": { + "get": { + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Gets the list of Service Fabric cluster resources created in the specified resource group.", + "description": "Gets all Service Fabric cluster resources created or in the process of being created in the resource group.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "tags": [ + "ManagedCluster" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List cluster by resource group": { + "$ref": "./examples/ManagedClusterListByResourceGroupOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/managedClusters": { + "get": { + "operationId": "ManagedClusters_ListBySubscription", + "summary": "Gets the list of Service Fabric cluster resources created in the specified subscription.", + "description": "Gets all Service Fabric cluster resources created or in the process of being created in the subscription.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "tags": [ + "ManagedCluster" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed clusters": { + "$ref": "./examples/ManagedClusterListBySubscriptionOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}": { + "get": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a Service Fabric managed cluster resource.", + "description": "Get a Service Fabric managed cluster resource created or in the process of being created in the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "Get a cluster": { + "$ref": "./examples/ManagedClusterGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed cluster resource.", + "description": "Create or update a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "The cluster resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put a cluster with minimum parameters": { + "$ref": "./examples/ManagedClusterPutOperation_example_min.json" + }, + "Put a cluster with maximum parameters": { + "$ref": "./examples/ManagedClusterPutOperation_example_max.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "201": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Update", + "summary": "Updates the configuration of a Service Fabric managed cluster resource.", + "description": "Update the configuration of a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters to update the managed cluster configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterUpdateParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Patch a managed cluster": { + "$ref": "./examples/ManagedClusterPatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a Service Fabric managed cluster resource.", + "description": "Delete a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "Delete a cluster": { + "$ref": "./examples/ManagedClusterDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/providers/Microsoft.ServiceFabric/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Lists all of the available Service Fabric resource provider API operations.", + "description": "Get the list of available Service Fabric resource provider API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "name": "api-version", + "in": "query", + "description": "The version of the Service Fabric resource provider API", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/managedclusters/locations/{location}/osType/{osType}/clusterVersions": { + "get": { + "operationId": "ManagedClusterVersions_ListByOS", + "summary": "Gets the list of Service Fabric cluster code versions available for the specified OS type.", + "description": "Gets all available code versions for Service Fabric cluster resources by OS type.", + "parameters": [ + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/osType" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "List cluster versions by OS": { + "$ref": "./examples/ManagedClusterVersionsListByOS_example.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterVersionDetails" + }, + "description": "The list of available Service Fabric runtime versions." + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + } + }, + "definitions": { + "AzureActiveDirectory": { + "properties": { + "tenantId": { + "type": "string", + "description": "Azure active directory tenant id." + }, + "clusterApplication": { + "type": "string", + "description": "Azure active directory cluster application id." + }, + "clientApplication": { + "type": "string", + "description": "Azure active directory client application id." + } + }, + "description": "The settings to enable AAD authentication on the cluster." + }, + "ClientCertificate": { + "required": [ + "isAdmin" + ], + "properties": { + "isAdmin": { + "type": "boolean", + "description": "Whether the certificate is admin or not." + }, + "thumbprint": { + "type": "string", + "description": "Certificate Thumbprint." + }, + "commonName": { + "type": "string", + "description": "Certificate Common name." + }, + "issuerThumbprint": { + "type": "string", + "description": "Issuer thumbprint for the certificate. Its only use CommonName is used." + } + }, + "description": "Client Certificate definition." + }, + "ClusterOsType": { + "type": "string", + "description": "Cluster operating system type.", + "enum": [ + "Windows", + "Ubuntu", + "RedHat", + "Ubuntu18_04" + ] + }, + "ClusterState": { + "type": "string", + "description": "The current state of the cluster.\n\n - WaitingForNodes - Indicates that the cluster resource is created and the resource provider is waiting for Service Fabric VM extension to boot up and report to it.\n - Deploying - Indicates that the Service Fabric runtime is being installed on the VMs. Cluster resource will be in this state until the cluster boots up and system services are up.\n - BaselineUpgrade - Indicates that the cluster is upgrading to establishes the cluster version. This upgrade is automatically initiated when the cluster boots up for the first time.\n - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration.\n - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate.\n - UpdatingInfrastructure - Indicates that the cluster is being upgraded with the latest Service Fabric runtime version. This happens only when the **upgradeMode** is set to 'Automatic'.\n - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version.\n - UpgradeServiceUnreachable - Indicates that the system service in the cluster is no longer polling the Resource Provider. Clusters in this state cannot be managed by the Resource Provider.\n - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted.\n - Ready - Indicates that the cluster is in a stable state.\n", + "enum": [ + "WaitingForNodes", + "Deploying", + "BaselineUpgrade", + "UpdatingUserConfiguration", + "UpdatingUserCertificate", + "UpdatingInfrastructure", + "EnforcingClusterVersion", + "UpgradeServiceUnreachable", + "AutoScale", + "Ready" + ] + }, + "ManagedClusterVersionDetails": { + "properties": { + "msiVersion": { + "type": "string", + "description": "The Service Fabric runtime version of the cluster." + }, + "supportExpiryUtc": { + "type": "string", + "description": "The date of expiry of support of the version." + }, + "osType": { + "$ref": "#/definitions/ClusterOsType", + "description": "Indicates the operating system of the cluster." + } + }, + "description": "The detail of the Service Fabric runtime version." + }, + "LoadBalancingRule": { + "required": [ + "frontendPort", + "backendPort", + "protocol", + "probeProtocol" + ], + "properties": { + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 1 and 65534.", + "minimum": 1, + "maximum": 65534 + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.", + "minimum": 1, + "maximum": 65534 + }, + "protocol": { + "type": "string", + "description": "The reference to the transport protocol used by the load balancing rule.", + "enum": [ + "tcp", + "udp" + ], + "x-ms-enum": { + "name": "protocol", + "modelAsString": true + } + }, + "probeProtocol": { + "type": "string", + "description": "the reference to the load balancer probe used by the load balancing rule.", + "enum": [ + "tcp", + "http", + "https" + ], + "x-ms-enum": { + "name": "probeProtocol", + "modelAsString": true + } + }, + "probeRequestPath": { + "type": "string", + "description": "The probe request path. Only supported for HTTP/HTTPS probes." + } + }, + "description": "Describes a load balancing rule." + }, + "ManagedCluster": { + "type": "object", + "description": "The manged cluster resource\n", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedClusterProperties", + "description": "The managed cluster resource properties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the managed cluster" + } + } + } + ] + }, + "ManagedClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Managed Cluster list results" + }, + "ManagedClusterProperties": { + "required": [ + "dnsName", + "adminUserName" + ], + "properties": { + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "fqdn": { + "type": "string", + "description": "the cluster Fully qualified domain name.", + "readOnly": true + }, + "clusterId": { + "type": "string", + "description": "A service generated unique identifier for the cluster resource.", + "readOnly": true + }, + "clusterState": { + "readOnly": true, + "$ref": "#/definitions/ClusterState", + "description": "The current state of the cluster.\n\n - WaitingForNodes - Indicates that the cluster resource is created and the resource provider is waiting for Service Fabric VM extension to boot up and report to it.\n - Deploying - Indicates that the Service Fabric runtime is being installed on the VMs. Cluster resource will be in this state until the cluster boots up and system services are up.\n - BaselineUpgrade - Indicates that the cluster is upgrading to establishes the cluster version. This upgrade is automatically initiated when the cluster boots up for the first time.\n - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration.\n - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate.\n - UpdatingInfrastructure - Indicates that the cluster is being upgraded with the latest Service Fabric runtime version. This happens only when the **upgradeMode** is set to 'Automatic'.\n - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version.\n - UpgradeServiceUnreachable - Indicates that the system service in the cluster is no longer polling the Resource Provider. Clusters in this state cannot be managed by the Resource Provider.\n - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted.\n - Ready - Indicates that the cluster is in a stable state.\n" + }, + "clusterCertificateThumbprint": { + "type": "string", + "description": "The cluster certificate thumbprint used node to node communication.", + "readOnly": true + }, + "clientConnectionPort": { + "type": "integer", + "format": "int32", + "description": "The port used for client connections to the cluster.", + "default": 19000 + }, + "httpGatewayConnectionPort": { + "type": "integer", + "format": "int32", + "description": "The port used for http connections to the cluster.", + "default": 19080 + }, + "adminUserName": { + "type": "string", + "description": "vm admin user name." + }, + "adminPassword": { + "x-ms-secret": true, + "type": "string", + "format": "password", + "description": "vm admin user password." + }, + "loadBalancingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "Describes load balancing rules." + }, + "clients": { + "type": "array", + "items": { + "$ref": "#/definitions/ClientCertificate" + }, + "description": "client certificates for the cluster." + }, + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "Azure active directory." + }, + "fabricSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/SettingsSectionDescription" + }, + "description": "The list of custom fabric settings to configure the cluster." + }, + "provisioningState": { + "$ref": "#/definitions/ManagedResourceProvisioningState", + "description": "The provisioning state of the managed cluster resource.", + "readOnly": true + }, + "clusterCodeVersion": { + "type": "string", + "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**." + }, + "clusterUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n" + }, + "clusterUpgradeDescription": { + "$ref": "#/definitions/ClusterUpgradePolicy", + "description": "Describes the policy used when upgrading the cluster." + } + }, + "description": "Describes the managed cluster resource properties." + }, + "ManagedClusterPropertiesUpdateParameters": { + "properties": { + "clientConnectionPort": { + "type": "integer", + "format": "int32", + "description": "The port used for client connections to the cluster." + }, + "httpGatewayConnectionPort": { + "type": "integer", + "format": "int32", + "description": "The port used for http connections to the cluster." + }, + "loadBalancingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "Describes a load balancing rule." + }, + "clients": { + "type": "array", + "items": { + "$ref": "#/definitions/ClientCertificate" + }, + "description": "client certificates for the cluster." + }, + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "Azure active directory." + }, + "fabricSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/SettingsSectionDescription" + }, + "description": "The list of custom fabric settings to configure the cluster." + }, + "clusterCodeVersion": { + "type": "string", + "description": "The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**." + }, + "clusterUpgradeMode": { + "$ref": "#/definitions/UpgradeMode", + "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n" + }, + "clusterUpgradeDescription": { + "$ref": "#/definitions/ClusterUpgradePolicy", + "description": "Describes the policy used when upgrading the cluster." + } + }, + "description": "Describes the managed cluster resource properties." + }, + "ManagedClusterUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedClusterPropertiesUpdateParameters", + "description": "Describes the managed cluster resource properties." + }, + "tags": { + "type": "object", + "description": "Managed cluster update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Managed cluster update request" + }, + "Sku": { + "required": [ + "name" + ], + "properties": { + "name": { + "$ref": "#/definitions/SkuName", + "description": "Sku Name. Basic will have a minimum of 3 seed nodes and Standard a minimum of 5. Basic only allows 1 node type." + } + }, + "description": "Sku definition" + }, + "SkuName": { + "type": "string", + "description": "Sku Name. Basic will hav a minimum of 3 seed nodes and Standard a minimum of 5. Basic only allows 1 node type.", + "enum": [ + "Basic", + "Standard" + ] + }, + "AvailableOperationDisplay": { + "properties": { + "provider": { + "type": "string", + "description": "The name of the provider." + }, + "resource": { + "type": "string", + "description": "The resource on which the operation is performed" + }, + "operation": { + "type": "string", + "description": "The operation that can be performed." + }, + "description": { + "type": "string", + "description": "Operation description" + } + }, + "description": "Operation supported by the Service Fabric resource provider" + }, + "ApplicationDeltaHealthPolicy": { + "type": "object", + "description": "Defines a delta health policy used to evaluate the health of an application or one of its child entities when upgrading the cluster.\n", + "properties": { + "defaultServiceTypeDeltaHealthPolicy": { + "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy", + "description": "The delta health policy used by default to evaluate the health of a service type when upgrading the cluster." + }, + "serviceTypeDeltaHealthPolicies": { + "$ref": "#/definitions/ServiceTypeDeltaHealthPolicyMap", + "description": "The map with service type delta health policy per service type name. The map is empty by default." + } + } + }, + "ApplicationDeltaHealthPolicyMap": { + "type": "object", + "description": "Defines a map that contains specific application delta health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationDeltaHealthPolicy used to evaluate the application health when upgrading the cluster.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n", + "additionalProperties": { + "$ref": "#/definitions/ApplicationDeltaHealthPolicy" + } + }, + "ApplicationHealthPolicy": { + "type": "object", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n", + "properties": { + "defaultServiceTypeHealthPolicy": { + "$ref": "#/definitions/ServiceTypeHealthPolicy", + "description": "The health policy used by default to evaluate the health of a service type." + }, + "serviceTypeHealthPolicies": { + "$ref": "#/definitions/ServiceTypeHealthPolicyMap", + "description": "The map with service type health policy per service type name. The map is empty by default." + } + } + }, + "ApplicationHealthPolicyMap": { + "type": "object", + "description": "Defines a map that contains specific application health policies for different applications.\nEach entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.\nThe application name should include the 'fabric:' URI scheme.\nThe map is empty by default.\n", + "additionalProperties": { + "$ref": "#/definitions/ApplicationHealthPolicy" + } + }, + "ClusterHealthPolicy": { + "type": "object", + "description": "Defines a health policy used to evaluate the health of the cluster or of a cluster node.\n", + "properties": { + "maxPercentUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n", + "default": 0, + "minimum": 0, + "maximum": 100 + }, + "maxPercentUnhealthyApplications": { + "type": "integer", + "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n", + "default": 0, + "minimum": 0, + "maximum": 100 + }, + "applicationHealthPolicies": { + "$ref": "#/definitions/ApplicationHealthPolicyMap", + "description": "Defines the application health policy map used to evaluate the health of an application or one of its children entities." + } + } + }, + "ClusterUpgradeDeltaHealthPolicy": { + "description": "Describes the delta health policies for the cluster upgrade.", + "required": [ + "maxPercentDeltaUnhealthyApplications", + "maxPercentDeltaUnhealthyNodes", + "maxPercentUpgradeDomainDeltaUnhealthyNodes" + ], + "properties": { + "maxPercentDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n", + "minimum": 0, + "maximum": 100 + }, + "maxPercentUpgradeDomainDeltaUnhealthyNodes": { + "type": "integer", + "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n", + "minimum": 0, + "maximum": 100 + }, + "maxPercentDeltaUnhealthyApplications": { + "type": "integer", + "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n", + "minimum": 0, + "maximum": 100 + }, + "applicationDeltaHealthPolicies": { + "$ref": "#/definitions/ApplicationDeltaHealthPolicyMap", + "description": "Defines the application delta health policy map used to evaluate the health of an application or one of its child entities when upgrading the cluster." + } + } + }, + "ClusterUpgradePolicy": { + "required": [ + "healthCheckRetryTimeout", + "healthCheckStableDuration", + "healthCheckWaitDuration", + "healthPolicy", + "upgradeDomainTimeout", + "upgradeReplicaSetCheckTimeout", + "upgradeTimeout" + ], + "properties": { + "forceRestart": { + "type": "boolean", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + }, + "upgradeReplicaSetCheckTimeout": { + "type": "string", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." + }, + "healthCheckWaitDuration": { + "type": "string", + "description": "The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." + }, + "healthCheckStableDuration": { + "type": "string", + "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format." + }, + "healthCheckRetryTimeout": { + "type": "string", + "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." + }, + "upgradeTimeout": { + "type": "string", + "description": "The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." + }, + "upgradeDomainTimeout": { + "type": "string", + "description": "The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format." + }, + "healthPolicy": { + "$ref": "#/definitions/ClusterHealthPolicy", + "description": "The cluster health policy used when upgrading the cluster." + }, + "deltaHealthPolicy": { + "$ref": "#/definitions/ClusterUpgradeDeltaHealthPolicy", + "description": "The cluster delta health policy used when upgrading the cluster." + } + }, + "description": "Describes the policy used when upgrading the cluster." + }, + "ErrorModel": { + "properties": { + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The error details." + } + }, + "description": "The structure of the error." + }, + "ErrorModelError": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error details." + }, + "ManagedResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of the managed resource.", + "enum": [ + "None", + "Creating", + "Created", + "Updating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "Deleted", + "Other" + ] + }, + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "description": "List of operations supported by the Service Fabric resource provider.", + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "readOnly": true + } + }, + "description": "Describes the result of the request to list Service Fabric resource provider operations." + }, + "OperationResult": { + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "display": { + "$ref": "#/definitions/AvailableOperationDisplay", + "description": "The object that represents the operation." + }, + "origin": { + "type": "string", + "description": "Origin result" + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Available operation list result" + }, + "Resource": { + "required": [ + "location" + ], + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Azure resource name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Azure resource type.", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Azure resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "description": "Azure resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "type": "string", + "description": "Azure resource etag.", + "readOnly": true + } + }, + "description": "The resource model definition.", + "x-ms-azure-resource": true + }, + "ServiceTypeDeltaHealthPolicy": { + "type": "object", + "description": "Represents the delta health policy used to evaluate the health of services belonging to a service type when upgrading the cluster.\n", + "properties": { + "maxPercentDeltaUnhealthyServices": { + "type": "integer", + "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n", + "default": 0, + "minimum": 0, + "maximum": 100 + } + } + }, + "ServiceTypeDeltaHealthPolicyMap": { + "type": "object", + "description": "Defines a map that contains specific delta health policies for different service types.\nEach entry specifies as key the service type name and as value a ServiceTypeDeltaHealthPolicy used to evaluate the service health when upgrading the cluster.\nThe map is empty by default.\n", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeDeltaHealthPolicy" + } + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n", + "properties": { + "maxPercentUnhealthyServices": { + "type": "integer", + "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", + "default": 0, + "minimum": 0, + "maximum": 100 + } + } + }, + "ServiceTypeHealthPolicyMap": { + "type": "object", + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + } + }, + "SettingsParameterDescription": { + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "The parameter name of fabric setting." + }, + "value": { + "type": "string", + "description": "The parameter value of fabric setting." + } + }, + "description": "Describes a parameter in fabric settings of the cluster." + }, + "SettingsSectionDescription": { + "required": [ + "name", + "parameters" + ], + "properties": { + "name": { + "type": "string", + "description": "The section name of the fabric settings." + }, + "parameters": { + "type": "array", + "description": "The collection of parameters in the section.", + "items": { + "$ref": "#/definitions/SettingsParameterDescription" + } + } + }, + "description": "Describes a section in the fabric settings of the cluster." + }, + "UpgradeMode": { + "type": "string", + "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n", + "enum": [ + "Automatic", + "Manual" + ] + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2020-01-01-preview\" for this specification.", + "required": true, + "type": "string", + "enum": [ + "2020-01-01-preview" + ], + "default": "2020-01-01-preview", + "x-ms-parameter-location": "client" + }, + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "clusterVersion": { + "name": "clusterVersion", + "in": "path", + "description": "The cluster code version.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "locationForClusterCodeVersions": { + "name": "location", + "in": "path", + "description": "The location for the cluster code versions. This is different from cluster location.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "osType": { + "name": "osType", + "in": "path", + "description": "The operating system of the cluster.", + "required": true, + "type": "string", + "enum": [ + "Windows", + "Ubuntu", + "RedHat", + "Ubuntu18_04" + ], + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The customer subscription identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json new file mode 100644 index 000000000000..708998a6869e --- /dev/null +++ b/specification/servicefabric/resource-manager/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json @@ -0,0 +1,1059 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceFabricManagementClient", + "description": "Azure Service Fabric Resource Provider API Client", + "version": "2020-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/providers/Microsoft.ServiceFabric/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Lists all of the available Service Fabric resource provider API operations.", + "description": "Get the list of available Service Fabric resource provider API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "name": "api-version", + "in": "query", + "description": "The version of the Service Fabric resource provider API", + "required": true, + "type": "string" + } + ], + "x-ms-examples": { + "List node type of the specified managed cluster": { + "$ref": "./examples/Operations_example.json" + } + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes": { + "get": { + "operationId": "NodeTypes_ListByManagedClusters", + "summary": "Gets the list of Node types of the specified managed cluster.", + "description": "Gets all Node types of the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "tags": [ + "NodeType" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List node type of the specified managed cluster": { + "$ref": "./examples/NodeTypeListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeTypeListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/restart": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Restart", + "summary": "Restarts one or more nodes on the node type.", + "description": "Restarts one or more nodes on the node type. It will disable the fabric nodes, trigger a restart on the VMs and activate the nodes back again.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for restart action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Restart nodes": { + "$ref": "./examples/RestartNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/reimage": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Reimage", + "summary": "Reimages one or more nodes on the node type.", + "description": "Reimages one or more nodes on the node type. It will disable the fabric nodes, trigger a reimage on the VMs and activate the nodes back again.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for reimage action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Reimage nodes": { + "$ref": "./examples/ReimageNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/deleteNode": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_DeleteNode", + "summary": "Deletes one or more nodes on the node type.", + "description": "Deletes one or more nodes on the node type. It will disable the fabric nodes, trigger a delete on the VMs and removes the state from the cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for delete action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Delete nodes": { + "$ref": "./examples/DeleteNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}": { + "get": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Get", + "summary": "Gets a Service Fabric node type.", + "description": "Get a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get a node type": { + "$ref": "./examples/NodeTypeGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric node type.", + "description": "Create or update a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The node type resource.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeType" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put a node type with minimum parameters": { + "$ref": "./examples/NodeTypePutOperation_example_min.json" + }, + "Put a node type with maximum parameters": { + "$ref": "./examples/NodeTypePutOperation_example_max.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "201": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Update", + "summary": "Updates the configuration of a node type of a given managed cluster.", + "description": "Update the configuration of a node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters to update the node type configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeUpdateParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Patch a node type": { + "$ref": "./examples/NodeTypePatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Delete", + "summary": "Deletes a Service Fabric node type.", + "description": "Delete a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete a node type": { + "$ref": "./examples/NodeTypeDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + } + }, + "definitions": { + "NodeType": { + "allOf": [ + { + "$ref": "#/definitions/ManagedProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NodeTypeProperties", + "description": "The node type properties" + } + }, + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeActionParameters": { + "required": [ + "nodes" + ], + "properties": { + "nodes": { + "description": "List of node names from the node type.", + "type": "array", + "items": { + "type": "string" + } + }, + "force": { + "description": "Force the action to go through.", + "type": "boolean" + } + }, + "description": "Parameters for Node type action." + }, + "NodeTypeProperties": { + "required": [ + "isPrimary", + "vmInstanceCount", + "dataDiskSizeGB" + ], + "properties": { + "isPrimary": { + "type": "boolean", + "description": "The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters." + }, + "vmInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the node type.", + "minimum": 1, + "maximum": 2147483647 + }, + "dataDiskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Disk size for each vm in the node type in GBs." + }, + "placementProperties": { + "type": "object", + "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.", + "additionalProperties": { + "type": "string", + "description": "Placement tag value" + } + }, + "capacities": { + "type": "object", + "description": "The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has.", + "additionalProperties": { + "type": "string", + "description": "Capacity tag value" + } + }, + "applicationPorts": { + "$ref": "#/definitions/EndpointRangeDescription", + "description": "The range of ports from which cluster assigned port to Service Fabric applications." + }, + "ephemeralPorts": { + "$ref": "#/definitions/EndpointRangeDescription", + "description": "The range of ephemeral ports that nodes in this node type should be configured with." + }, + "vmSize": { + "type": "string", + "description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageOffer": { + "type": "string", + "description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer." + }, + "vmImageSku": { + "type": "string", + "description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter." + }, + "vmImageVersion": { + "type": "string", + "description": "The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'." + }, + "vmSecrets": { + "type": "array", + "title": "virtual machine secretes.", + "description": "The secrets to install in the virtual machines.", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + "vmExtensions": { + "type": "array", + "title": "virtual machine extensions.", + "description": "Set of extensions that should be installed onto the virtual machines.", + "items": { + "$ref": "#/definitions/VMSSExtension" + } + }, + "provisioningState": { + "$ref": "#/definitions/ManagedResourceProvisioningState", + "description": "The provisioning state of the managed cluster resource.", + "readOnly": true + } + }, + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeListResult": { + "properties": { + "value": { + "type": "array", + "title": "node type list value.", + "description": "The list of node types.", + "items": { + "$ref": "#/definitions/NodeType" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Node type list results" + }, + "NodeTypePropertiesUpdateParameters": { + "properties": { + "vmInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource.", + "minimum": 1, + "maximum": 2147483647 + }, + "placementProperties": { + "type": "object", + "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.", + "additionalProperties": { + "type": "string", + "description": "Placement tag value" + } + }, + "capacities": { + "type": "object", + "description": "The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has.", + "additionalProperties": { + "type": "string", + "description": "Capacity tag value" + } + }, + "applicationPorts": { + "$ref": "#/definitions/EndpointRangeDescription", + "description": "The range of ports from which cluster assigned port to Service Fabric applications." + }, + "ephemeralPorts": { + "$ref": "#/definitions/EndpointRangeDescription", + "description": "The range of ephemeral ports that nodes in this node type should be configured with." + }, + "vmSecrets": { + "type": "array", + "title": "virtual machine secretes.", + "description": "The secrets to install in the virtual machines.", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + "vmExtensions": { + "type": "array", + "title": "virtual machine extensions.", + "description": "Set of extensions that should be installed onto the virtual machines.", + "items": { + "$ref": "#/definitions/VMSSExtension" + } + } + }, + "description": "Node type update properties." + }, + "NodeTypeUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NodeTypePropertiesUpdateParameters", + "description": "Node type update properties." + }, + "tags": { + "type": "object", + "description": "Node type update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Node type update request" + }, + "ManagedProxyResource": { + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Azure resource name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Azure resource type.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Azure resource tags.", + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "description": "The resource model definition for proxy-only resource.", + "x-ms-azure-resource": true + }, + "ManagedResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of the managed resource.", + "enum": [ + "None", + "Creating", + "Created", + "Updating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "Deleted", + "Other" + ] + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier." + } + }, + "description": "Azure resource identifier.", + "x-ms-azure-resource": true + }, + "VaultCertificate": { + "required": [ + "certificateUrl", + "certificateStore" + ], + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

    {
    \"data\":\"\",
    \"dataType\":\"pfx\",
    \"password\":\"\"
    }" + }, + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

    For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "required": [ + "sourceVault", + "vaultCertificates" + ], + "properties": { + "sourceVault": { + "$ref": "#/definitions/SubResource", + "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." + }, + "vaultCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + }, + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Specifies set of certificates that should be installed onto the virtual machines." + }, + "VMSSExtension": { + "required": [ + "name", + "properties" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VMSSExtensionProperties", + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "description": "Specifies set of extensions that should be installed onto the virtual machines." + }, + "VMSSExtensionProperties": { + "required": [ + "publisher", + "type", + "typeHandlerVersion" + ], + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed." + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "provisionAfterExtensions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of extension names after which this extension needs to be provisioned." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "AvailableOperationDisplay": { + "properties": { + "provider": { + "type": "string", + "description": "The name of the provider." + }, + "resource": { + "type": "string", + "description": "The resource on which the operation is performed" + }, + "operation": { + "type": "string", + "description": "The operation that can be performed." + }, + "description": { + "type": "string", + "description": "Operation description" + } + }, + "description": "Operation supported by the Service Fabric resource provider" + }, + "EndpointRangeDescription": { + "required": [ + "endPort", + "startPort" + ], + "properties": { + "startPort": { + "type": "integer", + "description": "Starting port of a range of ports" + }, + "endPort": { + "type": "integer", + "description": "End port of a range of ports" + } + }, + "description": "Port range details" + }, + "ErrorModel": { + "properties": { + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The error details." + } + }, + "description": "The structure of the error." + }, + "ErrorModelError": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error details." + }, + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "description": "List of operations supported by the Service Fabric resource provider.", + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "readOnly": true + } + }, + "description": "Describes the result of the request to list Service Fabric resource provider operations." + }, + "OperationResult": { + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "display": { + "$ref": "#/definitions/AvailableOperationDisplay", + "description": "The object that represents the operation." + }, + "origin": { + "type": "string", + "description": "Origin result" + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Available operation list result" + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2020-01-01-preview\" for this specification.", + "required": true, + "type": "string", + "enum": [ + "2020-01-01-preview" + ], + "default": "2020-01-01-preview", + "x-ms-parameter-location": "client" + }, + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "nodeTypeNameParameter": { + "name": "nodeTypeName", + "in": "path", + "description": "The name of the node type.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The customer subscription identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/servicefabric/resource-manager/readme.azureresourceschema.md b/specification/servicefabric/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b30a3ce1e405 --- /dev/null +++ b/specification/servicefabric/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,127 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-servicefabric-2020-03-01 + - tag: schema-servicefabric-2020-01-01-preview + - tag: schema-servicefabric-2019-11-01-preview + - tag: schema-servicefabric-2019-06-01-preview + - tag: schema-servicefabric-2019-03-01-preview + - tag: schema-servicefabric-2019-03-01 + - tag: schema-servicefabric-2018-02-01 + - tag: schema-servicefabric-2017-07-01-preview + - tag: schema-servicefabric-2016-09-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-servicefabric-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/stable/2020-03-01/cluster.json + - Microsoft.ServiceFabric/stable/2020-03-01/application.json + +``` + +### Tag: schema-servicefabric-2020-01-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2020-01-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json + - Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json + +``` + +### Tag: schema-servicefabric-2019-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2019-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2019-11-01-preview/cluster.json + - Microsoft.ServiceFabric/preview/2019-11-01-preview/application.json + +``` + +### Tag: schema-servicefabric-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2019-06-01-preview/cluster.json + - Microsoft.ServiceFabric/preview/2019-06-01-preview/application.json + +``` + +### Tag: schema-servicefabric-2019-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2019-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2019-03-01-preview/cluster.json + - Microsoft.ServiceFabric/preview/2019-03-01-preview/application.json + +``` + +### Tag: schema-servicefabric-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/stable/2019-03-01/cluster.json + - Microsoft.ServiceFabric/stable/2019-03-01/application.json + +``` + +### Tag: schema-servicefabric-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/stable/2018-02-01/cluster.json + +``` + +### Tag: schema-servicefabric-2017-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2017-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/preview/2017-07-01-preview/application.json + - Microsoft.ServiceFabric/preview/2017-07-01-preview/servicefabric.json + +``` + +### Tag: schema-servicefabric-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabric-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabric/stable/2016-09-01/servicefabric.json + +``` diff --git a/specification/servicefabric/resource-manager/readme.md b/specification/servicefabric/resource-manager/readme.md index 282661df8854..e24cf39fd1ba 100644 --- a/specification/servicefabric/resource-manager/readme.md +++ b/specification/servicefabric/resource-manager/readme.md @@ -68,6 +68,18 @@ These settings apply only when `--tag=package-2020-03` is specified on the comma input-file: - Microsoft.ServiceFabric/stable/2020-03-01/cluster.json - Microsoft.ServiceFabric/stable/2020-03-01/application.json +- Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json +- Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json +``` + +### Tag: package-2020-01-preview + +These settings apply only when `--tag=package-2020-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-01-preview' +input-file: +- Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json +- Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json ``` ### Tag: package-2019-11-preview @@ -166,6 +178,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_service_fabric'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js servicefabric/resource-manager ``` @@ -193,6 +208,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -207,6 +226,8 @@ require: $(this-folder)/../../../profiles/readme.md input-file: - $(this-folder)/Microsoft.ServiceFabric/stable/2020-03-01/cluster.json - $(this-folder)/Microsoft.ServiceFabric/stable/2020-03-01/application.json + - $(this-folder)/Microsoft.ServiceFabric/preview/2020-01-01-preview/managedcluster.json + - $(this-folder)/Microsoft.ServiceFabric/preview/2020-01-01-preview/nodetype.json - $(this-folder)/Microsoft.ServiceFabric/preview/2019-11-01-preview/cluster.json - $(this-folder)/Microsoft.ServiceFabric/preview/2019-11-01-preview/application.json - $(this-folder)/Microsoft.ServiceFabric/preview/2019-06-01-preview/cluster.json diff --git a/specification/servicefabricmesh/resource-manager/readme.azureresourceschema.md b/specification/servicefabricmesh/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..db5f575e8158 --- /dev/null +++ b/specification/servicefabricmesh/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-servicefabricmesh-2018-09-01-preview + - tag: schema-servicefabricmesh-2018-07-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-servicefabricmesh-2018-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabricmesh-2018-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabricMesh/preview/2018-09-01-preview/servicefabricmesh.json + +``` + +### Tag: schema-servicefabricmesh-2018-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-servicefabricmesh-2018-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ServiceFabricMesh/preview/2018-07-01-preview/servicefabricmesh.json + +``` diff --git a/specification/servicefabricmesh/resource-manager/readme.md b/specification/servicefabricmesh/resource-manager/readme.md index 1304aa396666..581ecfa00519 100644 --- a/specification/servicefabricmesh/resource-manager/readme.md +++ b/specification/servicefabricmesh/resource-manager/readme.md @@ -76,6 +76,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_service_fabric_mesh'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js servicefabricmesh/resource-manager ``` @@ -169,6 +172,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/Operations_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..dcac0aba2178 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-07-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 SignalR's 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/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..b2f4b2f2825d --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "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/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..8136bd3efc51 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-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" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": null, + "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" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..f7574dea5e33 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateEndpointConnections_Update.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "parameters": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": null, + "actionsRequired": "None" + } + } + }, + "api-version": "2020-07-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" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": null, + "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" + }, + "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/2020-07-01-preview/examples/SignalRPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateLinkResources_List.json new file mode 100644 index 000000000000..4f15af187f25 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalRPrivateLinkResources_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-07-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" + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/privateLinkResources", + "name": "signalr", + "type": "privateLinkResources" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_CheckNameAvailability.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_CheckNameAvailability.json new file mode 100644 index 000000000000..b2b0abfc74ba --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "parameters": { + "type": "Microsoft.SignalRService/SignalR", + "name": "my-signalr-service" + }, + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The leaf is already used by other people" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_CreateOrUpdate.json new file mode 100644 index 000000000000..9efeefa6cfa6 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_CreateOrUpdate.json @@ -0,0 +1,305 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "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" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "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", + "description": null, + "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" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": null, + "eventPattern": null, + "categoryPattern": null, + "urlTemplate": "http://foo.com", + "auth": null + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "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" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "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", + "description": null, + "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" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": null, + "eventPattern": null, + "categoryPattern": null, + "urlTemplate": "http://foo.com", + "auth": null + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "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" + }, + "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/2020-07-01-preview/examples/SignalR_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_Delete.json new file mode 100644 index 000000000000..8a29508741c7 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01-preview/examples/SignalR_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_Get.json new file mode 100644 index 000000000000..75691a753f3b --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_Get.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "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", + "description": null, + "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" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": null, + "eventPattern": null, + "categoryPattern": null, + "urlTemplate": "http://foo.com", + "auth": null + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "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" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListByResourceGroup.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListByResourceGroup.json new file mode 100644 index 000000000000..2736c7564cab --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListByResourceGroup.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "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", + "description": null, + "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" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": null, + "eventPattern": null, + "categoryPattern": null, + "urlTemplate": "http://foo.com", + "auth": null + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "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" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListBySubscription.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListBySubscription.json new file mode 100644 index 000000000000..d31abbcd6567 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListBySubscription.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "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", + "description": null, + "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" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": null, + "eventPattern": null, + "categoryPattern": null, + "urlTemplate": "http://foo.com", + "auth": null + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "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" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListKeys.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListKeys.json new file mode 100644 index 000000000000..cf251e27a32a --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_ListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "primaryKey": "primaryAccessKey", + "secondaryKey": "secondaryAccessKey", + "primaryConnectionString": "Endpoint=https://yourServiceName.service.signalr.net;AccessKey=primaryAccessKey;Version=1.0", + "secondaryConnectionString": "Endpoint=https://yourServiceName.service.signalr.net;AccessKey=secondaryAccessKey;Version=1.0" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_RegenerateKey.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_RegenerateKey.json new file mode 100644 index 000000000000..b247d4659746 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_RegenerateKey.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "parameters": { + "keyType": "Primary" + }, + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "201": { + "body": { + "primaryKey": "primaryAccessKey", + "secondaryKey": "secondaryAccessKey", + "primaryConnectionString": "Endpoint=https://yourServiceName.service.signalr.net;AccessKey=primaryAccessKey;Version=1.0;", + "secondaryConnectionString": "Endpoint=https://yourServiceName.service.signalr.net;AccessKey=secondaryAccessKey;Version=1.0;" + }, + "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/2020-07-01-preview/examples/SignalR_Restart.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_Restart.json new file mode 100644 index 000000000000..8a29508741c7 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_Restart.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2020-07-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/2020-07-01-preview/examples/SignalR_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_Update.json new file mode 100644 index 000000000000..6cbf5f9d3f87 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/SignalR_Update.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "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" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-07-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "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", + "description": null, + "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" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + } + ], + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": null, + "eventPattern": null, + "categoryPattern": null, + "urlTemplate": "http://foo.com", + "auth": null + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ], + "deny": null + }, + "privateEndpoints": [ + { + "name": "mySignalRService.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ], + "deny": null + } + ] + } + }, + "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" + } + }, + "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/2020-07-01-preview/examples/Usages_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/Usages_List.json new file mode 100644 index 000000000000..4646d1b4660e --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/examples/Usages_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "location": "eastus", + "api-version": "2020-07-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/2020-07-01-preview/signalr.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/signalr.json new file mode 100644 index 000000000000..39a47b3a804b --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/signalr.json @@ -0,0 +1,1851 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-07-01-preview", + "title": "SignalRManagementClient", + "description": "REST API for Azure SignalR Service" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "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", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/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 SignalR name is valid and is not already in use.", + "operationId": "SignalR_CheckNameAvailability", + "parameters": [ + { + "name": "location", + "in": "path", + "description": "the region", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the operation.", + "required": false, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_CheckNameAvailability": { + "$ref": "./examples/SignalR_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "SignalR_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of SignalR services in the subscription.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/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", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of SignalR services in a resourceGroup.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/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}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified private endpoint connection associated with a SignalR resource.", + "operationId": "SignalRPrivateEndpointConnections_Get", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection associated with the SignalR resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private link resources.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Get": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Update the state of specified private endpoint connection associated with a SignalR resource.", + "operationId": "SignalRPrivateEndpointConnections_Update", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection associated with the SignalR resource.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource of private endpoint and its properties.", + "required": false, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the private endpoint connection is updated successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Update": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Update.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified private endpoint connection associated with a SignalR resource.", + "operationId": "SignalRPrivateEndpointConnections_Delete", + "parameters": [ + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection associated with the SignalR resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "202": { + "description": "Success" + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "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 SignalR resource.", + "operationId": "SignalRPrivateLinkResources_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceList" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/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}/listKeys": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Get the access keys of the SignalR resource.", + "operationId": "SignalR_ListKeys", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes SignalR service access keys.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListKeys": { + "$ref": "./examples/SignalR_ListKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/regenerateKey": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Regenerate SignalR service access key. PrimaryKey and SecondaryKey cannot be regenerated at the same time.", + "operationId": "SignalR_RegenerateKey", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameter that describes the Regenerate Key Operation.", + "required": false, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "201": { + "description": "Created and an async operation is executing in background to make the new key to take effect. The response contains new keys and a Location header to query the async operation result.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_RegenerateKey": { + "$ref": "./examples/SignalR_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the SignalR service and its properties.", + "operationId": "SignalR_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding SignalR service.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_Get": { + "$ref": "./examples/SignalR_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create a new SignalR service and update an exiting SignalR service.", + "operationId": "SignalR_CreateOrUpdate", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameters for the create or update operation", + "required": false, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a SignalR service.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "201": { + "description": "Created. The response describes the new service and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting SignalR service is now updating and contains a Location header to query the operation result.." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_CreateOrUpdate": { + "$ref": "./examples/SignalR_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Operation to delete a SignalR service.", + "operationId": "SignalR_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "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": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_Delete": { + "$ref": "./examples/SignalR_Delete.json" + } + } + }, + "patch": { + "tags": [ + "SignalR" + ], + "description": "Operation to update an exiting SignalR service.", + "operationId": "SignalR_Update", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Parameters for the update operation", + "required": false, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a SignalR service.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting SignalR service is now updating and contains a Location header to query the operation result.." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_Update": { + "$ref": "./examples/SignalR_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Operation to restart a SignalR service.", + "operationId": "SignalR_Restart", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SignalRServiceName" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_Restart": { + "$ref": "./examples/SignalR_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/usages": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List usage quotas for Azure SignalR service by location.", + "operationId": "Usages_List", + "parameters": [ + { + "name": "location", + "in": "path", + "description": "the location like \"eastus\"", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the usage quotas of a subscription in specified region.", + "schema": { + "$ref": "#/definitions/SignalRUsageList" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Usages_List": { + "$ref": "./examples/Usages_List.json" + } + } + } + } + }, + "definitions": { + "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" + } + }, + "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" + } + } + }, + "Operation": { + "description": "REST API operation supported by SignalR 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", + "description": "The object that describes the operation." + }, + "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": { + "$ref": "#/definitions/OperationProperties", + "description": "Extra properties for the operation.", + "x-ms-client-flatten": false + } + } + }, + "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" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "The service specifications." + } + } + }, + "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" + } + }, + "logSpecifications": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "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" + } + } + } + }, + "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" + } + } + }, + "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" + } + } + }, + "ErrorResponse": { + "description": "Contains information about an API error.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Describes a particular API error with an error code and a message." + } + } + }, + "ErrorResponseBody": { + "description": "Describes a particular API error with an error code and a message.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "An error code that describes the error condition more precisely than an HTTP status code. \r\nCan be used to programmatically handle specific error cases.", + "type": "string" + }, + "message": { + "description": "A message that describes the error in detail and provides debugging information.", + "type": "string" + }, + "target": { + "description": "The target of the particular error (for example, the name of the property in error).", + "type": "string" + }, + "details": { + "description": "Contains nested errors that are related to this error.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + }, + "NameAvailabilityParameters": { + "description": "Data POST-ed to the nameAvailability action", + "required": [ + "type", + "name" + ], + "type": "object", + "properties": { + "type": { + "description": "The resource type. Should be always \"Microsoft.SignalRService/SignalR\".", + "type": "string" + }, + "name": { + "description": "The SignalR service name to validate. e.g.\"my-signalR-name-here\"", + "type": "string" + } + } + }, + "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" + } + } + }, + "SignalRResourceList": { + "description": "Object that includes an array of SignalR services and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of SignalR services", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRResource" + } + }, + "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" + } + } + }, + "SignalRResource": { + "description": "A class represent a SignalR service resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The billing information of the resource.(e.g. Free, Standard)" + }, + "properties": { + "$ref": "#/definitions/SignalRProperties", + "description": "Settings used to provision or configure the resource", + "x-ms-client-flatten": true + }, + "kind": { + "$ref": "#/definitions/ServiceKind", + "description": "The kind of the service - e.g. \"SignalR\", or \"RawWebSockets\" for \"Microsoft.SignalRService/SignalR\"", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "identity": { + "$ref": "#/definitions/ManagedIdentity", + "description": "The managed identity response" + } + } + }, + "ServiceKind": { + "description": "The kind of the service - e.g. \"SignalR\", or \"RawWebSockets\" for \"Microsoft.SignalRService/SignalR\"", + "enum": [ + "SignalR", + "RawWebSockets" + ], + "type": "string", + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "The GEO location of the SignalR service. e.g. West US | East US | North Central US | South Central US.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Tags of the service which is a list of key value pairs that describe the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Resource": { + "description": "The core properties of ARM resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource - e.g. \"Microsoft.SignalRService/SignalR\"", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ResourceSku": { + "description": "The billing information of the SignalR resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1", + "type": "string" + }, + "tier": { + "$ref": "#/definitions/SignalRSkuTier", + "description": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead." + }, + "size": { + "description": "Optional string. For future use.", + "type": "string" + }, + "family": { + "description": "Optional string. For future use.", + "type": "string" + }, + "capacity": { + "format": "int32", + "description": "Optional, integer. The unit count of SignalR resource. 1 by default.\r\n\r\nIf present, following values are allowed:\r\n Free: 1\r\n Standard: 1,2,5,10,20,50,100", + "type": "integer" + } + } + }, + "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 + } + }, + "SignalRProperties": { + "description": "A class that describes the properties of the SignalR service that should contain more read-only properties than AzSignalR.Models.SignalRCreateOrUpdateProperties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SignalRCreateOrUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource.", + "readOnly": true + }, + "externalIP": { + "description": "The publicly accessible IP of the SignalR service.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "FQDN of the SignalR service instance. Format: xxx.service.signalr.net", + "type": "string", + "readOnly": true + }, + "publicPort": { + "format": "int32", + "description": "The publicly accessible port of the SignalR service which is designed for browser/client side usage.", + "type": "integer", + "readOnly": true + }, + "serverPort": { + "format": "int32", + "description": "The publicly accessible port of the SignalR service which is designed for customer server side usage.", + "type": "integer", + "readOnly": true + }, + "version": { + "description": "Version of the SignalR resource. Probably you need the same or higher version of client SDKs.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Private endpoint connections to the SignalR resource.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "tls": { + "$ref": "#/definitions/SignalRTlsSettings", + "description": "TLS settings." + } + } + }, + "ProvisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Running", + "Creating", + "Updating", + "Deleting", + "Moving" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "SignalRCreateOrUpdateProperties": { + "description": "Settings used to provision or configure the resource.", + "type": "object", + "properties": { + "features": { + "description": "List of SignalR featureFlags. e.g. ServiceMode.\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, SignalR service will use its globally default value. \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" + } + }, + "cors": { + "$ref": "#/definitions/SignalRCorsSettings", + "description": "Cross-Origin Resource Sharing (CORS) settings." + }, + "upstream": { + "$ref": "#/definitions/ServerlessUpstreamSettings", + "description": "Upstream settings when the Azure SignalR is in server-less mode." + }, + "networkACLs": { + "$ref": "#/definitions/SignalRNetworkACLs", + "description": "Network ACLs" + } + } + }, + "SignalRFeature": { + "description": "Feature of a SignalR resource, which controls the SignalR runtime behavior.", + "required": [ + "flag", + "value" + ], + "type": "object", + "properties": { + "flag": { + "$ref": "#/definitions/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." + }, + "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" + } + } + } + }, + "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.", + "enum": [ + "ServiceMode", + "EnableConnectivityLogs", + "EnableMessagingLogs" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureFlags", + "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" + } + } + } + }, + "ServerlessUpstreamSettings": { + "description": "The settings for the Upstream when the Azure SignalR 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" + } + } + } + }, + "SignalRNetworkACLs": { + "description": "Network ACLs for SignalR", + "type": "object", + "properties": { + "defaultAction": { + "$ref": "#/definitions/ACLAction", + "description": "Default action when no other rule matches" + }, + "publicNetwork": { + "$ref": "#/definitions/NetworkACL", + "description": "ACL for requests from public network" + }, + "privateEndpoints": { + "description": "ACLs for requests from private endpoints", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointACL" + } + } + } + }, + "ACLAction": { + "description": "Default action when no other rule matches", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "ACLAction", + "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", + "description": "Gets or sets the auth settings for an upstream. If not set, no auth is used for upstream messages." + } + } + }, + "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" + } + }, + "deny": { + "description": "Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + } + } + } + }, + "SignalRRequestType": { + "description": "Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "enum": [ + "ClientConnection", + "ServerConnection", + "RESTAPI" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRRequestType", + "modelAsString": true + } + }, + "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" + } + } + }, + "UpstreamAuthSettings": { + "description": "Upstream auth settings.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/UpstreamAuthType", + "description": "Gets or sets the type of auth. None or ManagedIdentity is supported now." + }, + "managedIdentity": { + "$ref": "#/definitions/ManagedIdentitySettings", + "description": "Gets or sets the managed identity settings. It's required if the auth type is set to ManagedIdentity." + } + } + }, + "UpstreamAuthType": { + "description": "Gets or sets the type of auth. None or ManagedIdentity is supported now.", + "enum": [ + "None", + "ManagedIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "UpstreamAuthType", + "modelAsString": 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" + } + } + }, + "ManagedIdentity": { + "description": "A class represent managed identities used for request and response", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ManagedIdentityType", + "description": "Represent the identity type: systemAssigned, userAssigned, None" + }, + "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 + } + } + }, + "ManagedIdentityType": { + "description": "Represent the identity type: systemAssigned, userAssigned, None", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection to SignalR resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the private endpoint connection", + "x-ms-client-flatten": true + } + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "SignalRTlsSettings": { + "description": "TLS settings for SignalR", + "type": "object", + "properties": { + "clientCertEnabled": { + "description": "Request client certificate during TLS handshake if enabled", + "type": "boolean" + } + } + }, + "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 + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Private endpoint connection properties", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the private endpoint connection", + "readOnly": true + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Private endpoint associated with the private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Connection state" + } + } + }, + "PrivateEndpoint": { + "description": "Private endpoint", + "type": "object", + "properties": { + "id": { + "description": "Full qualified Id of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Connection state of the private endpoint connection", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "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 + } + }, + "PrivateLinkResourceList": { + "description": "Contains a list of AzSignalR.Models.Response.PrivateLink.PrivateLinkResource and a possible link to query more results", + "type": "object", + "properties": { + "value": { + "description": "List of PrivateLinkResource", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "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" + } + } + }, + "PrivateLinkResource": { + "description": "Private link resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Properties of a private link resource", + "x-ms-client-flatten": true + } + } + }, + "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" + } + }, + "requiredZoneNames": { + "description": "Required private DNS zone names", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SignalRKeys": { + "description": "A class represents the access keys of SignalR service.", + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary access key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary access key.", + "type": "string" + }, + "primaryConnectionString": { + "description": "SignalR connection string constructed via the primaryKey", + "type": "string" + }, + "secondaryConnectionString": { + "description": "SignalR connection string constructed via the secondaryKey", + "type": "string" + } + } + }, + "RegenerateKeyParameters": { + "description": "Parameters describes the request to regenerate access keys", + "type": "object", + "properties": { + "keyType": { + "$ref": "#/definitions/KeyType", + "description": "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive)." + } + } + }, + "KeyType": { + "description": "The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive).", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + } + }, + "SignalRUsageList": { + "description": "Object that includes an array of SignalR resource usages and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of SignalR usages", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRUsage" + } + }, + "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" + } + } + }, + "SignalRUsage": { + "description": "Object that describes a specific usage of SignalR 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", + "description": "Localizable String object containing the name and a localized value." + }, + "unit": { + "description": "Representing the units of the usage quota. Possible values are: Count, Bytes, Seconds, Percent, CountPerSecond, BytesPerSecond.", + "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" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Gets subscription Id which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SignalRServiceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the SignalR resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/signalr/resource-manager/readme.azureresourceschema.md b/specification/signalr/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..30a00dfcb8df --- /dev/null +++ b/specification/signalr/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-signalrservice-2020-07-01-preview + - tag: schema-signalrservice-2020-05-01 + - tag: schema-signalrservice-2018-10-01 + - tag: schema-signalrservice-2018-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-signalrservice-2020-07-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2020-07-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/preview/2020-07-01-preview/signalr.json + +``` + +### Tag: schema-signalrservice-2020-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2020-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/stable/2020-05-01/signalr.json + +``` + +### Tag: schema-signalrservice-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/stable/2018-10-01/signalr.json + +``` + +### Tag: schema-signalrservice-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-signalrservice-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SignalRService/preview/2018-03-01-preview/signalr.json + +``` diff --git a/specification/signalr/resource-manager/readme.go.md b/specification/signalr/resource-manager/readme.go.md index c7fed8130266..99af62cf41d4 100644 --- a/specification/signalr/resource-manager/readme.go.md +++ b/specification/signalr/resource-manager/readme.go.md @@ -16,6 +16,7 @@ batch: - tag: package-2018-03-01-preview - tag: package-2018-10-01 - tag: package-2020-05-01 + - tag: package-2020-07-01-preview ``` ### Tag: package-2018-03-01-preview and go @@ -44,3 +45,12 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-07-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace) +``` diff --git a/specification/signalr/resource-manager/readme.java.md b/specification/signalr/resource-manager/readme.java.md index 332c4a397833..783271a172f2 100644 --- a/specification/signalr/resource-manager/readme.java.md +++ b/specification/signalr/resource-manager/readme.java.md @@ -19,6 +19,20 @@ batch: - tag: package-2018-03-01-preview - tag: package-2018-10-01 - tag: package-2020-05-01 + - tag: package-2020-07-01-preview +``` + +### Tag: package-2020-07-01-preview and java + +These settings apply only when `--tag=package-2020-07-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-07-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.signalr.v2020_07_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2020_07_01_preview +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2020-05-01 and java diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md index 807ff01765c9..c37310f908d6 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-2020-05-01 +tag: package-2020-07-01-preview ``` ### Suppression @@ -55,6 +55,15 @@ directive: reason: The 'properties' is a user-defined dictionary, cannot be flattened. ``` +### Tag: package-2020-07-01-preview + +These settings apply only when `--tag=package-2020-07-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-07-01-preview' +input-file: +- Microsoft.SignalRService/preview/2020-07-01-preview/signalr.json +``` + ### Tag: package-2020-05-01 These settings apply only when `--tag=package-2020-05-01` is specified on the command line. @@ -102,6 +111,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_signalr'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js signalr/resource-manager ``` @@ -128,6 +140,10 @@ csharp: clear-output-folder: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -140,6 +156,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.SignalRService/preview/2020-07-01-preview/signalr.json - $(this-folder)/Microsoft.SignalRService/stable/2020-05-01/signalr.json - $(this-folder)/Microsoft.SignalRService/stable/2018-10-01/signalr.json - $(this-folder)/Microsoft.SignalRService/preview/2018-03-01-preview/signalr.json diff --git a/specification/signalr/resource-manager/readme.ruby.md b/specification/signalr/resource-manager/readme.ruby.md index b10560ba58b6..9688e52abf65 100644 --- a/specification/signalr/resource-manager/readme.ruby.md +++ b/specification/signalr/resource-manager/readme.ruby.md @@ -15,6 +15,17 @@ batch: - tag: package-2018-03-01-preview - tag: package-2018-10-01 - tag: package-2020-05-01 + - tag: package-2020-07-01-preview +``` + +### Tag: package-2020-07-01-preview and ruby + +These settings apply only when `--tag=package-2020-07-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-07-01-preview' && $(ruby) +namespace: "Azure::Signalr::Mgmt::V2020_07_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_signalr/lib ``` ### Tag: package-2020-05-01 and ruby diff --git a/specification/softwareplan/resource-manager/readme.azureresourceschema.md b/specification/softwareplan/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0193b0961d94 --- /dev/null +++ b/specification/softwareplan/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-softwareplan-2019-12-01 + - tag: schema-softwareplan-2019-06-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-softwareplan-2019-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-softwareplan-2019-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json + +``` + +### Tag: schema-softwareplan-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-softwareplan-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SoftwarePlan/preview/2019-06-01-preview/softwareplan.json + +``` diff --git a/specification/softwareplan/resource-manager/readme.md b/specification/softwareplan/resource-manager/readme.md index 6fc4969b1f81..632a0a67548b 100644 --- a/specification/softwareplan/resource-manager/readme.md +++ b/specification/softwareplan/resource-manager/readme.md @@ -71,6 +71,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_softwareplan'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js softwareplan/resource-manager ``` ## Go @@ -103,6 +106,10 @@ directive: reason: This is an issue with the common resource definition. The properties in the resource definition actually has a title and description. ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/GetManagedInstanceOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/GetManagedInstanceOperation.json index 9f390521b5cb..66d9bac2032c 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/GetManagedInstanceOperation.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/GetManagedInstanceOperation.json @@ -16,7 +16,38 @@ "percentComplete": 100, "startTime": "2019-12-06T11:08:44.49Z", "state": "Cancelled", - "isCancellable": false + "isCancellable": false, + "operationSteps": { + "totalSteps": "5", + "currentStep": 2, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Completed" + }, + { + "order": 2, + "name": "New SQL Instance Startup", + "status": "Canceled" + }, + { + "order": 3, + "name": "Seeding database files", + "status": "NotStarted" + }, + { + "order": 4, + "name": "Preparing Failover and Failover", + "status": "NotStarted" + }, + { + "order": 5, + "name": "Old SQL Instance cleanup", + "status": "NotStarted" + } + ] + } }, "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111", "name": "11111111-1111-1111-1111-111111111111", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ListManagedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ListManagedInstanceOperations.json index 00d4517c0859..ec27fdcbbeab 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ListManagedInstanceOperations.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/examples/ListManagedInstanceOperations.json @@ -28,10 +28,45 @@ "managedInstanceName": "sqlcrudtest-4645", "operation": "UpsertManagedServer", "operationFriendlyName": "UPDATE MANAGED SERVER", - "percentComplete": 0, + "percentComplete": 50, "startTime": "2019-12-06T11:08:44.49Z", "state": "InProgress", - "isCancellable": true + "isCancellable": true, + "operationParameters": { + "currentParameters": { + "family": "Gen4", + "tier": "GeneralPurpose", + "vCores": 8, + "storageSizeInGB": 32 + }, + "requestedParameters": { + "family": "Gen4", + "tier": "BusinessCritical", + "vCores": 8, + "storageSizeInGB": 128 + } + }, + "operationSteps": { + "totalSteps": "3", + "currentStep": 3, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Completed" + }, + { + "order": 2, + "name": "Virtual Cluster resize/creation", + "status": "Completed" + }, + { + "order": 3, + "name": "New SQL Instance Startup", + "status": "InProgress" + } + ] + } }, "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", @@ -62,7 +97,18 @@ "operationFriendlyName": "MAKE ALL MANAGED DBS ACCESSIBLE", "percentComplete": 100, "startTime": "2017-06-01T09:00:08.10Z", - "state": "Succeeded" + "state": "Succeeded", + "operationSteps": { + "totalSteps": "1", + "currentStep": 1, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Failed" + } + ] + } }, "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/44444444-4444-4444-4444-444444444444", "name": "44444444-4444-4444-4444-444444444444", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json index 261d8aad543f..fb5c48b9f9d7 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json @@ -210,6 +210,57 @@ "description": "Whether the operation can be cancelled.", "type": "boolean", "readOnly": true + }, + "operationParameters": { + "$ref": "#/definitions/ManagedInstanceOperationParametersPair", + "description": "The operation parameters.", + "readOnly": true + }, + "operationSteps": { + "$ref": "#/definitions/ManagedInstanceOperationSteps", + "description": "The operation steps.", + "readOnly": true + } + } + }, + "ManagedInstanceOperationParametersPair": { + "description": "The parameters of a managed instance operation.", + "type": "object", + "properties": { + "currentParameters": { + "$ref": "#/definitions/UpsertManagedServerOperationParameters", + "description": "The current parameters.", + "readOnly": true + }, + "requestedParameters": { + "$ref": "#/definitions/UpsertManagedServerOperationParameters", + "description": "The requested parameters.", + "readOnly": true + } + } + }, + "ManagedInstanceOperationSteps": { + "description": "The steps of a managed instance operation.", + "type": "object", + "properties": { + "totalSteps": { + "description": "The total number of operation steps.", + "type": "string", + "readOnly": true + }, + "currentStep": { + "format": "int32", + "description": "The number of current operation steps.", + "type": "integer", + "readOnly": true + }, + "stepsList": { + "description": "The operation steps list.", + "type": "array", + "items": { + "$ref": "#/definitions/UpsertManagedServerOperationStep" + }, + "readOnly": true } } }, @@ -235,6 +286,48 @@ }, "x-ms-azure-resource": true }, + "UpsertManagedServerOperationParameters": { + "type": "object", + "properties": { + "family": { + "type": "string" + }, + "tier": { + "type": "string" + }, + "vCores": { + "format": "int32", + "type": "integer" + }, + "storageSizeInGB": { + "format": "int32", + "type": "integer" + } + } + }, + "UpsertManagedServerOperationStep": { + "type": "object", + "properties": { + "order": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "status": { + "enum": [ + "NotStarted", + "InProgress", + "SlowedDown", + "Completed", + "Failed", + "Canceled" + ], + "type": "string" + } + } + }, "ProxyResource": { "description": "ARM proxy resource.", "type": "object", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json new file mode 100644 index 000000000000..47b4874ad9c2 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json @@ -0,0 +1,113 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.Sql/managedInstances/{managedInstanceName}/failover": { + "post": { + "tags": [ + "ManagedInstances" + ], + "description": "Failovers a managed instance.", + "operationId": "ManagedInstances_Failover", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "replicaType", + "in": "query", + "description": "The type of replica to be failed over.", + "required": false, + "type": "string", + "enum": [ + "Primary", + "ReadableSecondary" + ], + "x-ms-enum": { + "name": "ReplicaType", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "Successfully completed managed instance failover." + }, + "202": { + "description": "Managed instance failover is in progress." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 ManagedInstanceFailoverThrottled - There was a recent failover on the managed instance.\n\n * 400 ManagedInstanceFailoverNotSupportedOnSKU - This type of customer initiated failover is not supported on the given SKU.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 ManagedInstanceNotInStateToFailover - The managed instance is currently in a state such that failover cannot be issued." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Failover a managed instance.": { + "$ref": "./examples/FailoverManagedInstance.json" + } + } + } + } + }, + "definitions": {}, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "responses": {} +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json index cdd9476a0624..5fd09941f7c8 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json @@ -90,6 +90,7 @@ { "name": "administratorName", "in": "path", + "description": "The name of server active directory administrator.", "required": true, "type": "string", "enum": [ @@ -103,7 +104,7 @@ { "name": "parameters", "in": "body", - "description": "The required parameters for creating or updating an Active Directory Administrator.", + "description": "The requested Azure Active Directory administrator Resource state.", "required": true, "schema": { "$ref": "#/definitions/ServerAzureADAdministrator" @@ -118,7 +119,7 @@ } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use disableAzureADOnlyAuthentication API instead.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAzureADAdminDeleteOperation - User tried to delete server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." }, "202": { "description": "Accepted" @@ -176,7 +177,7 @@ "description": "Successfully deleted the Azure Active Directory administrator." }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." + "description": "*** Error Responses: ***\n\n * 400 InvalidServerAzureADOnlyAuthenticationParameter - User tried to set AzureADOnlyAuthentication parameter to false which is not allowed, please use azureADOnlyAuthentications API instead.\n\n * 400 InvalidServerAzureADAdminDeleteOperation - User tried to delete server Azure Active Azure admin when AzureADOnlyAuthentication is set, please use azureADOnlyAuthentications API first.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." }, "202": { "description": "Accepted" @@ -234,49 +235,6 @@ } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disableAzureADOnlyAuthentication": { - "post": { - "tags": [ - "ServerAzureADAdministrators" - ], - "description": "Disables Azure Active Directory only authentication on logical Server.", - "operationId": "ServerAzureADAdministrators_DisableAzureADOnlyAuthentication", - "parameters": [ - { - "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - } - ], - "responses": { - "200": { - "description": "Successfully disabled Azure Active Directory only authentication on logical server.", - "schema": { - "$ref": "#/definitions/ServerAzureADAdministrator" - } - }, - "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Disables Azure Active Directory only authentication on logical server.": { - "$ref": "./examples/DisableAzureADOnlyAuthUpdate.json" - } - } - } } }, "definitions": { @@ -316,7 +274,8 @@ }, "azureADOnlyAuthentication": { "description": "Azure Active Directory only Authentication enabled.", - "type": "boolean" + "type": "boolean", + "readOnly": true } } }, @@ -447,6 +406,30 @@ "required": true, "type": "string", "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" } }, "securityDefinitions": { diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorCreateOrUpdate.json index bf99bf84a0fa..8697a1c2f6f9 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorCreateOrUpdate.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorCreateOrUpdate.json @@ -11,8 +11,7 @@ "administratorType": "ActiveDirectory", "login": "bob@contoso.com", "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "azureADOnlyAuthentication": true + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c" } } }, @@ -26,8 +25,7 @@ "administratorType": "ActiveDirectory", "login": "bob@contoso.com", "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "azureADOnlyAuthentication": true + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c" } } }, @@ -40,8 +38,7 @@ "administratorType": "ActiveDirectory", "login": "bob@contoso.com", "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "azureADOnlyAuthentication": true + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c" } } }, diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorGet.json index 52aee36b3f44..ff2acb6324dc 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorGet.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorGet.json @@ -16,8 +16,7 @@ "administratorType": "ActiveDirectory", "login": "bob@contoso.com", "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "azureADOnlyAuthentication": true + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c" } } } diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorList.json index 0fb15a505729..282785c9164a 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorList.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/AdministratorList.json @@ -18,8 +18,7 @@ "administratorType": "ActiveDirectory", "login": "bob@contoso.com", "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "azureADOnlyAuthentication": true + "tenantId": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c" } } ] diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DisableAzureADOnlyAuthUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DisableAzureADOnlyAuthUpdate.json deleted file mode 100644 index 91bf39fc96a1..000000000000 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/DisableAzureADOnlyAuthUpdate.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "parameters": { - "subscriptionId": "00000000-1111-2222-3333-444444444444", - "resourceGroupName": "sqlcrudtest-4799", - "serverName": "sqlcrudtest-6440", - "api-version": "2019-06-01-preview", - "parameters": {} - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/administrators/ActiveDirectory", - "name": "ActiveDirectory", - "type": "Microsoft.Sql/servers/administrators", - "properties": { - "administratorType": "ActiveDirectory", - "login": "bob@contoso.com", - "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "tenantId": "d6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", - "azureADOnlyAuthentication": false - } - } - }, - "202": {} - } -} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/FailoverManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/FailoverManagedInstance.json new file mode 100644 index 000000000000..f5c660c2233a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/FailoverManagedInstance.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "replicaType": "Primary", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/GetManagedInstanceOperation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/GetManagedInstanceOperation.json index 9f390521b5cb..66d9bac2032c 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/GetManagedInstanceOperation.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/GetManagedInstanceOperation.json @@ -16,7 +16,38 @@ "percentComplete": 100, "startTime": "2019-12-06T11:08:44.49Z", "state": "Cancelled", - "isCancellable": false + "isCancellable": false, + "operationSteps": { + "totalSteps": "5", + "currentStep": 2, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Completed" + }, + { + "order": 2, + "name": "New SQL Instance Startup", + "status": "Canceled" + }, + { + "order": 3, + "name": "Seeding database files", + "status": "NotStarted" + }, + { + "order": 4, + "name": "Preparing Failover and Failover", + "status": "NotStarted" + }, + { + "order": 5, + "name": "Old SQL Instance cleanup", + "status": "NotStarted" + } + ] + } }, "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/11111111-1111-1111-1111-111111111111", "name": "11111111-1111-1111-1111-111111111111", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ListManagedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ListManagedInstanceOperations.json index 82409de378c6..ec27fdcbbeab 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ListManagedInstanceOperations.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/ListManagedInstanceOperations.json @@ -31,7 +31,42 @@ "percentComplete": 50, "startTime": "2019-12-06T11:08:44.49Z", "state": "InProgress", - "isCancellable": true + "isCancellable": true, + "operationParameters": { + "currentParameters": { + "family": "Gen4", + "tier": "GeneralPurpose", + "vCores": 8, + "storageSizeInGB": 32 + }, + "requestedParameters": { + "family": "Gen4", + "tier": "BusinessCritical", + "vCores": 8, + "storageSizeInGB": 128 + } + }, + "operationSteps": { + "totalSteps": "3", + "currentStep": 3, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Completed" + }, + { + "order": 2, + "name": "Virtual Cluster resize/creation", + "status": "Completed" + }, + { + "order": 3, + "name": "New SQL Instance Startup", + "status": "InProgress" + } + ] + } }, "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", @@ -62,7 +97,18 @@ "operationFriendlyName": "MAKE ALL MANAGED DBS ACCESSIBLE", "percentComplete": 100, "startTime": "2017-06-01T09:00:08.10Z", - "state": "Succeeded" + "state": "Succeeded", + "operationSteps": { + "totalSteps": "1", + "currentStep": 1, + "stepsList": [ + { + "order": 1, + "name": "Request validation", + "status": "Failed" + } + ] + } }, "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/managedInstances/sqlcrudtest-4645/operations/44444444-4444-4444-4444-444444444444", "name": "44444444-4444-4444-4444-444444444444", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json index 7b425988000e..e7d461236c33 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json @@ -253,6 +253,57 @@ "description": "Whether the operation can be cancelled.", "type": "boolean", "readOnly": true + }, + "operationParameters": { + "$ref": "#/definitions/ManagedInstanceOperationParametersPair", + "description": "The operation parameters.", + "readOnly": true + }, + "operationSteps": { + "$ref": "#/definitions/ManagedInstanceOperationSteps", + "description": "The operation steps.", + "readOnly": true + } + } + }, + "ManagedInstanceOperationParametersPair": { + "description": "The parameters of a managed instance operation.", + "type": "object", + "properties": { + "currentParameters": { + "$ref": "#/definitions/UpsertManagedServerOperationParameters", + "description": "The current parameters.", + "readOnly": true + }, + "requestedParameters": { + "$ref": "#/definitions/UpsertManagedServerOperationParameters", + "description": "The requested parameters.", + "readOnly": true + } + } + }, + "ManagedInstanceOperationSteps": { + "description": "The steps of a managed instance operation.", + "type": "object", + "properties": { + "totalSteps": { + "description": "The total number of operation steps.", + "type": "string", + "readOnly": true + }, + "currentStep": { + "format": "int32", + "description": "The number of current operation steps.", + "type": "integer", + "readOnly": true + }, + "stepsList": { + "description": "The operation steps list.", + "type": "array", + "items": { + "$ref": "#/definitions/UpsertManagedServerOperationStep" + }, + "readOnly": true } } }, @@ -278,6 +329,48 @@ }, "x-ms-azure-resource": true }, + "UpsertManagedServerOperationParameters": { + "type": "object", + "properties": { + "family": { + "type": "string" + }, + "tier": { + "type": "string" + }, + "vCores": { + "format": "int32", + "type": "integer" + }, + "storageSizeInGB": { + "format": "int32", + "type": "integer" + } + } + }, + "UpsertManagedServerOperationStep": { + "type": "object", + "properties": { + "order": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "status": { + "enum": [ + "NotStarted", + "InProgress", + "SlowedDown", + "Completed", + "Failed", + "Canceled" + ], + "type": "string" + } + } + }, "ProxyResource": { "description": "ARM proxy resource.", "type": "object", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/DatabaseSecurityAlertPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/DatabaseSecurityAlertPolicies.json new file mode 100644 index 000000000000..92c1c89ddeb4 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/DatabaseSecurityAlertPolicies.json @@ -0,0 +1,406 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "DatabaseSecurityAlertPolicies" + ], + "description": "Gets a database's security alert policy.", + "operationId": "DatabaseSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database security alert policy.", + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 InvalidDatabaseSecurityAlertPolicyCreateRequest - The create database Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 DatabaseSecurityAlertPolicyInProgress - Set database security alert policy is already in progress\n\n * 409 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetDatabaseSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-examples": { + "Get a database's threat detection policy": { + "$ref": "./examples/DatabaseSecurityAlertGet.json" + } + } + }, + "put": { + "tags": [ + "DatabaseSecurityAlertPolicies" + ], + "description": "Creates or updates a database's security alert policy.", + "operationId": "DatabaseSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The database security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully set the database security alert policy.", + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 InvalidDatabaseSecurityAlertPolicyCreateRequest - The create database Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 DatabaseSecurityAlertPolicyInProgress - Set database security alert policy is already in progress\n\n * 409 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetDatabaseSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + }, + "201": { + "description": "Successfully created the database security alert policy.", + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + } + } + }, + "x-ms-examples": { + "Update a database's threat detection policy with minimal parameters": { + "$ref": "./examples/DatabaseSecurityAlertCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies": { + "get": { + "tags": [ + "DatabaseSecurityAlertPolicies" + ], + "description": "Gets a list of database's security alert policies.", + "operationId": "DatabaseSecurityAlertPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database for which the security alert policy is defined.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the database security alert policy.", + "schema": { + "$ref": "#/definitions/DatabaseSecurityAlertListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 InvalidDatabaseSecurityAlertPolicyCreateRequest - The create database Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 DatabaseSecurityAlertPolicyInProgress - Set database security alert policy is already in progress\n\n * 409 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertDatabaseSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetDatabaseSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the database's threat detection policies": { + "$ref": "./examples/DatabaseSecurityAlertListByDatabase.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertsPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityAlertsPolicyState", + "modelAsString": false + } + }, + "creationTime": { + "format": "date-time", + "description": "Specifies the UTC creation time of the policy.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "DatabaseSecurityAlertPolicy": { + "description": "A database security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertsPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DatabaseSecurityAlertListResult": { + "description": "A list of the database's security alert policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseSecurityAlertPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json new file mode 100644 index 000000000000..b9faad8fd3d1 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json @@ -0,0 +1,442 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/azureADOnlyAuthentications/{authenticationName}": { + "get": { + "tags": [ + "ManagedInstanceAzureADOnlyAuthentications" + ], + "description": "Gets a specific Azure Active Directory only authentication property.", + "operationId": "ManagedInstanceAzureADOnlyAuthentications_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified Azure Active Directory only authentication properties.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Gets a Azure Active Directory only authentication property.": { + "$ref": "./examples/ManagedInstanceAzureADOnlyAuthGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstanceAzureADOnlyAuthentications" + ], + "description": "Sets Server Active Directory only authentication property or updates an existing server Active Directory only authentication property.", + "operationId": "ManagedInstanceAzureADOnlyAuthentications_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The required parameters for creating or updating an Active Directory only authentication property.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated a Azure Active Directory only authentication property.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully updated Azure Active Directory only authentication property.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates Azure Active Directory only authentication object.": { + "$ref": "./examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedInstanceAzureADOnlyAuthentications" + ], + "description": "Deletes an existing server Active Directory only authentication property.", + "operationId": "ManagedInstanceAzureADOnlyAuthentications_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Azure Active Directory only property." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified Azure Active Directory only property does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes Azure Active Directory only authentication object.": { + "$ref": "./examples/ManagedInstanceAzureADOnlyAuthDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/azureADOnlyAuthentications": { + "get": { + "tags": [ + "ManagedInstanceAzureADOnlyAuthentications" + ], + "description": "Gets a list of server Azure Active Directory only authentications.", + "operationId": "ManagedInstanceAzureADOnlyAuthentications_ListByInstance", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Azure Active Directory only authentication objects.", + "schema": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of Azure Active Directory only authentication object.": { + "$ref": "./examples/ManagedInstanceAzureADOnlyAuthListByInstance.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceAzureADOnlyAuthProperties": { + "description": "Properties of a active directory only authentication for Managed Instance.", + "required": [ + "azureADOnlyAuthentication" + ], + "type": "object", + "properties": { + "azureADOnlyAuthentication": { + "description": "Azure Active Directory only Authentication enabled.", + "type": "boolean" + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ManagedInstanceAzureADOnlyAuthentication": { + "description": "Azure Active Directory only authentication.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstanceAzureADOnlyAuthListResult": { + "description": "A list of active directory only authentications.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstanceAzureADOnlyAuthentication" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedServerSecurityAlertPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedServerSecurityAlertPolicies.json new file mode 100644 index 000000000000..0742d7b8e48c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ManagedServerSecurityAlertPolicies.json @@ -0,0 +1,371 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "ManagedServerSecurityAlertPolicies" + ], + "description": "Get a managed server's threat detection policy.", + "operationId": "ManagedServerSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed server threat detection policy.", + "schema": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-examples": { + "Get a managed server's threat detection policy": { + "$ref": "./examples/ManagedServerSecurityAlertGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedServerSecurityAlertPolicies" + ], + "description": "Creates or updates a threat detection policy.", + "operationId": "ManagedServerSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The managed server security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicy" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the threat detection policy.", + "schema": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later" + }, + "202": { + "description": "Created request to set the server threat detection policy." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server's threat detection policy with all parameters": { + "$ref": "./examples/ManagedServerSecurityAlertCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies": { + "get": { + "tags": [ + "ManagedServerSecurityAlertPolicies" + ], + "description": "Get the managed server's threat detection policies.", + "operationId": "ManagedServerSecurityAlertPolicies_ListByInstance", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the managed server threat detection policies.", + "schema": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the managed server's threat detection policies": { + "$ref": "./examples/ManagedServerSecurityAlertListByInstance.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertsPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityAlertsPolicyState", + "modelAsString": false + } + }, + "creationTime": { + "format": "date-time", + "description": "Specifies the UTC creation time of the policy.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ManagedServerSecurityAlertPolicy": { + "description": "A managed server security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertsPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedServerSecurityAlertPolicyListResult": { + "description": "A list of the managed Server's security alert policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedServerSecurityAlertPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json new file mode 100644 index 000000000000..ad025ce40cd6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json @@ -0,0 +1,418 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/{authenticationName}": { + "get": { + "tags": [ + "ServerAzureADOnlyAuthentications" + ], + "description": "Gets a specific Azure Active Directory only authentication property.", + "operationId": "ServerAzureADOnlyAuthentications_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified Azure Active Directory only authentication properties.", + "schema": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a Azure Active Directory only authentication property.": { + "$ref": "./examples/AzureADOnlyAuthGet.json" + } + } + }, + "put": { + "tags": [ + "ServerAzureADOnlyAuthentications" + ], + "description": "Sets Server Active Directory only authentication property or updates an existing server Active Directory only authentication property.", + "operationId": "ServerAzureADOnlyAuthentications_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The required parameters for creating or updating an Active Directory only authentication property.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated a Azure Active Directory only authentication property.", + "schema": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully updated Azure Active Directory only authentication property.", + "schema": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates Azure Active Directory only authentication object.": { + "$ref": "./examples/AzureADOnlyAuthCreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServerAzureADOnlyAuthentications" + ], + "description": "Deletes an existing server Active Directory only authentication property.", + "operationId": "ServerAzureADOnlyAuthentications_Delete", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "authenticationName", + "in": "path", + "description": "The name of server azure active directory only authentication.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "AuthenticationName", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Azure Active Directory only property." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified Azure Active Directory only property does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes Azure Active Directory only authentication object.": { + "$ref": "./examples/AzureADOnlyAuthDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications": { + "get": { + "tags": [ + "ServerAzureADOnlyAuthentications" + ], + "description": "Gets a list of server Azure Active Directory only authentications.", + "operationId": "ServerAzureADOnlyAuthentications_ListByServer", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of Azure Active Directory only authentication objects.", + "schema": { + "$ref": "#/definitions/AzureADOnlyAuthListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets a list of Azure Active Directory only authentication object.": { + "$ref": "./examples/AzureADOnlyAuthList.json" + } + } + } + } + }, + "definitions": { + "AzureADOnlyAuthProperties": { + "description": "Properties of a active directory only authentication.", + "required": [ + "azureADOnlyAuthentication" + ], + "type": "object", + "properties": { + "azureADOnlyAuthentication": { + "description": "Azure Active Directory only Authentication enabled.", + "type": "boolean" + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ServerAzureADOnlyAuthentication": { + "description": "Azure Active Directory only authentication.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureADOnlyAuthProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "AzureADOnlyAuthListResult": { + "description": "A list of active directory only authentications.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerAzureADOnlyAuthentication" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json new file mode 100644 index 000000000000..b43ba41edaca --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json @@ -0,0 +1,371 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { + "get": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Get a server's security alert policy.", + "operationId": "ServerSecurityAlertPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the security alert policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-examples": { + "Get a server's threat detection policy": { + "$ref": "./examples/ServerSecurityAlertsGet.json" + } + } + }, + "put": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Creates or updates a threat detection policy.", + "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "securityAlertPolicyName", + "in": "path", + "description": "The name of the threat detection policy.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "SecurityAlertPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The server security alert policy.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the threat detection policy.", + "schema": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later" + }, + "202": { + "description": "Created request to set the server threat detection policy." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a server's threat detection policy with minimal parameters": { + "$ref": "./examples/ServerSecurityAlertsCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies": { + "get": { + "tags": [ + "ServerSecurityAlertPolicies" + ], + "description": "Get the server's threat detection policies.", + "operationId": "ServerSecurityAlertPolicies_ListByServer", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the server threat detection policies.", + "schema": { + "$ref": "#/definitions/LogicalServerSecurityAlertPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 UpdateNotAllowedOnServerContainingPausedDWDatabase - Setting server Threat Detection settings is not allowed on a server with a paused Data Warehouse database\n\n * 400 InvalidServerSecurityAlertPolicyCreateRequest - The create server Threat Detection security alert policy request does not exist or has no properties object.\n\n * 400 DataSecurityInvalidUserSuppliedParameter - An invalid parameter value was provided by the client.\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 400 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 409 ServerSecurityAlertPolicyInProgress - Set server security alert policy is already in progress\n\n * 409 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 DatabaseIsUnavailable - Loading failed. Please try again later.\n\n * 500 UpsertServerSecurityAlertPolicyFailed - An error has occurred while saving Threat detection settings, please try again later\n\n * 500 GetServerSecurityAlertPolicyFailed - Failed to get Threat Detection settings" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List the server's threat detection policies": { + "$ref": "./examples/ServerSecurityAlertsListByServer.json" + } + } + } + } + }, + "definitions": { + "SecurityAlertsPolicyProperties": { + "description": "Properties of a security alert policy.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityAlertsPolicyState", + "modelAsString": false + } + }, + "creationTime": { + "format": "date-time", + "description": "Specifies the UTC creation time of the policy.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ServerSecurityAlertPolicy": { + "description": "A server security alert policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertsPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "LogicalServerSecurityAlertPolicyListResult": { + "description": "A list of the server's security alert policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerSecurityAlertPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthCreateOrUpdate.json new file mode 100644 index 000000000000..9a22a93dc4cd --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthCreateOrUpdate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "authenticationName": "Default", + "api-version": "2020-02-02-preview", + "name": "Default", + "parameters": { + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/servers/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/servers/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthDelete.json new file mode 100644 index 000000000000..88b5bf5a4fef --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "authenticationName": "Default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthGet.json new file mode 100644 index 000000000000..1500749144cc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "authenticationName": "Default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/servers/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": true + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthList.json new file mode 100644 index 000000000000..21395a5084fa --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/AzureADOnlyAuthList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "sqlcrudtest-4799", + "serverName": "sqlcrudtest-6440", + "authenticationName": "Default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-4799/providers/Microsoft.Sql/servers/sqlcrudtest-6440/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/servers/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": true + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertCreate.json new file mode 100644 index 000000000000..256ce2945593 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertCreate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "databaseName": "testdb", + "securityAlertPolicyName": "default", + "api-version": "2020-02-02-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "properties": { + "state": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "properties": { + "state": "Enabled" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertGet.json new file mode 100644 index 000000000000..39d70f7603e3 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-6852", + "serverName": "securityalert-2080", + "databaseName": "testdb", + "securityAlertPolicyName": "default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/servers/securityalert-2080/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "properties": { + "state": "Enabled", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertListByDatabase.json new file mode 100644 index 000000000000..254adf741f33 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/DatabaseSecurityAlertListByDatabase.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-6852", + "serverName": "securityalert-2080", + "databaseName": "testdb", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-6852/providers/Microsoft.Sql/servers/securityalert-2080/databases/testdb", + "name": "default", + "type": "Microsoft.Sql/servers/databases/securityAlertPolicies", + "properties": { + "state": "Enabled", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ExportDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ExportDatabase.json new file mode 100644 index 000000000000..37ed67c3a8cc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ExportDatabase.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-02-02-preview", + "parameters": { + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Export", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ExportDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ExportDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..31d6f89f1a8a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ExportDatabaseWithNetworkIsolation.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-02-02-preview", + "parameters": { + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql", + "networkIsolation": { + "sqlServerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr", + "storageAccountResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Export", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/GetShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/GetShortTermRetentionPolicy.json new file mode 100644 index 000000000000..d902e38ed53b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/GetShortTermRetentionPolicy.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "policyName": "default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/locations/servers/databases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14, + "diffBackupIntervalInHours": 24 + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportDatabase.json new file mode 100644 index 000000000000..fc10c0c5db2a --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportDatabase.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-02-02-preview", + "parameters": { + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Import", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..0878179632da --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportDatabaseWithNetworkIsolation.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2020-02-02-preview", + "parameters": { + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql", + "networkIsolation": { + "sqlServerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr", + "storageAccountResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Import", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabase.json new file mode 100644 index 000000000000..3dda74ba10de --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabase.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2020-02-02-preview", + "parameters": { + "databaseName": "testdb", + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Import", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabaseWithNetworkIsolation.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabaseWithNetworkIsolation.json new file mode 100644 index 000000000000..224913c359b0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ImportNewDatabaseWithNetworkIsolation.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "api-version": "2020-02-02-preview", + "parameters": { + "databaseName": "testdb", + "storageKeyType": "StorageAccessKey", + "storageKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==", + "storageUri": "https://test.blob.core.windows.net/test.bacpac", + "administratorLogin": "login", + "administratorLoginPassword": "password", + "authenticationType": "Sql", + "networkIsolation": { + "sqlServerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr", + "storageAccountResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Storage/storageAccounts/test-privatelink" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "requestId": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "requestType": "Import", + "queuedTime": "2/2/2020 8:33:27 PM", + "lastModifiedTime": "2/2/2020 8:34:47 PM", + "blobUri": "https://test.blob.core.windows.net/test.bacpac", + "serverName": "testsvr.database.windows.net", + "databaseName": "testdb", + "status": "Completed" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/importExportOperationResults/9d9a794a-5cec-4f23-af70-d29511b522a4", + "name": "9d9a794a-5cec-4f23-af70-d29511b522a4", + "type": "Microsoft.Sql/servers/databases/importExportOperationResults" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/InaccessibleManagedDatabaseListByManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/InaccessibleManagedDatabaseListByManagedInstance.json new file mode 100644 index 000000000000..7aed6c957168 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/InaccessibleManagedDatabaseListByManagedInstance.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "testcl", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1", + "location": "southeastasia", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Inaccessible" + }, + "type": "Microsoft.Sql/managedInstances/databases" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb2", + "location": "southeastasia", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Inaccessible" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ListShortTermRetentionPoliciesByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ListShortTermRetentionPoliciesByDatabase.json new file mode 100644 index 000000000000..6379ca16c4c9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ListShortTermRetentionPoliciesByDatabase.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "policyName": "default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/locations/servers/databases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14, + "diffBackupIntervalInHours": 24 + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCompleteExternalRestore.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCompleteExternalRestore.json new file mode 100644 index 000000000000..1bea25f89b65 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCompleteExternalRestore.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "api-version": "2020-02-02-preview", + "parameters": { + "lastBackupName": "testdb1_log4" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateMax.json new file mode 100644 index 000000000000..0d08f3a0026f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateMax.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2017-03-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateMin.json new file mode 100644 index 000000000000..9a38d0f50043 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateMin.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2017-03-01-preview", + "parameters": { + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreatePointInTimeRestore.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreatePointInTimeRestore.json new file mode 100644 index 000000000000..d4fba534959b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreatePointInTimeRestore.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2017-03-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "PointInTimeRestore", + "sourceDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb", + "restorePointInTime": "2017-07-14T05:35:31.503Z" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRecovery.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRecovery.json new file mode 100644 index 000000000000..49764695d1bb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRecovery.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "server1", + "databaseName": "testdb_recovered", + "api-version": "2017-03-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "Recovery", + "recoverableDatabaseId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/Default-SQL-WestEurope/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/server1/recoverableDatabases/testdb_recovered", + "name": "testdb_recovered", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2018-11-07T04:41:33.937Z" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/recoverableDatabases/testdb_recovered", + "name": "testdb_recovered", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2018-11-07T04:41:33.937Z" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRestoreExternalBackup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRestoreExternalBackup.json new file mode 100644 index 000000000000..a3023c7173fb --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRestoreExternalBackup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2018-06-01-preview", + "parameters": { + "properties": { + "createMode": "RestoreExternalBackup", + "storageContainerUri": "https://myaccountname.blob.core.windows.net/backups", + "storageContainerSasToken": "sv=2015-12-11&sr=c&sp=rl&sig=1234", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "autoCompleteRestore": true, + "lastBackupName": "last_backup_name" + }, + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json new file mode 100644 index 000000000000..854fa11ccb3c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseCreateRestoreLtrBackup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2018-06-01-preview", + "parameters": { + "properties": { + "createMode": "RestoreExternalBackup", + "storageContainerUri": "https://myaccountname.blob.core.windows.net/backups", + "storageContainerSasToken": "sv=2015-12-11&sr=c&sp=rl&sig=1234", + "collation": "SQL_Latin1_General_CP1_CI_AS" + }, + "location": "southeastasia" + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb1", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "201": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/testsvr/databases/testdb2", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseDelete.json new file mode 100644 index 000000000000..cab3ff43e7ab --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "testdb", + "api-version": "2017-03-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseGet.json new file mode 100644 index 000000000000..96645d91a368 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Test1", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2015-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1", + "location": "southeastasia", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Online" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseListByManagedInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseListByManagedInstance.json new file mode 100644 index 000000000000..4ff33c21639e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseListByManagedInstance.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Test1", + "managedInstanceName": "managedInstance", + "databaseName": "managedDatabase", + "api-version": "2015-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb1", + "location": "southeastasia", + "name": "testdb1", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Online" + }, + "type": "Microsoft.Sql/managedInstances/databases" + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testcl/databases/testdb2", + "location": "southeastasia", + "name": "testdb2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "creationDate": "2017-08-04T15:00:17.73Z", + "defaultSecondaryLocation": "North Europe", + "status": "Online" + }, + "type": "Microsoft.Sql/managedInstances/databases" + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseRestoreDetails.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseRestoreDetails.json new file mode 100644 index 000000000000..8ab9dbfc1f8c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseRestoreDetails.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "testdb", + "restoreDetailsName": "Default", + "api-version": "2020-02-02-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "Restoring", + "currentRestoringFileName": "full_0", + "percentCompleted": 0.0, + "unrestorableFiles": [], + "numberOfFilesDetected": 26, + "lastUploadedFileName": "log2_3", + "lastUploadedFileTime": "2018-06-15T11:38:33Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/managedInstances/managedInstance/databases/testdb/restoreDetails/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/restoreDetails" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseUpdateMax.json new file mode 100644 index 000000000000..342311fd20a0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseUpdateMax.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "testdb", + "api-version": "2017-03-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb" + }, + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseUpdateMin.json new file mode 100644 index 000000000000..342311fd20a0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedDatabaseUpdateMin.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "databaseName": "testdb", + "api-version": "2017-03-01-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb" + }, + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "status": "Online", + "creationDate": "2017-06-07T04:41:33.937Z", + "defaultSecondaryLocation": "North Europe", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json new file mode 100644 index 000000000000..2fd7c611bb2c --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthCreateOrUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "authenticationName": "Default", + "api-version": "2020-02-02-preview", + "parameters": { + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": false + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json new file mode 100644 index 000000000000..b83a80a98733 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "authenticationName": "Default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json new file mode 100644 index 000000000000..decd2ef48198 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "authenticationName": "Default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": true + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json new file mode 100644 index 000000000000..5180ab838d60 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceAzureADOnlyAuthListByInstance.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "managedInstanceName": "managedInstance", + "authenticationName": "Default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/azureADOnlyAuthentications/providers/Microsoft.Sql/managedInstances/managedInstance/azureadonlyauthentications/default", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/azureadonlyauthentications", + "properties": { + "azureADOnlyAuthentication": true + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json new file mode 100644 index 000000000000..8db942270000 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMax.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2020-02-02-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + }, + "location": "Japan East", + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "dummylogin", + "administratorLoginPassword": "Un53cuRE!", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "dnsZonePartner": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "timezoneId": "UTC", + "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Creating", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "dnsZone": "1b4e2caff2530", + "timezoneId": "UTC", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + }, + "location": "japaneast", + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "201": { + "body": { + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Creating", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "dnsZone": "1b4e2caff2530", + "timezoneId": "UTC", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + }, + "location": "japaneast", + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMin.json new file mode 100644 index 000000000000..adbb8938ef82 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceCreateMin.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2020-02-02-preview", + "parameters": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "dummylogin", + "administratorLoginPassword": "Un53cuRE!", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded" + }, + "location": "Japan East" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Creating", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "dnsZone": "1b4e2caff2530" + }, + "location": "japaneast", + "tags": {}, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "201": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Creating", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "dnsZone": "1b4e2caff2530" + }, + "location": "japaneast", + "tags": {}, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceDelete.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceDelete.json new file mode 100644 index 000000000000..c319c4c572d9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json new file mode 100644 index 000000000000..25fcfb66e0fe --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "20d7082a-0fc7-4468-82bd-542694d5042b", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "dnsZone": "1b4e2caff2530", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + }, + "location": "japaneast", + "tags": { + "key": "value" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json new file mode 100644 index 000000000000..a8a4f882660e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceList.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "api-version": "2015-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "dnsZone": "1b4e2caff2530", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + } + }, + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 16, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2", + "state": "Ready", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "dnsZone": "2c3d1bdae3412", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json new file mode 100644 index 000000000000..f18c20e275dc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByInstancePool.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "Test1", + "instancePoolName": "pool1", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "canadacentral", + "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "dnsZone": "1b4e2caff2530", + "proxyOverride": "Redirect", + "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + } + }, + { + "location": "canadacentral", + "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen5", + "tier": "GeneralPurpose", + "capacity": 16, + "family": "Gen5" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "dnsZone": "2c3d1bdae3412", + "proxyOverride": "Redirect", + "instancePoolId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/Test1/providers/Microsoft.Sql/instancePools/pool1", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json new file mode 100644 index 000000000000..986dea80f971 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceListByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "Test1", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance1", + "name": "testinstance1", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance1.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "dnsZone": "1b4e2caff2530", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + } + }, + { + "location": "japaneast", + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/Test1/providers/Microsoft.Sql/managedInstances/testinstance2", + "name": "testinstance2", + "type": "Microsoft.Sql/managedInstances", + "sku": { + "name": "BC_Gen5", + "tier": "BusinessCritical", + "capacity": 16, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance2.2c3d1bdae3412.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/subnet2", + "state": "Ready", + "provisioningState": "Succeeded", + "vCores": 16, + "storageSizeInGB": 1024, + "licenseType": "Full", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "dnsZone": "2c3d1bdae3412", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM", + "storageAccountType": "GRS" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMax.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMax.json new file mode 100644 index 000000000000..84369b90b629 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMax.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2020-02-02-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + }, + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8 + }, + "properties": { + "administratorLogin": "dummylogin", + "administratorLoginPassword": "Un53cuRE!", + "proxyOverride": "Redirect", + "publicDataEndpointEnabled": false, + "licenseType": "BasePrice", + "vCores": 8, + "storageSizeInGB": 448, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances", + "location": "japaneast", + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "vCores": 8, + "storageSizeInGB": 448, + "licenseType": "BasePrice", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Redirect", + "dnsZone": "1b4e2caff2530", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMin.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMin.json new file mode 100644 index 000000000000..ea148b9c9552 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedInstanceUpdateMin.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "20D7082A-0FC7-4468-82BD-542694D5042B", + "resourceGroupName": "testrg", + "managedInstanceName": "testinstance", + "api-version": "2020-02-02-preview", + "parameters": { + "tags": { + "tagKey1": "TagValue1" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "GP_Gen4", + "tier": "GeneralPurpose", + "capacity": 8, + "family": "Gen4" + }, + "properties": { + "fullyQualifiedDomainName": "testinstance.1b4e2caff2530.database.windows.net", + "administratorLogin": "dummylogin", + "subnetId": "/subscriptions/20D7082A-0FC7-4468-82BD-542694D5042B/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "state": "Ready", + "vCores": 8, + "storageSizeInGB": 1024, + "licenseType": "LicenseIncluded", + "collation": "SQL_Latin1_General_CP1_CI_AS", + "publicDataEndpointEnabled": false, + "proxyOverride": "Default", + "dnsZone": "1b4e2caff2530", + "instancePoolId": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/instancePools/instancePool1", + "maintenanceConfigurationId": "/subscriptions/ab0e51c0-83c0-4380-8ae9-025516df392f/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_WestEurope_MI_Mon_Fri_10PM_6AM" + }, + "location": "japaneast", + "tags": { + "tagKey1": "TagValue1" + }, + "id": "/subscriptions/20d7082a-0fc7-4468-82bd-542694d5042b/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/testinstance", + "name": "testinstance", + "type": "Microsoft.Sql/managedInstances" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertCreate.json new file mode 100644 index 000000000000..b211c573ce60 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertCreate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2020-02-01-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/securityAlertPolicies", + "properties": { + "state": "Enabled" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertGet.json new file mode 100644 index 000000000000..a4dd2f5b23a6 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/securityAlertPolicies", + "properties": { + "state": "Disabled", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertListByInstance.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertListByInstance.json new file mode 100644 index 000000000000..95abc4cd4eda --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ManagedServerSecurityAlertListByInstance.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "managedInstanceName": "securityalert-6440", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/managedInstances/securityalert-6440", + "name": "Default", + "type": "Microsoft.Sql/managedInstances/securityAlertPolicies", + "properties": { + "state": "Disabled", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsCreate.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsCreate.json new file mode 100644 index 000000000000..1b2fdd656f05 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsCreate.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2020-02-02-preview", + "parameters": { + "properties": { + "state": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies/default", + "name": "Default", + "type": "Microsoft.Sql/servers/securityAlertPolicies", + "properties": { + "state": "Enabled" + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsGet.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsGet.json new file mode 100644 index 000000000000..aee14c28b8ff --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "securityAlertPolicyName": "Default", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies/default", + "name": "Default", + "type": "Microsoft.Sql/servers/securityAlertPolicies", + "properties": { + "state": "Enabled", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsListByServer.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsListByServer.json new file mode 100644 index 000000000000..cc23a11dfd93 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/ServerSecurityAlertsListByServer.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "securityalert-4799", + "serverName": "securityalert-6440", + "api-version": "2020-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.Sql/servers/securityalert-6440/securityAlertPolicies", + "name": "Default", + "type": "Microsoft.Sql/servers/securityAlertPolicies", + "properties": { + "state": "Enabled", + "creationTime": "2020-04-03T04:41:33.937Z" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/UpdateShortTermRetentionPolicy.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/UpdateShortTermRetentionPolicy.json new file mode 100644 index 000000000000..80cc04f681f9 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/examples/UpdateShortTermRetentionPolicy.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "resourceGroup", + "serverName": "testsvr", + "databaseName": "testdb", + "policyName": "default", + "api-version": "2020-02-02-preview", + "parameters": { + "properties": { + "retentionDays": 14, + "diffBackupIntervalInHours": 24 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Sql/resourceGroups/resourceGroup/servers/testsvr/databases/testdb/backupShortTermRetentionPolicies/default", + "name": "default", + "type": "Microsoft.Sql/locations/servers/databases/backupShortTermRetentionPolicies", + "properties": { + "retentionDays": 14, + "diffBackupIntervalInHours": 24 + } + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/importexport.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/importexport.json new file mode 100644 index 000000000000..ed2aedc3a803 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/importexport.json @@ -0,0 +1,700 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/import": { + "post": { + "tags": [ + "ImportExport" + ], + "description": "Imports a bacpac into a new database.", + "operationId": "ImportExport_Import", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database import request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportExistingDatabaseDefinition" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully imported the database.", + "schema": { + "$ref": "#/definitions/ImportExportOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Importing the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Imports to an existing empty database.": { + "$ref": "./examples/ImportDatabase.json" + }, + "Imports to an existing empty database, using private link to communicate with SQL server and storage account.": { + "$ref": "./examples/ImportDatabaseWithNetworkIsolation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/import": { + "post": { + "tags": [ + "ImportExport" + ], + "description": "Imports a bacpac into a new database.", + "operationId": "Servers_ImportDatabase", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database import request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportNewDatabaseDefinition" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully imported the database.", + "schema": { + "$ref": "#/definitions/ImportExportOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Importing the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Imports to a new database.": { + "$ref": "./examples/ImportNewDatabase.json" + }, + "Imports to a new database, using private link for the SQL server and storage account.": { + "$ref": "./examples/ImportNewDatabaseWithNetworkIsolation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export": { + "post": { + "tags": [ + "ImportExport" + ], + "description": "Exports a database.", + "operationId": "Databases_Export", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database export request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportDatabaseDefinition" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully exported the database.", + "schema": { + "$ref": "#/definitions/ImportExportOperationResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Exporting the database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Exports a database.": { + "$ref": "./examples/ExportDatabase.json" + }, + "Exports a database, using private link to communicate with SQL server and storage account.": { + "$ref": "./examples/ExportDatabaseWithNetworkIsolation.json" + } + } + } + } + }, + "definitions": { + "ImportExistingDatabaseDefinition": { + "description": "Contains the information necessary to perform import operation for existing database.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" + ], + "type": "object", + "properties": { + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "NetworkIsolationSettings": { + "description": "Contains the ARM resources for which to create private endpoint connection.", + "type": "object", + "properties": { + "storageAccountResourceId": { + "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sqlServerResourceId": { + "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "ImportExportOperationResultProperties": { + "description": "Contains the operation result properties for import/export operation.", + "type": "object", + "properties": { + "requestId": { + "format": "uuid", + "description": "Request Id.", + "type": "string", + "readOnly": true + }, + "requestType": { + "description": "Request type.", + "type": "string", + "readOnly": true + }, + "queuedTime": { + "description": "Queued time.", + "type": "string", + "readOnly": true + }, + "lastModifiedTime": { + "description": "Last modified time.", + "type": "string", + "readOnly": true + }, + "blobUri": { + "description": "Blob Uri.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Server name.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "Database name.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Operation status.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error message.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Gets the status of private endpoints associated with this request.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionRequestStatus" + }, + "readOnly": true + } + } + }, + "PrivateEndpointConnectionRequestStatus": { + "description": "Contains the private endpoint connection requests status.", + "type": "object", + "properties": { + "privateLinkServiceId": { + "description": "Resource id for which the private endpoint is created.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnectionName": { + "description": "The connection name for the private endpoint.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of this private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ImportExportOperationResult": { + "description": "An ImportExport operation result resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ImportExportOperationResultProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ImportNewDatabaseDefinition": { + "description": "Contains the information necessary to perform import operation for new database.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" + ], + "type": "object", + "properties": { + "databaseName": { + "description": "Name of the import database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "edition": { + "description": "Edition of the import database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "serviceObjectiveName": { + "description": "Service level objective name of the import database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "maxSizeBytes": { + "description": "Max size in bytes for the import database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "ExportDatabaseDefinition": { + "description": "Contains the information necessary to perform export database operation.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" + ], + "type": "object", + "properties": { + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json new file mode 100644 index 000000000000..d1ce85ccd7f7 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json @@ -0,0 +1,835 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/restoreDetails/{restoreDetailsName}": { + "get": { + "tags": [ + "ManagedDatabaseRestoreDetails" + ], + "description": "Gets managed database restore details.", + "operationId": "ManagedDatabaseRestoreDetails_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "restoreDetailsName", + "in": "path", + "description": "The name of the restore details to retrieve.", + "required": true, + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "RestoreDetailsName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved restore details.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseRestoreDetailsResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 MissingThumbprint - Can not find server certificate.\n\n * 400 PartiallyContainedDatabaseUnsupported - \"Backup for a partially contained database is not supported.\"\n\n * 400 RequiredBackupIsNotLastRestored - Migration cannot be completed because provided backup file name is not the name of the last backup file that is restored.\n\n * 400 IncompatiblePhysicalLayoutTooFewDataFiles - Database backup contains incompatible physical layout. No data files are found in the backup.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineDataFilesExist - Database backup contains incompatible physical layout. Non-online data files exist.\n\n * 400 IncompatiblePhysicalLayoutWrongNumberOfLogFiles - Database backup contains incompatible physical layout. Multiple log files are not supported.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineLogFilesExist - Database backup contains incompatible physical layout. Non-online log files exist.\n\n * 400 IncompatiblePhysicalLayoutTooManyNonDataLogFiles - Database backup contains incompatible physical layout. Too many non-data/log files.\n\n * 400 BackupSetNotFound - \"No backups were found to restore the database. Please contact support to restore the database.\n\n * 400 ExternalBackupAlreadySignaledToComplete - The restore request has already been signaled to complete.\n\n * 400 FullBackupNotFound - Full backup can not be found.\n\n * 400 ExternalBackupRestoreHasNotBeenStarted - The restore request can only be completed once the restore has started.\n\n * 400 RestoreFromStripedBackupsNotEnabled - Restoring from striped backups is not supported.\n\n * 400 BrokenRestorePlanNoFullBackup - The restore plan is broken because there is no full backup.\n\n * 400 BrokenRestorePlanWrongLogBackupLSN - The restore plan is broken because firstLsn of current log backup is not <= lastLsn of next log backup.\n\n * 400 BrokenRestorePlanWrongDiffBackupLSN - The restore plan is broken because firstLsn of diff backup is not >= firstLsn of full backup.\n\n * 400 BrokenRestorePlanGapInLogBackups - The restore plan is broken because firstLsn of current log backup is not equal to lastLsn of prev log backup.\n\n * 400 XtpInitializedDuringRestore - Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance.\n\n * 400 ManagedInstanceStorageLimitHit - The managed instance has reached its storage limit.\n\n * 400 ManagedDatabaseNotInRestoringState - Managed database is not in Restoring state." + } + }, + "x-ms-examples": { + "Managed database restore details.": { + "$ref": "./examples/ManagedDatabaseRestoreDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases": { + "get": { + "tags": [ + "ManagedDatabases" + ], + "description": "Gets a list of managed databases.", + "operationId": "ManagedDatabases_ListByInstance", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of databases.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List databases by managed instances": { + "$ref": "./examples/ManagedDatabaseListByManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}": { + "get": { + "tags": [ + "ManagedDatabases" + ], + "description": "Gets a managed database.", + "operationId": "ManagedDatabases_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified managed database.", + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Gets a managed database": { + "$ref": "./examples/ManagedDatabaseGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedDatabases" + ], + "description": "Creates a new database or updates an existing database.", + "operationId": "ManagedDatabases_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested database resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidLongTermRetentionManagedInstanceBackupId - Invalid long term retention backup identifier for Managed Instances.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates a new managed database with minimal properties": { + "$ref": "./examples/ManagedDatabaseCreateMin.json" + }, + "Creates a new managed database with maximal properties": { + "$ref": "./examples/ManagedDatabaseCreateMax.json" + }, + "Creates a new managed database using point in time restore": { + "$ref": "./examples/ManagedDatabaseCreatePointInTimeRestore.json" + }, + "Creates a new managed database by restoring from an external backup": { + "$ref": "./examples/ManagedDatabaseCreateRestoreExternalBackup.json" + }, + "Creates a new managed database from restoring a geo-replicated backup": { + "$ref": "./examples/ManagedDatabaseCreateRecovery.json" + }, + "Creates a new managed database from restoring a long term retention backup": { + "$ref": "./examples/ManagedDatabaseCreateRestoreLtrBackup.json" + } + } + }, + "delete": { + "tags": [ + "ManagedDatabases" + ], + "description": "Deletes a managed database.", + "operationId": "ManagedDatabases_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the managed database." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 GeoReplicationDatabaseNotPrimary - The operation cannot be performed since the database '{0}' is a replication target.\n\n * 400 GeoReplicationDatabaseNotSecondary - The operation expects the database to be a replication target.\n\n * 400 DropDisallowedDuringFailover - Can not drop database because a failover operation is in progress on the failover group.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Deleting the managed database is in progress." + }, + "204": { + "description": "The specified managed database does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete managed database": { + "$ref": "./examples/ManagedDatabaseDelete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedDatabases" + ], + "description": "Updates an existing database.", + "operationId": "ManagedDatabases_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested database resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedDatabaseUpdate" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/ManagedDatabase" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 DatabaseNumberLimitReached - Maximum number of databases for SQL Database Managed Instance reached.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 PitrPointInTimeInvalid - The point in time {0} is not valid. Valid point in time range from {1} days early to now and not before source server creation time.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 ManagedDatabaseNameInUse - Database '{0}' already exists. Choose a different database name.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 NoMoreSpaceInManagedInstance - The managed instance has reached its storage limit. The storage usage for the managed instance cannot exceed (%d) MBs.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 RestoreSourceDatabaseNotFound - Could not find database '{0}' at time '{1}' that can be restored.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindServerCertificateWithThumbprint - Cannot find server certificate with thumbprint '{0}'. Please use PowerShell Cmdlet 'Add-AzureRmSqlManagedInstanceTransparentDataEncryptionCertificate' to create the certificate.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Updating the managed database is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates a managed database with minimal properties": { + "$ref": "./examples/ManagedDatabaseUpdateMin.json" + }, + "Updates a managed database with maximal properties": { + "$ref": "./examples/ManagedDatabaseUpdateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/inaccessibleManagedDatabases": { + "get": { + "tags": [ + "ManagedDatabases" + ], + "description": "Gets a list of inaccessible managed databases in a managed instance", + "operationId": "ManagedDatabases_ListInaccessibleByInstance", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of inaccessible managed databases in a managed instance.", + "schema": { + "$ref": "#/definitions/ManagedDatabaseListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List inaccessible managed databases by managed instances": { + "$ref": "./examples/InaccessibleManagedDatabaseListByManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/completeRestore": { + "post": { + "tags": [ + "ManagedDatabases" + ], + "description": "Completes the restore operation on a managed database.", + "operationId": "ManagedDatabases_CompleteRestore", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The definition for completing the restore of this managed database.", + "required": true, + "schema": { + "$ref": "#/definitions/CompleteDatabaseRestoreDefinition" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully completed restore request." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCompleteRestoreRequest - The complete database restore request is invalid\n\n * 400 InvalidDatabaseCompleteRestoreRequestLastBackupName - The last backup name is invalid\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceStorageLimitHit - The managed instance has reached its storage limit.\n\n * 400 BackupSetNotFound - \"No backups were found to restore the database. Please contact support to restore the database.\n\n * 400 FullBackupNotFound - Full backup can not be found.\n\n * 400 RestoreFromStripedBackupsNotEnabled - Restoring from striped backups is not supported.\n\n * 400 BrokenRestorePlanNoFullBackup - The restore plan is broken because there is no full backup.\n\n * 400 BrokenRestorePlanWrongLogBackupLSN - The restore plan is broken because firstLsn of current log backup is not <= lastLsn of next log backup.\n\n * 400 BrokenRestorePlanWrongDiffBackupLSN - The restore plan is broken because firstLsn of diff backup is not >= firstLsn of full backup.\n\n * 400 BrokenRestorePlanGapInLogBackups - The restore plan is broken because firstLsn of current log backup is not equal to lastLsn of prev log backup.\n\n * 400 XtpInitializedDuringRestore - Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance.\n\n * 400 FullBackupMissingChecksum - Provided full backup is missing checksum.\n\n * 400 FullBackupDamaged - Provided full backup is damaged.\n\n * 400 PartiallyContainedDatabaseUnsupported - \"Backup for a partially contained database is not supported.\"\n\n * 400 RequiredBackupIsNotLastRestored - Migration cannot be completed because provided backup file name is not the name of the last backup file that is restored.\n\n * 400 IncompatiblePhysicalLayoutTooFewDataFiles - Database backup contains incompatible physical layout. No data files are found in the backup.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineDataFilesExist - Database backup contains incompatible physical layout. Non-online data files exist.\n\n * 400 IncompatiblePhysicalLayoutWrongNumberOfLogFiles - Database backup contains incompatible physical layout. Multiple log files are not supported.\n\n * 400 IncompatiblePhysicalLayoutNonOnlineLogFilesExist - Database backup contains incompatible physical layout. Non-online log files exist.\n\n * 400 IncompatiblePhysicalLayoutTooManyNonDataLogFiles - Database backup contains incompatible physical layout. Too many non-data/log files.\n\n * 400 ExternalBackupAlreadySignaledToComplete - The restore request has already been signaled to complete.\n\n * 400 ExternalBackupRestoreHasNotBeenStarted - The restore request can only be completed once the restore has started.\n\n * 400 ExternalBackupUpgradeInProgress - The restore request cannot be completed, since upgrade is in progress.\n\n * 400 IncompatiblePhysicalLayoutTooManyXTPFiles - Database backup contains incompatible physical layout. Multiple files found in the filegroup that contains MEMORY_OPTIMIZED_DATA.\n\n * 400 BlobStorageFailure - Blob storage failure has occurred.\n\n * 400 MissingThumbprint - Can not find server certificate.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources." + }, + "202": { + "description": "Completing restore request is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Completes a managed database external backup restore.": { + "$ref": "./examples/ManagedDatabaseCompleteExternalRestore.json" + } + } + } + } + }, + "definitions": { + "ManagedDatabaseRestoreDetailsProperties": { + "description": "The managed database's restore details properties.", + "type": "object", + "properties": { + "status": { + "description": "Restore status.", + "type": "string", + "readOnly": true + }, + "currentRestoringFileName": { + "description": "Current restoring file name.", + "type": "string", + "readOnly": true + }, + "lastRestoredFileName": { + "description": "Last restored file name.", + "type": "string", + "readOnly": true + }, + "lastRestoredFileTime": { + "format": "date-time", + "description": "Last restored file time.", + "type": "string", + "readOnly": true + }, + "percentCompleted": { + "format": "double", + "description": "Percent completed.", + "type": "number", + "readOnly": true + }, + "unrestorableFiles": { + "description": "List of unrestorable files.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "numberOfFilesDetected": { + "format": "int64", + "description": "Number of files detected.", + "type": "integer", + "readOnly": true + }, + "lastUploadedFileName": { + "description": "Last uploaded file name.", + "type": "string", + "readOnly": true + }, + "lastUploadedFileTime": { + "format": "date-time", + "description": "Last uploaded file time.", + "type": "string", + "readOnly": true + }, + "blockReason": { + "description": "The reason why restore is in Blocked state.", + "type": "string", + "readOnly": true + } + } + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "ManagedDatabaseRestoreDetailsResult": { + "description": "A managed database restore details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedDatabaseRestoreDetailsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedDatabaseListResult": { + "description": "A list of managed databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedDatabase" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedDatabaseProperties": { + "description": "The managed database's properties.", + "type": "object", + "properties": { + "collation": { + "description": "Collation of the managed database.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "status": { + "description": "Status of the database.", + "enum": [ + "Online", + "Offline", + "Shutdown", + "Creating", + "Inaccessible", + "Restoring", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ManagedDatabaseStatus", + "modelAsString": true + } + }, + "creationDate": { + "format": "date-time", + "description": "Creation date of the database.", + "type": "string", + "readOnly": true + }, + "earliestRestorePoint": { + "format": "date-time", + "description": "Earliest restore point in time for point in time restore.", + "type": "string", + "readOnly": true + }, + "restorePointInTime": { + "format": "date-time", + "description": "Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "defaultSecondaryLocation": { + "description": "Geo paired region.", + "type": "string", + "readOnly": true + }, + "catalogCollation": { + "description": "Collation of the metadata catalog.", + "enum": [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogCollationType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "createMode": { + "description": "Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. RestoreLongTermRetentionBackup: Create a database by restoring from a long term retention backup (longTermRetentionBackupResourceId required).", + "enum": [ + "Default", + "RestoreExternalBackup", + "PointInTimeRestore", + "Recovery", + "RestoreLongTermRetentionBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedDatabaseCreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageContainerUri": { + "description": "Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sourceDatabaseId": { + "description": "The resource identifier of the source database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "restorableDroppedDatabaseId": { + "description": "The restorable dropped database resource id to restore when creating this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageContainerSasToken": { + "description": "Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the storage container sas token.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "failoverGroupId": { + "description": "Instance Failover Group resource identifier that this managed database belongs to.", + "type": "string", + "readOnly": true + }, + "recoverableDatabaseId": { + "description": "The resource identifier of the recoverable database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "longTermRetentionBackupResourceId": { + "description": "The name of the Long Term Retention backup to be used for restore of this managed database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "autoCompleteRestore": { + "description": "Whether to auto complete restore of this managed database.", + "type": "boolean", + "x-ms-mutability": [ + "create" + ] + }, + "lastBackupName": { + "description": "Last backup file name for restore of this managed database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "description": "ARM tracked top level resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ManagedDatabase": { + "description": "A managed database resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ManagedDatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedDatabaseUpdate": { + "description": "An managed database update.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ManagedDatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "CompleteDatabaseRestoreDefinition": { + "description": "Contains the information necessary to perform a complete database restore operation.", + "required": [ + "lastBackupName" + ], + "type": "object", + "properties": { + "lastBackupName": { + "description": "The last backup name to apply", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json new file mode 100644 index 000000000000..d8e5ec906ca0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json @@ -0,0 +1,804 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Gets a list of managed instances in a resource group.", + "operationId": "ManagedInstances_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instances.", + "schema": { + "$ref": "#/definitions/ManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed instances by resource group": { + "$ref": "./examples/ManagedInstanceListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Gets a managed instance.", + "operationId": "ManagedInstances_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified managed instance.", + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + } + }, + "x-ms-examples": { + "Get managed instance": { + "$ref": "./examples/ManagedInstanceGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedInstances" + ], + "description": "Creates or updates a managed instance.", + "operationId": "ManagedInstances_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested managed instance resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed instance.", + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 InvalidManagedServerDnsZonePartner - The resource URI of the geo-primary managed instance specified in the create request is invalid. Please ensure that the property is of the format /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/managedInstances/{managedInstanceName}\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "201": { + "description": "Successfully created the managed instance.", + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create managed instance with minimal properties": { + "$ref": "./examples/ManagedInstanceCreateMin.json" + }, + "Create managed instance with all properties": { + "$ref": "./examples/ManagedInstanceCreateMax.json" + } + } + }, + "delete": { + "tags": [ + "ManagedInstances" + ], + "description": "Deletes a managed instance.", + "operationId": "ManagedInstances_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the managed instance." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified managed instance does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete managed instance": { + "$ref": "./examples/ManagedInstanceDelete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedInstances" + ], + "description": "Updates a managed instance.", + "operationId": "ManagedInstances_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The requested managed instance resource state.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedInstanceUpdate" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed instance.", + "schema": { + "$ref": "#/definitions/ManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 HkCannotSwitchToInactive - The database cannot proceed with pricing-tier update as it has memory-optimized objects. Please drop such objects and try again.\n\n * 400 ManagedInstanceInvalidStorageSizeLessThenCurrentSizeUsed - Invalid storage size: Storage size limit ({0} GB) is less that current storage used ({1} GB). Please specify higher storage size limit.\n\n * 400 InstanceTimezoneUpdateNotSupported - Instance timezone update not supported.\n\n * 400 CreateManagedInstanceWithNonDefaultTimezoneNotSupported - Create Managed Instance with non-default timezone not supported.\n\n * 400 ManagedInstanceIpAddressRangeLimit - Cannot create a Managed Instance as there are not enough available ip addresses in the selected subnet\n\n * 400 VnetDelegationNotAllowed - User tried to inject Managed Server to subnet which is delegated.\n\n * 400 SubnetHasResourcesOfDifferentType - User tried to create MI in subnet that has resources of different type.\n\n * 400 UpdateManagedServerWithMaintenanceWindowNotAllowed - Update of Managed Instance with maintenance window settings is not allowed.\n\n * 400 VnetPrepareNIPFailed - User tried to prepare subnet that has a conflict with NetworkIntentPolicy.\n\n * 400 InvalidUsername - Supplied user name contains invalid characters.\n\n * 400 ManagedInstanceDeprecatedHardwareFamily - Changing the hardware generation to deprecated {0} generation is not possible.\n\n * 400 ManagedInstanceBackupStorageTypeNotSupported - Backup storage type parameter is not allowed in the instance update operation.\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InstancePoolNotEnoughCapacity - An instance pool does not have enough capacity\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 ManagedInstanceSloUpdateFailed - SLO '{0}' operation cannot succeed as the memory usage of '{1}' exceeds the quota.\n\n * 400 ManagedInstanceLocalStorageUpdateSloDisabled - Update SLO for managed instances with local storage is not supported yet.\n\n * 400 InvalidLoginName - The provided login name is invalid.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 PasswordTooShort - The provided password is too short\n\n * 400 PasswordTooLong - The provided password is too long.\n\n * 400 PasswordNotComplex - The provided password is not complex enough.\n\n * 400 GatewayInvalidEdition - '{0}' is not a valid database edition in this version of SQL Server.\n\n * 400 InvalidSubnetResourceId - The provided subnet resource ID for the managed instance create or update is invalid.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified.\n\n * 400 VnetInWrongRegion - Virtual network is in wrong region.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 VnetAddressRangeError - Virtual network address range is invalid.\n\n * 400 VnetConfigIsNotAllowed - Virtual network configuration is not allowed.\n\n * 400 InvalidCollation - Invalid collation.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 ManagedInstanceClassicVnetNotSupported - Managed Instance cannot be joined to a classic virtual network.\n\n * 400 AlterDbDeactivatedNotSupported - Database Operation failed for Server '{0}', Database '{1}' due to unexpected delay. Please try again.\n\n * 400 RegionDoesNotAllowProvisioning - The selected location is not accepting new Windows Azure SQL Database servers. This may change at a later time.\n\n * 400 VnetConfigHasNsg - User tried to inject Managed Server subnet with Network Security Groups.\n\n * 400 VnetConfigHasNoUdr - User tried to inject Managed Server subnet without default User Defined Route Table.\n\n * 400 VnetConfigHasInvalidUdr - User tried to inject Managed Server subnet with invalid User Defined Route Table.\n\n * 400 VnetConfigHasInvalidDns - User tried to inject Managed Server subnet with invalid custom DNS.\n\n * 400 VnetConfigHasServiceEndpoints - User tried to inject Managed Server subnet with service endpoints.\n\n * 400 VnetSubnetIsInUse - User tried to inject Managed Server subnet that is not empty.\n\n * 400 VnetSubnetIsLocked - User tried to inject Managed Server subnet that is in locked scope.\n\n * 400 VnetSubnetIsGateway - User tried to inject Managed Server subnet that is Gateway subnet.\n\n * 400 VnetSubnetIsUnknown - User tried to inject Managed Server subnet that does not exist.\n\n * 400 VnetSubnetConflictWithIntendedPolicy - User tried to inject Managed Server subnet that has a conflict with IntendedPolicy.\n\n * 400 NameAlreadyExists - The provided name already exists.\n\n * 400 ManagedInstanceInvalidEditionForSku - The specified edition {0} is not consistent with the specified SKU {1}.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagedInstanceInvalidLicenseType - The specified license type {0} is not valid.\n\n * 400 ManagedInstanceUpdateSloInProgress - \"The operation could not be completed because a service tier change is in progress for managed instance '{0}.' Please wait for the operation in progress to complete and try again.\"\n\n * 400 VnetResourceNotFound - Resource not found: '{0}'.\n\n * 400 InvalidTimezone - Invalid timezone.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 InstanceCollationUpdateNotSupported - User cannot change instance collation on Managed Instance.\n\n * 400 CreateManagedInstanceWithNonDefaultCollationNotSupported - User can create a Managed Instance only with collation 'SQL_Latin1_General_CP1_CI_AS'.\n\n * 400 ManagedInstanceOperationInProgress - The operation could not be completed because {0} operation is in progress. Please wait for the operation in progress to complete and try again.\n\n * 400 ManagedInstanceExceedMaxAzureStorage - The operation could not be completed because total allocated storage size for General Purpose instance would exceed {0}. Please reduce the number of database files and retry operation.\n\n * 400 ManagedInstanceHasGeoReplica - The operation could not be completed because instance has configured geo replicated secondary instance.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidMinimalTlsVersion - Invalid minimal TLS version.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidMaintenanceWindowSettings - Invalid maintenance window settings.\n\n * 400 InvalidMaintenanceWindowProperty - Invalid maintenance window property was specified.\n\n * 400 InvalidMaintenanceWindowPropertyNull - Invalid maintenance window with required properties null.\n\n * 400 InvalidMaintenanceWindowTypeWithPropertySpecified - Maintenance window type must not have certain properties specified.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ManagedInstanceNotInSubscriptionResourceGroup - Specified managed instance does not exist in the specified resource group and subscription.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ResourceDoesNotExist - Resource with the name '{0}' does not exist. To continue, specify a valid resource name.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 405 InvalidVcoreValue - vCore value {0} is not valid. Please specify a valid vCore value.\n\n * 405 InvalidHardwareGenerationValue - HardwareGeneration {0} is not valid. Please specify a valid HardwareGeneration value.\n\n * 405 InvalidStorageSizeValue - \"Invalid storage size: {0} GB. Storage size must be specified between {1} and {2} gigabytes, in increments of {3} GB.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ServerAlreadyExists - Duplicate server name.\n\n * 409 ServerOverridePreconditionFailed - Failed to apply server override on category '{0}', because physical db or instance '{1}' in server '{2}' is currently not in 'Ready' or 'Deactivated' state.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ManagedInstanceIsBusy - The server '{0}' is currently busy. Please wait a few minutes before trying again.\n\n * 409 ServerQuotaExceeded - Server cannot be added to a subscription because it will exceed quota.\n\n * 409 ConflictingManagedInstanceOperation - An operation is currently in progress for the managed instance.\n\n * 409 MiDropFailedOnAuthLocks - User tried to drop last Managed Instance in subnet that has Lock applied on resource(s).\n\n * 409 MiCreateFailedNonDelegatedSubnet - User tried to deploy Managed Instance or Managed Instance pool in subnet that is not delegated to Microsoft.Sql/managedInstances.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 ConflictingSubscriptionOperation - An operation is currently in progress for the subscription.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 GatewayInternalServerError - The server encountered an unexpected exception.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update managed instance with minimal properties": { + "$ref": "./examples/ManagedInstanceUpdateMin.json" + }, + "Update managed instance with all properties": { + "$ref": "./examples/ManagedInstanceUpdateMax.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/managedInstances": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Gets a list of all managed instances in an instance pool.", + "operationId": "ManagedInstances_ListByInstancePool", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "instancePoolName", + "in": "path", + "description": "The instance pool name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instances.", + "schema": { + "$ref": "#/definitions/ManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 404 InstancePoolNotFound - An instance pool cannot be found" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed instances by instance pool": { + "$ref": "./examples/ManagedInstanceListByInstancePool.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances": { + "get": { + "tags": [ + "ManagedInstances" + ], + "description": "Gets a list of all managed instances in the subscription.", + "operationId": "ManagedInstances_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed instances.", + "schema": { + "$ref": "#/definitions/ManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed instances": { + "$ref": "./examples/ManagedInstanceList.json" + } + } + } + } + }, + "definitions": { + "ManagedInstanceListResult": { + "description": "A list of managed instances.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Sku": { + "description": "An ARM Resource SKU.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU, typically, a letter + Number code, e.g. P3.", + "type": "string" + }, + "tier": { + "description": "The tier or edition of the particular SKU, e.g. Basic, Premium.", + "type": "string" + }, + "size": { + "description": "Size of the particular SKU", + "type": "string" + }, + "family": { + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here.", + "type": "string" + }, + "capacity": { + "format": "int32", + "description": "Capacity of the particular SKU.", + "type": "integer" + } + } + }, + "ManagedInstanceProperties": { + "description": "The properties of a managed instance.", + "type": "object", + "properties": { + "provisioningState": { + "enum": [ + "Creating", + "Deleting", + "Updating", + "Unknown", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true + }, + "managedInstanceCreateMode": { + "description": "Specifies the mode of database creation.\r\n\r\nDefault: Regular instance creation.\r\n\r\nRestore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.", + "enum": [ + "Default", + "PointInTimeRestore" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedServerCreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "fullyQualifiedDomainName": { + "description": "The fully qualified domain name of the managed instance.", + "type": "string", + "readOnly": true + }, + "administratorLogin": { + "description": "Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "administratorLoginPassword": { + "description": "The administrator login password (required for managed instance creation).", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "subnetId": { + "description": "Subnet resource ID for the managed instance.", + "type": "string" + }, + "state": { + "description": "The state of the managed instance.", + "type": "string", + "readOnly": true + }, + "licenseType": { + "description": "The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedInstanceLicenseType", + "modelAsString": true + } + }, + "vCores": { + "format": "int32", + "description": "The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80.", + "type": "integer" + }, + "storageSizeInGB": { + "format": "int32", + "description": "Storage size in GB. Minimum value: 32. Maximum value: 8192. Increments of 32 GB allowed only.", + "type": "integer" + }, + "collation": { + "description": "Collation of the managed instance.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "dnsZone": { + "description": "The Dns Zone that the managed instance is in.", + "type": "string", + "readOnly": true + }, + "dnsZonePartner": { + "description": "The resource id of another managed instance whose DNS zone this managed instance will share after creation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "publicDataEndpointEnabled": { + "description": "Whether or not the public data endpoint is enabled.", + "type": "boolean" + }, + "sourceManagedInstanceId": { + "description": "The resource identifier of the source managed instance associated with create operation of this instance.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "restorePointInTime": { + "format": "date-time", + "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "proxyOverride": { + "description": "Connection type used for connecting to the instance.", + "enum": [ + "Proxy", + "Redirect", + "Default" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedInstanceProxyOverride", + "modelAsString": true + } + }, + "timezoneId": { + "description": "Id of the timezone. Allowed values are timezones supported by Windows.\r\nWindows keeps details on supported timezones, including the id, in registry under\r\nKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones.\r\nYou can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.\r\nList of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.\r\nAn example of valid timezone id is \"Pacific Standard Time\" or \"W. Europe Standard Time\".", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "instancePoolId": { + "description": "The Id of the instance pool this managed server belongs to.", + "type": "string" + }, + "maintenanceConfigurationId": { + "description": "Specifies maintenance configuration id to apply to this managed instance.", + "type": "string" + }, + "minimalTlsVersion": { + "description": "Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'", + "type": "string" + }, + "storageAccountType": { + "description": "The storage account type used to store backups for this instance. The options are LRS (LocallyRedundantStorage), ZRS (ZoneRedundantStorage) and GRS (GeoRedundantStorage)", + "enum": [ + "GRS", + "LRS", + "ZRS" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "ManagedInstancePrivateLinkServiceConnectionStateProperty": { + "required": [ + "status", + "description" + ], + "type": "object", + "properties": { + "status": { + "description": "The private link service connection status.", + "type": "string" + }, + "description": { + "description": "The private link service connection description.", + "type": "string" + }, + "actionsRequired": { + "description": "The private link service connection description.", + "type": "string", + "readOnly": true + } + } + }, + "TrackedResource": { + "description": "ARM tracked top level resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ManagedInstance": { + "description": "An Azure SQL managed instance.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "../../../common/v1/types.json#/definitions/ResourceIdentity", + "description": "The Azure Active Directory identity of the managed instance.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Managed instance SKU. Allowed values for sku.name: GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5" + }, + "properties": { + "$ref": "#/definitions/ManagedInstanceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ManagedInstanceUpdate": { + "description": "An update request for an Azure SQL Database managed instance.", + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "Managed instance sku" + }, + "properties": { + "$ref": "#/definitions/ManagedInstanceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/operations.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/operations.json new file mode 100644 index 000000000000..14c45bbfb444 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/operations.json @@ -0,0 +1,202 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Sql/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available SQL Rest API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list SQL operations.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "SQL REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The localized display information for this particular operation / action.", + "readOnly": true + }, + "origin": { + "description": "The intended executor of the operation.", + "enum": [ + "user", + "system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "description": "Additional descriptions for the operation.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false + } + } + }, + "OperationDisplay": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json new file mode 100644 index 000000000000..1acb5f22460f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json @@ -0,0 +1,468 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-02-02-preview", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/{policyName}": { + "get": { + "tags": [ + "BackupShortTermRetentionPolicies" + ], + "description": "Gets a database's short term retention policy.", + "operationId": "BackupShortTermRetentionPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the policy.", + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-examples": { + "Get the short term retention policy for the database.": { + "$ref": "./examples/GetShortTermRetentionPolicy.json" + } + } + }, + "put": { + "tags": [ + "BackupShortTermRetentionPolicies" + ], + "description": "Updates a database's short term retention policy.", + "operationId": "BackupShortTermRetentionPolicies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The short term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the policy.", + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 InvalidDiffBackupIntervalHours - The differential backup interval hours of {0} is not a valid configuration. Valid differential backup interval must be {1} hours.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the short term retention policy for the database.": { + "$ref": "./examples/UpdateShortTermRetentionPolicy.json" + } + } + }, + "patch": { + "tags": [ + "BackupShortTermRetentionPolicies" + ], + "description": "Updates a database's short term retention policy.", + "operationId": "BackupShortTermRetentionPolicies_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "policyName", + "in": "path", + "description": "The policy name. Should always be \"default\".", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ShortTermRetentionPolicyName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "description": "The short term retention policy info.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the policy.", + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 400 InvalidBackupRetentionPeriod - The retention days of {0} is not a valid configuration. Valid backup retention in days must be between {1} and {2}\n\n * 400 InvalidDiffBackupIntervalHours - The differential backup interval hours of {0} is not a valid configuration. Valid differential backup interval must be {1} hours.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the short term retention policy for the database.": { + "$ref": "./examples/UpdateShortTermRetentionPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies": { + "get": { + "tags": [ + "BackupShortTermRetentionPolicies" + ], + "description": "Gets a database's short term retention policy.", + "operationId": "BackupShortTermRetentionPolicies_ListByDatabase", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the policy.", + "schema": { + "$ref": "#/definitions/BackupShortTermRetentionPolicyListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to a parameter.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ResourceNotFound - The requested resource was not found." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get the short term retention policy for the database.": { + "$ref": "./examples/ListShortTermRetentionPoliciesByDatabase.json" + } + } + } + } + }, + "definitions": { + "BackupShortTermRetentionPolicyProperties": { + "description": "Properties of a short term retention policy", + "type": "object", + "properties": { + "retentionDays": { + "format": "int32", + "description": "The backup retention period in days. This is how many days Point-in-Time Restore will be supported.", + "type": "integer" + }, + "diffBackupIntervalInHours": { + "format": "int32", + "description": "The differential backup interval in hours. This is how many interval hours between each differential backup will be supported. This is only applicable to live databases but not dropped databases.", + "enum": [ + "12", + "24" + ], + "type": "integer", + "x-ms-enum": { + "name": "DiffBackupIntervalInHours", + "modelAsString": true + } + } + } + }, + "Resource": { + "description": "ARM resource.", + "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 + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "BackupShortTermRetentionPolicy": { + "description": "A short term retention policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupShortTermRetentionPolicyProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "BackupShortTermRetentionPolicyListResult": { + "description": "A list of short term retention policies.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupShortTermRetentionPolicy" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServerNameParameter": { + "name": "serverName", + "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BlobAuditingPolicyNameParameter": { + "name": "blobAuditingPolicyName", + "in": "path", + "description": "The name of the blob auditing policy.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServerCreateMax.json b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServerCreateMax.json index 0aa9a485433a..dd83d0701e23 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServerCreateMax.json +++ b/specification/sql/resource-manager/Microsoft.Sql/stable/2014-04-01/examples/ServerCreateMax.json @@ -12,7 +12,7 @@ "properties": { "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", "administratorLogin": "dummylogin", - "administratorLoginPassword": "Un53cuRE!", + "administratorLoginPassword": "dummy", "version": "12.0", "state": "Ready" } @@ -32,7 +32,7 @@ "properties": { "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", "administratorLogin": "dummylogin", - "administratorLoginPassword": "Un53cuRE!", + "administratorLoginPassword": "dummy", "externalAdministratorLogin": null, "externalAdministratorSid": null, "version": "12.0", @@ -53,7 +53,7 @@ "properties": { "fullyQualifiedDomainName": "sqlcrudtest-4645.database.windows.net", "administratorLogin": "dummylogin", - "administratorLoginPassword": "Un53cuRE!", + "administratorLoginPassword": "dummy", "externalAdministratorLogin": null, "externalAdministratorSid": null, "version": "12.0", diff --git a/specification/sql/resource-manager/readme.azureresourceschema.md b/specification/sql/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..b6beef658200 --- /dev/null +++ b/specification/sql/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,311 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-sql-2020-02-02-preview + - tag: schema-sql-2019-06-01-preview + - tag: schema-sql-2018-06-01-preview + - tag: schema-sql-2017-10-01-preview + - tag: schema-sql-2017-03-01-preview + - tag: schema-sql-2015-05-01-preview + - tag: schema-sql-2015-05-01 + - tag: schema-sql-2014-04-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-sql-2020-02-02-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2020-02-02-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json + - Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json + - Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json + - Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json + - Microsoft.Sql/preview/2020-02-02-preview/importexport.json + - Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json + - ./Microsoft.Sql/preview/2020-02-02-preview/DatabaseSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ManagedServerSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2020-02-02-preview/operations.json + - ./Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json + - ./Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json + +``` + +### Tag: schema-sql-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2019-06-01-preview/servers.json + - Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json + - Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json + - Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json + - Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json + - Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json + - Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json + - Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json + - ./Microsoft.Sql/preview/2019-06-01-preview/databases.json + - ./Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2019-06-01-preview/serverOperations.json + - ./Microsoft.Sql/preview/2019-06-01-preview/servers.json + - ./Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json + - ./Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json + - ./Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json + - ./Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json + - ./Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json + - ./Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json + - ./Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json + +``` + +### Tag: schema-sql-2018-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2018-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json + - Microsoft.Sql/preview/2018-06-01-preview/ServerVulnerabilityAssessments.json + - Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json + - Microsoft.Sql/preview/2018-06-01-preview/instancePools.json + - Microsoft.Sql/preview/2018-06-01-preview/usages.json + - Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json + - Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json + - Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json + - Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json + - Microsoft.Sql/preview/2018-06-01-preview/capabilities.json + - Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json + - Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2018-06-01-preview/DatabaseSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json + - ./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2018-06-01-preview/managedInstanceOperations.json + - ./Microsoft.Sql/preview/2018-06-01-preview/ServerVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2018-06-01-preview/instancePools.json + - ./Microsoft.Sql/preview/2018-06-01-preview/usages.json + - ./Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json + - ./Microsoft.Sql/preview/2018-06-01-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json + - ./Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json + - ./Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json + - ./Microsoft.Sql/preview/2018-06-01-preview/ServerAzureADAdministrators.json + - ./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json + +``` + +### Tag: schema-sql-2017-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2017-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json + - Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json + - Microsoft.Sql/preview/2017-10-01-preview/databases.json + - Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json + - Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json + - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json + - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json + - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json + - Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json + - Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json + - Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json + - Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json + - Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceEncryptionProtectors.json + - Microsoft.Sql/preview/2017-10-01-preview/recoverableManagedDatabases.json + - Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json + - ./Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json + - ./Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json + - ./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json + - ./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json + - ./Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2017-10-01-preview/capabilities.json + - ./Microsoft.Sql/preview/2017-10-01-preview/databases.json + - ./Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json + - ./Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json + - ./Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json + - ./Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json + - ./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json + - ./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json + - ./Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceEncryptionProtectors.json + - ./Microsoft.Sql/preview/2017-10-01-preview/recoverableManagedDatabases.json + +``` + +### Tag: schema-sql-2017-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2017-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2017-03-01-preview/blobAuditing.json + - Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessmentBaselines.json + - Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessments.json + - Microsoft.Sql/preview/2017-03-01-preview/jobs.json + - Microsoft.Sql/preview/2017-03-01-preview/longTermRetention.json + - Microsoft.Sql/preview/2017-03-01-preview/ManagedBackupShortTermRetention.json + - Microsoft.Sql/preview/2017-03-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetenion.json + - Microsoft.Sql/preview/2017-03-01-preview/serverAutomaticTuning.json + - Microsoft.Sql/preview/2017-03-01-preview/serverDnsAliases.json + - Microsoft.Sql/preview/2017-03-01-preview/serverSecurityAlertPolicies.json + - Microsoft.Sql/preview/2017-03-01-preview/restorableDroppedManagedDatabases.json + - Microsoft.Sql/preview/2017-03-01-preview/restorePoints.json + - Microsoft.Sql/preview/2017-03-01-preview/ManagedDatabaseSecurityAlertPolicies.json + - Microsoft.Sql/preview/2017-03-01-preview/ManagedServerSecurityAlertPolicy.json + - Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json + - Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json + - Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json + - Microsoft.Sql/preview/2017-03-01-preview/cancelOperations.json + - Microsoft.Sql/preview/2017-03-01-preview/dataWarehouseUserActivities.json + - Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/blobAuditing.json + - ./Microsoft.Sql/preview/2017-03-01-preview/cancelOperations.json + - ./Microsoft.Sql/preview/2017-03-01-preview/databases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessmentBaselines.json + - ./Microsoft.Sql/preview/2017-03-01-preview/databaseVulnerabilityAssessments.json + - ./Microsoft.Sql/preview/2017-03-01-preview/dataWarehouseUserActivities.json + - ./Microsoft.Sql/preview/2017-03-01-preview/jobs.json + - ./Microsoft.Sql/preview/2017-03-01-preview/longTermRetention.json + - ./Microsoft.Sql/preview/2017-03-01-preview/ManagedBackupShortTermRetention.json + - ./Microsoft.Sql/preview/2017-03-01-preview/managedDatabases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/ManagedRestorableDroppedDatabaseBackupShortTermRetenion.json + - ./Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json + - ./Microsoft.Sql/preview/2017-03-01-preview/restorableDroppedManagedDatabases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/restorePoints.json + - ./Microsoft.Sql/preview/2017-03-01-preview/serverAutomaticTuning.json + - ./Microsoft.Sql/preview/2017-03-01-preview/serverDnsAliases.json + - ./Microsoft.Sql/preview/2017-03-01-preview/serverSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2017-03-01-preview/ManagedDatabaseSecurityAlertPolicies.json + - ./Microsoft.Sql/preview/2017-03-01-preview/ManagedServerSecurityAlertPolicy.json + - ./Microsoft.Sql/preview/2017-03-01-preview/SensitivityLabels.json + - ./Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json + +``` + +### Tag: schema-sql-2015-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2015-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/preview/2015-05-01-preview/databaseAutomaticTuning.json + - Microsoft.Sql/preview/2015-05-01-preview/encryptionProtectors.json + - Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json + - Microsoft.Sql/preview/2015-05-01-preview/operations.json + - Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json + - Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json + - Microsoft.Sql/preview/2015-05-01-preview/usages.json + - Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json + - Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json + - Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json + - Microsoft.Sql/preview/2015-05-01-preview/servers.json + - Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json + - Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json + - Microsoft.Sql/preview/2015-05-01-preview/blobAuditing.json + - ./Microsoft.Sql/preview/2015-05-01-preview/advisors.json + - ./Microsoft.Sql/preview/2015-05-01-preview/blobAuditing.json + - ./Microsoft.Sql/preview/2015-05-01-preview/databaseAutomaticTuning.json + - ./Microsoft.Sql/preview/2015-05-01-preview/encryptionProtectors.json + - ./Microsoft.Sql/preview/2015-05-01-preview/failoverGroups.json + - ./Microsoft.Sql/preview/2015-05-01-preview/firewallRules.json + - ./Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json + - ./Microsoft.Sql/preview/2015-05-01-preview/operations.json + - ./Microsoft.Sql/preview/2015-05-01-preview/serverKeys.json + - ./Microsoft.Sql/preview/2015-05-01-preview/servers.json + - ./Microsoft.Sql/preview/2015-05-01-preview/syncAgents.json + - ./Microsoft.Sql/preview/2015-05-01-preview/syncGroups.json + - ./Microsoft.Sql/preview/2015-05-01-preview/syncMembers.json + - ./Microsoft.Sql/preview/2015-05-01-preview/usages.json + - ./Microsoft.Sql/preview/2015-05-01-preview/virtualclusters.json + - ./Microsoft.Sql/preview/2015-05-01-preview/virtualNetworkRules.json + +``` + +### Tag: schema-sql-2015-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2015-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/stable/2015-05-01/capabilities.json + +``` + +### Tag: schema-sql-2014-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-sql-2014-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Sql/stable/2014-04-01/backups.json + - Microsoft.Sql/stable/2014-04-01/connectionPolicies.json + - Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json + - Microsoft.Sql/stable/2014-04-01/dataMasking.json + - Microsoft.Sql/stable/2014-04-01/firewallRules.json + - Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json + - Microsoft.Sql/stable/2014-04-01/metrics.json + - Microsoft.Sql/stable/2014-04-01/recommendedElasticPoolsDecoupled.json + - Microsoft.Sql/stable/2014-04-01/replicationLinks.json + - Microsoft.Sql/stable/2014-04-01/serverCommunicationLinks.json + - Microsoft.Sql/stable/2014-04-01/serviceObjectives.json + - Microsoft.Sql/stable/2014-04-01/sql.core.json + - Microsoft.Sql/stable/2014-04-01/usages.json + - Microsoft.Sql/stable/2014-04-01/capabilities.json + - Microsoft.Sql/stable/2014-04-01/databases.json + - Microsoft.Sql/stable/2014-04-01/elasticPools.json + - Microsoft.Sql/stable/2014-04-01/importExport.json + - Microsoft.Sql/stable/2014-04-01/recommendedElasticPools.json + - Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json + - Microsoft.Sql/stable/2014-04-01/serverAzureADAdministrators.json + - Microsoft.Sql/stable/2014-04-01/restorePoints.json + - ./Microsoft.Sql/stable/2014-04-01/advisors.json + - ./Microsoft.Sql/stable/2014-04-01/backups.json + - ./Microsoft.Sql/stable/2014-04-01/capabilities.json + - ./Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json + - ./Microsoft.Sql/stable/2014-04-01/connectionPolicies.json + - ./Microsoft.Sql/stable/2014-04-01/databases.json + - ./Microsoft.Sql/stable/2014-04-01/databaseSecurityAlertPolicies.json + - ./Microsoft.Sql/stable/2014-04-01/dataMasking.json + - ./Microsoft.Sql/stable/2014-04-01/deprecated.json + - ./Microsoft.Sql/stable/2014-04-01/disasterRecoveryConfigurations.json + - ./Microsoft.Sql/stable/2014-04-01/elasticPools.json + - ./Microsoft.Sql/stable/2014-04-01/firewallRules.json + - ./Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json + - ./Microsoft.Sql/stable/2014-04-01/importExport.json + - ./Microsoft.Sql/stable/2014-04-01/metrics.json + - ./Microsoft.Sql/stable/2014-04-01/operations.json + - ./Microsoft.Sql/stable/2014-04-01/queries.json + - ./Microsoft.Sql/stable/2014-04-01/recommendedElasticPools.json + - ./Microsoft.Sql/stable/2014-04-01/replicationLinks.json + - ./Microsoft.Sql/stable/2014-04-01/restorePoints.json + - ./Microsoft.Sql/stable/2014-04-01/serverAzureADAdministrators.json + - ./Microsoft.Sql/stable/2014-04-01/serverCommunicationLinks.json + - ./Microsoft.Sql/stable/2014-04-01/servers.json + - ./Microsoft.Sql/stable/2014-04-01/serviceObjectives.json + - ./Microsoft.Sql/stable/2014-04-01/sql.core.json + - ./Microsoft.Sql/stable/2014-04-01/tableAuditing.json + - ./Microsoft.Sql/stable/2014-04-01/usages.json + +``` diff --git a/specification/sql/resource-manager/readme.md b/specification/sql/resource-manager/readme.md index b67d56d4dc40..18b8eaecc55b 100644 --- a/specification/sql/resource-manager/readme.md +++ b/specification/sql/resource-manager/readme.md @@ -57,8 +57,6 @@ Differences in v3 (compared to v2): * `+2017-10-01-preview/capabilities.json` - * `+2017-10-01-preview/databases.json` - * `+2017-10-01-preview/elasticPools.json` * `+2018-06-01-preview/capabilities.json` @@ -71,7 +69,6 @@ input-file: - Microsoft.Sql/stable/2014-04-01/dataMasking.json - Microsoft.Sql/stable/2014-04-01/firewallRules.json - Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json -- Microsoft.Sql/stable/2014-04-01/importExport.json - Microsoft.Sql/stable/2014-04-01/metrics.json - Microsoft.Sql/stable/2014-04-01/recommendedElasticPoolsDecoupled.json - Microsoft.Sql/stable/2014-04-01/replicationLinks.json @@ -106,14 +103,12 @@ input-file: - Microsoft.Sql/preview/2017-03-01-preview/managedInstanceAdministrators.json - Microsoft.Sql/preview/2017-10-01-preview/cancelOperations.json - Microsoft.Sql/preview/2017-10-01-preview/cancelPoolOperations.json -- Microsoft.Sql/preview/2017-10-01-preview/databases.json - Microsoft.Sql/preview/2017-10-01-preview/elasticPools.json - Microsoft.Sql/preview/2017-10-01-preview/databaseVulnerabilityAssessmentScans.json - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssesmentRuleBaselines.json - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json - Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json - Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json -- Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json - Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json - Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json - Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json @@ -124,22 +119,28 @@ input-file: - Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json - Microsoft.Sql/preview/2018-06-01-preview/instancePools.json - Microsoft.Sql/preview/2018-06-01-preview/usages.json -- Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json -- Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json - Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json - Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json - Microsoft.Sql/preview/2018-06-01-preview/PrivateLinkResources.json +- Microsoft.Sql/preview/2019-06-01-preview/databases.json - Microsoft.Sql/preview/2019-06-01-preview/servers.json - Microsoft.Sql/preview/2018-06-01-preview/capabilities.json - Microsoft.Sql/preview/2018-06-01-preview/LongTermRetentionManagedInstanceBackups.json - Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json - Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json - Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json -- Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json -- Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json +- Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json - Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json +- Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json +- Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json +- Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json +- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json +- Microsoft.Sql/preview/2020-02-02-preview/importexport.json +- Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json + # Needed when there is more than one input file override-info: @@ -227,7 +228,6 @@ input-file: - Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json - Microsoft.Sql/preview/2018-06-01-preview/instancePools.json - Microsoft.Sql/preview/2018-06-01-preview/usages.json -- Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json - Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json - Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json - Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json @@ -237,10 +237,14 @@ input-file: - Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json - Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json - Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json -- Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json - Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json - Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json +- Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json +- Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json +- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json +- Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json # Needed when there is more than one input file override-info: @@ -317,7 +321,6 @@ input-file: - Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json - Microsoft.Sql/preview/2018-06-01-preview/instancePools.json - Microsoft.Sql/preview/2018-06-01-preview/usages.json -- Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json - Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json - Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json - Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json @@ -327,10 +330,14 @@ input-file: - Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json - Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json - Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json -- Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json - Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json - Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json +- Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json +- Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json +- Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json +- Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json # Needed when there is more than one input file override-info: @@ -475,6 +482,33 @@ override-info: The following packages are each composed of all apis from only one api-version. +### Tag: package-pure-2020-02-preview + +These settings apply only when `--tag=package-pure-2020-02-preview` is specified on the command line. + +This section contains all input swagger files for version 2020-02-02-preview. All APIs of that version must be added this section when the API is ready for production. + +APIs must only be added to this section when the API is publicly available in at least 1 production region and at least 1 generated client has been tested end-to-end. + +These can be regenerated by running the following PowerShell script from this readme file's folder: `dir .\Microsoft.Sql\preview\2020-02-02-preview\ -File | Resolve-Path -Relative | % { " - $_".Replace("\", "/") }` + +``` yaml $(tag) == 'package-pure-2020-02-preview' +input-file: +- ./Microsoft.Sql/preview/2020-02-02-preview/DatabaseSecurityAlertPolicies.json +- ./Microsoft.Sql/preview/2020-02-02-preview/ManagedServerSecurityAlertPolicies.json +- ./Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json +- ./Microsoft.Sql/preview/2020-02-02-preview/operations.json +- ./Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json +- ./Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json +- ./Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json +- Microsoft.Sql/preview/2020-02-02-preview/importexport.json +- ./Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json + +# Needed when there is more than one input file +override-info: + title: SqlManagementClient + ``` + ### Tag: package-pure-2019-06-preview These settings apply only when `--tag=package-pure-2019-06-preview` is specified on the command line. @@ -497,11 +531,12 @@ input-file: - ./Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - ./Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json - ./Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json + - ./Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json # Needed when there is more than one input file override-info: title: SqlManagementClient - ``` +``` ### Tag: package-pure-2018-06-preview @@ -717,6 +752,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_sql'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js sql/resource-manager ``` ### C# @@ -783,6 +821,10 @@ directive: reason: This warning gives many positives for existing APIs that cannot be changed. ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -801,7 +843,6 @@ input-file: - $(this-folder)/Microsoft.Sql/stable/2014-04-01/dataMasking.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/firewallRules.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/geoBackupPolicies.json - - $(this-folder)/Microsoft.Sql/stable/2014-04-01/importExport.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/metrics.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/recommendedElasticPoolsDecoupled.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/replicationLinks.json @@ -843,7 +884,6 @@ input-file: - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessmentScans.json - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/managedDatabaseVulnerabilityAssessments.json - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/instanceFailoverGroups.json - - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/TdeCertificates.json - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceTdeCertificates.json - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/ManagedInstanceKeys.json @@ -854,7 +894,6 @@ input-file: - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/instancePools.json - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/usages.json - - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/managedInstances.json - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/FailoverDatabases.json - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/FailoverElasticPools.json - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/PrivateEndpointConnections.json @@ -865,16 +904,24 @@ input-file: - $(this-folder)/Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceLongTermRetentionPolicies.json - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/WorkloadGroups.json - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/WorkloadClassifiers.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json - - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/managedInstanceOperations.json + - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json + - $(this-folder)/Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json + - $(this-folder)/Microsoft.Sql/preview/2020-02-02-preview/shortTermRetentionPolicies.json + - $(this-folder)/Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json + - $(this-folder)/Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json + - $(this-folder)/Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json + - $(this-folder)/Microsoft.Sql/preview/2020-02-02-preview/importexport.json + - $(this-folder)/Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/capabilities.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/databases.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/elasticPools.json + - $(this-folder)/Microsoft.Sql/stable/2014-04-01/importExport.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/recommendedElasticPools.json - $(this-folder)/Microsoft.Sql/preview/2017-03-01-preview/renameDatabase.json + - $(this-folder)/Microsoft.Sql/preview/2017-10-01-preview/shortTermRetentionPolicies.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/checkNameAvailability.json - $(this-folder)/Microsoft.Sql/stable/2014-04-01/serverAzureADAdministrators.json - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/managedInstances.json @@ -887,6 +934,14 @@ input-file: - $(this-folder)/Microsoft.Sql/stable/2014-04-01/restorePoints.json - $(this-folder)/Microsoft.Sql/stable/2015-05-01/capabilities.json - $(this-folder)/Microsoft.Sql/preview/2015-05-01-preview/blobAuditing.json + - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/DatabaseSecurityAlertPolicies.json + - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/ManagedServerSecurityAlertPolicies.json + - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/ServerSecurityAlertPolicies.json + - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/operations.json + - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/managedDatabases.json + - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/managedInstances.json + - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/ServerAzureADOnlyAuthentications.json + - $(this-folder)/./Microsoft.Sql/preview/2020-02-02-preview/ManagedInstanceAzureADOnlyAuthentications.json - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/databases.json - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/managedDatabases.json - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/serverOperations.json @@ -897,6 +952,7 @@ input-file: - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/ServerAzureADAdministrators.json - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/syncGroups.json - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/syncMembers.json + - $(this-folder)/./Microsoft.Sql/preview/2019-06-01-preview/FailoverManagedInstance.json - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/DatabaseSecurityAlertPolicies.json - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/managedDatabaseSensitivityLabels.json - $(this-folder)/./Microsoft.Sql/preview/2018-06-01-preview/ManagedInstanceVulnerabilityAssessments.json diff --git a/specification/sqlvirtualmachine/resource-manager/readme.azureresourceschema.md b/specification/sqlvirtualmachine/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0d9c79d76850 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-sqlvirtualmachine-2017-03-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-sqlvirtualmachine-2017-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-sqlvirtualmachine-2017-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.SqlVirtualMachine/preview/2017-03-01-preview/sqlvm.json + +``` diff --git a/specification/sqlvirtualmachine/resource-manager/readme.md b/specification/sqlvirtualmachine/resource-manager/readme.md index 57a9d7a5d7c9..9781c1145ebb 100644 --- a/specification/sqlvirtualmachine/resource-manager/readme.md +++ b/specification/sqlvirtualmachine/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-go - repo: azure-sdk-for-java + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js sqlvirtualmachine/resource-manager ``` @@ -111,6 +114,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/storSimple1200Series/resource-manager/readme.azureresourceschema.md b/specification/storSimple1200Series/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..bb72935f7dd8 --- /dev/null +++ b/specification/storSimple1200Series/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-storsimple-2016-10-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storsimple-2016-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storsimple-2016-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorSimple/stable/2016-10-01/StorSimple.json + +``` diff --git a/specification/storSimple1200Series/resource-manager/readme.md b/specification/storSimple1200Series/resource-manager/readme.md index 07c8c2d103b9..29f85866a59d 100644 --- a/specification/storSimple1200Series/resource-manager/readme.md +++ b/specification/storSimple1200Series/resource-manager/readme.md @@ -61,6 +61,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_stor_simple1200_series'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storSimple1200Series/resource-manager ``` @@ -97,6 +100,10 @@ java: output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-storsimple1200series ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/examples/StorageAccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/examples/StorageAccountCreate.json index 716fd1ae6ced..d3930f349262 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/examples/StorageAccountCreate.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/examples/StorageAccountCreate.json @@ -11,7 +11,9 @@ "kind": "Storage", "location": "eastus2euap", "properties": { - "isHnsEnabled": true + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2" }, "tags": { "key1": "value1", @@ -28,6 +30,8 @@ "name": "sto4445", "properties": { "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", "creationTime": "2017-05-24T13:25:33.4863236Z", "primaryEndpoints": { "web": "https://sto4445.web.core.windows.net/", diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/examples/StorageAccountUpdate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/examples/StorageAccountUpdate.json index 35fa48432ba7..9b5ed0641d32 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/examples/StorageAccountUpdate.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/examples/StorageAccountUpdate.json @@ -7,6 +7,8 @@ "monitor": "true", "parameters": { "properties": { + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", "networkAcls": { "defaultAction": "Allow" }, @@ -33,6 +35,8 @@ "name": "sto8596", "properties": { "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", "creationTime": "2017-06-01T02:42:41.7633306Z", "networkAcls": { "bypass": "AzureServices", diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/storage.json index 8ce581604c9e..e1cf321fdfa3 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/storage.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-04-01/storage.json @@ -1451,6 +1451,24 @@ "modelAsString": true }, "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." } }, "description": "The parameters used to create the storage account." @@ -1738,6 +1756,24 @@ "modelAsString": true }, "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." } }, "description": "Properties of the storage account." @@ -1900,6 +1936,24 @@ "modelAsString": true }, "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." } }, "description": "The parameters used when updating a storage account." diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json index 57ebabb6a0b9..e106d40a0f5c 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/blob.json @@ -607,7 +607,7 @@ "$ref": "./examples/BlobContainersDeleteImmutabilityPolicy.json" } }, - "description": "Aborts an unlocked immutability policy. The response of delete has immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this operation. Deleting a locked immutability policy is not allowed, only way is to delete the container after deleting all blobs inside the container.", + "description": "Aborts an unlocked immutability policy. The response of delete has immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this operation. Deleting a locked immutability policy is not allowed, the only way is to delete the container after deleting all expired blobs inside the policy locked container.", "parameters": [ { "$ref": "./storage.json#/parameters/ResourceGroupName" @@ -1260,7 +1260,13 @@ "type": "string", "format": "date-time", "readOnly": true, - "description": "Returns the date and time the restore policy was last enabled." + "description": "Deprecated in favor of minRestoreTime property." + }, + "minRestoreTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the minimum date and time that the restore can be started." } }, "required": [ diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json index 13f6c5388b0b..0151d8284d76 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountCreate.json @@ -12,6 +12,8 @@ "location": "eastus", "properties": { "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", "routingPreference": { "routingChoice": "MicrosoftRouting", "publishMicrosoftEndpoints": true, @@ -47,6 +49,8 @@ "name": "sto4445", "properties": { "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", "creationTime": "2017-05-24T13:25:33.4863236Z", "primaryEndpoints": { "web": "https://sto4445.web.core.windows.net/", diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountUpdate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountUpdate.json index 2a64ed59b064..46b35b050ae5 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountUpdate.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/examples/StorageAccountUpdate.json @@ -7,6 +7,8 @@ "monitor": "true", "parameters": { "properties": { + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", "networkAcls": { "defaultAction": "Allow" }, @@ -40,6 +42,8 @@ "name": "sto8596", "properties": { "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", "creationTime": "2017-06-01T02:42:41.7633306Z", "networkAcls": { "bypass": "AzureServices", diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/privatelinks.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/privatelinks.json new file mode 100644 index 000000000000..5997c5274600 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/privatelinks.json @@ -0,0 +1,174 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.0", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "actionRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + } + }, + "parameters": { + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the Azure resource", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json index 9416555d58d2..8ec6e6bdd1db 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2019-06-01/storage.json @@ -845,7 +845,7 @@ "200": { "description": "OK -- Successfully retrieved private endpoint connections.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnectionListResult" } } }, @@ -887,7 +887,7 @@ "200": { "description": "OK -- Get the private endpoint connection properties successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" } }, "default": { @@ -930,7 +930,7 @@ "in": "body", "required": true, "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" }, "description": "The private endpoint connection properties." } @@ -939,7 +939,7 @@ "200": { "description": "OK -- Update the private endpoint connection properties successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" } }, "default": { @@ -1024,7 +1024,7 @@ "200": { "description": "Successfully retrieved private link resources.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + "$ref": "./privatelinks.json#/definitions/PrivateLinkResourceListResult" } } } @@ -2131,6 +2131,24 @@ "$ref": "#/definitions/RoutingPreference", "x-ms-client-name": "RoutingPreference", "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." } }, "description": "The parameters used to create the storage account." @@ -2552,7 +2570,7 @@ "readOnly": true, "type": "array", "items": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" }, "description": "List of private endpoint connection associated with the specified storage account" }, @@ -2566,6 +2584,24 @@ "x-ms-client-name": "BlobRestoreStatus", "description": "Blob restore status", "readOnly": true + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." } }, "description": "Properties of the storage account." @@ -2733,6 +2769,24 @@ "$ref": "#/definitions/RoutingPreference", "x-ms-client-name": "RoutingPreference", "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." } }, "description": "The parameters used when updating a storage account." diff --git a/specification/storage/resource-manager/readme.azureresourceschema.md b/specification/storage/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..4ecf6047074d --- /dev/null +++ b/specification/storage/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,179 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-storage-2019-06-01 + - tag: schema-storage-2019-04-01 + - tag: schema-storage-2018-11-01 + - tag: schema-storage-2018-07-01 + - tag: schema-storage-2018-03-01-preview + - tag: schema-storage-2018-02-01 + - tag: schema-storage-2017-10-01 + - tag: schema-storage-2017-06-01 + - tag: schema-storage-2016-12-01 + - tag: schema-storage-2016-05-01 + - tag: schema-storage-2016-01-01 + - tag: schema-storage-2015-06-15 + - tag: schema-storage-2015-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storage-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2019-06-01/storage.json + - Microsoft.Storage/stable/2019-06-01/blob.json + - Microsoft.Storage/stable/2019-06-01/file.json + - Microsoft.Storage/stable/2019-06-01/queue.json + - Microsoft.Storage/stable/2019-06-01/table.json + +``` + +### Tag: schema-storage-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2019-04-01/storage.json + - Microsoft.Storage/stable/2019-04-01/blob.json + - Microsoft.Storage/stable/2019-04-01/file.json + +``` + +### Tag: schema-storage-2018-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2018-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2018-11-01/storage.json + - Microsoft.Storage/stable/2018-11-01/blob.json + +``` + +### Tag: schema-storage-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2018-07-01/storage.json + - Microsoft.Storage/stable/2018-07-01/blob.json + +``` + +### Tag: schema-storage-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/preview/2018-03-01-preview/managementpolicy.json + - Microsoft.Storage/preview/2018-03-01-preview/storage.json + - Microsoft.Storage/preview/2018-03-01-preview/blob.json + +``` + +### Tag: schema-storage-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2018-02-01/storage.json + - Microsoft.Storage/stable/2018-02-01/blob.json + +``` + +### Tag: schema-storage-2017-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2017-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2017-10-01/storage.json + +``` + +### Tag: schema-storage-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2017-06-01/storage.json + +``` + +### Tag: schema-storage-2016-12-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2016-12-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2016-12-01/storage.json + +``` + +### Tag: schema-storage-2016-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2016-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2016-05-01/storage.json + +``` + +### Tag: schema-storage-2016-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2016-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2016-01-01/storage.json + +``` + +### Tag: schema-storage-2015-06-15 and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2015-06-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/stable/2015-06-15/storage.json + +``` + +### Tag: schema-storage-2015-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storage-2015-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Storage/preview/2015-05-01-preview/storage.json + +``` diff --git a/specification/storage/resource-manager/readme.md b/specification/storage/resource-manager/readme.md index 2e22b135e433..b7b79eeb155a 100644 --- a/specification/storage/resource-manager/readme.md +++ b/specification/storage/resource-manager/readme.md @@ -279,12 +279,19 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_storage'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storage/resource-manager ``` ## Java See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/storagecache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/storagecache.json index 30bed164d751..c4d62942bf76 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/storagecache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/storagecache.json @@ -266,7 +266,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" }, @@ -325,7 +325,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" }, @@ -386,7 +386,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" }, @@ -456,7 +456,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" }, @@ -518,7 +518,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" } @@ -579,7 +579,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" } @@ -640,7 +640,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" } @@ -701,7 +701,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" } @@ -758,7 +758,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" }, @@ -825,7 +825,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" }, @@ -888,7 +888,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" }, @@ -965,7 +965,7 @@ "description": "Name of Cache.", "in": "path", "name": "cacheName", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "required": true, "type": "string" } @@ -1306,7 +1306,7 @@ }, "ResourceName": { "description": "Schema for the name of resources served by this provider. Note that objects will contain an odata @id annotation as appropriate. This will contain the complete URL of the object. These names are case-preserving, but not case sensitive.", - "pattern": "^[-0-9a-zA-Z_]{1,31}$", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", "type": "string" }, "ResourceSku": { diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/storagecache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/storagecache.json index 2e1cdcb3872d..2be59318b6b7 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/storagecache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/storagecache.json @@ -586,7 +586,7 @@ "schema": {} }, "204": { - "description": "Cache flushed.", + "description": "Cache flush already in progress or has completed.", "schema": {} }, "default": { @@ -1486,18 +1486,15 @@ "allOf": [ { "$ref": "#/definitions/StorageTargetResource" - }, - { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "description": "StorageTarget properties", - "$ref": "#/definitions/StorageTargetProperties" - } - } } - ] + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "StorageTarget properties", + "$ref": "#/definitions/StorageTargetProperties" + } + } }, "StorageTargetResource": { "description": "Resource used by a Cache.", @@ -1523,12 +1520,11 @@ "StorageTargetProperties": { "type": "object", "description": "Properties of the Storage Target.", - "discriminator": "targetBaseType", + "discriminator": "targetType", + "required": [ + "targetType" + ], "properties": { - "targetBaseType": { - "description": "Type of the Storage Target.", - "$ref": "#/definitions/StorageTargetType" - }, "junctions": { "description": "List of Cache namespace junctions to target for namespace associations.", "type": "array", @@ -1538,6 +1534,15 @@ }, "targetType": { "description": "Type of the Storage Target.", + "enum": [ + "nfs3", + "clfs", + "unknown" + ], + "x-ms-enum": { + "name": "StorageTargetType", + "modelAsString": true + }, "type": "string" }, "provisioningState": { @@ -1568,22 +1573,6 @@ "description": "Properties when targetType is unknown.", "$ref": "#/definitions/UnknownTarget" } - }, - "required": [ - "targetBaseType" - ] - }, - "StorageTargetType": { - "type": "string", - "description": "Type of the Storage Target.", - "enum": [ - "nfs3", - "clfs", - "unknown" - ], - "x-ms-enum": { - "name": "StorageTargetType", - "modelAsString": true } }, "Nfs3TargetProperties": { diff --git a/specification/storagecache/resource-manager/readme.azureresourceschema.md b/specification/storagecache/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c394c65e7d10 --- /dev/null +++ b/specification/storagecache/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,48 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-storagecache-2020-03-01 + - tag: schema-storagecache-2019-11-01 + - tag: schema-storagecache-2019-08-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storagecache-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagecache-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageCache/stable/2020-03-01/storagecache.json + +``` + +### Tag: schema-storagecache-2019-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagecache-2019-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageCache/stable/2019-11-01/storagecache.json + +``` + +### Tag: schema-storagecache-2019-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storagecache-2019-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageCache/preview/2019-08-01-preview/storagecache.json + +``` diff --git a/specification/storagecache/resource-manager/readme.md b/specification/storagecache/resource-manager/readme.md index e6fe45a52294..58658d33c0c5 100644 --- a/specification/storagecache/resource-manager/readme.md +++ b/specification/storagecache/resource-manager/readme.md @@ -72,6 +72,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_storagecache'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storagecache/resource-manager ``` ## Python @@ -99,6 +102,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.ruby.md](./readme.ruby.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/CreateExportJob.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/CreateExportJob.json new file mode 100644 index 000000000000..45993841892d --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/CreateExportJob.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "jobName": "myExportJob", + "body": { + "location": "West US", + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Export", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "export": { + "blobList": { + "blobPathPrefix": [ + "/" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Export", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 0000 0000", + "additionalInformation": "" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Creating", + "export": { + "blobList": { + "blobPathPrefix": [ + "/" + ] + } + }, + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/myExportJob", + "name": "myExportJob", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + }, + "201": { + "body": { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Export", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 0000 0000", + "additionalInformation": "" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Creating", + "export": { + "blobList": { + "blobPathPrefix": [ + "/" + ] + } + }, + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/myExportJob", + "name": "myExportJob", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/CreateJob.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/CreateJob.json new file mode 100644 index 000000000000..51c70223bd5b --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/CreateJob.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "jobName": "myJob", + "body": { + "location": "West US", + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Import", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "driveList": [ + { + "driveId": "9CA995BB", + "bitLockerKey": "238810-662376-448998-450120-652806-203390-606320-483076", + "manifestFile": "\\8a0c23f7-14b7-470a-9633-fcd46590a1bc.manifest", + "manifestHash": "4228EC5D8E048CB9B515338C789314BE8D0B2FDBC7C7A0308E1C826242CDE74E", + "driveHeaderHash": "0:1048576:FB6B6ED500D49DA6E0D723C98D42C657F2881CC13357C28DCECA6A524F1292501571A321238540E621AB5BD9C9A32637615919A75593E6CB5C1515DAE341CABF;135266304:143360:C957A189AFC38C4E80731252301EB91427CE55E61448FA3C73C6FDDE70ABBC197947EC8D0249A2C639BB10B95957D5820A4BE8DFBBF76FFFA688AE5CE0D42EC3" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Import", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 0000 0000", + "additionalInformation": "" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Creating", + "driveList": [ + { + "driveId": "9CA995BB", + "manifestFile": "\\8a0c23f7-14b7-470a-9633-fcd46590a1bc.manifest", + "manifestHash": "4228EC5D8E048CB9B515338C789314BE8D0B2FDBC7C7A0308E1C826242CDE74E", + "driveHeaderHash": "0:1048576:FB6B6ED500D49DA6E0D723C98D42C657F2881CC13357C28DCECA6A524F1292501571A321238540E621AB5BD9C9A32637615919A75593E6CB5C1515DAE341CABF;135266304:143360:C957A189AFC38C4E80731252301EB91427CE55E61448FA3C73C6FDDE70ABBC197947EC8D0249A2C639BB10B95957D5820A4BE8DFBBF76FFFA688AE5CE0D42EC3", + "state": "Specified" + } + ], + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/myJob", + "name": "myJob", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + }, + "201": { + "body": { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Import", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 0000 0000", + "additionalInformation": "" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Creating", + "driveList": [ + { + "driveId": "9CA995BB", + "manifestFile": "\\8a0c23f7-14b7-470a-9633-fcd46590a1bc.manifest", + "manifestHash": "4228EC5D8E048CB9B515338C789314BE8D0B2FDBC7C7A0308E1C826242CDE74E", + "driveHeaderHash": "0:1048576:FB6B6ED500D49DA6E0D723C98D42C657F2881CC13357C28DCECA6A524F1292501571A321238540E621AB5BD9C9A32637615919A75593E6CB5C1515DAE341CABF;135266304:143360:C957A189AFC38C4E80731252301EB91427CE55E61448FA3C73C6FDDE70ABBC197947EC8D0249A2C639BB10B95957D5820A4BE8DFBBF76FFFA688AE5CE0D42EC3", + "state": "Specified" + } + ], + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/myJob", + "name": "myJob", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/DeleteJob.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/DeleteJob.json new file mode 100644 index 000000000000..d69a85e6b1f6 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/DeleteJob.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "jobName": "myJob" + }, + "responses": { + "200": {} + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetExportJob.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetExportJob.json new file mode 100644 index 000000000000..5325f74af9c1 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetExportJob.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "jobName": "myJob" + }, + "responses": { + "200": { + "body": { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Export", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 0000 0000", + "additionalInformation": "" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Creating", + "driveList": [], + "export": { + "blobList": { + "blobPathPrefix": [ + "/" + ] + } + }, + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/test", + "name": "myJob", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetJob.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetJob.json new file mode 100644 index 000000000000..3cce5366748c --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetJob.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "jobName": "myJob" + }, + "responses": { + "200": { + "body": { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Import", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 0000 0000", + "additionalInformation": "" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Creating", + "driveList": [ + { + "driveId": "9CA995BB", + "manifestFile": "\\DriveManifest.xml", + "manifestHash": "109B21108597EF36D5785F08303F3638", + "driveHeaderHash": "", + "state": "Specified" + } + ], + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/test", + "name": "myJob", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetLocation.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetLocation.json new file mode 100644 index 000000000000..bc47468af2d1 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/GetLocation.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "locationName": "West US" + }, + "responses": { + "200": { + "body": { + "properties": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 352 7600", + "supportedCarriers": [ + "FedEx" + ], + "alternateLocations": [ + "/providers/Microsoft.ImportExport/locations/westus" + ] + }, + "id": "/providers/Microsoft.ImportExport/locations/westus", + "name": "West US", + "type": "Microsoft.ImportExport/locations" + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListBitLockerKeys.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListBitLockerKeys.json new file mode 100644 index 000000000000..3b3e8b3ff686 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListBitLockerKeys.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "jobName": "myJob" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "driveId": "9CA995BB", + "bitLockerKey": "000000-000000-111111-222222-333333-444444-555555-666666" + } + ] + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListJobsInResourceGroup.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListJobsInResourceGroup.json new file mode 100644 index 000000000000..ceb96820992a --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListJobsInResourceGroup.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/xtprodtestwu", + "jobType": "Import", + "returnAddress": { + "recipientName": "La", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 352 7600", + "additionalInformation": "" + }, + "deliveryPackage": { + "carrierName": "FedEx", + "trackingNumber": "787895108176", + "driveCount": 1, + "shipDate": "9/29/2017 10:28:35 PM" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Received", + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/test-by1-ssd-2", + "name": "test-by1-ssd-2", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListJobsInSubscription.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListJobsInSubscription.json new file mode 100644 index 000000000000..eacade5d32d9 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListJobsInSubscription.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/xtprodtestarmos2", + "jobType": "Import", + "returnAddress": { + "recipientName": "La", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "city", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "425000000", + "email": "test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Windows Azure Import Export Service", + "streetAddress1": "Boydton 1 / BLDG # 1 101 Herbert Drive", + "streetAddress2": "", + "city": "Boydton", + "stateOrProvince": "VA", + "postalCode": "23917", + "countryOrRegion": "USA", + "phone": "+1-434-738-9443", + "additionalInformation": "" + }, + "deliveryPackage": { + "carrierName": "FedEx", + "trackingNumber": "992016102507", + "driveCount": 1, + "shipDate": "8/11/2017 9:05:00 PM" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Received", + "driveList": [ + { + "driveId": "7PHR882C", + "manifestFile": "\\DriveManifest.xml", + "manifestHash": "E5D632DB047C74B3B17C8F3359950ADB", + "state": "Received" + } + ], + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testrg/providers/Microsoft.ImportExport/jobs/test-bn1-import-cpu100-01", + "name": "test-bn1-import-cpu100-01", + "type": "Microsoft.ImportExport/jobs", + "location": "East US 2" + }, + { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/xtprodtestarmos2", + "jobType": "Import", + "returnAddress": { + "recipientName": "La", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "city", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4256150991", + "email": "test@contoso.com" + }, + "shippingInformation": { + "recipientName": "Windows Azure Import Export Service", + "streetAddress1": "Boydton 1 / BLDG # 1 101 Herbert Drive", + "streetAddress2": "", + "city": "Boydton", + "stateOrProvince": "VA", + "postalCode": "23917", + "countryOrRegion": "USA", + "phone": "+1-434-738-9443", + "additionalInformation": "" + }, + "deliveryPackage": { + "carrierName": "FedEx", + "trackingNumber": "992016102508", + "driveCount": 1, + "shipDate": "8/13/2017 7:32:23 PM" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Transferring", + "percentComplete": 6, + "driveList": [ + { + "driveId": "KV6H86XP", + "manifestFile": "\\DriveManifest.xml", + "manifestHash": "F6A488A65AF0CCA7D050B7F9F43A197C", + "state": "CompletedMoreInfo", + "copyStatus": "InProgress", + "verboseLogUri": "https://foo.blob.core.windows.net/waimportexport/waies/test-bn1-import-cpu100-02_KV6H86XP_20170813-194618-350_verbose.xml", + "errorLogUri": "https://foo.blob.core.windows.net/waimportexport/waies/test-bn1-import-cpu100-02_KV6H86XP_20170813-194620-021_error.xml", + "manifestUri": "https://foo.blob.core.windows.net/waimportexport/waies/test-bn1-import-cpu100-02_KV6H86XP_20170813-194620-574_manifest.xml" + } + ], + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testrg/providers/Microsoft.ImportExport/jobs/test-bn1-import-cpu100-02", + "name": "test-bn1-import-cpu100-02", + "type": "Microsoft.ImportExport/jobs", + "location": "East US 2" + } + ] + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListLocations.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListLocations.json new file mode 100644 index 000000000000..ac29583c03b1 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListLocations.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "recipientName": "Windows Azure Import/Export Service", + "streetAddress1": "Customer-A c/o NEXTDC Ltd, Delivery code ABCDEFG, 4 Eden Park Drive", + "streetAddress2": "", + "city": "Macquarie Park", + "stateOrProvince": "NSW", + "postalCode": "2113", + "countryOrRegion": "Australia", + "phone": "612 0000 0000", + "supportedCarriers": [ + "DHL" + ], + "alternateLocations": [ + "/providers/Microsoft.ImportExport/locations/australiaeast" + ] + }, + "id": "/providers/Microsoft.ImportExport/locations/australiaeast", + "name": "Australia East", + "type": "Microsoft.ImportExport/locations" + }, + { + "properties": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "Microsoft, c/o NEXTDC Ltd, Delivery code ABCDEFG, 826-830 Lorimer St, Port", + "streetAddress2": "", + "city": "Melbourne", + "stateOrProvince": "Melbourne", + "postalCode": "3207", + "countryOrRegion": "Australia", + "phone": "61 0 0000 0000", + "supportedCarriers": [ + "DHL" + ], + "alternateLocations": [ + "/providers/Microsoft.ImportExport/locations/australiasoutheast" + ] + }, + "id": "/providers/Microsoft.ImportExport/locations/australiasoutheast", + "name": "Australia Southeast", + "type": "Microsoft.ImportExport/locations" + } + ] + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListOperations.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListOperations.json new file mode 100644 index 000000000000..002904d9a2f6 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/ListOperations.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ImportExport/locations/read", + "display": { + "provider": "Microsoft Import/Export", + "resource": "Locations", + "operation": "Get or List Locations", + "description": "Gets the properties for the specified location or returns the list of locations." + } + }, + { + "name": "Microsoft.ImportExport/jobs/write", + "display": { + "provider": "Microsoft Import/Export", + "resource": "Jobs", + "operation": "Create or Update Job", + "description": "Creates a job with the specified parameters or update the properties or tags for the specified job." + } + }, + { + "name": "Microsoft.ImportExport/jobs/read", + "display": { + "provider": "Microsoft Import/Export", + "resource": "Jobs", + "operation": "Get or List Jobs", + "description": "Gets the properties for the specified job or returns the list of jobs." + } + }, + { + "name": "Microsoft.ImportExport/jobs/listBitLockerKeys/action", + "display": { + "provider": "Microsoft Import/Export", + "resource": "Jobs", + "operation": "List BitLocker Keys", + "description": "Gets the BitLocker keys for the specified job." + } + }, + { + "name": "Microsoft.ImportExport/jobs/delete", + "display": { + "provider": "Microsoft Import/Export", + "resource": "Jobs", + "operation": "Delete Job", + "description": "Deletes an existing job." + } + }, + { + "name": "Microsoft.ImportExport/register/action", + "display": { + "provider": "Microsoft Import/Export", + "resource": "Import/Export Resource Provider", + "operation": "Registers the Import/Export Resource Provider", + "description": "Registers the subscription for the import/export resource provider and enables the creation of import/export jobs." + } + } + ] + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/UpdateExportJob.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/UpdateExportJob.json new file mode 100644 index 000000000000..54cddee5bc00 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/UpdateExportJob.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "jobName": "myExportJob", + "body": { + "properties": { + "state": "", + "logLevel": "Verbose", + "backupDriveManifest": true + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Export", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 352 7600", + "additionalInformation": "" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Creating", + "export": { + "blobList": { + "blobPathPrefix": [ + "/" + ] + } + }, + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/myExportJob", + "name": "myExportJob", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/UpdateJob.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/UpdateJob.json new file mode 100644 index 000000000000..df0e42281026 --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/examples/UpdateJob.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-08-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "jobName": "myJob", + "body": { + "properties": { + "state": "", + "logLevel": "Verbose", + "backupDriveManifest": true + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "storageAccountId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ClassicStorage/storageAccounts/test", + "jobType": "Import", + "returnAddress": { + "recipientName": "Test", + "streetAddress1": "Street1", + "streetAddress2": "street2", + "city": "Redmond", + "stateOrProvince": "wa", + "postalCode": "98007", + "countryOrRegion": "USA", + "phone": "4250000000", + "email": "Test@contoso.com" + }, + "returnShipping": { + "carrierName": "FedEx", + "carrierAccountNumber": "989ffff" + }, + "shippingInformation": { + "recipientName": "Microsoft Azure Import/Export Service", + "streetAddress1": "2045 Lafayette Street", + "streetAddress2": "", + "city": "Santa Clara", + "stateOrProvince": "CA", + "postalCode": "95050", + "countryOrRegion": "USA", + "phone": "408 352 7600", + "additionalInformation": "" + }, + "diagnosticsPath": "waimportexport", + "logLevel": "Verbose", + "backupDriveManifest": true, + "cancelRequested": false, + "state": "Creating", + "driveList": [ + { + "driveId": "9CA995BB", + "manifestFile": "\\8a0c23f7-14b7-470a-9633-fcd46590a1bc.manifest", + "manifestHash": "4228EC5D8E048CB9B515338C789314BE8D0B2FDBC7C7A0308E1C826242CDE74E", + "driveHeaderHash": "0:1048576:FB6B6ED500D49DA6E0D723C98D42C657F2881CC13357C28DCECA6A524F1292501571A321238540E621AB5BD9C9A32637615919A75593E6CB5C1515DAE341CABF;135266304:143360:C957A189AFC38C4E80731252301EB91427CE55E61448FA3C73C6FDDE70ABBC197947EC8D0249A2C639BB10B95957D5820A4BE8DFBBF76FFFA688AE5CE0D42EC3", + "state": "Specified" + } + ], + "provisioningState": "Succeeded", + "encryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ImportExport/jobs/myJob", + "name": "myJob", + "type": "Microsoft.ImportExport/jobs", + "location": "West US" + } + } + } +} diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json new file mode 100644 index 000000000000..1fec719ac62a --- /dev/null +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json @@ -0,0 +1,1313 @@ +{ + "swagger": "2.0", + "info": { + "title": "StorageImportExport", + "description": "The Storage Import/Export Resource Provider API.", + "version": "2020-08-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.ImportExport/locations": { + "get": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Locations_List", + "description": "Returns a list of locations to which you can ship the disks associated with an import or export job. A location is a Microsoft data center region.", + "x-ms-examples": { + "List locations": { + "$ref": "examples/ListLocations.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LocationsResponse" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.ImportExport/locations/{locationName}": { + "get": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Locations_Get", + "description": "Returns the details about a location to which you can ship the disks associated with an import or export job. A location is an Azure region.", + "x-ms-examples": { + "Get locations": { + "$ref": "examples/GetLocation.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "name": "locationName", + "in": "path", + "description": "The name of the location. For example, West US or westus.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Location" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ImportExport/jobs": { + "get": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Jobs_ListBySubscription", + "description": "Returns all active and completed jobs in a subscription.", + "x-ms-examples": { + "List jobs in a subscription": { + "$ref": "examples/ListJobsInSubscription.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "name": "$top", + "in": "query", + "description": "An integer value that specifies how many jobs at most should be returned. The value cannot exceed 100.", + "required": false, + "type": "integer" + }, + { + "name": "$filter", + "in": "query", + "description": "Can be used to restrict the results to certain conditions.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListJobsResponse" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs": { + "get": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Jobs_ListByResourceGroup", + "description": "Returns all active and completed jobs in a resource group.", + "x-ms-examples": { + "List jobs in a resource group": { + "$ref": "examples/ListJobsInResourceGroup.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "name": "$top", + "in": "query", + "description": "An integer value that specifies how many jobs at most should be returned. The value cannot exceed 100.", + "required": false, + "type": "integer" + }, + { + "name": "$filter", + "in": "query", + "description": "Can be used to restrict the results to certain conditions.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListJobsResponse" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}": { + "get": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Jobs_Get", + "description": "Gets information about an existing job.", + "x-ms-examples": { + "Get import job": { + "$ref": "examples/GetJob.json" + }, + "Get export job": { + "$ref": "examples/GetExportJob.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "name": "jobName", + "in": "path", + "description": "The name of the import/export job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Jobs_Update", + "description": "Updates specific properties of a job. You can call this operation to notify the Import/Export service that the hard drives comprising the import or export job have been shipped to the Microsoft data center. It can also be used to cancel an existing job.", + "x-ms-examples": { + "Update import job": { + "$ref": "examples/UpdateJob.json" + }, + "Update export job": { + "$ref": "examples/UpdateExportJob.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "name": "jobName", + "in": "path", + "description": "The name of the import/export job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "The parameters to update in the job", + "schema": { + "$ref": "#/definitions/UpdateJobParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Jobs_Create", + "description": "Creates a new job or updates an existing job in the specified subscription.", + "x-ms-examples": { + "Create import job": { + "$ref": "examples/CreateJob.json" + }, + "Create export job": { + "$ref": "examples/CreateExportJob.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "name": "jobName", + "in": "path", + "description": "The name of the import/export job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + }, + { + "$ref": "#/parameters/x-ms-client-tenant-id" + }, + { + "name": "body", + "in": "body", + "description": "The parameters used for creating the job", + "required": true, + "schema": { + "$ref": "#/definitions/PutJobParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/JobResponse" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Jobs_Delete", + "description": "Deletes an existing job. Only jobs in the Creating or Completed states can be deleted.", + "x-ms-examples": { + "Delete job": { + "$ref": "examples/DeleteJob.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "name": "jobName", + "in": "path", + "description": "The name of the import/export job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys": { + "post": { + "tags": [ + "StorageImportExport" + ], + "operationId": "BitLockerKeys_List", + "description": "Returns the BitLocker Keys for all drives in the specified job.", + "x-ms-examples": { + "List BitLocker Keys for drives in a job": { + "$ref": "examples/ListBitLockerKeys.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "name": "jobName", + "in": "path", + "description": "The name of the import/export job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetBitLockerKeysResponse" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.ImportExport/operations": { + "get": { + "tags": [ + "StorageImportExport" + ], + "operationId": "Operations_List", + "description": "Returns the list of operations supported by the import/export resource provider.", + "x-ms-examples": { + "List available operations": { + "$ref": "examples/ListOperations.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListOperationsResponse" + } + }, + "default": { + "description": "An error occurs.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "Response when errors occurred", + "properties": { + "error": { + "x-ms-client-flatten": true, + "description": "Describes the error information.", + "properties": { + "code": { + "type": "string", + "description": "Provides information about the error code." + }, + "message": { + "type": "string", + "description": "Provides information about the error message." + }, + "target": { + "type": "string", + "description": "Provides information about the error target." + }, + "details": { + "type": "array", + "description": "Describes the error details if present.", + "items": { + "properties": { + "code": { + "type": "string", + "description": "Provides information about the error code." + }, + "target": { + "type": "string", + "description": "Provides information about the error target." + }, + "message": { + "type": "string", + "description": "Provides information about the error message." + } + } + } + }, + "innererror": { + "type": "object", + "description": "Inner error object if present." + } + } + } + } + }, + "PutJobParameters": { + "description": "Put Job parameters", + "properties": { + "location": { + "type": "string", + "description": "Specifies the supported Azure location where the job should be created" + }, + "tags": { + "type": "object", + "description": "Specifies the tags that will be assigned to the job." + }, + "properties": { + "$ref": "#/definitions/JobDetails", + "description": "Specifies the job properties" + } + } + }, + "JobDetails": { + "description": "Specifies the job properties", + "properties": { + "storageAccountId": { + "type": "string", + "description": "The resource identifier of the storage account where data will be imported to or exported from." + }, + "jobType": { + "type": "string", + "description": "The type of job" + }, + "returnAddress": { + "description": "Specifies the return address information for the job. ", + "$ref": "#/definitions/ReturnAddress" + }, + "returnShipping": { + "description": "Specifies the return carrier and customer's account with the carrier. ", + "$ref": "#/definitions/ReturnShipping" + }, + "shippingInformation": { + "description": "Contains information about the Microsoft datacenter to which the drives should be shipped. ", + "$ref": "#/definitions/ShippingInformation" + }, + "deliveryPackage": { + "description": "Contains information about the package being shipped by the customer to the Microsoft data center. ", + "$ref": "#/definitions/PackageInformation" + }, + "returnPackage": { + "description": "Contains information about the package being shipped from the Microsoft data center to the customer to return the drives. The format is the same as the deliveryPackage property above. This property is not included if the drives have not yet been returned. ", + "$ref": "#/definitions/PackageInformation" + }, + "diagnosticsPath": { + "type": "string", + "description": "The virtual blob directory to which the copy logs and backups of drive manifest files (if enabled) will be stored." + }, + "logLevel": { + "type": "string", + "description": "Default value is Error. Indicates whether error logging or verbose logging will be enabled." + }, + "backupDriveManifest": { + "type": "boolean", + "description": "Default value is false. Indicates whether the manifest files on the drives should be copied to block blobs." + }, + "state": { + "type": "string", + "description": "Current state of the job." + }, + "cancelRequested": { + "type": "boolean", + "description": "Indicates whether a request has been submitted to cancel the job." + }, + "percentComplete": { + "type": "integer", + "description": "Overall percentage completed for the job." + }, + "incompleteBlobListUri": { + "type": "string", + "description": "A blob path that points to a block blob containing a list of blob names that were not exported due to insufficient drive space. If all blobs were exported successfully, then this element is not included in the response." + }, + "driveList": { + "description": "List of up to ten drives that comprise the job. The drive list is a required element for an import job; it is not specified for export jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/DriveStatus" + } + }, + "export": { + "description": "A property containing information about the blobs to be exported for an export job. This property is included for export jobs only.", + "$ref": "#/definitions/Export" + }, + "provisioningState": { + "type": "string", + "description": "Specifies the provisioning state of the job." + }, + "encryptionKey": { + "description": "Contains information about the encryption key.", + "$ref": "#/definitions/EncryptionKeyDetails" + } + } + }, + "EncryptionKeyDetails": { + "description": "Specifies the encryption key properties", + "properties": { + "kekType": { + "type": "string", + "description": "The type of kek encryption key", + "default": "MicrosoftManaged", + "enum": [ + "MicrosoftManaged", + "CustomerManaged" + ] + }, + "kekUrl": { + "description": "Specifies the url for kek encryption key. ", + "type": "string" + }, + "kekVaultResourceID": { + "description": "Specifies the keyvault resource id for kek encryption key. ", + "type": "string" + } + } + }, + "IdentityDetails": { + "description": "Specifies the identity properties. ", + "properties": { + "type": { + "type": "string", + "description": "The type of identity", + "default": "None", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ] + }, + "principalId": { + "description": "Specifies the principal id for the identity for the job. ", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Specifies the tenant id for the identity for the job. ", + "type": "string", + "readOnly": true + } + } + }, + "UpdateJobParameters": { + "description": "Update Job parameters", + "properties": { + "tags": { + "type": "object", + "description": "Specifies the tags that will be assigned to the job" + }, + "properties": { + "x-ms-client-flatten": true, + "properties": { + "cancelRequested": { + "type": "boolean", + "description": "If specified, the value must be true. The service will attempt to cancel the job. " + }, + "state": { + "type": "string", + "description": "If specified, the value must be Shipping, which tells the Import/Export service that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties must have been set either in this request or in a previous request, otherwise the request will fail. " + }, + "returnAddress": { + "description": "Specifies the return address information for the job.", + "$ref": "#/definitions/ReturnAddress" + }, + "returnShipping": { + "description": "Specifies the return carrier and customer's account with the carrier.", + "$ref": "#/definitions/ReturnShipping" + }, + "deliveryPackage": { + "description": "Contains information about the package being shipped by the customer to the Microsoft data center.", + "$ref": "#/definitions/PackageInformation" + }, + "logLevel": { + "type": "string", + "description": "Indicates whether error logging or verbose logging is enabled." + }, + "backupDriveManifest": { + "type": "boolean", + "description": "Indicates whether the manifest files on the drives should be copied to block blobs." + }, + "driveList": { + "description": "List of drives that comprise the job.", + "type": "array", + "items": { + "$ref": "#/definitions/DriveStatus" + } + } + }, + "description": "Specifies the properties of a UpdateJob." + } + } + }, + "ListJobsResponse": { + "description": "List jobs response", + "properties": { + "nextLink": { + "type": "string", + "description": "link to next batch of jobs" + }, + "value": { + "type": "array", + "description": "Job list", + "items": { + "$ref": "#/definitions/JobResponse" + } + } + } + }, + "JobResponse": { + "x-ms-azure-resource": true, + "description": "Contains the job information.", + "properties": { + "id": { + "type": "string", + "description": "Specifies the resource identifier of the job.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Specifies the name of the job.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Specifies the type of the job resource.", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Specifies the Azure location where the job is created." + }, + "tags": { + "type": "object", + "description": "Specifies the tags that are assigned to the job." + }, + "properties": { + "$ref": "#/definitions/JobDetails", + "description": "Specifies the job properties" + }, + "identity": { + "$ref": "#/definitions/IdentityDetails", + "description": "Specifies the job identity details" + } + } + }, + "Operation": { + "description": "Describes a supported operation by the Storage Import/Export job API.", + "required": [ + "name", + "display" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the operation." + }, + "display": { + "x-ms-client-flatten": true, + "description": "operation display properties", + "properties": { + "provider": { + "type": "string", + "description": "The resource provider name to which the operation belongs." + }, + "resource": { + "type": "string", + "description": "The name of the resource to which the operation belongs." + }, + "operation": { + "type": "string", + "description": "The display name of the operation." + }, + "description": { + "type": "string", + "description": "Short description of the operation." + } + } + } + } + }, + "Location": { + "description": "Provides information about an Azure data center location.", + "properties": { + "id": { + "description": "Specifies the resource identifier of the location. ", + "type": "string" + }, + "name": { + "description": "Specifies the name of the location. Use List Locations to get all supported locations. ", + "type": "string" + }, + "type": { + "description": "Specifies the type of the location. ", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "location properties", + "properties": { + "recipientName": { + "description": "The recipient name to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "streetAddress1": { + "description": "The first line of the street address to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "streetAddress2": { + "description": "The second line of the street address to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "city": { + "description": "The city name to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "stateOrProvince": { + "description": "The state or province to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "postalCode": { + "description": "The postal code to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "countryOrRegion": { + "description": "The country or region to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "phone": { + "description": "The phone number for the Azure data center. ", + "type": "string" + }, + "supportedCarriers": { + "type": "array", + "description": "A list of carriers that are supported at this location. ", + "items": { + "type": "string" + } + }, + "alternateLocations": { + "type": "array", + "description": "A list of location IDs that should be used to ship shipping drives to for jobs created against the current location. If the current location is active, it will be part of the list. If it is temporarily closed due to maintenance, this list may contain other locations. ", + "items": { + "type": "string" + } + } + } + } + } + }, + "ReturnAddress": { + "description": "Specifies the return address information for the job.", + "required": [ + "recipientName", + "streetAddress1", + "city", + "postalCode", + "countryOrRegion", + "phone", + "email" + ], + "properties": { + "recipientName": { + "type": "string", + "description": "The name of the recipient who will receive the hard drives when they are returned. " + }, + "streetAddress1": { + "type": "string", + "description": "The first line of the street address to use when returning the drives. " + }, + "streetAddress2": { + "type": "string", + "description": "The second line of the street address to use when returning the drives. " + }, + "city": { + "type": "string", + "description": "The city name to use when returning the drives." + }, + "stateOrProvince": { + "type": "string", + "description": "The state or province to use when returning the drives." + }, + "postalCode": { + "type": "string", + "description": "The postal code to use when returning the drives." + }, + "countryOrRegion": { + "type": "string", + "description": "The country or region to use when returning the drives. " + }, + "phone": { + "type": "string", + "description": "Phone number of the recipient of the returned drives." + }, + "email": { + "type": "string", + "description": "Email address of the recipient of the returned drives." + } + } + }, + "ReturnShipping": { + "description": "Specifies the return carrier and customer's account with the carrier.", + "required": [ + "carrierName", + "carrierAccountNumber" + ], + "properties": { + "carrierName": { + "type": "string", + "description": "The carrier's name." + }, + "carrierAccountNumber": { + "type": "string", + "description": "The customer's account number with the carrier." + } + } + }, + "ShippingInformation": { + "description": "Contains information about the Microsoft datacenter to which the drives should be shipped.", + "required": [ + "recipientName", + "streetAddress1", + "city", + "stateOrProvince", + "postalCode", + "countryOrRegion" + ], + "properties": { + "recipientName": { + "type": "string", + "description": "The name of the recipient who will receive the hard drives when they are returned. " + }, + "streetAddress1": { + "type": "string", + "description": "The first line of the street address to use when returning the drives. " + }, + "streetAddress2": { + "type": "string", + "description": "The second line of the street address to use when returning the drives. " + }, + "city": { + "type": "string", + "description": "The city name to use when returning the drives." + }, + "stateOrProvince": { + "type": "string", + "description": "The state or province to use when returning the drives." + }, + "postalCode": { + "type": "string", + "description": "The postal code to use when returning the drives." + }, + "countryOrRegion": { + "type": "string", + "description": "The country or region to use when returning the drives. " + }, + "phone": { + "type": "string", + "description": "Phone number of the recipient of the returned drives." + }, + "additionalInformation": { + "type": "string", + "description": "Additional shipping information for customer, specific to datacenter to which customer should send their disks.", + "readOnly": true + } + } + }, + "PackageInformation": { + "description": "Contains information about the package being shipped by the customer to the Microsoft data center.", + "required": [ + "carrierName", + "trackingNumber", + "driveCount", + "shipDate" + ], + "properties": { + "carrierName": { + "type": "string", + "description": "The name of the carrier that is used to ship the import or export drives." + }, + "trackingNumber": { + "type": "string", + "description": "The tracking number of the package." + }, + "driveCount": { + "type": "integer", + "format": "int64", + "description": "The number of drives included in the package." + }, + "shipDate": { + "type": "string", + "description": "The date when the package is shipped." + } + } + }, + "DriveStatus": { + "description": "Provides information about the drive's status", + "properties": { + "driveId": { + "type": "string", + "description": "The drive's hardware serial number, without spaces." + }, + "bitLockerKey": { + "type": "string", + "description": "The BitLocker key used to encrypt the drive." + }, + "manifestFile": { + "type": "string", + "description": "The relative path of the manifest file on the drive. " + }, + "manifestHash": { + "type": "string", + "description": "The Base16-encoded MD5 hash of the manifest file on the drive." + }, + "driveHeaderHash": { + "type": "string", + "description": "The drive header hash value." + }, + "state": { + "type": "string", + "description": "The drive's current state. ", + "enum": [ + "Specified", + "Received", + "NeverReceived", + "Transferring", + "Completed", + "CompletedMoreInfo", + "ShippedBack" + ], + "x-ms-enum": { + "name": "DriveState", + "modelAsString": true + } + }, + "copyStatus": { + "type": "string", + "description": "Detailed status about the data transfer process. This field is not returned in the response until the drive is in the Transferring state." + }, + "percentComplete": { + "type": "integer", + "description": "Percentage completed for the drive. " + }, + "verboseLogUri": { + "type": "string", + "description": "A URI that points to the blob containing the verbose log for the data transfer operation. " + }, + "errorLogUri": { + "type": "string", + "description": "A URI that points to the blob containing the error log for the data transfer operation." + }, + "manifestUri": { + "type": "string", + "description": "A URI that points to the blob containing the drive manifest file. " + }, + "bytesSucceeded": { + "type": "integer", + "format": "int64", + "description": "Bytes successfully transferred for the drive." + } + } + }, + "Export": { + "description": "A property containing information about the blobs to be exported for an export job. This property is required for export jobs, but must not be specified for import jobs.", + "properties": { + "blobList": { + "description": "A list of the blobs to be exported.", + "x-ms-client-flatten": true, + "properties": { + "blobPath": { + "type": "array", + "description": "A collection of blob-path strings.", + "items": { + "type": "string" + } + }, + "blobPathPrefix": { + "type": "array", + "description": "A collection of blob-prefix strings.", + "items": { + "type": "string" + } + } + } + }, + "blobListBlobPath": { + "type": "string", + "description": "The relative URI to the block blob that contains the list of blob paths or blob path prefixes as defined above, beginning with the container name. If the blob is in root container, the URI must begin with $root. " + } + } + }, + "LocationsResponse": { + "description": "Locations response", + "properties": { + "value": { + "type": "array", + "description": "locations", + "items": { + "$ref": "#/definitions/Location" + } + } + } + }, + "GetBitLockerKeysResponse": { + "description": "GetBitLockerKeys response", + "properties": { + "value": { + "type": "array", + "description": "drive status", + "items": { + "$ref": "#/definitions/DriveBitLockerKey" + } + } + } + }, + "DriveBitLockerKey": { + "description": "BitLocker recovery key or password to the specified drive", + "properties": { + "bitLockerKey": { + "type": "string", + "description": "BitLocker recovery key or password" + }, + "driveId": { + "type": "string", + "description": "Drive ID" + } + } + }, + "ListOperationsResponse": { + "description": "List operations response", + "properties": { + "value": { + "type": "array", + "description": "operations", + "items": { + "$ref": "#/definitions/Operation" + } + } + } + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "Specifies the API version to use for this request.", + "required": true, + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID for the Azure user.", + "required": true, + "type": "string" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The resource group name uniquely identifies the resource group within the user subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Accept-Language": { + "name": "Accept-Language", + "in": "header", + "description": "Specifies the preferred language for the response.", + "required": false, + "type": "string", + "x-ms-parameter-location": "client" + }, + "x-ms-client-tenant-id": { + "name": "x-ms-client-tenant-id", + "in": "header", + "description": "The tenant ID of the client making the request.", + "required": false, + "type": "string", + "x-ms-client-name": "ClientTenantId", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storageimportexport/resource-manager/readme.azureresourceschema.md b/specification/storageimportexport/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..0ede3bc1f2cb --- /dev/null +++ b/specification/storageimportexport/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-importexport-2020-08-01 + - tag: schema-importexport-2016-11-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-importexport-2020-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-importexport-2020-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json + +``` + +### Tag: schema-importexport-2016-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-importexport-2016-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.ImportExport/stable/2016-11-01/storageimportexport.json + +``` diff --git a/specification/storageimportexport/resource-manager/readme.go.md b/specification/storageimportexport/resource-manager/readme.go.md index 9b48808d7a27..28ce19ba3744 100644 --- a/specification/storageimportexport/resource-manager/readme.go.md +++ b/specification/storageimportexport/resource-manager/readme.go.md @@ -15,6 +15,12 @@ go: batch: - tag: package-2016-11 ``` +or + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2020-08 +``` ### Tag: package-2016-11 and go @@ -23,4 +29,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-08' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-08-01/$(namespace) ``` \ No newline at end of file diff --git a/specification/storageimportexport/resource-manager/readme.md b/specification/storageimportexport/resource-manager/readme.md index 7b2c9dc33212..95e38cf94944 100644 --- a/specification/storageimportexport/resource-manager/readme.md +++ b/specification/storageimportexport/resource-manager/readme.md @@ -28,7 +28,12 @@ These are the global settings for the StorageImportExport API. openapi-type: arm tag: package-2016-11 ``` +or +``` yaml +openapi-type: arm +tag: package-2020-08 +``` ### Tag: package-2016-11 @@ -39,6 +44,14 @@ input-file: - Microsoft.ImportExport/stable/2016-11-01/storageimportexport.json ``` +### Tag: package-2020-08 + +These settings apply only when `--tag=package-2020-08` is specified on the command line. + +``` yaml $(tag) == 'package-2020-08' +input-file: +- Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json +``` --- # Code Generation @@ -54,6 +67,9 @@ swagger-to-sdk: - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storageimportexport/resource-manager ``` ## Go @@ -80,6 +96,12 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-storageimportexport batch: - tag: package-2016-11 ``` +or + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2020-08 +``` ### Tag: package-2016-11 and java @@ -94,7 +116,24 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-08 and java + +These settings apply only when `--tag=package-2020-08 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-08' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.storageimportexport.v2020_08_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/storageimportexport/mgmt-v2020_08_01 +regenerate-manager: true +generate-interface: true +``` + + + +## AzureResourceSchema +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) ## Multi-API/Profile support for AutoRest v3 generators @@ -109,6 +148,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - $(this-folder)/Microsoft.ImportExport/stable/2016-11-01/storageimportexport.json + - $(this-folder)/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json ``` diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json index 15d0e9160781..a665e00b1c48 100644 --- a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json @@ -4496,7 +4496,7 @@ ], "x-ms-enum": { "name": "LocalCacheMode", - "modelAsString": false + "modelAsString": true } }, "InitialDownloadPolicy": { @@ -4509,7 +4509,7 @@ ], "x-ms-enum": { "name": "InitialDownloadPolicy", - "modelAsString": false + "modelAsString": true } }, "ServerEndpointSyncHealthState": { diff --git a/specification/storagesync/resource-manager/readme.azureresourceschema.md b/specification/storagesync/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..f5a8e5da5bbb --- /dev/null +++ b/specification/storagesync/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,120 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-storagesync-2020-03-01 + - tag: schema-storagesync-2019-10-01 + - tag: schema-storagesync-2019-06-01 + - tag: schema-storagesync-2019-03-01 + - tag: schema-storagesync-2019-02-01 + - tag: schema-storagesync-2018-10-01 + - tag: schema-storagesync-2018-07-01 + - tag: schema-storagesync-2018-04-02 + - tag: schema-storagesync-2017-06-05-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storagesync-2020-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2020-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2020-03-01/storagesync.json + +``` + +### Tag: schema-storagesync-2019-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2019-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2019-10-01/storagesync.json + +``` + +### Tag: schema-storagesync-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2019-06-01/storagesync.json + +``` + +### Tag: schema-storagesync-2019-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2019-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2019-03-01/storagesync.json + +``` + +### Tag: schema-storagesync-2019-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2019-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2019-02-01/storagesync.json + +``` + +### Tag: schema-storagesync-2018-10-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2018-10-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2018-10-01/storagesync.json + +``` + +### Tag: schema-storagesync-2018-07-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2018-07-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2018-07-01/storagesync.json + +``` + +### Tag: schema-storagesync-2018-04-02 and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2018-04-02' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/stable/2018-04-02/storagesync.json + +``` + +### Tag: schema-storagesync-2017-06-05-preview and azureresourceschema + +``` yaml $(tag) == 'schema-storagesync-2017-06-05-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorageSync/preview/2017-06-05-preview/storagesync.json + +``` diff --git a/specification/storagesync/resource-manager/readme.go.md b/specification/storagesync/resource-manager/readme.go.md index f3e11dcb6897..868013c839dc 100644 --- a/specification/storagesync/resource-manager/readme.go.md +++ b/specification/storagesync/resource-manager/readme.go.md @@ -13,6 +13,7 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-03-01 - tag: package-2019-10-01 - tag: package-2019-06-01 - tag: package-2019-02-01 @@ -21,6 +22,15 @@ batch: - tag: package-2018-04-02 ``` +### Tag: package-2020-03-01 and go + +These settings apply only when `--tag=package-2020-03-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-03-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-03-01/$(namespace) +``` + ### Tag: package-2019-10-01 and go These settings apply only when `--tag=package-2019-10-01 --go` is specified on the command line. diff --git a/specification/storagesync/resource-manager/readme.md b/specification/storagesync/resource-manager/readme.md index 425ca4443e60..d104d90cdc22 100644 --- a/specification/storagesync/resource-manager/readme.md +++ b/specification/storagesync/resource-manager/readme.md @@ -128,6 +128,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storagesync/resource-manager ``` ## C# @@ -183,6 +186,10 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/storsimple8000series/resource-manager/readme.azureresourceschema.md b/specification/storsimple8000series/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..c0317855bfca --- /dev/null +++ b/specification/storsimple8000series/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-storsimple-2017-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-storsimple-2017-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-storsimple-2017-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StorSimple/stable/2017-06-01/storsimple.json + +``` diff --git a/specification/storsimple8000series/resource-manager/readme.md b/specification/storsimple8000series/resource-manager/readme.md index 70ee42ce0c32..12c67125362b 100644 --- a/specification/storsimple8000series/resource-manager/readme.md +++ b/specification/storsimple8000series/resource-manager/readme.md @@ -61,6 +61,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_stor_simple8000_series'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js storsimple8000series/resource-manager ``` @@ -118,6 +121,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json new file mode 100644 index 000000000000..cdc06f254b09 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json @@ -0,0 +1,198 @@ +{ + "swagger": "2.0", + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "info": { + "version": "v1", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "AuthenticationMode": { + "type": "string", + "description": "Authentication Mode. Valid modes are `ConnectionString`, `Msi` and 'UserToken'.", + "enum": [ + "Msi", + "UserToken", + "ConnectionString" + ], + "x-ms-enum": { + "name": "AuthenticationMode", + "modelAsString": true + } + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts." + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "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" + } + ] + }, + "Error": { + "properties": { + "error": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "message": { + "type": "string", + "description": "Error message." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "description": "Error details." + } + }, + "description": "Error definition properties." + } + }, + "description": "Common error representation." + }, + "ErrorDetails": { + "properties": { + "code": { + "type": "string", + "description": "Error code." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "message": { + "type": "string", + "description": "Error message." + } + }, + "description": "Common error details representation." + } + }, + "parameters": { + "IfMatchHeader": { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The ETag of the resource. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes.", + "x-ms-parameter-location": "method" + }, + "IfNoneMatchHeader": { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new resource to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed response.", + "x-ms-parameter-location": "method" + }, + "StreamingJobNameParameter": { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the streaming job.", + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation.", + "minLength": 1 + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureML.json new file mode 100644 index 000000000000..834492126f1c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureML.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "apiKey": "someApiKey==", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + }, + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureMLService.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureMLService.json new file mode 100644 index 000000000000..9a1dcd7de31b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_AzureMLService.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "apiKey": "someApiKey==", + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + } + } + } + }, + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_CSharp.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_CSharp.json new file mode 100644 index 000000000000..ba236b1a8618 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_CSharp.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + } + } + } + }, + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_JavaScript.json new file mode 100644 index 000000000000..3755ce7a0a97 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Create_JavaScript.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653", + "functionName": "function8197", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (x, y) { return x + y; }" + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "07495b35-da28-4c28-a3ed-e0d75d0b6eff" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (x, y) { return x + y; }" + } + } + } + } + } + }, + "200": { + "headers": { + "ETag": "07495b35-da28-4c28-a3ed-e0d75d0b6eff" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (x, y) { return x + y; }" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Delete.json new file mode 100644 index 000000000000..5cfa1cbee2bc --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653", + "functionName": "function8197" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_AzureML.json new file mode 100644 index 000000000000..654077725b00 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_AzureML.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588" + }, + "responses": { + "200": { + "headers": { + "ETag": "dac52a15-66be-4aa7-8a18-20c5409983df" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_JavaScript.json new file mode 100644 index 000000000000..1213c594bc8e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Get_JavaScript.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653", + "functionName": "function8197" + }, + "responses": { + "200": { + "headers": { + "ETag": "07495b35-da28-4c28-a3ed-e0d75d0b6eff" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (x, y) { return x + y; }" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_ListByStreamingJob.json new file mode 100644 index 000000000000..55eb3da1573a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_ListByStreamingJob.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 5000 + } + } + }, + "etag": "281cbf11-cd50-4a44-b833-cf170ce74748" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (a, b) { return a * b; }" + } + } + }, + "etag": "94a512d5-2f59-4e39-b9c8-bca4abd74b7e" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json new file mode 100644 index 000000000000..0b7993c40a65 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588", + "functionRetrieveDefaultDefinitionParameters": { + "bindingType": "Microsoft.MachineLearning/WebService", + "bindingRetrievalProperties": { + "executeEndpoint": "someAzureMLExecuteEndpointUrl", + "udfType": "Scalar" + } + } + }, + "responses": { + "200": { + "body": { + "name": "function588", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLExecuteEndpointUrl", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 1000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_AzureML.json new file mode 100644 index 000000000000..eb79404a8f6b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_AzureML.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_JavaScript.json new file mode 100644 index 000000000000..d97c3be651c7 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Test_JavaScript.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653", + "functionName": "function8197" + }, + "responses": { + "200": { + "body": { + "status": "TestFailed", + "error": { + "code": "BadRequest", + "message": "Test operation is not supported for function type: Microsoft.StreamAnalytics/JavascriptUdf" + } + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_AzureML.json new file mode 100644 index 000000000000..0711d61c402c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_AzureML.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9093", + "functionName": "function588", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "batchSize": 5000 + } + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "281cbf11-cd50-4a44-b833-cf170ce74748" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9093/functions/function588", + "name": "function588", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "nvarchar(max)" + } + ], + "output": { + "dataType": "nvarchar(max)" + }, + "binding": { + "type": "Microsoft.MachineLearning/WebService", + "properties": { + "endpoint": "someAzureMLEndpointURL", + "inputs": { + "name": "input1", + "columnNames": [ + { + "name": "tweet", + "dataType": "string", + "mapTo": 0 + } + ] + }, + "outputs": [ + { + "name": "Sentiment", + "dataType": "string" + } + ], + "batchSize": 5000 + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_JavaScript.json new file mode 100644 index 000000000000..47c53e90bdad --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Function_Update_JavaScript.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8653", + "functionName": "function8197", + "function": { + "properties": { + "type": "Scalar", + "properties": { + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (a, b) { return a * b; }" + } + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "94a512d5-2f59-4e39-b9c8-bca4abd74b7e" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8653/functions/function8197", + "name": "function8197", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "Any" + } + ], + "output": { + "dataType": "Any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/JavascriptUdf", + "properties": { + "script": "function (a, b) { return a * b; }" + } + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Reference_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Reference_Blob_CSV.json new file mode 100644 index 000000000000..41d4a65a51ed --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Reference_Blob_CSV.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597", + "inputName": "input7225", + "input": { + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "someAccountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "c987701d-4039-47aa-a115-ad84f67d07c5" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "c987701d-4039-47aa-a115-ad84f67d07c5" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_Blob_CSV.json new file mode 100644 index 000000000000..fdc482aa5569 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_Blob_CSV.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6695", + "inputName": "input8899", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "someAccountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "sourcePartitionCount": 16 + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "475074b8-c957-4b1f-a219-12b8399c3d4c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6695/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 16, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "475074b8-c957-4b1f-a219-12b8399c3d4c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6695/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 16, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_EventHub_JSON.json new file mode 100644 index 000000000000..b73ee46ff860 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_EventHub_JSON.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj197", + "inputName": "input7425", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "someSharedAccessPolicyKey==", + "eventHubName": "sdkeventhub", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "afd0d184-37e9-4370-9e55-32501bc4de3a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj197/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "sdkconsumergroup", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "afd0d184-37e9-4370-9e55-32501bc4de3a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj197/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "sdkconsumergroup", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json new file mode 100644 index 000000000000..cc86b7bcc8b5 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9742", + "inputName": "input7970", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "consumerGroupName": "sdkconsumergroup", + "endpoint": "messages/events" + } + }, + "serialization": { + "type": "Avro" + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/events", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + }, + "200": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/events", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Delete.json new file mode 100644 index 000000000000..efc786d71416 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Reference_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Reference_Blob_CSV.json new file mode 100644 index 000000000000..d560b90d6d16 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Reference_Blob_CSV.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": { + "headers": { + "ETag": "c987701d-4039-47aa-a115-ad84f67d07c5" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_Blob_CSV.json new file mode 100644 index 000000000000..083c30bbb96a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_Blob_CSV.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6695", + "inputName": "input8899" + }, + "responses": { + "200": { + "headers": { + "ETag": "475074b8-c957-4b1f-a219-12b8399c3d4c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6695/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 16, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_EventHub_JSON.json new file mode 100644 index 000000000000..44f137054ef4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_EventHub_JSON.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj197", + "inputName": "input7425" + }, + "responses": { + "200": { + "headers": { + "ETag": "afd0d184-37e9-4370-9e55-32501bc4de3a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj197/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "sdkconsumergroup", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json new file mode 100644 index 000000000000..cb639630e138 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9742", + "inputName": "input7970" + }, + "responses": { + "200": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/events", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob.json new file mode 100644 index 000000000000..e0165148a5c2 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "differentContainer", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "a4ceb697-1c8f-40c8-b951-fb5ee4757437" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 32, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "3b35d57c-02f4-4b41-8e1d-af02a86c2fa1" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "differentConsumerGroupName", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + }, + "etag": "7548f259-81b5-4ea7-b896-25c6717d98ba" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/operationsMonitoringEvents", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "e2d847e0-c95b-48ef-9e14-1afc1f2270cb" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json new file mode 100644 index 000000000000..cbe3348e4459 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj7804", + "$select": "*" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "diagnostics": { + "conditions": [ + { + "since": "2017-05-11T04:38:42.4938687Z", + "code": "INP-3", + "message": "Could not deserialize the input event as Json. Some possible reasons: 1) Malformed events 2) Input source configured with incorrect serialization format" + } + ] + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Test.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Test.json new file mode 100644 index 000000000000..d72cf2c0372c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Test.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597", + "inputName": "input7225" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Reference_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Reference_Blob.json new file mode 100644 index 000000000000..6f9b28c8db9b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Reference_Blob.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9597", + "inputName": "input7225", + "input": { + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "container": "differentContainer" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "a4ceb697-1c8f-40c8-b951-fb5ee4757437" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9597/inputs/input7225", + "name": "input7225", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "differentContainer", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_Blob.json new file mode 100644 index 000000000000..de4b602ffb0a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_Blob.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6695", + "inputName": "input8899", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 32 + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "3b35d57c-02f4-4b41-8e1d-af02a86c2fa1" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6695/inputs/input8899", + "name": "input8899", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "sourcePartitionCount": 32, + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_EventHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_EventHub.json new file mode 100644 index 000000000000..362ae7631e6e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_EventHub.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj197", + "inputName": "input7425", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "consumerGroupName": "differentConsumerGroupName" + } + }, + "serialization": { + "type": "Avro" + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "7548f259-81b5-4ea7-b896-25c6717d98ba" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj197/inputs/input7425", + "name": "input7425", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "consumerGroupName": "differentConsumerGroupName", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_IoTHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_IoTHub.json new file mode 100644 index 000000000000..96fda55e9a86 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Input_Update_Stream_IoTHub.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj9742", + "inputName": "input7970", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "endpoint": "messages/operationsMonitoringEvents" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "e2d847e0-c95b-48ef-9e14-1afc1f2270cb" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "iothub", + "sharedAccessPolicyName": "owner", + "endpoint": "messages/operationsMonitoringEvents", + "consumerGroupName": "sdkconsumergroup" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Operation_List.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Operation_List.json new file mode 100644 index 000000000000..442cff126fb4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Operation_List.json @@ -0,0 +1,319 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.StreamAnalytics/locations/quotas/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Subscription Quota", + "operation": "Read Stream Analytics Subscription Quota", + "description": "Read Stream Analytics Subscription Quota" + } + }, + { + "name": "Microsoft.StreamAnalytics/operations/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Operations", + "operation": "Read Stream Analytics Operations", + "description": "Read Stream Analytics Operations" + } + }, + { + "name": "Microsoft.StreamAnalytics/Register/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Resource Provider", + "operation": "Register subscription with Stream Analytics Resource Provider", + "description": "Register subscription with Stream Analytics Resource Provider" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Delete Stream Analytics Job", + "description": "Delete Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Delete Stream Analytics Job Function", + "description": "Delete Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/operationresults/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Read operation results for Stream Analytics Job Function", + "description": "Read operation results for Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Read Stream Analytics Job Function", + "description": "Read Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/RetrieveDefaultDefinition/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Retrieve Default Definition of a Stream Analytics Job Function", + "description": "Retrieve Default Definition of a Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/Test/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Test Stream Analytics Job Function", + "description": "Test Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/functions/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Function", + "operation": "Write Stream Analytics Job Function", + "description": "Write Stream Analytics Job Function" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Delete Stream Analytics Job Input", + "description": "Delete Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/operationresults/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Read operation results for Stream Analytics Job Input", + "description": "Read operation results for Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Read Stream Analytics Job Input", + "description": "Read Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Sample/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Sample Stream Analytics Job Input", + "description": "Sample Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Test/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Test Stream Analytics Job Input", + "description": "Test Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/inputs/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Input", + "operation": "Write Stream Analytics Job Input", + "description": "Write Stream Analytics Job Input" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/metricdefinitions/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Metric Definitions", + "operation": "Read Metric Definitions", + "description": "Read Metric Definitions" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/operationresults/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Read operation results for Stream Analytics Job", + "description": "Read operation results for Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Delete Stream Analytics Job Output", + "description": "Delete Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/operationresults/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Read operation results for Stream Analytics Job Output", + "description": "Read operation results for Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Read Stream Analytics Job Output", + "description": "Read Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/Test/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Test Stream Analytics Job Output", + "description": "Test Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/outputs/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Output", + "operation": "Write Stream Analytics Job Output", + "description": "Write Stream Analytics Job Output" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "streamingjobs", + "operation": "Read diagnostic setting.", + "description": "Read diagnostic setting." + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "streamingjobs", + "operation": "Write diagnostic setting.", + "description": "Write diagnostic setting." + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/PublishEdgePackage/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Publish edge package for Stream Analytics Job", + "description": "Publish edge package for Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Read Stream Analytics Job", + "description": "Read Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Scale/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Scale Stream Analytics Job", + "description": "Scale Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Start/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Start Stream Analytics Job", + "description": "Start Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Stop/action", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Stop Stream Analytics Job", + "description": "Stop Stream Analytics Job" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/transformations/Delete", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Transformation", + "operation": "Delete Stream Analytics Job Transformation", + "description": "Delete Stream Analytics Job Transformation" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/transformations/Read", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Transformation", + "operation": "Read Stream Analytics Job Transformation", + "description": "Read Stream Analytics Job Transformation" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/transformations/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job Transformation", + "operation": "Write Stream Analytics Job Transformation", + "description": "Write Stream Analytics Job Transformation" + } + }, + { + "name": "Microsoft.StreamAnalytics/streamingjobs/Write", + "display": { + "provider": "Microsoft Azure Stream Analytics", + "resource": "Stream Analytics Job", + "operation": "Write Stream Analytics Job", + "description": "Write Stream Analytics Job" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json new file mode 100644 index 000000000000..f070987e133d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj3310", + "outputName": "output5195", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "someaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "refreshToken": "someRefreshToken==", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "someaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "someaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureSQL.json new file mode 100644 index 000000000000..0e008ff6f410 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureSQL.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "user": "someUser", + "password": "somePassword", + "table": "someTable" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "someTable", + "user": "someUser" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "someTable", + "user": "someUser" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureTable.json new file mode 100644 index 000000000000..1a65e7b04e91 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureTable.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2790", + "outputName": "output958", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "accountKey": "accountKey==", + "table": "samples", + "partitionKey": "partitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2790/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "partitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + }, + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2790/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "partitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_Blob_CSV.json new file mode 100644 index 000000000000..fbe36e19d632 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_Blob_CSV.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj900", + "outputName": "output1623", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName", + "accountKey": "accountKey==" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "5433fd97-d133-46e3-8588-5fe1f1599ee0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj900/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "5433fd97-d133-46e3-8588-5fe1f1599ee0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj900/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_DocumentDB.json new file mode 100644 index 000000000000..0f9365a8a609 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_DocumentDB.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "accountKey": "accountKey==", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "key", + "documentId": "documentId" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "key", + "documentId": "documentId" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "key", + "documentId": "documentId" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_EventHub_JSON.json new file mode 100644 index 000000000000..4f2caaef48e9 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_EventHub_JSON.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj3310", + "outputName": "output5195", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "eventHubName": "sdkeventhub", + "partitionKey": "partitionKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "partitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "partitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_PowerBI.json new file mode 100644 index 000000000000..0d132fa48f13 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_PowerBI.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "someDataset", + "table": "someTable", + "refreshToken": "someRefreshToken==", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup", + "authenticationMode": "ConnectionString" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "someDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup", + "authenticationMode": "ConnectionString" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "someDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup", + "authenticationMode": "ConnectionString" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json new file mode 100644 index 000000000000..893b2e566ae2 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj5095", + "outputName": "output3456", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ] + } + }, + "serialization": { + "type": "Avro" + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "2f68c1ec-2080-43cb-93ec-4bcd3b7f9dbe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj5095/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + }, + "200": { + "headers": { + "ETag": "2f68c1ec-2080-43cb-93ec-4bcd3b7f9dbe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj5095/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json new file mode 100644 index 000000000000..b24a002925cf --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj7094", + "outputName": "output7886", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "sharedAccessPolicyKey=", + "topicName": "sdktopic", + "propertyColumns": [ + "column1", + "column2" + ] + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "39259839-e581-4af4-bf68-302e6820e3a0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7094/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "sdktopic", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "39259839-e581-4af4-bf68-302e6820e3a0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7094/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "sdktopic", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Delete.json new file mode 100644 index 000000000000..3225777c59d9 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json new file mode 100644 index 000000000000..10978f4f6365 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj3310", + "outputName": "output5195" + }, + "responses": { + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "someaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureFunction.json new file mode 100644 index 000000000000..109b2fb683ed --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureFunction.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2790", + "outputName": "output958" + }, + "responses": { + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/AzureFunction1", + "name": "AzureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureSQL.json new file mode 100644 index 000000000000..5c0f053b613d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureSQL.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "someTable", + "user": "someUser" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureTable.json new file mode 100644 index 000000000000..e67c48756bdb --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureTable.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2790", + "outputName": "output958" + }, + "responses": { + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2790/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "partitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_Blob_CSV.json new file mode 100644 index 000000000000..d7c7cdde7b4d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_Blob_CSV.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj900", + "outputName": "output1623" + }, + "responses": { + "200": { + "headers": { + "ETag": "5433fd97-d133-46e3-8588-5fe1f1599ee0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj900/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "state", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json new file mode 100644 index 000000000000..dcd8f0581443 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2790", + "outputName": "output958" + }, + "responses": { + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/SynapseformerlySQLDW1", + "name": "SynapseformerlySQLDW1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + }, + "etag": "ce3fb956-0487-4168-af20-1133a59bdc6e" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DocumentDB.json new file mode 100644 index 000000000000..37063497ee26 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DocumentDB.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2331", + "outputName": "output3022" + }, + "responses": { + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "key", + "documentId": "documentId" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_EventHub_JSON.json new file mode 100644 index 000000000000..5680a436242d --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_EventHub_JSON.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj3310", + "outputName": "output5195" + }, + "responses": { + "200": { + "headers": { + "ETag": "5472168f-7317-4241-8b75-0c8d9d0ea804" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "partitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_PowerBI.json new file mode 100644 index 000000000000..e62d3ed60f41 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_PowerBI.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2331", + "outputName": "output3022" + }, + "responses": { + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "someDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json new file mode 100644 index 000000000000..539338506799 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj5095", + "outputName": "output3456" + }, + "responses": { + "200": { + "headers": { + "ETag": "2f68c1ec-2080-43cb-93ec-4bcd3b7f9dbe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj5095/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "sdkqueue", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Avro", + "properties": {} + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json new file mode 100644 index 000000000000..d53758411faf --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj7094", + "outputName": "output7886" + }, + "responses": { + "200": { + "headers": { + "ETag": "39259839-e581-4af4-bf68-302e6820e3a0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7094/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "sdktopic", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_ListByStreamingJob.json new file mode 100644 index 000000000000..59cc2c0332a2 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_ListByStreamingJob.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "differentTable", + "user": "someUser" + } + }, + "etag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "differentPartitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + }, + "etag": "ea1d20bf-6cb3-40bc-bc7b-ec3a7fd5977e" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "differentContainer", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "3a1b2023-79a9-4b33-93e8-f49fc3e573fe" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "differentPartitionKey", + "documentId": "documentId" + } + }, + "etag": "7849c132-e995-4631-91c3-931606eec432" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "differentPartitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "5020de6b-5bb3-4b88-8606-f11fb3c46185" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "differentQueueName", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "429adaec-a777-4750-8a39-8d0c931d801c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "differentTopicName", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + }, + "etag": "c1c2007f-45b2-419a-ae7d-4d2148998460" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output3021", + "name": "output3021", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "differentDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + }, + "etag": "4a492191-9672-4178-be10-043b9dbd4b9f" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output5196", + "name": "output5196", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "differentaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "39ab7642-8c1e-48ed-85eb-949068d68002" + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Test.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Test.json new file mode 100644 index 000000000000..1531796e0c22 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Test.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755" + }, + "responses": { + "200": { + "body": { + "status": "TestSucceeded" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureDataLakeStore.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureDataLakeStore.json new file mode 100644 index 000000000000..ee70b388781b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureDataLakeStore.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj3310", + "outputName": "output5195", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "differentaccount" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "5020de6b-5bb3-4b88-8606-f11fb3c46185" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DataLake/Accounts", + "properties": { + "accountName": "differentaccount", + "tenantId": "cea4e98b-c798-49e7-8c40-4a2b3beb47dd", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "filePathPrefix": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureSQL.json new file mode 100644 index 000000000000..70282bbc7b3c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureSQL.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj6458", + "outputName": "output1755", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "table": "differentTable" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj6458/outputs/output1755", + "name": "output1755", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "someServer", + "database": "someDatabase", + "table": "differentTable", + "user": "someUser" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureTable.json new file mode 100644 index 000000000000..6f0872407e77 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureTable.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2790", + "outputName": "output958", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "partitionKey": "differentPartitionKey" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "ea1d20bf-6cb3-40bc-bc7b-ec3a7fd5977e" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2790/outputs/output958", + "name": "output958", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Table", + "properties": { + "accountName": "someAccountName", + "table": "samples", + "partitionKey": "differentPartitionKey", + "rowKey": "rowKey", + "columnsToRemove": [ + "column1", + "column2" + ], + "batchSize": 25 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_Blob.json new file mode 100644 index 000000000000..e0e87d50eea4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_Blob.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj900", + "outputName": "output1623", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "container": "differentContainer" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "3a1b2023-79a9-4b33-93e8-f49fc3e573fe" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj900/outputs/output1623", + "name": "output1623", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "someAccountName" + } + ], + "container": "differentContainer", + "pathPattern": "{date}/{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_DocumentDB.json new file mode 100644 index 000000000000..2e3924da160a --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_DocumentDB.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "partitionKey": "differentPartitionKey" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "7849c132-e995-4631-91c3-931606eec432" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/DocumentDB", + "properties": { + "accountId": "someAccountId", + "database": "db01", + "collectionNamePattern": "collection", + "partitionKey": "differentPartitionKey", + "documentId": "documentId" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_EventHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_EventHub.json new file mode 100644 index 000000000000..efceb3b456c6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_EventHub.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj3310", + "outputName": "output5195", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "partitionKey": "differentPartitionKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "5020de6b-5bb3-4b88-8606-f11fb3c46185" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj3310/outputs/output5195", + "name": "output5195", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "eventHubName": "sdkeventhub", + "partitionKey": "differentPartitionKey", + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_PowerBI.json new file mode 100644 index 000000000000..914d53994c1c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_PowerBI.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "differentDataset" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "7849c132-e995-4631-91c3-931606eec432" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "PowerBI", + "properties": { + "dataset": "differentDataset", + "table": "someTable", + "tokenUserPrincipalName": "bobsmith@contoso.com", + "tokenUserDisplayName": "Bob Smith", + "groupId": "ac40305e-3e8d-43ac-8161-c33799f43e95", + "groupName": "MyPowerBIGroup" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusQueue.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusQueue.json new file mode 100644 index 000000000000..22f059c8dce6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusQueue.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj5095", + "outputName": "output3456", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "differentQueueName" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "429adaec-a777-4750-8a39-8d0c931d801c" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj5095/outputs/output3456", + "name": "output3456", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Queue", + "properties": { + "queueName": "differentQueueName", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusTopic.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusTopic.json new file mode 100644 index 000000000000..8853725cd6ea --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_ServiceBusTopic.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj7094", + "outputName": "output7886", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "differentTopicName" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "c1c2007f-45b2-419a-ae7d-4d2148998460" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7094/outputs/output7886", + "name": "output7886", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.ServiceBus/Topic", + "properties": { + "topicName": "differentTopicName", + "propertyColumns": [ + "column1", + "column2" + ], + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey" + } + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": "|", + "encoding": "UTF8" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_CompleteJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_CompleteJob.json new file mode 100644 index 000000000000..9bbde5a6f337 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_CompleteJob.json @@ -0,0 +1,261 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj7804", + "streamingJob": { + "properties": { + "sku": { + "name": "Standard" + }, + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "compatibilityLevel": "1.0", + "inputs": [ + { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "yourAccountName", + "accountKey": "yourAccountKey==" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + } + }, + "name": "inputtest" + } + ], + "transformation": { + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest" + }, + "name": "transformationtest" + }, + "outputs": [ + { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "user": "userName", + "password": "userPassword", + "table": "tableName" + } + } + }, + "name": "outputtest" + } + ], + "functions": [] + }, + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "87551cc5-1290-4d08-afcd-cdaa92e5ade0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804", + "name": "sj7804", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "732e4b1d-94a7-43ae-8297-3ad04f1540b9", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "91d8fcbe-60b3-49c3-9f21-9942b95602b8" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "62097c3c-b503-41ff-a56f-196a9598ab90" + } + } + ] + } + } + }, + "200": { + "headers": { + "ETag": "87551cc5-1290-4d08-afcd-cdaa92e5ade0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804", + "name": "sj7804", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "732e4b1d-94a7-43ae-8297-3ad04f1540b9", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:11.54Z", + "compatibilityLevel": "1.0", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/inputs/inputtest", + "name": "inputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "accountName" + } + ], + "container": "containerName", + "pathPattern": "" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "ca88f8fa-605b-4c7f-8695-46f5faa60cd0" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/transformations/transformationtest", + "name": "transformationtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 1, + "query": "Select Id, Name from inputtest", + "etag": "91d8fcbe-60b3-49c3-9f21-9942b95602b8" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj7804/outputs/outputtest", + "name": "outputtest", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "server": "serverName", + "database": "databaseName", + "table": "tableName", + "user": "userName" + } + }, + "etag": "62097c3c-b503-41ff-a56f-196a9598ab90" + } + } + ] + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_JobShell.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_JobShell.json new file mode 100644 index 000000000000..cf031d95636c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Create_JobShell.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59", + "streamingJob": { + "properties": { + "sku": { + "name": "Standard" + }, + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 16, + "dataLocale": "en-US", + "compatibilityLevel": "1.0", + "inputs": [], + "outputs": [], + "functions": [] + }, + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj59", + "name": "sj59", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d53ecc3c-fcb0-485d-9caf-25e20fcb2061", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 16, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:04.697Z", + "compatibilityLevel": "1.0", + "inputs": [], + "functions": [], + "outputs": [] + } + } + }, + "200": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj59", + "name": "sj59", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "key1": "value1", + "randomKey": "randomValue", + "key3": "value3" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "d53ecc3c-fcb0-485d-9caf-25e20fcb2061", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Drop", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 5, + "eventsLateArrivalMaxDelayInSeconds": 16, + "dataLocale": "en-US", + "createdDate": "2017-05-11T04:37:04.697Z", + "compatibilityLevel": "1.0", + "inputs": [], + "functions": [], + "outputs": [] + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Delete.json new file mode 100644 index 000000000000..56c140778005 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_Expand.json new file mode 100644 index 000000000000..fe008830a054 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_Expand.json @@ -0,0 +1,244 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj7804", + "$expand": "inputs,outputs,transformation,functions" + }, + "responses": { + "200": { + "headers": { + "ETag": "87551cc5-1290-4d08-afcd-cdaa92e5ade0" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "MyASAIoT", + "sharedAccessPolicyName": "iothubowner", + "endpoint": "messages/events", + "consumerGroupName": "$Default" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "3cb574f7-b63a-4ac1-a1db-8e8a3b88a20d" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "\r\nWITH sentiment AS ( \r\nSELECT Temperature, diabetespredict(Temperature) as result \r\nFROM Input \r\n) \r\n\r\nSELECT Temperature, result.[Score] \r\nINTO BlobOutput1\r\nFROM sentiment\r\n\r\n/*\r\nSELECT data, MLFunction2(data)\r\nFROM sampleRequestData\r\n*/\r\n/*\r\nSELECT data, AksArrayScore(data)\r\nFROM sampleData\r\n*/", + "etag": "7241d411-e71d-4205-b77e-4cc56aba34c0" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/diabetespredict", + "name": "diabetespredict", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "acfdd307-418c-48f3-8856-7c176d38529f" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction2", + "name": "MLFunction2", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://13.83.67.157/api/v1/service/nyc-fare-predict/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "4d537fa6-f43c-4ee6-a45e-9a8f8002a65c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction3", + "name": "MLFunction3", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "912f08e7-4a8c-46eb-afaf-d88f930a7b45" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/outputs/BlobOutput1", + "name": "BlobOutput1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest2" + } + ], + "container": "output", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "1c271cd5-dd4a-4d3e-95ee-1dbcaa530c2c" + } + } + ], + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_NoExpand.json new file mode 100644 index 000000000000..7f0d65339cec --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Get_NoExpand.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59" + }, + "responses": { + "200": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/DO_NOT_DELETE/providers/Microsoft.StreamAnalytics/streamingjobs/wrm-test-vs-job", + "name": "wrm-test-vs-job", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "Japan East", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "37936929-58fc-4c06-900b-18d110d87fe8", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-06-24T07:41:10.94Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "jobType": "Cloud", + "cluster": null + }, + "identity": { + "principalId": "c10a9ec7-7136-441f-9e90-d17cd1a51b94", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json new file mode 100644 index 000000000000..ead3c7ffb2f9 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json @@ -0,0 +1,504 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "$expand": "inputs,outputs,transformation,functions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest", + "name": "asaClusterTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":2}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "c5b86804-4b8e-4d99-885f-910ea24b51f4", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-15T03:41:25.7Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/inputs/HistoricalTrafficData", + "name": "HistoricalTrafficData", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest" + } + ], + "container": "container1", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + }, + "etag": "8ffd285f-cc45-4a0a-9e0b-a7cfd7f7130c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/inputs/input", + "name": "input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "consumerGroupName": "1", + "eventHubName": "input", + "serviceBusNamespace": "azuremlbugbash", + "sharedAccessPolicyName": "inputpolicy", + "authenticationMode": "ConnectionString" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "d62c06ad-343b-4631-81cc-2c63c4081869" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "-- input refers to the alias of your event hub \r\n\r\nWITH  \r\n\r\nTripData AS ( \r\n\r\n    SELECT TRY_CAST(pickupLat AS float) as pickupLat, \r\n\r\n    TRY_CAST(pickupLon AS float) as pickupLon, \r\n\r\n    passengerCount, TripTimeinSeconds,  \r\n\r\n    pickupTime, VendorID, tripDistanceInMiles \r\n\r\n    FROM input timestamp by pickupTime \r\n\r\n    WHERE pickupLat > -90 AND pickupLat < 90 AND pickupLon > -180 AND pickupLon < 180 \r\n\r\n) \r\n\r\n \r\n\r\n--query 1 \r\n\r\nSELECT count(*), system.timestamp as timestamps \r\n\r\nINTO output \r\n\r\nFROM TripData \r\n\r\nGroup by hoppingwindow(second,60,5) \r\n\r\n \r\n\r\n \r\n\r\n--query 2 where HistoricalTrafficData is the alias of your reference data \r\n\r\nSELECT count(TripData.VendorID) as NbTrips, avg(TripData.passengerCount) as AvgPassenger, avg(TripData.TripTimeinSeconds) as TripTimeinSeconds, System.Timestamp as timestamps, TRY_CAST(HistoricalTrafficData.avgTraffic as bigint) as historicalTraffic \r\n\r\nINTO PBI \r\n\r\nFROM TripData \r\n\r\nJOIN HistoricalTrafficData ON \r\n\r\ndatepart(hour,TripData.pickupTime) = TRY_CAST(HistoricalTrafficData.hour as bigint) \r\n\r\nGroup By TripData.VendorID, HistoricalTrafficData.avgTraffic, hoppingwindow(second,60,5) ", + "etag": "cc14703e-4d5f-489c-97e4-adf75698b20d" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/outputs/output", + "name": "output", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest" + } + ], + "container": "output", + "pathPattern": "", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "timeWindow": "01:59:00", + "sizeWindow": 1, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "3632dbc3-1a8c-49dc-838d-1f84b709c667" + } + } + ], + "etag": "ba6f6d8e-57e2-45bd-87ba-2b62c259bbcc", + "jobType": "Cloud", + "cluster": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/zhejunASA" + } + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest", + "name": "ASAUDFTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "8b39d20f-d8df-42e0-8198-a20160e4696b", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-16T05:56:55.51Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": { + "authenticationMode": "ConnectionString", + "accountName": "zhejuntest" + }, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "GatewayMessageBus" + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "34dcf5e8-d33e-4de3-b413-580fa9316f4b" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": null, + "query": " SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint))\r\n INTO Output\r\n FROM Input", + "etag": "29beb753-10cb-4627-91df-09dbfea9ac77" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/functions/ASAEdgeUDFDemo_Class1_SquareFunction", + "name": "ASAEdgeUDFDemo_Class1_SquareFunction", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "any", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + }, + "etag": "c3f6f31b-6b42-42c9-8cb1-1d12d6ab448a" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/outputs/Output", + "name": "Output", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "GatewayMessageBus" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + }, + "etag": "c6ba3df6-13af-40af-992f-9317e8537590" + } + } + ], + "etag": "bfee3a7f-cdaf-4b1e-b449-71a3b8b4d6d9", + "jobType": "Edge", + "externals": { + "storageAccount": { + "accountName": "zhejuntest" + }, + "container": "container2", + "path": "UserCustomCode.zip" + }, + "cluster": null + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "MyASAIoT", + "sharedAccessPolicyName": "iothubowner", + "endpoint": "messages/events", + "consumerGroupName": "$Default" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "3cb574f7-b63a-4ac1-a1db-8e8a3b88a20d" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "\r\nWITH sentiment AS ( \r\nSELECT Temperature, diabetespredict(Temperature) as result \r\nFROM Input \r\n) \r\n\r\nSELECT Temperature, result.[Score] \r\nINTO BlobOutput1\r\nFROM sentiment\r\n\r\n/*\r\nSELECT data, MLFunction2(data)\r\nFROM sampleRequestData\r\n*/\r\n/*\r\nSELECT data, AksArrayScore(data)\r\nFROM sampleData\r\n*/", + "etag": "7241d411-e71d-4205-b77e-4cc56aba34c0" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/diabetespredict", + "name": "diabetespredict", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "acfdd307-418c-48f3-8856-7c176d38529f" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction2", + "name": "MLFunction2", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://13.83.67.157/api/v1/service/nyc-fare-predict/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "4d537fa6-f43c-4ee6-a45e-9a8f8002a65c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction3", + "name": "MLFunction3", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "912f08e7-4a8c-46eb-afaf-d88f930a7b45" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/outputs/BlobOutput1", + "name": "BlobOutput1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest2" + } + ], + "container": "output", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "1c271cd5-dd4a-4d3e-95ee-1dbcaa530c2c" + } + } + ], + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json new file mode 100644 index 000000000000..e56d3b9c58f8 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest", + "name": "asaClusterTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":2}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "c5b86804-4b8e-4d99-885f-910ea24b51f4", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-15T03:41:25.7Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "etag": "ba6f6d8e-57e2-45bd-87ba-2b62c259bbcc", + "jobType": "Cloud", + "cluster": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/zhejunASA" + } + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest", + "name": "ASAUDFTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "8b39d20f-d8df-42e0-8198-a20160e4696b", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-16T05:56:55.51Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": { + "authenticationMode": "ConnectionString", + "accountName": "zhejuntest" + }, + "contentStoragePolicy": "SystemAccount", + "etag": "bfee3a7f-cdaf-4b1e-b449-71a3b8b4d6d9", + "jobType": "Edge", + "externals": { + "storageAccount": { + "accountName": "zhejuntest" + }, + "container": "container2", + "path": "UserCustomCode.zip" + }, + "cluster": null + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_Expand.json new file mode 100644 index 000000000000..bf17ca0995be --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_Expand.json @@ -0,0 +1,503 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "$expand": "inputs,outputs,transformation,functions" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest", + "name": "asaClusterTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":2}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "c5b86804-4b8e-4d99-885f-910ea24b51f4", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-15T03:41:25.7Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/inputs/HistoricalTrafficData", + "name": "HistoricalTrafficData", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Reference", + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest" + } + ], + "container": "container1", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Csv", + "properties": { + "fieldDelimiter": ",", + "encoding": "UTF8" + } + }, + "etag": "8ffd285f-cc45-4a0a-9e0b-a7cfd7f7130c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/inputs/input", + "name": "input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "consumerGroupName": "1", + "eventHubName": "input", + "serviceBusNamespace": "azuremlbugbash", + "sharedAccessPolicyName": "inputpolicy", + "authenticationMode": "ConnectionString" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "d62c06ad-343b-4631-81cc-2c63c4081869" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "-- input refers to the alias of your event hub \r\n\r\nWITH  \r\n\r\nTripData AS ( \r\n\r\n    SELECT TRY_CAST(pickupLat AS float) as pickupLat, \r\n\r\n    TRY_CAST(pickupLon AS float) as pickupLon, \r\n\r\n    passengerCount, TripTimeinSeconds,  \r\n\r\n    pickupTime, VendorID, tripDistanceInMiles \r\n\r\n    FROM input timestamp by pickupTime \r\n\r\n    WHERE pickupLat > -90 AND pickupLat < 90 AND pickupLon > -180 AND pickupLon < 180 \r\n\r\n) \r\n\r\n \r\n\r\n--query 1 \r\n\r\nSELECT count(*), system.timestamp as timestamps \r\n\r\nINTO output \r\n\r\nFROM TripData \r\n\r\nGroup by hoppingwindow(second,60,5) \r\n\r\n \r\n\r\n \r\n\r\n--query 2 where HistoricalTrafficData is the alias of your reference data \r\n\r\nSELECT count(TripData.VendorID) as NbTrips, avg(TripData.passengerCount) as AvgPassenger, avg(TripData.TripTimeinSeconds) as TripTimeinSeconds, System.Timestamp as timestamps, TRY_CAST(HistoricalTrafficData.avgTraffic as bigint) as historicalTraffic \r\n\r\nINTO PBI \r\n\r\nFROM TripData \r\n\r\nJOIN HistoricalTrafficData ON \r\n\r\ndatepart(hour,TripData.pickupTime) = TRY_CAST(HistoricalTrafficData.hour as bigint) \r\n\r\nGroup By TripData.VendorID, HistoricalTrafficData.avgTraffic, hoppingwindow(second,60,5) ", + "etag": "cc14703e-4d5f-489c-97e4-adf75698b20d" + } + }, + "functions": [], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest/outputs/output", + "name": "output", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest" + } + ], + "container": "output", + "pathPattern": "", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "timeWindow": "01:59:00", + "sizeWindow": 1, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "3632dbc3-1a8c-49dc-838d-1f84b709c667" + } + } + ], + "etag": "ba6f6d8e-57e2-45bd-87ba-2b62c259bbcc", + "jobType": "Cloud", + "cluster": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/zhejunASA" + } + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest", + "name": "ASAUDFTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "8b39d20f-d8df-42e0-8198-a20160e4696b", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-16T05:56:55.51Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": { + "authenticationMode": "ConnectionString", + "accountName": "zhejuntest" + }, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "GatewayMessageBus" + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "34dcf5e8-d33e-4de3-b413-580fa9316f4b" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": null, + "query": " SELECT machine.temperature, udf.ASAEdgeUDFDemo_Class1_SquareFunction(try_cast(machine.temperature as bigint))\r\n INTO Output\r\n FROM Input", + "etag": "29beb753-10cb-4627-91df-09dbfea9ac77" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/functions/ASAEdgeUDFDemo_Class1_SquareFunction", + "name": "ASAEdgeUDFDemo_Class1_SquareFunction", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "any", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "any" + }, + "binding": { + "type": "Microsoft.StreamAnalytics/CLRUdf", + "properties": { + "dllPath": "ASAEdgeApplication2_CodeBehind", + "class": "ASAEdgeUDFDemo.Class1", + "method": "SquareFunction" + } + } + }, + "etag": "c3f6f31b-6b42-42c9-8cb1-1d12d6ab448a" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest/outputs/Output", + "name": "Output", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "GatewayMessageBus" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "Array" + } + }, + "etag": "c6ba3df6-13af-40af-992f-9317e8537590" + } + } + ], + "etag": "bfee3a7f-cdaf-4b1e-b449-71a3b8b4d6d9", + "jobType": "Edge", + "externals": { + "storageAccount": { + "accountName": "zhejuntest" + }, + "container": "container2", + "path": "UserCustomCode.zip" + }, + "cluster": null + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/inputs/Input", + "name": "Input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.Devices/IotHubs", + "properties": { + "iotHubNamespace": "MyASAIoT", + "sharedAccessPolicyName": "iothubowner", + "endpoint": "messages/events", + "consumerGroupName": "$Default" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "3cb574f7-b63a-4ac1-a1db-8e8a3b88a20d" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "\r\nWITH sentiment AS ( \r\nSELECT Temperature, diabetespredict(Temperature) as result \r\nFROM Input \r\n) \r\n\r\nSELECT Temperature, result.[Score] \r\nINTO BlobOutput1\r\nFROM sentiment\r\n\r\n/*\r\nSELECT data, MLFunction2(data)\r\nFROM sampleRequestData\r\n*/\r\n/*\r\nSELECT data, AksArrayScore(data)\r\nFROM sampleData\r\n*/", + "etag": "7241d411-e71d-4205-b77e-4cc56aba34c0" + } + }, + "functions": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/diabetespredict", + "name": "diabetespredict", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "acfdd307-418c-48f3-8856-7c176d38529f" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction2", + "name": "MLFunction2", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://13.83.67.157/api/v1/service/nyc-fare-predict/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "4d537fa6-f43c-4ee6-a45e-9a8f8002a65c" + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/functions/MLFunction3", + "name": "MLFunction3", + "type": "Microsoft.StreamAnalytics/streamingjobs/functions", + "properties": { + "type": "Scalar", + "properties": { + "inputs": [ + { + "dataType": "array", + "isConfigurationParameter": null + } + ], + "output": { + "dataType": "float" + }, + "binding": { + "type": "Microsoft.MachineLearningServices", + "properties": { + "endpoint": "http://52.183.91.247/api/v1/service/aks-service-1/score", + "apiKey": null, + "inputs": [ + { + "name": "data", + "dataType": "array", + "mapTo": 0 + } + ], + "outputs": [ + { + "name": "output", + "dataType": "double", + "mapTo": 0 + } + ], + "batchSize": 1000, + "numberOfParallelRequests": 1 + } + } + }, + "etag": "912f08e7-4a8c-46eb-afaf-d88f930a7b45" + } + } + ], + "outputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest/outputs/BlobOutput1", + "name": "BlobOutput1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Storage/Blob", + "properties": { + "storageAccounts": [ + { + "accountName": "zhejuntest2" + } + ], + "container": "output", + "pathPattern": "{date}{time}", + "dateFormat": "yyyy/MM/dd", + "timeFormat": "HH", + "authenticationMode": "ConnectionString" + } + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8", + "format": "LineSeparated" + } + }, + "etag": "1c271cd5-dd4a-4d3e-95ee-1dbcaa530c2c" + } + } + ], + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json new file mode 100644 index 000000000000..ba64bea75a82 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/asaClusterTest", + "name": "asaClusterTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":2}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "c5b86804-4b8e-4d99-885f-910ea24b51f4", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-15T03:41:25.7Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "etag": "ba6f6d8e-57e2-45bd-87ba-2b62c259bbcc", + "jobType": "Cloud", + "cluster": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/zhejunASA" + } + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/ASAUDFTest", + "name": "ASAUDFTest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": {}, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "8b39d20f-d8df-42e0-8198-a20160e4696b", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-16T05:56:55.51Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": { + "authenticationMode": "ConnectionString", + "accountName": "zhejuntest" + }, + "contentStoragePolicy": "SystemAccount", + "etag": "bfee3a7f-cdaf-4b1e-b449-71a3b8b4d6d9", + "jobType": "Edge", + "externals": { + "storageAccount": { + "accountName": "zhejuntest" + }, + "container": "container2", + "path": "UserCustomCode.zip" + }, + "cluster": null + } + }, + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/zhejunmltest", + "name": "zhejunmltest", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "aacee415-41d4-47f6-acf4-de9ae50175b0", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Drop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-17T08:36:07.463Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "etag": "89ba3a42-e217-432e-bf23-798dbf001519", + "jobType": "Cloud", + "cluster": null + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_CustomTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_CustomTime.json new file mode 100644 index 000000000000..0e20a536d73b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_CustomTime.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "CustomTime", + "outputStartTime": "2012-12-12T12:12:12Z" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_JobStartTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_JobStartTime.json new file mode 100644 index 000000000000..165fd2b75266 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_JobStartTime.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "JobStartTime" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json new file mode 100644 index 000000000000..5be70fd3794f --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59", + "startJobParameters": { + "outputStartMode": "LastOutputEventTime" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Stop.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Stop.json new file mode 100644 index 000000000000..bd959439dd1b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Stop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Update.json new file mode 100644 index 000000000000..4cdadcf92e28 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/StreamingJob_Update.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj59", + "streamingJob": { + "properties": { + "eventsOutOfOrderMaxDelayInSeconds": 21, + "eventsLateArrivalMaxDelayInSeconds": 13 + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "3e6872bc-c9d0-45b6-91b6-da66f1773056" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/abdasPartitionCountTags", + "name": "abdasPartitionCountTags", + "type": "Microsoft.StreamAnalytics/streamingjobs", + "location": "West US", + "tags": { + "hidden-link:/Microsoft.StreamAnalytics/streamingjobs/inputs/input": "{\"partitionCount\":1}" + }, + "properties": { + "sku": { + "name": "Standard" + }, + "jobId": "6d2b662c-a8b1-4a19-b3bb-8314adfa7ec3", + "provisioningState": "Succeeded", + "jobState": "Created", + "eventsOutOfOrderPolicy": "Adjust", + "outputErrorPolicy": "Stop", + "eventsOutOfOrderMaxDelayInSeconds": 0, + "eventsLateArrivalMaxDelayInSeconds": 5, + "dataLocale": "en-US", + "createdDate": "2020-07-10T18:03:00.21Z", + "compatibilityLevel": "1.2", + "jobStorageAccount": null, + "contentStoragePolicy": "SystemAccount", + "inputs": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/abdasPartitionCountTags/inputs/input", + "name": "input", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.ServiceBus/EventHub", + "properties": { + "consumerGroupName": "abdasPartitionCountTags_input_consumer_group", + "eventHubName": "anothereh", + "serviceBusNamespace": "another-new-ns", + "sharedAccessPolicyName": "abdasPartitionCountTags_input_policy", + "authenticationMode": "ConnectionString" + } + }, + "compression": { + "type": "None" + }, + "serialization": { + "type": "Json", + "properties": { + "encoding": "UTF8" + } + }, + "etag": "26fb1bf7-f153-4bb9-a1e8-5ca32d9489be" + } + } + ], + "transformation": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/abdasPartitionCountTags/transformations/Transformation", + "name": "Transformation", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 3, + "query": "SELECT\r\n *\r\nINTO\r\n [YourOutputAlias]\r\nFROM\r\n [YourInputAlias]", + "etag": "57f64482-3663-49d1-b29f-cd74a9a7e211" + } + }, + "functions": [], + "outputs": [], + "jobType": "Cloud", + "cluster": null + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Subscription_ListQuotas.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Subscription_ListQuotas.json new file mode 100644 index 000000000000..0b8dbdad3cc5 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Subscription_ListQuotas.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "location": "West US" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/providers/Microsoft.StreamAnalytics/locations/West US/quotas/StreamingUnits", + "name": "StreamingUnits", + "type": "Microsoft.StreamAnalytics/quotas", + "properties": { + "maxCount": 200, + "currentCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Create.json new file mode 100644 index 000000000000..865c80472b38 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Create.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8374", + "transformationName": "transformation952", + "transformation": { + "properties": { + "streamingUnits": 6, + "query": "Select Id, Name from inputtest" + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8374/transformations/transformation952", + "name": "transformation952", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 6, + "query": "Select Id, Name from inputtest" + } + } + }, + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8374/transformations/transformation952", + "name": "transformation952", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 6, + "query": "Select Id, Name from inputtest" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Get.json new file mode 100644 index 000000000000..02d8fc5d7197 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8374", + "transformationName": "transformation952" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8374/transformations/transformation952", + "name": "transformation952", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 6, + "query": "Select Id, Name from inputtest" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Update.json new file mode 100644 index 000000000000..365598c160ca --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Transformation_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sj8374", + "transformationName": "transformation952", + "transformation": { + "properties": { + "query": "New query" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "fc6f7a9b-3eea-4589-8265-cc854ec25f5a" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sj8374/transformations/transformation952", + "name": "transformation952", + "type": "Microsoft.StreamAnalytics/streamingjobs/transformations", + "properties": { + "streamingUnits": 6, + "query": "New query" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json new file mode 100644 index 000000000000..b33a07742e00 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json @@ -0,0 +1,977 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}": { + "put": { + "tags": [ + "Functions" + ], + "operationId": "Functions_CreateOrReplace", + "description": "Creates a function or replaces an already existing function under an existing streaming job.", + "x-ms-examples": { + "Create an Azure ML function": { + "$ref": "./examples/Function_Create_AzureML.json" + }, + "Create a JavaScript function": { + "$ref": "./examples/Function_Create_JavaScript.json" + }, + "Create an Azure ML Service function": { + "$ref": "./examples/Function_Create_AzureMLService.json" + }, + "Create a CLRUdf function": { + "$ref": "./examples/Function_Create_CSharp.json" + } + }, + "parameters": [ + { + "name": "function", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Function" + }, + "description": "The definition of the function that will be used to create a new function or replace the existing one under the streaming job." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfNoneMatch", + "description": "Set to '*' to allow a new function to be created, but to prevent updating an existing function. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "The function was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Function" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the function. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + }, + "201": { + "description": "The function was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Function" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the function. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "patch": { + "tags": [ + "Functions" + ], + "operationId": "Functions_Update", + "description": "Updates an existing function under an existing streaming job. This can be used to partially update (ie. update one or two properties) a function without affecting the rest the job or function definition.", + "x-ms-examples": { + "Update an Azure ML function": { + "$ref": "./examples/Function_Update_AzureML.json" + }, + "Update a JavaScript function": { + "$ref": "./examples/Function_Update_JavaScript.json" + } + }, + "parameters": [ + { + "name": "function", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Function" + }, + "description": "A function object. The properties specified here will overwrite the corresponding properties in the existing function (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing function will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "The function was successfully updated.", + "schema": { + "$ref": "#/definitions/Function" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the function. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "Functions" + ], + "operationId": "Functions_Delete", + "description": "Deletes a function from the streaming job.", + "x-ms-examples": { + "Delete a function": { + "$ref": "./examples/Function_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "The function was successfully deleted." + }, + "204": { + "description": "The function does not exist." + } + } + }, + "get": { + "tags": [ + "Functions" + ], + "operationId": "Functions_Get", + "description": "Gets details about the specified function.", + "x-ms-examples": { + "Get an Azure ML function": { + "$ref": "./examples/Function_Get_AzureML.json" + }, + "Get a JavaScript function": { + "$ref": "./examples/Function_Get_JavaScript.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified function.", + "schema": { + "$ref": "#/definitions/Function" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the function. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions": { + "get": { + "tags": [ + "Functions" + ], + "operationId": "Functions_ListByStreamingJob", + "description": "Lists all of the functions under the specified streaming job.", + "x-ms-examples": { + "List all functions in a streaming job": { + "$ref": "./examples/Function_ListByStreamingJob.json" + } + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"*\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the functions under the specified streaming job.", + "schema": { + "$ref": "#/definitions/FunctionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/test": { + "post": { + "tags": [ + "Functions" + ], + "operationId": "Functions_Test", + "description": "Tests if the information provided for a function is valid. This can range from testing the connection to the underlying web service behind the function or making sure the function code provided is syntactically correct.", + "x-ms-examples": { + "Test the connection for an Azure ML function": { + "$ref": "./examples/Function_Test_AzureML.json" + }, + "Test the connection for a JavaScript function": { + "$ref": "./examples/Function_Test_JavaScript.json" + } + }, + "parameters": [ + { + "name": "function", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Function" + }, + "description": "If the function specified does not already exist, this parameter must contain the full function definition intended to be tested. If the function specified already exists, this parameter can be left null to test the existing function as is or if specified, the properties specified will overwrite the corresponding properties in the existing function (exactly like a PATCH operation) and the resulting function will be tested." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "The test operation completed successfully.", + "schema": { + "$ref": "./inputs.json#/definitions/ResourceTestStatus" + } + }, + "202": { + "description": "The test request was successfully initiated." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition": { + "post": { + "tags": [ + "Functions" + ], + "operationId": "Functions_RetrieveDefaultDefinition", + "description": "Retrieves the default definition of a function based on the parameters specified.", + "x-ms-examples": { + "Retrieve the default definition for an Azure ML function": { + "$ref": "./examples/Function_RetrieveDefaultDefinition_AzureML.json" + } + }, + "parameters": [ + { + "name": "functionRetrieveDefaultDefinitionParameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + }, + "description": "Parameters used to specify the type of function to retrieve the default definition for." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/FunctionNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the function's default definition.", + "schema": { + "$ref": "#/definitions/Function" + } + } + } + } + } + }, + "definitions": { + "Function": { + "description": "A function object, containing all information associated with the named function. All functions are contained under a streaming job.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FunctionProperties", + "description": "The properties that are associated with a function." + } + } + }, + "FunctionProperties": { + "description": "The properties that are associated with a function.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of function." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The current entity tag for the function. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + }, + "properties": { + "$ref": "#/definitions/FunctionConfiguration", + "x-ms-client-flatten": true + } + }, + "required": [ + "type" + ] + }, + "FunctionConfiguration": { + "properties": { + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/FunctionInput" + } + }, + "output": { + "$ref": "#/definitions/FunctionOutput" + }, + "binding": { + "$ref": "#/definitions/FunctionBinding" + } + } + }, + "ScalarFunctionProperties": { + "description": "The properties that are associated with a scalar function.", + "x-ms-discriminator-value": "Scalar", + "allOf": [ + { + "$ref": "#/definitions/FunctionProperties" + } + ] + }, + "FunctionInput": { + "description": "Describes one input parameter of a function.", + "properties": { + "dataType": { + "type": "string", + "description": "The (Azure Stream Analytics supported) data type of the function input parameter. A list of valid Azure Stream Analytics data types are described at https://msdn.microsoft.com/en-us/library/azure/dn835065.aspx" + }, + "isConfigurationParameter": { + "type": "boolean", + "description": "A flag indicating if the parameter is a configuration parameter. True if this input parameter is expected to be a constant. Default is false." + } + } + }, + "FunctionOutput": { + "description": "Describes the output of a function.", + "properties": { + "dataType": { + "type": "string", + "description": "The (Azure Stream Analytics supported) data type of the function output. A list of valid Azure Stream Analytics data types are described at https://msdn.microsoft.com/en-us/library/azure/dn835065.aspx" + } + } + }, + "FunctionBinding": { + "description": "The physical binding of the function. For example, in the Azure Machine Learning web service’s case, this describes the endpoint.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the function binding type." + } + }, + "required": [ + "type" + ] + }, + "AzureMachineLearningStudioFunctionBinding": { + "description": "The binding to an Azure Machine Learning Studio.", + "x-ms-discriminator-value": "Microsoft.MachineLearning/WebService", + "allOf": [ + { + "$ref": "#/definitions/FunctionBinding" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureMachineLearningStudioFunctionBindingProperties", + "description": "The binding properties associated with an Azure Machine learning Studio.", + "x-ms-client-flatten": true + } + } + }, + "AzureMachineLearningStudioFunctionBindingProperties": { + "description": "The binding properties associated with an Azure Machine learning Studio.", + "properties": { + "endpoint": { + "type": "string", + "description": "The Request-Response execute endpoint of the Azure Machine Learning Studio. Find out more here: https://docs.microsoft.com/en-us/azure/machine-learning/machine-learning-consume-web-services#request-response-service-rrs" + }, + "apiKey": { + "type": "string", + "description": "The API key used to authenticate with Request-Response endpoint." + }, + "inputs": { + "$ref": "#/definitions/AzureMachineLearningStudioInputs", + "description": "The inputs for the Azure Machine Learning Studio endpoint." + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningStudioOutputColumn" + }, + "description": "A list of outputs from the Azure Machine Learning Studio endpoint execution." + }, + "batchSize": { + "type": "integer", + "format": "int32", + "description": "Number between 1 and 10000 describing maximum number of rows for every Azure ML RRS execute request. Default is 1000." + } + } + }, + "AzureMachineLearningStudioInputs": { + "description": "The inputs for the Azure Machine Learning Studio endpoint.", + "properties": { + "name": { + "type": "string", + "description": "The name of the input. This is the name provided while authoring the endpoint." + }, + "columnNames": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningStudioInputColumn" + }, + "description": "A list of input columns for the Azure Machine Learning Studio endpoint." + } + } + }, + "AzureMachineLearningStudioInputColumn": { + "description": "Describes an input column for the Azure Machine Learning Studio endpoint.", + "properties": { + "name": { + "type": "string", + "description": "The name of the input column." + }, + "dataType": { + "type": "string", + "description": "The (Azure Machine Learning supported) data type of the input column. A list of valid Azure Machine Learning data types are described at https://msdn.microsoft.com/en-us/library/azure/dn905923.aspx ." + }, + "mapTo": { + "type": "integer", + "format": "int32", + "description": "The zero based index of the function parameter this input maps to." + } + } + }, + "AzureMachineLearningStudioOutputColumn": { + "description": "Describes an output column for the Azure Machine Learning Studio endpoint.", + "properties": { + "name": { + "type": "string", + "description": "The name of the output column." + }, + "dataType": { + "type": "string", + "description": "The (Azure Machine Learning supported) data type of the output column. A list of valid Azure Machine Learning data types are described at https://msdn.microsoft.com/en-us/library/azure/dn905923.aspx ." + } + } + }, + "JavaScriptFunctionBinding": { + "description": "The binding to a JavaScript function.", + "x-ms-discriminator-value": "Microsoft.StreamAnalytics/JavascriptUdf", + "allOf": [ + { + "$ref": "#/definitions/FunctionBinding" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JavaScriptFunctionBindingProperties", + "description": "The binding properties associated with a JavaScript function.", + "x-ms-client-flatten": true + } + } + }, + "JavaScriptFunctionBindingProperties": { + "description": "The binding properties associated with a JavaScript function.", + "properties": { + "script": { + "type": "string", + "description": "The JavaScript code containing a single function definition. For example: 'function (x, y) { return x + y; }'" + } + } + }, + "CSharpFunctionBinding": { + "description": "The binding to a CSharp function.", + "x-ms-discriminator-value": "Microsoft.StreamAnalytics/CLRUdf", + "allOf": [ + { + "$ref": "#/definitions/FunctionBinding" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CSharpFunctionBindingProperties", + "description": "The binding properties associated with a CSharp function.", + "x-ms-client-flatten": true + } + } + }, + "CSharpFunctionBindingProperties": { + "description": "The binding properties associated with a CSharp function.", + "properties": { + "script": { + "type": "string", + "description": "The Csharp code containing a single function definition." + }, + "dllPath": { + "type": "string", + "description": "The Csharp code containing a single function definition." + }, + "class": { + "type": "string", + "description": "The Csharp code containing a single function definition." + }, + "method": { + "type": "string", + "description": "The Csharp code containing a single function definition." + } + } + }, + "FunctionRetrieveDefaultDefinitionParameters": { + "description": "Parameters used to specify the type of function to retrieve the default definition for.", + "discriminator": "bindingType", + "properties": { + "bindingType": { + "type": "string", + "description": "Indicates the function binding type." + } + }, + "required": [ + "bindingType" + ] + }, + "AzureMachineLearningStudioFunctionRetrieveDefaultDefinitionParameters": { + "description": "The parameters needed to retrieve the default function definition for an Azure Machine Learning Studio function.", + "x-ms-discriminator-value": "Microsoft.MachineLearning/WebService", + "allOf": [ + { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + } + ], + "properties": { + "bindingRetrievalProperties": { + "$ref": "#/definitions/AzureMachineLearningStudioFunctionBindingRetrievalProperties", + "description": "The binding retrieval properties associated with an Azure Machine learning Studio.", + "x-ms-client-flatten": true + } + } + }, + "AzureMachineLearningStudioFunctionBindingRetrievalProperties": { + "description": "The binding retrieval properties associated with an Azure Machine learning Studio.", + "properties": { + "executeEndpoint": { + "type": "string", + "description": "The Request-Response execute endpoint of the Azure Machine Learning Studio. Find out more here: https://docs.microsoft.com/en-us/azure/machine-learning/machine-learning-consume-web-services#request-response-service-rrs" + }, + "udfType": { + "$ref": "#/definitions/UdfType", + "description": "The function type." + } + } + }, + "AzureMachineLearningServiceFunctionRetrieveDefaultDefinitionParameters": { + "description": "The parameters needed to retrieve the default function definition for an Azure Machine Learning web service function.", + "x-ms-discriminator-value": "Microsoft.MachineLearningServices", + "allOf": [ + { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + } + ], + "properties": { + "bindingRetrievalProperties": { + "$ref": "#/definitions/AzureMachineLearningServiceFunctionBindingRetrievalProperties", + "description": "The binding retrieval properties associated with an Azure Machine learning web service.", + "x-ms-client-flatten": true + } + } + }, + "AzureMachineLearningServiceFunctionBindingRetrievalProperties": { + "description": "The binding retrieval properties associated with an Azure Machine learning web service.", + "properties": { + "executeEndpoint": { + "type": "string", + "description": "The Request-Response execute endpoint of the Azure Machine Learning web service." + }, + "udfType": { + "$ref": "#/definitions/UdfType", + "description": "The function type." + } + } + }, + "JavaScriptFunctionRetrieveDefaultDefinitionParameters": { + "description": "The parameters needed to retrieve the default function definition for a JavaScript function.", + "x-ms-discriminator-value": "Microsoft.StreamAnalytics/JavascriptUdf", + "allOf": [ + { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + } + ], + "properties": { + "bindingRetrievalProperties": { + "$ref": "#/definitions/JavaScriptFunctionBindingRetrievalProperties", + "description": "The binding retrieval properties associated with a JavaScript function.", + "x-ms-client-flatten": true + } + } + }, + "JavaScriptFunctionBindingRetrievalProperties": { + "description": "The binding retrieval properties associated with a JavaScript function.", + "properties": { + "script": { + "type": "string", + "description": "The JavaScript code containing a single function definition. For example: 'function (x, y) { return x + y; }'." + }, + "udfType": { + "$ref": "#/definitions/UdfType", + "description": "The function type." + } + } + }, + "CSharpFunctionRetrieveDefaultDefinitionParameters": { + "description": "The parameters needed to retrieve the default function definition for a CSharp function.", + "x-ms-discriminator-value": "Microsoft.StreamAnalytics/CLRUdf", + "allOf": [ + { + "$ref": "#/definitions/FunctionRetrieveDefaultDefinitionParameters" + } + ], + "properties": { + "bindingRetrievalProperties": { + "$ref": "#/definitions/CSharpFunctionBindingRetrievalProperties", + "description": "The binding retrieval properties associated with a CSharp function.", + "x-ms-client-flatten": true + } + } + }, + "CSharpFunctionBindingRetrievalProperties": { + "description": "The binding retrieval properties associated with a CSharp function.", + "properties": { + "script": { + "type": "string", + "description": "The CSharp code containing a single function definition." + }, + "udfType": { + "$ref": "#/definitions/UdfType", + "description": "The function type." + } + } + }, + "AzureMachineLearningServiceFunctionBinding": { + "description": "The binding to an Azure Machine Learning web service.", + "x-ms-discriminator-value": "Microsoft.MachineLearningServices", + "allOf": [ + { + "$ref": "#/definitions/FunctionBinding" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureMachineLearningServiceFunctionBindingProperties", + "description": "The binding properties associated with an Azure Machine learning web service.", + "x-ms-client-flatten": true + } + } + }, + "AzureMachineLearningServiceFunctionBindingProperties": { + "description": "The binding properties associated with an Azure Machine learning web service.", + "properties": { + "endpoint": { + "type": "string", + "description": "The Request-Response execute endpoint of the Azure Machine Learning web service." + }, + "apiKey": { + "type": "string", + "description": "The API key used to authenticate with Request-Response endpoint." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningServiceInputColumn" + }, + "description": "The inputs for the Azure Machine Learning web service endpoint." + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningServiceOutputColumn" + }, + "description": "A list of outputs from the Azure Machine Learning web service endpoint execution." + }, + "batchSize": { + "type": "integer", + "format": "int32", + "description": "Number between 1 and 10000 describing maximum number of rows for every Azure ML RRS execute request. Default is 1000." + }, + "numberOfParallelRequests": { + "type": "integer", + "format": "int32", + "description": "The number of parallel requests that will be sent per partition of your job to the machine learning service. Default is 1." + } + } + }, + "AzureMachineLearningServiceInputs": { + "description": "The inputs for the Azure Machine Learning web service endpoint.", + "properties": { + "name": { + "type": "string", + "description": "The name of the input. This is the name provided while authoring the endpoint." + }, + "columnNames": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureMachineLearningServiceInputColumn" + }, + "description": "A list of input columns for the Azure Machine Learning web service endpoint." + } + } + }, + "AzureMachineLearningServiceInputColumn": { + "description": "Describes an input column for the Azure Machine Learning web service endpoint.", + "properties": { + "name": { + "type": "string", + "description": "The name of the input column." + }, + "dataType": { + "type": "string", + "description": "The (Azure Machine Learning supported) data type of the input column." + }, + "mapTo": { + "type": "integer", + "format": "int32", + "description": "The zero based index of the function parameter this input maps to." + } + } + }, + "AzureMachineLearningServiceOutputColumn": { + "description": "Describes an output column for the Azure Machine Learning web service endpoint.", + "properties": { + "name": { + "type": "string", + "description": "The name of the output column." + }, + "dataType": { + "type": "string", + "description": "The (Azure Machine Learning supported) data type of the output column." + }, + "mapTo": { + "type": "integer", + "format": "int32", + "description": "The zero based index of the function parameter this input maps to." + } + } + }, + "FunctionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Function" + }, + "readOnly": true, + "description": "A list of functions under a streaming job. Populated by a 'List' operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "description": "Object containing a list of functions under a streaming job." + }, + "UdfType": { + "type": "string", + "description": "The function type.", + "enum": [ + "Scalar" + ], + "x-ms-enum": { + "name": "UdfType", + "modelAsString": false + } + }, + "SubResource": { + "description": "The base sub-resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + }, + "AggregateFunctionProperties": { + "description": "The properties that are associated with an aggregate function.", + "x-ms-discriminator-value": "Aggregate", + "allOf": [ + { + "$ref": "#/definitions/FunctionProperties" + } + ] + } + }, + "parameters": { + "FunctionNameParameter": { + "name": "functionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the function.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json new file mode 100644 index 000000000000..51178cc6130c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json @@ -0,0 +1,1079 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}": { + "put": { + "tags": [ + "Inputs" + ], + "operationId": "Inputs_CreateOrReplace", + "description": "Creates an input or replaces an already existing input under an existing streaming job.", + "x-ms-examples": { + "Create a reference blob input with CSV serialization": { + "$ref": "./examples/Input_Create_Reference_Blob_CSV.json" + }, + "Create a stream blob input with CSV serialization": { + "$ref": "./examples/Input_Create_Stream_Blob_CSV.json" + }, + "Create a stream Event Hub input with JSON serialization": { + "$ref": "./examples/Input_Create_Stream_EventHub_JSON.json" + }, + "Create a stream IoT Hub input with Avro serialization": { + "$ref": "./examples/Input_Create_Stream_IoTHub_Avro.json" + } + }, + "parameters": [ + { + "name": "input", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Input" + }, + "description": "The definition of the input that will be used to create a new input or replace the existing one under the streaming job." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the input. Omit this value to always overwrite the current input. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfNoneMatch", + "description": "Set to '*' to allow a new input to be created, but to prevent updating an existing input. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "The input was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Input" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the input. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + }, + "201": { + "description": "The input was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Input" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the input. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "patch": { + "tags": [ + "Inputs" + ], + "operationId": "Inputs_Update", + "description": "Updates an existing input under an existing streaming job. This can be used to partially update (ie. update one or two properties) an input without affecting the rest the job or input definition.", + "x-ms-examples": { + "Update a reference blob input": { + "$ref": "./examples/Input_Update_Reference_Blob.json" + }, + "Update a stream blob input": { + "$ref": "./examples/Input_Update_Stream_Blob.json" + }, + "Update a stream Event Hub input": { + "$ref": "./examples/Input_Update_Stream_EventHub.json" + }, + "Update a stream IoT Hub input": { + "$ref": "./examples/Input_Update_Stream_IoTHub.json" + } + }, + "parameters": [ + { + "name": "input", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Input" + }, + "description": "An Input object. The properties specified here will overwrite the corresponding properties in the existing input (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing input will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the input. Omit this value to always overwrite the current input. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "The input was successfully updated.", + "schema": { + "$ref": "#/definitions/Input" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the input. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "Inputs" + ], + "operationId": "Inputs_Delete", + "description": "Deletes an input from the streaming job.", + "x-ms-examples": { + "Delete an input": { + "$ref": "./examples/Input_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "The input was successfully deleted." + }, + "204": { + "description": "The input does not exist." + } + } + }, + "get": { + "tags": [ + "Inputs" + ], + "operationId": "Inputs_Get", + "description": "Gets details about the specified input.", + "x-ms-examples": { + "Get a reference blob input with CSV serialization": { + "$ref": "./examples/Input_Get_Reference_Blob_CSV.json" + }, + "Get a stream blob input with CSV serialization": { + "$ref": "./examples/Input_Get_Stream_Blob_CSV.json" + }, + "Get a stream Event Hub input with JSON serialization": { + "$ref": "./examples/Input_Get_Stream_EventHub_JSON.json" + }, + "Get a stream IoT Hub input with Avro serialization": { + "$ref": "./examples/Input_Get_Stream_IoTHub_Avro.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified input.", + "schema": { + "$ref": "#/definitions/Input" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the input. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs": { + "get": { + "tags": [ + "Inputs" + ], + "operationId": "Inputs_ListByStreamingJob", + "description": "Lists all of the inputs under the specified streaming job.", + "x-ms-examples": { + "List all inputs in a streaming job": { + "$ref": "./examples/Input_ListByStreamingJob.json" + }, + "List all inputs in a streaming job and include diagnostic information using the $select OData query parameter": { + "$ref": "./examples/Input_ListByStreamingJob_Diagnostics.json" + } + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"*\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the inputs under the specified streaming job.", + "schema": { + "$ref": "#/definitions/InputListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/inputs/{inputName}/test": { + "post": { + "tags": [ + "Inputs" + ], + "operationId": "Inputs_Test", + "description": "Tests whether an input’s datasource is reachable and usable by the Azure Stream Analytics service.", + "x-ms-examples": { + "Test the connection for an input": { + "$ref": "./examples/Input_Test.json" + } + }, + "parameters": [ + { + "name": "input", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Input" + }, + "description": "If the input specified does not already exist, this parameter must contain the full input definition intended to be tested. If the input specified already exists, this parameter can be left null to test the existing input as is or if specified, the properties specified will overwrite the corresponding properties in the existing input (exactly like a PATCH operation) and the resulting input will be tested." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/InputNameParameter" + } + ], + "responses": { + "200": { + "description": "The test operation completed successfully.", + "schema": { + "$ref": "#/definitions/ResourceTestStatus" + } + }, + "202": { + "description": "The test request was successfully initiated." + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Input": { + "description": "An input object, containing all information associated with the named input. All inputs are contained under a streaming job.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/InputProperties", + "description": "The properties that are associated with an input. Required on PUT (CreateOrReplace) requests." + } + } + }, + "InputProperties": { + "description": "The properties that are associated with an input.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates whether the input is a source of reference data or stream data. Required on PUT (CreateOrReplace) requests." + }, + "serialization": { + "$ref": "#/definitions/Serialization", + "description": "Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests." + }, + "diagnostics": { + "readOnly": true, + "$ref": "#/definitions/Diagnostics", + "description": "Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The current entity tag for the input. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + }, + "compression": { + "$ref": "#/definitions/Compression" + }, + "partitionKey": { + "type": "string", + "description": "partitionKey Describes a key in the input data which is used for partitioning the input data" + } + }, + "required": [ + "type" + ] + }, + "StreamInputProperties": { + "description": "The properties that are associated with an input containing stream data.", + "x-ms-discriminator-value": "Stream", + "allOf": [ + { + "$ref": "#/definitions/InputProperties" + } + ], + "properties": { + "datasource": { + "$ref": "#/definitions/StreamInputDataSource", + "description": "Describes an input data source that contains stream data. Required on PUT (CreateOrReplace) requests." + } + } + }, + "ReferenceInputProperties": { + "description": "The properties that are associated with an input containing reference data.", + "x-ms-discriminator-value": "Reference", + "allOf": [ + { + "$ref": "#/definitions/InputProperties" + } + ], + "properties": { + "datasource": { + "$ref": "#/definitions/ReferenceInputDataSource", + "description": "Describes an input data source that contains reference data. Required on PUT (CreateOrReplace) requests." + } + } + }, + "StreamInputDataSource": { + "description": "Describes an input data source that contains stream data.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of input data source containing stream data. Required on PUT (CreateOrReplace) requests." + } + }, + "required": [ + "type" + ] + }, + "BlobStreamInputDataSource": { + "description": "Describes a blob input data source that contains stream data.", + "x-ms-discriminator-value": "Microsoft.Storage/Blob", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobStreamInputDataSourceProperties", + "description": "The properties that are associated with a blob input containing stream data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "BlobStreamInputDataSourceProperties": { + "description": "The properties that are associated with a blob input containing stream data.", + "allOf": [ + { + "$ref": "#/definitions/BlobDataSourceProperties" + } + ], + "properties": { + "sourcePartitionCount": { + "type": "integer", + "format": "int32", + "description": "The partition count of the blob input data source. Range 1 - 256." + } + } + }, + "EventHubStreamInputDataSource": { + "description": "Describes an Event Hub input data source that contains stream data.", + "x-ms-discriminator-value": "Microsoft.ServiceBus/EventHub", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubStreamInputDataSourceProperties", + "description": "The properties that are associated with an Event Hub input containing stream data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "EventHubV2StreamInputDataSource": { + "description": "Describes an Event Hub input data source that contains stream data.", + "x-ms-discriminator-value": "Microsoft.EventHub/EventHub", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubStreamInputDataSourceProperties", + "description": "The properties that are associated with an Event Hub input containing stream data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "EventHubStreamInputDataSourceProperties": { + "description": "The properties that are associated with a Event Hub input containing stream data.", + "allOf": [ + { + "$ref": "#/definitions/EventHubDataSourceProperties" + } + ], + "properties": { + "consumerGroupName": { + "type": "string", + "description": "The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not specified, the input uses the Event Hub’s default consumer group." + } + } + }, + "IoTHubStreamInputDataSource": { + "description": "Describes an IoT Hub input data source that contains stream data.", + "x-ms-discriminator-value": "Microsoft.Devices/IotHubs", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/IoTHubStreamInputDataSourceProperties", + "description": "The properties that are associated with an IoT Hub input containing stream data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "IoTHubStreamInputDataSourceProperties": { + "description": "The properties that are associated with a IoT Hub input containing stream data.", + "properties": { + "iotHubNamespace": { + "type": "string", + "description": "The name or the URI of the IoT Hub. Required on PUT (CreateOrReplace) requests." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The shared access policy name for the IoT Hub. This policy must contain at least the Service connect permission. Required on PUT (CreateOrReplace) requests." + }, + "sharedAccessPolicyKey": { + "type": "string", + "description": "The shared access policy key for the specified shared access policy. Required on PUT (CreateOrReplace) requests." + }, + "consumerGroupName": { + "type": "string", + "description": "The name of an IoT Hub Consumer Group that should be used to read events from the IoT Hub. If not specified, the input uses the Iot Hub’s default consumer group." + }, + "endpoint": { + "type": "string", + "description": "The IoT Hub endpoint to connect to (ie. messages/events, messages/operationsMonitoringEvents, etc.)." + } + } + }, + "ReferenceInputDataSource": { + "description": "Describes an input data source that contains reference data.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of input data source containing reference data. Required on PUT (CreateOrReplace) requests." + } + }, + "required": [ + "type" + ] + }, + "BlobReferenceInputDataSource": { + "description": "Describes a blob input data source that contains reference data.", + "x-ms-discriminator-value": "Microsoft.Storage/Blob", + "allOf": [ + { + "$ref": "#/definitions/ReferenceInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobReferenceInputDataSourceProperties", + "description": "The properties that are associated with a blob input containing reference data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "BlobReferenceInputDataSourceProperties": { + "description": "The properties that are associated with a blob input containing reference data.", + "allOf": [ + { + "$ref": "#/definitions/BlobDataSourceProperties" + } + ], + "properties": {} + }, + "BlobDataSourceProperties": { + "description": "The properties that are associated with a blob data source.", + "properties": { + "storageAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests." + }, + "container": { + "type": "string", + "description": "The name of a container within the associated Storage account. This container contains either the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests." + }, + "pathPattern": { + "type": "string", + "description": "The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more detailed explanation and example." + }, + "dateFormat": { + "type": "string", + "description": "The date format. Wherever {date} appears in pathPattern, the value of this property is used as the date format instead." + }, + "timeFormat": { + "type": "string", + "description": "The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead." + } + } + }, + "StorageAccount": { + "description": "The properties that are associated with an Azure Storage account", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the Azure Storage account. Required on PUT (CreateOrReplace) requests." + }, + "accountKey": { + "type": "string", + "description": "The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests." + } + } + }, + "ServiceBusDataSourceProperties": { + "description": "The common properties that are associated with Service Bus data sources (Queues, Topics, Event Hubs, etc.).", + "properties": { + "serviceBusNamespace": { + "type": "string", + "description": "The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on PUT (CreateOrReplace) requests." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on PUT (CreateOrReplace) requests." + }, + "sharedAccessPolicyKey": { + "type": "string", + "description": "The shared access policy key for the specified shared access policy. Required on PUT (CreateOrReplace) requests." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "EventHubDataSourceProperties": { + "description": "The common properties that are associated with Event Hub data sources.", + "allOf": [ + { + "$ref": "#/definitions/ServiceBusDataSourceProperties" + } + ], + "properties": { + "eventHubName": { + "type": "string", + "description": "The name of the Event Hub. Required on PUT (CreateOrReplace) requests." + } + } + }, + "Diagnostics": { + "description": "Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention.", + "properties": { + "conditions": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticCondition" + }, + "description": "A collection of zero or more conditions applicable to the resource, or to the job overall, that warrant customer attention." + } + } + }, + "DiagnosticCondition": { + "description": "Condition applicable to the resource, or to the job overall, that warrant customer attention.", + "properties": { + "since": { + "readOnly": true, + "type": "string", + "description": "The UTC timestamp of when the condition started. Customers should be able to find a corresponding event in the ops log around this time." + }, + "code": { + "readOnly": true, + "type": "string", + "description": "The opaque diagnostic code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The human-readable message describing the condition in detail. Localized in the Accept-Language of the client request." + } + } + }, + "InputListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Input" + }, + "readOnly": true, + "description": "A list of inputs under a streaming job. Populated by a 'List' operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "description": "Object containing a list of inputs under a streaming job." + }, + "Serialization": { + "description": "Describes how data from an input is serialized or how data is serialized when written to an output.", + "discriminator": "type", + "properties": { + "type": { + "$ref": "#/definitions/EventSerializationType" + } + }, + "required": [ + "type" + ] + }, + "ParquetSerialization": { + "description": "Describes how data from an input is serialized or how data is serialized when written to an output in Parquet format.", + "x-ms-discriminator-value": "Parquet", + "allOf": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ParquetSerializationProperties", + "description": "The properties that are associated with the Parquet serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "ParquetSerializationProperties": { + "description": "The properties that are associated with the Parquet serialization type.", + "properties": {} + }, + "CustomClrSerialization": { + "description": "Describes how data from an input is serialized or how data is serialized when written to an output in custom format.", + "x-ms-discriminator-value": "CustomClr", + "allOf": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomClrSerializationProperties", + "description": "The properties that are associated with the CustomClr serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "CustomClrSerializationProperties": { + "description": "The properties that are associated with the CustomClr serialization type.", + "properties": { + "serializationDllPath": { + "type": "string", + "description": "The serialization library path." + }, + "serializationClassName": { + "type": "string", + "description": "The serialization class name." + } + } + }, + "CsvSerialization": { + "description": "Describes how data from an input is serialized or how data is serialized when written to an output in CSV format.", + "x-ms-discriminator-value": "Csv", + "allOf": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CsvSerializationProperties", + "description": "The properties that are associated with the CSV serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "CsvSerializationProperties": { + "description": "The properties that are associated with the CSV serialization type.", + "properties": { + "fieldDelimiter": { + "type": "string", + "description": "Specifies the delimiter that will be used to separate comma-separated value (CSV) records. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a list of supported values. Required on PUT (CreateOrReplace) requests." + }, + "encoding": { + "$ref": "#/definitions/Encoding", + "description": "Specifies the encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. Required on PUT (CreateOrReplace) requests." + } + } + }, + "JsonSerialization": { + "description": "Describes how data from an input is serialized or how data is serialized when written to an output in JSON format.", + "x-ms-discriminator-value": "Json", + "allOf": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JsonSerializationProperties", + "description": "The properties that are associated with the JSON serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "JsonSerializationProperties": { + "description": "The properties that are associated with the JSON serialization type.", + "properties": { + "encoding": { + "$ref": "#/definitions/Encoding", + "description": "Specifies the encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output. Required on PUT (CreateOrReplace) requests." + }, + "format": { + "$ref": "#/definitions/JsonOutputSerializationFormat", + "description": "This property only applies to JSON serialization of outputs only. It is not applicable to inputs. This property specifies the format of the JSON the output will be written in. The currently supported values are 'lineSeparated' indicating the output will be formatted by having each JSON object separated by a new line and 'array' indicating the output will be formatted as an array of JSON objects. Default value is 'lineSeparated' if left null." + } + } + }, + "AvroSerialization": { + "description": "Describes how data from an input is serialized or how data is serialized when written to an output in Avro format.", + "x-ms-discriminator-value": "Avro", + "allOf": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AvroSerializationProperties", + "description": "The properties that are associated with the Avro serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AvroSerializationProperties": { + "description": "The properties that are associated with the Avro serialization type.", + "properties": {} + }, + "Encoding": { + "type": "string", + "description": "Specifies the encoding of the incoming data in the case of input and the encoding of outgoing data in the case of output.", + "enum": [ + "UTF8" + ], + "x-ms-enum": { + "name": "Encoding", + "modelAsString": true + } + }, + "JsonOutputSerializationFormat": { + "type": "string", + "description": "Specifies the format of the JSON the output will be written in. The currently supported values are 'lineSeparated' indicating the output will be formatted by having each JSON object separated by a new line and 'array' indicating the output will be formatted as an array of JSON objects.", + "enum": [ + "LineSeparated", + "Array" + ], + "x-ms-enum": { + "name": "JsonOutputSerializationFormat", + "modelAsString": true + } + }, + "ResourceTestStatus": { + "description": "Describes the status of the test operation along with error information, if applicable.", + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the test operation." + }, + "error": { + "readOnly": true, + "$ref": "#/definitions/ErrorResponse", + "description": "Describes the error that occurred." + } + } + }, + "ErrorResponse": { + "description": "Describes the error that occurred.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "Error code associated with the error that occurred." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Describes the error in detail." + } + } + }, + "SubResource": { + "description": "The base sub-resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + }, + "Compression": { + "description": "Describes how input data is compressed", + "properties": { + "type": { + "type": "string" + } + }, + "required": [ + "type" + ] + }, + "Identity": { + "description": "Describes how identity is verified", + "properties": { + "tenantId": { + "type": "string" + }, + "principalId": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "AzureSqlReferenceInputDataSource": { + "description": "Describes an Azure SQL database reference input data source.", + "x-ms-discriminator-value": "Microsoft.Sql/Server/Database", + "allOf": [ + { + "$ref": "#/definitions/ReferenceInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureSqlReferenceInputDataSourceProperties" + } + } + }, + "AzureSqlReferenceInputDataSourceProperties": { + "properties": { + "server": { + "description": "This element is associated with the datasource element. This is the name of the server that contains the database that will be written to.", + "type": "string" + }, + "database": { + "description": "This element is associated with the datasource element. This is the name of the database that output will be written to.", + "type": "string" + }, + "user": { + "description": "This element is associated with the datasource element. This is the user name that will be used to connect to the SQL Database instance.", + "type": "string" + }, + "password": { + "description": "This element is associated with the datasource element. This is the password that will be used to connect to the SQL Database instance.", + "type": "string" + }, + "table": { + "description": "This element is associated with the datasource element. The name of the table in the Azure SQL database..", + "type": "string" + }, + "refreshType": { + "description": "This element is associated with the datasource element. This element is of enum type. It indicates what kind of data refresh option do we want to use:Static/RefreshPeriodicallyWithFull/RefreshPeriodicallyWithDelta", + "type": "string" + }, + "refreshRate": { + "description": "This element is associated with the datasource element. This indicates how frequently the data will be fetched from the database. It is of DateTime format.", + "type": "string" + }, + "fullSnapshotQuery": { + "description": "This element is associated with the datasource element. This query is used to fetch data from the sql database.", + "type": "string" + }, + "deltaSnapshotQuery": { + "description": "This element is associated with the datasource element. This query is used to fetch incremental changes from the SQL database. To use this option, we recommend using temporal tables in Azure SQL Database.", + "type": "string" + } + } + }, + "EventSerializationType": { + "type": "string", + "description": "Indicates the type of serialization that the input or output uses. Required on PUT (CreateOrReplace) requests.", + "enum": [ + "Csv", + "Avro", + "Json", + "CustomClr", + "Parquet" + ], + "x-ms-enum": { + "name": "EventSerializationType", + "modelAsString": true + } + } + }, + "parameters": { + "InputNameParameter": { + "name": "inputName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the input.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json new file mode 100644 index 000000000000..1272302df934 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json @@ -0,0 +1,124 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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": { + "/providers/Microsoft.StreamAnalytics/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Stream Analytics related operations.", + "x-ms-examples": { + "List available operations for the Stream Analytics resource provider": { + "$ref": "./examples/Operation_List.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Stream Analytics operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of Stream Analytics operations supported by the Microsoft.StreamAnalytics resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A Stream Analytics REST API operation", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "Contains the localized display information for this particular operation / action.", + "readOnly": true, + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json new file mode 100644 index 000000000000..0e2134ff78df --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json @@ -0,0 +1,1074 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}": { + "put": { + "tags": [ + "Outputs" + ], + "operationId": "Outputs_CreateOrReplace", + "description": "Creates an output or replaces an already existing output under an existing streaming job.", + "x-ms-examples": { + "Create an Azure SQL database output": { + "$ref": "./examples/Output_Create_AzureSQL.json" + }, + "Create an Azure Table output": { + "$ref": "./examples/Output_Create_AzureTable.json" + }, + "Create a blob output with CSV serialization": { + "$ref": "./examples/Output_Create_Blob_CSV.json" + }, + "Create a DocumentDB output": { + "$ref": "./examples/Output_Create_DocumentDB.json" + }, + "Create an Event Hub output with JSON serialization": { + "$ref": "./examples/Output_Create_EventHub_JSON.json" + }, + "Create a Service Bus Queue output with Avro serialization": { + "$ref": "./examples/Output_Create_ServiceBusQueue_Avro.json" + }, + "Create a Service Bus Topic output with CSV serialization": { + "$ref": "./examples/Output_Create_ServiceBusTopic_CSV.json" + }, + "Create a Power BI output": { + "$ref": "./examples/Output_Create_PowerBI.json" + }, + "Create an Azure Data Lake Store output with JSON serialization": { + "$ref": "./examples/Output_Create_AzureDataLakeStore_JSON.json" + } + }, + "parameters": [ + { + "name": "output", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Output" + }, + "description": "The definition of the output that will be used to create a new output or replace the existing one under the streaming job." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the output. Omit this value to always overwrite the current output. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfNoneMatch", + "description": "Set to '*' to allow a new output to be created, but to prevent updating an existing output. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "The output was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Output" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the output. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + }, + "201": { + "description": "The output was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Output" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the output. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "patch": { + "tags": [ + "Outputs" + ], + "operationId": "Outputs_Update", + "description": "Updates an existing output under an existing streaming job. This can be used to partially update (ie. update one or two properties) an output without affecting the rest the job or output definition.", + "x-ms-examples": { + "Update an Azure SQL database output": { + "$ref": "./examples/Output_Update_AzureSQL.json" + }, + "Update an Azure Table output": { + "$ref": "./examples/Output_Update_AzureTable.json" + }, + "Update a blob output with CSV serialization": { + "$ref": "./examples/Output_Update_Blob.json" + }, + "Update a DocumentDB output": { + "$ref": "./examples/Output_Update_DocumentDB.json" + }, + "Update an Event Hub output with JSON serialization": { + "$ref": "./examples/Output_Update_EventHub.json" + }, + "Update a Service Bus Queue output with Avro serialization": { + "$ref": "./examples/Output_Update_ServiceBusQueue.json" + }, + "Update a Service Bus Topic output with CSV serialization": { + "$ref": "./examples/Output_Update_ServiceBusTopic.json" + }, + "Update a Power BI output": { + "$ref": "./examples/Output_Update_PowerBI.json" + }, + "Update an Azure Data Lake Store output with JSON serialization": { + "$ref": "./examples/Output_Update_AzureDataLakeStore.json" + } + }, + "parameters": [ + { + "name": "output", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Output" + }, + "description": "An Output object. The properties specified here will overwrite the corresponding properties in the existing output (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing output will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the output. Omit this value to always overwrite the current output. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "The output was successfully updated.", + "schema": { + "$ref": "#/definitions/Output" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the output. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "Outputs" + ], + "operationId": "Outputs_Delete", + "description": "Deletes an output from the streaming job.", + "x-ms-examples": { + "Delete an output": { + "$ref": "./examples/Output_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "The output was successfully deleted." + }, + "204": { + "description": "The output does not exist." + } + } + }, + "get": { + "tags": [ + "Outputs" + ], + "operationId": "Outputs_Get", + "description": "Gets details about the specified output.", + "x-ms-examples": { + "Get an Azure SQL database output": { + "$ref": "./examples/Output_Get_AzureSQL.json" + }, + "Get an Azure Table output": { + "$ref": "./examples/Output_Get_AzureTable.json" + }, + "Get a blob output with CSV serialization": { + "$ref": "./examples/Output_Get_Blob_CSV.json" + }, + "Get a DocumentDB output": { + "$ref": "./examples/Output_Get_DocumentDB.json" + }, + "Get an Azure Data Warehouse output": { + "$ref": "./examples/Output_Get_DataWarehouse.json" + }, + "Get an Azure Function output": { + "$ref": "./examples/Output_Get_AzureFunction.json" + }, + "Get an Event Hub output with JSON serialization": { + "$ref": "./examples/Output_Get_EventHub_JSON.json" + }, + "Get a Service Bus Queue output with Avro serialization": { + "$ref": "./examples/Output_Get_ServiceBusQueue_Avro.json" + }, + "Get a Service Bus Topic output with CSV serialization": { + "$ref": "./examples/Output_Get_ServiceBusTopic_CSV.json" + }, + "Get a Power BI output": { + "$ref": "./examples/Output_Get_PowerBI.json" + }, + "Get an Azure Data Lake Store output with JSON serialization": { + "$ref": "./examples/Output_Get_AzureDataLakeStore_JSON.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified output.", + "schema": { + "$ref": "#/definitions/Output" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the output. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs": { + "get": { + "tags": [ + "Outputs" + ], + "operationId": "Outputs_ListByStreamingJob", + "description": "Lists all of the outputs under the specified streaming job.", + "x-ms-examples": { + "List all outputs in a streaming job": { + "$ref": "./examples/Output_ListByStreamingJob.json" + } + }, + "parameters": [ + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"*\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the outputs under the specified streaming job.", + "schema": { + "$ref": "#/definitions/OutputListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/outputs/{outputName}/test": { + "post": { + "tags": [ + "Outputs" + ], + "operationId": "Outputs_Test", + "description": "Tests whether an output’s datasource is reachable and usable by the Azure Stream Analytics service.", + "x-ms-examples": { + "Test the connection for an output": { + "$ref": "./examples/Output_Test.json" + } + }, + "parameters": [ + { + "name": "output", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Output" + }, + "description": "If the output specified does not already exist, this parameter must contain the full output definition intended to be tested. If the output specified already exists, this parameter can be left null to test the existing output as is or if specified, the properties specified will overwrite the corresponding properties in the existing output (exactly like a PATCH operation) and the resulting output will be tested." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/OutputNameParameter" + } + ], + "responses": { + "200": { + "description": "The test operation completed successfully.", + "schema": { + "$ref": "./inputs.json#/definitions/ResourceTestStatus" + } + }, + "202": { + "description": "The test request was successfully initiated." + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Output": { + "description": "An output object, containing all information associated with the named output. All outputs are contained under a streaming job.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OutputProperties", + "description": "The properties that are associated with an output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "OutputProperties": { + "description": "The properties that are associated with an output.", + "properties": { + "datasource": { + "$ref": "#/definitions/OutputDataSource", + "description": "Describes the data source that output will be written to. Required on PUT (CreateOrReplace) requests." + }, + "timeWindow": { + "type": "string" + }, + "sizeWindow": { + "type": "number" + }, + "serialization": { + "$ref": "./inputs.json#/definitions/Serialization", + "description": "Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests." + }, + "diagnostics": { + "readOnly": true, + "$ref": "./inputs.json#/definitions/Diagnostics", + "description": "Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The current entity tag for the output. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + } + } + }, + "OutputDataSource": { + "description": "Describes the data source that output will be written to.", + "discriminator": "type", + "properties": { + "type": { + "type": "string", + "description": "Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests." + } + }, + "required": [ + "type" + ] + }, + "BlobOutputDataSource": { + "description": "Describes a blob output data source.", + "x-ms-discriminator-value": "Microsoft.Storage/Blob", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BlobOutputDataSourceProperties", + "description": "The properties that are associated with a blob output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "BlobOutputDataSourceProperties": { + "description": "The properties that are associated with a blob output.", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/BlobDataSourceProperties" + } + ], + "properties": { + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "AzureTableOutputDataSource": { + "description": "Describes an Azure Table output data source.", + "x-ms-discriminator-value": "Microsoft.Storage/Table", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureTableOutputDataSourceProperties", + "description": "The properties that are associated with an Azure Table output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureTableOutputDataSourceProperties": { + "description": "The properties that are associated with an Azure Table output.", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the Azure Storage account. Required on PUT (CreateOrReplace) requests." + }, + "accountKey": { + "type": "string", + "description": "The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests." + }, + "table": { + "type": "string", + "description": "The name of the Azure Table. Required on PUT (CreateOrReplace) requests." + }, + "partitionKey": { + "type": "string", + "description": "This element indicates the name of a column from the SELECT statement in the query that will be used as the partition key for the Azure Table. Required on PUT (CreateOrReplace) requests." + }, + "rowKey": { + "type": "string", + "description": "This element indicates the name of a column from the SELECT statement in the query that will be used as the row key for the Azure Table. Required on PUT (CreateOrReplace) requests." + }, + "columnsToRemove": { + "type": "array", + "items": { + "type": "string" + }, + "description": "If specified, each item in the array is the name of a column to remove (if present) from output event entities." + }, + "batchSize": { + "type": "integer", + "format": "int32", + "description": "The number of rows to write to the Azure Table at a time." + } + } + }, + "EventHubOutputDataSource": { + "description": "Describes an Event Hub output data source.", + "x-ms-discriminator-value": "Microsoft.ServiceBus/EventHub", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubOutputDataSourceProperties", + "description": "The properties that are associated with an Event Hub output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "EventHubV2OutputDataSource": { + "description": "Describes an Event Hub output data source.", + "x-ms-discriminator-value": "Microsoft.EventHub/EventHub", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubOutputDataSourceProperties", + "description": "The properties that are associated with an Event Hub output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "EventHubOutputDataSourceProperties": { + "description": "The properties that are associated with an Event Hub output.", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/EventHubDataSourceProperties" + } + ], + "properties": { + "partitionKey": { + "type": "string", + "description": "The key/column that is used to determine to which partition to send event data." + }, + "propertyColumns": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSqlDatabaseOutputDataSource": { + "description": "Describes an Azure SQL database output data source.", + "x-ms-discriminator-value": "Microsoft.Sql/Server/Database", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureSqlDatabaseOutputDataSourceProperties", + "description": "The properties that are associated with an Azure SQL database output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureSqlDatabaseOutputDataSourceProperties": { + "description": "The properties that are associated with an Azure SQL database output.", + "allOf": [ + { + "$ref": "#/definitions/AzureSqlDatabaseDataSourceProperties" + } + ], + "properties": {} + }, + "AzureSynapseOutputDataSource": { + "description": "Describes an Azure Synapse output data source.", + "x-ms-discriminator-value": "Microsoft.Sql/Server/DataWarehouse", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureSynapseOutputDataSourceProperties", + "description": "The properties that are associated with an Azure Synapse output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureSynapseOutputDataSourceProperties": { + "description": "The properties that are associated with an Azure Synapse output.", + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseDataSourceProperties" + } + ], + "properties": {} + }, + "AzureSynapseDataSourceProperties": { + "description": "The properties that are associated with an Azure SQL database data source.", + "properties": { + "server": { + "type": "string", + "description": "The name of the SQL server containing the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "database": { + "type": "string", + "description": "The name of the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "table": { + "type": "string", + "description": "The name of the table in the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "user": { + "type": "string", + "description": "The user name that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "password": { + "type": "string", + "description": "The password that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests." + } + } + }, + "DocumentDbOutputDataSource": { + "description": "Describes a DocumentDB output data source.", + "x-ms-discriminator-value": "Microsoft.Storage/DocumentDB", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DocumentDbOutputDataSourceProperties", + "description": "The properties that are associated with a DocumentDB output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "DocumentDbOutputDataSourceProperties": { + "description": "The properties that are associated with a DocumentDB output.", + "properties": { + "accountId": { + "type": "string", + "description": "The DocumentDB account name or ID. Required on PUT (CreateOrReplace) requests." + }, + "accountKey": { + "type": "string", + "description": "The account key for the DocumentDB account. Required on PUT (CreateOrReplace) requests." + }, + "database": { + "type": "string", + "description": "The name of the DocumentDB database. Required on PUT (CreateOrReplace) requests." + }, + "collectionNamePattern": { + "type": "string", + "description": "The collection name pattern for the collections to be used. The collection name format can be constructed using the optional {partition} token, where partitions start from 0. See the DocumentDB section of https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for more information. Required on PUT (CreateOrReplace) requests." + }, + "partitionKey": { + "type": "string", + "description": "The name of the field in output events used to specify the key for partitioning output across collections. If 'collectionNamePattern' contains the {partition} token, this property is required to be specified." + }, + "documentId": { + "type": "string", + "description": "The name of the field in output events used to specify the primary key which insert or update operations are based on." + } + } + }, + "AzureFunctionOutputDataSource": { + "description": "Defines the metadata of AzureFunctionOutputDataSource", + "x-ms-discriminator-value": "Microsoft.AzureFunction", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureFunctionOutputDataSourceProperties", + "description": "The properties that are associated with a Azure Function output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureFunctionOutputDataSourceProperties": { + "description": "The properties that are associated with a DocumentDB output.", + "properties": { + "functionAppName": { + "description": "The name of your Azure Functions app.", + "type": "string" + }, + "functionName": { + "description": "The name of the function in your Azure Functions app.", + "type": "string" + }, + "apiKey": { + "description": "If you want to use an Azure Function from another subscription, you can do so by providing the key to access your function.", + "type": "string" + }, + "maxBatchSize": { + "description": "A property that lets you set the maximum size for each output batch that's sent to your Azure function. The input unit is in bytes. By default, this value is 262,144 bytes (256 KB).", + "type": "number" + }, + "maxBatchCount": { + "description": "A property that lets you specify the maximum number of events in each batch that's sent to Azure Functions. The default value is 100.", + "type": "number" + } + } + }, + "ServiceBusQueueOutputDataSource": { + "description": "Describes a Service Bus Queue output data source.", + "x-ms-discriminator-value": "Microsoft.ServiceBus/Queue", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusQueueOutputDataSourceProperties", + "description": "The properties that are associated with a Service Bus Queue output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "ServiceBusQueueOutputDataSourceProperties": { + "description": "The properties that are associated with a Service Bus Queue output.", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/ServiceBusDataSourceProperties" + } + ], + "properties": { + "queueName": { + "type": "string", + "description": "The name of the Service Bus Queue. Required on PUT (CreateOrReplace) requests." + }, + "propertyColumns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A string array of the names of output columns to be attached to Service Bus messages as custom properties." + }, + "systemPropertyColumns": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ServiceBusTopicOutputDataSource": { + "description": "Describes a Service Bus Topic output data source.", + "x-ms-discriminator-value": "Microsoft.ServiceBus/Topic", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusTopicOutputDataSourceProperties", + "description": "The properties that are associated with a Service Bus Topic output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "ServiceBusTopicOutputDataSourceProperties": { + "description": "The properties that are associated with a Service Bus Topic output.", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/ServiceBusDataSourceProperties" + } + ], + "properties": { + "topicName": { + "type": "string", + "description": "The name of the Service Bus Topic. Required on PUT (CreateOrReplace) requests." + }, + "propertyColumns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A string array of the names of output columns to be attached to Service Bus messages as custom properties." + }, + "systemPropertyColumns": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PowerBIOutputDataSource": { + "description": "Describes a Power BI output data source.", + "x-ms-discriminator-value": "PowerBI", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PowerBIOutputDataSourceProperties", + "description": "The properties that are associated with a Power BI output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "PowerBIOutputDataSourceProperties": { + "description": "The properties that are associated with a Power BI output.", + "allOf": [ + { + "$ref": "#/definitions/OAuthBasedDataSourceProperties" + } + ], + "properties": { + "dataset": { + "type": "string", + "description": "The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests." + }, + "table": { + "type": "string", + "description": "The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests." + }, + "groupId": { + "type": "string", + "description": "The ID of the Power BI group." + }, + "groupName": { + "type": "string", + "description": "The name of the Power BI group. Use this property to help remember which specific Power BI group id was used." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "AzureDataLakeStoreOutputDataSource": { + "description": "Describes an Azure Data Lake Store output data source.", + "x-ms-discriminator-value": "Microsoft.DataLake/Accounts", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureDataLakeStoreOutputDataSourceProperties", + "description": "The properties that are associated with an Azure Data Lake Store output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureDataLakeStoreOutputDataSourceProperties": { + "description": "The properties that are associated with an Azure Data Lake Store.", + "allOf": [ + { + "$ref": "#/definitions/OAuthBasedDataSourceProperties" + } + ], + "properties": { + "accountName": { + "type": "string", + "description": "The name of the Azure Data Lake Store account. Required on PUT (CreateOrReplace) requests." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the user used to obtain the refresh token. Required on PUT (CreateOrReplace) requests." + }, + "filePathPrefix": { + "type": "string", + "description": "The location of the file to which the output should be written to. Required on PUT (CreateOrReplace) requests." + }, + "dateFormat": { + "type": "string", + "description": "The date format. Wherever {date} appears in filePathPrefix, the value of this property is used as the date format instead." + }, + "timeFormat": { + "type": "string", + "description": "The time format. Wherever {time} appears in filePathPrefix, the value of this property is used as the time format instead." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "OutputListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Output" + }, + "readOnly": true, + "description": "A list of outputs under a streaming job. Populated by a 'List' operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "description": "Object containing a list of outputs under a streaming job." + }, + "AzureSqlDatabaseDataSourceProperties": { + "description": "The properties that are associated with an Azure SQL database data source.", + "properties": { + "server": { + "type": "string", + "description": "The name of the SQL server containing the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "database": { + "type": "string", + "description": "The name of the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "user": { + "type": "string", + "description": "The user name that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "password": { + "type": "string", + "description": "The password that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "table": { + "type": "string", + "description": "The name of the table in the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "maxBatchCount": { + "type": "number", + "description": "Max Batch count for write to Sql database, the default value is 10,000. Optional on PUT requests." + }, + "maxWriterCount": { + "type": "number", + "description": "Max Write r count, currently only 1(single writer) and 0(based on query partition) are available. Optional on PUT requests." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "OAuthBasedDataSourceProperties": { + "description": "The properties that are associated with data sources that use OAuth as their authentication model.", + "properties": { + "refreshToken": { + "type": "string", + "description": "A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests." + }, + "tokenUserPrincipalName": { + "type": "string", + "description": "The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token." + }, + "tokenUserDisplayName": { + "type": "string", + "description": "The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token." + } + } + }, + "SubResource": { + "description": "The base sub-resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "OutputNameParameter": { + "name": "outputName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the output.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json new file mode 100644 index 000000000000..b023c743b867 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json @@ -0,0 +1,789 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.StreamAnalytics/streamingjobs/{jobName}": { + "put": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_CreateOrReplace", + "description": "Creates a streaming job or replaces an already existing streaming job.", + "x-ms-examples": { + "Create a streaming job shell (a streaming job with no inputs, outputs, transformation, or functions)": { + "$ref": "./examples/StreamingJob_Create_JobShell.json" + }, + "Create a complete streaming job (a streaming job with a transformation, at least 1 input and at least 1 output)": { + "$ref": "./examples/StreamingJob_Create_CompleteJob.json" + } + }, + "parameters": [ + { + "name": "streamingJob", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "description": "The definition of the streaming job that will be used to create a new streaming job or replace the existing one." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfNoneMatch", + "description": "Set to '*' to allow a new streaming job to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "The streaming job was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the streaming job. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + }, + "201": { + "description": "The streaming job was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the streaming job. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_Update", + "description": "Updates an existing streaming job. This can be used to partially update (ie. update one or two properties) a streaming job without affecting the rest the job definition.", + "x-ms-examples": { + "Update a streaming job": { + "$ref": "./examples/StreamingJob_Update.json" + } + }, + "parameters": [ + { + "name": "streamingJob", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "description": "A streaming job object. The properties specified here will overwrite the corresponding properties in the existing streaming job (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing input will remain the same and not change as a result of this PATCH operation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "The streaming job was successfully updated.", + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the streaming job. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_Delete", + "description": "Deletes a streaming job.", + "x-ms-examples": { + "Delete a streaming job": { + "$ref": "./examples/StreamingJob_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "The streaming job was successfully deleted." + }, + "202": { + "description": "The delete request was successfully initiated." + }, + "204": { + "description": "The streaming job does not exist." + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_Get", + "description": "Gets details about the specified streaming job.", + "x-ms-examples": { + "Get a streaming job and do not use the $expand OData query parameter": { + "$ref": "./examples/StreamingJob_Get_NoExpand.json" + }, + "Get a streaming job and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { + "$ref": "./examples/StreamingJob_Get_Expand.json" + } + }, + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified streaming job.", + "schema": { + "$ref": "#/definitions/StreamingJob" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the streaming job. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs": { + "get": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_ListByResourceGroup", + "description": "Lists all of the streaming jobs in the specified resource group.", + "x-ms-examples": { + "List all streaming jobs in a resource group and do not use the $expand OData query parameter": { + "$ref": "./examples/StreamingJob_List_ByResourceGroup_NoExpand.json" + }, + "List all streaming jobs in a resource group and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { + "$ref": "./examples/StreamingJob_List_ByResourceGroup_Expand.json" + } + }, + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the streaming jobs under the specified resource group.", + "schema": { + "$ref": "#/definitions/StreamingJobListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs": { + "get": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_List", + "description": "Lists all of the streaming jobs in the given subscription.", + "x-ms-examples": { + "List all streaming jobs in a subscription and do not use the $expand OData query parameter": { + "$ref": "./examples/StreamingJob_List_BySubscription_NoExpand.json" + }, + "List all streaming jobs in a subscription and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { + "$ref": "./examples/StreamingJob_List_BySubscription_Expand.json" + } + }, + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the streaming jobs under the given subscription.", + "schema": { + "$ref": "#/definitions/StreamingJobListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/start": { + "post": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_Start", + "description": "Starts a streaming job. Once a job is started it will start processing input events and produce output.", + "x-ms-examples": { + "Start a streaming job with CustomTime output start mode": { + "$ref": "./examples/StreamingJob_Start_CustomTime.json" + }, + "Start a streaming job with JobStartTime output start mode": { + "$ref": "./examples/StreamingJob_Start_JobStartTime.json" + }, + "Start a streaming job with LastOutputEventTime output start mode": { + "$ref": "./examples/StreamingJob_Start_LastOutputEventTime.json" + } + }, + "parameters": [ + { + "name": "startJobParameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/StartStreamingJobParameters" + }, + "description": "Parameters applicable to a start streaming job operation." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "The streaming job was successfully started." + }, + "202": { + "description": "The start streaming job request was successfully initiated." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/stop": { + "post": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_Stop", + "description": "Stops a running streaming job. This will cause a running streaming job to stop processing input events and producing output.", + "x-ms-examples": { + "Stop a streaming job": { + "$ref": "./examples/StreamingJob_Stop.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "200": { + "description": "The streaming job was successfully stopped." + }, + "202": { + "description": "The stop streaming job request was successfully initiated." + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "External": { + "description": "The storage account where the custom code artifacts are located.", + "properties": { + "storageAccount": { + "$ref": "./inputs.json#/definitions/StorageAccount" + }, + "container": { + "type": "string" + }, + "path": { + "type": "string" + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Stream Analytics operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of Stream Analytics operations supported by the Microsoft.StreamAnalytics resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A Stream Analytics REST API operation", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "Contains the localized display information for this particular operation / action.", + "readOnly": true, + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "StreamingJob": { + "description": "A streaming job object, containing all information associated with the named streaming job.", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StreamingJobProperties", + "description": "The properties that are associated with a streaming job. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "./inputs.json#/definitions/Identity", + "description": "Describes the system-assigned managed identity assigned to this job that can be used to authenticate with inputs and outputs." + } + } + }, + "StreamingJobProperties": { + "description": "The properties that are associated with a streaming job.", + "properties": { + "sku": { + "description": "Describes the SKU of the streaming job. Required on PUT (CreateOrReplace) requests.", + "$ref": "#/definitions/StreamingJobSku" + }, + "jobId": { + "readOnly": true, + "type": "string", + "description": "A GUID uniquely identifying the streaming job. This GUID is generated upon creation of the streaming job." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Describes the provisioning status of the streaming job." + }, + "jobState": { + "readOnly": true, + "type": "string", + "description": "Describes the state of the streaming job." + }, + "jobType": { + "type": "string", + "description": "Describes the type of the job. Valid modes are `Cloud` and 'Edge'.", + "enum": [ + "Cloud", + "Edge" + ], + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "outputStartMode": { + "$ref": "#/definitions/OutputStartMode", + "description": "This property should only be utilized when it is desired that the job be started immediately upon creation. Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting point of the output event stream should start whenever the job is started, start at a custom user time stamp specified via the outputStartTime property, or start from the last event output time." + }, + "outputStartTime": { + "type": "string", + "format": "date-time", + "description": "Value is either an ISO-8601 formatted time stamp that indicates the starting point of the output event stream, or null to indicate that the output event stream will start whenever the streaming job is started. This property must have a value if outputStartMode is set to CustomTime." + }, + "lastOutputEventTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Value is either an ISO-8601 formatted timestamp indicating the last output event time of the streaming job or null indicating that output has not yet been produced. In case of multiple outputs or multiple streams, this shows the latest value in that set." + }, + "eventsOutOfOrderPolicy": { + "$ref": "#/definitions/EventsOutOfOrderPolicy", + "description": "Indicates the policy to apply to events that arrive out of order in the input event stream." + }, + "outputErrorPolicy": { + "$ref": "#/definitions/OutputErrorPolicy", + "description": "Indicates the policy to apply to events that arrive at the output and cannot be written to the external storage due to being malformed (missing column values, column values of wrong type or size)." + }, + "eventsOutOfOrderMaxDelayInSeconds": { + "type": "integer", + "format": "int32", + "description": "The maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in order." + }, + "eventsLateArrivalMaxDelayInSeconds": { + "type": "integer", + "format": "int32", + "description": "The maximum tolerable delay in seconds where events arriving late could be included. Supported range is -1 to 1814399 (20.23:59:59 days) and -1 is used to specify wait indefinitely. If the property is absent, it is interpreted to have a value of -1." + }, + "dataLocale": { + "type": "string", + "description": "The data locale of the stream analytics job. Value should be the name of a supported .NET Culture from the set https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx. Defaults to 'en-US' if none specified." + }, + "compatibilityLevel": { + "$ref": "#/definitions/CompatibilityLevel", + "description": "Controls certain runtime behaviors of the streaming job." + }, + "createdDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Value is an ISO-8601 formatted UTC timestamp indicating when the streaming job was created." + }, + "inputs": { + "type": "array", + "items": { + "$ref": "./inputs.json#/definitions/Input" + }, + "description": "A list of one or more inputs to the streaming job. The name property for each input is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual input." + }, + "transformation": { + "$ref": "./transformations.json#/definitions/Transformation", + "description": "Indicates the query and the number of streaming units to use for the streaming job. The name property of the transformation is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual transformation." + }, + "outputs": { + "type": "array", + "items": { + "$ref": "./outputs.json#/definitions/Output" + }, + "description": "A list of one or more outputs for the streaming job. The name property for each output is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual output." + }, + "functions": { + "type": "array", + "items": { + "$ref": "./functions.json#/definitions/Function" + }, + "description": "A list of one or more functions for the streaming job. The name property for each function is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual transformation." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The current entity tag for the streaming job. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + }, + "jobStorageAccount": { + "$ref": "#/definitions/JobStorageAccount" + }, + "contentStoragePolicy": { + "readOnly": true, + "type": "string", + "description": "Valid values are JobStorageAccount and SystemAccount. If set to JobStorageAccount, this requires the user to also specify jobStorageAccount property. .", + "enum": [ + "SystemAccount", + "JobStorageAccount" + ], + "x-ms-enum": { + "name": "ContentStoragePolicy", + "modelAsString": true + } + }, + "externals": { + "$ref": "#/definitions/External", + "description": "The storage account where the custom code artifacts are located." + }, + "cluster": { + "$ref": "#/definitions/ClusterInfo", + "description": "The cluster which streaming jobs will run on." + } + } + }, + "ClusterInfo": { + "description": "The properties associated with a Stream Analytics cluster.", + "properties": { + "id": { + "description": "The resource id of cluster.", + "type": "string" + } + } + }, + "StreamingJobSku": { + "description": "The properties that are associated with a SKU.", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. Required on PUT (CreateOrReplace) requests.", + "enum": [ + "Standard" + ], + "x-ms-enum": { + "name": "StreamingJobSkuName", + "modelAsString": true + } + } + } + }, + "StreamingJobListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingJob" + }, + "readOnly": true, + "description": "A list of streaming jobs. Populated by a 'List' operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "description": "Object containing a list of streaming jobs." + }, + "StartStreamingJobParameters": { + "description": "Parameters supplied to the Start Streaming Job operation.", + "properties": { + "outputStartMode": { + "$ref": "#/definitions/OutputStartMode", + "description": "Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting point of the output event stream should start whenever the job is started, start at a custom user time stamp specified via the outputStartTime property, or start from the last event output time." + }, + "outputStartTime": { + "type": "string", + "format": "date-time", + "description": "Value is either an ISO-8601 formatted time stamp that indicates the starting point of the output event stream, or null to indicate that the output event stream will start whenever the streaming job is started. This property must have a value if outputStartMode is set to CustomTime." + } + } + }, + "OutputStartMode": { + "type": "string", + "description": "Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting point of the output event stream should start whenever the job is started, start at a custom user time stamp specified via the outputStartTime property, or start from the last event output time.", + "enum": [ + "JobStartTime", + "CustomTime", + "LastOutputEventTime" + ], + "x-ms-enum": { + "name": "OutputStartMode", + "modelAsString": true + } + }, + "EventsOutOfOrderPolicy": { + "type": "string", + "description": "Indicates the policy to apply to events that arrive out of order in the input event stream.", + "enum": [ + "Adjust", + "Drop" + ], + "x-ms-enum": { + "name": "EventsOutOfOrderPolicy", + "modelAsString": true + } + }, + "OutputErrorPolicy": { + "type": "string", + "description": "Indicates the policy to apply to events that arrive at the output and cannot be written to the external storage due to being malformed (missing column values, column values of wrong type or size).", + "enum": [ + "Stop", + "Drop" + ], + "x-ms-enum": { + "name": "OutputErrorPolicy", + "modelAsString": true + } + }, + "CompatibilityLevel": { + "type": "string", + "description": "Controls certain runtime behaviors of the streaming job.", + "enum": [ + "1.0" + ], + "x-ms-enum": { + "name": "CompatibilityLevel", + "modelAsString": true + } + }, + "JobStorageAccount": { + "description": "The properties that are associated with an Azure Storage account with MSI", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/StorageAccount" + } + ], + "properties": { + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json new file mode 100644 index 000000000000..e20939d8ed25 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json @@ -0,0 +1,139 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas": { + "get": { + "tags": [ + "Subscriptions" + ], + "operationId": "Subscriptions_ListQuotas", + "description": "Retrieves the subscription's current quota information in a particular region.", + "x-ms-examples": { + "List subscription quota information in West US": { + "$ref": "./examples/Subscription_ListQuotas.json" + } + }, + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region in which to retrieve the subscription's quota information. You can find out which regions Azure Stream Analytics is supported in here: https://azure.microsoft.com/en-us/regions/" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the subscription's quota information in the specified region.", + "schema": { + "$ref": "#/definitions/SubscriptionQuotasListResult" + } + } + } + } + } + }, + "definitions": { + "SubscriptionQuotasListResult": { + "description": "Result of the GetQuotas operation. It contains a list of quotas for the subscription in a particular region.", + "properties": { + "value": { + "description": "List of quotas for the subscription in a particular region.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SubscriptionQuota" + } + } + } + }, + "SubscriptionQuota": { + "description": "Describes the current quota for the subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "description": "Describes the properties of the quota.", + "readOnly": true, + "properties": { + "maxCount": { + "description": "The max permitted usage of this resource.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "currentCount": { + "description": "The current usage of this resource.", + "type": "integer", + "format": "int32", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "SubResource": { + "description": "The base sub-resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json new file mode 100644 index 000000000000..9543efbc90a1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json @@ -0,0 +1,288 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2017-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.StreamAnalytics/streamingjobs/{jobName}/transformations/{transformationName}": { + "put": { + "tags": [ + "Transformations" + ], + "operationId": "Transformations_CreateOrReplace", + "description": "Creates a transformation or replaces an already existing transformation under an existing streaming job.", + "x-ms-examples": { + "Create a transformation": { + "$ref": "./examples/Transformation_Create.json" + } + }, + "parameters": [ + { + "name": "transformation", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Transformation" + }, + "description": "The definition of the transformation that will be used to create a new transformation or replace the existing one under the streaming job." + }, + { + "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 transformation. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfNoneMatch", + "description": "Set to '*' to allow a new transformation to be created, but to prevent updating an existing transformation. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/TransformationNameParameter" + } + ], + "responses": { + "200": { + "description": "The transformation was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Transformation" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the transformation. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + }, + "201": { + "description": "The transformation was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Transformation" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the transformation. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "patch": { + "tags": [ + "Transformations" + ], + "operationId": "Transformations_Update", + "description": "Updates an existing transformation under an existing streaming job. This can be used to partially update (ie. update one or two properties) a transformation without affecting the rest the job or transformation definition.", + "x-ms-examples": { + "Update a transformation": { + "$ref": "./examples/Transformation_Update.json" + } + }, + "parameters": [ + { + "name": "transformation", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Transformation" + }, + "description": "A Transformation object. The properties specified here will overwrite the corresponding properties in the existing transformation (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing transformation will remain the same and not change as a result of this PATCH operation." + }, + { + "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 transformation. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/TransformationNameParameter" + } + ], + "responses": { + "200": { + "description": "The transformation was successfully updated.", + "schema": { + "$ref": "#/definitions/Transformation" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the transformation. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + }, + "get": { + "tags": [ + "Transformations" + ], + "operationId": "Transformations_Get", + "description": "Gets details about the specified transformation.", + "x-ms-examples": { + "Get a transformation": { + "$ref": "./examples/Transformation_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + }, + { + "$ref": "#/parameters/TransformationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified transformation.", + "schema": { + "$ref": "#/definitions/Transformation" + }, + "headers": { + "ETag": { + "description": "The current entity tag for the transformation. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string" + } + } + } + } + } + } + }, + "definitions": { + "Transformation": { + "description": "A transformation object, containing all information associated with the named transformation. All transformations are contained under a streaming job.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TransformationProperties", + "description": "The properties that are associated with a transformation. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "TransformationProperties": { + "description": "The properties that are associated with a transformation.", + "properties": { + "streamingUnits": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of streaming units that the streaming job uses." + }, + "query": { + "type": "string", + "description": "Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The current entity tag for the transformation. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + } + } + }, + "SubResource": { + "description": "The base sub-resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "TransformationNameParameter": { + "name": "transformationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the transformation.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json new file mode 100644 index 000000000000..c06405bb7968 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json @@ -0,0 +1,612 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2020-03-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.StreamAnalytics/clusters/{clusterName}": { + "put": { + "tags": [ + "Clusters" + ], + "description": "Creates a Stream Analytics Cluster or replaces an already existing cluster.", + "operationId": "Clusters_CreateOrUpdate", + "x-ms-examples": { + "Create a new cluster": { + "$ref": "./examples/Cluster_Create.json" + } + }, + "parameters": [ + { + "name": "cluster", + "description": "The definition of the cluster that will be used to create a new cluster or replace the existing one.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfMatchHeader" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfNoneMatchHeader" + } + ], + "responses": { + "200": { + "description": "The cluster was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "The cluster was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Clusters" + ], + "description": "Updates an existing cluster. This can be used to partially update (ie. update one or two properties) a cluster without affecting the rest of the cluster definition.", + "operationId": "Clusters_Update", + "x-ms-examples": { + "Update a cluster": { + "$ref": "./examples/Cluster_Update.json" + } + }, + "parameters": [ + { + "name": "cluster", + "description": "The properties specified here will overwrite the corresponding properties in the existing cluster (ie. Those properties will be updated).", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfMatchHeader" + } + ], + "responses": { + "200": { + "description": "The cluster was successfully updated.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "The update request was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Clusters" + ], + "description": "Gets information about the specified cluster.", + "operationId": "Clusters_Get", + "x-ms-examples": { + "Get a cluster": { + "$ref": "./examples/Cluster_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "description": "Deletes the specified cluster.", + "operationId": "Clusters_Delete", + "x-ms-examples": { + "Delete a cluster": { + "$ref": "./examples/Cluster_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The cluster was successfully deleted." + }, + "202": { + "description": "The delete request was successfully initiated." + }, + "204": { + "description": "The cluster does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "description": "Lists all of the clusters in the given subscription.", + "operationId": "Clusters_ListBySubscription", + "x-ms-examples": { + "List the clusters in a subscription": { + "$ref": "./examples/Cluster_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the clusters under the specified subscription.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "description": "Lists all of the clusters in the given resource group.", + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "List clusters in resource group": { + "$ref": "./examples/Cluster_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the clusters under the specified resource group.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/listStreamingJobs": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Lists all of the streaming jobs in the given cluster.", + "operationId": "Clusters_ListStreamingJobs", + "x-ms-examples": { + "List all streaming jobs in cluster": { + "$ref": "./examples/Cluster_ListStreamingJobs.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the streaming jobs in the specified cluster.", + "schema": { + "$ref": "#/definitions/ClusterJobListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Cluster": { + "description": "A Stream Analytics Cluster object", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ClusterSku" + }, + "etag": { + "description": "The current entity tag for the cluster. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "The properties associated with a Stream Analytics cluster.", + "$ref": "#/definitions/ClusterProperties" + } + } + }, + "ClusterProperties": { + "description": "The properties associated with a Stream Analytics cluster.", + "properties": { + "createdDate": { + "description": "The date this cluster was created.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "clusterId": { + "description": "Unique identifier for the cluster.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/ClusterProvisioningState" + }, + "capacityAllocated": { + "description": "Represents the number of streaming units currently being used on the cluster.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "capacityAssigned": { + "description": "Represents the sum of the SUs of all streaming jobs associated with the cluster. If all of the jobs were running, this would be the capacity allocated.", + "type": "integer", + "format": "int32", + "readOnly": true + } + } + }, + "ClusterListResult": { + "description": "A list of clusters populated by a 'list' operation.", + "properties": { + "value": { + "description": "A list of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "readOnly": true + }, + "nextLink": { + "description": "The URL to fetch the next set of clusters.", + "type": "string", + "readOnly": true + } + } + }, + "ClusterJob": { + "description": "A streaming job.", + "properties": { + "id": { + "description": "Resource ID of the streaming job.", + "type": "string", + "readOnly": true + }, + "streamingUnits": { + "description": "The number of streaming units that are used by the streaming job.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "jobState": { + "$ref": "#/definitions/JobState" + } + } + }, + "ClusterJobListResult": { + "description": "A list of streaming jobs. Populated by a List operation.", + "properties": { + "value": { + "description": "A list of streaming jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterJob" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "The URL to fetch the next set of streaming jobs.", + "readOnly": true + } + } + }, + "ClusterSku": { + "description": "The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT (CreateOrUpdate) requests.", + "properties": { + "name": { + "description": "Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests.", + "type": "string", + "enum": [ + "Default" + ], + "x-ms-enum": { + "name": "ClusterSkuName", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "The default SKU." + } + ] + } + }, + "capacity": { + "description": "Denotes the number of streaming units the cluster can support. Valid values for this property are multiples of 36 with a minimum value of 36 and maximum value of 216. Required on PUT (CreateOrUpdate) requests.", + "type": "integer", + "format": "int32", + "minimum": 36, + "maximum": 216 + } + } + }, + "ClusterProvisioningState": { + "description": "The status of the cluster provisioning. The three terminal states are: Succeeded, Failed and Canceled", + "readOnly": true, + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress" + ], + "x-ms-enum": { + "name": "ClusterProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded", + "description": "The cluster provisioning succeeded." + }, + { + "value": "Failed", + "description": "The cluster provisioning failed." + }, + { + "value": "Canceled", + "description": "The cluster provisioning was canceled." + }, + { + "value": "InProgress", + "description": "The cluster provisioning was inprogress." + } + ] + } + }, + "JobState": { + "description": "The current execution state of the streaming job.", + "type": "string", + "readOnly": true, + "enum": [ + "Created", + "Starting", + "Running", + "Stopping", + "Stopped", + "Deleting", + "Failed", + "Degraded", + "Restarting", + "Scaling" + ], + "x-ms-enum": { + "name": "JobState", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "The job is currently in the Created state." + }, + { + "value": "Starting", + "description": "The job is currently in the Starting state." + }, + { + "value": "Running", + "description": "The job is currently in the Running state." + }, + { + "value": "Stopping", + "description": "The job is currently in the Stopping state." + }, + { + "value": "Stopped", + "description": "The job is currently in the Stopped state." + }, + { + "value": "Deleting", + "description": "The job is currently in the Deleting state." + }, + { + "value": "Failed", + "description": "The job is currently in the Failed state." + }, + { + "value": "Degraded", + "description": "The job is currently in the Degraded state." + }, + { + "value": "Restarting", + "description": "The job is currently in the Restarting state." + }, + { + "value": "Scaling", + "description": "The job is currently in the Scaling state." + } + ] + } + } + }, + "parameters": { + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Create.json new file mode 100644 index 000000000000..308a5ce95830 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Create.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "An Example Cluster", + "api-version": "2020-03-01", + "cluster": { + "location": "North US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 48 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "North US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 48 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 0, + "capacityAssigned": 0 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "North US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 48 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 0, + "capacityAssigned": 0 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Delete.json new file mode 100644 index 000000000000..2bfbcd63c495 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Get.json new file mode 100644 index 000000000000..d9151089861c --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListByResourceGroup.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListByResourceGroup.json new file mode 100644 index 000000000000..3bc8733d9133 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListByResourceGroup.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/ADifferentStreamingCluster", + "name": "A Different Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "G97C0C81-D5B1-451D-AFC8-0B42D4729B8C" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListBySubscription.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListBySubscription.json new file mode 100644 index 000000000000..b612acc8c5ab --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListBySubscription.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/ADifferentStreamingCluster", + "name": "A Different Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 48, + "capacityAssigned": 96 + }, + "etag": "G97C0C81-D5B1-451D-AFC8-0B42D4729B8C" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListStreamingJobs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListStreamingJobs.json new file mode 100644 index 000000000000..af0878044e31 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_ListStreamingJobs.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/microsoft.streamAnalytics/streamingjobs/AFilterSample", + "streamingUnits": 6, + "jobState": "Running" + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/microsoft.streamAnalytics/streamingjobs/AnotherFilterSample", + "streamingUnits": 1, + "jobState": "Stopped" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Update.json new file mode 100644 index 000000000000..631d277249e4 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/Cluster_Update.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01", + "cluster": { + "location": "Central US", + "sku": { + "capacity": 96 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/AnExampleStreamingCluster", + "name": "An Example Cluster", + "type": "Microsoft.StreamAnalytics/clusters", + "location": "Central US", + "tags": { + "key": "value" + }, + "sku": { + "name": "Default", + "capacity": 96 + }, + "properties": { + "createdDate": "2020-01-25T01:00:00Z", + "clusterId": "B01C67EF-4739-4DDD-9FB2-427EB43DE839", + "provisioningState": "Succeeded", + "capacityAllocated": 36, + "capacityAssigned": 48 + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + }, + "202": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Create.json new file mode 100644 index 000000000000..977b24febe2f --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Create.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "privateEndpointName": "testpe", + "api-version": "2020-03-01", + "privateEndpoint": { + "properties": { + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/AnExamplePrivateEndpoint", + "name": "An Example Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/AnExamplePrivateEndpoint", + "name": "An Example Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Delete.json new file mode 100644 index 000000000000..e219248ac76e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "privateEndpointName": "testpe", + "api-version": "2020-03-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Get.json new file mode 100644 index 000000000000..0b3909921a47 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "privateEndpointName": "testpe", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/AnExamplePrivateEndpoint", + "name": "An Example Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "This connection request originated from Azure Stream Analytics cluster named \"testcluster\". Please approve this request to allow any Stream Analytics job running on that cluster to access this resource.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_ListByCluster.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_ListByCluster.json new file mode 100644 index 000000000000..b4d2fe7c6cfa --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/examples/PrivateEndpoint_ListByCluster.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "sjrg", + "clusterName": "testcluster", + "api-version": "2020-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/AnExamplePrivateEndpoint", + "name": "An Example Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "F86B9B70-D5B1-451D-AFC8-0B42D4729B8C" + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/clusters/testcluster/privateEndpoints/ADifferentPrivateEndpoint", + "name": "A Different Private Endpoint", + "type": "Microsoft.StreamAnalytics/clusters/privateEndpoints", + "properties": { + "createdDate": "2020-03-01T01:00Z", + "manualPrivateLinkServiceConnections": [ + { + "properties": { + "privateLinkServiceId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/privateLinkServices/testPls", + "groupIds": [ + "groupIdFromResource" + ], + "requestMessage": "Please approve my connection.", + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Awaiting approval", + "actionsRequired": "None" + } + } + } + ] + }, + "etag": "G97C0C81-D5B1-451D-AFC8-0B42D4729B8C" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json new file mode 100644 index 000000000000..f090e917309e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json @@ -0,0 +1,358 @@ +{ + "swagger": "2.0", + "info": { + "title": "StreamAnalyticsManagementClient", + "version": "2020-03-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.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}": { + "put": { + "tags": [ + "PrivateEndpoints" + ], + "description": "Creates a Stream Analytics Private Endpoint or replaces an already existing Private Endpoint.", + "operationId": "PrivateEndpoints_CreateOrUpdate", + "x-ms-examples": { + "Create a private endpoint": { + "$ref": "./examples/PrivateEndpoint_Create.json" + } + }, + "parameters": [ + { + "name": "privateEndpoint", + "description": "The definition of the private endpoint that will be used to create a new cluster or replace the existing one.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./clusters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfMatchHeader" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/IfNoneMatchHeader" + } + ], + "responses": { + "200": { + "description": "The private endpoint was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "201": { + "description": "The private endpoint was successfully created or replaced.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "get": { + "tags": [ + "PrivateEndpoints" + ], + "description": "Gets information about the specified Private Endpoint.", + "operationId": "PrivateEndpoints_Get", + "x-ms-examples": { + "Get a private endpoint": { + "$ref": "./examples/PrivateEndpoint_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./clusters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified private endpoint.", + "schema": { + "$ref": "#/definitions/PrivateEndpoint" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpoints" + ], + "description": "Delete the specified private endpoint.", + "operationId": "PrivateEndpoints_Delete", + "x-ms-examples": { + "Delete a private endpoint": { + "$ref": "./examples/PrivateEndpoint_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./clusters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The private endpoint was successfully deleted." + }, + "202": { + "description": "The delete request was successfully initiated." + }, + "204": { + "description": "The private endpoint does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints": { + "get": { + "tags": [ + "PrivateEndpoints" + ], + "description": "Lists the private endpoints in the cluster.", + "operationId": "PrivateEndpoints_ListByCluster", + "x-ms-examples": { + "Get the private endpoints in a cluster": { + "$ref": "./examples/PrivateEndpoint_ListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./clusters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the private endpoints under the specified cluster.", + "schema": { + "$ref": "#/definitions/PrivateEndpointListResult" + } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PrivateEndpoint": { + "description": "Complete information about the private endpoint.", + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "The properties associated with a private endpoint.", + "$ref": "#/definitions/PrivateEndpointProperties" + }, + "etag": { + "description": "Unique opaque string (generally a GUID) that represents the metadata state of the resource (private endpoint) and changes whenever the resource is updated. Required on PUT (CreateOrUpdate) requests.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointProperties": { + "description": "The properties associated with a private endpoint.", + "properties": { + "createdDate": { + "description": "The date when this private endpoint was created.", + "type": "string", + "readOnly": true + }, + "manualPrivateLinkServiceConnections": { + "description": "A list of connections to the remote resource. Immutable after it is set.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkServiceConnection" + } + } + } + }, + "PrivateLinkServiceConnection": { + "description": "A grouping of information about the connection to the remote resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Bag of properties defining a privatelinkServiceConnection.", + "$ref": "#/definitions/PrivateLinkServiceConnectionProperties" + } + } + }, + "PrivateLinkServiceConnectionProperties": { + "description": "Bag of properties defining a privatelinkServiceConnection.", + "properties": { + "privateLinkServiceId": { + "description": "The resource id of the private link service. Required on PUT (CreateOrUpdate) requests.", + "type": "string" + }, + "groupIds": { + "description": "The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. Required on PUT (CreateOrUpdate) requests.", + "type": "array", + "items": { + "type": "string" + } + }, + "requestMessage": { + "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars.", + "type": "string" + }, + "privateLinkServiceConnectionState": { + "description": "A collection of read-only information about the state of the connection to the private remote resource.", + "$ref": "#/definitions/PrivateLinkConnectionState" + } + } + }, + "PrivateLinkConnectionState": { + "description": "A collection of read-only information about the state of the connection to the private remote resource.", + "properties": { + "status": { + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the remote resource/service.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The reason for approval/rejection of the connection.", + "type": "string", + "readOnly": true + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointListResult": { + "description": "A list of private endpoints.", + "properties": { + "value": { + "description": "A list of private endpoints.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "readOnly": true + }, + "nextLink": { + "description": "The URL to fetch the next set of private endpoints.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "PrivateEndpointNameParameter": { + "name": "privateEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/streamanalytics/resource-manager/readme.azureresourceschema.md b/specification/streamanalytics/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..66f93a4bf826 --- /dev/null +++ b/specification/streamanalytics/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,29 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-streamanalytics-2016-03-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-streamanalytics-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-streamanalytics-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.StreamAnalytics/stable/2016-03-01/streamingjobs.json + - Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json + - Microsoft.StreamAnalytics/stable/2016-03-01/outputs.json + - Microsoft.StreamAnalytics/stable/2016-03-01/transformations.json + - Microsoft.StreamAnalytics/stable/2016-03-01/functions.json + - Microsoft.StreamAnalytics/stable/2016-03-01/subscriptions.json + +``` diff --git a/specification/streamanalytics/resource-manager/readme.go.md b/specification/streamanalytics/resource-manager/readme.go.md index 443818eee8dd..59234232de73 100644 --- a/specification/streamanalytics/resource-manager/readme.go.md +++ b/specification/streamanalytics/resource-manager/readme.go.md @@ -13,14 +13,31 @@ go: ``` yaml $(go) && $(multiapi) batch: - - tag: package-2016-03 + - tag: package-2020-03-preview ``` -### Tag: package-2016-03 and go +### Tag: package-pure-2016-03 and go -These settings apply only when `--tag=package-2016-03 --go` is specified on the command line. +These settings apply only when `--tag=package-pure-2016-03 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. -``` yaml $(tag) == 'package-2016-03' && $(go) +``` yaml $(tag) == 'package-pure-2016-03' && $(go) output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2016-03-01/$(namespace) ``` + +### Tag: package-pure-2017-04-preview and go + +These settings apply only when `--tag=package-pure-2017-04-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-pure-2017-04-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-04-01-preview/$(namespace) +``` + +### Tag: package-2020-03-preview and go + +These settings apply only when `--tag=package-2020-03-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-03-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace) \ No newline at end of file diff --git a/specification/streamanalytics/resource-manager/readme.md b/specification/streamanalytics/resource-manager/readme.md index 7c4e3a7d48bf..da97ee0bb56d 100644 --- a/specification/streamanalytics/resource-manager/readme.md +++ b/specification/streamanalytics/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for StreamAnalytics. - - --- + ## Getting Started + To build the SDK for StreamAnalytics, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,28 +15,75 @@ To build the SDK for StreamAnalytics, simply [Install AutoRest](https://aka.ms/a To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the StreamAnalytics API. ``` yaml title: Stream Analytics Management Client description: Stream Analytics Client openapi-type: arm -tag: package-2016-03 +tag: package-2020-03-preview ``` +### Tag: package-2020-03-preview + +These settings apply only when `--tag=package-2020-03-preview` is specified on the command line. + +This section contains the composite set of APIs. Stream Analytics Cluster and Private Endpoint related APIs are under 2020-03-01-preview version. Streamingjobs related APIs are under 2017-04-01-preview version. + +```yaml $(tag) == 'package-2020-03-preview' +input-file: + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json +``` + +### Tag: package-pure-2020-03-preview + +These settings apply only when `--tag=package-pure-2020-03-preview` is specified on the command line. + +This section only contains input swagger files for version 2020-03-01-preview, including Stream Analytics Cluster and Private Endpoint related APIs. + +```yaml $(tag) == 'package-pure-2020-03-preview' +input-file: + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/clusters.json + - Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json +``` + +### Tag: package-pure-2017-04-preview + +These settings apply only when `--tag=package-pure-2017-04-preview` is specified on the command line. + +This section only contains input swagger files for version 2017-04-01-preview, including streamingjobs related APIs. + +```yaml $(tag) == 'package-pure-2017-04-preview' +input-file: + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/functions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/streamingjobs.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/subscriptions.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/transformations.json + - Microsoft.StreamAnalytics/preview/2017-04-01-preview/operations.json +``` -### Tag: package-2016-03 +### Tag: package-pure-2016-03 -These settings apply only when `--tag=package-2016-03` is specified on the command line. +These settings apply only when `--tag=package-pure-2016-03` is specified on the command line. -``` yaml $(tag) == 'package-2016-03' +``` yaml $(tag) == 'package-pure-2016-03' input-file: - Microsoft.StreamAnalytics/stable/2016-03-01/streamingjobs.json - Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json @@ -46,10 +93,9 @@ input-file: - Microsoft.StreamAnalytics/stable/2016-03-01/subscriptions.json ``` - --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -65,9 +111,11 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_stream_analytics'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js streamanalytics/resource-manager ``` - ## C# These settings apply only when `--csharp` is specified on the command line. @@ -104,15 +152,15 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-streamanalytics ``` yaml $(java) && $(multiapi) batch: - - tag: package-2016-03 + - tag: package-2020-03-preview ``` -### Tag: package-2016-03 and java +### Tag: package-pure-2016-03 and java -These settings apply only when `--tag=package-2016-03 --java` is specified on the command line. +These settings apply only when `--tag=package-pure-2016-03 --java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. -``` yaml $(tag) == 'package-2016-03' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-pure-2016-03' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.streamanalytics.v2016_03_01 output-folder: $(azure-libraries-for-java-folder)/sdk/streamanalytics/mgmt-v2016_03_01 @@ -120,6 +168,31 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-pure-2017-04-preview and java + +These settings apply only when `--tag=package-pure-2017-04-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-pure-2017-04-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.streamanalytics.v2017_04_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/streamanalytics/mgmt-v2017_04_01_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2020-03-preview and java + +These settings apply only when `--tag=package-2020-03-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2020-03-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.streamanalytics.v2020_03_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/streamanalytics/mgmt-v2020_03_01_preview +regenerate-manager: true +generate-interface: true +``` # Suppression @@ -149,9 +222,16 @@ directive: where: $.definitions.SubscriptionQuota from: subscriptions.json reason: Need the “name” property to be writable on nested resources so that our RP can support a DEEP PUT scenario which at the time, ARM did not have a native way to support. + + - suppress: R3023 # Operations API must be implemented for '/providers/Microsoft.StreamAnalytics/operations'. + reason: Operations API under 2017-04-01-preview is the super-set of all RPs operations (across all API-versions). ``` -## Multi-API/Profile support for AutoRest v3 generators +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -172,11 +252,10 @@ input-file: ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' #exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` - diff --git a/specification/streamanalytics/resource-manager/readme.python.md b/specification/streamanalytics/resource-manager/readme.python.md new file mode 100644 index 000000000000..9e43992844d1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/readme.python.md @@ -0,0 +1,26 @@ +## 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.streamanalytics + package-name: azure-mgmt-streamanalytics + package-version: 0.1.0 + clear-output-folder: true +``` +``` yaml $(python) && $(python-mode) == 'update' +python: + no-namespace-folders: true + output-folder: $(python-sdks-folder)/streamanalytics/azure-mgmt-streamanalytics/azure/mgmt/streamanalytics +``` +``` yaml $(python) && $(python-mode) == 'create' +python: + basic-setup-py: true + output-folder: $(python-sdks-folder)/streamanalytics/azure-mgmt-streamanalytics \ No newline at end of file diff --git a/specification/streamanalytics/resource-manager/readme.ruby.md b/specification/streamanalytics/resource-manager/readme.ruby.md index 913b3d34fef8..ae73ffd1413d 100644 --- a/specification/streamanalytics/resource-manager/readme.ruby.md +++ b/specification/streamanalytics/resource-manager/readme.ruby.md @@ -12,15 +12,34 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: - - tag: package-2016-03 + - tag: package-2020-03-preview ``` -### Tag: package-2016-03 and ruby +### Tag: package-pure-2016-03 and ruby -These settings apply only when `--tag=package-2016-03 --ruby` is specified on the command line. +These settings apply only when `--tag=package-pure-2016-03 --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. -``` yaml $(tag) == 'package-2016-03' && $(ruby) +``` yaml $(tag) == 'package-pure-2016-03' && $(ruby) namespace: "Azure::StreamAnalytics::Mgmt::V2016_03_01" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_stream_analytics/lib ``` + +### Tag: package-pure-2017-04-preview and ruby + +These settings apply only when `--tag=package-pure-2017-04-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-pure-2017-04-preview' && $(ruby) +namespace: "Azure::StreamAnalytics::Mgmt::V2017_04_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_stream_analytics/lib +``` + +### Tag: package-2020-03-preview and ruby + +These settings apply only when `--tag=package-2020-03-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-03-preview' && $(ruby) +namespace: "Azure::StreamAnalytics::Mgmt::V2020_03_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_stream_analytics/lib \ No newline at end of file diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json new file mode 100644 index 000000000000..f6cdb5e2b583 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/createAlias.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2019-10-01-preview", + "body": { + "properties": { + "displayName": "Contoso MCA subscription", + "billingScope": "/providers/Microsoft.Billing/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/billingProfiles/PE2Q-NOIT-BG7-TGB/invoiceSections/MTT4-OBS7-PJA-TGB", + "workload": "Production" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/deleteAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/deleteAlias.json new file mode 100644 index 000000000000..8663c11a8528 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/deleteAlias.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2019-10-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getAlias.json new file mode 100644 index 000000000000..d36ebffa17b8 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/getAlias.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2019-10-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/listAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/listAlias.json new file mode 100644 index 000000000000..8108ceb5ec9b --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/examples/listAlias.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2019-10-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json index 8605058478c8..bc23df26ea49 100644 --- a/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json +++ b/specification/subscription/resource-manager/Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json @@ -392,6 +392,146 @@ } ] } + }, + "/providers/Microsoft.Subscription/aliases/{aliasName}": { + "put": { + "description": "Create Alias Subscription.", + "operationId": "Subscription_CreateAlias", + "x-ms-examples": { + "CreateAlias": { + "$ref": "./examples/createAlias.json" + } + }, + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Normal response for a successful query.", + "schema": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "201": { + "description": "Accepted. Subscription creation is in progress.", + "schema": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PutAliasRequest" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + }, + "get": { + "description": "Get Alias Subscription.", + "operationId": "Subscription_GetAlias", + "x-ms-examples": { + "GetAlias": { + "$ref": "./examples/getAlias.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + }, + "delete": { + "description": "Delete Alias.", + "operationId": "Subscription_DeleteAlias", + "x-ms-examples": { + "DeleteAlias": { + "$ref": "./examples/deleteAlias.json" + } + }, + "responses": { + "200": { + "description": "Deleted the alias" + }, + "204": { + "description": "Alias does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + }, + "/providers/Microsoft.Subscription/aliases": { + "get": { + "description": "Get Alias Subscription.", + "operationId": "Subscription_ListAlias", + "x-ms-examples": { + "GetAlias": { + "$ref": "./examples/listAlias.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/PutAliasListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } } }, "definitions": { @@ -409,6 +549,16 @@ } } }, + "ErrorResponseBody": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorResponse" + } + } + }, "CanceledSubscriptionId": { "description": "The ID of the canceled subscription", "properties": { @@ -608,6 +758,116 @@ "type": "string" } } + }, + "PutAliasRequest": { + "description": "The parameters required to create a new subscription.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PutAliasRequestProperties", + "description": "Put alias request properties." + } + } + }, + "PutAliasRequestProperties": { + "description": "Put subscription properties.", + "required": [ + "displayName", + "workload", + "billingScope" + ], + "properties": { + "displayName": { + "description": "The friendly name of the subscription.", + "type": "string" + }, + "workload": { + "description": "The workload type of the subscription. It can be either Production or DevTest.", + "type": "string", + "x-ms-enum": { + "name": "workload", + "modelAsString": true + }, + "enum": [ + "Production", + "DevTest" + ] + }, + "billingScope": { + "description": "Determines whether subscription is fieldLed, partnerLed or LegacyEA", + "type": "string" + }, + "subscriptionId": { + "description": "This parameter can be used to create alias for existing subscription Id", + "type": "string" + } + } + }, + "PutAliasResponse": { + "description": "Subscription Information with the alias.", + "properties": { + "id": { + "description": "Fully qualified ID for the alias resource.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Alias ID.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type, Microsoft.Subscription/aliases.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PutAliasResponseProperties", + "description": "Put Alias response properties." + } + }, + "x-ms-azure-resource": true + }, + "PutAliasResponseProperties": { + "description": "Put subscription creation result properties.", + "properties": { + "subscriptionId": { + "description": "Newly created subscription Id.", + "readOnly": true, + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource.", + "enum": [ + "Accepted", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "PutAliasListResult": { + "description": "The list of aliases.", + "properties": { + "value": { + "description": "The list of alias.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } } }, "parameters": { @@ -635,6 +895,14 @@ "schema": { "$ref": "#/definitions/SubscriptionName" } + }, + "aliasNameParameter": { + "name": "aliasName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Alias Name" } }, "security": [ diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/cancelSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/cancelSubscription.json new file mode 100644 index 000000000000..74c4cf1edac7 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/cancelSubscription.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/createAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/createAlias.json new file mode 100644 index 000000000000..72dc9f32e0f7 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/createAlias.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2020-09-01", + "body": { + "properties": { + "displayName": "Contoso MCA subscription", + "billingScope": "/providers/Microsoft.Billing/billingAccounts/e879cf0f-2b4d-5431-109a-f72fc9868693:024cabf4-7321-4cf9-be59-df0c77ca51de_2019-05-31/billingProfiles/PE2Q-NOIT-BG7-TGB/invoiceSections/MTT4-OBS7-PJA-TGB", + "workload": "Production" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/deleteAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/deleteAlias.json new file mode 100644 index 000000000000..d62e396f0283 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/deleteAlias.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2020-09-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/enableSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/enableSubscription.json new file mode 100644 index 000000000000..ef41bf44a0db --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/enableSubscription.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "7948bcee-488c-47ce-941c-38e20ede803d", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": "7948bcee-488c-47ce-941c-38e20ede803d" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getAlias.json new file mode 100644 index 000000000000..fecfb948403d --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getAlias.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "aliasName": "aliasForNewSub", + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getOperations.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getOperations.json new file mode 100644 index 000000000000..4ee0cae82a66 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/getOperations.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Subscription/createOperation/action", + "display": { + "provider": "Microsoft Subscription", + "resource": "Resources", + "operation": "Create a subscription" + } + } + ] + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/listAlias.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/listAlias.json new file mode 100644 index 000000000000..2afd624f005e --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/listAlias.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Subscription/aliases/aliasForNewSub", + "name": "aliasForNewSub", + "type": "Microsoft.Subscription/aliases", + "properties": { + "subscriptionId": "subscriptions/291bba3f-e0a5-47bc-a099-3bdcb2a50a05" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/renameSubscription.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/renameSubscription.json new file mode 100644 index 000000000000..ec2cd2a69193 --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/examples/renameSubscription.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "83aa47df-e3e9-49ff-877b-94304bf3d3ad", + "api-version": "2020-09-01", + "body": { + "subscriptionName": "Test Sub" + } + }, + "responses": { + "200": { + "body": { + "value": "83aa47df-e3e9-49ff-877b-94304bf3d3ad" + } + } + } +} diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json new file mode 100644 index 000000000000..a4c186194cff --- /dev/null +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json @@ -0,0 +1,586 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-01", + "title": "SubscriptionClient", + "description": "Subscription client provides an interface to create and manage Azure subscriptions programmatically." + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel": { + "post": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_Cancel", + "x-ms-examples": { + "cancelSubscription": { + "$ref": "./examples/cancelSubscription.json" + } + }, + "description": "The operation to cancel a subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CanceledSubscriptionId" + } + }, + "default": { + "description": "Describes the error if the operation is not successful.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename": { + "post": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_Rename", + "x-ms-examples": { + "renameSubscription": { + "$ref": "./examples/renameSubscription.json" + } + }, + "description": "The operation to rename a subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/subscriptionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/RenamedSubscriptionId" + } + }, + "default": { + "description": "Describes the error if the operation is not successful.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable": { + "post": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_Enable", + "x-ms-examples": { + "enableSubscription": { + "$ref": "./examples/enableSubscription.json" + } + }, + "description": "The operation to enable a subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnabledSubscriptionId" + } + }, + "default": { + "description": "Describes the error if the operation is not successful.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Subscription/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Microsoft.Subscription API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "getOperations": { + "$ref": "./examples/getOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Subscription/aliases/{aliasName}": { + "put": { + "tags": [ + "Alias" + ], + "description": "Create Alias Subscription.", + "operationId": "Alias_Create", + "x-ms-examples": { + "CreateAlias": { + "$ref": "./examples/createAlias.json" + } + }, + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Normal response for a successful query.", + "schema": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "201": { + "description": "Accepted. Subscription creation is in progress.", + "schema": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PutAliasRequest" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + }, + "get": { + "tags": [ + "Alias" + ], + "description": "Get Alias Subscription.", + "operationId": "Alias_Get", + "x-ms-examples": { + "GetAlias": { + "$ref": "./examples/getAlias.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + }, + "delete": { + "tags": [ + "Alias" + ], + "description": "Delete Alias.", + "operationId": "Alias_Delete", + "x-ms-examples": { + "DeleteAlias": { + "$ref": "./examples/deleteAlias.json" + } + }, + "responses": { + "200": { + "description": "Deleted the alias" + }, + "204": { + "description": "Alias does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/aliasNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + }, + "/providers/Microsoft.Subscription/aliases": { + "get": { + "tags": [ + "Alias" + ], + "description": "Get Alias Subscription.", + "operationId": "Alias_List", + "x-ms-examples": { + "GetAlias": { + "$ref": "./examples/listAlias.json" + } + }, + "responses": { + "200": { + "description": "Subscription details.", + "schema": { + "$ref": "#/definitions/PutAliasListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ] + } + } + }, + "definitions": { + "ErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "ErrorResponseBody": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "CanceledSubscriptionId": { + "description": "The ID of the canceled subscription", + "properties": { + "value": { + "description": "The ID of the canceled subscription", + "type": "string", + "readOnly": true + } + } + }, + "RenamedSubscriptionId": { + "description": "The ID of the subscriptions that is being renamed", + "properties": { + "value": { + "description": "The ID of the subscriptions that is being renamed", + "type": "string", + "readOnly": true + } + } + }, + "EnabledSubscriptionId": { + "description": "The ID of the subscriptions that is being enabled", + "properties": { + "value": { + "description": "The ID of the subscriptions that is being enabled", + "type": "string", + "readOnly": true + } + } + }, + "SubscriptionName": { + "type": "object", + "description": "The new name of the subscription.", + "properties": { + "subscriptionName": { + "type": "string", + "description": "New subscription name" + } + } + }, + "OperationListResult": { + "description": "Result of the request to list operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Subscription", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + } + } + } + } + }, + "PutAliasRequest": { + "description": "The parameters required to create a new subscription.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PutAliasRequestProperties", + "description": "Put alias request properties." + } + } + }, + "PutAliasRequestProperties": { + "description": "Put subscription properties.", + "properties": { + "displayName": { + "description": "The friendly name of the subscription.", + "type": "string" + }, + "workload": { + "description": "The workload type of the subscription. It can be either Production or DevTest.", + "type": "string", + "x-ms-enum": { + "name": "workload", + "modelAsString": true + }, + "enum": [ + "Production", + "DevTest" + ] + }, + "billingScope": { + "description": "Determines whether subscription is fieldLed, partnerLed or LegacyEA", + "type": "string" + }, + "subscriptionId": { + "description": "This parameter can be used to create alias for existing subscription Id", + "type": "string" + } + } + }, + "PutAliasResponse": { + "description": "Subscription Information with the alias.", + "properties": { + "id": { + "description": "Fully qualified ID for the alias resource.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Alias ID.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type, Microsoft.Subscription/aliases.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PutAliasResponseProperties", + "description": "Put Alias response properties." + } + }, + "x-ms-azure-resource": true + }, + "PutAliasResponseProperties": { + "description": "Put subscription creation result properties.", + "properties": { + "subscriptionId": { + "description": "Newly created subscription Id.", + "readOnly": true, + "type": "string" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource.", + "enum": [ + "Accepted", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "PutAliasListResult": { + "description": "The list of aliases.", + "properties": { + "value": { + "description": "The list of alias.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PutAliasResponse" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "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 2020-09-01" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription Id." + }, + "subscriptionNameParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Subscription Name", + "schema": { + "$ref": "#/definitions/SubscriptionName" + } + }, + "aliasNameParameter": { + "name": "aliasName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Alias Name" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "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/subscription/resource-manager/readme.azureresourceschema.md b/specification/subscription/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7d8ef12e7540 --- /dev/null +++ b/specification/subscription/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,109 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-subscription-2020-09-01 + - tag: schema-subscription-2020-01-01 + - tag: schema-subscription-2019-10-01-preview + - tag: schema-subscription-2019-03-01-preview + - tag: schema-subscription-2018-11-01-preview + - tag: schema-subscription-2018-03-01-preview + - tag: schema-subscription-2017-11-01-preview + - tag: schema-subscription-2016-06-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-subscription-2020-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2020-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/stable/2020-09-01/subscriptions.json + +``` + +### Tag: schema-subscription-2020-01-01 and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2020-01-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/stable/2020-01-01/subscriptions.json + +``` + +### Tag: schema-subscription-2019-10-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2019-10-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2019-10-01-preview/subscriptions.json + +``` + +### Tag: schema-subscription-2019-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2019-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2019-03-01-preview/subscriptions.json + +``` + +### Tag: schema-subscription-2018-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2018-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2018-11-01-preview/subscriptions.json + +``` + +### Tag: schema-subscription-2018-03-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2018-03-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2018-03-01-preview/subscriptions.json + - Microsoft.Subscription/preview/2018-03-01-preview/operations.json + +``` + +### Tag: schema-subscription-2017-11-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2017-11-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/preview/2017-11-01-preview/subscriptionDefinitions.json + +``` + +### Tag: schema-subscription-2016-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-subscription-2016-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Subscription/stable/2016-06-01/subscriptions.json + +``` diff --git a/specification/subscription/resource-manager/readme.go.md b/specification/subscription/resource-manager/readme.go.md index b52d772b3e18..56a77b2375f4 100644 --- a/specification/subscription/resource-manager/readme.go.md +++ b/specification/subscription/resource-manager/readme.go.md @@ -13,11 +13,21 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-09 - tag: package-2019-10-preview - tag: package-2018-03-preview - tag: package-2017-11-preview ``` +### Tag: package-2020-09 and go + +These settings apply only when `--tag=package-2020-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-09' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace) +``` + ### Tag: package-2019-10-preview and go These settings apply only when `--tag=package-2019-10-preview --go` is specified on the command line. @@ -43,4 +53,4 @@ Please also specify `--go-sdk-folder=
    You can also filter the support tickets by Status or CreatedDate using the $filter parameter. Output will be a paged result with nextLink, using which you can retrieve the next set of support tickets.

    Support ticket data is available for 12 months after ticket creation. If a ticket was created more than 12 months ago, a request for data might cause an error.", + "description": "Lists all the support tickets for an Azure subscription.

    You can also filter the support tickets by Status or CreatedDate using the $filter parameter. Output will be a paged result with nextLink, using which you can retrieve the next set of support tickets.

    Support ticket data is available for 18 months after ticket creation. If a ticket was created more than 18 months ago, a request for data might cause an error.", "operationId": "SupportTickets_List", "parameters": [ { @@ -345,7 +345,7 @@ "tags": [ "SupportTickets" ], - "description": "Gets details for a specific support ticket in an Azure subscription.

    Support ticket data is available for 12 months after ticket creation. If a ticket was created more than 12 months ago, a request for data might cause an error.", + "description": "Gets details for a specific support ticket in an Azure subscription.

    Support ticket data is available for 18 months after ticket creation. If a ticket was created more than 18 months ago, a request for data might cause an error.", "operationId": "SupportTickets_Get", "parameters": [ { @@ -589,7 +589,7 @@ "tags": [ "Communications" ], - "description": "Lists all communications (attachments not included) for a support ticket.

    You can also filter support ticket communications by CreatedDate�or CommunicationType using the $filter parameter. The only type of communication supported today is Web. Output will be a paged result with nextLink, using which you can retrieve the next set of Communication results.

    Support ticket data is available for 12 months after ticket creation. If a ticket was created more than 12 months ago, a request for data might cause an error.", + "description": "Lists all communications (attachments not included) for a support ticket.

    You can also filter support ticket communications by CreatedDate�or CommunicationType using the $filter parameter. The only type of communication supported today is Web. Output will be a paged result with nextLink, using which you can retrieve the next set of Communication results.

    Support ticket data is available for 18 months after ticket creation. If a ticket was created more than 18 months ago, a request for data might cause an error.", "operationId": "Communications_List", "parameters": [ { diff --git a/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/examples/CreateSqlManagedInstanceQuotaTicket.json b/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/examples/CreateSqlManagedInstanceQuotaTicket.json new file mode 100644 index 000000000000..8a92e986a09e --- /dev/null +++ b/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/examples/CreateSqlManagedInstanceQuotaTicket.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "subid", + "supportTicketName": "testticket", + "api-version": "2020-04-01", + "createSupportTicketParameters": { + "properties": { + "serviceId": "/providers/Microsoft.Support/services/quota_service_guid", + "title": "my title", + "description": "my description", + "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_managedinstance_problemClassification_guid", + "severity": "moderate", + "contactDetails": { + "firstName": "abc", + "lastName": "xyz", + "primaryEmailAddress": "abc@contoso.com", + "preferredContactMethod": "email", + "preferredTimeZone": "Pacific Standard Time", + "preferredSupportLanguage": "en-US", + "country": "usa" + }, + "quotaTicketDetails": { + "quotaChangeRequestVersion": "1.0", + "quotaChangeRequestSubType": "SQLMI", + "quotaChangeRequests": [ + { + "region": "EastUS", + "payload": "{\"NewLimit\":200, \"Metadata\":null, \"Type\":\"vCore\"}" + }, + { + "region": "EastUS", + "payload": "{\"NewLimit\":200, \"Metadata\":null, \"Type\":\"Subnet\"}" + } + ] + } + } + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationResults/operationid?api-version=2020-04-01", + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Support/operationsStatus/operationid?api-version=2020-04-01" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.Support/supportTickets/testticket", + "name": "testticket", + "type": "Microsoft.Support/supportTickets", + "properties": { + "supportTicketId": "119120321001170", + "description": "my description", + "problemClassificationId": "/providers/Microsoft.Support/services/quota_service_guid/problemClassifications/sql_datawarehouse_problemClassification_guid", + "problemClassificationDisplayName": "SQL Database Managed Instance", + "severity": "moderate", + "require24X7Response": false, + "contactDetails": { + "firstName": "abc", + "lastName": "xyz", + "preferredContactMethod": "email", + "primaryEmailAddress": "abc@contoso.com", + "preferredTimeZone": "Pacific Standard Time", + "country": "usa", + "preferredSupportLanguage": "en-US" + }, + "quotaTicketDetails": { + "quotaChangeRequestVersion": "1.0", + "quotaChangeRequestSubType": "SQLMI", + "quotaChangeRequests": [ + { + "region": "EastUS", + "payload": "{\"NewLimit\":200, \"Metadata\":null, \"Type\":\"vCore\"}" + }, + { + "region": "EastUS", + "payload": "{\"NewLimit\":200, \"Metadata\":null, \"Type\":\"Subnet\"}" + } + ] + }, + "serviceLevelAgreement": { + "startTime": "2020-03-20T21:36:18Z", + "expirationTime": "2020-03-21T17:36:18Z", + "slaMinutes": 240 + }, + "supportEngineer": { + "emailAddress": null + }, + "supportPlanType": "Premier", + "title": "my title", + "serviceId": "/providers/Microsoft.Support/services/quota_service_guid", + "serviceDisplayName": "Service and subscription limits (quotas)", + "status": "Open", + "createdDate": "2020-03-20T21:36:18Z", + "modifiedDate": "2020-03-20T21:36:23Z" + } + } + } + } +} diff --git a/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/support.json b/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/support.json index 1ced78a858a1..c68263506e7c 100644 --- a/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/support.json +++ b/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/support.json @@ -286,7 +286,7 @@ "tags": [ "SupportTickets" ], - "description": "Lists all the support tickets for an Azure subscription. You can also filter the support tickets by _Status_ or _CreatedDate_ using the $filter parameter. Output will be a paged result with _nextLink_, using which you can retrieve the next set of support tickets.

    Support ticket data is available for 12 months after ticket creation. If a ticket was created more than 12 months ago, a request for data might cause an error.", + "description": "Lists all the support tickets for an Azure subscription. You can also filter the support tickets by _Status_ or _CreatedDate_ using the $filter parameter. Output will be a paged result with _nextLink_, using which you can retrieve the next set of support tickets.

    Support ticket data is available for 18 months after ticket creation. If a ticket was created more than 18 months ago, a request for data might cause an error.", "operationId": "SupportTickets_List", "parameters": [ { @@ -345,7 +345,7 @@ "tags": [ "SupportTickets" ], - "description": "Get ticket details for an Azure subscription. Support ticket data is available for 12 months after ticket creation. If a ticket was created more than 12 months ago, a request for data might cause an error.", + "description": "Get ticket details for an Azure subscription. Support ticket data is available for 18 months after ticket creation. If a ticket was created more than 18 months ago, a request for data might cause an error.", "operationId": "SupportTickets_Get", "parameters": [ { @@ -535,6 +535,9 @@ "Create a ticket to request Quota increase for Low-priority cores for Machine Learning service": { "$ref": "./examples/CreateMachineLearningQuotaTicketForLowPriorityCores.json" }, + "Create a ticket to request Quota increase for Azure SQL managed instance": { + "$ref": "./examples/CreateSqlManagedInstanceQuotaTicket.json" + }, "Create a ticket to request Quota increase for services that do not require additional details in the quotaTicketDetails object": { "$ref": "./examples/CreateGenericQuotaTicket.json" } @@ -598,7 +601,7 @@ "tags": [ "Communications" ], - "description": "Lists all communications (attachments not included) for a support ticket.

    You can also filter support ticket communications by _CreatedDate_ or _CommunicationType_ using the $filter parameter. The only type of communication supported today is _Web_. Output will be a paged result with _nextLink_, using which you can retrieve the next set of Communication results.

    Support ticket data is available for 12 months after ticket creation. If a ticket was created more than 12 months ago, a request for data might cause an error.", + "description": "Lists all communications (attachments not included) for a support ticket.

    You can also filter support ticket communications by _CreatedDate_ or _CommunicationType_ using the $filter parameter. The only type of communication supported today is _Web_. Output will be a paged result with _nextLink_, using which you can retrieve the next set of Communication results.

    Support ticket data is available for 18 months after ticket creation. If a ticket was created more than 18 months ago, a request for data might cause an error.", "operationId": "Communications_List", "parameters": [ { @@ -1147,7 +1150,7 @@ "readOnly": true }, "severity": { - "description": "A value that indicates the urgency of the case, which in turn determines the response time according to the service level agreement of the technical support plan you have with Azure. Note: 'Highest critical impact' severity is reserved only for our Premium customers.", + "description": "A value that indicates the urgency of the case, which in turn determines the response time according to the service level agreement of the technical support plan you have with Azure. Note: 'Highest critical impact', also known as the 'Emergency - Severe impact' level in the Azure portal is reserved only for our Premium customers.", "enum": [ "minimal", "moderate", diff --git a/specification/support/resource-manager/readme.azureresourceschema.md b/specification/support/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..fe16d38b6201 --- /dev/null +++ b/specification/support/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-support-2020-04-01 + - tag: schema-support-2019-05-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-support-2020-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-support-2020-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Support/stable/2020-04-01/support.json + +``` + +### Tag: schema-support-2019-05-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-support-2019-05-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Support/preview/2019-05-01-preview/support.json + +``` diff --git a/specification/support/resource-manager/readme.md b/specification/support/resource-manager/readme.md index 5dfd3045f68a..0cfd1d4d7776 100644 --- a/specification/support/resource-manager/readme.md +++ b/specification/support/resource-manager/readme.md @@ -64,6 +64,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_support'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js support/resource-manager ``` ## C# @@ -90,6 +93,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.ruby.md](./readme.ruby.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/synapse/common/v1/types.json b/specification/synapse/common/v1/types.json new file mode 100644 index 000000000000..6aaf16bf83f5 --- /dev/null +++ b/specification/synapse/common/v1/types.json @@ -0,0 +1,115 @@ +{ + "swagger": "2.0", + "info": { + "version": "v1", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "ErrorContract": { + "title": "Error details.", + "description": "Contains details when the response code indicates an error.", + "type": "object", + "properties": { + "error": { + "description": "The error details.", + "$ref": "../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + } + }, + "Sku": { + "description": "An ARM Resource SKU.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU, typically, a letter + Number code, e.g. P3.", + "type": "string" + }, + "tier": { + "description": "The tier or edition of the particular SKU, e.g. Basic, Premium.", + "type": "string" + } + } + }, + "SystemData": { + "description": "ARM System Data.", + "type": "object", + "properties": { + "createdBy": { + "description": "A string identifier for 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 + }, + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC).", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "description": "A string identifier for 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 + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of last modification (UTC).", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "description": "The name of the workspace.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "description": "The name of the sql pool.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlDatabaseNameParameter": { + "name": "sqlDatabaseName", + "in": "path", + "description": "The name of the sql database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json index f78900be895d..d854487114f7 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json @@ -77,6 +77,7 @@ } }, "description": "Creates or updates a linked service.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/linkedServiceName" @@ -108,6 +109,9 @@ "$ref": "#/definitions/LinkedServiceResource" } }, + "202": { + "description": "Accepted." + }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -171,6 +175,7 @@ } }, "description": "Deletes a linked service.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/linkedServiceName" @@ -183,6 +188,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Accepted." + }, "204": { "description": "No Content." }, @@ -246,6 +254,7 @@ } }, "description": "Creates or updates a dataset.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/datasetName" @@ -277,6 +286,9 @@ "$ref": "#/definitions/DatasetResource" } }, + "202": { + "description": "Accepted." + }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -340,6 +352,7 @@ } }, "description": "Deletes a dataset.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/datasetName" @@ -352,6 +365,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Accepted." + }, "204": { "description": "No Content." }, @@ -415,6 +431,7 @@ } }, "description": "Creates or updates a pipeline.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/pipelineName" @@ -446,6 +463,9 @@ "$ref": "#/definitions/PipelineResource" } }, + "202": { + "description": "Accepted." + }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -509,6 +529,7 @@ } }, "description": "Deletes a pipeline.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/pipelineName" @@ -521,6 +542,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Accepted." + }, "204": { "description": "No Content." }, @@ -587,8 +611,8 @@ } ], "responses": { - "200": { - "description": "OK.", + "202": { + "description": "Accepted.", "schema": { "$ref": "#/definitions/CreateRunResponse" } @@ -819,6 +843,7 @@ } }, "description": "Creates or updates a trigger.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/triggerName" @@ -850,6 +875,9 @@ "$ref": "#/definitions/TriggerResource" } }, + "202": { + "description": "Accepted." + }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -913,6 +941,7 @@ } }, "description": "Deletes a trigger.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/triggerName" @@ -925,6 +954,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Accepted." + }, "204": { "description": "No Content." }, @@ -1157,6 +1189,42 @@ } } }, + "/triggers/{triggerName}/triggerRuns/{runId}/cancel": { + "post": { + "tags": [ + "triggerruns" + ], + "operationId": "TriggerRun_CancelTriggerInstance", + "x-ms-examples": { + "Triggers_Rerun": { + "$ref": "./examples/TriggerRuns_Cancel.json" + } + }, + "description": "Cancel single trigger instance by runId.", + "parameters": [ + { + "$ref": "#/parameters/triggerName" + }, + { + "$ref": "#/parameters/runId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "TriggerRun has been cancelled." + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, "/queryTriggerRuns": { "post": { "tags": [ @@ -1214,6 +1282,7 @@ } }, "description": "Creates or updates a data flow.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/dataFlowName" @@ -1245,6 +1314,9 @@ "$ref": "#/definitions/DataFlowResource" } }, + "202": { + "description": "Accepted." + }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -1305,6 +1377,7 @@ } }, "description": "Deletes a data flow.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/dataFlowName" @@ -1317,6 +1390,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Accepted." + }, "204": { "description": "No Content." }, @@ -2109,6 +2185,7 @@ } }, "description": "Creates or updates a Note Book.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/NotebookName" @@ -2140,6 +2217,9 @@ "$ref": "#/definitions/NotebookResource" } }, + "202": { + "description": "Accepted." + }, "default": { "description": "An error response received from the Azure Synapse service.", "schema": { @@ -2203,6 +2283,7 @@ } }, "description": "Deletes a Note book.", + "x-ms-long-running-operation": true, "parameters": [ { "$ref": "#/parameters/NotebookName" @@ -2215,6 +2296,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Accepted." + }, "204": { "description": "No Content." }, @@ -2229,70 +2313,13 @@ } }, "definitions": { - "Resource": { - "description": "Azure Synapse top-level resource.", - "properties": { - "id": { - "type": "string", - "description": "The resource identifier.", - "readOnly": true - }, - "name": { - "type": "string", - "description": "The resource name.", - "readOnly": true - }, - "type": { - "type": "string", - "description": "The resource type.", - "readOnly": true - }, - "location": { - "type": "string", - "description": "The resource location.", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The resource tags." - }, - "eTag": { - "type": "string", - "description": "Etag identifies change in the resource.", - "readOnly": true - } - } - }, "SubResource": { "description": "Azure Synapse nested resource, which belongs to a workspace.", - "properties": { - "id": { - "type": "string", - "description": "The resource identifier.", - "readOnly": true - }, - "name": { - "type": "string", - "description": "The resource name.", - "readOnly": true - }, - "type": { - "type": "string", - "description": "The resource type.", - "readOnly": true - }, - "etag": { - "type": "string", - "description": "Etag identifies change in the resource.", - "readOnly": true + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" } - } + ] }, "SubResourceDebugResource": { "description": "Azure Synapse nested debug resource.", @@ -2714,7 +2741,11 @@ "description": "The command payload object.", "type": "object" } - } + }, + "required": [ + "sessionId", + "commandPayload" + ] }, "DataFlowDebugQueryResponse": { "description": "Response body structure of data flow query for data preview, statistics or expression preview.", @@ -3063,29 +3094,6 @@ } } }, - "Workspace": { - "description": "Workspace resource type.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "identity": { - "$ref": "#/definitions/WorkspaceIdentity", - "description": "Managed service identity of the workspace." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WorkspaceProperties", - "description": "Properties of the workspace." - } - }, - "additionalProperties": { - "type": "object" - } - }, "WorkspaceUpdateParameters": { "description": "Parameters for updating a workspace resource.", "properties": { @@ -3131,35 +3139,6 @@ "type" ] }, - "WorkspaceProperties": { - "description": "Workspace resource properties.", - "properties": { - "provisioningState": { - "description": "Workspace provisioning state, example Succeeded.", - "type": "string", - "readOnly": true - }, - "createTime": { - "description": "Time the workspace was created in ISO8601 format.", - "type": "string", - "readOnly": true, - "format": "date-time" - }, - "version": { - "description": "Version of the workspace.", - "type": "string", - "readOnly": true - }, - "defaultStorage": { - "description": "Linked service reference.", - "$ref": "#/definitions/LinkedServiceReference" - }, - "defaultSqlServer": { - "description": "Linked service reference.", - "$ref": "#/definitions/LinkedServiceReference" - } - } - }, "DatasetReference": { "description": "Dataset reference type.", "properties": { @@ -4126,6 +4105,78 @@ "readOnly": true } } + }, + "SynapseNotebookReference": { + "description": "Synapse notebook reference type.", + "properties": { + "type": { + "type": "string", + "description": "Synapse notebook reference type.", + "enum": [ + "NotebookReference" + ], + "x-ms-enum": { + "name": "NotebookReferenceType", + "modelAsString": true + } + }, + "referenceName": { + "type": "string", + "description": "Reference notebook name." + } + }, + "required": [ + "type", + "referenceName" + ] + }, + "SynapseSparkJobReference": { + "description": "Synapse spark job reference type.", + "properties": { + "type": { + "type": "string", + "description": "Synapse spark job reference type.", + "enum": [ + "SparkJobDefinitionReference" + ], + "x-ms-enum": { + "name": "SparkJobReferenceType", + "modelAsString": true + } + }, + "referenceName": { + "type": "string", + "description": "Reference spark job name." + } + }, + "required": [ + "type", + "referenceName" + ] + }, + "SqlPoolReference": { + "description": "SQL pool reference type.", + "properties": { + "type": { + "type": "string", + "description": "SQL pool reference type.", + "enum": [ + "SqlPoolReference" + ], + "x-ms-enum": { + "name": "SqlPoolReferenceType", + "modelAsString": true + } + }, + "referenceName": { + "type": "string", + "description": "Reference SQL pool name." + } + }, + "required": [ + "type", + "referenceName" + ] } }, "parameters": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json new file mode 100644 index 000000000000..591263062dbd --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json @@ -0,0 +1,123 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "ArtifactsClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/bigDataPools": { + "get": { + "tags": [ + "BigDataPools" + ], + "operationId": "BigDataPools_List", + "description": "List Big Data Pools", + "x-ms-examples": { + "List Big Data Pools": { + "$ref": "./examples/BigDataPools_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPool.json#/definitions/BigDataPoolResourceInfoListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + }, + "/bigDataPools/{bigDataPoolName}": { + "get": { + "tags": [ + "BigDataPools" + ], + "operationId": "BigDataPools_Get", + "description": "Get Big Data Pool", + "x-ms-examples": { + "Get Big Data Pool": { + "$ref": "./examples/BigDataPools_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/BigDataPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPool.json#/definitions/BigDataPoolResourceInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Synapse client API Version." + }, + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "BigDataPoolNameParameter": { + "name": "bigDataPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The Big Data Pool name", + "x-ms-parameter-location": "method" + } + } +} 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 2f1930156943..85156f10da86 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 @@ -5831,6 +5831,115 @@ "required": [ "dataFlow" ] + }, + "SynapseNotebookActivity": { + "description": "Execute Synapse notebook activity.", + "x-ms-discriminator-value": "SynapseNotebook", + "allOf": [ + { + "$ref": "#/definitions/Activity" + } + ], + "properties": { + "typeProperties": { + "x-ms-client-flatten": true, + "description": "Execute Synapse notebook activity properties.", + "$ref": "#/definitions/SynapseNotebookActivityTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "SynapseNotebookActivityTypeProperties": { + "description": "Execute Synapse notebook activity properties.", + "properties": { + "notebook": { + "description": "Synapse notebook reference.", + "$ref": "../artifacts.json#/definitions/SynapseNotebookReference" + }, + "parameters": { + "description": "Notebook parameters.", + "$ref": "../artifacts.json#/definitions/ParameterValueSpecification" + } + }, + "required": [ + "notebook" + ] + }, + "SynapseSparkJobDefinitionActivity": { + "description": "Execute spark job activity.", + "x-ms-discriminator-value": "SparkJob", + "allOf": [ + { + "$ref": "#/definitions/Activity" + } + ], + "properties": { + "typeProperties": { + "x-ms-client-flatten": true, + "description": "Execute spark job activity properties.", + "$ref": "#/definitions/SynapseSparkJobActivityTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "SynapseSparkJobActivityTypeProperties": { + "description": "Execute spark job activity properties.", + "properties": { + "sparkJob": { + "description": "Synapse spark job reference.", + "$ref": "../artifacts.json#/definitions/SynapseSparkJobReference" + } + }, + "required": [ + "sparkJob" + ] + }, + "SqlPoolStoredProcedureActivity": { + "description": "Execute SQL pool stored procedure activity.", + "x-ms-discriminator-value": "SqlPoolStoredProcedure", + "allOf": [ + { + "$ref": "#/definitions/Activity" + } + ], + "properties": { + "sqlPool": { + "description": "SQL pool stored procedure reference.", + "$ref": "../artifacts.json#/definitions/SqlPoolReference" + }, + "typeProperties": { + "x-ms-client-flatten": true, + "description": "Execute SQL pool stored procedure activity properties.", + "$ref": "#/definitions/SqlPoolStoredProcedureActivityTypeProperties" + } + }, + "required": [ + "sqlPool", + "typeProperties" + ] + }, + "SqlPoolStoredProcedureActivityTypeProperties": { + "description": "SQL stored procedure activity properties.", + "properties": { + "storedProcedureName": { + "type": "object", + "description": "Stored procedure name. Type: string (or Expression with resultType string)." + }, + "storedProcedureParameters": { + "description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\".", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/StoredProcedureParameter" + } + } + }, + "required": [ + "storedProcedureName" + ] } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_Get.json new file mode 100644 index 000000000000..293eb88177e1 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "bigDataPoolName": "pool1", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "creationDate": "2020-07-14T10:09:52.5133333Z", + "sparkVersion": "2.4", + "nodeCount": 3, + "nodeSize": "Small", + "nodeSizeFamily": "MemoryOptimized", + "autoScale": { + "enabled": true, + "minNodeCount": 3, + "maxNodeCount": 20 + }, + "autoPause": { + "enabled": true, + "delayInMinutes": 15 + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sparkComputes/pool1", + "name": "pool1", + "type": "Microsoft.Synapse/workspaces/sparkComputes", + "location": "southeastasia", + "tags": {} + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_List.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_List.json new file mode 100644 index 000000000000..9d7eb2a4b3d1 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/BigDataPools_List.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "creationDate": "2020-07-14T10:09:52.5133333Z", + "sparkVersion": "2.4", + "nodeCount": 3, + "nodeSize": "Small", + "nodeSizeFamily": "MemoryOptimized", + "autoScale": { + "enabled": true, + "minNodeCount": 3, + "maxNodeCount": 20 + }, + "autoPause": { + "enabled": true, + "delayInMinutes": 15 + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sparkComputes/pool1", + "name": "pool1", + "type": "Microsoft.Synapse/workspaces/sparkComputes", + "location": "southeastasia", + "tags": {} + } + ] + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json index d684ba316241..82b4ba090b51 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Create.json @@ -47,14 +47,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2019 00:37:38 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1194", "x-ms-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0", "x-ms-correlation-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/datasets/exampleDataset", "name": "exampleDataFlow", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json index 6adacca27788..872c74ea09c4 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Delete.json @@ -6,6 +6,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json index f3c5fc5a031e..b60c3ecb79bb 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/DataFlows_Update.json @@ -47,14 +47,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2019 00:37:38 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1193", "x-ms-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0", "x-ms-correlation-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/datasets/exampleDataset", "name": "exampleDataFlow", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json index 20f9a9b778ff..c49193ac784b 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Create.json @@ -36,14 +36,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:38 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1194", "x-ms-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0", "x-ms-correlation-request-id": "ce95d6dd-c04d-4b02-b7ad-fe79c9b26df0" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/datasets/exampleDataset", "name": "exampleDataset", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json index ecbb3fd65993..29385013042c 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Delete.json @@ -6,6 +6,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json index c17bc775bed6..f2581f5f9991 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Datasets_Update.json @@ -37,14 +37,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:39 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1193", "x-ms-request-id": "e2e7f6be-e7ee-4aae-943f-6ff799e034f2", "x-ms-correlation-request-id": "e2e7f6be-e7ee-4aae-943f-6ff799e034f2" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/datasets/exampleDataset", "name": "exampleDataset", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Get.json new file mode 100644 index 000000000000..7c29982919bb --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "integrationRuntimeName": "IntegrationRuntime1", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/integrationruntimes/IntegrationRuntime1", + "name": "IntegrationRuntime1", + "type": "Microsoft.Synapse/workspaces/integrationruntimes", + "properties": { + "type": "Managed", + "typeProperties": { + "computeProperties": { + "location": "Australia Southeast", + "dataFlowProperties": { + "computeType": "General", + "coreCount": 8, + "timeToLive": 0 + } + } + } + }, + "etag": "00000000-0000-0000-0000-000000000000" + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_List.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_List.json new file mode 100644 index 000000000000..fa5eba85b2b2 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/IntegrationRuntimes_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspace/integrationruntimes/exampleIntegrationRuntime", + "name": "exampleIntegrationRuntime", + "type": "Microsoft.Synapse/workspaces/integrationruntimes", + "properties": { + "type": "SelfHosted", + "description": "A selfhosted integration runtime" + }, + "etag": "0400f1a1-0000-0000-0000-5b2188640000" + } + ] + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json index 83813ca2dbd3..98aa40e23cce 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Create.json @@ -17,14 +17,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:34 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1196", "x-ms-request-id": "b3b336b3-b203-4654-9cb6-a3a8d3a4b5de", "x-ms-correlation-request-id": "b3b336b3-b203-4654-9cb6-a3a8d3a4b5de" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/linkedservices/exampleLinkedService", "name": "exampleLinkedService", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json index d18fa82e8963..056099383983 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Delete.json @@ -6,6 +6,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json index 217788a059e1..4c187f4df71c 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/LinkedServices_Update.json @@ -18,14 +18,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:36 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1195", "x-ms-request-id": "53ad9761-ecdf-43ed-916f-878a5fb92cb0", "x-ms-correlation-request-id": "53ad9761-ecdf-43ed-916f-878a5fb92cb0" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/linkedservices/exampleLinkedService", "name": "exampleLinkedService", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json index 6dfcafc232ee..fbfd87d5af67 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Create.json @@ -56,14 +56,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:41 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1192", "x-ms-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264", "x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/Notebooks/exampleNotebook", "name": "exampleNotebook", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json index 58395fa417a1..18eb27bcf289 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Delete.json @@ -6,6 +6,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json index c84e1a5f1741..2bb3761e3bc4 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Notebooks_Update.json @@ -56,14 +56,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:41 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1192", "x-ms-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264", "x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/notebooks/exampleNotebook", "name": "exampleNotebook", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json index 399eb460bf34..209be01f3755 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Create.json @@ -80,14 +80,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:41 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1192", "x-ms-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264", "x-ms-correlation-request-id": "e4c589b7-a9fe-4c28-981c-3855ec27d264" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/pipelines/examplePipeline", "name": "examplePipeline", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json index 7c4ec522a5a3..0715e83956e5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_CreateRun.json @@ -11,7 +11,7 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:48 GMT", "X-Content-Type-Options": "nosniff", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json index 4a7573f09103..f11dbd33965e 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Delete.json @@ -6,6 +6,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json index b5718b15aa75..df05abf27735 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Pipelines_Update.json @@ -67,14 +67,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:37:43 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1191", "x-ms-request-id": "91a763b0-d944-493f-83fc-e989c8b6e122", "x-ms-correlation-request-id": "91a763b0-d944-493f-83fc-e989c8b6e122" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/pipelines/examplePipeline", "name": "examplePipeline", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_Get.json new file mode 100644 index 000000000000..6e3c7131bfd7 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "sqlPoolName": "SqlPool1", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "Online", + "maxSizeBytes": 263882790666240, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "restorePointInTime": "2019-06-23T10:47:12.837Z", + "creationDate": "2020-06-23T10:47:12.837Z", + "provisioningState": "Succeeded" + }, + "sku": { + "name": "DW100c", + "capacity": 0 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sqlPools/SqlPool1", + "name": "SqlPool1", + "type": "Microsoft.Synapse/workspaces/sqlPools", + "location": "southeastasia", + "tags": {} + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_List.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_List.json new file mode 100644 index 000000000000..b4fa21cd8385 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/SqlPools_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "status": "Online", + "maxSizeBytes": 263882790666240, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "restorePointInTime": "2020-06-23T10:47:12.837Z", + "creationDate": "2020-06-23T10:47:12.837Z", + "provisioningState": "Succeeded" + }, + "sku": { + "name": "DW100c", + "capacity": 0 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sqlPools/SqlPool1", + "name": "SqlPool1", + "type": "Microsoft.Synapse/workspaces/sqlPools", + "location": "southeastasia", + "tags": {} + }, + { + "properties": { + "status": "Online", + "maxSizeBytes": 263882790666240, + "collation": "SQL_Latin1_General_CP1_CI_AS", + "restorePointInTime": "2020-06-23T10:47:12.837Z", + "creationDate": "2020-06-23T11:10:59.05Z", + "provisioningState": "Succeeded" + }, + "sku": { + "name": "DW100c", + "capacity": 0 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace/sqlPools/SqlPool2Backup", + "name": "SqlPool2Backup", + "type": "Microsoft.Synapse/workspaces/sqlPools", + "location": "southeastasia", + "tags": {} + } + ] + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_Cancel.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_Cancel.json new file mode 100644 index 000000000000..169d70a4e4b5 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/TriggerRuns_Cancel.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "triggerName": "exampleTrigger", + "runId": "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b", + "api-version": "2019-06-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Sat, 16 Jun 2018 00:46:24 GMT", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-writes": "1198", + "x-ms-request-id": "5aa854a5-7ac0-4c7e-9356-79c657f4e231", + "x-ms-correlation-request-id": "5aa854a5-7ac0-4c7e-9356-79c657f4e231" + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json index c93a8820594c..939534b0e3b2 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Create.json @@ -33,14 +33,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:40:14 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1186", "x-ms-request-id": "373f1a49-685d-4c07-8857-0fcf1bcaffcb", "x-ms-correlation-request-id": "373f1a49-685d-4c07-8857-0fcf1bcaffcb" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/triggers/exampleTrigger", "name": "exampleTrigger", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json index b3a88c1cd75e..4d223d73cce6 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Delete.json @@ -6,6 +6,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json index a86583945183..d2b7d38757f8 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Triggers_Update.json @@ -34,14 +34,16 @@ "api-version": "2019-06-01-preview" }, "responses": { - "200": { + "202": { "headers": { "Date": "Sat, 16 Jun 2018 00:40:15 GMT", "X-Content-Type-Options": "nosniff", "x-ms-ratelimit-remaining-subscription-writes": "1185", "x-ms-request-id": "d5ccf096-0618-4b26-9829-db77e4c391c7", "x-ms-correlation-request-id": "d5ccf096-0618-4b26-9829-db77e4c391c7" - }, + } + }, + "200": { "body": { "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Synapse/workspaces/exampleWorkspaceName/triggers/exampleTrigger", "name": "exampleTrigger", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Workspace_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Workspace_Get.json new file mode 100644 index 000000000000..24d30b931091 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/examples/Workspace_Get.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "endpoint": "exampleWorkspace.dev.azuresynapse.net", + "api-version": "2020-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Synapse/workspaces/exampleWorkspace", + "location": "southeastasia", + "name": "exampleWorkspace", + "type": "Microsoft.Synapse/workspaces", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "tags": {}, + "properties": { + "connectivityEndpoints": { + "web": "https://web.azuresynapse.net?workspace=%2fsubscriptions%2f00000000-0000-0000-0000-000000000000%2fresourceGroups%2frg%2fproviders%2fMicrosoft.Synapse%2fworkspaces%2fexampleWorkspace", + "sql": "exampleWorkspace.sql.azuresynapse.net", + "dev": "https://exampleWorkspace.dev.azuresynapse.net", + "sqlOnDemand": "exampleWorkspace-ondemand.sql.azuresynapse.net" + }, + "managedResourceGroupName": "workspacemanagedrg-1a992746-f580-4fce-a696-b0373bc6959a", + "defaultDataLakeStorage": { + "accountUrl": "https://exampleWorkspacedfs.dfs.core.windows.net", + "filesystem": "synapse" + }, + "sqlAdministratorLogin": "sqladminuser", + "privateEndpointConnections": [], + "provisioningState": "Succeeded" + } + } + }, + "default": { + "body": { + "error": { + "code": "Error code", + "message": "Error message" + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json new file mode 100644 index 000000000000..3a67a10647a4 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json @@ -0,0 +1,123 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "ArtifactsClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/integrationRuntimes": { + "get": { + "tags": [ + "IntegrationRuntimes" + ], + "operationId": "IntegrationRuntimes_List", + "description": "List Integration Runtimes", + "x-ms-examples": { + "List Integration Runtimes": { + "$ref": "./examples/IntegrationRuntimes_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json#/definitions/IntegrationRuntimeListResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + }, + "/integrationRuntimes/{integrationRuntimeName}": { + "get": { + "tags": [ + "IntegrationRuntimes" + ], + "operationId": "IntegrationRuntimes_Get", + "description": "Get Integration Runtime", + "x-ms-examples": { + "Get Integration Runtime": { + "$ref": "./examples/IntegrationRuntimes_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IntegrationRuntimeNameParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json#/definitions/IntegrationRuntimeResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Synapse client API Version." + }, + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "IntegrationRuntimeNameParameter": { + "name": "integrationRuntimeName", + "in": "path", + "required": true, + "type": "string", + "description": "The Integration Runtime name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json new file mode 100644 index 000000000000..5d1960a0c9c3 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json @@ -0,0 +1,123 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "ArtifactsClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/sqlPools": { + "get": { + "tags": [ + "SqlPools" + ], + "operationId": "SqlPools_List", + "description": "List Sql Pools", + "x-ms-examples": { + "List Sql Pools": { + "$ref": "./examples/SqlPools_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json#/definitions/SqlPoolInfoListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + }, + "/sqlPools/{sqlPoolName}": { + "get": { + "tags": [ + "SqlPools" + ], + "operationId": "SqlPools_Get", + "description": "Get Sql Pool", + "x-ms-examples": { + "List Sql Pools": { + "$ref": "./examples/SqlPools_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SqlPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json#/definitions/SqlPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Synapse client API Version." + }, + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "SqlPoolNameParameter": { + "name": "sqlPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The Sql Pool name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json new file mode 100644 index 000000000000..a32938e1bd26 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json @@ -0,0 +1,79 @@ +{ + "swagger": "2.0", + "info": { + "version": "2019-06-01-preview", + "title": "ArtifactsClient" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/workspace": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspace_Get", + "description": "Get Workspace", + "x-ms-examples": { + "Get Workspace Information": { + "$ref": "./examples/Workspace_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success response.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../resource-manager/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json#/definitions/ErrorContract" + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Synapse client API Version." + }, + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetApplicationDetails.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetApplicationDetails.json deleted file mode 100644 index 1880cfce5cf4..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetApplicationDetails.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview", - "poolName": "thePoolName", - "livyId": "theLivyId" - }, - "responses": { - "200": { - "body": { - "nJobs": 1, - "sparkJobs": [ - { - "state": "Failure", - "name": "sparkjobname", - "submitter": "submittername", - "compute": "ComputeName", - "sparkApplicationId": "sparkApplicationId", - "livyId": "LivyIdValue", - "timing": [ - "Ended || Submitting || In Progress", - "553h 11m" - ], - "sparkJobDefinition": null, - "pipeline": [], - "jobType": "Spark session || Batch Job", - "submitTime": "2019-11-11T15:08:52.9554438-08:00", - "endTime": "2019-11-11T15:08:56.2314317-08:00", - "queuedDuration": "1s", - "runningDuration": "2s", - "totalDuration": "3s" - } - ] - } - }, - "401": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerData.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerData.json deleted file mode 100644 index c65804ab0942..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerData.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview", - "poolName": "thePoolName", - "livyId": "theLivyId", - "appId": "theapplicationId", - "attemptId": "theattemptId" - }, - "responses": { - "200": { - "body": { - "data": { - "handlerPath": "/enhancement/v1/data", - "inputs": [], - "outputs": [], - "tables": { - "operation": "fill in here", - "options": [] - }, - "config": { - "isHiveEnabled": false - } - } - } - }, - "401": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerDiagnostic.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerDiagnostic.json deleted file mode 100644 index 9cd092208eab..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerDiagnostic.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview", - "poolName": "thePoolName", - "livyId": "theLivyId", - "appId": "theapplicationId", - "attemptId": "theattemptId" - }, - "responses": { - "200": { - "body": { - "data": { - "stages": { - "dataAvg": 0, - "timeAvg": 0, - "id": 0, - "attemptId": 0, - "name": "reduce at SparkPi.scala:38", - "dataSkewTask": [ - 5 - ], - "timeSkewTask": [ - 0 - ], - "tasks": [ - 0, - 0, - 823 - ] - }, - "executors": { - "isDynamicAllocationOn": false, - "executorInstances": 3, - "startTime": 1571267103455, - "endTime": 1571267120032, - "events": [ - 1571267110853, - 1, - 1, - 0 - ], - "executorCores": "2", - "executorMemory": "7g" - } - } - } - }, - "401": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerGraph.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerGraph.json deleted file mode 100644 index a2db0e496b45..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerGraph.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview", - "poolName": "thePoolName", - "livyId": "theLivyId", - "appId": "theapplicationId", - "attemptId": "theattemptId" - }, - "responses": { - "200": { - "body": { - "data": { - "isAppFinished": true, - "jobs": { - "time": 8515, - "startTime": 1571267111504, - "id": 0, - "edges": [ - { - "id": 1, - "childId": 2 - } - ], - "nodes": [ - 0 - ] - }, - "stages": null - } - } - }, - "401": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerProperties.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerProperties.json deleted file mode 100644 index 822115335b9e..000000000000 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetHistoryServerProperties.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", - "api-version": "2019-11-01-preview" - }, - "responses": { - "200": { - "body": { - "webProxyEndpoint": "history server URL" - } - }, - "401": {} - } -} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetSparkJobList.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetSparkJobList.json index a21200723ecf..724a0c528678 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetSparkJobList.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetSparkJobList.json @@ -1,7 +1,6 @@ { "parameters": { - "workspaceName": "myWorkspace", - "SynapseDnsSuffix": "dev.azuresynapse.net", + "endpoint": "myWorkspace.dev.azuresynapse.net", "api-version": "2019-11-01-preview" }, "responses": { @@ -31,7 +30,6 @@ } ] } - }, - "401": {} + } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetSqlJobQueryString.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetSqlJobQueryString.json new file mode 100644 index 000000000000..68acf471e8fd --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/examples/Monitoring_GetSqlJobQueryString.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "endpoint": "myWorkspace.dev.azuresynapse.net", + "api-version": "2019-11-01-preview" + }, + "responses": { + "200": { + "body": { + "query": "select * from ( SELECT COUNT(*) OVER() AS total_count,'Running' as [status],'0' as [request_id],'SQL On-demand' as [SQL Resource],s.login_name as [login_name],s.Session_Id as [session_id],r.start_time as [submit_time],r.start_time as [start_time],'N/A' as [end_time],r.command as [commandClause],sqltext.TEXT as [command],r.total_elapsed_time as [Duration],'N/A' as [Queued Duration],r.total_elapsed_time as [Running Duration],'N/A' as [Data processed in bytes],'N/A' as [group_name],'N/A' as [Source],'N/A' as [Pipeline],'N/A' as [importance],'N/A' as [classifier_name],Row_number() over ( ORDER BY r.start_time desc) as rownum FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(sql_handle) sqltext JOIN sys.dm_exec_sessions s ON r.session_id = s.session_id where (r.start_time between CONVERT(datetime,'2020-06-04T17:14:17Z') and CONVERT(datetime,'2020-06-05T17:14:22Z')) and s.session_id not in (select distinct Session_Id from sys.dm_exec_requests where command like'%@@Azure.Synapse.Monitoring.SQLQuerylist%')) tbl where rownum between 0 and 100-- @@Azure.Synapse.Monitoring.SQLQuerylist" + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json index 329d7ceb91e9..a41141a84d23 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json @@ -2,21 +2,14 @@ "swagger": "2.0", "info": { "version": "2019-11-01-preview", - "title": "SynapseClient" + "title": "MonitoringClient" }, "x-ms-parameterized-host": { - "hostTemplate": "{workspaceName}.{SynapseDnsSuffix}", + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, "parameters": [ { - "name": "workspaceName", - "description": "The name of the workspace to execute operations on.", - "required": true, - "type": "string", - "in": "path", - "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/SynapseDnsSuffixInPath" + "$ref": "#/parameters/Endpoint" } ] }, @@ -30,70 +23,6 @@ "application/json" ], "paths": { - "/monitoring/workloadTypes/spark/pools/{poolName}/livyIds/{livyId}/applications/{appId}/attemptIds/{attemptId}/historyServerData": { - "get": { - "tags": [ - "Monitoring" - ], - "operationId": "Monitoring_GetHistoryServerData", - "description": "Get History Server Data for a given workspace, pool, livyid, appid and attemptId", - "x-ms-examples": { - "Get history server data": { - "$ref": "./examples/Monitoring_GetHistoryServerData.json" - } - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "poolName", - "description": "The spark pool name.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "livyId", - "description": "The livy id.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "appId", - "description": "The application id.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attemptId", - "description": "The attempt id.", - "in": "path", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/HistoryServerDataResponse" - } - }, - "401": { - "description": "Unauthorized" - } - } - } - }, "/monitoring/workloadTypes/spark/Applications": { "get": { "tags": [ @@ -106,65 +35,19 @@ "$ref": "./examples/Monitoring_GetSparkJobList.json" } }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/SparkJobListViewResponse" - } - }, - "401": { - "description": "Unauthorized" - } - } - } - }, - "/monitoring/workloadTypes/spark/pools/{poolName}/livyIds/{livyId}": { - "get": { - "tags": [ - "Monitoring" - ], - "operationId": "Monitoring_GetApplicationDetails", - "description": "Get one spark application details given the workspace name, pool name and livyid.", - "x-ms-examples": { - "Get list of spark application": { - "$ref": "./examples/Monitoring_GetApplicationDetails.json" - } - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], "parameters": [ { - "name": "poolName", - "description": "The spark pool name.", - "in": "path", - "required": true, - "type": "string" + "name": "x-ms-client-request-id", + "in": "header", + "required": false, + "type": "string", + "description": "Can provide a guid, which is helpful for debugging and to provide better customer support" }, { - "name": "livyId", - "description": "The livy id.", - "in": "path", + "name": "api-version", + "in": "query", "required": true, "type": "string" - }, - { - "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { @@ -173,173 +56,61 @@ "schema": { "$ref": "#/definitions/SparkJobListViewResponse" } - }, - "401": { - "description": "Unauthorized" } } } }, - "/monitoring/workloadTypes/spark/historyServerProperties": { + "/monitoring/workloadTypes/sql/querystring": { "get": { "tags": [ "Monitoring" ], - "operationId": "Monitoring_GetHistoryServerProperties", - "description": "Get History server properties.", + "operationId": "Monitoring_GetSqlJobQueryString", + "description": "Get SQL OD/DW Query for the workspace.", "x-ms-examples": { - "Get history server properties": { - "$ref": "./examples/Monitoring_GetHistoryServerProperties.json" + "Get SOL job query string": { + "$ref": "./examples/Monitoring_GetSqlJobQueryString.json" } }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/HistoryServerPropertiesResponse" - } + "name": "x-ms-client-request-id", + "in": "header", + "required": false, + "type": "string", + "description": "Can provide a guid, which is helpful for debugging and to provide better customer support" }, - "401": { - "description": "Unauthorized" - } - } - } - }, - "/monitoring/workloadTypes/spark/pools/{poolName}/livyIds/{livyId}/applications/{appId}/attemptIds/{attemptId}/historyServerDiagnostic": { - "get": { - "tags": [ - "Monitoring" - ], - "operationId": "Monitoring_GetHistoryServerDiagnostic", - "description": "Get History Server Diagnostic Data for a given workspace, pool, livyid, appid and attemptId", - "x-ms-examples": { - "Get history server diagnostic data": { - "$ref": "./examples/Monitoring_GetHistoryServerDiagnostic.json" - } - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ { - "name": "poolName", - "description": "The spark pool name.", - "in": "path", + "name": "api-version", + "in": "query", "required": true, "type": "string" }, { - "name": "livyId", - "description": "The livy id.", - "in": "path", - "required": true, + "name": "filter", + "in": "query", + "required": false, "type": "string" }, { - "name": "appId", - "description": "The application id.", - "in": "path", - "required": true, + "name": "$orderby", + "in": "query", + "required": false, "type": "string" }, { - "name": "attemptId", - "description": "The attempt id.", - "in": "path", - "required": true, + "name": "skip", + "in": "query", + "required": false, "type": "string" - }, - { - "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Success", "schema": { - "$ref": "#/definitions/HistoryServerDiagnosticResponse" + "$ref": "#/definitions/SqlQueryStringDataModel" } - }, - "401": { - "description": "Unauthorized" - } - } - } - }, - "/monitoring/workloadTypes/spark/pools/{poolName}/livyIds/{livyId}/applications/{appId}/attemptIds/{attemptId}/historyServerGraph": { - "get": { - "tags": [ - "Monitoring" - ], - "operationId": "Monitoring_GetHistoryServerGraph", - "description": "Get History Server Graph Data for a given workspace, pool, livyid, appid and attemptId", - "x-ms-examples": { - "Get history server graph data": { - "$ref": "./examples/Monitoring_GetHistoryServerGraph.json" - } - }, - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "name": "poolName", - "description": "The spark pool name.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "livyId", - "description": "The livy id.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "appId", - "description": "The application id.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attemptId", - "description": "The attempt id.", - "in": "path", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/HistoryServerGraphResponse" - } - }, - "401": { - "description": "Unauthorized" } } } @@ -422,273 +193,31 @@ } } }, - "HistoryServerPropertiesResponse": { + "SqlQueryStringDataModel": { "type": "object", "properties": { - "webProxyEndpoint": { + "query": { "type": "string" } } - }, - "HistoryServerDataResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/definitions/Data" - } - } - }, - "Data": { - "type": "object", - "properties": { - "handlerPath": { - "type": "string" - }, - "inputs": { - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "outputs": { - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "tables": { - "$ref": "#/definitions/Tables" - }, - "config": { - "$ref": "#/definitions/Config" - } - } - }, - "Tables": { - "type": "object", - "properties": { - "operation": { - "type": "string" - }, - "options": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/Option" - } - } - } - }, - "Config": { - "type": "object", - "properties": { - "isHiveEnabled": { - "type": "boolean" - } - } - }, - "Option": { - "type": "object", - "properties": { - "additionalProp1": { - "type": "string" - }, - "additionalProp2": { - "type": "string" - }, - "additionalProp3": { - "type": "string" - } - } - }, - "HistoryServerDiagnosticResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/definitions/HistoryServerDiagnosticResponseData" - } - } - }, - "HistoryServerDiagnosticResponseData": { - "type": "object", - "properties": { - "stages": { - "$ref": "#/definitions/Stages" - }, - "executors": { - "$ref": "#/definitions/Executors" - } - } - }, - "Stages": { - "type": "object", - "properties": { - "dataAvg": { - "format": "int32", - "type": "integer" - }, - "timeAvg": { - "format": "int32", - "type": "integer" - }, - "id": { - "format": "int32", - "type": "integer" - }, - "attemptId": { - "format": "int32", - "type": "integer" - }, - "name": { - "type": "string" - }, - "dataSkewTask": { - "uniqueItems": false, - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - }, - "timeSkewTask": { - "uniqueItems": false, - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - }, - "tasks": { - "uniqueItems": false, - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - } - } - }, - "Executors": { - "type": "object", - "properties": { - "isDynamicAllocationOn": { - "type": "boolean" - }, - "executorInstances": { - "format": "int32", - "type": "integer" - }, - "startTime": { - "format": "int32", - "type": "integer" - }, - "endTime": { - "format": "int32", - "type": "integer" - }, - "events": { - "uniqueItems": false, - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - }, - "executorCores": { - "type": "string" - }, - "executorMemory": { - "type": "string" - } - } - }, - "HistoryServerGraphResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/definitions/HistoryServerGraphResponseData" - } - } - }, - "HistoryServerGraphResponseData": { - "type": "object", - "properties": { - "isAppFinished": { - "type": "boolean" - }, - "jobs": { - "$ref": "#/definitions/Jobs" - }, - "stages": { - "$ref": "#/definitions/Stages" - } - } - }, - "Jobs": { - "type": "object", - "properties": { - "time": { - "format": "int32", - "type": "integer" - }, - "startTime": { - "format": "int32", - "type": "integer" - }, - "id": { - "format": "int32", - "type": "integer" - }, - "edges": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/Edge" - } - }, - "nodes": { - "uniqueItems": false, - "type": "array", - "items": { - "format": "int32", - "type": "integer" - } - } - } - }, - "Edge": { - "type": "object", - "properties": { - "id": { - "format": "int32", - "type": "integer" - }, - "childId": { - "format": "int32", - "type": "integer" - } - } } }, "parameters": { + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", "description": "The Synapse client API Version." - }, - "SynapseDnsSuffixInPath": { - "name": "SynapseDnsSuffix", - "in": "path", - "required": true, - "type": "string", - "default": "dev.azuresynapse.net", - "x-ms-skip-url-encoding": true, - "description": "Gets the DNS suffix used as the base for all Synapse service requests.", - "x-ms-parameter-location": "client" } } } diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json index 634133c68370..5d2a04daacd5 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json @@ -22,7 +22,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "AccessControl_CreateRoleAssignment", + "operationId": "CreateRoleAssignment", "description": "Create role assignment.", "x-ms-examples": { "Create role assignment": { @@ -68,7 +68,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "AccessControl_GetRoleAssignments", + "operationId": "GetRoleAssignments", "description": "List role assignments.", "x-ms-examples": { "Get role assignment information": { @@ -120,7 +120,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "AccessControl_GetRoleAssignmentById", + "operationId": "GetRoleAssignmentById", "description": "Get role assignment by role assignment Id.", "x-ms-examples": { "Get role assignment information": { @@ -158,7 +158,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "AccessControl_DeleteRoleAssignmentById", + "operationId": "DeleteRoleAssignmentById", "description": "Delete role assignment by role assignment Id.", "x-ms-examples": { "Delete role assignment": { @@ -198,7 +198,7 @@ "tags": [ "RoleAssignments" ], - "operationId": "AccessControl_GetCallerRoleAssignments", + "operationId": "GetCallerRoleAssignments", "description": "List role assignments of the caller.", "x-ms-examples": { "Get caller role assignments": { diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roles.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roles.json index f17f83f41ade..8751013f2784 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roles.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2020-02-01-preview/roles.json @@ -22,7 +22,7 @@ "tags": [ "SynapseRoles" ], - "operationId": "AccessControl_GetRoleDefinitions", + "operationId": "GetRoleDefinitions", "description": "List roles.", "x-ms-examples": { "Get access control information": { @@ -62,7 +62,7 @@ "tags": [ "SynapseRoles" ], - "operationId": "AccessControl_GetRoleDefinitionById", + "operationId": "GetRoleDefinitionById", "description": "Get role by role Id.", "x-ms-examples": { "Get access control information": { diff --git a/specification/synapse/data-plane/readme.go.md b/specification/synapse/data-plane/readme.go.md new file mode 100644 index 000000000000..660d9398cc04 --- /dev/null +++ b/specification/synapse/data-plane/readme.go.md @@ -0,0 +1,70 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) +go: + license-header: MICROSOFT_APACHE_NO_VERSION + clear-output-folder: true +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-spark-2019-11-01-preview + - tag: package-artifacts-2019-06-01-preview + - tag: package-access-control-2020-02-01-preview + - tag: package-monitoring-2019-11-01-preview + - tag: package-vnet-2019-06-01-preview +``` + +### Tag: package-spark-2019-11-01-preview and go + +These settings apply only when `--tag=package-spark-2019-11-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-spark-2019-11-01-preview' && $(go) +namespace: spark +output-folder: $(go-sdk-folder)/services/preview/synapse/2019-11-01-preview/$(namespace) +``` + +### Tag: package-artifacts-2019-06-01-preview and go + +These settings apply only when `--tag=package-artifacts-2019-06-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-artifacts-2019-06-01-preview' && $(go) +namespace: artifacts +output-folder: $(go-sdk-folder)/services/preview/synapse/2019-06-01-preview/$(namespace) +``` + +### Tag: package-access-control-2020-02-01-preview and go + +These settings apply only when `--tag=package-access-control-2020-02-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-access-control-2020-02-01-preview' && $(go) +namespace: accesscontrol +output-folder: $(go-sdk-folder)/services/preview/synapse/2020-02-01-preview/$(namespace) +``` + +### Tag: package-monitoring-2019-11-01-preview + +These settings apply only when `--tag=package-monitoring-2019-11-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-monitoring-2019-11-01-preview' && $(go) +namespace: monitoring +output-folder: $(go-sdk-folder)/services/preview/synapse/2019-11-01-preview/$(namespace) +``` + +### Tag: package-vnet-2019-06-01-preview and go + +These settings apply only when `--tag=package-vnet-2019-06-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-vnet-2019-06-01-preview' && $(go) +namespace: managedvirtualnetwork +output-folder: $(go-sdk-folder)/services/preview/synapse/2019-06-01-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/synapse/data-plane/readme.md b/specification/synapse/data-plane/readme.md index 27db372758be..42c66982590e 100644 --- a/specification/synapse/data-plane/readme.md +++ b/specification/synapse/data-plane/readme.md @@ -43,6 +43,10 @@ tag: package-access-control-2020-02-01-preview tag: package-vnet-2019-06-01-preview ``` +``` yaml $(package-monitoring) +tag: package-monitoring-2019-11-01-preview +``` + ### Tag: package-spark-2019-11-01-preview These settings apply only when `--tag=package-spark-2019-11-01-preview` is specified on the command line. @@ -59,6 +63,10 @@ These settings apply only when `--tag=package-artifacts-2019-06-01-preview` is s ``` yaml $(tag) == 'package-artifacts-2019-06-01-preview' input-file: - Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json +- Microsoft.Synapse/preview/2019-06-01-preview/workspace.json +- Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json +- Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json +- Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json ``` ### Tag: package-access-control-2020-02-01-preview @@ -80,6 +88,15 @@ input-file: - Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json ``` +### Tag: package-monitoring-2019-11-01-preview + +These settings apply only when `--tag=package-monitoring-2019-11-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-monitoring-2019-11-01-preview' +input-file: +- Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json +``` + ## Suppression ``` yaml directive: @@ -131,7 +148,12 @@ batch: ## TypeScript See configuration in [readme.typescript.md](./readme.typescript.md) -## Multi-API/Profile support for AutoRest v3 generators + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -143,18 +165,24 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/workspace.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/sqlPools.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/bigDataPools.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntimes.json - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/sparkJob.json - - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/artifacts.json - $(this-folder)/Microsoft.Synapse/preview/2020-02-01-preview/roles.json - $(this-folder)/Microsoft.Synapse/preview/2020-02-01-preview/roleAssignments.json + - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/managedPrivateEndpoints.json + - $(this-folder)/Microsoft.Synapse/preview/2019-11-01-preview/monitoring.json + ``` -If there are files that should not be in the `all-api-versions` set, +If there are files that should not be in the `all-api-versions` set, uncomment the `exclude-file` section below and add the file paths. ``` yaml $(tag) == 'all-api-versions' -#exclude-file: +#exclude-file: # - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json ``` diff --git a/specification/synapse/data-plane/readme.python.md b/specification/synapse/data-plane/readme.python.md index 30169a5bf708..0ea1d2fe60b5 100644 --- a/specification/synapse/data-plane/readme.python.md +++ b/specification/synapse/data-plane/readme.python.md @@ -20,15 +20,15 @@ batch: ``` yaml $(package-spark) no-namespace-folders: true namespace: azure.synapse.spark -output-folder: $(python-sdks-folder)/synapse/azure-synapse/azure/synapse/spark +output-folder: $(python-sdks-folder)/synapse/azure-synapse-spark/azure/synapse/spark ``` ``` yaml $(package-artifacts) no-namespace-folders: true namespace: azure.synapse.artifacts -output-folder: $(python-sdks-folder)/synapse/azure-synapse/azure/synapse/artifacts +output-folder: $(python-sdks-folder)/synapse/azure-synapse-artifacts/azure/synapse/artifacts ``` ``` yaml $(package-access-control) no-namespace-folders: true namespace: azure.synapse.accesscontrol -output-folder: $(python-sdks-folder)/synapse/azure-synapse/azure/synapse/accesscontrol +output-folder: $(python-sdks-folder)/synapse/azure-synapse-accesscontrol/azure/synapse/accesscontrol ``` diff --git a/specification/synapse/data-plane/readme.typescript.md b/specification/synapse/data-plane/readme.typescript.md index 18d1166a5c6d..56317deac711 100644 --- a/specification/synapse/data-plane/readme.typescript.md +++ b/specification/synapse/data-plane/readme.typescript.md @@ -6,11 +6,18 @@ Please also specify `--typescript-sdks-folder=`. + +### Tag: schema-synapse-2020-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-synapse-2020-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Synapse/preview/2020-04-01-preview/operations.json + - Microsoft.Synapse/preview/2020-04-01-preview/sqlPool.json + - Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.json + +``` + +### Tag: schema-synapse-2019-06-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-synapse-2019-06-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Synapse/preview/2019-06-01-preview/bigDataPool.json + - Microsoft.Synapse/preview/2019-06-01-preview/checkNameAvailability.json + - Microsoft.Synapse/preview/2019-06-01-preview/firewallRule.json + - Microsoft.Synapse/preview/2019-06-01-preview/operations.json + - Microsoft.Synapse/preview/2019-06-01-preview/sqlPool.json + - Microsoft.Synapse/preview/2019-06-01-preview/workspace.json + - Microsoft.Synapse/preview/2019-06-01-preview/integrationRuntime.json + - Microsoft.Synapse/preview/2019-06-01-preview/privateLinkResources.json + - Microsoft.Synapse/preview/2019-06-01-preview/privateEndpointConnections.json + - Microsoft.Synapse/preview/2019-06-01-preview/privatelinkhub.json + +``` diff --git a/specification/synapse/resource-manager/readme.md b/specification/synapse/resource-manager/readme.md index 220b68f46ab2..43799498060f 100644 --- a/specification/synapse/resource-manager/readme.md +++ b/specification/synapse/resource-manager/readme.md @@ -24,7 +24,6 @@ To see additional help and options, run: These are the global settings for the Azure Synapse Analytics API. ``` yaml -title: SynapseManagementClient description: Azure Synapse Analytics Management Client openapi-type: arm azure-arm: true @@ -49,6 +48,17 @@ input-file: - Microsoft.Synapse/preview/2019-06-01-preview/privatelinkhub.json ``` +### Tag: package-sqlGen3-2020-04-01-preview + +These settings apply only when `--tag=package-sqlGen3-2020-04-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-sqlGen3-2020-04-01-preview' +input-file: +- Microsoft.Synapse/preview/2020-04-01-preview/operations.json +- Microsoft.Synapse/preview/2020-04-01-preview/sqlPool.json +- Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.json +``` + ## Suppressions ``` yaml @@ -81,6 +91,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-python - repo: azure-sdk-for-go + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js synapse/resource-manager ``` ## Python @@ -102,12 +115,19 @@ csharp: namespace: Microsoft.Azure.Management.Synapse output-folder: $(csharp-sdks-folder)/synapse/Microsoft.Azure.Management.Synapse/src/Generated clear-output-folder: true +batch: + - tag: package-2019-06-01-preview + - tag: package-sqlGen3-2020-04-01-preview ``` ## Go See configuration in [readme.go.md](./readme.go.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -130,6 +150,9 @@ input-file: - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/privateLinkResources.json - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/privateEndpointConnections.json - $(this-folder)/Microsoft.Synapse/preview/2019-06-01-preview/privatelinkhub.json + - $(this-folder)/Microsoft.Synapse/preview/2020-04-01-preview/operations.json + - $(this-folder)/Microsoft.Synapse/preview/2020-04-01-preview/sqlPool.json + - $(this-folder)/Microsoft.Synapse/preview/2020-04-01-preview/sqlDatabase.json ``` diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json index e8bbd560e3b4..54f991f6465a 100644 --- a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "TimeSeriesInsightsClient", - "description": "Time Series Insights environment data plane client for PAYG (Preview L1 SKU) environments.", + "description": "Time Series Insights environment data plane client for Gen2 (Preview L1 SKU) environments.", "version": "2018-11-01-preview" }, "x-ms-parameterized-host": { @@ -188,7 +188,7 @@ "ModelSettings" ], "operationId": "ModelSettings_Get", - "description": "Returns the model settings which includes model display name, Time Series ID properties and default type ID. Every pay-as-you-go environment has a model that is automatically created.", + "description": "Returns the model settings which includes model display name, Time Series ID properties and default type ID. Every Gen2 environment has a model that is automatically created.", "x-ms-examples": { "ModelSettingsGet": { "$ref": "./examples/ModelSettingsGet.json" @@ -539,7 +539,7 @@ "$ref": "./examples/InstancesBatchGetByIds.json" }, "InstancesBatchGetByNames": { - "$ref": "./examples/InstancesBatchGetByIds.json" + "$ref": "./examples/InstancesBatchGetByNames.json" }, "InstancesBatchUpdate": { "$ref": "./examples/InstancesBatchUpdate.json" @@ -1512,8 +1512,7 @@ }, "typeId": { "description": "This represents the type that this instance belongs to. Never null.", - "type": "string", - "format": "uuid" + "type": "string" }, "name": { "description": "Optional name of the instance which is unique in an environment. Names acts as a mutable alias or display name of the time series instance. Mutable, may be null.", @@ -1527,8 +1526,7 @@ "description": "Set of time series hierarchy IDs that the instance belong to. May be null.", "type": "array", "items": { - "type": "string", - "format": "uuid" + "type": "string" } }, "instanceFields": { @@ -1670,9 +1668,8 @@ "type": "object", "properties": { "id": { - "description": "Unique type identifier that is immutable. Can be null on create or update requests, and then server generates the ID. Not null on get and delete operations.", - "type": "string", - "format": "uuid" + "description": "Case-sensitive unique type identifier that is immutable. Can be null on create or update requests, and then server generates the ID. Not null on get and delete operations.", + "type": "string" }, "name": { "description": "User-given unique name for the type. Mutable, not null.", @@ -1723,8 +1720,7 @@ "description": "List of IDs of time series types to return or delete.", "type": "array", "items": { - "type": "string", - "format": "uuid" + "type": "string" } }, "names": { @@ -1808,9 +1804,8 @@ "type": "object", "properties": { "id": { - "description": "Unique hierarchy identifier that is a immutable GUID. Can be null while creating hierarchy objects and then server generates the id, not null on get and delete operations.", - "type": "string", - "format": "uuid" + "description": "Case-sensitive unique hierarchy identifier. Can be null while creating hierarchy objects and then server generates the id, not null on get and delete operations.", + "type": "string" }, "name": { "description": "User-given unique name for the type. It is mutable and not null.", @@ -1864,8 +1859,7 @@ "description": "List of hierarchy IDs.", "type": "array", "items": { - "type": "string", - "format": "uuid" + "type": "string" } }, "names": { @@ -1951,8 +1945,7 @@ "defaultTypeId": { "description": "Default type ID of the model that new time series instances will automatically belong to.", "readOnly": true, - "type": "string", - "format": "uuid" + "type": "string" } } }, @@ -1997,8 +1990,7 @@ }, "defaultTypeId": { "description": "Default type id of the model that new instances will automatically belong to.", - "type": "string", - "format": "uuid" + "type": "string" } } }, @@ -2217,16 +2209,14 @@ "typeId": { "description": "Represents the type that time series instance which matched the search request belongs to. Never null.", "readOnly": true, - "type": "string", - "format": "uuid" + "type": "string" }, "hierarchyIds": { "description": "List of time series hierarchy IDs that time series instance which matched the search request belongs to. Cannot be used to lookup hierarchies. May be null.", "readOnly": true, "type": "array", "items": { - "type": "string", - "format": "uuid" + "type": "string" } }, "highlights": { @@ -2262,8 +2252,7 @@ "readOnly": true, "type": "array", "items": { - "type": "string", - "format": "uuid" + "type": "string" } }, "hierarchyNames": { diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/AvailabilityGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/AvailabilityGet.json new file mode 100644 index 000000000000..e35b777fce52 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/AvailabilityGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "clientRequestId": "A72703F6-C0B1-49EF-854A-59F1994F54E7", + "clientSessionId": "AlertCalculation_W7" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "0d59d156-2807-4952-87bb-0e074417dbfb" + }, + "body": { + "availability": { + "intervalSize": "PT1H", + "distribution": { + "2019-03-27T04:00:00Z": 432447, + "2019-03-27T05:00:00Z": 432340, + "2019-03-27T06:00:00Z": 432451, + "2019-03-27T07:00:00Z": 432436, + "2019-03-26T13:00:00Z": 386247, + "2019-03-27T00:00:00Z": 436968, + "2019-03-27T01:00:00Z": 432509, + "2019-03-27T02:00:00Z": 432487 + }, + "range": { + "from": "2019-03-14T06:38:27.153Z", + "to": "2019-03-27T03:57:11.697Z" + } + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/AvailabilityGetEmpty.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/AvailabilityGetEmpty.json new file mode 100644 index 000000000000..02a63f296055 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/AvailabilityGetEmpty.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreAvailabilityGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreAvailabilityGet.json new file mode 100644 index 000000000000..1d5a5a68eb48 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreAvailabilityGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "clientRequestId": "A72703F6-C0B1-49EF-854A-59F1994F54E7", + "clientSessionId": "AlertCalculation_W7" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "0d59d156-2807-4952-87bb-0e074417dbfb" + }, + "body": { + "availability": { + "intervalSize": "PT1H", + "distribution": { + "2019-03-27T04:00:00Z": 432447, + "2019-03-27T05:00:00Z": 432340, + "2019-03-27T06:00:00Z": 432451, + "2019-03-27T07:00:00Z": 432436, + "2019-03-26T13:00:00Z": 386247, + "2019-03-27T00:00:00Z": 436968, + "2019-03-27T01:00:00Z": 432509, + "2019-03-27T02:00:00Z": 432487 + }, + "range": { + "from": "2019-03-14T06:38:27.153Z", + "to": "2019-03-27T03:57:11.697Z" + } + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreEventSchemaGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreEventSchemaGet.json new file mode 100644 index 000000000000..facc465246b3 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreEventSchemaGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchSpan": { + "from": "2018-08-01T00:00:00.000Z", + "to": "2018-08-31T00:00:00.000Z" + } + } + }, + "responses": { + "200": { + "body": { + "properties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Room", + "type": "String" + }, + { + "name": "DeviceId", + "type": "Double" + }, + { + "name": "Temperature", + "type": "Double" + }, + { + "name": "Pressure", + "type": "Double" + }, + { + "name": "Status", + "type": "String" + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryAggregateSeriesPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryAggregateSeriesPage1.json new file mode 100644 index 000000000000..d345efbb864b --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryAggregateSeriesPage1.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "aggregateSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "interval": "PT1M", + "inlineVariables": { + "Count": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + }, + "MinTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "min($value)" + } + }, + "MaxTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "max($value)" + } + } + }, + "projectedVariables": [ + "Count", + "MinTemperature", + "MaxTemperature" + ] + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryAggregateSeriesPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryAggregateSeriesPage2.json new file mode 100644 index 000000000000..48fc4902a025 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryAggregateSeriesPage2.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "aggregateSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "interval": "PT1M", + "inlineVariables": { + "Count": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + }, + "MinTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "min($value)" + } + }, + "MaxTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "max($value)" + } + } + }, + "projectedVariables": [ + "Count", + "MinTemperature", + "MaxTemperature" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:00Z", + "2016-08-01T00:01:00Z", + "2016-08-01T00:02:00Z", + "2016-08-01T00:03:00Z", + "2016-08-01T00:04:00Z", + "2016-08-01T00:05:00Z", + "2016-08-01T00:06:00Z", + "2016-08-01T00:07:00Z", + "2016-08-01T00:08:00Z", + "2016-08-01T00:09:00Z", + "2016-08-01T00:10:00Z" + ], + "properties": [ + { + "name": "Count", + "type": "Long", + "values": [ + 50, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + null + ] + }, + { + "name": "AverageTemperature", + "type": "Double", + "values": [ + 71.25, + 85.0, + 82.5, + 80.0, + 89.166666666666671, + 75.0, + 90.0, + 75.833333333333329, + 85.0, + 82.5, + null + ] + }, + { + "name": "MinTemperature", + "type": "Double", + "values": [ + 65.125, + 77.625, + 65.125, + 72.625, + 65.125, + 67.625, + 82.625, + 65.125, + 77.625, + 65.125, + null + ] + }, + { + "name": "MaxTemperature", + "type": "Double", + "values": [ + 77.375, + 92.375, + 99.875, + 87.375, + 99.875, + 82.375, + 97.375, + 99.875, + 92.375, + 99.875, + null + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage1.json new file mode 100644 index 000000000000..37529aefea13 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage1.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage2.json new file mode 100644 index 000000000000..526871620036 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage2.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:10Z", + "2016-08-01T00:00:11Z", + "2016-08-01T00:00:12Z", + "2016-08-01T00:00:13Z", + "2016-08-01T00:00:14Z", + "2016-08-01T00:00:15Z", + "2016-08-01T00:00:16Z", + "2016-08-01T00:00:17Z", + "2016-08-01T00:00:18Z", + "2016-08-01T00:00:19Z" + ], + "properties": [ + { + "name": "Building", + "type": "String", + "values": [ + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium" + ] + }, + { + "name": "Temperature", + "type": "Double", + "values": [ + 65.125, + 65.375, + 65.625, + 65.875, + 66.125, + 66.375, + 66.625, + 66.875, + 67.125, + 67.375 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage3.json new file mode 100644 index 000000000000..49fa1aedf6a3 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage3.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:20Z" + ], + "properties": [ + { + "name": "Building", + "type": "String", + "values": [ + "Millenium" + ] + }, + { + "name": "Temperature", + "type": "Double", + "values": [ + 67.575 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage4.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage4.json new file mode 100644 index 000000000000..969da41b7536 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetEventsPage4.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [], + "properties": [], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage1.json new file mode 100644 index 000000000000..c7cbf052cfcd --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage1.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage2.json new file mode 100644 index 000000000000..187c988495b5 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage2.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:10Z", + "2016-08-01T00:00:11Z", + "2016-08-01T00:00:12Z", + "2016-08-01T00:00:13Z", + "2016-08-01T00:00:14Z", + "2016-08-01T00:00:15Z", + "2016-08-01T00:00:16Z", + "2016-08-01T00:00:17Z", + "2016-08-01T00:00:18Z", + "2016-08-01T00:00:19Z", + "2016-08-01T00:00:20Z" + ], + "properties": [ + { + "name": "temperatures", + "type": "Double", + "values": [ + 65.125, + 65.375, + 65.625, + 65.875, + 66.125, + 66.375, + 66.625, + 66.875, + 67.125, + 67.375, + 67.625 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage3.json new file mode 100644 index 000000000000..f3647241c3a4 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ColdStoreQueryGetSeriesPage3.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "coldstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:21Z" + ], + "properties": [ + { + "name": "temperatures", + "type": "Double", + "values": [ + 67.825 + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/EventSchemaGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/EventSchemaGet.json new file mode 100644 index 000000000000..421da68104df --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/EventSchemaGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchSpan": { + "from": "2018-08-01T00:00:00.000Z", + "to": "2018-08-31T00:00:00.000Z" + } + } + }, + "responses": { + "200": { + "body": { + "properties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Room", + "type": "String" + }, + { + "name": "DeviceId", + "type": "Double" + }, + { + "name": "Temperature", + "type": "Double" + }, + { + "name": "Pressure", + "type": "Double" + }, + { + "name": "Status", + "type": "String" + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/EventSchemaGetEmpty.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/EventSchemaGetEmpty.json new file mode 100644 index 000000000000..e7010afefc5c --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/EventSchemaGetEmpty.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchSpan": { + "from": "2016-08-01T00:00:00.000Z", + "to": "2016-08-31T00:00:00.000Z" + } + } + }, + "responses": { + "200": { + "body": { + "properties": [] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchDeleteByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchDeleteByIds.json new file mode 100644 index 000000000000..05f5a95f2058 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchDeleteByIds.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "delete": { + "hierarchyIds": [ + "a28fd14c-6b98-4ab5-9301-3840f142d30e" + ] + } + } + }, + "responses": { + "200": { + "body": { + "delete": [ + null + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchDeleteByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchDeleteByNames.json new file mode 100644 index 000000000000..2e45d0470356 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchDeleteByNames.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "delete": { + "names": [ + "WindFarm" + ] + } + } + }, + "responses": { + "200": { + "body": { + "delete": [ + null + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchGetByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchGetByIds.json new file mode 100644 index 000000000000..b3b26c66f481 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchGetByIds.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "get": { + "hierarchyIds": [ + "6e292e54-9a26-4be1-9034-607d71492707", + "a28fd14c-6b98-4ab5-9301-3840f142d30e" + ] + } + } + }, + "responses": { + "200": { + "body": { + "get": [ + { + "hierarchy": { + "id": "6e292e54-9a26-4be1-9034-607d71492707", + "name": "Location", + "source": { + "instanceFieldNames": [ + "state", + "city" + ] + } + } + }, + { + "hierarchy": { + "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e", + "name": "ManufactureDate", + "source": { + "instanceFieldNames": [ + "year", + "month" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchGetByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchGetByNames.json new file mode 100644 index 000000000000..f111f85c3853 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchGetByNames.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "get": { + "names": [ + "Location", + "ManufactureDate" + ] + } + } + }, + "responses": { + "200": { + "body": { + "get": [ + { + "hierarchy": { + "id": "6e292e54-9a26-4be1-9034-607d71492707", + "name": "Location", + "source": { + "instanceFieldNames": [ + "state", + "city" + ] + } + } + }, + { + "hierarchy": { + "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e", + "name": "ManufactureDate", + "source": { + "instanceFieldNames": [ + "year", + "month" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchPut.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchPut.json new file mode 100644 index 000000000000..931ca0ae0f9b --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesBatchPut.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "put": [ + { + "id": "6e292e54-9a26-4be1-9034-607d71492707", + "name": "Location", + "source": { + "instanceFieldNames": [ + "state", + "city" + ] + } + }, + { + "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e", + "name": "ManufactureDate", + "source": { + "instanceFieldNames": [ + "year", + "month" + ] + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "put": [ + { + "hierarchy": { + "id": "6e292e54-9a26-4be1-9034-607d71492707", + "name": "Location", + "source": { + "instanceFieldNames": [ + "state", + "city" + ] + } + }, + "error": null + }, + { + "hierarchy": { + "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e", + "name": "ManufactureDate", + "source": { + "instanceFieldNames": [ + "year", + "month" + ] + } + }, + "error": null + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage1.json new file mode 100644 index 000000000000..8dfb82e3afa2 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage1.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com" + }, + "responses": { + "200": { + "body": { + "hierarchies": [ + { + "id": "6e292e54-9a26-4be1-9034-607d71492707", + "name": "Location", + "source": { + "instanceFieldNames": [ + "state", + "city" + ] + } + } + ], + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage2.json new file mode 100644 index 000000000000..a49d1ae28287 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage2.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + }, + "responses": { + "200": { + "body": { + "hierarchies": [ + { + "id": "6e292e54-9a26-4be1-9034-607d71492707", + "name": "Location", + "source": { + "instanceFieldNames": [ + "state", + "city" + ] + } + } + ], + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage3.json new file mode 100644 index 000000000000..1b74797f5a8d --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/HierarchiesListPage3.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0=" + }, + "responses": { + "200": { + "body": { + "hierarchies": [] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchDeleteByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchDeleteByIds.json new file mode 100644 index 000000000000..30f202fe23e2 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchDeleteByIds.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "delete": { + "timeSeriesIds": [ + [ + "2da181d7-8346-4cf2-bd94-a17742237429", + "T1" + ], + [ + "18672e3d-2beb-4007-9846-042b09ef3c72", + "T2" + ] + ] + } + } + }, + "responses": { + "200": { + "body": { + "delete": [ + null, + { + "code": "InvalidInput", + "message": "Time series instance with ID '[\"18672e3d-2beb-4007-9846-042b09ef3c72\", \"T2\"]' cannot be deleted. There are already ingested events associated with this time series ID.", + "innerError": { + "code": "CannotDeleteInstance" + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchDeleteByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchDeleteByNames.json new file mode 100644 index 000000000000..bc6efe5dc6f1 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchDeleteByNames.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "delete": { + "names": [ + "F2W6.GF", + "F1W7.GS1" + ] + } + } + }, + "responses": { + "200": { + "body": { + "delete": [ + null, + { + "code": "InvalidInput", + "message": "Time series instance with ID '[\"18672e3d-2beb-4007-9846-042b09ef3c72\", \"T2\"]' cannot be deleted. There are already ingested events associated with this time series ID.", + "innerError": { + "code": "CannotDeleteInstance" + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByIds.json new file mode 100644 index 000000000000..d3384ffc4ae2 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByIds.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "get": { + "timeSeriesIds": [ + [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ] + ] + } + } + }, + "responses": { + "200": { + "body": { + "get": [ + { + "instance": { + "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff", + "name": "F1W7.GS1", + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "description": "ContosoFarm1W7_GenSpeed1", + "hierarchyIds": [ + "33d72529-dd73-4c31-93d8-ae4e6cb5605d" + ], + "instanceFields": { + "Name": "GeneratorSpeed", + "Plant": "Contoso Plant 1", + "Unit": "W7", + "System": "Generator System" + } + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByNames.json new file mode 100644 index 000000000000..5203b15a7324 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchGetByNames.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "get": { + "names": [ + "F1W7.GS1" + ] + } + } + }, + "responses": { + "200": { + "body": { + "get": [ + { + "instance": { + "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff", + "name": "F1W7.GS1", + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "description": "ContosoFarm1W7_GenSpeed1", + "hierarchyIds": [ + "33d72529-dd73-4c31-93d8-ae4e6cb5605d" + ], + "instanceFields": { + "Name": "GeneratorSpeed", + "Plant": "Contoso Plant 1", + "Unit": "W7", + "System": "Generator System" + } + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchPut.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchPut.json new file mode 100644 index 000000000000..6e51a98733e8 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchPut.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "put": [ + { + "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff", + "name": "F1W7.GS1", + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "description": "ContosoFarm1W7_GenSpeed1", + "hierarchyIds": [ + "33d72529-dd73-4c31-93d8-ae4e6cb5605d" + ], + "instanceFields": { + "Name": "GeneratorSpeed", + "Plant": "Contoso Plant 1", + "Unit": "W7", + "System": "Generator System" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "put": [ + { + "error": null + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchUpdate.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchUpdate.json new file mode 100644 index 000000000000..a52bd9e523ef --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesBatchUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "update": [ + { + "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff", + "name": "F1W7.GS1", + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "description": "ContosoFarm1W7_GenSpeed1", + "hierarchyIds": [ + "33d72529-dd73-4c31-93d8-ae4e6cb5605d" + ], + "instanceFields": { + "Name": "GeneratorSpeed", + "Plant": "Contoso Plant 1", + "Unit": "W7", + "System": "Generator System" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "update": [ + { + "error": null + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage1.json new file mode 100644 index 000000000000..f58bccbe7bf4 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage1.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com" + }, + "responses": { + "200": { + "body": { + "instances": [ + { + "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff", + "name": "F1W7.GS1", + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "description": "ContosoFarm1W7_GenSpeed1", + "hierarchyIds": [ + "33d72529-dd73-4c31-93d8-ae4e6cb5605d" + ], + "instanceFields": { + "Name": "GeneratorSpeed", + "Plant": "Contoso Plant 1", + "Unit": "W7", + "System": "Generator System" + } + } + ], + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage2.json new file mode 100644 index 000000000000..353140ee2ad9 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage2.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + }, + "responses": { + "200": { + "body": { + "instances": [ + { + "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff", + "timeSeriesId": [ + "fe984fd0-f632-49ab-990e-3ded259e29b8", + "T1" + ], + "description": "ContosoFarm1W6_GridVoltage3", + "hierarchyIds": [ + "33d72529-dd73-4c31-93d8-ae4e6cb5605d" + ], + "instanceFields": { + "Name": "GridVoltagePhase3", + "Plant": "Contoso Plant 1", + "Unit": "W6", + "System": "Generator System" + } + } + ], + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage3.json new file mode 100644 index 000000000000..cef59753fb99 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesListPage3.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0=" + }, + "responses": { + "200": { + "body": { + "instances": [] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesSuggest.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesSuggest.json new file mode 100644 index 000000000000..aaa6985e1037 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/InstancesSuggest.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchString": "flo", + "take": 3 + } + }, + "responses": { + "200": { + "body": { + "suggestions": [ + { + "searchString": "floor 100", + "highlightedSearchString": "floor 100" + }, + { + "searchString": "sensor on floor 0", + "highlightedSearchString": "sensor on floor 0" + }, + { + "searchString": "sensor on floor 1", + "highlightedSearchString": "sensor on floor 1" + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ModelSettingsGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ModelSettingsGet.json new file mode 100644 index 000000000000..51947ffa1057 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ModelSettingsGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com" + }, + "responses": { + "200": { + "body": { + "modelSettings": { + "name": "DefaultModel", + "timeSeriesIdProperties": [ + { + "name": "DeviceId", + "type": "String" + } + ], + "defaultTypeId": "5AB70D71-A8CD-410E-B70D-6F04AB9C132C" + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ModelSettingsUpdateName.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ModelSettingsUpdateName.json new file mode 100644 index 000000000000..84b703fc89c0 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/ModelSettingsUpdateName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "name": "Thermostats" + } + }, + "responses": { + "200": { + "body": { + "modelSettings": { + "name": "Thermostats", + "timeSeriesIdProperties": [ + { + "name": "DeviceId", + "type": "String" + } + ], + "defaultTypeId": "5AB70D71-A8CD-410E-B70D-6F04AB9C132C" + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesPage1.json new file mode 100644 index 000000000000..997acfa812d0 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesPage1.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "aggregateSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "interval": "PT1M", + "inlineVariables": { + "Count": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + }, + "MinTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "min($value)" + } + }, + "MaxTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "max($value)" + } + } + }, + "projectedVariables": [ + "Count", + "MinTemperature", + "MaxTemperature" + ] + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesPage2.json new file mode 100644 index 000000000000..2af045d28325 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesPage2.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "aggregateSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "interval": "PT1M", + "inlineVariables": { + "Count": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + }, + "MinTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "min($value)" + } + }, + "MaxTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "max($value)" + } + } + }, + "projectedVariables": [ + "Count", + "MinTemperature", + "MaxTemperature" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:00Z", + "2016-08-01T00:01:00Z", + "2016-08-01T00:02:00Z", + "2016-08-01T00:03:00Z", + "2016-08-01T00:04:00Z", + "2016-08-01T00:05:00Z", + "2016-08-01T00:06:00Z", + "2016-08-01T00:07:00Z", + "2016-08-01T00:08:00Z", + "2016-08-01T00:09:00Z", + "2016-08-01T00:10:00Z" + ], + "properties": [ + { + "name": "Count", + "type": "Long", + "values": [ + 50, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + null + ] + }, + { + "name": "AverageTemperature", + "type": "Double", + "values": [ + 71.25, + 85.0, + 82.5, + 80.0, + 89.166666666666671, + 75.0, + 90.0, + 75.833333333333329, + 85.0, + 82.5, + null + ] + }, + { + "name": "MinTemperature", + "type": "Double", + "values": [ + 65.125, + 77.625, + 65.125, + 72.625, + 65.125, + 67.625, + 82.625, + 65.125, + 77.625, + 65.125, + null + ] + }, + { + "name": "MaxTemperature", + "type": "Double", + "values": [ + 77.375, + 92.375, + 99.875, + 87.375, + 99.875, + 82.375, + 97.375, + 99.875, + 92.375, + 99.875, + null + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithCategoricalInterpolatedVariable.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithCategoricalInterpolatedVariable.json new file mode 100644 index 000000000000..04d175664d8c --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithCategoricalInterpolatedVariable.json @@ -0,0 +1,250 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "aggregateSeries": { + "searchSpan": { + "from": "2019-10-10T23:41:04.021Z", + "to": "2019-10-10T23:42:22.846Z" + }, + "timeSeriesId": [ + "Sensor_58" + ], + "interval": "PT2S", + "inlineVariables": { + "Status_String": { + "kind": "categorical", + "value": { + "tsx": "$event.[Status].String" + }, + "interpolation": { + "kind": "Step", + "boundary": { + "span": "PT5S" + } + }, + "categories": [ + { + "label": "Good", + "values": [ + "Good", + "Very Good", + "Excellent" + ] + }, + { + "label": "Bad", + "values": [ + "Bad", + "OK" + ] + }, + { + "label": "Other", + "values": [ + "Other" + ] + } + ], + "defaultCategory": { + "label": "Unknown" + } + }, + "Status_Long": { + "kind": "categorical", + "value": { + "tsx": "tolong($event.[Status].Double)" + }, + "interpolation": { + "kind": "Step", + "boundary": { + "span": "PT5S" + } + }, + "categories": [ + { + "label": "Good", + "values": [ + 0, + 1, + 2 + ] + }, + { + "label": "Bad", + "values": [ + 3, + 4 + ] + }, + { + "label": "Other", + "values": [ + 5 + ] + } + ], + "defaultCategory": { + "label": "Unknown" + } + } + }, + "projectedVariables": [ + "Status_String", + "Status_Long" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2019-10-10T23:41:04Z", + "2019-10-10T23:41:06Z", + "2019-10-10T23:41:08Z", + "2019-10-10T23:41:10Z", + "2019-10-10T23:41:12Z", + "2019-10-10T23:41:14Z", + "2019-10-10T23:41:16Z", + "2019-10-10T23:41:18Z", + "2019-10-10T23:41:20Z", + "2019-10-10T23:41:22Z" + ], + "properties": [ + { + "values": [ + 0.203, + 0.141, + 0.268, + 0.398, + 0.402, + 0.047, + 0.1245, + 0.75, + 0.206, + 0.2635 + ], + "name": "Status_String[Good]", + "type": "Double" + }, + { + "values": [ + 0.266, + 0.1955, + 0.242, + 0.148, + 0.25, + 0.055, + 0.6295, + 0.109, + 0.41, + 0.2125 + ], + "name": "Status_String[Bad]", + "type": "Double" + }, + { + "values": [ + 0.5205, + 0.6635, + 0.49, + 0.454, + 0.348, + 0.898, + 0.246, + 0.141, + 0.384, + 0.524 + ], + "name": "Status_String[Other]", + "type": "Double" + }, + { + "values": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "name": "Status_String[Unknown]", + "type": "Double" + }, + { + "values": [ + 0.203, + 0.141, + 0.268, + 0.398, + 0.402, + 0.047, + 0.1245, + 0.75, + 0.206, + 0.2635 + ], + "name": "Status_Long[Good]", + "type": "Double" + }, + { + "values": [ + 0.266, + 0.1955, + 0.242, + 0.148, + 0.25, + 0.055, + 0.6295, + 0.109, + 0.41, + 0.2125 + ], + "name": "Status_Long[Bad]", + "type": "Double" + }, + { + "values": [ + 0.5205, + 0.6635, + 0.49, + 0.454, + 0.348, + 0.898, + 0.246, + 0.141, + 0.384, + 0.524 + ], + "name": "Status_Long[Other]", + "type": "Double" + }, + { + "values": [ + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ], + "name": "Status_Long[Unknown]", + "type": "Double" + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithCategoricalVariable.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithCategoricalVariable.json new file mode 100644 index 000000000000..bb0e7ab6eaed --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithCategoricalVariable.json @@ -0,0 +1,238 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "aggregateSeries": { + "searchSpan": { + "from": "2019-10-10T23:42:00.000Z", + "to": "2019-10-10T23:42:20.000Z" + }, + "timeSeriesId": [ + "Sensor_58" + ], + "interval": "PT2S", + "inlineVariables": { + "Status_String": { + "kind": "categorical", + "value": { + "tsx": "$event.[Status].String" + }, + "categories": [ + { + "label": "Good", + "values": [ + "Good", + "Very Good", + "Excellent" + ] + }, + { + "label": "Bad", + "values": [ + "Bad", + "OK" + ] + }, + { + "label": "Other", + "values": [ + "Other" + ] + } + ], + "defaultCategory": { + "label": "Unknown" + } + }, + "Status_Long": { + "kind": "categorical", + "value": { + "tsx": "tolong($event.[Status].Double)" + }, + "categories": [ + { + "label": "Good", + "values": [ + 0, + 1, + 2 + ] + }, + { + "label": "Bad", + "values": [ + 3, + 4 + ] + }, + { + "label": "Other", + "values": [ + 5 + ] + } + ], + "defaultCategory": { + "label": "Unknown" + } + } + }, + "projectedVariables": [ + "Status_String", + "Status_Long" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2019-10-10T23:42:00Z", + "2019-10-10T23:42:02Z", + "2019-10-10T23:42:04Z", + "2019-10-10T23:42:06Z", + "2019-10-10T23:42:08Z", + "2019-10-10T23:42:10Z", + "2019-10-10T23:42:12Z", + "2019-10-10T23:42:14Z", + "2019-10-10T23:42:16Z", + "2019-10-10T23:42:18Z" + ], + "properties": [ + { + "values": [ + 5, + 8, + 4, + 6, + 9, + 8, + 3, + 6, + 5, + 8 + ], + "name": "Status_String[Good]", + "type": "Long" + }, + { + "values": [ + 4, + 3, + 3, + 5, + 5, + 3, + 9, + 7, + 7, + 7 + ], + "name": "Status_String[Bad]", + "type": "Long" + }, + { + "values": [ + 11, + 9, + 13, + 9, + 6, + 9, + 8, + 7, + 8, + 5 + ], + "name": "Status_String[Other]", + "type": "Long" + }, + { + "values": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "name": "Status_String[Unknown]", + "type": "Long" + }, + { + "values": [ + 5, + 8, + 4, + 6, + 9, + 8, + 3, + 6, + 5, + 8 + ], + "name": "Status_Long[Good]", + "type": "Long" + }, + { + "values": [ + 4, + 3, + 3, + 5, + 5, + 3, + 9, + 7, + 7, + 7 + ], + "name": "Status_Long[Bad]", + "type": "Long" + }, + { + "values": [ + 11, + 9, + 13, + 9, + 6, + 9, + 8, + 7, + 8, + 5 + ], + "name": "Status_Long[Other]", + "type": "Long" + }, + { + "values": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "name": "Status_Long[Unknown]", + "type": "Long" + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithSampleInterpolation.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithSampleInterpolation.json new file mode 100644 index 000000000000..6a017b31820b --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryAggregateSeriesWithSampleInterpolation.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "aggregateSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "interval": "PT1M", + "inlineVariables": { + "LinearSampleInterpolation": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "interpolation": { + "kind": "Linear", + "boundary": { + "span": "P1D" + } + }, + "aggregation": { + "tsx": "left($value)" + } + }, + "StepSampleInterpolation": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "interpolation": { + "kind": "Step", + "boundary": { + "span": "P1D" + } + }, + "aggregation": { + "tsx": "left($value)" + } + } + }, + "projectedVariables": [ + "LinearSampleInterpolation", + "StepSampleInterpolation" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:00Z", + "2016-08-01T00:01:00Z", + "2016-08-01T00:02:00Z", + "2016-08-01T00:03:00Z", + "2016-08-01T00:04:00Z", + "2016-08-01T00:05:00Z", + "2016-08-01T00:06:00Z", + "2016-08-01T00:07:00Z", + "2016-08-01T00:08:00Z", + "2016-08-01T00:09:00Z", + "2016-08-01T00:10:00Z" + ], + "properties": [ + { + "name": "LinearSampleInterpolation", + "type": "Double", + "values": [ + 50.0, + 60.0, + 60.0, + 60.0, + 60.0, + 60.0, + 60.0, + 60.0, + 60.0, + 60.0, + 62.0 + ] + }, + { + "name": "StepSampleInterpolation", + "type": "Double", + "values": [ + 71.25, + 85.0, + 82.5, + 80.0, + 89.166666666666671, + 75.0, + 90.0, + 75.833333333333329, + 85.0, + 82.5, + 84.0 + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage1.json new file mode 100644 index 000000000000..8c28ab076f8f --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage1.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage2.json new file mode 100644 index 000000000000..c3652a10c406 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage2.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:10Z", + "2016-08-01T00:00:11Z", + "2016-08-01T00:00:12Z", + "2016-08-01T00:00:13Z", + "2016-08-01T00:00:14Z", + "2016-08-01T00:00:15Z", + "2016-08-01T00:00:16Z", + "2016-08-01T00:00:17Z", + "2016-08-01T00:00:18Z", + "2016-08-01T00:00:19Z" + ], + "properties": [ + { + "name": "Building", + "type": "String", + "values": [ + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium" + ] + }, + { + "name": "Temperature", + "type": "Double", + "values": [ + 65.125, + 65.375, + 65.625, + 65.875, + 66.125, + 66.375, + 66.625, + 66.875, + 67.125, + 67.375 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage3.json new file mode 100644 index 000000000000..d3843320e9a2 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage3.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:20Z" + ], + "properties": [ + { + "name": "Building", + "type": "String", + "values": [ + "Millenium" + ] + }, + { + "name": "Temperature", + "type": "Double", + "values": [ + 67.575 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage4.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage4.json new file mode 100644 index 000000000000..72e40843571e --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsPage4.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [], + "properties": [], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsWithTakePage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsWithTakePage1.json new file mode 100644 index 000000000000..650521a24d67 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsWithTakePage1.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ], + "take": 10 + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsWithTakePage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsWithTakePage2.json new file mode 100644 index 000000000000..ad9790791da8 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetEventsWithTakePage2.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ], + "take": 10 + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:10Z", + "2016-08-01T00:00:11Z", + "2016-08-01T00:00:12Z", + "2016-08-01T00:00:13Z", + "2016-08-01T00:00:14Z", + "2016-08-01T00:00:15Z", + "2016-08-01T00:00:16Z", + "2016-08-01T00:00:17Z", + "2016-08-01T00:00:18Z", + "2016-08-01T00:00:19Z" + ], + "properties": [ + { + "name": "Building", + "type": "String", + "values": [ + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium" + ] + }, + { + "name": "Temperature", + "type": "Double", + "values": [ + 65.125, + 65.375, + 65.625, + 65.875, + 66.125, + 66.375, + 66.625, + 66.875, + 67.125, + 67.375 + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage1.json new file mode 100644 index 000000000000..1f35b4aabbb3 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage1.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage2.json new file mode 100644 index 000000000000..e71d2892d013 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage2.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:10Z", + "2016-08-01T00:00:11Z", + "2016-08-01T00:00:12Z", + "2016-08-01T00:00:13Z", + "2016-08-01T00:00:14Z", + "2016-08-01T00:00:15Z", + "2016-08-01T00:00:16Z", + "2016-08-01T00:00:17Z", + "2016-08-01T00:00:18Z", + "2016-08-01T00:00:19Z", + "2016-08-01T00:00:20Z" + ], + "properties": [ + { + "name": "temperatures", + "type": "Double", + "values": [ + 65.125, + 65.375, + 65.625, + 65.875, + 66.125, + 66.375, + 66.625, + 66.875, + 67.125, + 67.375, + 67.625 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage3.json new file mode 100644 index 000000000000..f8e062a11210 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesPage3.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:21Z" + ], + "properties": [ + { + "name": "temperatures", + "type": "Double", + "values": [ + 67.825 + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesWithTakePage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesWithTakePage1.json new file mode 100644 index 000000000000..0ac165ab78ef --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesWithTakePage1.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ], + "take": 10 + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesWithTakePage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesWithTakePage2.json new file mode 100644 index 000000000000..ffce8804a4fa --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/QueryGetSeriesWithTakePage2.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ], + "take": 10 + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:10Z", + "2016-08-01T00:00:11Z", + "2016-08-01T00:00:12Z", + "2016-08-01T00:00:13Z", + "2016-08-01T00:00:14Z", + "2016-08-01T00:00:15Z", + "2016-08-01T00:00:16Z", + "2016-08-01T00:00:17Z", + "2016-08-01T00:00:18Z", + "2016-08-01T00:00:19Z", + "2016-08-01T00:00:20Z" + ], + "properties": [ + { + "name": "temperatures", + "type": "Double", + "values": [ + 65.125, + 65.375, + 65.625, + 65.875, + 66.125, + 66.375, + 66.625, + 66.875, + 67.125, + 67.375, + 67.625 + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesDefault.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesDefault.json new file mode 100644 index 000000000000..6df5ad349d51 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesDefault.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchString": "floor 100" + } + }, + "responses": { + "200": { + "body": { + "instances": { + "hits": [ + { + "timeSeriesId": [ + "Id1One", + "Id2One", + "1.0" + ], + "name": "instance1", + "typeId": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "hierarchyIds": [ + "1643004c-0a84-48a5-80e5-7688c5ae9295" + ], + "highlights": null + }, + { + "timeSeriesId": [ + "Id1Two", + "Id2Two", + "2.0" + ], + "name": "instance2", + "typeId": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "hierarchyIds": [ + "1643004c-0a84-48a5-80e5-7688c5ae9295" + ], + "highlights": null + } + ], + "hitCount": 2, + "continuationToken": null + }, + "hierarchyNodes": null + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesExpandHierarchiesOnly.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesExpandHierarchiesOnly.json new file mode 100644 index 000000000000..c8ffe2694aea --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesExpandHierarchiesOnly.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchString": "floor 100", + "path": [ + "Location" + ], + "instances": null, + "hierarchies": { + "expand": { + "kind": "UntilChildren" + }, + "sort": { + "by": "Name" + }, + "pageSize": 2 + } + } + }, + "responses": { + "200": { + "body": { + "instances": { + "hits": [], + "hitCount": 0, + "continuationToken": null + }, + "hierarchyNodes": { + "hits": [ + { + "name": "California", + "cumulativeInstanceCount": 2, + "hierarchyNodes": { + "hits": [ + { + "name": "San Diego", + "cumulativeInstanceCount": 1, + "hierarchyNodes": null + }, + { + "name": "San Francisco", + "cumulativeInstanceCount": 1, + "hierarchyNodes": null + } + ], + "hitCount": 2, + "continuationToken": null + } + } + ], + "hitCount": 1, + "continuationToken": null + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage1.json new file mode 100644 index 000000000000..4948caff9494 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage1.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchString": "floor 100", + "path": null, + "instances": { + "recursive": true, + "sort": { + "by": "Rank" + }, + "highlights": true, + "pageSize": 1 + }, + "hierarchies": { + "expand": { + "kind": "UntilChildren" + }, + "sort": { + "by": "CumulativeInstanceCount" + }, + "pageSize": 1 + } + } + }, + "responses": { + "200": { + "body": { + "instances": { + "hits": [ + { + "timeSeriesId": [ + "Id1Two", + "Id2Two", + "2.0" + ], + "name": "instance2", + "typeId": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "hierarchyIds": [ + "1643004c-0a84-48a5-80e5-7688c5ae9295" + ], + "highlights": { + "timeSeriesId": [ + "Id1Two", + "Id2Two", + "2.0" + ], + "typeName": "DefaultType", + "name": "instance2", + "description": "floor 100", + "hierarchyIds": [ + "1643004c-0a84-48a5-80e5-7688c5ae9295" + ], + "hierarchyNames": [ + "Location" + ], + "instanceFieldNames": [ + "state", + "city" + ], + "instanceFieldValues": [ + "California", + "San Francisco" + ] + } + } + ], + "hitCount": 2, + "continuationToken": "c3sic2tpcCI6MiwidGFrZSI6MiwicmVxdWVzdEhhc2hDb2RlIjotNTE3MDUxOTg0LCJlbnZpcm9ubWVudElkIjoiYmY0M2YxMzMtM2Y2OC00ZWMwLWJjYjQtZmQ2NDUzMGU0MjU2In0=" + }, + "hierarchyNodes": { + "hits": [ + { + "name": "Location", + "cumulativeInstanceCount": 2, + "hierarchyNodes": { + "hits": [ + { + "name": "California", + "cumulativeInstanceCount": 2, + "hierarchyNodes": { + "hits": [ + { + "name": "San Francisco", + "cumulativeInstanceCount": 1, + "hierarchyNodes": null + } + ], + "hitCount": 2, + "continuationToken": "aHsic2tpcCI6MiwidGFrZSI6MiwicmVxdWVzdEhhc2hDb2RlIjotNzA4NTgyODU0LCJlbnZpcm9ubWVudElkIjoiYmY0M2YxMzMtM2Y2OC00ZWMwLWJjYjQtZmQ2NDUzMGU0MjU2In0=" + } + } + ], + "hitCount": 1, + "continuationToken": null + } + } + ], + "hitCount": 1, + "continuationToken": null + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage2.json new file mode 100644 index 000000000000..38e53340928c --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage2.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "c3sic2tpcCI6MiwidGFrZSI6MiwicmVxdWVzdEhhc2hDb2RlIjotNTE3MDUxOTg0LCJlbnZpcm9ubWVudElkIjoiYmY0M2YxMzMtM2Y2OC00ZWMwLWJjYjQtZmQ2NDUzMGU0MjU2In0=", + "parameters": { + "searchString": "floor 100", + "path": null, + "instances": { + "recursive": true, + "sort": { + "by": "Rank" + }, + "highlights": true, + "pageSize": 1 + }, + "hierarchies": { + "expand": { + "kind": "UntilChildren" + }, + "sort": { + "by": "CumulativeInstanceCount" + }, + "pageSize": 1 + } + } + }, + "responses": { + "200": { + "body": { + "instances": { + "hits": [ + { + "timeSeriesId": [ + "Id1One", + "Id2One", + "1.0" + ], + "name": "instance1", + "typeId": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "hierarchyIds": [ + "1643004c-0a84-48a5-80e5-7688c5ae9295" + ], + "highlights": { + "timeSeriesId": [ + "Id1One", + "Id2One", + "1.0" + ], + "typeName": "DefaultType", + "name": "instance1", + "description": "floor 100", + "hierarchyIds": [ + "1643004c-0a84-48a5-80e5-7688c5ae9295" + ], + "hierarchyNames": [ + "Location" + ], + "instanceFieldNames": [ + "state", + "city" + ], + "instanceFieldValues": [ + "California", + "Los Angeles" + ] + } + } + ], + "hitCount": 2, + "continuationToken": null + }, + "hierarchyNodes": null + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage3.json new file mode 100644 index 000000000000..0f93212034d4 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesHierarchiesDefaultInputPage3.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aHsic2tpcCI6MiwidGFrZSI6MiwicmVxdWVzdEhhc2hDb2RlIjotNzA4NTgyODU0LCJlbnZpcm9ubWVudElkIjoiYmY0M2YxMzMtM2Y2OC00ZWMwLWJjYjQtZmQ2NDUzMGU0MjU2In0=", + "parameters": { + "searchString": "floor 100", + "path": null, + "instances": { + "recursive": true, + "sort": { + "by": "Rank" + }, + "highlights": true, + "pageSize": 1 + }, + "hierarchies": { + "expand": { + "kind": "UntilChildren" + }, + "sort": { + "by": "CumulativeInstanceCount" + }, + "pageSize": 1 + } + } + }, + "responses": { + "200": { + "body": { + "instances": null, + "hierarchyNodes": { + "hits": [ + { + "name": "Location", + "cumulativeInstanceCount": 2, + "hierarchyNodes": { + "hits": [ + { + "name": "California", + "cumulativeInstanceCount": 2, + "hierarchyNodes": { + "hits": [ + { + "name": "San Diego", + "cumulativeInstanceCount": 1, + "hierarchyNodes": null + } + ], + "hitCount": 2, + "continuationToken": "aHsic2tpcCI6MiwidGFrZSI6MiwicmVxdWVzdEhhc2hDb2RlIjotNzA4NTgyODU0LCJlbnZpcm9ubWVudElkIjoiYmY0M2YxMzMtM2Y2OC00ZWMwLWJjYjQtZmQ2NDUzMGU0MjU2In0=" + } + } + ], + "hitCount": 1, + "continuationToken": null + } + } + ], + "hitCount": 1, + "continuationToken": null + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesOneLevel.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesOneLevel.json new file mode 100644 index 000000000000..7d98d6af2fd5 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesOneLevel.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchString": "floor 100", + "path": null, + "instances": { + "recursive": false, + "sort": { + "by": "DisplayName" + }, + "highlights": false, + "pageSize": 2 + }, + "hierarchies": { + "expand": { + "kind": "OneLevel" + }, + "sort": { + "by": "Name" + }, + "pageSize": 2 + } + } + }, + "responses": { + "200": { + "body": { + "instances": { + "hits": [], + "hitCount": 0, + "continuationToken": null + }, + "hierarchyNodes": { + "hits": [ + { + "name": "Location", + "cumulativeInstanceCount": 2, + "hierarchyNodes": null + } + ], + "hitCount": 1, + "continuationToken": null + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesRecursive.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesRecursive.json new file mode 100644 index 000000000000..9cccb4d46c81 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesRecursive.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchString": "floor 100", + "path": null, + "instances": { + "recursive": true, + "sort": { + "by": "DisplayName" + }, + "highlights": false, + "pageSize": 2 + }, + "hierarchies": null + } + }, + "responses": { + "200": { + "body": { + "instances": { + "hits": [ + { + "timeSeriesId": [ + "Id1One", + "Id2One", + "1.0" + ], + "name": "instance1", + "typeId": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "hierarchyIds": [ + "1643004c-0a84-48a5-80e5-7688c5ae9295" + ], + "highlights": null + }, + { + "timeSeriesId": [ + "Id1Two", + "Id2Two", + "2.0" + ], + "name": "instance2", + "typeId": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "hierarchyIds": [ + "1643004c-0a84-48a5-80e5-7688c5ae9295" + ], + "highlights": null + } + ], + "hitCount": 2, + "continuationToken": null + }, + "hierarchyNodes": null + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesUntilChildren.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesUntilChildren.json new file mode 100644 index 000000000000..5375c7cff987 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/SearchInstancesUntilChildren.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchString": "floor 100", + "path": [ + "Location" + ], + "instances": { + "recursive": false, + "sort": { + "by": "DisplayName" + }, + "highlights": false, + "pageSize": 2 + }, + "hierarchies": { + "expand": { + "kind": "UntilChildren" + }, + "sort": { + "by": "Name" + }, + "pageSize": 2 + } + } + }, + "responses": { + "200": { + "body": { + "instances": { + "hits": [], + "hitCount": 0, + "continuationToken": null + }, + "hierarchyNodes": { + "hits": [ + { + "name": "California", + "cumulativeInstanceCount": 2, + "hierarchyNodes": { + "hits": [ + { + "name": "San Diego", + "cumulativeInstanceCount": 1, + "hierarchyNodes": null + }, + { + "name": "San Francisco", + "cumulativeInstanceCount": 1, + "hierarchyNodes": null + } + ], + "hitCount": 2, + "continuationToken": null + } + } + ], + "hitCount": 1, + "continuationToken": null + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchDeleteByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchDeleteByIds.json new file mode 100644 index 000000000000..08f9e11ed9c7 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchDeleteByIds.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "delete": { + "typeIds": [ + "9250f816-faed-44c4-88e6-630e5eefa38b" + ] + } + } + }, + "responses": { + "200": { + "body": { + "delete": [ + null + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchDeleteByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchDeleteByNames.json new file mode 100644 index 000000000000..322f784a1429 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchDeleteByNames.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "delete": { + "names": [ + "TemperatureSensor" + ] + } + } + }, + "responses": { + "200": { + "body": { + "delete": [ + null + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchGetByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchGetByIds.json new file mode 100644 index 000000000000..142255a289bd --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchGetByIds.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "get": { + "typeIds": [ + "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8" + ], + "names": null + } + } + }, + "responses": { + "200": { + "body": { + "get": [ + { + "timeSeriesType": { + "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "name": "DefaultType", + "description": "Default type", + "variables": { + "EventCount": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + } + } + }, + "error": null + }, + { + "timeSeriesType": { + "id": "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8", + "name": "TemperatureSensor", + "description": "This is a temperature sensor.", + "variables": { + "AverageTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature.Double" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + } + }, + "error": null + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchGetByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchGetByNames.json new file mode 100644 index 000000000000..15adb495973b --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchGetByNames.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "get": { + "names": [ + "DefaultType", + "TemperatureSensor" + ] + } + } + }, + "responses": { + "200": { + "body": { + "get": [ + { + "timeSeriesType": { + "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "name": "DefaultType", + "description": "Default type", + "variables": { + "EventCount": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + } + } + }, + "error": null + }, + { + "timeSeriesType": { + "id": "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8", + "name": "TemperatureSensor", + "description": "This is a temperature sensor.", + "variables": { + "AverageTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature.Double" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + } + }, + "error": null + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchPut.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchPut.json new file mode 100644 index 000000000000..477cf918b454 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesBatchPut.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "put": [ + { + "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "name": "DefaultType", + "description": "My Default type", + "variables": { + "EventCount": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + } + } + }, + { + "id": "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8", + "name": "OutdoorTemperatureSensor", + "description": "This is an outdoor temperature sensor.", + "variables": { + "AverageTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature.Double" + }, + "filter": { + "tsx": "$event.Mode.String = 'outdoor'" + }, + "aggregation": { + "tsx": "avg($value)" + } + } + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "put": [ + { + "timeSeriesType": { + "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "name": "DefaultType", + "description": "My Default type", + "variables": { + "EventCount": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + } + } + }, + "error": null + }, + { + "timeSeriesType": { + "id": "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8", + "name": "OutdoorTemperatureSensor", + "description": "This is an outdoor temperature sensor.", + "variables": { + "AverageTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature.Double" + }, + "filter": { + "tsx": "$event.Mode.String = 'outdoor'" + }, + "aggregation": { + "tsx": "avg($value)" + } + } + } + }, + "error": null + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage1.json new file mode 100644 index 000000000000..ac645e3cca78 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage1.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com" + }, + "responses": { + "200": { + "body": { + "types": [ + { + "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393", + "name": "DefaultType", + "description": "My Default type", + "variables": { + "EventCount": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + } + } + } + ], + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage2.json new file mode 100644 index 000000000000..429eaa25abd5 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage2.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + }, + "responses": { + "200": { + "body": { + "types": [ + { + "id": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff", + "name": "TurbineSensor", + "description": "Wind turbine sensor", + "variables": { + "Value": { + "kind": "numeric", + "value": { + "tsx": "$event.value.Double" + }, + "aggregation": { + "tsx": "avg($value)" + } + } + } + } + ], + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage3.json new file mode 100644 index 000000000000..fcc38d7984b8 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/TypesListPage3.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0=" + }, + "responses": { + "200": { + "body": { + "types": [] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreAvailabilityGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreAvailabilityGet.json new file mode 100644 index 000000000000..5f6118a28d39 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreAvailabilityGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "clientRequestId": "A72703F6-C0B1-49EF-854A-59F1994F54E7", + "clientSessionId": "AlertCalculation_W7" + }, + "responses": { + "200": { + "headers": { + "x-ms-request-id": "0d59d156-2807-4952-87bb-0e074417dbfb" + }, + "body": { + "availability": { + "intervalSize": "PT1H", + "distribution": { + "2019-03-27T04:00:00Z": 432447, + "2019-03-27T05:00:00Z": 432340, + "2019-03-27T06:00:00Z": 432451, + "2019-03-27T07:00:00Z": 432436, + "2019-03-26T13:00:00Z": 386247, + "2019-03-27T00:00:00Z": 436968, + "2019-03-27T01:00:00Z": 432509, + "2019-03-27T02:00:00Z": 432487 + }, + "range": { + "from": "2019-03-14T06:38:27.153Z", + "to": "2019-03-27T03:57:11.697Z" + } + } + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreEventSchemaGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreEventSchemaGet.json new file mode 100644 index 000000000000..65f5a8afe736 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreEventSchemaGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "searchSpan": { + "from": "2018-08-01T00:00:00.000Z", + "to": "2018-08-31T00:00:00.000Z" + } + } + }, + "responses": { + "200": { + "body": { + "properties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Room", + "type": "String" + }, + { + "name": "DeviceId", + "type": "Double" + }, + { + "name": "Temperature", + "type": "Double" + }, + { + "name": "Pressure", + "type": "Double" + }, + { + "name": "Status", + "type": "String" + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryAggregateSeriesPage.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryAggregateSeriesPage.json new file mode 100644 index 000000000000..77fbd8de5a20 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryAggregateSeriesPage.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "aggregateSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "interval": "PT1M", + "inlineVariables": { + "Count": { + "kind": "aggregate", + "filter": null, + "aggregation": { + "tsx": "count()" + } + }, + "MinTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "min($value)" + } + }, + "MaxTemperature": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "max($value)" + } + } + }, + "projectedVariables": [ + "Count", + "MinTemperature", + "MaxTemperature" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:00Z", + "2016-08-01T00:01:00Z", + "2016-08-01T00:02:00Z", + "2016-08-01T00:03:00Z", + "2016-08-01T00:04:00Z", + "2016-08-01T00:05:00Z", + "2016-08-01T00:06:00Z", + "2016-08-01T00:07:00Z", + "2016-08-01T00:08:00Z", + "2016-08-01T00:09:00Z", + "2016-08-01T00:10:00Z" + ], + "properties": [ + { + "name": "Count", + "type": "Long", + "values": [ + 50, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + 60, + null + ] + }, + { + "name": "AverageTemperature", + "type": "Double", + "values": [ + 71.25, + 85.0, + 82.5, + 80.0, + 89.166666666666671, + 75.0, + 90.0, + 75.833333333333329, + 85.0, + 82.5, + null + ] + }, + { + "name": "MinTemperature", + "type": "Double", + "values": [ + 65.125, + 77.625, + 65.125, + 72.625, + 65.125, + 67.625, + 82.625, + 65.125, + 77.625, + 65.125, + null + ] + }, + { + "name": "MaxTemperature", + "type": "Double", + "values": [ + 77.375, + 92.375, + 99.875, + 87.375, + 99.875, + 82.375, + 97.375, + 99.875, + 92.375, + 99.875, + null + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage1.json new file mode 100644 index 000000000000..c0a3fb5eb4f7 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage1.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage2.json new file mode 100644 index 000000000000..0aaf5fe47f38 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage2.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:10Z", + "2016-08-01T00:00:11Z", + "2016-08-01T00:00:12Z", + "2016-08-01T00:00:13Z", + "2016-08-01T00:00:14Z", + "2016-08-01T00:00:15Z", + "2016-08-01T00:00:16Z", + "2016-08-01T00:00:17Z", + "2016-08-01T00:00:18Z", + "2016-08-01T00:00:19Z" + ], + "properties": [ + { + "name": "Building", + "type": "String", + "values": [ + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium", + "Millenium" + ] + }, + { + "name": "Temperature", + "type": "Double", + "values": [ + 65.125, + 65.375, + 65.625, + 65.875, + 66.125, + 66.375, + 66.625, + 66.875, + 67.125, + 67.375 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage3.json new file mode 100644 index 000000000000..2e40d479c4a9 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage3.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:20Z" + ], + "properties": [ + { + "name": "Building", + "type": "String", + "values": [ + "Millenium" + ] + }, + { + "name": "Temperature", + "type": "Double", + "values": [ + 67.575 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage4.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage4.json new file mode 100644 index 000000000000..a0d8ca70da06 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetEventsPage4.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0=", + "parameters": { + "getEvents": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": { + "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')" + }, + "projectedProperties": [ + { + "name": "Building", + "type": "String" + }, + { + "name": "Temperature", + "type": "Double" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [], + "properties": [], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage1.json new file mode 100644 index 000000000000..2fa6c4d19a86 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage1.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage2.json new file mode 100644 index 000000000000..cc1608228a42 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage2.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:10Z", + "2016-08-01T00:00:11Z", + "2016-08-01T00:00:12Z", + "2016-08-01T00:00:13Z", + "2016-08-01T00:00:14Z", + "2016-08-01T00:00:15Z", + "2016-08-01T00:00:16Z", + "2016-08-01T00:00:17Z", + "2016-08-01T00:00:18Z", + "2016-08-01T00:00:19Z", + "2016-08-01T00:00:20Z" + ], + "properties": [ + { + "name": "temperatures", + "type": "Double", + "values": [ + 65.125, + 65.375, + 65.625, + 65.875, + 66.125, + 66.375, + 66.625, + 66.875, + 67.125, + 67.375, + 67.625 + ] + } + ], + "progress": 50.0, + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=" + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage3.json new file mode 100644 index 000000000000..82709af293ff --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/examples/WarmStoreQueryGetSeriesPage3.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2020-07-31", + "storeType": "warmstore", + "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com", + "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=", + "parameters": { + "getSeries": { + "timeSeriesId": [ + "006dfc2d-0324-4937-998c-d16f3b4f1952", + "T1" + ], + "searchSpan": { + "from": "2016-08-01T00:00:00Z", + "to": "2016-08-01T00:16:50Z" + }, + "filter": null, + "inlineVariables": { + "temperatures": { + "kind": "numeric", + "value": { + "tsx": "$event.Temperature" + }, + "filter": null, + "aggregation": { + "tsx": "avg($value)" + } + } + }, + "projectedVariables": [ + "temperatures" + ] + } + } + }, + "responses": { + "200": { + "body": { + "timestamps": [ + "2016-08-01T00:00:21Z" + ], + "properties": [ + { + "name": "temperatures", + "type": "Double", + "values": [ + 67.825 + ] + } + ], + "progress": 100.0 + } + } + } +} diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json new file mode 100644 index 000000000000..b808baee2b50 --- /dev/null +++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json @@ -0,0 +1,2517 @@ +{ + "swagger": "2.0", + "info": { + "title": "TimeSeriesInsightsClient", + "description": "Time Series Insights environment data plane client for Gen2 (GA L1 SKU) environments.", + "version": "2020-07-31" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{environmentFqdn}", + "useSchemePrefix": true, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/EnvironmentFqdn" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/availability": { + "get": { + "tags": [ + "Query" + ], + "operationId": "Query_GetAvailability", + "description": "Returns the time range and distribution of event count over the event timestamp ($ts). This API can be used to provide landing experience of navigating to the environment.", + "x-ms-examples": { + "AvailabilityGet": { + "$ref": "./examples/AvailabilityGet.json" + }, + "ColdStoreAvailabilityGet": { + "$ref": "./examples/ColdStoreAvailabilityGet.json" + }, + "WarmStoreAvailabilityGet": { + "$ref": "./examples/WarmStoreAvailabilityGet.json" + }, + "AvailabilityGetEmpty": { + "$ref": "./examples/AvailabilityGetEmpty.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/StoreType" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/AvailabilityResponse" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/eventSchema": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_GetEventSchema", + "description": "Returns environment event schema for a given search span. Event schema is a set of property definitions. Event schema may not be contain all persisted properties when there are too many properties.", + "x-ms-examples": { + "EventSchemaGet": { + "$ref": "./examples/EventSchemaGet.json" + }, + "EventSchemaGetEmpty": { + "$ref": "./examples/EventSchemaGetEmpty.json" + }, + "ColdStoreEventSchemaGet": { + "$ref": "./examples/ColdStoreEventSchemaGet.json" + }, + "WarmStoreEventSchemaGet": { + "$ref": "./examples/WarmStoreEventSchemaGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/StoreType" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetEventSchemaRequest" + }, + "description": "Parameters to get event schema." + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/EventSchema" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/modelSettings": { + "get": { + "tags": [ + "ModelSettings" + ], + "operationId": "ModelSettings_Get", + "description": "Returns the model settings which includes model display name, Time Series ID properties and default type ID. Every Gen2 environment has a model that is automatically created.", + "x-ms-examples": { + "ModelSettingsGet": { + "$ref": "./examples/ModelSettingsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/ModelSettingsResponse" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + }, + "patch": { + "tags": [ + "ModelSettings" + ], + "operationId": "ModelSettings_Update", + "description": "Updates time series model settings - either the model name or default type ID.", + "x-ms-examples": { + "ModelSettingsUpdateName": { + "$ref": "./examples/ModelSettingsUpdateName.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateModelSettingsRequest" + }, + "description": "Model settings update request body." + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation returns new full model settings.", + "schema": { + "$ref": "#/definitions/ModelSettingsResponse" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/query": { + "post": { + "tags": [ + "Query" + ], + "operationId": "Query_Execute", + "description": "Executes Time Series Query in pages of results - Get Events, Get Series or Aggregate Series.", + "x-ms-examples": { + "QueryAggregateSeriesPage1": { + "$ref": "./examples/QueryAggregateSeriesPage1.json" + }, + "QueryAggregateSeriesPage2": { + "$ref": "./examples/QueryAggregateSeriesPage2.json" + }, + "ColdStoreQueryAggregateSeriesPage1": { + "$ref": "./examples/ColdStoreQueryAggregateSeriesPage1.json" + }, + "ColdStoreQueryAggregateSeriesPage2": { + "$ref": "./examples/ColdStoreQueryAggregateSeriesPage2.json" + }, + "WarmStoreQueryAggregateSeriesPage": { + "$ref": "./examples/WarmStoreQueryAggregateSeriesPage.json" + }, + "QueryAggregateSeriesWithSampleInterpolation": { + "$ref": "./examples/QueryAggregateSeriesWithSampleInterpolation.json" + }, + "QueryAggregateSeriesWithCategoricalVariable": { + "$ref": "./examples/QueryAggregateSeriesWithCategoricalVariable.json" + }, + "QueryAggregateSeriesWithCategoricalInterpolatedVariable": { + "$ref": "./examples/QueryAggregateSeriesWithCategoricalInterpolatedVariable.json" + }, + "QueryGetEventsPage1": { + "$ref": "./examples/QueryGetEventsPage1.json" + }, + "QueryGetEventsPage2": { + "$ref": "./examples/QueryGetEventsPage2.json" + }, + "QueryGetEventsPage3": { + "$ref": "./examples/QueryGetEventsPage3.json" + }, + "QueryGetEventsPage4": { + "$ref": "./examples/QueryGetEventsPage4.json" + }, + "ColdStoreQueryGetEventsPage1": { + "$ref": "./examples/ColdStoreQueryGetEventsPage1.json" + }, + "ColdStoreQueryGetEventsPage2": { + "$ref": "./examples/ColdStoreQueryGetEventsPage2.json" + }, + "ColdStoreQueryGetEventsPage3": { + "$ref": "./examples/ColdStoreQueryGetEventsPage3.json" + }, + "ColdStoreQueryGetEventsPage4": { + "$ref": "./examples/ColdStoreQueryGetEventsPage4.json" + }, + "WarmStoreQueryGetEventsPage1": { + "$ref": "./examples/WarmStoreQueryGetEventsPage1.json" + }, + "WarmStoreQueryGetEventsPage2": { + "$ref": "./examples/WarmStoreQueryGetEventsPage2.json" + }, + "WarmStoreQueryGetEventsPage3": { + "$ref": "./examples/WarmStoreQueryGetEventsPage3.json" + }, + "WarmStoreQueryGetEventsPage4": { + "$ref": "./examples/WarmStoreQueryGetEventsPage4.json" + }, + "QueryGetEventsWithTakePage1": { + "$ref": "./examples/QueryGetEventsWithTakePage1.json" + }, + "QueryGetEventsWithTakePage2": { + "$ref": "./examples/QueryGetEventsWithTakePage2.json" + }, + "QueryGetSeriesPage1": { + "$ref": "./examples/QueryGetSeriesPage1.json" + }, + "QueryGetSeriesPage2": { + "$ref": "./examples/QueryGetSeriesPage2.json" + }, + "QueryGetSeriesPage3": { + "$ref": "./examples/QueryGetSeriesPage3.json" + }, + "QueryGetSeriesWithTakePage1": { + "$ref": "./examples/QueryGetSeriesWithTakePage1.json" + }, + "QueryGetSeriesWithTakePage2": { + "$ref": "./examples/QueryGetSeriesWithTakePage2.json" + }, + "ColdStoreQueryGetSeriesPage1": { + "$ref": "./examples/ColdStoreQueryGetSeriesPage1.json" + }, + "ColdStoreQueryGetSeriesPage2": { + "$ref": "./examples/ColdStoreQueryGetSeriesPage2.json" + }, + "ColdStoreQueryGetSeriesPage3": { + "$ref": "./examples/ColdStoreQueryGetSeriesPage3.json" + }, + "WarmStoreQueryGetSeriesPage1": { + "$ref": "./examples/WarmStoreQueryGetSeriesPage1.json" + }, + "WarmStoreQueryGetSeriesPage2": { + "$ref": "./examples/WarmStoreQueryGetSeriesPage2.json" + }, + "WarmStoreQueryGetSeriesPage3": { + "$ref": "./examples/WarmStoreQueryGetSeriesPage3.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/StoreType" + }, + { + "$ref": "#/parameters/ContinuationToken" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryRequest" + }, + "description": "Time series query request body." + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful query.", + "schema": { + "$ref": "#/definitions/QueryResultPage" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/instances": { + "get": { + "tags": [ + "TimeSeriesInstances" + ], + "operationId": "TimeSeriesInstances_List", + "description": "Gets time series instances in pages.", + "x-ms-examples": { + "InstancesListPage1": { + "$ref": "./examples/InstancesListPage1.json" + }, + "InstancesListPage2": { + "$ref": "./examples/InstancesListPage2.json" + }, + "InstancesListPage3": { + "$ref": "./examples/InstancesListPage3.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ContinuationToken" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/GetInstancesPage" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/instances/$batch": { + "post": { + "tags": [ + "TimeSeriesInstances" + ], + "operationId": "TimeSeriesInstances_ExecuteBatch", + "description": "Executes a batch get, create, update, delete operation on multiple time series instances.", + "x-ms-examples": { + "InstancesBatchDeleteByIds": { + "$ref": "./examples/InstancesBatchDeleteByIds.json" + }, + "InstancesBatchDeleteByNames": { + "$ref": "./examples/InstancesBatchDeleteByNames.json" + }, + "InstancesBatchGetByIds": { + "$ref": "./examples/InstancesBatchGetByIds.json" + }, + "InstancesBatchGetByNames": { + "$ref": "./examples/InstancesBatchGetByNames.json" + }, + "InstancesBatchUpdate": { + "$ref": "./examples/InstancesBatchUpdate.json" + }, + "InstancesBatchPut": { + "$ref": "./examples/InstancesBatchPut.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InstancesBatchRequest" + }, + "description": "Time series instances suggest request body." + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/InstancesBatchResponse" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/instances/suggest": { + "post": { + "tags": [ + "TimeSeriesInstances" + ], + "operationId": "TimeSeriesInstances_Suggest", + "description": "Suggests keywords based on time series instance attributes to be later used in Search Instances.", + "x-ms-examples": { + "InstancesSuggest": { + "$ref": "./examples/InstancesSuggest.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InstancesSuggestRequest" + }, + "description": "Time series instances suggest request body." + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/InstancesSuggestResponse" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/instances/search": { + "post": { + "tags": [ + "TimeSeriesInstances" + ], + "operationId": "TimeSeriesInstances_Search", + "description": "Partial list of hits on search for time series instances based on instance attributes.", + "x-ms-examples": { + "SearchInstancesHierarchiesDefaultInputPage1": { + "$ref": "./examples/SearchInstancesHierarchiesDefaultInputPage1.json" + }, + "SearchInstancesHierarchiesDefaultInputPage2": { + "$ref": "./examples/SearchInstancesHierarchiesDefaultInputPage2.json" + }, + "SearchInstancesHierarchiesDefaultInputPage3": { + "$ref": "./examples/SearchInstancesHierarchiesDefaultInputPage3.json" + }, + "SearchInstancesUntilChildren": { + "$ref": "./examples/SearchInstancesUntilChildren.json" + }, + "SearchInstancesDefault": { + "$ref": "./examples/SearchInstancesDefault.json" + }, + "SearchInstancesExpandHierarchiesOnly": { + "$ref": "./examples/SearchInstancesExpandHierarchiesOnly.json" + }, + "SearchInstancesRecursive": { + "$ref": "./examples/SearchInstancesRecursive.json" + }, + "SearchInstancesOneLevel": { + "$ref": "./examples/SearchInstancesOneLevel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ContinuationToken" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchInstancesRequest" + }, + "description": "Time series instances search request body." + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful search response.", + "schema": { + "$ref": "#/definitions/SearchInstancesResponsePage" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/types": { + "get": { + "tags": [ + "TimeSeriesTypes" + ], + "operationId": "TimeSeriesTypes_List", + "description": "Gets time series types in pages.", + "x-ms-examples": { + "TypesListPage1": { + "$ref": "./examples/TypesListPage1.json" + }, + "TypesListPage2": { + "$ref": "./examples/TypesListPage2.json" + }, + "TypesListPage3": { + "$ref": "./examples/TypesListPage3.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ContinuationToken" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/GetTypesPage" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/types/$batch": { + "post": { + "tags": [ + "TimeSeriesTypes" + ], + "operationId": "TimeSeriesTypes_ExecuteBatch", + "description": "Executes a batch get, create, update, delete operation on multiple time series types.", + "x-ms-examples": { + "TypesBatchGetByIds": { + "$ref": "./examples/TypesBatchGetByIds.json" + }, + "TypesBatchGetByNames": { + "$ref": "./examples/TypesBatchGetByNames.json" + }, + "TypesBatchPut": { + "$ref": "./examples/TypesBatchPut.json" + }, + "TypesBatchDeleteByIds": { + "$ref": "./examples/TypesBatchDeleteByIds.json" + }, + "TypesBatchDeleteByNames": { + "$ref": "./examples/TypesBatchDeleteByNames.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TypesBatchRequest" + }, + "description": "Time series types batch request body." + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/TypesBatchResponse" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/hierarchies": { + "get": { + "tags": [ + "TimeSeriesHierarchies" + ], + "operationId": "TimeSeriesHierarchies_List", + "description": "Returns time series hierarchies definitions in pages.", + "x-ms-examples": { + "HierarchiesListPage1": { + "$ref": "./examples/HierarchiesListPage1.json" + }, + "HierarchiesListPage2": { + "$ref": "./examples/HierarchiesListPage2.json" + }, + "HierarchiesListPage3": { + "$ref": "./examples/HierarchiesListPage3.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ContinuationToken" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/GetHierarchiesPage" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + }, + "/timeseries/hierarchies/$batch": { + "post": { + "tags": [ + "TimeSeriesHierarchies" + ], + "operationId": "TimeSeriesHierarchies_ExecuteBatch", + "description": "Executes a batch get, create, update, delete operation on multiple time series hierarchy definitions.", + "x-ms-examples": { + "HierarchiesBatchGetByIds": { + "$ref": "./examples/HierarchiesBatchGetByIds.json" + }, + "HierarchiesBatchGetByNames": { + "$ref": "./examples/HierarchiesBatchGetByNames.json" + }, + "HierarchiesBatchPut": { + "$ref": "./examples/HierarchiesBatchPut.json" + }, + "HierarchiesBatchDeleteByIds": { + "$ref": "./examples/HierarchiesBatchDeleteByIds.json" + }, + "HierarchiesBatchDeleteByNames": { + "$ref": "./examples/HierarchiesBatchDeleteByNames.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HierarchiesBatchRequest" + }, + "description": "Time series hierarchies batch request body." + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ClientSessionId" + } + ], + "responses": { + "200": { + "description": "Successful operation.", + "schema": { + "$ref": "#/definitions/HierarchiesBatchResponse" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/TsiError" + }, + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "serverRequestId", + "type": "string", + "description": "Server-generated request ID. Can be used to contact support to investigate a request." + } + } + } + } + } + } + }, + "definitions": { + "AvailabilityResponse": { + "description": "Response of Get Availability operation. When environment has no data, availability property is null.", + "type": "object", + "properties": { + "availability": { + "description": "Event availability information when environment contains events. When environment has no data yet, this property is null or not present.", + "readOnly": true, + "$ref": "#/definitions/Availability" + } + } + }, + "Availability": { + "description": "Event availability information when environment contains events. Contains time range of events and approximate distribution of events over time.", + "type": "object", + "properties": { + "range": { + "description": "Minimum and maximum values of event timestamp ($ts) property.", + "$ref": "#/definitions/DateTimeRange", + "readOnly": true + }, + "intervalSize": { + "description": "Interval size for the returned distribution of the events. Returned interval is selected to return a reasonable number of points. All intervals are the same size. On the wire interval is specified in ISO-8601 duration format. One month is always converted to 30 days, and one year is always 365 days. Examples: 1 minute is \"PT1M\", 1 millisecond is \"PT0.001S\". For more information, see https://www.w3.org/TR/xmlschema-2/#duration", + "readOnly": true, + "type": "string", + "format": "duration" + }, + "distribution": { + "additionalProperties": { + "description": "Key value pair where key represents the interval denoted by the date time of the start of the interval and the value is the number of events in that interval.", + "readOnly": true, + "type": "integer", + "format": "int32" + } + } + } + }, + "GetEventSchemaRequest": { + "description": "Request to get the event schema of all events within a given search span.", + "type": "object", + "properties": { + "searchSpan": { + "description": "The range of time on which the query is executed. Cannot be null.", + "$ref": "#/definitions/DateTimeRange" + } + }, + "required": [ + "searchSpan" + ] + }, + "EventSchema": { + "description": "Event schema of all events within a given search span. Event schema is a set of property definitions. Properties are identified by both name and type. Different events can have properties with same name, but different type. Event schema may not be contain all persisted properties when there are too many properties.", + "type": "object", + "properties": { + "properties": { + "description": "A set of property definitions. When environment has no data, the returned array is empty.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/EventProperty" + } + } + } + }, + "QueryRequest": { + "type": "object", + "description": "Request to execute a time series query over events. Exactly one of \"getEvents\", \"getSeries\" or \"aggregateSeries\" must be set.", + "properties": { + "getEvents": { + "description": "Get Events query. Allows to retrieve raw events for a given Time Series ID and search span.", + "$ref": "#/definitions/GetEvents" + }, + "getSeries": { + "description": "Get Series query. Allows to retrieve time series of calculated variable values from events for a given Time Series ID and search span.", + "$ref": "#/definitions/GetSeries" + }, + "aggregateSeries": { + "description": "Aggregate Series query. Allows to calculate an aggregated time series from events for a given Time Series ID and search span.", + "$ref": "#/definitions/AggregateSeries" + } + } + }, + "GetEvents": { + "description": "Get Events query. Allows to retrieve raw events for a given Time Series ID and search span.", + "type": "object", + "properties": { + "timeSeriesId": { + "description": "A single Time Series ID value that uniquely identifies a single time series instance (e.g. a device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be null.", + "$ref": "#/definitions/TimeSeriesId" + }, + "searchSpan": { + "description": "The range of time on which the query is executed. Cannot be null.", + "$ref": "#/definitions/DateTimeRange" + }, + "filter": { + "description": "Optional top-level filter for the query which will be applied to all the variables in the query. Example: \"$event.Status.String='Good'\". Can be null.", + "$ref": "#/definitions/Tsx" + }, + "projectedProperties": { + "description": "Projected properties is an array of properties which you want to project. These properties must appear in the events; otherwise, they are not returned.", + "type": "array", + "items": { + "$ref": "#/definitions/EventProperty" + } + }, + "take": { + "description": "Maximum number of property values in the whole response set, not the maximum number of property values per page. Defaults to 10,000 when not set. Maximum value of take can be 250,000.", + "type": "integer", + "format": "int32" + } + }, + "required": [ + "timeSeriesId", + "searchSpan" + ] + }, + "GetSeries": { + "description": "Get Series query. Allows to retrieve time series of calculated variable values from events for a given Time Series ID and search span.", + "type": "object", + "properties": { + "timeSeriesId": { + "description": "A single Time Series ID value that uniquely identifies a single time series instance (e.g. a device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be null.", + "$ref": "#/definitions/TimeSeriesId" + }, + "searchSpan": { + "description": "The range of time on which the query is executed. Cannot be null.", + "$ref": "#/definitions/DateTimeRange" + }, + "filter": { + "description": "Top-level filter over the events that restricts the number of events being considered for computation. This filter is AND'ed with filter in each variable. Example: \"$event.Status.String='Good'\". Optional.", + "$ref": "#/definitions/Tsx" + }, + "projectedVariables": { + "description": "Selected variables that needs to be projected in the query result. When it is null or not set, all the variables from inlineVariables and time series type in the model are returned. Can be null.", + "type": "array", + "items": { + "type": "string" + } + }, + "inlineVariables": { + "description": "Optional inline variables apart from the ones already defined in the time series type in the model. When the inline variable name is the same name as in the model, the inline variable definition takes precedence. Can be null.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Variable" + } + }, + "take": { + "description": "Maximum number of property values in the whole response set, not the maximum number of property values per page. Defaults to 10,000 when not set. Maximum value of take can be 250,000.", + "type": "integer", + "format": "int32" + } + }, + "required": [ + "timeSeriesId", + "searchSpan" + ] + }, + "AggregateSeries": { + "description": "Aggregate Series query. Allows to calculate an aggregated time series from events for a given Time Series ID and search span.", + "type": "object", + "properties": { + "timeSeriesId": { + "description": "A single Time Series ID value that uniquely identifies a single time series instance (e.g. a device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be null.", + "$ref": "#/definitions/TimeSeriesId" + }, + "searchSpan": { + "description": "The range of time on which the query is executed. Cannot be null.", + "$ref": "#/definitions/DateTimeRange" + }, + "filter": { + "description": "Top-level filter over the events that restricts the number of events being considered for computation. This filter is AND'ed with filter in each variable. Example: \"$event.Status.String='Good'\". Optional.", + "$ref": "#/definitions/Tsx" + }, + "interval": { + "type": "string", + "format": "duration", + "description": "Interval size is specified in ISO-8601 duration format. All intervals are the same size. One month is always converted to 30 days, and one year is always 365 days. Examples: 1 minute is \"PT1M\", 1 millisecond is \"PT0.001S\". For more information, see https://www.w3.org/TR/xmlschema-2/#duration" + }, + "projectedVariables": { + "description": "This allows the user to optionally select the variables that needs to be projected. When it is null or not set, all the variables from inlineVariables and model are returned. Can be null.", + "type": "array", + "items": { + "type": "string" + } + }, + "inlineVariables": { + "description": "This allows the user the optionally define inline-variables apart from the ones already defined in the model. When the inline variable names have the same name as the model, the inline variable definition takes precedence. Can be null.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Variable" + } + } + }, + "required": [ + "timeSeriesId", + "searchSpan", + "interval" + ] + }, + "TimeSeriesId": { + "description": "A single Time Series ID value that is an array of primitive values that uniquely identifies a time series instance (e.g. a single device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be empty.", + "type": "array", + "items": { + "description": "A single Time Series ID value that is an array of primitive values that uniquely identifies a time series instance (e.g. a single device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be empty." + }, + "minItems": 1 + }, + "Tsx": { + "description": "Time series expression (TSX) written as a single string. Examples: \"$event.Status.String='Good'\", \"avg($event.Temperature)\". Refer to the documentation on how to write time series expressions.", + "type": "object", + "properties": { + "tsx": { + "description": "Time series expression (TSX) written as a single string. Examples: \"$event.Status.String='Good'\", \"avg($event.Temperature)\". Refer to the documentation on how to write time series expressions.", + "type": "string" + } + }, + "required": [ + "tsx" + ] + }, + "Interpolation": { + "description": "The interpolation operation to be performed on the raw data points. Currently, only sampling of interpolated time series is allowed. Allowed aggregate function - eg: left($value). Can be null if no interpolation needs to be applied.", + "type": "object", + "properties": { + "kind": { + "description": "The type of interpolation technique : \"Linear\" or \"Step\".", + "type": "string", + "enum": [ + "Linear", + "Step" + ], + "x-ms-enum": { + "name": "InterpolationKind", + "modelAsString": true + } + }, + "boundary": { + "description": "The time range to the left and right of the search span to be used for Interpolation. This is helpful in scenarios where the data points are missing close to the start or end of the input search span. Can be null.", + "type": "object", + "properties": { + "span": { + "type": "string", + "format": "duration" + } + } + } + } + }, + "DateTimeRange": { + "description": "The range of time. Cannot be null or negative.", + "type": "object", + "properties": { + "from": { + "description": "Start timestamp of the time range. Start timestamp is inclusive when used in time series query requests. Events that have this timestamp are included.", + "type": "string", + "format": "date-time" + }, + "to": { + "description": "End timestamp of the time range. End timestamp is exclusive when used in time series query requests. Events that match this timestamp are excluded. Note that end timestamp is inclusive when returned by Get Availability (meaning that there is an event with this exact \"to\" timestamp).", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "from", + "to" + ] + }, + "NumericVariable": { + "description": "Numeric variable represents a single continuous numeric signal that can be reconstructed using interpolation.", + "x-ms-discriminator-value": "numeric", + "allOf": [ + { + "$ref": "#/definitions/Variable" + }, + { + "type": "object", + "properties": { + "value": { + "description": "Value time series expression is used to represent the value of the signal that is going to be aggregated or interpolated. For example, temperature values from the event is represented like this: \"$event.Temperature.Double\".", + "$ref": "#/definitions/Tsx" + }, + "interpolation": { + "$ref": "#/definitions/Interpolation" + }, + "aggregation": { + "description": "Aggregation time series expression when kind is \"numeric\" is used to represent the aggregation that needs to be performed on the $value expression. This requires $value to be specified and can only use $value inside the aggregate functions. For example, aggregation for calculating minimum of the $value is written as: \"min($value)\".", + "$ref": "#/definitions/Tsx" + } + } + } + ], + "required": [ + "kind", + "value", + "aggregation" + ] + }, + "AggregateVariable": { + "description": "Aggregate variable represents any aggregation calculation. Aggregate Variables does not support interpolation.", + "x-ms-discriminator-value": "aggregate", + "allOf": [ + { + "$ref": "#/definitions/Variable" + }, + { + "type": "object", + "properties": { + "aggregation": { + "description": "Aggregation time series expression when kind is \"aggregate\" is used to represent the aggregation that needs to be performed directly using event properties like \"$event.Temperature\". For example, aggregation for calculating range of temperature changes can be written as: \"max($event.Temperature)-min($event.Temperature)\".", + "$ref": "#/definitions/Tsx" + } + } + } + ], + "required": [ + "kind", + "aggregation" + ] + }, + "CategoricalVariable": { + "description": "Categorical variable represents signal that needs to be analyzed based on the count or duration of occurrence of limited set of defined values.", + "x-ms-discriminator-value": "categorical", + "allOf": [ + { + "$ref": "#/definitions/Variable" + }, + { + "type": "object", + "properties": { + "value": { + "description": "Value time series expression is used to represent the value of the signal that is going to be categorized. It can evaluate to only 'String' or 'Long' type for categorical variables.", + "$ref": "#/definitions/Tsx" + }, + "interpolation": { + "description": "Categorical variable supports only 'step' interpolation.", + "$ref": "#/definitions/Interpolation" + }, + "categories": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesAggregateCategory" + } + }, + "defaultCategory": { + "$ref": "#/definitions/TimeSeriesDefaultCategory" + } + } + } + ], + "required": [ + "kind", + "value", + "defaultCategory" + ] + }, + "TimeSeriesAggregateCategory": { + "description": "Category used in categorical variables. A category is defined by 'label' and the 'values' that are assigned this label.", + "type": "object", + "properties": { + "label": { + "description": "The name of the category which will be used in constructing the output variable names.", + "type": "string" + }, + "values": { + "description": "The list of values that a category maps to. Can be either a unique list of string or list of long.", + "type": "array", + "items": { + "type": "object" + } + } + }, + "required": [ + "label", + "values" + ] + }, + "TimeSeriesDefaultCategory": { + "description": "Represents the default category.", + "type": "object", + "properties": { + "label": { + "description": "The name of the default category which will be assigned to the values that does not match any of those that are defined in the 'categories'.", + "type": "string" + } + }, + "required": [ + "label" + ] + }, + "Variable": { + "description": "Variables are named calculations over values from the events. Time Series Insights variable definitions contain formula and computation rules. Variables are stored in the type definition in Time Series Model and can be provided inline via Query APIs to override the stored definition.", + "type": "object", + "discriminator": "kind", + "properties": { + "kind": { + "description": "Allowed \"kind\" values are - \"numeric\" or \"aggregate\". While \"numeric\" allows you to specify value of the reconstructed signal and the expression to aggregate them, the \"aggregate\" kind lets you directly aggregate on the event properties without specifying value.", + "type": "string" + }, + "filter": { + "description": "Filter over the events that restricts the number of events being considered for computation. Example: \"$event.Status.String='Good'\". Optional.", + "$ref": "#/definitions/Tsx" + } + }, + "required": [ + "kind" + ] + }, + "QueryResultPage": { + "description": "A single page of query results. If query has not finished yet, a page will have continuation token set. In this case, to get the next page of results, send the same request again with continuation token parameter. If query has completed, the continuation token is null. It is also possible to get an empty page with only continuation token set when no query results have been computed yet. If paging has completed (continuation token is null), then timestamps and properties may be empty if there is no data to return.", + "allOf": [ + { + "$ref": "#/definitions/PagedResponse" + }, + { + "type": "object", + "properties": { + "timestamps": { + "description": "The timestamps of the values of the time series. If an aggregation over intervals is used, timestamps represent the start of corresponding intervals. If events are retrieved, timestamps are values of timestamp $ts property of events. Can be null if server was unable to fill the page in this request, or can be empty if there are no more objects when continuation token is null.", + "readOnly": true, + "type": "array", + "items": { + "type": "string", + "format": "date-time" + } + }, + "properties": { + "description": "Collection of time series properties and values for each of the timestamps. Can be null if server was unable to fill the page in this request, or can be empty if there are no more objects when continuation token is null.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PropertyValues" + } + }, + "progress": { + "description": "Approximate progress of the query in percentage. It can be between 0 and 100. When the continuation token in the response is null, the progress is expected to be 100.", + "readOnly": true, + "type": "number", + "format": "double" + } + } + } + ] + }, + "PropertyValues": { + "description": "Values of a single property corresponding to the timestamps. May contain nulls. Type of values matches the type of property.", + "allOf": [ + { + "$ref": "#/definitions/EventProperty" + }, + { + "type": "object", + "properties": { + "values": { + "description": "Values of a single property corresponding to the timestamps. May contain nulls. Type of values matches the type of property.", + "type": "array", + "items": {} + } + } + } + ] + }, + "GetInstancesPage": { + "description": "Partial list of time series instances returned in a single request.", + "allOf": [ + { + "$ref": "#/definitions/PagedResponse" + }, + { + "type": "object", + "properties": { + "instances": { + "description": "Partial list of time series instances returned in a single request. Can be empty if server was unable to fill the page in this request, or there is no more objects when continuation token is null.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesInstance" + } + } + } + } + ] + }, + "TimeSeriesInstance": { + "description": "Time series instances are the time series themselves. In most cases, the deviceId or assetId is the unique identifier of the asset in the environment. Instances have descriptive information associated with them called instance fields. At a minimum, instance fields include hierarchy information. They can also include useful, descriptive data like the manufacturer, operator, or the last service date.", + "type": "object", + "properties": { + "timeSeriesId": { + "description": "Time Series ID that uniquely identifies the instance. It matches Time Series ID properties in an environment. Immutable, never null.", + "$ref": "#/definitions/TimeSeriesId" + }, + "typeId": { + "description": "This represents the type that this instance belongs to. Never null.", + "type": "string" + }, + "name": { + "description": "Optional name of the instance which is unique in an environment. Names acts as a mutable alias or display name of the time series instance. Mutable, may be null.", + "type": "string" + }, + "description": { + "description": "This optional field contains description about the instance.", + "type": "string" + }, + "hierarchyIds": { + "description": "Set of time series hierarchy IDs that the instance belong to. May be null.", + "type": "array", + "items": { + "type": "string" + } + }, + "instanceFields": { + "description": "Set of key-value pairs that contain user-defined instance properties. May be null.", + "type": "object", + "additionalProperties": {} + } + }, + "required": [ + "timeSeriesId", + "typeId" + ] + }, + "InstancesBatchRequest": { + "description": "Request to perform a single operation on a batch of instances. Exactly one of \"get\", \"put\", \"update\" or \"delete\" must be set.", + "type": "object", + "properties": { + "get": { + "description": "Time series IDs or names of time series instances to return.", + "$ref": "#/definitions/InstancesRequestBatchGetOrDelete" + }, + "put": { + "description": "Time series instances to be created or updated.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesInstance" + } + }, + "update": { + "description": "Time series instances to be updated onlRequest to perform a single operation on a batch of instances. y. If instance does not exist, an error is returned.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesInstance" + } + }, + "delete": { + "description": "Time series IDs or names of time series instances to delete.", + "$ref": "#/definitions/InstancesRequestBatchGetOrDelete" + } + } + }, + "InstancesRequestBatchGetOrDelete": { + "description": "Request to get or delete instances by time series IDs or time series names. Exactly one of \"timeSeriesIds\" or \"names\" must be set.", + "type": "object", + "properties": { + "timeSeriesIds": { + "description": "List of time series IDs of the time series instances to return or delete.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesId" + } + }, + "names": { + "description": "List of names of the time series instances to return or delete.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "InstancesBatchResponse": { + "description": "Response of a single operation on a batch of instances. Only one of \"get\", \"put\", \"update\" or \"delete\" will be set based on the request.", + "type": "object", + "properties": { + "get": { + "description": "List of instance or error objects corresponding by position to the \"get\" array in the request. Instance object is set when operation is successful and error object is set when operation is unsuccessful.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceOrError" + } + }, + "put": { + "description": "List of error objects corresponding by position to the \"put\" array in the request. Error object is set when operation is unsuccessful.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceOrError" + } + }, + "update": { + "description": "List of error objects corresponding by position to the \"update\" array in the request. Instance object is set when operation is successful and error object is set when operation is unsuccessful.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceOrError" + } + }, + "delete": { + "description": "List of error objects corresponding by position to the \"delete\" array in the request. Null means the instance has been deleted, or did not exist. Error object is set when operation is unsuccessful (e.g. when there are events associated with this time series instance).", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TsiErrorBody" + } + } + } + }, + "InstanceOrError": { + "description": "Result of a batch operation on a particular time series instance. Instance object is set when operation is successful (except put operation) and error object is set when operation is unsuccessful.", + "type": "object", + "properties": { + "instance": { + "description": "Time series instance object - set when the operation is successful (except put operation).", + "readOnly": true, + "$ref": "#/definitions/TimeSeriesInstance" + }, + "error": { + "description": "Error object - set when the operation is unsuccessful.", + "readOnly": true, + "$ref": "#/definitions/TsiErrorBody" + } + } + }, + "GetTypesPage": { + "description": "Partial list of time series types returned in a single request.", + "allOf": [ + { + "$ref": "#/definitions/PagedResponse" + }, + { + "type": "object", + "properties": { + "types": { + "description": "Partial list of time series types returned in a single request. Can be empty if server was unable to fill the page with more types in this request, or there is no more types when continuation token is null.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesType" + } + } + } + } + ] + }, + "TimeSeriesType": { + "description": "Time series type defines variables or formulas for doing computation on events associated with time series instances. Each time series instance is associated with exactly one type. A type can have one or more variables. For example, a time series instance might be of type Temperature Sensor, which consists of the variables avg temperature, min temperature, and max temperature.", + "type": "object", + "properties": { + "id": { + "description": "Case-sensitive unique type identifier that is immutable. Can be null on create or update requests, and then server generates the ID. Not null on get and delete operations.", + "type": "string" + }, + "name": { + "description": "User-given unique name for the type. Mutable, not null.", + "type": "string" + }, + "description": { + "description": "Description of the type. May be null.", + "type": "string" + }, + "variables": { + "description": "Different variables associated with the type. Not empty, not null.", + "additionalProperties": { + "$ref": "#/definitions/Variable" + } + } + }, + "required": [ + "name", + "variables" + ] + }, + "TypesBatchRequest": { + "description": "Request to perform a single operation on a batch of time series types. Exactly one of \"get\", \"put\" or \"delete\" must be set.", + "type": "object", + "properties": { + "get": { + "description": "Definition of what time series types to return.", + "$ref": "#/definitions/TypesRequestBatchGetOrDelete" + }, + "put": { + "description": "Definition of what time series types to update or create.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesType" + } + }, + "delete": { + "description": "Definition of what time series types to delete.", + "$ref": "#/definitions/TypesRequestBatchGetOrDelete" + } + } + }, + "TypesRequestBatchGetOrDelete": { + "description": "Request to get or delete time series types by IDs or type names. Exactly one of \"typeIds\" or \"names\" must be set.", + "type": "object", + "properties": { + "typeIds": { + "description": "List of IDs of time series types to return or delete.", + "type": "array", + "items": { + "type": "string" + } + }, + "names": { + "description": "List of names of time series types to return or delete.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TypesBatchResponse": { + "description": "Response of a single operation on a batch of time series types. Exactly one of \"get\", \"put\" or \"delete\" will be set.", + "type": "object", + "properties": { + "get": { + "description": "List of types or error objects corresponding by position to the \"get\" array in the request. Type object is set when operation is successful and error object is set when operation is unsuccessful.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesTypeOrError" + } + }, + "put": { + "description": "List of types or error objects corresponding by position to the \"put\" array in the request. Type object is set when operation is successful and error object is set when operation is unsuccessful.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesTypeOrError" + } + }, + "delete": { + "description": "List of error objects corresponding by position to the \"delete\" array in the request - null when the operation is successful.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TsiErrorBody" + } + } + } + }, + "TimeSeriesTypeOrError": { + "description": "Result of a batch operation on a particular time series type. Type object is set when operation is successful and error object is set when operation is unsuccessful.", + "type": "object", + "properties": { + "timeSeriesType": { + "description": "Time series type object - set when the operation is successful.", + "readOnly": true, + "$ref": "#/definitions/TimeSeriesType" + }, + "error": { + "description": "Error object - set when the operation is unsuccessful.", + "readOnly": true, + "$ref": "#/definitions/TsiErrorBody" + } + } + }, + "GetHierarchiesPage": { + "description": "Partial list of time series hierarchies returned in a single request.", + "allOf": [ + { + "$ref": "#/definitions/PagedResponse" + }, + { + "type": "object", + "properties": { + "hierarchies": { + "description": "Partial list of time series hierarchies returned in a single request. Can be empty if server was unable to fill the page in this request, or there is no more objects when continuation token is null.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesHierarchy" + } + } + } + } + ] + }, + "TimeSeriesHierarchy": { + "description": "Time series hierarchy organizes time series instances into a tree.", + "type": "object", + "properties": { + "id": { + "description": "Case-sensitive unique hierarchy identifier. Can be null while creating hierarchy objects and then server generates the id, not null on get and delete operations.", + "type": "string" + }, + "name": { + "description": "User-given unique name for the type. It is mutable and not null.", + "type": "string" + }, + "source": { + "description": "Definition of how time series hierarchy tree levels are created.", + "type": "object", + "properties": { + "instanceFieldNames": { + "description": "List of instance field names that must be set in all time series instances that belong to this hierarchy. The order of the instance fields defines the levels in the hierarchy.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "required": [ + "name", + "source" + ] + }, + "HierarchiesBatchRequest": { + "description": "Request to perform a single operation on a batch of hierarchies. Exactly one of \"get\", \"put\" or \"delete\" must be set.", + "type": "object", + "properties": { + "get": { + "description": "\"get\" should be set while fetching specific hierarchies either by IDs or names.", + "$ref": "#/definitions/HierarchiesRequestBatchGetDelete" + }, + "put": { + "description": "\"put\" should be set while creating or updating hierarchies.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesHierarchy" + } + }, + "delete": { + "description": "\"delete\" should be set while fetching specific hierarchies either by IDs or names.", + "$ref": "#/definitions/HierarchiesRequestBatchGetDelete" + } + } + }, + "HierarchiesRequestBatchGetDelete": { + "description": "Request to get or delete multiple time series hierarchies. Exactly one of \"hierarchyIds\" or \"names\" must be set.", + "type": "object", + "properties": { + "hierarchyIds": { + "description": "List of hierarchy IDs.", + "type": "array", + "items": { + "type": "string" + } + }, + "names": { + "description": "List of hierarchy names.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HierarchiesBatchResponse": { + "description": "Response of a single operation on a batch of time series hierarchies. Only one of \"get\", \"put\" or \"delete\" will be set.", + "type": "object", + "properties": { + "get": { + "description": "List of hierarchy or error objects corresponding by position to the \"get\" array in the request. Hierarchy object is set when operation is successful and error object is set when operation is unsuccessful.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesHierarchyOrError" + } + }, + "put": { + "description": "List of hierarchy or error object corresponding by position to the \"put\" array in the request. Hierarchy object is set when operation is successful and error object is set when operation is unsuccessful.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesHierarchyOrError" + } + }, + "delete": { + "description": "List of error objects corresponding by position to the \"delete\" array in the request - null when the operation is successful.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TsiErrorBody" + } + } + } + }, + "TimeSeriesHierarchyOrError": { + "description": "Result of a batch operation on a particular time series hierarchy. Hierarchy is set when operation is successful and error object is set when operation is unsuccessful.", + "type": "object", + "properties": { + "hierarchy": { + "description": "Time series hierarchy object - set when the operation is successful.", + "readOnly": true, + "$ref": "#/definitions/TimeSeriesHierarchy" + }, + "error": { + "description": "Error object - set when the operation is unsuccessful.", + "readOnly": true, + "$ref": "#/definitions/TsiErrorBody" + } + } + }, + "ModelSettingsResponse": { + "description": "Response containing full time series model settings which include model name, Time Series ID properties and default type ID.", + "type": "object", + "properties": { + "modelSettings": { + "description": "Model settings including model name, Time Series ID properties and default type ID.", + "readOnly": true, + "$ref": "#/definitions/TimeSeriesModelSettings" + } + } + }, + "TimeSeriesModelSettings": { + "description": "Time series model settings including model name, Time Series ID properties and default type ID.", + "type": "object", + "properties": { + "name": { + "description": "Time series model display name which is shown in the UX. Examples: \"Temperature Sensors\", \"MyDevices\".", + "readOnly": true, + "type": "string" + }, + "timeSeriesIdProperties": { + "description": "Time series ID properties defined during environment creation.", + "readOnly": true, + "$ref": "#/definitions/TimeSeriesIdProperties" + }, + "defaultTypeId": { + "description": "Default type ID of the model that new time series instances will automatically belong to.", + "readOnly": true, + "type": "string" + } + } + }, + "TimeSeriesIdProperties": { + "description": "Time series ID properties defined during environment creation.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesIdProperty" + }, + "minItems": 1 + }, + "TimeSeriesIdProperty": { + "description": "A definition of a single property that can be used in time series ID properties defined during environment creation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the property.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "The type of the property. Currently, only \"String\" is supported.", + "readOnly": true, + "type": "string", + "enum": [ + "String" + ], + "x-ms-enum": { + "name": "TimeSeriesIdPropertyTypes", + "modelAsString": true + } + } + } + }, + "UpdateModelSettingsRequest": { + "description": "Request to update model settings. One of \"name\" or \"defaultTypeId\" must be set.", + "type": "object", + "properties": { + "name": { + "description": "Model display name which is shown in the UX and mutable by the user. Initial value is \"DefaultModel\".", + "type": "string" + }, + "defaultTypeId": { + "description": "Default type id of the model that new instances will automatically belong to.", + "type": "string" + } + } + }, + "SearchInstancesRequest": { + "description": "Request to execute a search query against time series instances and return matching time series instances.", + "type": "object", + "properties": { + "searchString": { + "description": "Query search string that will be matched to the attributes of time series instances. Example: \"floor 100\". Case-insensitive, must be present, but can be empty string.", + "type": "string" + }, + "path": { + "description": "Filter on hierarchy path of time series instances. Path is represented as array of string path segments. First element should be hierarchy name. Example: [\"Location\", \"California\"]. Optional, case sensitive, never empty and can be null.", + "type": "array", + "items": { + "type": "string" + } + }, + "instances": { + "description": "Parameters of how to return time series instances. Can be null. When both the instances and hierarchies parameters are null, the instances are returned in the results based on the default values of parameters, and hierarchies are not returned.", + "type": "object", + "$ref": "#/definitions/SearchInstancesParameters" + }, + "hierarchies": { + "description": "Parameters of how to return time series instance hierarchies. If null, hierarchies are not returned. If instances parameter is null and hierarchies parameter is not null, only hierarchies with no instances are returned.", + "type": "object", + "$ref": "#/definitions/SearchInstancesHierarchiesParameters" + } + }, + "required": [ + "searchString" + ] + }, + "SearchInstancesParameters": { + "description": "Parameters of how to return time series instances by search instances call.", + "type": "object", + "properties": { + "recursive": { + "description": "Definition of which instances are returned. When recursive is set to 'true', all instances that have the path that starts with path the path parameter are returned. When recursive is set to 'false', only instances that have the path that exactly matches the path parameter are returned. Using recursive search allows to implement search user experience, while using non-recursive search allows to implement navigation experience. Optional, default is 'true'.", + "type": "boolean" + }, + "sort": { + "description": "Definition of how time series instances are sorted before being returned by search instances call - relevance or alphabetical. Optional, default is \"Rank\".", + "type": "object", + "$ref": "#/definitions/InstancesSortParameter" + }, + "highlights": { + "description": "Definition of highlighted search results or not. When it is set to 'true', the highlighted search results are returned. When it is set to 'false', the highlighted search results are not returned. Default is 'true'.", + "type": "boolean" + }, + "pageSize": { + "description": "Maximum number of instances expected in each page of the result. Defaults to 10 when not set. Ranges from 1 to 100. If there are results beyond the page size, the user can use the continuation token to fetch the next page.", + "type": "integer", + "format": "int32" + } + } + }, + "InstancesSortParameter": { + "description": "Definition of how time series instances are sorted before being returned by search instances call.", + "type": "object", + "properties": { + "by": { + "description": "Value to use for sorting of the time series instances before being returned by search instances call. When it is set to 'Rank', the returned instances are sorted based on the relevance. When it is set to 'DisplayName', the returned results are sorted based on the display name. Display name is the name of the instance if it exists, otherwise, display name is the time series ID. Default is 'Rank'.", + "type": "string", + "enum": [ + "Rank", + "DisplayName" + ], + "x-ms-enum": { + "name": "InstancesSortBy", + "modelAsString": true + } + } + } + }, + "SearchInstancesHierarchiesParameters": { + "description": "Parameter of how to return time series instance hierarchies by search instances call.", + "type": "object", + "properties": { + "expand": { + "description": "Definition of whether to expand hierarchy nodes in the same search instances call. Optional, default is 'UntilChildren'.", + "type": "object", + "$ref": "#/definitions/HierarchiesExpandParameter" + }, + "sort": { + "description": "Definition of sorting of hierarchy nodes. Optional, default is 'CumulativeInstanceCount'.", + "type": "object", + "$ref": "#/definitions/HierarchiesSortParameter" + }, + "pageSize": { + "description": "Maximum number of hierarchies in the same level to return in the same page. Optional, default is 10 when not set. Range is from 1 to 100. If there are results beyond the page size, the continuation token can be used to fetch the next page.", + "type": "integer", + "format": "int32" + } + } + }, + "HierarchiesExpandParameter": { + "description": "Definition of whether to expand hierarchy nodes in the same search instances call.", + "type": "object", + "properties": { + "kind": { + "description": "Kind of the expansion of hierarchy nodes. When it is set to 'UntilChildren', the hierarchy nodes are expanded recursively until there is more than one child. When it is set to 'OneLevel', the hierarchies are expanded only at the single level matching path search instances parameter. Optional, default is 'UntilChildren'.", + "type": "string", + "enum": [ + "UntilChildren", + "OneLevel" + ], + "x-ms-enum": { + "name": "HierarchiesExpandKind", + "modelAsString": true + } + } + } + }, + "HierarchiesSortParameter": { + "description": "Definition of sorting of hierarchy nodes.", + "type": "object", + "properties": { + "by": { + "description": "Value to use for hierarchy node sorting. When it is set to 'CumulativeInstanceCount', the returned hierarchies are sorted based on the total instances belonging to the hierarchy node and its child hierarchy nodes. When it is set to 'Name', the returned hierarchies are sorted based on the hierarchy name. Optional, default is 'CumulativeInstanceCount'.", + "type": "string", + "enum": [ + "CumulativeInstanceCount", + "Name" + ], + "x-ms-enum": { + "name": "HierarchiesSortBy", + "modelAsString": true + } + } + } + }, + "SearchInstancesResponsePage": { + "description": "Single page of the search results.", + "type": "object", + "properties": { + "instances": { + "description": "The instances matching the query based on the input. May be empty or null.", + "readOnly": true, + "type": "object", + "$ref": "#/definitions/SearchInstancesResponse" + }, + "hierarchyNodes": { + "description": "The hierarchy nodes which contains the instances matching the query based on the input. May be empty or null.", + "readOnly": true, + "type": "object", + "$ref": "#/definitions/SearchHierarchyNodesResponse" + } + } + }, + "SearchInstancesResponse": { + "description": "The instances matching the query based on the input. May be empty or null.", + "type": "object", + "properties": { + "hits": { + "description": "The list of instances matching the query based on the input. May be empty.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceHit" + } + }, + "hitCount": { + "description": "Total number of instances matching the query based on the input.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "continuationToken": { + "description": "If returned, this means that current results represent a partial result. Continuation token allows to get the next page of results. To get the next page of query results, send the same request with continuation token parameter in \"x-ms-continuation\" HTTP header.", + "readOnly": true, + "type": "string" + } + } + }, + "SearchHierarchyNodesResponse": { + "description": "The hierarchy nodes which contains the instances matching the query based on the input. May be empty or null.", + "type": "object", + "properties": { + "hits": { + "description": "The list of hierarchy nodes which contains the instances matching the query based on the input. May be empty.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/HierarchyHit" + } + }, + "hitCount": { + "description": "Total number of hierarchy nodes which contains the instances matching the query based on the input.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "continuationToken": { + "description": "If returned, this means that current results represent a partial result. Continuation token allows to get the next page of results. To get the next page of query results, send the same request with continuation token parameter in \"x-ms-continuation\" HTTP header.", + "readOnly": true, + "type": "string" + } + } + }, + "InstanceHit": { + "description": "Time series instance that is returned by instances search call. Returned instance matched the search request and contains highlighted text to be displayed to the user if it is set to 'true'.", + "type": "object", + "properties": { + "timeSeriesId": { + "description": "Time series ID of the time series instance that matched the search request.", + "readOnly": true, + "type": "array", + "$ref": "#/definitions/TimeSeriesId" + }, + "name": { + "description": "Name of the time series instance that matched the search request. May be null.", + "readOnly": true, + "type": "string" + }, + "typeId": { + "description": "Represents the type that time series instance which matched the search request belongs to. Never null.", + "readOnly": true, + "type": "string" + }, + "hierarchyIds": { + "description": "List of time series hierarchy IDs that time series instance which matched the search request belongs to. Cannot be used to lookup hierarchies. May be null.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "highlights": { + "description": "Highlighted text of time series instance to be displayed to the user. Highlighting inserts and tags in the portions of text that matched the search string. Do not use any of the highlighted properties to do further API calls.", + "readOnly": true, + "type": "object", + "properties": { + "timeSeriesId": { + "description": "List of highlighted string values of Time Series ID for displaying. Cannot be used to lookup instance.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "typeName": { + "description": "Highlighted time series type name that this instance belongs to.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Highlighted name of time series instance. May be null.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Highlighted description of time series instance. May be null.", + "readOnly": true, + "type": "string" + }, + "hierarchyIds": { + "description": "List of highlighted time series hierarchy IDs that time series instance belongs to. Cannot be used to lookup hierarchies. May be null.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "hierarchyNames": { + "description": "List of highlighted time series hierarchy names that time series instance belongs to. Cannot be used to lookup hierarchies. May be null.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "instanceFieldNames": { + "description": "List of highlighted time series instance field names. May be null.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "instanceFieldValues": { + "description": "List of highlighted time series instance field values. May be null.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "HierarchyHit": { + "description": "The hierarchy node which contains the instances matching the query based on the input. May be empty or null.", + "type": "object", + "properties": { + "name": { + "description": "Name of the hierarchy node. May be empty, cannot be null.", + "readOnly": true, + "type": "string" + }, + "cumulativeInstanceCount": { + "description": "Total number of instances that belong to this node and it's subtrees matching the query.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "hierarchyNodes": { + "description": "Child hierarchy nodes of this node. May be empty or null.", + "readOnly": true, + "type": "object", + "$ref": "#/definitions/SearchHierarchyNodesResponse" + } + } + }, + "InstancesSuggestRequest": { + "description": "Request to get search string suggestions for time series instances search based on prefix text.", + "type": "object", + "properties": { + "searchString": { + "description": "Search string for which suggestions are required. Empty is allowed, but not null.", + "type": "string" + }, + "take": { + "description": "Maximum number of suggestions expected in the result. Defaults to 10 when not set.", + "type": "integer", + "format": "int32" + } + }, + "required": [ + "searchString" + ] + }, + "InstancesSuggestResponse": { + "description": "Response of getting suggestions for search for time series instances.", + "type": "object", + "properties": { + "suggestions": { + "description": "List of instance suggestions for searching time series models.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstancesSearchStringSuggestion" + } + } + } + }, + "InstancesSearchStringSuggestion": { + "description": "Suggested search string to be used for further search for time series instances.", + "type": "object", + "properties": { + "searchString": { + "description": "Suggested search string. Can be used for further search for time series instances.", + "readOnly": true, + "type": "string" + }, + "highlightedSearchString": { + "description": "Highlighted suggested search string to be displayed to the user. Highlighting inserts and tags in the portions of text that matched the search string. Do not use highlighted search string to do further search calls.", + "readOnly": true, + "type": "string" + } + } + }, + "PagedResponse": { + "description": "Partial result that has continuation token to fetch the next partial result.", + "type": "object", + "properties": { + "continuationToken": { + "description": "If returned, this means that current results represent a partial result. Continuation token allows to get the next page of results. To get the next page of query results, send the same request with continuation token parameter in \"x-ms-continuation\" HTTP header.", + "readOnly": true, + "type": "string" + } + } + }, + "EventProperty": { + "description": "Property of an event that is either stored or computed. Properties are identified by both name and type. Different events can have properties with same name, but different type.", + "type": "object", + "properties": { + "name": { + "description": "The name of the property.", + "type": "string" + }, + "type": { + "description": "The type of the property.", + "$ref": "#/definitions/PropertyType" + } + } + }, + "PropertyType": { + "description": "The type of the property that is either stored in events or computed by a calculation.", + "type": "string", + "enum": [ + "Bool", + "DateTime", + "Double", + "String", + "TimeSpan", + "Long" + ], + "x-ms-enum": { + "name": "PropertyTypes", + "modelAsString": true + } + }, + "TsiError": { + "description": "Information about an API error.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/TsiErrorBody" + } + }, + "x-ms-external": false + }, + "TsiErrorBody": { + "description": "A particular API error with an error code and a message.", + "type": "object", + "properties": { + "code": { + "description": "Language-independent, human-readable string that defines a service-specific error code. This code serves as a more specific indicator for the HTTP error code specified in the response. Can be used to programmatically handle specific error cases.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Human-readable, language-independent representation of the error. It is intended as an aid to developers and is not suitable for exposure to end users.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Target of the particular error (for example, the name of the property in error). May be null.", + "readOnly": true, + "type": "string" + }, + "innerError": { + "description": "Contains more specific error that narrows down the cause. May be null.", + "readOnly": true, + "$ref": "#/definitions/TsiErrorBody" + }, + "details": { + "description": "Contains additional error information. May be null.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/TsiErrorDetails" + } + } + }, + "additionalProperties": true, + "x-ms-external": false + }, + "TsiErrorDetails": { + "description": "Additional error information.", + "type": "object", + "properties": { + "code": { + "description": "Language-independent, human-readable string that defines a service-specific error code. This code serves as a more specific indicator for the HTTP error code specified in the response. Can be used to programmatically handle specific error cases.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Human-readable, language-independent representation of the error. It is intended as an aid to developers and is not suitable for exposure to end users.", + "readOnly": true, + "type": "string" + } + }, + "additionalProperties": true, + "x-ms-external": false + } + }, + "parameters": { + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "default": "2020-07-31", + "type": "string", + "description": "Version of the API to be used with the client request. Currently supported version is \"2020-07-31\"." + }, + "StoreType": { + "name": "storeType", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "For the environments with warm store enabled, the query can be executed either on the 'WarmStore' or 'ColdStore'. This parameter in the query defines which store the query should be executed on. If not defined, the query will be executed on the cold store." + }, + "EnvironmentFqdn": { + "name": "environmentFqdn", + "in": "path", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client", + "description": "Per environment FQDN, for example 10000000-0000-0000-0000-100000000109.env.timeseries.azure.com. You can obtain this domain name from the response of the Get Environments API, Azure portal, or Azure Resource Manager." + }, + "ContinuationToken": { + "name": "x-ms-continuation", + "x-ms-client-name": "continuationToken", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Continuation token from previous page of results to retrieve the next page of the results in calls that support pagination. To get the first page results, specify null continuation token as parameter value. Returned continuation token is null if all results have been returned, and there is no next page of results." + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "clientRequestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional client request ID. Service records this value. Allows the service to trace operation across services, and allows the customer to contact support regarding a particular request." + }, + "ClientSessionId": { + "name": "x-ms-client-session-id", + "x-ms-client-name": "clientSessionId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Optional client session ID. Service records this value. Allows the service to trace a group of related operations across services, and allows the customer to contact support regarding a particular group of requests." + } + } +} diff --git a/specification/timeseriesinsights/data-plane/readme.md b/specification/timeseriesinsights/data-plane/readme.md index ed219508d482..86b95fdaf588 100644 --- a/specification/timeseriesinsights/data-plane/readme.md +++ b/specification/timeseriesinsights/data-plane/readme.md @@ -28,16 +28,16 @@ These are the global settings for Azure Time Series Insights Data Plane API. openapi-type: data-plane add-credentials: true license-header: MICROSOFT_MIT -tag: package-2018-11-01-preview +tag: package-2020-07-31 ``` -### Tag: package-2018-11-01-preview +### Tag: package-2020-07-31 -These settings apply only when `--tag=package-2018-11-01-preview` is specified on the command line. +These settings apply only when `--tag=package-2020-07-31` is specified on the command line. -``` yaml $(tag) == 'package-2018-11-01-preview' +``` yaml $(tag) == 'package-2020-07-31' input-file: -- Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json +- Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json ``` ## Suppression @@ -83,7 +83,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: - - $(this-folder)/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json + - $(this-folder)/Microsoft.TimeSeriesInsights/stable/2020-07-31/timeseriesinsights.json ``` diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesCreate.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesCreate.json new file mode 100644 index 000000000000..745db3d2b2b0 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesCreate.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "accessPolicyName": "ap1", + "parameters": { + "properties": { + "principalObjectId": "aGuid", + "roles": [ + "Reader" + ], + "description": "some description" + } + }, + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/accessPolicies/ap1", + "name": "ap1", + "type": "Microsoft.TimeSeriesInsights/Environments/AccessPolicies", + "properties": { + "principalObjectId": "aGuid", + "roles": [ + "Reader" + ], + "description": "some description" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/accessPolicies/ap1", + "name": "ap1", + "type": "Microsoft.TimeSeriesInsights/Environments/AccessPolicies", + "properties": { + "principalObjectId": "aGuid", + "roles": [ + "Reader" + ], + "description": "some description" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesDelete.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesDelete.json new file mode 100644 index 000000000000..0c6c00026616 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "accessPolicyName": "ap1", + "api-version": "2020-05-15" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesGet.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesGet.json new file mode 100644 index 000000000000..36b5f2ce55a1 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "accessPolicyName": "ap1", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/accessPolicies/ap1", + "name": "ap1", + "type": "Microsoft.TimeSeriesInsights/Environments/AccessPolicies", + "properties": { + "principalObjectId": "aGuid", + "roles": [ + "Reader" + ], + "description": "some description" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesListByEnvironment.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesListByEnvironment.json new file mode 100644 index 000000000000..7943ee75b9e5 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesListByEnvironment.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/accessPolicies/ap1", + "name": "ap1", + "type": "Microsoft.TimeSeriesInsights/Environments/AccessPolicies", + "properties": { + "principalObjectId": "aGuid", + "roles": [ + "Reader" + ], + "description": "some description" + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesPatchRoles.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesPatchRoles.json new file mode 100644 index 000000000000..eee7eca6b48c --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/AccessPoliciesPatchRoles.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "accessPolicyName": "ap1", + "accessPolicyUpdateParameters": { + "properties": { + "roles": [ + "Reader", + "Contributor" + ] + } + }, + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/accessPolicies/ap1", + "name": "ap1", + "type": "Microsoft.TimeSeriesInsights/Environments/AccessPolicies", + "properties": { + "principalObjectId": "aGuid", + "roles": [ + "Reader" + ], + "description": "some description" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsCreate.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsCreate.json new file mode 100644 index 000000000000..395ac06f9a74 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "parameters": { + "location": "West US", + "kind": "Gen1", + "sku": { + "name": "S1", + "capacity": 1 + }, + "properties": { + "dataRetentionTime": "P31D", + "partitionKeyProperties": [ + { + "name": "DeviceId1", + "type": "String" + } + ] + } + }, + "api-version": "2020-05-15" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1", + "location": "West US", + "name": "env1", + "type": "Microsoft.TimeSeriesInsights/Environments", + "kind": "Gen1", + "tags": {}, + "properties": { + "dataRetentionTime": "P31D", + "provisioningState": "Creating", + "creationTime": "2017-04-18T19:20:33.2288820Z" + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1", + "location": "West US", + "name": "env1", + "type": "Microsoft.TimeSeriesInsights/Environments", + "kind": "Gen1", + "tags": {}, + "properties": { + "dataRetentionTime": "P31D", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + }, + "404": {} + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsDelete.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsDelete.json new file mode 100644 index 000000000000..9a3fc3cf043c --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "api-version": "2020-05-15" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsGet.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsGet.json new file mode 100644 index 000000000000..0a0ab15646cc --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "environmentName": "env1", + "resourceGroupName": "rg1", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1", + "location": "West US", + "name": "env1", + "type": "Microsoft.TimeSeriesInsights/Environments", + "kind": "Gen1", + "tags": {}, + "properties": { + "dataRetentionTime": "P31D", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z", + "partitionKeyProperties": [ + { + "name": "DeviceId1", + "type": "String" + } + ] + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsListByResourceGroup.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsListByResourceGroup.json new file mode 100644 index 000000000000..3128b3942bff --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsListByResourceGroup.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1", + "location": "West US", + "name": "env1", + "type": "Microsoft.TimeSeriesInsights/Environments", + "kind": "Gen1", + "tags": {}, + "properties": { + "dataRetentionTime": "P31D", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsListBySubscription.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsListBySubscription.json new file mode 100644 index 000000000000..f43ba6e3e416 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsListBySubscription.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1", + "location": "West US", + "name": "env1", + "type": "Microsoft.TimeSeriesInsights/Environments", + "kind": "Gen1", + "tags": {}, + "properties": { + "dataRetentionTime": "P31D", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + }, + "sku": { + "name": "S1", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsPatchTags.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsPatchTags.json new file mode 100644 index 000000000000..12857c98008c --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EnvironmentsPatchTags.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "environmentUpdateParameters": { + "tags": { + "someTag": "someTagValue" + } + }, + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1", + "location": "West US", + "name": "env1", + "type": "Microsoft.TimeSeriesInsights/Environments", + "kind": "Gen1", + "tags": { + "someTag": "someTagValue" + }, + "properties": { + "dataRetentionTime": "P31D", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + }, + "sku": { + "name": "S1", + "capacity": 10 + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesCreateEventHub.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesCreateEventHub.json new file mode 100644 index 000000000000..70ada05d2e07 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesCreateEventHub.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "eventSourceName": "es1", + "parameters": { + "location": "West US", + "kind": "Microsoft.EventHub", + "properties": { + "eventSourceResourceId": "somePathInArm", + "serviceBusNamespace": "sbn", + "consumerGroupName": "cgn", + "eventHubName": "ehn", + "keyName": "managementKey", + "sharedAccessKey": "someSecretvalue", + "timestampPropertyName": "someTimestampProperty" + } + }, + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/eventSources/es1", + "location": "West US", + "name": "es1", + "type": "Microsoft.TimeSeriesInsights/Environments/EventSources", + "tags": {}, + "kind": "Microsoft.EventHub", + "properties": { + "eventSourceResourceId": "somePathInArm", + "serviceBusNamespace": "sbn", + "consumerGroupName": "cgn", + "eventHubName": "ehn", + "keyName": "managementKey", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/eventSources/es1", + "location": "West US", + "name": "es1", + "type": "Microsoft.TimeSeriesInsights/Environments/EventSources", + "tags": {}, + "kind": "Microsoft.EventHub", + "properties": { + "eventSourceResourceId": "somePathInArm", + "serviceBusNamespace": "sbn", + "consumerGroupName": "cgn", + "eventHubName": "ehn", + "keyName": "managementKey", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesDelete.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesDelete.json new file mode 100644 index 000000000000..04610f52f691 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "eventSourceName": "es1", + "api-version": "2020-05-15" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesGetEventHub.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesGetEventHub.json new file mode 100644 index 000000000000..610270bd8d01 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesGetEventHub.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "eventSourceName": "es1", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/eventSources/es1", + "location": "West US", + "name": "es1", + "type": "Microsoft.TimeSeriesInsights/Environments/EventSources", + "tags": {}, + "kind": "Microsoft.EventHub", + "properties": { + "eventSourceResourceId": "somePathInArm", + "serviceBusNamespace": "sbn", + "consumerGroupName": "cgn", + "eventHubName": "ehn", + "keyName": "managementKey", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesListByEnvironment.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesListByEnvironment.json new file mode 100644 index 000000000000..09aae4112733 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesListByEnvironment.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/eventSources/es1", + "location": "West US", + "name": "es1", + "type": "Microsoft.TimeSeriesInsights/Environments/EventSources", + "tags": {}, + "kind": "Microsoft.EventHub", + "properties": { + "eventSourceResourceId": "somePathInArm", + "serviceBusNamespace": "sbn", + "consumerGroupName": "cgn", + "eventHubName": "ehn", + "keyName": "managementKey", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesPatchTags.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesPatchTags.json new file mode 100644 index 000000000000..0473904851c2 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/EventSourcesPatchTags.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "eventSourceName": "es1", + "eventSourceUpdateParameters": { + "tags": { + "someKey": "someValue" + } + }, + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/eventSources/es1", + "location": "West US", + "name": "es1", + "type": "Microsoft.TimeSeriesInsights/Environments/EventSources", + "tags": { + "someKey": "someValue" + }, + "kind": "Microsoft.EventHub", + "properties": { + "eventSourceResourceId": "somePathInArm", + "serviceBusNamespace": "sbn", + "consumerGroupName": "cgn", + "eventHubName": "ehn", + "keyName": "managementKey", + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z", + "timestampPropertyName": "someOtherTimestampProperty" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/Operation_List.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/Operation_List.json new file mode 100644 index 000000000000..a418b7799b6d --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/Operation_List.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2016-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.TimeSeriesInsights/register/action", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Time Series Insights Resource Provider", + "operation": "Registers the Time Series Insights Resource Provider", + "description": "Registers the subscription for the Time Series Insights resource provider and enables the creation of Time Series Insights environments." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/read", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Environment", + "operation": "Read Environment", + "description": "Get the properties of an environment." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/write", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Environment", + "operation": "Create or Update Environment", + "description": "Creates a new environment, or updates an existing environment." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/delete", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Environment", + "operation": "Delete Environment", + "description": "Deletes the environment." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/eventsources/read", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Event Source", + "operation": "Read Event Source", + "description": "Get the properties of an event source." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/eventsources/write", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Event Source", + "operation": "Create or Update Event Source", + "description": "Creates a new event source for an environment, or updates an existing event source." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/eventsources/delete", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Event Source", + "operation": "Delete Event Source", + "description": "Deletes the event source." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/referencedatasets/read", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Reference Data Set", + "operation": "Read Reference Data Set", + "description": "Get the properties of a reference data set." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/referencedatasets/write", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Reference Data Set", + "operation": "Create or Update Reference Data Set", + "description": "Creates a new reference data set for an environment, or updates an existing reference data set." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/referencedatasets/delete", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Reference Data Set", + "operation": "Delete Reference Data Set", + "description": "Deletes the reference data set." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/accesspolicies/read", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Access Policy", + "operation": "Read Access Policy", + "description": "Get the properties of an access policy." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/accesspolicies/write", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Access Policy", + "operation": "Create or Update Access Policy", + "description": "Creates a new access policy for an environment, or updates an existing access policy." + } + }, + { + "name": "Microsoft.TimeSeriesInsights/environments/accesspolicies/delete", + "display": { + "provider": "Microsoft Time Series Insights", + "resource": "Access Policy", + "operation": "Delete Access Policy", + "description": "Deletes the access policy." + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsCreate.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsCreate.json new file mode 100644 index 000000000000..f72dc4f835fa --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsCreate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "referenceDataSetName": "rds1", + "parameters": { + "location": "West US", + "properties": { + "keyProperties": [ + { + "name": "DeviceId1", + "type": "String" + }, + { + "name": "DeviceFloor", + "type": "Double" + } + ] + } + }, + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/referenceDataSets/rds1", + "location": "West US", + "name": "rds1", + "type": "Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets", + "tags": {}, + "properties": { + "keyProperties": [ + { + "name": "DeviceId1", + "type": "String" + }, + { + "name": "DeviceFloor", + "type": "Double" + } + ], + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/referenceDataSets/rds1", + "location": "West US", + "name": "rds1", + "type": "Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets", + "tags": {}, + "properties": { + "keyProperties": [ + { + "name": "DeviceId1", + "type": "String" + }, + { + "name": "DeviceFloor", + "type": "Double" + } + ], + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsDelete.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsDelete.json new file mode 100644 index 000000000000..86b29fdc002d --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "referenceDataSetName": "rds1", + "api-version": "2020-05-15" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsGet.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsGet.json new file mode 100644 index 000000000000..6442a481f421 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "referenceDataSetName": "rds1", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/referenceDataSets/rds1", + "location": "West US", + "name": "rds1", + "type": "Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets", + "tags": {}, + "properties": { + "keyProperties": [ + { + "name": "DeviceId1", + "type": "String" + }, + { + "name": "DeviceFloor", + "type": "Double" + } + ], + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsListByEnvironment.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsListByEnvironment.json new file mode 100644 index 000000000000..ed583ffd4752 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsListByEnvironment.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/referenceDataSets/rds1", + "location": "West US", + "name": "rds1", + "type": "Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets", + "tags": {}, + "properties": { + "keyProperties": [ + { + "name": "DeviceId1", + "type": "String" + }, + { + "name": "DeviceFloor", + "type": "Double" + } + ], + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + ] + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsPatchTags.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsPatchTags.json new file mode 100644 index 000000000000..89531e16c2a7 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/examples/ReferenceDataSetsPatchTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "environmentName": "env1", + "referenceDataSetName": "rds1", + "referenceDataSetUpdateParameters": { + "tags": { + "someKey": "someValue" + } + }, + "api-version": "2020-05-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.TimeSeriesInsights/Environments/env1/referenceDataSets/rds1", + "location": "West US", + "name": "rds1", + "type": "Microsoft.TimeSeriesInsights/Environments/ReferenceDataSets", + "tags": { + "someKey": "someValue" + }, + "properties": { + "keyProperties": [ + { + "name": "DeviceId1", + "type": "String" + }, + { + "name": "DeviceFloor", + "type": "Double" + } + ], + "provisioningState": "Succeeded", + "creationTime": "2017-04-18T19:20:33.2288820Z" + } + } + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/timeseriesinsights.json b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/timeseriesinsights.json new file mode 100644 index 000000000000..6cd1256aee02 --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/Microsoft.TimeSeriesInsights/stable/2020-05-15/timeseriesinsights.json @@ -0,0 +1,2546 @@ +{ + "swagger": "2.0", + "info": { + "title": "TimeSeriesInsightsClient", + "description": "Time Series Insights client", + "version": "2020-05-15" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.TimeSeriesInsights/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Time Series Insights related operations.", + "x-ms-examples": { + "List available operations for the Time Series Insights resource provider": { + "$ref": "./examples/Operation_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}": { + "put": { + "tags": [ + "Environments" + ], + "operationId": "Environments_CreateOrUpdate", + "x-ms-examples": { + "EnvironmentsCreate": { + "$ref": "./examples/EnvironmentsCreate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create or update an environment in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "description": "Name of the environment" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentCreateOrUpdateParameters" + }, + "description": "Parameters for creating an environment resource." + } + ], + "responses": { + "200": { + "description": "The existing environment definition was successfully updated.", + "schema": { + "$ref": "#/definitions/EnvironmentResource" + } + }, + "201": { + "description": "The environment create request was accepted. Environment provisioning is an asynchronous operation. You can periodically get your environment definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/EnvironmentResource" + } + }, + "404": { + "description": "The subscription or resource group could not be found." + }, + "default": { + "description": "HTTP 400 (Bad Request): The given environment request body is invalid; See the error code and message in the response for details.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Environments" + ], + "operationId": "Environments_Get", + "x-ms-examples": { + "EnvironmentsGet": { + "$ref": "./examples/EnvironmentsGet.json" + } + }, + "description": "Gets the environment with the specified name in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The environment definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.", + "schema": { + "$ref": "#/definitions/EnvironmentResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or environment could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Environments" + ], + "operationId": "Environments_Update", + "x-ms-examples": { + "EnvironmentsUpdate": { + "$ref": "./examples/EnvironmentsPatchTags.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Updates the environment with the specified name in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "name": "environmentUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentUpdateParameters" + }, + "description": "Request object that contains the updated information for the environment." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The environment definition was successfully updated and is in the response. If the environment was updated synchronously, the response will include a provisioningState value of \"Succeeded\". If the environment was updated asynchronously, the response will include a provisioningState value of \"Updating\". You can periodically get your environment definition and monitor progress of the update via the provisioningState property.", + "schema": { + "$ref": "#/definitions/EnvironmentResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or environment could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Environments" + ], + "operationId": "Environments_Delete", + "x-ms-examples": { + "EnvironmentsDelete": { + "$ref": "./examples/EnvironmentsDelete.json" + } + }, + "description": "Deletes the environment with the specified name in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The environment was successfully deleted." + }, + "204": { + "description": "The environment was successfully deleted." + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or environment could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments": { + "get": { + "tags": [ + "Environments" + ], + "operationId": "Environments_ListByResourceGroup", + "x-ms-examples": { + "EnvironmentsByResourceGroup": { + "$ref": "./examples/EnvironmentsListByResourceGroup.json" + } + }, + "description": "Lists all the available environments associated with the subscription and within the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Environments returned successfully.", + "schema": { + "$ref": "#/definitions/EnvironmentListResponse" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, or resource group could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.TimeSeriesInsights/environments": { + "get": { + "tags": [ + "Environments" + ], + "operationId": "Environments_ListBySubscription", + "x-ms-examples": { + "EnvironmentsBySubscription": { + "$ref": "./examples/EnvironmentsListBySubscription.json" + } + }, + "description": "Lists all the available environments within a subscription, irrespective of the resource groups.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Environments returned successfully.", + "schema": { + "$ref": "#/definitions/EnvironmentListResponse" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources/{eventSourceName}": { + "put": { + "tags": [ + "EventSources" + ], + "operationId": "EventSources_CreateOrUpdate", + "x-ms-examples": { + "CreateEventHubEventSource": { + "$ref": "./examples/EventSourcesCreateEventHub.json" + } + }, + "description": "Create or update an event source under the specified environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "name": "eventSourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "description": "Name of the event source." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EventSourceCreateOrUpdateParameters" + }, + "description": "Parameters for creating an event source resource." + } + ], + "responses": { + "200": { + "description": "The existing event source definition was successfully updated.", + "schema": { + "$ref": "#/definitions/EventSourceResource" + } + }, + "201": { + "description": "The event source was successfully created.", + "schema": { + "$ref": "#/definitions/EventSourceResource" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given event source request body is invalid; See the error code and message in the response for details.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "EventSources" + ], + "operationId": "EventSources_Get", + "x-ms-examples": { + "GetEventHubEventSource": { + "$ref": "./examples/EventSourcesGetEventHub.json" + } + }, + "description": "Gets the event source with the specified name in the specified environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/EventSourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The event source definition was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/EventSourceResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or event source could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "EventSources" + ], + "operationId": "EventSources_Update", + "x-ms-examples": { + "UpdateEventSource": { + "$ref": "./examples/EventSourcesPatchTags.json" + } + }, + "description": "Updates the event source with the specified name in the specified subscription, resource group, and environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/EventSourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "eventSourceUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EventSourceUpdateParameters" + }, + "description": "Request object that contains the updated information for the event source." + } + ], + "responses": { + "200": { + "description": "The event source definition was successfully updated and is in the response.", + "schema": { + "$ref": "#/definitions/EventSourceResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or event source could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "EventSources" + ], + "operationId": "EventSources_Delete", + "x-ms-examples": { + "DeleteEventSource": { + "$ref": "./examples/EventSourcesDelete.json" + } + }, + "description": "Deletes the event source with the specified name in the specified subscription, resource group, and environment", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/EventSourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The event source was successfully deleted." + }, + "204": { + "description": "The event source was successfully deleted." + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or event source could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/eventSources": { + "get": { + "tags": [ + "EventSources" + ], + "operationId": "EventSources_ListByEnvironment", + "x-ms-examples": { + "ListEventSourcesByEnvironment": { + "$ref": "./examples/EventSourcesListByEnvironment.json" + } + }, + "description": "Lists all the available event sources associated with the subscription and within the specified resource group and environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Environments returned successfully.", + "schema": { + "$ref": "#/definitions/EventSourceListResponse" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or environment could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets/{referenceDataSetName}": { + "put": { + "tags": [ + "ReferenceDataSets" + ], + "operationId": "ReferenceDataSets_CreateOrUpdate", + "x-ms-examples": { + "ReferenceDataSetsCreate": { + "$ref": "./examples/ReferenceDataSetsCreate.json" + } + }, + "description": "Create or update a reference data set in the specified environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "name": "referenceDataSetName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]", + "minLength": 3, + "maxLength": 63, + "description": "Name of the reference data set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReferenceDataSetCreateOrUpdateParameters" + }, + "description": "Parameters for creating a reference data set." + } + ], + "responses": { + "200": { + "description": "The existing reference data set definition was successfully updated.", + "schema": { + "$ref": "#/definitions/ReferenceDataSetResource" + } + }, + "201": { + "description": "The reference data set was successfully created.", + "schema": { + "$ref": "#/definitions/ReferenceDataSetResource" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given reference data set request body is invalid; See the error code and message in the response for details.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "ReferenceDataSets" + ], + "operationId": "ReferenceDataSets_Get", + "x-ms-examples": { + "ReferenceDataSetsGet": { + "$ref": "./examples/ReferenceDataSetsGet.json" + } + }, + "description": "Gets the reference data set with the specified name in the specified environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/ReferenceDataSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The reference data set definition was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/ReferenceDataSetResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or reference data set could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ReferenceDataSets" + ], + "operationId": "ReferenceDataSets_Update", + "x-ms-examples": { + "ReferenceDataSetsUpdate": { + "$ref": "./examples/ReferenceDataSetsPatchTags.json" + } + }, + "description": "Updates the reference data set with the specified name in the specified subscription, resource group, and environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/ReferenceDataSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "referenceDataSetUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ReferenceDataSetUpdateParameters" + }, + "description": "Request object that contains the updated information for the reference data set." + } + ], + "responses": { + "200": { + "description": "The reference data set definition was successfully updated and is in the response.", + "schema": { + "$ref": "#/definitions/ReferenceDataSetResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or reference data set could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ReferenceDataSets" + ], + "operationId": "ReferenceDataSets_Delete", + "x-ms-examples": { + "ReferenceDataSetsDelete": { + "$ref": "./examples/ReferenceDataSetsDelete.json" + } + }, + "description": "Deletes the reference data set with the specified name in the specified subscription, resource group, and environment", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/ReferenceDataSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The reference data set was successfully deleted." + }, + "204": { + "description": "The reference data set was successfully deleted." + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or reference data set could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/referenceDataSets": { + "get": { + "tags": [ + "ReferenceDataSets" + ], + "operationId": "ReferenceDataSets_ListByEnvironment", + "x-ms-examples": { + "ReferenceDataSetsListByEnvironment": { + "$ref": "./examples/ReferenceDataSetsListByEnvironment.json" + } + }, + "description": "Lists all the available reference data sets associated with the subscription and within the specified resource group and environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Reference data sets returned successfully.", + "schema": { + "$ref": "#/definitions/ReferenceDataSetListResponse" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or environment could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies/{accessPolicyName}": { + "put": { + "tags": [ + "AccessPolicies" + ], + "operationId": "AccessPolicies_CreateOrUpdate", + "x-ms-examples": { + "AccessPoliciesCreate": { + "$ref": "./examples/AccessPoliciesCreate.json" + } + }, + "description": "Create or update an access policy in the specified environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "name": "accessPolicyName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "description": "Name of the access policy." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccessPolicyCreateOrUpdateParameters" + }, + "description": "Parameters for creating an access policy." + } + ], + "responses": { + "200": { + "description": "The existing access policy definition was successfully updated.", + "schema": { + "$ref": "#/definitions/AccessPolicyResource" + } + }, + "201": { + "description": "The access policy was successfully created.", + "schema": { + "$ref": "#/definitions/AccessPolicyResource" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given access policy request body is invalid; See the error code and message in the response for details.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "AccessPolicies" + ], + "operationId": "AccessPolicies_Get", + "x-ms-examples": { + "AccessPoliciesGet": { + "$ref": "./examples/AccessPoliciesGet.json" + } + }, + "description": "Gets the access policy with the specified name in the specified environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/AccessPolicyNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The access policy definition was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/AccessPolicyResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or access policy could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "AccessPolicies" + ], + "operationId": "AccessPolicies_Update", + "x-ms-examples": { + "AccessPoliciesUpdate": { + "$ref": "./examples/AccessPoliciesPatchRoles.json" + } + }, + "description": "Updates the access policy with the specified name in the specified subscription, resource group, and environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/AccessPolicyNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "accessPolicyUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccessPolicyUpdateParameters" + }, + "description": "Request object that contains the updated information for the access policy." + } + ], + "responses": { + "200": { + "description": "The access policy definition was successfully updated and is in the response.", + "schema": { + "$ref": "#/definitions/AccessPolicyResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or access policy could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "AccessPolicies" + ], + "operationId": "AccessPolicies_Delete", + "x-ms-examples": { + "AccessPoliciesDelete": { + "$ref": "./examples/AccessPoliciesDelete.json" + } + }, + "description": "Deletes the access policy with the specified name in the specified subscription, resource group, and environment", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/AccessPolicyNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The access policy was successfully deleted." + }, + "204": { + "description": "The access policy was successfully deleted." + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, environment, or access policy could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}/accessPolicies": { + "get": { + "tags": [ + "AccessPolicies" + ], + "operationId": "AccessPolicies_ListByEnvironment", + "x-ms-examples": { + "AccessPoliciesByEnvironment": { + "$ref": "./examples/AccessPoliciesListByEnvironment.json" + } + }, + "description": "Lists all the available access policies associated with the environment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "access policies returned successfully.", + "schema": { + "$ref": "#/definitions/AccessPolicyListResponse" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, or environment could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Time Series Insights operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of Time Series Insights operations supported by the Microsoft.TimeSeriesInsights resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A Time Series Insights REST API operation", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "Contains the localized display information for this particular operation / action.", + "readOnly": true, + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "Resource": { + "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" + } + }, + "description": "Time Series Insights resource", + "x-ms-azure-resource": true + }, + "TrackedResource": { + "properties": { + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "location" + ], + "description": "Time Series Insights resource that is tracked by Azure Resource Manager." + }, + "ResourceProperties": { + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource." + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time the resource was created." + } + }, + "description": "Properties that are common to all tracked resources." + }, + "ProvisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the resource.", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of this SKU.", + "enum": [ + "S1", + "S2", + "P1", + "L1" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "capacity": { + "format": "int32", + "type": "integer", + "description": "The capacity of the sku. For Gen1 environments, this value can be changed to support scale out of environments after they have been created.", + "minimum": 1, + "maximum": 10 + } + }, + "required": [ + "name", + "capacity" + ], + "description": "The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate." + }, + "WarmStoreConfigurationProperties": { + "type": "object", + "properties": { + "dataRetention": { + "type": "string", + "format": "duration", + "description": "ISO8601 timespan specifying the number of days the environment's events will be available for query from the warm store." + } + }, + "required": [ + "dataRetention" + ], + "description": "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query." + }, + "Gen2StorageConfigurationInput": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the storage account that will hold the environment's Gen2 data." + }, + "managementKey": { + "type": "string", + "description": "The value of the management key that grants the Time Series Insights service write access to the storage account. This property is not shown in environment responses." + } + }, + "required": [ + "accountName", + "managementKey" + ], + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "Gen2StorageConfigurationOutput": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the storage account that will hold the environment's Gen2 data." + } + }, + "required": [ + "accountName" + ], + "description": "The storage configuration provides the non-secret connection details about the customer storage account that is used to store the environment's data." + }, + "Gen2StorageConfigurationMutableProperties": { + "type": "object", + "properties": { + "managementKey": { + "type": "string", + "description": "The value of the management key that grants the Time Series Insights service write access to the storage account. This property is not shown in environment responses." + } + }, + "required": [ + "managementKey" + ], + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "CreateOrUpdateTrackedResourceProperties": { + "properties": { + "location": { + "type": "string", + "description": "The location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional properties for the resource." + } + }, + "required": [ + "location" + ], + "description": "Properties required to create any resource tracked by Azure Resource Manager." + }, + "EnvironmentCreateOrUpdateParameters": { + "discriminator": "kind", + "properties": { + "kind": { + "type": "string", + "description": "The kind of the environment.", + "enum": [ + "Gen1", + "Gen2" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate." + } + }, + "required": [ + "kind", + "sku" + ], + "allOf": [ + { + "$ref": "#/definitions/CreateOrUpdateTrackedResourceProperties" + } + ], + "description": "Parameters supplied to the CreateOrUpdate Environment operation." + }, + "Gen1EnvironmentCreateOrUpdateParameters": { + "x-ms-discriminator-value": "Gen1", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen1EnvironmentCreationProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentCreateOrUpdateParameters" + } + ], + "description": "Parameters supplied to the Create or Update Environment operation for a Gen1 environment." + }, + "Gen2EnvironmentCreateOrUpdateParameters": { + "x-ms-discriminator-value": "Gen2", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen2EnvironmentCreationProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentCreateOrUpdateParameters" + } + ], + "description": "Parameters supplied to the Create or Update Environment operation for a Gen2 environment." + }, + "EnvironmentUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional properties for the environment." + } + }, + "description": "Parameters supplied to the Update Environment operation." + }, + "Gen1EnvironmentUpdateParameters": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the environment." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen1EnvironmentMutableProperties", + "description": "Properties of the Gen1 environment." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EnvironmentUpdateParameters" + } + ], + "description": "Parameters supplied to the Update Environment operation to update a Gen1 environment." + }, + "Gen2EnvironmentUpdateParameters": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen2EnvironmentMutableProperties", + "description": "Properties of the Gen2 environment." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EnvironmentUpdateParameters" + } + ], + "description": "Parameters supplied to the Update Environment operation to update a Gen2 environment." + }, + "EnvironmentListResponse": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentResource" + }, + "description": "Result of the List Environments operation." + } + }, + "description": "The response of the List Environments operation." + }, + "EnvironmentResource": { + "type": "object", + "discriminator": "kind", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate." + }, + "kind": { + "type": "string", + "description": "The kind of the environment.", + "enum": [ + "Gen1", + "Gen2" + ] + } + }, + "required": [ + "kind", + "sku" + ], + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "An environment is a set of time-series data available for query, and is the top level Azure Time Series Insights resource." + }, + "Gen1EnvironmentResource": { + "x-ms-discriminator-value": "Gen1", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen1EnvironmentResourceProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentResource" + } + ], + "description": "An environment is a set of time-series data available for query, and is the top level Azure Time Series Insights resource. Gen1 environments have data retention limits." + }, + "Gen2EnvironmentResource": { + "x-ms-discriminator-value": "Gen2", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen2EnvironmentResourceProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentResource" + } + ], + "description": "An environment is a set of time-series data available for query, and is the top level Azure Time Series Insights resource. Gen2 environments do not have set data retention limits." + }, + "Gen1EnvironmentCreationProperties": { + "properties": { + "dataRetentionTime": { + "type": "string", + "format": "duration", + "description": "ISO8601 timespan specifying the minimum number of days the environment's events will be available for query." + }, + "storageLimitExceededBehavior": { + "type": "string", + "description": "The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If \"PauseIngress\" is specified, new events will not be read from the event source. If \"PurgeOldData\" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.", + "enum": [ + "PurgeOldData", + "PauseIngress" + ], + "x-ms-enum": { + "name": "StorageLimitExceededBehavior", + "modelAsString": true + } + }, + "partitionKeyProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesIdProperty" + }, + "description": "The list of event properties which will be used to partition data in the environment. Currently, only a single partition key property is supported." + } + }, + "required": [ + "dataRetentionTime" + ], + "description": "Properties used to create a Gen1 environment." + }, + "Gen2EnvironmentCreationProperties": { + "properties": { + "timeSeriesIdProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesIdProperty" + }, + "description": "The list of event properties which will be used to define the environment's time series id." + }, + "storageConfiguration": { + "$ref": "#/definitions/Gen2StorageConfigurationInput", + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "warmStoreConfiguration": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/WarmStoreConfigurationProperties", + "description": "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query." + } + }, + "required": [ + "timeSeriesIdProperties", + "storageConfiguration" + ], + "description": "Properties used to create a Gen2 environment." + }, + "EnvironmentResourceProperties": { + "properties": { + "dataAccessId": { + "readOnly": true, + "type": "string", + "format": "uuid", + "description": "An id used to access the environment data, e.g. to query the environment's events or upload reference data for the environment." + }, + "dataAccessFqdn": { + "readOnly": true, + "type": "string", + "description": "The fully qualified domain name used to access the environment data, e.g. to query the environment's events or upload reference data for the environment." + }, + "status": { + "$ref": "#/definitions/EnvironmentStatus", + "description": "An object that represents the status of the environment, and its internal state in the Time Series Insights service." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceProperties" + } + ], + "description": "Properties of the environment." + }, + "Gen1EnvironmentResourceProperties": { + "allOf": [ + { + "$ref": "#/definitions/Gen1EnvironmentCreationProperties" + }, + { + "$ref": "#/definitions/EnvironmentResourceProperties" + }, + { + "$ref": "#/definitions/ResourceProperties" + } + ], + "required": [ + "dataRetentionTime" + ], + "description": "Properties of the Gen1 environment." + }, + "Gen2EnvironmentResourceProperties": { + "properties": { + "timeSeriesIdProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesIdProperty" + }, + "description": "The list of event properties which will be used to define the environment's time series id." + }, + "storageConfiguration": { + "$ref": "#/definitions/Gen2StorageConfigurationOutput", + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "warmStoreConfiguration": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/WarmStoreConfigurationProperties", + "description": "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query." + } + }, + "required": [ + "timeSeriesIdProperties", + "storageConfiguration" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentResourceProperties" + }, + { + "$ref": "#/definitions/ResourceProperties" + } + ], + "description": "Properties of the Gen2 environment." + }, + "Gen1EnvironmentMutableProperties": { + "description": "An object that represents a set of mutable Gen1 environment resource properties.", + "type": "object", + "properties": { + "dataRetentionTime": { + "type": "string", + "format": "duration", + "description": "ISO8601 timespan specifying the minimum number of days the environment's events will be available for query." + }, + "storageLimitExceededBehavior": { + "type": "string", + "description": "The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If \"PauseIngress\" is specified, new events will not be read from the event source. If \"PurgeOldData\" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.", + "enum": [ + "PurgeOldData", + "PauseIngress" + ], + "x-ms-enum": { + "name": "StorageLimitExceededBehavior", + "modelAsString": true + } + } + } + }, + "Gen2EnvironmentMutableProperties": { + "description": "An object that represents a set of mutable Gen2 environment resource properties.", + "type": "object", + "properties": { + "storageConfiguration": { + "$ref": "#/definitions/Gen2StorageConfigurationMutableProperties", + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "warmStoreConfiguration": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/WarmStoreConfigurationProperties", + "description": "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query." + } + } + }, + "TimeSeriesIdProperty": { + "properties": { + "name": { + "type": "string", + "description": "The name of the property." + }, + "type": { + "type": "string", + "description": "The type of the property.", + "enum": [ + "String" + ], + "x-ms-enum": { + "name": "PropertyType", + "modelAsString": true + } + } + }, + "description": "The structure of the property that a time series id can have. An environment can have multiple such properties." + }, + "EnvironmentStatus": { + "readOnly": true, + "type": "object", + "description": "An object that represents the status of the environment, and its internal state in the Time Series Insights service.", + "properties": { + "ingress": { + "$ref": "#/definitions/IngressEnvironmentStatus", + "description": "An object that represents the status of ingress on an environment." + }, + "warmStorage": { + "$ref": "#/definitions/WarmStorageEnvironmentStatus", + "description": "An object that represents the status of warm storage on an environment." + } + } + }, + "IngressEnvironmentStatus": { + "readOnly": true, + "type": "object", + "description": "An object that represents the status of ingress on an environment.", + "properties": { + "state": { + "type": "string", + "description": "This string represents the state of ingress operations on an environment. It can be \"Disabled\", \"Ready\", \"Running\", \"Paused\" or \"Unknown\"", + "enum": [ + "Disabled", + "Ready", + "Running", + "Paused", + "Unknown" + ], + "x-ms-enum": { + "name": "IngressState", + "modelAsString": true + } + }, + "stateDetails": { + "$ref": "#/definitions/EnvironmentStateDetails", + "description": "An object that contains the details about an environment's state." + } + } + }, + "EnvironmentStateDetails": { + "readOnly": true, + "type": "object", + "description": "An object that contains the details about an environment's state.", + "properties": { + "code": { + "type": "string", + "description": "Contains the code that represents the reason of an environment being in a particular state. Can be used to programmatically handle specific cases." + }, + "message": { + "type": "string", + "description": "A message that describes the state in detail." + } + } + }, + "WarmStorageEnvironmentStatus": { + "readOnly": true, + "type": "object", + "description": "An object that represents the status of warm storage on an environment.", + "properties": { + "propertiesUsage": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WarmStoragePropertiesUsage", + "description": "An object that contains the status of warm storage properties usage." + } + } + }, + "WarmStoragePropertiesUsage": { + "readOnly": true, + "type": "object", + "description": "An object that contains the status of warm storage properties usage.", + "properties": { + "state": { + "type": "string", + "description": "This string represents the state of warm storage properties usage. It can be \"Ok\", \"Error\", \"Unknown\".", + "enum": [ + "Ok", + "Error", + "Unknown" + ], + "x-ms-enum": { + "name": "WarmStoragePropertiesState", + "modelAsString": true + } + }, + "stateDetails": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WarmStoragePropertiesUsageStateDetails", + "description": "An object that contains the details about warm storage properties usage state." + } + } + }, + "WarmStoragePropertiesUsageStateDetails": { + "readOnly": true, + "type": "object", + "description": "An object that contains the details about warm storage properties usage state.", + "properties": { + "currentCount": { + "format": "int32", + "type": "integer", + "description": "A value that represents the number of properties used by the environment for S1/S2 SKU and number of properties used by Warm Store for PAYG SKU", + "minimum": 1, + "maximum": 10 + }, + "maxCount": { + "format": "int32", + "type": "integer", + "description": "A value that represents the maximum number of properties used allowed by the environment for S1/S2 SKU and maximum number of properties allowed by Warm Store for PAYG SKU.", + "minimum": 1, + "maximum": 10 + } + } + }, + "EventSourceCreateOrUpdateParameters": { + "discriminator": "kind", + "properties": { + "kind": { + "type": "string", + "description": "The kind of the event source.", + "enum": [ + "Microsoft.EventHub", + "Microsoft.IoTHub" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "localTimestamp": { + "$ref": "#/definitions/LocalTimestamp", + "description": "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events." + } + }, + "required": [ + "kind" + ], + "allOf": [ + { + "$ref": "#/definitions/CreateOrUpdateTrackedResourceProperties" + } + ], + "description": "Parameters supplied to the Create or Update Event Source operation." + }, + "EventHubEventSourceCreateOrUpdateParameters": { + "x-ms-discriminator-value": "Microsoft.EventHub", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EventHubEventSourceCreationProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EventSourceCreateOrUpdateParameters" + } + ], + "description": "Parameters supplied to the Create or Update Event Source operation for an EventHub event source." + }, + "IoTHubEventSourceCreateOrUpdateParameters": { + "x-ms-discriminator-value": "Microsoft.IoTHub", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IoTHubEventSourceCreationProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EventSourceCreateOrUpdateParameters" + } + ], + "description": "Parameters supplied to the Create or Update Event Source operation for an IoTHub event source." + }, + "EventSourceUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional properties for the event source." + } + }, + "description": "Parameters supplied to the Update Event Source operation." + }, + "EventHubEventSourceUpdateParameters": { + "type": "object", + "x-ms-discriminator-value": "Microsoft.EventHub", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EventHubEventSourceMutableProperties", + "description": "Properties of the EventHub event source." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EventSourceUpdateParameters" + } + ], + "description": "Parameters supplied to the Update Event Source operation to update an EventHub event source." + }, + "IoTHubEventSourceUpdateParameters": { + "x-ms-discriminator-value": "Microsoft.IoTHub", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IoTHubEventSourceMutableProperties", + "description": "Properties of the IoTHub event source." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EventSourceUpdateParameters" + } + ], + "description": "Parameters supplied to the Update Event Source operation to update an IoTHub event source." + }, + "EventSourceListResponse": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EventSourceResource" + }, + "description": "Result of the List EventSources operation." + } + }, + "description": "The response of the List EventSources operation." + }, + "EventSourceResource": { + "type": "object", + "discriminator": "kind", + "properties": { + "kind": { + "type": "string", + "description": "The kind of the event source.", + "enum": [ + "Microsoft.EventHub", + "Microsoft.IoTHub" + ] + } + }, + "required": [ + "kind" + ], + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "An environment receives data from one or more event sources. Each event source has associated connection info that allows the Time Series Insights ingress pipeline to connect to and pull data from the event source" + }, + "EventHubEventSourceResource": { + "x-ms-discriminator-value": "Microsoft.EventHub", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EventHubEventSourceResourceProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EventSourceResource" + } + ], + "description": "An event source that receives its data from an Azure EventHub." + }, + "IoTHubEventSourceResource": { + "x-ms-discriminator-value": "Microsoft.IoTHub", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IoTHubEventSourceResourceProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EventSourceResource" + } + ], + "description": "An event source that receives its data from an Azure IoTHub." + }, + "EventSourceCommonProperties": { + "properties": { + "timestampPropertyName": { + "type": "string", + "description": "The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceProperties" + } + ], + "description": "Properties of the event source." + }, + "AzureEventSourceProperties": { + "properties": { + "eventSourceResourceId": { + "type": "string", + "description": "The resource id of the event source in Azure Resource Manager." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EventSourceCommonProperties" + } + ], + "required": [ + "eventSourceResourceId" + ], + "description": "Properties of an event source that reads events from an event broker in Azure." + }, + "EventHubEventSourceCommonProperties": { + "properties": { + "serviceBusNamespace": { + "type": "string", + "description": "The name of the service bus that contains the event hub." + }, + "eventHubName": { + "type": "string", + "description": "The name of the event hub." + }, + "consumerGroupName": { + "type": "string", + "description": "The name of the event hub's consumer group that holds the partitions from which events will be read." + }, + "keyName": { + "type": "string", + "description": "The name of the SAS key that grants the Time Series Insights service access to the event hub. The shared access policies for this key must grant 'Listen' permissions to the event hub." + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureEventSourceProperties" + } + ], + "required": [ + "serviceBusNamespace", + "eventHubName", + "consumerGroupName", + "keyName" + ], + "description": "Properties of the EventHub event source." + }, + "EventHubEventSourceCreationProperties": { + "properties": { + "sharedAccessKey": { + "type": "string", + "description": "The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EventHubEventSourceCommonProperties" + } + ], + "required": [ + "sharedAccessKey" + ], + "description": "Properties of the EventHub event source that are required on create or update requests." + }, + "EventHubEventSourceResourceProperties": { + "allOf": [ + { + "$ref": "#/definitions/EventHubEventSourceCommonProperties" + } + ], + "description": "Properties of the EventHub event source resource." + }, + "IoTHubEventSourceCommonProperties": { + "properties": { + "iotHubName": { + "type": "string", + "description": "The name of the iot hub." + }, + "consumerGroupName": { + "type": "string", + "description": "The name of the iot hub's consumer group that holds the partitions from which events will be read." + }, + "keyName": { + "type": "string", + "description": "The name of the Shared Access Policy key that grants the Time Series Insights service access to the iot hub. This shared access policy key must grant 'service connect' permissions to the iot hub." + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureEventSourceProperties" + } + ], + "required": [ + "iotHubName", + "consumerGroupName", + "keyName" + ], + "description": "Properties of the IoTHub event source." + }, + "IoTHubEventSourceCreationProperties": { + "properties": { + "sharedAccessKey": { + "type": "string", + "description": "The value of the Shared Access Policy key that grants the Time Series Insights service read access to the iot hub. This property is not shown in event source responses." + } + }, + "allOf": [ + { + "$ref": "#/definitions/IoTHubEventSourceCommonProperties" + } + ], + "required": [ + "sharedAccessKey" + ], + "description": "Properties of the IoTHub event source that are required on create or update requests." + }, + "IoTHubEventSourceResourceProperties": { + "allOf": [ + { + "$ref": "#/definitions/IoTHubEventSourceCommonProperties" + } + ], + "description": "Properties of the IoTHub event source resource." + }, + "LocalTimestamp": { + "description": "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events.", + "type": "object", + "properties": { + "format": { + "description": "An enum that represents the format of the local timestamp property that needs to be set.", + "type": "string", + "enum": [ + "Embedded" + ], + "x-ms-enum": { + "name": "LocalTimestampFormat", + "modelAsString": true + } + }, + "timeZoneOffset": { + "description": "An object that represents the offset information for the local timestamp format specified. Should not be specified for LocalTimestampFormat - Embedded.", + "type": "object", + "properties": { + "propertyName": { + "type": "string", + "description": "The event property that will be contain the offset information to calculate the local timestamp. When the LocalTimestampFormat is Iana, the property name will contain the name of the column which contains IANA Timezone Name (eg: Americas/Los Angeles). When LocalTimestampFormat is Timespan, it contains the name of property which contains values representing the offset (eg: P1D or 1.00:00:00)" + } + } + } + } + }, + "EventSourceMutableProperties": { + "description": "An object that represents a set of mutable event source resource properties.", + "type": "object", + "properties": { + "timestampPropertyName": { + "type": "string", + "description": "The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used." + }, + "localTimestamp": { + "$ref": "#/definitions/LocalTimestamp", + "description": "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events." + } + } + }, + "EventHubEventSourceMutableProperties": { + "description": "An object that represents a set of mutable EventHub event source resource properties.", + "type": "object", + "properties": { + "sharedAccessKey": { + "type": "string", + "description": "The value of the shared access key that grants the Time Series Insights service read access to the event hub. This property is not shown in event source responses." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EventSourceMutableProperties" + } + ] + }, + "IoTHubEventSourceMutableProperties": { + "description": "An object that represents a set of mutable IoTHub event source resource properties.", + "type": "object", + "properties": { + "sharedAccessKey": { + "type": "string", + "description": "The value of the shared access key that grants the Time Series Insights service read access to the iot hub. This property is not shown in event source responses." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EventSourceMutableProperties" + } + ] + }, + "ReferenceDataSetCreateOrUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReferenceDataSetCreationProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/CreateOrUpdateTrackedResourceProperties" + } + ] + }, + "ReferenceDataSetUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional properties for the reference data set." + } + }, + "description": "Parameters supplied to the Update Reference Data Set operation." + }, + "ReferenceDataSetListResponse": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReferenceDataSetResource" + }, + "description": "Result of the List Reference Data Sets operation." + } + }, + "description": "The response of the List Reference Data Sets operation." + }, + "ReferenceDataSetResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReferenceDataSetResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "A reference data set provides metadata about the events in an environment. Metadata in the reference data set will be joined with events as they are read from event sources. The metadata that makes up the reference data set is uploaded or modified through the Time Series Insights data plane APIs." + }, + "ReferenceDataSetCreationProperties": { + "properties": { + "keyProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/ReferenceDataSetKeyProperty" + }, + "description": "The list of key properties for the reference data set." + }, + "dataStringComparisonBehavior": { + "type": "string", + "description": "The reference data set key comparison behavior can be set using this property. By default, the value is 'Ordinal' - which means case sensitive key comparison will be performed while joining reference data with events or while adding new reference data. When 'OrdinalIgnoreCase' is set, case insensitive comparison will be used.", + "enum": [ + "Ordinal", + "OrdinalIgnoreCase" + ], + "x-ms-enum": { + "name": "DataStringComparisonBehavior", + "modelAsString": true + } + } + }, + "required": [ + "keyProperties" + ], + "description": "Properties used to create a reference data set." + }, + "ReferenceDataSetResourceProperties": { + "allOf": [ + { + "$ref": "#/definitions/ReferenceDataSetCreationProperties" + }, + { + "$ref": "#/definitions/ResourceProperties" + } + ], + "required": [ + "keyProperties" + ], + "description": "Properties of the reference data set." + }, + "ReferenceDataSetKeyProperty": { + "properties": { + "name": { + "type": "string", + "description": "The name of the key property." + }, + "type": { + "type": "string", + "description": "The type of the key property.", + "enum": [ + "String", + "Double", + "Bool", + "DateTime" + ], + "x-ms-enum": { + "name": "ReferenceDataKeyPropertyType", + "modelAsString": true + } + } + }, + "description": "A key property for the reference data set. A reference data set can have multiple key properties." + }, + "AccessPolicyCreateOrUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccessPolicyResourceProperties" + } + }, + "required": [ + "properties" + ] + }, + "AccessPolicyUpdateParameters": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccessPolicyMutableProperties" + } + } + }, + "AccessPolicyListResponse": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyResource" + }, + "description": "Result of the List access policies operation." + } + }, + "description": "The response of the List access policies operation." + }, + "AccessPolicyResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccessPolicyResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "An access policy is used to grant users and applications access to the environment. Roles are assigned to service principals in Azure Active Directory. These roles define the actions the principal can perform through the Time Series Insights data plane APIs." + }, + "AccessPolicyResourceProperties": { + "properties": { + "principalObjectId": { + "type": "string", + "description": "The objectId of the principal in Azure Active Directory." + }, + "description": { + "type": "string", + "description": "An description of the access policy." + }, + "roles": { + "type": "array", + "items": { + "type": "string", + "description": "A role defining the data plane operations that a principal can perform on a Time Series Insights client.", + "enum": [ + "Reader", + "Contributor" + ], + "x-ms-enum": { + "name": "AccessPolicyRole", + "modelAsString": true + } + }, + "description": "The list of roles the principal is assigned on the environment." + } + } + }, + "AccessPolicyMutableProperties": { + "description": "An object that represents a set of mutable access policy resource properties.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "An description of the access policy." + }, + "roles": { + "type": "array", + "items": { + "type": "string", + "description": "A role defining the data plane operations that a principal can perform on a Time Series Insights client.", + "enum": [ + "Reader", + "Contributor" + ], + "x-ms-enum": { + "name": "AccessPolicyRole", + "modelAsString": true + } + }, + "description": "The list of roles the principal is assigned on the environment." + } + } + }, + "CloudError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." + } + }, + "description": "Contains information about an API error.", + "x-ms-external": true + }, + "CloudErrorBody": { + "type": "object", + "description": "Describes a particular API error with an error code and a message.", + "properties": { + "code": { + "type": "string", + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." + }, + "message": { + "type": "string", + "description": "A message that describes the error in detail and provides debugging information." + }, + "target": { + "type": "string", + "description": "The target of the particular error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." + }, + "description": "Contains nested errors that are related to this error." + } + }, + "x-ms-external": 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." + }, + "ExpandParameter": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Setting $expand=status will include the status of the internal services of the environment in the Time Series Insights service." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Name of an Azure Resource group." + }, + "EnvironmentNameParameter": { + "name": "environmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Time Series Insights environment associated with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "EventSourceNameParameter": { + "name": "eventSourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Time Series Insights event source associated with the specified environment.", + "x-ms-parameter-location": "method" + }, + "ReferenceDataSetNameParameter": { + "name": "referenceDataSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Time Series Insights reference data set associated with the specified environment.", + "x-ms-parameter-location": "method" + }, + "AccessPolicyNameParameter": { + "name": "accessPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Time Series Insights access policy associated with the specified environment.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/timeseriesinsights/resource-manager/readme.azureresourceschema.md b/specification/timeseriesinsights/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..297d0aa6a16a --- /dev/null +++ b/specification/timeseriesinsights/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,60 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-timeseriesinsights-2020-05-15 + - tag: schema-timeseriesinsights-2018-08-15-preview + - tag: schema-timeseriesinsights-2017-11-15 + - tag: schema-timeseriesinsights-2017-02-28-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-timeseriesinsights-2020-05-15 and azureresourceschema + +``` yaml $(tag) == 'schema-timeseriesinsights-2020-05-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.TimeSeriesInsights/stable/2020-05-15/timeseriesinsights.json + +``` + +### Tag: schema-timeseriesinsights-2018-08-15-preview and azureresourceschema + +``` yaml $(tag) == 'schema-timeseriesinsights-2018-08-15-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.TimeSeriesInsights/preview/2018-08-15-preview/timeseriesinsights.json + +``` + +### Tag: schema-timeseriesinsights-2017-11-15 and azureresourceschema + +``` yaml $(tag) == 'schema-timeseriesinsights-2017-11-15' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.TimeSeriesInsights/stable/2017-11-15/timeseriesinsights.json + +``` + +### Tag: schema-timeseriesinsights-2017-02-28-preview and azureresourceschema + +``` yaml $(tag) == 'schema-timeseriesinsights-2017-02-28-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.TimeSeriesInsights/preview/2017-02-28-preview/timeseriesinsights.json + +``` diff --git a/specification/timeseriesinsights/resource-manager/readme.go.md b/specification/timeseriesinsights/resource-manager/readme.go.md index 6a179450c62c..d10635c0c85f 100644 --- a/specification/timeseriesinsights/resource-manager/readme.go.md +++ b/specification/timeseriesinsights/resource-manager/readme.go.md @@ -16,6 +16,7 @@ batch: - tag: package-2017-11-15 - tag: package-2017-02-preview - tag: package-2018-08-preview + - tag: package-2020-05-15 ``` ### Tag: package-2017-11-15 and go @@ -43,4 +44,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2020-05-15' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-15/$(namespace) ``` \ No newline at end of file diff --git a/specification/timeseriesinsights/resource-manager/readme.md b/specification/timeseriesinsights/resource-manager/readme.md index ba285f75085e..f8d60e6f88aa 100644 --- a/specification/timeseriesinsights/resource-manager/readme.md +++ b/specification/timeseriesinsights/resource-manager/readme.md @@ -25,7 +25,16 @@ These are the global settings for the TimeSeriesInsights API. ``` yaml openapi-type: arm -tag: package-2018-08-preview +tag: package-2020-05-15 +``` + +### Tag: package-2020-05-15 + +These settings apply only when `--tag=package-2020-05-15` is specified on the command line. + +``` yaml $(tag) == 'package-2020-05-15' +input-file: +- Microsoft.TimeSeriesInsights/stable/2020-05-15/timeseriesinsights.json ``` ### Tag: package-2018-08-preview @@ -65,6 +74,8 @@ directive: - $.definitions.LongTermEnvironmentResource - $.definitions.EventHubEventSourceResource - $.definitions.IoTHubEventSourceResource + - $.definitions.Gen1EnvironmentResource + - $.definitions.Gen2EnvironmentResource from: timeseriesinsights.json reason: These violations are false positives. The EventSources_Get operation returns an EventSourceResource, and both EventHubEventSourceResource and IoTHubEventSourceResource inherit from EventSourceResource. Similarly, the Environments_Get operation returns an EnvironmentResource, from which both StandardEnvironmentResource and LongTermEnvironmentResource inherit. @@ -74,6 +85,8 @@ directive: - $.definitions.LongTermEnvironmentResource - $.definitions.EventHubEventSourceResource - $.definitions.IoTHubEventSourceResource + - $.definitions.Gen1EnvironmentResource + - $.definitions.Gen2EnvironmentResource from: timeseriesinsights.json reason: These violations are false positives. The EventSources_Update operation takes an EventSourceUpdateParameters as the body, and EventHubEventSourceUpdateParameters and IoTHubEventSourceUpdateParameters both inherit from EventSourceUpdateParameters. Similarly, the Environments_Update operation takes an EnvironmentUpdateParameters as the body, and both StandardEnvironmentUpdateParameters and LongTermEnvironmentUpdateParameters inherit from EnvironmentUpdateParameters. These definitions can be used to update mutable properties of the event source, including the Tags collection. ``` @@ -93,6 +106,9 @@ swagger-to-sdk: - repo: azure-sdk-for-node - repo: azure-sdk-for-js - repo: azure-sdk-for-python + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js timeseriesinsights/resource-manager ``` ## Go @@ -124,6 +140,7 @@ batch: - tag: package-2017-11-15 - tag: package-2017-02-preview - tag: package-2018-08-preview + - tag: package-2020-05-15 ``` ### Tag: package-2017-11-15 and java @@ -165,6 +182,23 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2020-05-15 and java + +These settings apply only when `--tag=package-2020-05-15 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2020-05-15' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.timeseriesinsights.v2020_05_15 + output-folder: $(azure-libraries-for-java-folder)/sdk/timeseriesinsights/mgmt-v2020_05_15 +regenerate-manager: true +generate-interface: true +``` + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -177,6 +211,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.TimeSeriesInsights/stable/2020-05-15/timeseriesinsights.json - $(this-folder)/Microsoft.TimeSeriesInsights/preview/2018-08-15-preview/timeseriesinsights.json - $(this-folder)/Microsoft.TimeSeriesInsights/stable/2017-11-15/timeseriesinsights.json - $(this-folder)/Microsoft.TimeSeriesInsights/preview/2017-02-28-preview/timeseriesinsights.json diff --git a/specification/trafficmanager/resource-manager/readme.azureresourceschema.md b/specification/trafficmanager/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..9498db976572 --- /dev/null +++ b/specification/trafficmanager/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,96 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-network-2018-04-01 + - tag: schema-network-2018-03-01 + - tag: schema-network-2018-02-01 + - tag: schema-network-2017-09-01-preview + - tag: schema-network-2017-05-01 + - tag: schema-network-2017-03-01 + - tag: schema-network-2015-11-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-network-2018-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-04-01/trafficmanager.json + +``` + +### Tag: schema-network-2018-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-03-01/trafficmanager.json + +``` + +### Tag: schema-network-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2018-02-01/trafficmanager.json + +``` + +### Tag: schema-network-2017-09-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-09-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/preview/2017-09-01-preview/trafficmanageranalytics.json + +``` + +### Tag: schema-network-2017-05-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-05-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-05-01/trafficmanager.json + +``` + +### Tag: schema-network-2017-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2017-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2017-03-01/trafficmanager.json + +``` + +### Tag: schema-network-2015-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-network-2015-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Network/stable/2015-11-01/trafficmanager.json + +``` diff --git a/specification/trafficmanager/resource-manager/readme.md b/specification/trafficmanager/resource-manager/readme.md index bcd2f7307cd2..8df9cc48520b 100644 --- a/specification/trafficmanager/resource-manager/readme.md +++ b/specification/trafficmanager/resource-manager/readme.md @@ -181,6 +181,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_traffic_manager'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js trafficmanager/resource-manager ``` @@ -246,6 +249,10 @@ java: output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-trafficmanager ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/visualstudio/resource-manager/readme.azureresourceschema.md b/specification/visualstudio/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..a232fe5d0363 --- /dev/null +++ b/specification/visualstudio/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-visualstudio-2014-04-01-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-visualstudio-2014-04-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-visualstudio-2014-04-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VisualStudio/preview/2014-04-01-preview/Csm.json + +``` diff --git a/specification/visualstudio/resource-manager/readme.md b/specification/visualstudio/resource-manager/readme.md index 684094733f63..11529a100cc2 100644 --- a/specification/visualstudio/resource-manager/readme.md +++ b/specification/visualstudio/resource-manager/readme.md @@ -60,6 +60,9 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-node - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js visualstudio/resource-manager ``` ## Go @@ -102,6 +105,10 @@ generate-interface: true +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Operations_List.json b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Operations_List.json index be04943780f8..6f4f28c7ce33 100644 --- a/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Operations_List.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/preview/2019-08-09-preview/examples/Operations_List.json @@ -4,18 +4,227 @@ }, "responses": { "200": { - "body": [ - { - "display": { - "description": "Creates a private cloud", - "operation": "Create Private Cloud", - "provider": "Azure VMware Solution", - "resource": "Private Cloud" + "body": { + "value": [ + { + "display": { + "description": "Creates a private cloud", + "operation": "Create Private Cloud", + "provider": "Azure VMware Solution", + "resource": "Private Cloud" + }, + "name": "Microsoft.AVS/privateClouds/create", + "origin": "user,system" }, - "name": "Microsoft.AVS/privateClouds/create", - "origin": "user,system" - } - ], + { + "origin": "system", + "name": "Microsoft.AVS/privateClouds/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Azure Dedicated", + "resource": "Private Cloud", + "operation": "Read Private Cloud metric definitions", + "description": "Gets the available metrics for Private Cloud" + }, + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "UsedLatest", + "displayName": "Datastore disk used", + "displayDescription": "The total amount of disk used in SDDC", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Datastore.Disk" + }, + { + "name": "CapacityLatest", + "displayName": "Datastore disk total capacity", + "displayDescription": "The total capacity of disk in SDDC", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Datastore.Disk" + }, + { + "name": "EffectiveMemAverage", + "displayName": "Average Effective Memory", + "displayDescription": "Total amount of machine memory in cluster that is available", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Cluster.ClusterServices" + }, + { + "name": "EffectiveCpuAverage", + "displayName": "Average Effective CPU", + "displayDescription": "Total available CPU resources in cluster", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Cluster.ClusterServices" + }, + { + "name": "FailoverLatest", + "displayName": "Failover", + "displayDescription": "vSphere HA number of failures that can be tolerated", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Cluster.ClusterServices" + }, + { + "name": "TotalMhzAverage", + "displayName": "Average Total CPU", + "displayDescription": "Total CPU resources in cluster", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Cluster.Cpu" + }, + { + "name": "TotalMbAverage", + "displayName": "Average Total Memory", + "displayDescription": "Total memory in cluster", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Cluster.Mem" + }, + { + "name": "OverheadAverage", + "displayName": "Average Memory Overhead", + "displayDescription": "Host physical memory consumed by the virtualization infrastructure", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Cluster.Mem" + }, + { + "name": "UsageAverage", + "displayName": "Average Memory Usage", + "displayDescription": "Memory usage as percentage of total configured or available memory", + "unit": "Average", + "aggregationType": "Total", + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "enableRegionalMdmAccount": "false", + "sourceMdmAccount": "AVSShoebox2WestEurope", + "sourceMdmNamespace": "Vsphere.Cluster.Mem" + } + ] + } + } + }, + { + "origin": "system", + "name": "Microsoft.AVS/privateClouds/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.AVS", + "resource": "Private Cloud", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource" + } + }, + { + "origin": "system", + "name": "Microsoft.AVS/privateClouds/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.AVS", + "resource": "Private Cloud", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + } + } + ] + }, "nextLink": "string" } } diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_CreateOrUpdate.json new file mode 100644 index 000000000000..db6ed1cace6b --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_CreateOrUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "authorizationName": "authorization1", + "authorization": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/authorizations/authorization1", + "name": "authorization1", + "properties": { + "provisioningState": "Succeeded", + "expressRouteAuthorizationId": "/subscriptions/5206f269-120b-41ef-a95b-0dce7109de61/resourceGroups/tnt34-cust-mockp02-spearj2dev/providers/Microsoft.Network/expressroutecircuits/tnt34-cust-mockp02-spearj2dev-er/authorizations/myauth", + "expressRouteAuthorizationKey": "37b0db3b-3b17-4c7b-bf76-bf13b01bcadc" + }, + "type": "Microsoft.AVS/privateClouds/authorizations" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/authorizations/authorization1", + "name": "authorization1", + "properties": { + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/authorizations" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_Delete.json new file mode 100644 index 000000000000..c04b6f07ea36 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "authorizationName": "authorization1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_Get.json new file mode 100644 index 000000000000..f46d701b5ed1 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "authorizationName": "authorization1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/authorizations/authorization1", + "name": "authorization1", + "properties": { + "provisioningState": "Succeeded", + "expressRouteAuthorizationId": "/subscriptions/5206f269-120b-41ef-a95b-0dce7109de61/resourceGroups/tnt34-cust-mockp02-spearj2dev/providers/Microsoft.Network/expressroutecircuits/tnt34-cust-mockp02-spearj2dev-er/authorizations/myauth", + "expressRouteAuthorizationKey": "37b0db3b-3b17-4c7b-bf76-bf13b01bcadc" + }, + "type": "Microsoft.AVS/privateClouds/authorizations" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_List.json new file mode 100644 index 000000000000..59b726fb2677 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Authorizations_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/authorizations/authorization1", + "name": "authorization1", + "properties": { + "provisioningState": "Succeeded", + "expressRouteAuthorizationId": "/subscriptions/5206f269-120b-41ef-a95b-0dce7109de61/resourceGroups/tnt34-cust-mockp02-spearj2dev/providers/Microsoft.Network/expressroutecircuits/tnt34-cust-mockp02-spearj2dev-er/authorizations/myauth", + "expressRouteAuthorizationKey": "37b0db3b-3b17-4c7b-bf76-bf13b01bcadc" + }, + "type": "Microsoft.AVS/privateClouds/authorizations" + } + ] + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_CreateOrUpdate.json new file mode 100644 index 000000000000..0d432400c265 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_CreateOrUpdate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "cluster": { + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 3 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 3, + "hosts": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 3, + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + } + } +} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Delete.json similarity index 85% rename from specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Delete.json rename to specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Delete.json index 7f0b6d61ed68..9636f193d773 100644 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Delete.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-08-09-preview", + "api-version": "2020-03-20", "subscriptionId": "{subscription-id}", "resourceGroupName": "group1", "privateCloudName": "cloud1", diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Get.json new file mode 100644 index 000000000000..51ce81ce9109 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 4, + "hosts": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center", + "fakehost25.nyc1.kubernetes.center" + ], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_List.json new file mode 100644 index 000000000000..a56f1768ae13 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 3, + "hosts": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center" + ], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + ] + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Update.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Update.json new file mode 100644 index 000000000000..6d53d28ca362 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Clusters_Update.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "clusterName": "cluster1", + "clusterUpdate": { + "properties": { + "clusterSize": 4 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 4, + "hosts": [ + "fakehost22.nyc1.kubernetes.center", + "fakehost23.nyc1.kubernetes.center", + "fakehost24.nyc1.kubernetes.center", + "fakehost25.nyc1.kubernetes.center" + ], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1", + "name": "cluster1", + "sku": { + "name": "AV20" + }, + "properties": { + "clusterSize": 4, + "provisioningState": "Updating" + }, + "type": "Microsoft.AVS/privateClouds/clusters" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_CreateOrUpdate.json new file mode 100644 index 000000000000..a76beef41897 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_CreateOrUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "hcxEnterpriseSiteName": "site1", + "hcxEnterpriseSite": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/hcxEnterpriseSites/site1", + "name": "site1", + "properties": { + "activationKey": "0276EF1A9A1749A5A362BF73EA9F8D0D", + "status": "Available" + }, + "type": "Microsoft.AVS/privateClouds/hcxEnterpriseSites" + } + }, + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/hcxEnterpriseSites/site1", + "name": "site1", + "properties": { + "activationKey": "0276EF1A9A1749A5A362BF73EA9F8D0D", + "status": "Available" + }, + "type": "Microsoft.AVS/privateClouds/hcxEnterpriseSites" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_Delete.json new file mode 100644 index 000000000000..0e2b3b7683fa --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "hcxEnterpriseSiteName": "site1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_Get.json new file mode 100644 index 000000000000..32249e4d0ec0 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1", + "hcxEnterpriseSiteName": "site1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/hcxEnterpriseSites/site1", + "name": "site1", + "properties": { + "activationKey": "0276EF1A9A1749A5A362BF73EA9F8D0D", + "status": "Available" + }, + "type": "Microsoft.AVS/privateClouds/hcxEnterpriseSites" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_List.json new file mode 100644 index 000000000000..68d80d3e14c4 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/HcxEnterpriseSites_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1", + "privateCloudName": "cloud1" + }, + "responses": { + "200": { + "body": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/hcxEnterpriseSites/site1", + "name": "site1", + "properties": { + "activationKey": "0276EF1A9A1749A5A362BF73EA9F8D0D", + "status": "Available" + }, + "type": "Microsoft.AVS/privateClouds/hcxEnterpriseSites" + } + ] + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Locations_CheckQuotaAvailability.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Locations_CheckQuotaAvailability.json new file mode 100644 index 000000000000..11b355054e5f --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Locations_CheckQuotaAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-03-20", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "hostsRemaining": { + "AV20": 0, + "AV36": 999 + }, + "quotaEnabled": "Enabled" + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Locations_CheckTrialAvailability.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Locations_CheckTrialAvailability.json new file mode 100644 index 000000000000..fc41a1e8b540 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Locations_CheckTrialAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-03-20", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "status": "TrialAvailable", + "availableHosts": 4 + } + } + } +} diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Operations_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Operations_List.json new file mode 100644 index 000000000000..36fea5ade871 --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/Operations_List.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2020-03-20" + }, + "responses": { + "200": { + "body": [ + { + "display": { + "description": "Creates a private cloud", + "operation": "Create Private Cloud", + "provider": "Azure VMware Solution", + "resource": "Private Cloud" + }, + "name": "Microsoft.AVS/privateClouds/create", + "origin": "user,system" + } + ], + "nextLink": "string" + } + } +} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_CreateOrUpdate.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_CreateOrUpdate.json similarity index 80% rename from specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_CreateOrUpdate.json rename to specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_CreateOrUpdate.json index b66bb8939e90..cc919583e275 100644 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_CreateOrUpdate.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_CreateOrUpdate.json @@ -1,13 +1,17 @@ { "parameters": { - "api-version": "2019-08-09-preview", + "api-version": "2020-03-20", "subscriptionId": "{subscription-id}", "resourceGroupName": "group1", "privateCloudName": "cloud1", "privateCloud": { "location": "eastus2", + "sku": { + "name": "AV36" + }, "properties": { - "cluster": { + "networkBlock": "192.168.48.0/22", + "managementCluster": { "clusterSize": 4 } }, @@ -17,17 +21,20 @@ "responses": { "200": { "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", "location": "eastus2", "name": "cloud1", + "sku": { + "name": "AV36" + }, "properties": { + "networkBlock": "192.168.48.0/22", "circuit": { - "authorizations": [], "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", "primarySubnet": "192.168.53.0/30", "secondarySubnet": "192.168.53.4/30" }, - "cluster": { + "managementCluster": { "clusterId": 1, "clusterSize": 4, "hosts": [ @@ -37,7 +44,6 @@ "fakehost21.nyc1.kubernetes.center" ] }, - "clusters": [], "endpoints": { "nsxtManager": "https://192.168.50.3/", "vcsa": "https://192.168.50.2/" @@ -55,26 +61,28 @@ } ], "internet": "Disabled", - "provisioningState": "Updating" + "provisioningState": "Succeeded" }, "tags": {}, - "type": "Microsoft.VMwareVirtustream/privateClouds" + "type": "Microsoft.AVS/privateClouds" } }, "201": { "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", "location": "eastus2", "name": "cloud1", + "sku": { + "name": "AV36" + }, "properties": { + "networkBlock": "192.168.48.0/22", "circuit": { - "authorizations": [], "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", "primarySubnet": "192.168.53.0/30", - "secondarySubnet": "192.168.53.4/30", - "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + "secondarySubnet": "192.168.53.4/30" }, - "cluster": { + "managementCluster": { "clusterId": 1, "clusterSize": 4, "hosts": [ @@ -84,7 +92,6 @@ "fakehost21.nyc1.kubernetes.center" ] }, - "clusters": [], "endpoints": { "nsxtManager": "https://192.168.50.3/", "vcsa": "https://192.168.50.2/" @@ -105,7 +112,7 @@ "provisioningState": "Updating" }, "tags": {}, - "type": "Microsoft.VMwareVirtustream/privateClouds" + "type": "Microsoft.AVS/privateClouds" } } } diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Delete.json similarity index 83% rename from specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json rename to specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Delete.json index cbadcd2a5823..04c08417f575 100644 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Delete.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-08-09-preview", + "api-version": "2020-03-20", "subscriptionId": "{subscription-id}", "resourceGroupName": "group1", "privateCloudName": "cloud1" diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Get.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Get.json similarity index 81% rename from specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Get.json rename to specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Get.json index 0a88f8d07e67..7af8414e147d 100644 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Get.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Get.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-08-09-preview", + "api-version": "2020-03-20", "subscriptionId": "{subscription-id}", "resourceGroupName": "group1", "privateCloudName": "cloud1" @@ -8,18 +8,21 @@ "responses": { "200": { "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", "location": "eastus2", "name": "cloud1", + "sku": { + "name": "AV36" + }, "properties": { + "networkBlock": "192.168.48.0/22", "circuit": { - "authorizations": [], "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", "primarySubnet": "192.168.53.0/30", "secondarySubnet": "192.168.53.4/30", "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" }, - "cluster": { + "managementCluster": { "clusterId": 1, "clusterSize": 4, "hosts": [ @@ -29,10 +32,10 @@ "fakehost21.nyc1.kubernetes.center" ] }, - "clusters": [], "endpoints": { "nsxtManager": "https://192.168.50.3/", - "vcsa": "https://192.168.50.2/" + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" }, "identitySources": [ { @@ -47,10 +50,10 @@ } ], "internet": "Disabled", - "provisioningState": "Updating" + "provisioningState": "Succeeded" }, "tags": {}, - "type": "Microsoft.VMwareVirtustream/privateClouds" + "type": "Microsoft.AVS/privateClouds" } } } diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_List.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_List.json new file mode 100644 index 000000000000..9fa095b684de --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_List.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2020-03-20", + "subscriptionId": "{subscription-id}", + "resourceGroupName": "group1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", + "location": "eastus2", + "name": "cloud1", + "sku": { + "name": "AV36" + }, + "properties": { + "networkBlock": "192.168.48.0/22", + "circuit": { + "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", + "primarySubnet": "192.168.53.0/30", + "secondarySubnet": "192.168.53.4/30", + "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" + }, + "managementCluster": { + "clusterId": 1, + "clusterSize": 4, + "hosts": [ + "fakehost18.nyc1.kubernetes.center", + "fakehost19.nyc1.kubernetes.center", + "fakehost20.nyc1.kubernetes.center", + "fakehost21.nyc1.kubernetes.center" + ] + }, + "endpoints": { + "nsxtManager": "https://192.168.50.3/", + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" + }, + "identitySources": [ + { + "alias": "groupAlias", + "baseGroupDN": "ou=baseGroup", + "baseUserDN": "ou=baseUser", + "domain": "domain1", + "name": "group1", + "primaryServer": "ldaps://1.1.1.1:636/", + "secondaryServer": "ldaps://1.1.1.2:636/", + "ssl": "Enabled" + } + ], + "internet": "Disabled", + "provisioningState": "Succeeded" + }, + "tags": {}, + "type": "Microsoft.AVS/privateClouds" + } + ] + } + } + } +} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_ListAdminCredentials.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_ListAdminCredentials.json similarity index 89% rename from specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_ListAdminCredentials.json rename to specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_ListAdminCredentials.json index 7284be8ebf79..d7652c5fff6d 100644 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_ListAdminCredentials.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_ListAdminCredentials.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-08-09-preview", + "api-version": "2020-03-20", "subscriptionId": "{subscription-id}", "resourceGroupName": "group1", "privateCloudName": "cloud1" diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_ListInSubscription.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_ListInSubscription.json similarity index 81% rename from specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_ListInSubscription.json rename to specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_ListInSubscription.json index e1cfd76318dd..5f5c1555c0a9 100644 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_ListInSubscription.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_ListInSubscription.json @@ -1,24 +1,27 @@ { "parameters": { - "api-version": "2019-08-09-preview", + "api-version": "2020-03-20", "subscriptionId": "{subscription-id}" }, "responses": { "200": { "body": [ { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", "location": "eastus2", "name": "cloud1", + "sku": { + "name": "AV36" + }, "properties": { + "networkBlock": "192.168.48.0/22", "circuit": { - "authorizations": [], "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", "primarySubnet": "192.168.53.0/30", "secondarySubnet": "192.168.53.4/30", "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" }, - "cluster": { + "managementCluster": { "clusterId": 1, "clusterSize": 4, "hosts": [ @@ -28,10 +31,10 @@ "fakehost21.nyc1.kubernetes.center" ] }, - "clusters": [], "endpoints": { "nsxtManager": "https://192.168.50.3/", - "vcsa": "https://192.168.50.2/" + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" }, "identitySources": [ { @@ -46,10 +49,10 @@ } ], "internet": "Disabled", - "provisioningState": "Updating" + "provisioningState": "Succeeded" }, "tags": {}, - "type": "Microsoft.VMwareVirtustream/privateClouds" + "type": "Microsoft.AVS/privateClouds" } ] } diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Update.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Update.json similarity index 84% rename from specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Update.json rename to specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Update.json index 8e429efbe6aa..2ea9820cebe1 100644 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_Update.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/examples/PrivateClouds_Update.json @@ -1,34 +1,35 @@ { "parameters": { - "api-version": "2019-08-09-preview", + "api-version": "2020-03-20", "subscriptionId": "{subscription-id}", "resourceGroupName": "group1", "privateCloudName": "cloud1", - "privateCloud": { - "location": "eastus2", + "privateCloudUpdate": { "properties": { - "cluster": { + "managementCluster": { "clusterSize": 4 } - }, - "tags": {} + } } }, "responses": { "200": { "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", "location": "eastus2", "name": "cloud1", + "sku": { + "name": "AV36" + }, "properties": { + "networkBlock": "192.168.48.0/22", "circuit": { - "authorizations": [], "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", "primarySubnet": "192.168.53.0/30", "secondarySubnet": "192.168.53.4/30", "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" }, - "cluster": { + "managementCluster": { "clusterId": 1, "clusterSize": 4, "hosts": [ @@ -38,10 +39,10 @@ "fakehost21.nyc1.kubernetes.center" ] }, - "clusters": [], "endpoints": { "nsxtManager": "https://192.168.50.3/", - "vcsa": "https://192.168.50.2/" + "vcsa": "https://192.168.50.2/", + "hcxCloudManager": "https://192.168.50.4/" }, "identitySources": [ { @@ -56,26 +57,27 @@ } ], "internet": "Disabled", - "provisioningState": "Updating" + "provisioningState": "Succeeded" }, "tags": {}, - "type": "Microsoft.VMwareVirtustream/privateClouds" + "type": "Microsoft.AVS/privateClouds" } }, "201": { "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1", + "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1", "location": "eastus2", "name": "cloud1", + "sku": "AV36", "properties": { + "networkBlock": "192.168.48.0/22", "circuit": { - "authorizations": [], "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", "primarySubnet": "192.168.53.0/30", "secondarySubnet": "192.168.53.4/30", "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" }, - "cluster": { + "managementCluster": { "clusterId": 1, "clusterSize": 4, "hosts": [ @@ -85,7 +87,6 @@ "fakehost21.nyc1.kubernetes.center" ] }, - "clusters": [], "endpoints": { "nsxtManager": "https://192.168.50.3/", "vcsa": "https://192.168.50.2/" @@ -106,7 +107,7 @@ "provisioningState": "Updating" }, "tags": {}, - "type": "Microsoft.VMwareVirtustream/privateClouds" + "type": "Microsoft.AVS/privateClouds" } } } diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/vmware.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/vmware.json new file mode 100644 index 000000000000..1a8d82df26ce --- /dev/null +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2020-03-20/vmware.json @@ -0,0 +1,1897 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure VMware Solution API", + "description": "Azure VMware Solution API", + "version": "2020-03-20" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "PrivateClouds", + "description": "" + }, + { + "name": "Clusters", + "description": "" + }, + { + "name": "Operations", + "description": "" + }, + { + "name": "Locations", + "description": "" + }, + { + "name": "HcxEnterpriseSites", + "description": "" + }, + { + "name": "Authorizations", + "description": "" + } + ], + "parameters": { + "privateCloudName": { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private cloud", + "x-ms-parameter-location": "method" + }, + "clusterName": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the cluster in the private cloud", + "x-ms-parameter-location": "method" + }, + "hcxEnterpriseSiteName": { + "name": "hcxEnterpriseSiteName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the HCX Enterprise Site in the private cloud", + "x-ms-parameter-location": "method" + }, + "authorizationName": { + "name": "authorizationName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the ExpressRoute Circuit Authorization in the private cloud", + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/providers/Microsoft.AVS/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available operations", + "operationId": "Operations_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AVS/locations/{location}/checkTrialAvailability": { + "post": { + "tags": [ + "Locations" + ], + "description": "Return trial status for subscription by region", + "operationId": "Locations_CheckTrialAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "Azure region" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/Trial" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CheckQuotaAvailability": { + "$ref": "./examples/Locations_CheckTrialAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AVS/locations/{location}/checkQuotaAvailability": { + "post": { + "tags": [ + "Locations" + ], + "description": "Return quota for subscription by region", + "operationId": "Locations_CheckQuotaAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "Azure region" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request has succeeded", + "schema": { + "$ref": "#/definitions/Quota" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CheckQuotaAvailability": { + "$ref": "./examples/Locations_CheckQuotaAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds": { + "get": { + "operationId": "PrivateClouds_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "PrivateClouds" + ], + "summary": "List private clouds in a resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloudList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_List": { + "$ref": "./examples/PrivateClouds_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AVS/privateClouds": { + "get": { + "operationId": "PrivateClouds_ListInSubscription", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "PrivateClouds" + ], + "summary": "List private clouds in a subscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloudList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_List": { + "$ref": "./examples/PrivateClouds_ListInSubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}": { + "get": { + "operationId": "PrivateClouds_Get", + "tags": [ + "PrivateClouds" + ], + "summary": "Get a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_Get": { + "$ref": "./examples/PrivateClouds_Get.json" + } + } + }, + "put": { + "operationId": "PrivateClouds_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "PrivateClouds" + ], + "summary": "Create or update a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "name": "privateCloud", + "description": "The private cloud", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_CreateOrUpdate": { + "$ref": "./examples/PrivateClouds_CreateOrUpdate.json" + } + } + }, + "patch": { + "operationId": "PrivateClouds_Update", + "x-ms-long-running-operation": true, + "tags": [ + "PrivateClouds" + ], + "summary": "Update a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "name": "privateCloudUpdate", + "description": "The private cloud properties to be updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateCloudUpdate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_Update": { + "$ref": "./examples/PrivateClouds_Update.json" + } + } + }, + "delete": { + "operationId": "PrivateClouds_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "PrivateClouds" + ], + "summary": "Delete a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No private cloud to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_Delete": { + "$ref": "./examples/PrivateClouds_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters": { + "get": { + "operationId": "Clusters_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "Clusters" + ], + "summary": "List clusters in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ClusterList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_List": { + "$ref": "./examples/Clusters_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/clusters/{clusterName}": { + "get": { + "operationId": "Clusters_Get", + "tags": [ + "Clusters" + ], + "summary": "Get a cluster by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_Get": { + "$ref": "./examples/Clusters_Get.json" + } + } + }, + "put": { + "operationId": "Clusters_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "Clusters" + ], + "summary": "Create or update a cluster in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "name": "cluster", + "description": "A cluster in the private cloud", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_CreateOrUpdate": { + "$ref": "./examples/Clusters_CreateOrUpdate.json" + } + } + }, + "patch": { + "operationId": "Clusters_Update", + "x-ms-long-running-operation": true, + "tags": [ + "Clusters" + ], + "summary": "Update a cluster in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "name": "clusterUpdate", + "description": "The cluster properties to be updated", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_Update": { + "$ref": "./examples/Clusters_Update.json" + } + } + }, + "delete": { + "operationId": "Clusters_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "Clusters" + ], + "summary": "Delete a cluster in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/clusterName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No cluster to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Clusters_Delete": { + "$ref": "./examples/Clusters_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/listAdminCredentials": { + "post": { + "operationId": "PrivateClouds_ListAdminCredentials", + "tags": [ + "PrivateClouds" + ], + "summary": "List the admin credentials for the private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/AdminCredentials" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PrivateClouds_ListAdminCredentials": { + "$ref": "./examples/PrivateClouds_ListAdminCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/hcxEnterpriseSites": { + "get": { + "operationId": "HcxEnterpriseSites_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "HcxEnterpriseSites" + ], + "summary": "List HCX Enterprise Sites in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/HcxEnterpriseSiteList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "HcxEnterpriseSites_List": { + "$ref": "./examples/HcxEnterpriseSites_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/hcxEnterpriseSites/{hcxEnterpriseSiteName}": { + "get": { + "operationId": "HcxEnterpriseSites_Get", + "tags": [ + "HcxEnterpriseSites" + ], + "summary": "Get an HCX Enterprise Site by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/hcxEnterpriseSiteName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "HcxEnterpriseSites_Get": { + "$ref": "./examples/HcxEnterpriseSites_Get.json" + } + } + }, + "put": { + "operationId": "HcxEnterpriseSites_CreateOrUpdate", + "tags": [ + "HcxEnterpriseSites" + ], + "summary": "Create or update an HCX Enterprise Site in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/hcxEnterpriseSiteName" + }, + { + "name": "hcxEnterpriseSite", + "description": "The HCX Enterprise Site", + "in": "body", + "required": true, + "schema": { + "type": "object" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful update", + "schema": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + "201": { + "description": "successful create", + "schema": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "HcxEnterpriseSites_CreateOrUpdate": { + "$ref": "./examples/HcxEnterpriseSites_CreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "HcxEnterpriseSites_Delete", + "tags": [ + "HcxEnterpriseSites" + ], + "summary": "Delete an HCX Enterprise Site in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/hcxEnterpriseSiteName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "204": { + "description": "No Content. No HCX Enterprise Site to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "HcxEnterpriseSites_Delete": { + "$ref": "./examples/HcxEnterpriseSites_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/authorizations": { + "get": { + "operationId": "Authorizations_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "Authorizations" + ], + "summary": "List ExpressRoute Circuit Authorizations in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorizationList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Authorizations_List": { + "$ref": "./examples/Authorizations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/authorizations/{authorizationName}": { + "get": { + "operationId": "Authorizations_Get", + "tags": [ + "Authorizations" + ], + "summary": "Get an ExpressRoute Circuit Authorization by name in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/authorizationName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Authorizations_Get": { + "$ref": "./examples/Authorizations_Get.json" + } + } + }, + "put": { + "operationId": "Authorizations_CreateOrUpdate", + "x-ms-long-running-operation": true, + "tags": [ + "Authorizations" + ], + "summary": "Create or update an ExpressRoute Circuit Authorization in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "privateCloudName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private cloud." + }, + { + "$ref": "#/parameters/authorizationName" + }, + { + "name": "authorization", + "description": "An ExpressRoute Circuit Authorization", + "in": "body", + "required": true, + "schema": { + "type": "object" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + "201": { + "description": "accepted operation", + "schema": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Authorizations_CreateOrUpdate": { + "$ref": "./examples/Authorizations_CreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "Authorizations_Delete", + "x-ms-long-running-operation": true, + "tags": [ + "Authorizations" + ], + "summary": "Delete an ExpressRoute Circuit Authorization in a private cloud", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/privateCloudName" + }, + { + "$ref": "#/parameters/authorizationName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The delete has succeeded" + }, + "202": { + "description": "Accepted. The delete will complete asynchronously" + }, + "204": { + "description": "No Content. No ExpressRoute Circuit Authorization to delete" + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Authorizations_Delete": { + "$ref": "./examples/Authorizations_Delete.json" + } + } + } + } + }, + "definitions": { + "Trial": { + "description": "Subscription trial availability", + "properties": { + "status": { + "description": "Trial status", + "type": "string", + "enum": [ + "TrialAvailable", + "TrialUsed", + "TrialDisabled" + ], + "readOnly": true, + "x-ms-enum": { + "name": "TrialStatus", + "modelAsString": true + } + }, + "availableHosts": { + "description": "Number of trial hosts available", + "type": "integer", + "readOnly": true + } + } + }, + "Quota": { + "description": "Subscription quotas", + "properties": { + "hostsRemaining": { + "description": "Remaining hosts quota by sku type", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "integer", + "readOnly": true + } + }, + "quotaEnabled": { + "description": "Host quota is active for current subscription", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "readOnly": true, + "x-ms-enum": { + "name": "QuotaEnabled", + "modelAsString": true + } + } + } + }, + "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" + } + }, + "x-ms-azure-resource": 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" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "description": "An error returned by the API", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "API error response" + }, + "OperationList": { + "description": "Pageable list of operations", + "properties": { + "value": { + "description": "List of operations", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation being performed on this object", + "type": "string", + "readOnly": true + }, + "display": { + "description": "Contains the localized display information for this operation", + "readOnly": true, + "properties": { + "provider": { + "description": "Localized friendly form of the resource provider name", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Localized friendly form of the resource type related to this operation", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string", + "readOnly": true + } + } + } + } + }, + "ExpressRouteAuthorization": { + "description": "ExpressRoute Circuit Authorization", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an ExpressRoute Circuit Authorization resource", + "$ref": "#/definitions/ExpressRouteAuthorizationProperties", + "x-ms-client-flatten": true + } + } + }, + "ExpressRouteAuthorizationProperties": { + "description": "The properties of an ExpressRoute Circuit Authorization resource", + "properties": { + "provisioningState": { + "description": "The state of the ExpressRoute Circuit Authorization provisioning", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Updating" + ], + "x-ms-enum": { + "name": "ExpressRouteAuthorizationProvisioningState", + "modelAsString": true + } + }, + "expressRouteAuthorizationId": { + "description": "The ID of the ExpressRoute Circuit Authorization", + "type": "string", + "readOnly": true + }, + "expressRouteAuthorizationKey": { + "description": "The key of the ExpressRoute Circuit Authorization", + "type": "string", + "readOnly": true + } + } + }, + "ExpressRouteAuthorizationList": { + "description": "A paged list of ExpressRoute Circuit Authorizations", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ExpressRouteAuthorization" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "Circuit": { + "description": "An ExpressRoute Circuit", + "properties": { + "primarySubnet": { + "type": "string", + "readOnly": true, + "description": "CIDR of primary subnet" + }, + "secondarySubnet": { + "type": "string", + "readOnly": true, + "description": "CIDR of secondary subnet" + }, + "expressRouteID": { + "type": "string", + "readOnly": true, + "description": "Identifier of the ExpressRoute Circuit (Microsoft Colo only)" + }, + "expressRoutePrivatePeeringID": { + "type": "string", + "readOnly": true, + "description": "ExpressRoute Circuit private peering identifier" + } + } + }, + "Endpoints": { + "description": "Endpoint addresses", + "properties": { + "nsxtManager": { + "description": "Endpoint for the NSX-T Data Center manager", + "type": "string", + "readOnly": true + }, + "vcsa": { + "description": "Endpoint for Virtual Center Server Appliance", + "type": "string", + "readOnly": true + }, + "hcxCloudManager": { + "description": "Endpoint for the HCX Cloud Manager", + "type": "string", + "readOnly": true + } + } + }, + "IdentitySource": { + "description": "vCenter Single Sign On Identity Source", + "properties": { + "name": { + "description": "The name of the identity source", + "type": "string" + }, + "alias": { + "description": "The domain's NetBIOS name", + "type": "string" + }, + "domain": { + "description": "The domain's dns name", + "type": "string" + }, + "baseUserDN": { + "description": "The base distinguished name for users", + "type": "string" + }, + "baseGroupDN": { + "description": "The base distinguished name for groups", + "type": "string" + }, + "primaryServer": { + "description": "Primary server URL", + "type": "string" + }, + "secondaryServer": { + "description": "Secondary server URL", + "type": "string" + }, + "ssl": { + "description": "Protect LDAP communication using SSL certificate (LDAPS)", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "SslEnum", + "modelAsString": true + } + }, + "username": { + "description": "The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group", + "type": "string" + }, + "password": { + "description": "The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups.", + "type": "string", + "x-ms-secret": true + } + } + }, + "PrivateCloud": { + "description": "A private cloud resource", + "required": [ + "location", + "sku", + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "description": "The private cloud SKU", + "$ref": "#/definitions/Sku" + }, + "properties": { + "description": "The properties of a private cloud resource", + "$ref": "#/definitions/PrivateCloudProperties", + "x-ms-client-flatten": true + } + } + }, + "PrivateCloudUpdate": { + "description": "An update to a private cloud resource", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "properties": { + "description": "The updatable properties of a private cloud resource", + "$ref": "#/definitions/PrivateCloudUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "PrivateCloudUpdateProperties": { + "description": "The properties of a private cloud resource that may be updated", + "properties": { + "managementCluster": { + "description": "The default cluster used for management", + "$ref": "#/definitions/ManagementCluster" + }, + "internet": { + "description": "Connectivity to internet is enabled or disabled", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InternetEnum", + "modelAsString": true + } + }, + "identitySources": { + "description": "vCenter Single Sign On Identity Sources", + "type": "array", + "items": { + "$ref": "#/definitions/IdentitySource" + } + } + } + }, + "PrivateCloudProperties": { + "description": "The properties of a private cloud resource", + "required": [ + "managementCluster", + "networkBlock" + ], + "allOf": [ + { + "$ref": "#/definitions/PrivateCloudUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Pending", + "Building", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "PrivateCloudProvisioningState", + "modelAsString": true + } + }, + "circuit": { + "description": "An ExpressRoute Circuit", + "$ref": "#/definitions/Circuit" + }, + "endpoints": { + "description": "The endpoints", + "readOnly": true, + "$ref": "#/definitions/Endpoints" + }, + "networkBlock": { + "description": "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", + "type": "string" + }, + "managementNetwork": { + "description": "Network used to access vCenter Server and NSX-T Manager", + "type": "string", + "readOnly": true + }, + "provisioningNetwork": { + "description": "Used for virtual machine cold migration, cloning, and snapshot migration", + "type": "string", + "readOnly": true + }, + "vmotionNetwork": { + "description": "Used for live migration of virtual machines", + "type": "string", + "readOnly": true + }, + "vcenterPassword": { + "description": "Optionally, set the vCenter admin password when the private cloud is created", + "type": "string", + "x-ms-secret": true + }, + "nsxtPassword": { + "description": "Optionally, set the NSX-T Manager password when the private cloud is created", + "type": "string", + "x-ms-secret": true + }, + "vcenterCertificateThumbprint": { + "description": "Thumbprint of the vCenter Server SSL certificate", + "type": "string", + "readOnly": true + }, + "nsxtCertificateThumbprint": { + "description": "Thumbprint of the NSX-T Manager SSL certificate", + "type": "string", + "readOnly": true + } + } + }, + "Cluster": { + "description": "A cluster resource", + "required": [ + "sku", + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "description": "The cluster SKU", + "$ref": "#/definitions/Sku" + }, + "properties": { + "description": "The properties of a cluster resource", + "$ref": "#/definitions/ClusterProperties", + "x-ms-client-flatten": true + } + } + }, + "ClusterUpdate": { + "description": "An update of a cluster resource", + "properties": { + "properties": { + "description": "The properties of a cluster resource that may be updated", + "$ref": "#/definitions/ClusterUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "ClusterUpdateProperties": { + "description": "The properties of a cluster that may be updated", + "properties": { + "clusterSize": { + "description": "The cluster size", + "type": "integer" + } + } + }, + "ManagementCluster": { + "description": "The properties of a default cluster", + "required": [ + "clusterSize" + ], + "allOf": [ + { + "$ref": "#/definitions/ClusterUpdateProperties" + } + ], + "properties": { + "clusterId": { + "description": "The identity", + "type": "integer", + "readOnly": true + }, + "hosts": { + "description": "The hosts", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "ClusterProperties": { + "description": "The properties of a cluster", + "allOf": [ + { + "$ref": "#/definitions/ManagementCluster" + } + ], + "properties": { + "provisioningState": { + "description": "The state of the cluster provisioning", + "type": "string", + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "ClusterProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateCloudList": { + "description": "A paged list of private clouds", + "properties": { + "value": { + "description": "The items on the page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateCloud" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "ClusterList": { + "description": "A paged list of clusters", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Cluster" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "AdminCredentials": { + "description": "Administrative credentials for accessing vCenter and NSX-T", + "properties": { + "nsxtUsername": { + "description": "NSX-T Manager username", + "type": "string", + "readOnly": true + }, + "nsxtPassword": { + "description": "NSX-T Manager password", + "type": "string", + "readOnly": true, + "x-ms-secret": true + }, + "vcenterUsername": { + "description": "vCenter admin username", + "type": "string", + "readOnly": true + }, + "vcenterPassword": { + "description": "vCenter admin password", + "type": "string", + "readOnly": true, + "x-ms-secret": true + } + } + }, + "Sku": { + "description": "The resource model definition representing SKU", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU." + } + }, + "required": [ + "name" + ] + }, + "HcxEnterpriseSiteList": { + "description": "A paged list of HCX Enterprise Sites", + "properties": { + "value": { + "description": "The items on a page", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/HcxEnterpriseSite" + } + }, + "nextLink": { + "description": "URL to get the next page if any", + "type": "string", + "readOnly": true + } + } + }, + "HcxEnterpriseSite": { + "description": "An HCX Enterprise Site resource", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an HCX Enterprise Site resource", + "$ref": "#/definitions/HcxEnterpriseSiteProperties", + "x-ms-client-flatten": true + } + } + }, + "HcxEnterpriseSiteProperties": { + "description": "The properties of an HCX Enterprise Site", + "properties": { + "activationKey": { + "description": "The activation key", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the HCX Enterprise Site", + "type": "string", + "readOnly": true, + "enum": [ + "Available", + "Consumed", + "Deactivated", + "Deleted" + ], + "x-ms-enum": { + "name": "HcxEnterpriseSiteStatus", + "modelAsString": true + } + } + } + } + } +} diff --git a/specification/vmware/resource-manager/readme.azureresourceschema.md b/specification/vmware/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..7d16e23c5336 --- /dev/null +++ b/specification/vmware/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-avs-2020-03-20 + - tag: schema-avs-2019-08-09-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-avs-2020-03-20 and azureresourceschema + +``` yaml $(tag) == 'schema-avs-2020-03-20' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AVS/stable/2020-03-20/vmware.json + +``` + +### Tag: schema-avs-2019-08-09-preview and azureresourceschema + +``` yaml $(tag) == 'schema-avs-2019-08-09-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.AVS/preview/2019-08-09-preview/vmware.json + +``` diff --git a/specification/vmware/resource-manager/readme.csharp.md b/specification/vmware/resource-manager/readme.csharp.md index 77d4211ccfba..97f5c0aea663 100644 --- a/specification/vmware/resource-manager/readme.csharp.md +++ b/specification/vmware/resource-manager/readme.csharp.md @@ -5,11 +5,10 @@ Please also specify `--csharp-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-03-20' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-03-20/$(namespace) +``` + +### Tag: package-2019-08-09-preview and go + +These settings apply only when `--tag=package-2019-08-09-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2019-08-09-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-08-09-preview/$(namespace) +``` diff --git a/specification/vmware/resource-manager/readme.java.md b/specification/vmware/resource-manager/readme.java.md new file mode 100644 index 000000000000..48dbcd130384 --- /dev/null +++ b/specification/vmware/resource-manager/readme.java.md @@ -0,0 +1,46 @@ +## Java + +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 +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-2020-03-20 + - tag: package-2019-08-09-preview +``` + +### 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 +``` + +### Tag: package-2019-08-09-preview and java + +These settings apply only when `--tag=package-2019-08-09 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2019-08-09-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.avs.v2019_08_09_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/avs/mgmt-v2019_08_09_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/vmware/resource-manager/readme.md b/specification/vmware/resource-manager/readme.md index a2a404bfe4b6..e659c411b608 100644 --- a/specification/vmware/resource-manager/readme.md +++ b/specification/vmware/resource-manager/readme.md @@ -21,7 +21,23 @@ These are the global settings for the VMware Solution API. ``` yaml openapi-type: arm -tag: package-2019-08-09-preview +tag: package-2020-03-20 +``` + +### Tag: package-2020-03-20 + +These settings apply only when `--tag=package-2020-03-20` is specified on the command line. + +``` yaml $(tag) == 'package-2020-03-20' +input-file: +- Microsoft.AVS/stable/2020-03-20/vmware.json +directive: + - suppress: R3020 + from: vmware.json + reason: Microsoft.AVS was chosen over Microsoft.AzureVMwareSolution + - suppress: R3010 + from: vmware.json + reason: list by immediate parent operations are defined ``` ### Tag: package-2019-08-09-preview @@ -56,6 +72,11 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-python - repo: azure-sdk-for-net + - repo: azure-sdk-for-go + - repo: azure-sdk-for-java + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js vmware/resource-manager ``` ## TypeScript @@ -70,6 +91,18 @@ See configuration in [readme.python.md](./readme.python.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Java + +See configuration in [readme.java.md](./readme.java.md) + +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -82,6 +115,7 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.AVS/stable/2020-03-20/vmware.json - $(this-folder)/Microsoft.AVS/preview/2019-08-09-preview/vmware.json ``` diff --git a/specification/vmware/resource-manager/readme.python.md b/specification/vmware/resource-manager/readme.python.md index ab4c07555c3b..272675865581 100644 --- a/specification/vmware/resource-manager/readme.python.md +++ b/specification/vmware/resource-manager/readme.python.md @@ -6,22 +6,24 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat ```yaml $(python) python-mode: create + python: - package-version: 0.3.0 + package-version: 0.1.0 azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 - namespace: azure.mgmt.vmware - package-name: azure-mgmt-vmware + override-client-name: AVSClient + namespace: azure.mgmt.avs + package-name: azure-mgmt-avs clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' python: no-namespace-folders: true - output-folder: $(python-sdks-folder)/compute/azure-mgmt-vmware/azure/mgmt/vmware + output-folder: $(python-sdks-folder)/compute/azure-mgmt-avs/azure/mgmt/avs ``` ``` yaml $(python) && $(python-mode) == 'create' python: basic-setup-py: true - output-folder: $(python-sdks-folder)/compute/azure-mgmt-vmware -``` \ No newline at end of file + output-folder: $(python-sdks-folder)/compute/azure-mgmt-avs +``` diff --git a/specification/vmware/resource-manager/readme.typescript.md b/specification/vmware/resource-manager/readme.typescript.md index 97824659f448..c6984e869dc1 100644 --- a/specification/vmware/resource-manager/readme.typescript.md +++ b/specification/vmware/resource-manager/readme.typescript.md @@ -5,10 +5,11 @@ Please also specify `--typescript-sdks-folder=`. + +### Tag: schema-vmwarecloudsimple-2019-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-vmwarecloudsimple-2019-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json + +``` diff --git a/specification/vmwarecloudsimple/resource-manager/readme.md b/specification/vmwarecloudsimple/resource-manager/readme.md index cd1b34079322..dc26819a766a 100644 --- a/specification/vmwarecloudsimple/resource-manager/readme.md +++ b/specification/vmwarecloudsimple/resource-manager/readme.md @@ -55,6 +55,9 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-sdk-for-ruby - repo: azure-sdk-for-net + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js vmwarecloudsimple/resource-manager ``` ## Go @@ -80,6 +83,10 @@ See configuration in [readme.csharp.md](./readme.csharp.md) ## Java See configuration in [readme.java.md](./readme.java.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/CheckQuotaAvailability.json b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/CheckQuotaAvailability.json deleted file mode 100644 index 98a126c10073..000000000000 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/CheckQuotaAvailability.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parameters": { - "subscriptionId": "{subscription-id}", - "api-version": "2019-08-09-preview", - "location": "eastus" - }, - "responses": { - "200": { - "body": { - "hostsRemaining": { - "gp": 0, - "he": 999 - }, - "quotaEnabled": "Enabled" - } - } - } -} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_CreateOrUpdate.json b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_CreateOrUpdate.json deleted file mode 100644 index 516f612bdec1..000000000000 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_CreateOrUpdate.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "parameters": { - "api-version": "2019-08-09-preview", - "subscriptionId": "{subscription-id}", - "resourceGroupName": "group1", - "privateCloudName": "cloud1", - "clusterName": "cluster1", - "cluster": { - "properties": { - "clusterSize": 3 - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1/clusters/cluster1", - "name": "cluster1", - "properties": { - "clusterSize": 3, - "hosts": [ - "fakehost22.nyc1.kubernetes.center", - "fakehost23.nyc1.kubernetes.center", - "fakehost24.nyc1.kubernetes.center" - ], - "provisioningState": "Updating" - }, - "type": "Microsoft.VMwareVirtustream/privateClouds/clusters" - } - }, - "201": { - "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1/clusters/cluster1", - "name": "cluster1", - "properties": { - "clusterSize": 3, - "hosts": [ - "fakehost22.nyc1.kubernetes.center", - "fakehost23.nyc1.kubernetes.center", - "fakehost24.nyc1.kubernetes.center" - ], - "provisioningState": "Updating" - }, - "type": "Microsoft.VMwareVirtustream/privateClouds/clusters" - } - } - } -} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Get.json b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Get.json deleted file mode 100644 index 7439e9b3fdd7..000000000000 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Get.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "api-version": "2019-08-09-preview", - "subscriptionId": "{subscription-id}", - "resourceGroupName": "group1", - "privateCloudName": "cloud1", - "clusterName": "cluster1" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1/clusters/cluster1", - "name": "cluster1", - "properties": { - "clusterSize": 4, - "hosts": [ - "fakehost22.nyc1.kubernetes.center", - "fakehost23.nyc1.kubernetes.center", - "fakehost24.nyc1.kubernetes.center", - "fakehost25.nyc1.kubernetes.center" - ], - "provisioningState": "Updating" - }, - "type": "Microsoft.VMwareVirtustream/privateClouds/clusters" - } - } - } -} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_List.json b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_List.json deleted file mode 100644 index b57cbdea4110..000000000000 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_List.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "api-version": "2019-08-09-preview", - "subscriptionId": "{subscription-id}", - "resourceGroupName": "group1", - "privateCloudName": "cloud1" - }, - "responses": { - "200": { - "body": [ - { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1/clusters/cluster1", - "name": "cluster1", - "properties": { - "clusterSize": 3, - "hosts": [ - "fakehost22.nyc1.kubernetes.center", - "fakehost23.nyc1.kubernetes.center", - "fakehost24.nyc1.kubernetes.center" - ], - "provisioningState": "Succeeded" - }, - "type": "Microsoft.VMwareVirtustream/privateClouds/clusters" - } - ] - } - } -} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Update.json b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Update.json deleted file mode 100644 index c8ae471a28b1..000000000000 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Clusters_Update.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "parameters": { - "api-version": "2019-08-09-preview", - "subscriptionId": "{subscription-id}", - "resourceGroupName": "group1", - "privateCloudName": "cloud1", - "clusterName": "cluster1", - "cluster": { - "properties": { - "clusterSize": 4 - } - } - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1/clusters/cluster1", - "name": "cluster1", - "properties": { - "clusterSize": 4, - "hosts": [ - "fakehost22.nyc1.kubernetes.center", - "fakehost23.nyc1.kubernetes.center", - "fakehost24.nyc1.kubernetes.center", - "fakehost25.nyc1.kubernetes.center" - ], - "provisioningState": "Updating" - }, - "type": "Microsoft.VMwareVirtustream/privateClouds/clusters" - } - }, - "201": { - "body": { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1/clusters/cluster1", - "name": "cluster1", - "properties": { - "clusterSize": 4, - "hosts": [ - "fakehost22.nyc1.kubernetes.center", - "fakehost23.nyc1.kubernetes.center", - "fakehost24.nyc1.kubernetes.center", - "fakehost25.nyc1.kubernetes.center" - ], - "provisioningState": "Updating" - }, - "type": "Microsoft.VMwareVirtustream/privateClouds/clusters" - } - } - } -} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Operations_List.json b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Operations_List.json deleted file mode 100644 index a103fc70a7e7..000000000000 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/Operations_List.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "api-version": "2019-08-09-preview" - }, - "responses": { - "200": { - "body": [ - { - "display": { - "description": "Creates a private cloud", - "operation": "Create Private Cloud", - "provider": "VMware Solution by Virtustream", - "resource": "Private Cloud" - }, - "name": "Microsoft.VMwareVirtustream/privateClouds/create", - "origin": "user,system" - } - ], - "nextLink": "string" - } - } -} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_List.json b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_List.json deleted file mode 100644 index 13ffa9fe89e7..000000000000 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/examples/PrivateClouds_List.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "parameters": { - "api-version": "2019-08-09-preview", - "subscriptionId": "{subscription-id}", - "resourceGroupName": "group1" - }, - "responses": { - "200": { - "body": [ - { - "id": "/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.VMwareVirtustream/privateClouds/cloud1", - "location": "eastus2", - "name": "cloud1", - "properties": { - "circuit": { - "authorizations": [], - "expressRouteID": "/subscriptions/{subscription-id}/resourceGroups/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2/providers/Microsoft.Network/expressroutecircuits/tnt13-41a90db2-9d5e-4bd5-a77a-5ce7b58213d6-eastus2-xconnect", - "primarySubnet": "192.168.53.0/30", - "secondarySubnet": "192.168.53.4/30", - "expressRoutePrivatePeeringID": "/subscriptions/{subscription-id}/resourceGroups/tnt42-cust-p01-dmo01/providers/Microsoft.Network/expressroutecircuits/tnt42-cust-p01-dmo01-er/peerings/AzurePrivatePeering" - }, - "cluster": { - "clusterId": 1, - "clusterSize": 4, - "hosts": [ - "fakehost18.nyc1.kubernetes.center", - "fakehost19.nyc1.kubernetes.center", - "fakehost20.nyc1.kubernetes.center", - "fakehost21.nyc1.kubernetes.center" - ] - }, - "clusters": [], - "endpoints": { - "nsxtManager": "https://192.168.50.3/", - "vcsa": "https://192.168.50.2/" - }, - "identitySources": [ - { - "alias": "groupAlias", - "baseGroupDN": "ou=baseGroup", - "baseUserDN": "ou=baseUser", - "domain": "domain1", - "name": "group1", - "primaryServer": "ldaps://1.1.1.1:636/", - "secondaryServer": "ldaps://1.1.1.2:636/", - "ssl": "Enabled" - } - ], - "internet": "Disabled", - "provisioningState": "Updating" - }, - "tags": {}, - "type": "Microsoft.VMwareVirtustream/privateClouds" - } - ] - } - } -} diff --git a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json b/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json deleted file mode 100644 index 3d7ca4fd555f..000000000000 --- a/specification/vmwarevirtustream/resource-manager/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json +++ /dev/null @@ -1,1251 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure VMware Solution by Virtustream API", - "description": "Azure VMware Solution by Virtustream API", - "version": "2019-08-09-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" - } - } - }, - "tags": [ - { - "name": "PrivateClouds", - "description": "" - }, - { - "name": "Clusters", - "description": "" - }, - { - "name": "Operations", - "description": "" - }, - { - "name": "Quotas", - "description": "" - } - ], - "parameters": { - "subscriptionId": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Unique identifier for the Azure subscription" - }, - "resourceGroupName": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the resource group within the Azure subscription", - "x-ms-parameter-location": "method" - }, - "apiVersion": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Version of Azure VMware Solution by Virtustream API to be used with the client request" - }, - "privateCloudName": { - "name": "privateCloudName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the private cloud", - "x-ms-parameter-location": "method" - }, - "clusterName": { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the cluster in the private cloud", - "x-ms-parameter-location": "method" - } - }, - "paths": { - "/providers/Microsoft.VMwareVirtustream/operations": { - "get": { - "tags": [ - "Operations" - ], - "description": "Lists all of the available operations", - "operationId": "Operations_List", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "parameters": [ - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "Request has succeeded", - "schema": { - "$ref": "#/definitions/OperationList" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "Operations_List": { - "$ref": "./examples/Operations_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareVirtustream/locations/{location}/checkQuotaAvailability": { - "post": { - "tags": [ - "Quotas" - ], - "description": "Return quota for subscription by region", - "operationId": "CheckQuotaAvailability", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "name": "location", - "in": "path", - "required": true, - "type": "string", - "description": "Azure region" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "Request has succeeded", - "schema": { - "$ref": "#/definitions/Quota" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "CheckQuotaAvailability": { - "$ref": "./examples/CheckQuotaAvailability.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareVirtustream/privateClouds": { - "get": { - "operationId": "PrivateClouds_List", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "tags": [ - "PrivateClouds" - ], - "summary": "List private clouds in a resource group", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/PrivateCloudList" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "PrivateClouds_List": { - "$ref": "./examples/PrivateClouds_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.VMwareVirtustream/privateClouds": { - "get": { - "operationId": "PrivateClouds_ListInSubscription", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "tags": [ - "PrivateClouds" - ], - "summary": "List private clouds in a subscription", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/PrivateCloudList" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "PrivateClouds_List": { - "$ref": "./examples/PrivateClouds_ListInSubscription.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareVirtustream/privateClouds/{privateCloudName}": { - "get": { - "operationId": "PrivateClouds_Get", - "tags": [ - "PrivateClouds" - ], - "summary": "Get a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/PrivateCloud" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "PrivateClouds_Get": { - "$ref": "./examples/PrivateClouds_Get.json" - } - } - }, - "put": { - "operationId": "PrivateClouds_CreateOrUpdate", - "x-ms-long-running-operation": true, - "tags": [ - "PrivateClouds" - ], - "summary": "Create or update a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "name": "privateCloud", - "description": "The private cloud", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PrivateCloud" - } - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/PrivateCloud" - } - }, - "201": { - "description": "accepted operation", - "schema": { - "$ref": "#/definitions/PrivateCloud" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "PrivateClouds_CreateOrUpdate": { - "$ref": "./examples/PrivateClouds_CreateOrUpdate.json" - } - } - }, - "patch": { - "operationId": "PrivateClouds_Update", - "x-ms-long-running-operation": true, - "tags": [ - "PrivateClouds" - ], - "summary": "Update a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "name": "privateCloud", - "description": "The private cloud", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/PrivateCloud" - } - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/PrivateCloud" - } - }, - "201": { - "description": "accepted operation", - "schema": { - "$ref": "#/definitions/PrivateCloud" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "PrivateClouds_Update": { - "$ref": "./examples/PrivateClouds_Update.json" - } - } - }, - "delete": { - "operationId": "PrivateClouds_Delete", - "x-ms-long-running-operation": true, - "tags": [ - "PrivateClouds" - ], - "summary": "Delete a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "OK. The delete has succeeded" - }, - "202": { - "description": "Accepted. The delete will complete asynchronously" - }, - "204": { - "description": "No Content. No private cloud to delete" - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "PrivateClouds_Delete": { - "$ref": "./examples/PrivateClouds_Delete.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareVirtustream/privateClouds/{privateCloudName}/clusters": { - "get": { - "operationId": "Clusters_List", - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "tags": [ - "Clusters" - ], - "summary": "List clusters in a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ClusterList" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "Clusters_List": { - "$ref": "./examples/Clusters_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareVirtustream/privateClouds/{privateCloudName}/clusters/{clusterName}": { - "get": { - "operationId": "Clusters_Get", - "tags": [ - "Clusters" - ], - "summary": "Get a cluster by name in a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "$ref": "#/parameters/clusterName" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "Clusters_Get": { - "$ref": "./examples/Clusters_Get.json" - } - } - }, - "put": { - "operationId": "Clusters_CreateOrUpdate", - "x-ms-long-running-operation": true, - "tags": [ - "Clusters" - ], - "summary": "Create or update a cluster in a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "name": "privateCloudName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the private cloud." - }, - { - "$ref": "#/parameters/clusterName" - }, - { - "name": "cluster", - "description": "A cluster in the private cloud", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "201": { - "description": "accepted operation", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "Clusters_CreateOrUpdate": { - "$ref": "./examples/Clusters_CreateOrUpdate.json" - } - } - }, - "patch": { - "operationId": "Clusters_Update", - "x-ms-long-running-operation": true, - "tags": [ - "Clusters" - ], - "summary": "Update a cluster in a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "$ref": "#/parameters/clusterName" - }, - { - "name": "cluster", - "description": "A cluster in a private cloud", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "201": { - "description": "accepted operation", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "Clusters_Update": { - "$ref": "./examples/Clusters_Update.json" - } - } - }, - "delete": { - "operationId": "Clusters_Delete", - "x-ms-long-running-operation": true, - "tags": [ - "Clusters" - ], - "summary": "Delete a cluster in a private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "$ref": "#/parameters/clusterName" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "OK. The delete has succeeded" - }, - "202": { - "description": "Accepted. The delete will complete asynchronously" - }, - "204": { - "description": "No Content. No cluster to delete" - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "Clusters_Delete": { - "$ref": "./examples/Clusters_Delete.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VMwareVirtustream/privateClouds/{privateCloudName}/listAdminCredentials": { - "post": { - "operationId": "PrivateClouds_ListAdminCredentials", - "tags": [ - "PrivateClouds" - ], - "summary": "List the admin credentials for the private cloud", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/privateCloudName" - }, - { - "$ref": "#/parameters/apiVersion" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/AdminCredentials" - } - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/ApiError" - } - } - }, - "x-ms-examples": { - "PrivateClouds_ListAdminCredentials": { - "$ref": "./examples/PrivateClouds_ListAdminCredentials.json" - } - } - } - } - }, - "definitions": { - "Quota": { - "description": "Subscription quotas", - "properties": { - "hostsRemaining": { - "description": "Remaining hosts quota by sku type", - "type": "object", - "readOnly": true, - "additionalProperties": { - "type": "integer", - "readOnly": true - } - }, - "quotaEnabled": { - "description": "Host quota is active for current subscription", - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "QuotaEnabled", - "modelAsString": true - } - } - } - }, - "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" - } - }, - "x-ms-azure-resource": 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" - } - } - }, - "ApiError": { - "properties": { - "error": { - "description": "An error returned by the API", - "$ref": "#/definitions/ApiErrorBase" - } - }, - "description": "API error response" - }, - "ApiErrorBase": { - "properties": { - "code": { - "type": "string", - "description": "Error code" - }, - "message": { - "type": "string", - "description": "Error message" - } - }, - "description": "Api error." - }, - "OperationList": { - "description": "Pageable list of operations", - "properties": { - "value": { - "description": "List of operations", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/Operation" - } - }, - "nextLink": { - "description": "URL to get the next page if any", - "type": "string", - "readOnly": true - } - } - }, - "Operation": { - "description": "A REST API operation", - "type": "object", - "properties": { - "name": { - "description": "Name of the operation being performed on this object", - "type": "string", - "readOnly": true - }, - "display": { - "description": "Contains the localized display information for this operation", - "readOnly": true, - "properties": { - "provider": { - "description": "Localized friendly form of the resource provider name", - "type": "string", - "readOnly": true - }, - "resource": { - "description": "Localized friendly form of the resource type related to this operation", - "type": "string", - "readOnly": true - }, - "operation": { - "description": "Localized friendly name for the operation", - "type": "string", - "readOnly": true - }, - "description": { - "description": "Localized friendly description for the operation", - "type": "string", - "readOnly": true - } - } - } - } - }, - "ExpressRouteAuthorization": { - "description": "Authorization for an ExpressRoute", - "properties": { - "name": { - "description": "The name of the ExpressRoute", - "type": "string" - }, - "id": { - "description": "The ID of the ExpressRoute", - "type": "string", - "readOnly": true - }, - "key": { - "description": "The key of the ExpressRoute", - "type": "string", - "readOnly": true - } - } - }, - "Circuit": { - "description": "An ExpressRoute Circuit", - "properties": { - "primarySubnet": { - "type": "string", - "readOnly": true, - "description": "CIDR of primary subnet" - }, - "secondarySubnet": { - "type": "string", - "readOnly": true, - "description": "CIDR of secondary subnet" - }, - "expressRouteID": { - "type": "string", - "readOnly": true, - "description": "Identifier of the ExpressRoute (Microsoft Colo only)" - }, - "authorizations": { - "type": "array", - "description": "Authorizations for the ExpressRoute (Microsoft Colo only)", - "items": { - "$ref": "#/definitions/ExpressRouteAuthorization" - } - }, - "expressRoutePrivatePeeringID": { - "type": "string", - "readOnly": true, - "description": "ExpressRoute private peering identifier" - } - } - }, - "Endpoints": { - "description": "Endpoint addresses", - "properties": { - "nsxtManager": { - "description": "Endpoint for the NSX-T Data Center manager", - "type": "string", - "readOnly": true - }, - "vcsa": { - "description": "Endpoint for Virtual Center Server Appliance", - "type": "string", - "readOnly": true - } - } - }, - "IdentitySource": { - "description": "vCenter Single Sign On Identity Source", - "properties": { - "name": { - "description": "The name of the identity source", - "type": "string" - }, - "alias": { - "description": "The domain's NetBIOS name", - "type": "string" - }, - "domain": { - "description": "The domain's dns name", - "type": "string" - }, - "baseUserDN": { - "description": "The base distinguished name for users", - "type": "string" - }, - "baseGroupDN": { - "description": "The base distinguished name for groups", - "type": "string" - }, - "primaryServer": { - "description": "Primary server URL", - "type": "string" - }, - "secondaryServer": { - "description": "Secondary server URL", - "type": "string" - }, - "ssl": { - "description": "Protect LDAP communication using SSL certificate (LDAPS)", - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "SslEnum", - "modelAsString": true - } - }, - "username": { - "description": "The ID of an Active Directory user with a minimum of read-only access to Base DN for users and group", - "type": "string" - }, - "password": { - "description": "The password of the Active Directory user with a minimum of read-only access to Base DN for users and groups.", - "type": "string" - } - } - }, - "PrivateCloud": { - "description": "A private cloud resource", - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "properties": { - "properties": { - "description": "The properties of a private cloud resource", - "$ref": "#/definitions/PrivateCloudProperties" - } - } - }, - "PrivateCloudProperties": { - "description": "The properties of a private cloud resource", - "properties": { - "provisioningState": { - "description": "The provisioning state", - "type": "string", - "readOnly": true, - "enum": [ - "Succeeded", - "Failed", - "Cancelled", - "Pending", - "Building", - "Updating" - ], - "x-ms-enum": { - "name": "PrivateCloudProvisioningState", - "modelAsString": true - } - }, - "circuit": { - "description": "An ExpressRoute Circuit", - "$ref": "#/definitions/Circuit" - }, - "cluster": { - "description": "The default cluster used for management", - "$ref": "#/definitions/DefaultClusterProperties" - }, - "clusters": { - "description": "The clusters", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - }, - "endpoints": { - "description": "The endpoints", - "readOnly": true, - "$ref": "#/definitions/Endpoints" - }, - "internet": { - "description": "Connectivity to internet is enabled or disabled", - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "InternetEnum", - "modelAsString": true - } - }, - "identitySources": { - "description": "vCenter Single Sign On Identity Sources", - "type": "array", - "items": { - "$ref": "#/definitions/IdentitySource" - } - }, - "networkBlock": { - "description": "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", - "type": "string" - }, - "managementNetwork": { - "description": "Network used to access vCenter Server and NSX-T Manager", - "type": "string", - "readOnly": true - }, - "provisioningNetwork": { - "description": "Used for virtual machine cold migration, cloning, and snapshot migration", - "type": "string", - "readOnly": true - }, - "vmotionNetwork": { - "description": "Used for live migration of virtual machines", - "type": "string", - "readOnly": true - }, - "vcenterPassword": { - "description": "Optionally, set the vCenter admin password when the private cloud is created", - "type": "string" - }, - "nsxtPassword": { - "description": "Optionally, set the NSX-T Manager password when the private cloud is created", - "type": "string" - } - } - }, - "Cluster": { - "description": "A cluster resource", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "description": "The properties of a cluster resource", - "$ref": "#/definitions/ClusterProperties" - } - } - }, - "DefaultClusterProperties": { - "description": "The properties of a default cluster", - "properties": { - "clusterId": { - "description": "The identity", - "type": "integer", - "readOnly": true - }, - "clusterSize": { - "description": "The cluster size", - "type": "integer" - }, - "hosts": { - "description": "The hosts", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - } - } - }, - "ClusterProperties": { - "description": "The properties of a cluster", - "allOf": [ - { - "$ref": "#/definitions/DefaultClusterProperties" - } - ], - "properties": { - "provisioningState": { - "description": "The state of the cluster provisioning", - "type": "string", - "readOnly": true, - "enum": [ - "Succeeded", - "Failed", - "Cancelled", - "Updating" - ], - "x-ms-enum": { - "name": "ClusterProvisioningState", - "modelAsString": true - } - } - } - }, - "PrivateCloudList": { - "description": "A paged list of private clouds", - "properties": { - "value": { - "description": "The items on the page", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/PrivateCloud" - } - }, - "nextLink": { - "description": "URL to get the next page if any", - "type": "string", - "readOnly": true - } - } - }, - "ClusterList": { - "description": "A paged list of clusters", - "properties": { - "value": { - "description": "The items on a page", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/Cluster" - } - }, - "nextLink": { - "description": "URL to get the next page if any", - "type": "string", - "readOnly": true - } - } - }, - "AdminCredentials": { - "description": "Administrative credentials for accessing vCenter and NSX-T", - "properties": { - "nsxtUsername": { - "description": "NSX-T Manager username", - "type": "string", - "readOnly": true - }, - "nsxtPassword": { - "description": "NSX-T Manager password", - "type": "string", - "readOnly": true - }, - "vcenterUsername": { - "description": "vCenter admin username", - "type": "string", - "readOnly": true - }, - "vcenterPassword": { - "description": "vCenter admin password", - "type": "string", - "readOnly": true - } - } - } - } -} diff --git a/specification/vmwarevirtustream/resource-manager/readme.csharp.md b/specification/vmwarevirtustream/resource-manager/readme.csharp.md deleted file mode 100644 index da240a6e154c..000000000000 --- a/specification/vmwarevirtustream/resource-manager/readme.csharp.md +++ /dev/null @@ -1,15 +0,0 @@ -## C# - -These settings apply only when `--csharp` is specified on the command line. -Please also specify `--csharp-sdks-folder=`. - -```yaml $(csharp) -csharp: - package-version: 0.2.0 - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - clear-output-folder: true - namespace: Microsoft.Azure.Management.VMwareVirtustream - output-folder: $(csharp-sdks-folder)/VMwareVirtustream/Management.VMwareVirtustream/Generated -``` \ No newline at end of file diff --git a/specification/vmwarevirtustream/resource-manager/readme.md b/specification/vmwarevirtustream/resource-manager/readme.md deleted file mode 100644 index 30c08c7eec57..000000000000 --- a/specification/vmwarevirtustream/resource-manager/readme.md +++ /dev/null @@ -1,85 +0,0 @@ -# VMware Solution by Virtustream - -> see https://aka.ms/autorest - -This is the AutoRest configuration file for VMware Solution by Virtustream. - -## Getting Started -To build the SDK for VMware Solution by Virtustream, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: - -> `autorest` - -To see additional help and options, run: - -> `autorest --help` ---- - -## Configuration - -### Basic Information -These are the global settings for the VMware Solution by Virtustream API. - -``` yaml -openapi-type: arm -tag: package-2019-08-09-preview -``` - -### Tag: package-2019-08-09-preview - -These settings apply only when `--tag=package-2019-08-09-preview` is specified on the command line. - -``` yaml $(tag) == 'package-2019-08-09-preview' -input-file: -- Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json -``` - ---- -# Code Generation - -## Swagger to SDK - -This section describes what SDK should be generated by the automatic system. -This is not used by Autorest itself. - -``` yaml $(swagger-to-sdk) -swagger-to-sdk: - - repo: azure-sdk-for-js - - repo: azure-sdk-for-python - - repo: azure-sdk-for-net -``` - -## TypeScript - -See configuration in [readme.typescript.md](./readme.typescript.md) - -## Python - -See configuration in [readme.python.md](./readme.python.md) - -## C# - -See configuration in [readme.csharp.md](./readme.csharp.md) -## Multi-API/Profile support for AutoRest v3 generators - -AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. - -This block is updated by an automatic script. Edits may be lost! - -``` yaml $(tag) == 'all-api-versions' /* autogenerated */ -# include the azure profile definitions from the standard location -require: $(this-folder)/../../../profiles/readme.md - -# all the input files across all versions -input-file: - - $(this-folder)/Microsoft.VMwareVirtustream/preview/2019-08-09-preview/vmwarevirtustream.json - -``` - -If there are files that should not be in the `all-api-versions` set, -uncomment the `exclude-file` section below and add the file paths. - -``` yaml $(tag) == 'all-api-versions' -#exclude-file: -# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json -``` - diff --git a/specification/vmwarevirtustream/resource-manager/readme.python.md b/specification/vmwarevirtustream/resource-manager/readme.python.md deleted file mode 100644 index 8b7a17c8d47a..000000000000 --- a/specification/vmwarevirtustream/resource-manager/readme.python.md +++ /dev/null @@ -1,27 +0,0 @@ -## 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: - package-version: 0.2.0 - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.vmwarevirtustream - package-name: azure-mgmt-vmwarevirtustream - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/compute/azure-mgmt-vmwarevirtustream/azure/mgmt/vmwarevirtustream -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/compute/azure-mgmt-vmwarevirtustream -``` \ No newline at end of file diff --git a/specification/vmwarevirtustream/resource-manager/readme.typescript.md b/specification/vmwarevirtustream/resource-manager/readme.typescript.md deleted file mode 100644 index a4666ebb13f2..000000000000 --- a/specification/vmwarevirtustream/resource-manager/readme.typescript.md +++ /dev/null @@ -1,14 +0,0 @@ -## TypeScript - -These settings apply only when `--typescript` is specified on the command line. -Please also specify `--typescript-sdks-folder=`. - -```yaml $(typescript) -typescript: - package-version: 0.2.0 - azure-arm: true - package-name: "@azure/arm-vmwarevirtustream" - output-folder: "$(typescript-sdks-folder)/sdk/vmwarevirtustream/arm-vmwarevirtustream" - payload-flattening-threshold: 1 - generate-metadata: true -``` \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/AppServiceCertificateOrders.json b/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/AppServiceCertificateOrders.json new file mode 100644 index 000000000000..77aad95390c4 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/AppServiceCertificateOrders.json @@ -0,0 +1,1698 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "AppServiceCertificateOrders API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders": { + "get": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "List all certificate orders in a subscription.", + "description": "Description for List all certificate orders in a subscription.", + "operationId": "AppServiceCertificateOrders_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrderCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Validate information for a certificate order.", + "description": "Description for Validate information for a certificate order.", + "operationId": "AppServiceCertificateOrders_ValidatePurchaseInformation", + "parameters": [ + { + "name": "appServiceCertificateOrder", + "in": "body", + "description": "Information for a certificate order.", + "required": true, + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrder" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders": { + "get": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Get certificate orders in a resource group.", + "description": "Description for Get certificate orders in a resource group.", + "operationId": "AppServiceCertificateOrders_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrderCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}": { + "get": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Get a certificate order.", + "description": "Description for Get a certificate order.", + "operationId": "AppServiceCertificateOrders_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order..", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrder" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Create or update a certificate purchase order.", + "description": "Description for Create or update a certificate purchase order.", + "operationId": "AppServiceCertificateOrders_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "certificateDistinguishedName", + "in": "body", + "description": "Distinguished name to use for the certificate order.", + "required": true, + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrder" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "App Service Certificate Order is created.", + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrder" + } + }, + "201": { + "description": "App Service Certificate Order creation operation is in progress", + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrder" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Delete an existing certificate order.", + "description": "Description for Delete an existing certificate order.", + "operationId": "AppServiceCertificateOrders_Delete", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted certificate order." + }, + "204": { + "description": "Certificate order does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Create or update a certificate purchase order.", + "description": "Description for Create or update a certificate purchase order.", + "operationId": "AppServiceCertificateOrders_Update", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "certificateDistinguishedName", + "in": "body", + "description": "Distinguished name to use for the certificate order.", + "required": true, + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrderPatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "App Service Certificate Order is created.", + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrder" + } + }, + "201": { + "description": "App Service Certificate Order creation operation is in progress", + "schema": { + "$ref": "#/definitions/AppServiceCertificateOrder" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates": { + "get": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "List all certificates associated with a certificate order.", + "description": "Description for List all certificates associated with a certificate order.", + "operationId": "AppServiceCertificateOrders_ListCertificates", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceCertificateCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}": { + "get": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Get the certificate associated with a certificate order.", + "description": "Description for Get the certificate associated with a certificate order.", + "operationId": "AppServiceCertificateOrders_GetCertificate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceCertificateResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Creates or updates a certificate and associates with key vault secret.", + "description": "Description for Creates or updates a certificate and associates with key vault secret.", + "operationId": "AppServiceCertificateOrders_CreateOrUpdateCertificate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "name": "keyVaultCertificate", + "in": "body", + "description": "Key vault certificate resource Id.", + "required": true, + "schema": { + "$ref": "#/definitions/AppServiceCertificateResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "App Service Certificate is created.", + "schema": { + "$ref": "#/definitions/AppServiceCertificateResource" + } + }, + "201": { + "description": "App Service Certificate creation operation is in progress", + "schema": { + "$ref": "#/definitions/AppServiceCertificateResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Delete the certificate associated with a certificate order.", + "description": "Description for Delete the certificate associated with a certificate order.", + "operationId": "AppServiceCertificateOrders_DeleteCertificate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted certificate." + }, + "204": { + "description": "Certificate does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Creates or updates a certificate and associates with key vault secret.", + "description": "Description for Creates or updates a certificate and associates with key vault secret.", + "operationId": "AppServiceCertificateOrders_UpdateCertificate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "name": "keyVaultCertificate", + "in": "body", + "description": "Key vault certificate resource Id.", + "required": true, + "schema": { + "$ref": "#/definitions/AppServiceCertificatePatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "App Service Certificate is created.", + "schema": { + "$ref": "#/definitions/AppServiceCertificateResource" + } + }, + "201": { + "description": "App Service Certificate creation operation is in progress", + "schema": { + "$ref": "#/definitions/AppServiceCertificateResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/reissue": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Reissue an existing certificate order.", + "description": "Description for Reissue an existing certificate order.", + "operationId": "AppServiceCertificateOrders_Reissue", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "reissueCertificateOrderRequest", + "in": "body", + "description": "Parameters for the reissue.", + "required": true, + "schema": { + "$ref": "#/definitions/ReissueCertificateOrderRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/renew": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Renew an existing certificate order.", + "description": "Description for Renew an existing certificate order.", + "operationId": "AppServiceCertificateOrders_Renew", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "renewCertificateOrderRequest", + "in": "body", + "description": "Renew parameters", + "required": true, + "schema": { + "$ref": "#/definitions/RenewCertificateOrderRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendEmail": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Resend certificate email.", + "description": "Description for Resend certificate email.", + "operationId": "AppServiceCertificateOrders_ResendEmail", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Verify domain ownership for this certificate order.", + "description": "Description for Verify domain ownership for this certificate order.", + "operationId": "AppServiceCertificateOrders_ResendRequestEmails", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "nameIdentifier", + "in": "body", + "description": "Email address", + "required": true, + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/NameIdentifier" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Verify domain ownership for this certificate order.", + "description": "Description for Verify domain ownership for this certificate order.", + "operationId": "AppServiceCertificateOrders_RetrieveSiteSeal", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "name": "siteSealRequest", + "in": "body", + "description": "Site seal request.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteSealRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteSeal" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/verifyDomainOwnership": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Verify domain ownership for this certificate order.", + "description": "Description for Verify domain ownership for this certificate order.", + "operationId": "AppServiceCertificateOrders_VerifyDomainOwnership", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "certificateOrderName", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Retrieve the list of certificate actions.", + "description": "Description for Retrieve the list of certificate actions.", + "operationId": "AppServiceCertificateOrders_RetrieveCertificateActions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateOrderAction" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory": { + "post": { + "tags": [ + "AppServiceCertificateOrders" + ], + "summary": "Retrieve email history.", + "description": "Description for Retrieve email history.", + "operationId": "AppServiceCertificateOrders_RetrieveCertificateEmailHistory", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate order.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateEmail" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AppServiceCertificate": { + "description": "Key Vault container for a certificate that is purchased through Azure.", + "type": "object", + "properties": { + "keyVaultId": { + "description": "Key Vault resource Id.", + "type": "string" + }, + "keyVaultSecretName": { + "description": "Key Vault secret name.", + "type": "string" + }, + "provisioningState": { + "description": "Status of the Key Vault secret.", + "enum": [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KeyVaultSecretStatus", + "modelAsString": false + } + } + } + }, + "AppServiceCertificateCollection": { + "description": "Collection of certificate order certificates.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AppServiceCertificateResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "AppServiceCertificateOrder": { + "description": "SSL certificate purchase order.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "AppServiceCertificateOrder resource specific properties", + "required": [ + "productType" + ], + "properties": { + "certificates": { + "description": "State of the Key Vault secret.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AppServiceCertificate" + } + }, + "distinguishedName": { + "description": "Certificate distinguished name.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "domainVerificationToken": { + "description": "Domain verification token.", + "type": "string", + "readOnly": true + }, + "validityInYears": { + "format": "int32", + "description": "Duration in years (must be between 1 and 3).", + "default": 1, + "maximum": 3, + "minimum": 1, + "type": "integer", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "keySize": { + "format": "int32", + "description": "Certificate key size.", + "default": 2048, + "type": "integer", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "productType": { + "description": "Certificate product type.", + "enum": [ + "StandardDomainValidatedSsl", + "StandardDomainValidatedWildCardSsl" + ], + "type": "string", + "x-ms-enum": { + "name": "CertificateProductType", + "modelAsString": false + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "autoRenew": { + "description": "true if the certificate should be automatically renewed when it expires; otherwise, false.", + "default": true, + "type": "boolean" + }, + "provisioningState": { + "description": "Status of certificate order.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "status": { + "description": "Current order status.", + "enum": [ + "Pendingissuance", + "Issued", + "Revoked", + "Canceled", + "Denied", + "Pendingrevocation", + "PendingRekey", + "Unused", + "Expired", + "NotSubmitted" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateOrderStatus", + "modelAsString": false + } + }, + "signedCertificate": { + "$ref": "#/definitions/CertificateDetails", + "description": "Signed certificate.", + "readOnly": true + }, + "csr": { + "description": "Last CSR that was created for this order.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "intermediate": { + "$ref": "#/definitions/CertificateDetails", + "description": "Intermediate certificate.", + "readOnly": true + }, + "root": { + "$ref": "#/definitions/CertificateDetails", + "description": "Root certificate.", + "readOnly": true + }, + "serialNumber": { + "description": "Current serial number of the certificate.", + "type": "string", + "readOnly": true + }, + "lastCertificateIssuanceTime": { + "format": "date-time", + "description": "Certificate last issuance time.", + "type": "string", + "readOnly": true + }, + "expirationTime": { + "format": "date-time", + "description": "Certificate expiration time.", + "type": "string", + "readOnly": true + }, + "isPrivateKeyExternal": { + "description": "true if private key is external; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "appServiceCertificateNotRenewableReasons": { + "description": "Reasons why App Service Certificate is not renewable at the current moment.", + "type": "array", + "items": { + "enum": [ + "RegistrationStatusNotSupportedForRenewal", + "ExpirationNotInRenewalTimeRange", + "SubscriptionNotActive" + ], + "type": "string" + }, + "readOnly": true + }, + "nextAutoRenewalTimeStamp": { + "format": "date-time", + "description": "Time stamp when the certificate would be auto renewed next", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "AppServiceCertificateOrderCollection": { + "description": "Collection of certificate orders.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AppServiceCertificateOrder" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "AppServiceCertificateOrderPatchResource": { + "description": "ARM resource for a certificate order that is purchased through Azure.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AppServiceCertificateOrderPatchResource resource specific properties", + "required": [ + "productType" + ], + "properties": { + "certificates": { + "description": "State of the Key Vault secret.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AppServiceCertificate" + } + }, + "distinguishedName": { + "description": "Certificate distinguished name.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "domainVerificationToken": { + "description": "Domain verification token.", + "type": "string", + "readOnly": true + }, + "validityInYears": { + "format": "int32", + "description": "Duration in years (must be between 1 and 3).", + "default": 1, + "maximum": 3, + "minimum": 1, + "type": "integer", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "keySize": { + "format": "int32", + "description": "Certificate key size.", + "default": 2048, + "type": "integer", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "productType": { + "description": "Certificate product type.", + "enum": [ + "StandardDomainValidatedSsl", + "StandardDomainValidatedWildCardSsl" + ], + "type": "string", + "x-ms-enum": { + "name": "CertificateProductType", + "modelAsString": false + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "autoRenew": { + "description": "true if the certificate should be automatically renewed when it expires; otherwise, false.", + "default": true, + "type": "boolean" + }, + "provisioningState": { + "description": "Status of certificate order.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "status": { + "description": "Current order status.", + "enum": [ + "Pendingissuance", + "Issued", + "Revoked", + "Canceled", + "Denied", + "Pendingrevocation", + "PendingRekey", + "Unused", + "Expired", + "NotSubmitted" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateOrderStatus", + "modelAsString": false + } + }, + "signedCertificate": { + "$ref": "#/definitions/CertificateDetails", + "description": "Signed certificate.", + "readOnly": true + }, + "csr": { + "description": "Last CSR that was created for this order.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "intermediate": { + "$ref": "#/definitions/CertificateDetails", + "description": "Intermediate certificate.", + "readOnly": true + }, + "root": { + "$ref": "#/definitions/CertificateDetails", + "description": "Root certificate.", + "readOnly": true + }, + "serialNumber": { + "description": "Current serial number of the certificate.", + "type": "string", + "readOnly": true + }, + "lastCertificateIssuanceTime": { + "format": "date-time", + "description": "Certificate last issuance time.", + "type": "string", + "readOnly": true + }, + "expirationTime": { + "format": "date-time", + "description": "Certificate expiration time.", + "type": "string", + "readOnly": true + }, + "isPrivateKeyExternal": { + "description": "true if private key is external; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "appServiceCertificateNotRenewableReasons": { + "description": "Reasons why App Service Certificate is not renewable at the current moment.", + "type": "array", + "items": { + "enum": [ + "RegistrationStatusNotSupportedForRenewal", + "ExpirationNotInRenewalTimeRange", + "SubscriptionNotActive" + ], + "type": "string" + }, + "readOnly": true + }, + "nextAutoRenewalTimeStamp": { + "format": "date-time", + "description": "Time stamp when the certificate would be auto renewed next", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "AppServiceCertificatePatchResource": { + "description": "Key Vault container ARM resource for a certificate that is purchased through Azure.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AppServiceCertificate", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "AppServiceCertificateResource": { + "description": "Key Vault container ARM resource for a certificate that is purchased through Azure.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AppServiceCertificate", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "CertificateDetails": { + "description": "SSL certificate details.", + "type": "object", + "properties": { + "version": { + "format": "int32", + "description": "Certificate Version.", + "type": "integer", + "readOnly": true + }, + "serialNumber": { + "description": "Certificate Serial Number.", + "type": "string", + "readOnly": true + }, + "thumbprint": { + "description": "Certificate Thumbprint.", + "type": "string", + "readOnly": true + }, + "subject": { + "description": "Certificate Subject.", + "type": "string", + "readOnly": true + }, + "notBefore": { + "format": "date-time", + "description": "Date Certificate is valid from.", + "type": "string", + "readOnly": true + }, + "notAfter": { + "format": "date-time", + "description": "Date Certificate is valid to.", + "type": "string", + "readOnly": true + }, + "signatureAlgorithm": { + "description": "Certificate Signature algorithm.", + "type": "string", + "readOnly": true + }, + "issuer": { + "description": "Certificate Issuer.", + "type": "string", + "readOnly": true + }, + "rawData": { + "description": "Raw certificate data.", + "type": "string", + "readOnly": true + } + } + }, + "CertificateEmail": { + "description": "SSL certificate email.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CertificateEmail resource specific properties", + "properties": { + "emailId": { + "description": "Email id.", + "type": "string" + }, + "timeStamp": { + "format": "date-time", + "description": "Time stamp.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "CertificateOrderAction": { + "description": "Certificate order action.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CertificateOrderAction resource specific properties", + "properties": { + "actionType": { + "description": "Action type.", + "enum": [ + "CertificateIssued", + "CertificateOrderCanceled", + "CertificateOrderCreated", + "CertificateRevoked", + "DomainValidationComplete", + "FraudDetected", + "OrgNameChange", + "OrgValidationComplete", + "SanDrop", + "FraudCleared", + "CertificateExpired", + "CertificateExpirationWarning", + "FraudDocumentationRequired", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateOrderActionType", + "modelAsString": false + } + }, + "createdAt": { + "format": "date-time", + "description": "Time at which the certificate action was performed.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "ReissueCertificateOrderRequest": { + "description": "Class representing certificate reissue request.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ReissueCertificateOrderRequest resource specific properties", + "properties": { + "keySize": { + "format": "int32", + "description": "Certificate Key Size.", + "type": "integer" + }, + "delayExistingRevokeInHours": { + "format": "int32", + "description": "Delay in hours to revoke existing certificate after the new certificate is issued.", + "type": "integer" + }, + "csr": { + "description": "Csr to be used for re-key operation.", + "type": "string" + }, + "isPrivateKeyExternal": { + "description": "Should we change the ASC type (from managed private key to external private key and vice versa).", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "RenewCertificateOrderRequest": { + "description": "Class representing certificate renew request.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "RenewCertificateOrderRequest resource specific properties", + "properties": { + "keySize": { + "format": "int32", + "description": "Certificate Key Size.", + "type": "integer" + }, + "csr": { + "description": "Csr to be used for re-key operation.", + "type": "string" + }, + "isPrivateKeyExternal": { + "description": "Should we change the ASC type (from managed private key to external private key and vice versa).", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SiteSeal": { + "description": "Site seal", + "required": [ + "html" + ], + "type": "object", + "properties": { + "html": { + "description": "HTML snippet", + "type": "string", + "x-ms-client-flatten": true + } + } + }, + "SiteSealRequest": { + "description": "Site seal request.", + "type": "object", + "properties": { + "lightTheme": { + "description": "If true use the light color theme for site seal; otherwise, use the default color theme.", + "type": "boolean" + }, + "locale": { + "description": "Locale of site seal.", + "type": "string" + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/CertificateRegistrationProvider.json b/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/CertificateRegistrationProvider.json new file mode 100644 index 000000000000..14bf13dcf06f --- /dev/null +++ b/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/CertificateRegistrationProvider.json @@ -0,0 +1,91 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "CertificateRegistrationProvider API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.CertificateRegistration/operations": { + "get": { + "tags": [ + "CertificateRegistrationProvider" + ], + "summary": "Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider", + "description": "Description for Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider", + "operationId": "CertificateRegistrationProvider_ListOperations", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/CsmOperationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ListOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": {}, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/examples/ListOperations.json b/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/examples/ListOperations.json new file mode 100644 index 000000000000..6cd379717945 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.CertificateRegistration/stable/2020-06-01/examples/ListOperations.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.CertificateRegistration/certificateOrders/certificates/Write", + "display": { + "provider": "Microsoft Certificates", + "resource": "Certificate", + "operation": "Add or Update Certificate", + "description": "Add a new certificate or update an existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/Write", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Add or Update AppServiceCertificate", + "description": "Add a new certificateOrder or update an existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/certificates/Delete", + "display": { + "provider": "Microsoft Certificates", + "resource": "Certificate", + "operation": "Delete Certificate", + "description": "Delete an existing certificate" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/Delete", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Delete AppServiceCertificate", + "description": "Delete an existing AppServiceCertificate" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/Read", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Get CertificateOrders", + "description": "Get the list of CertificateOrders" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/certificates/Read", + "display": { + "provider": "Microsoft Certificates", + "resource": "Certificate", + "operation": "Get Certificates", + "description": "Get the list of certificates" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/reissue/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Reissue certificateorder", + "description": "Reissue an existing certificateorder" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/renew/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Renew certificateorder", + "description": "Renew an existing certificateorder" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/retrieveCertificateActions/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Certificateorder actions", + "description": "Retrieve the list of certificate actions" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/retrieveEmailHistory/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Certificateorder email history", + "description": "Retrieve certificate email history" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/resendEmail/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Resend Certificateorder email", + "description": "Resend certificate email" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/verifyDomainOwnership/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Verify domain ownership", + "description": "Verify domain ownership" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/resendRequestEmails/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Resend request emails to another email address", + "description": "Resend request emails to another email address" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/certificateOrders/resendRequestEmails/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Retrieve site seal for an issued App Service Certificate", + "description": "Retrieve site seal for an issued App Service Certificate" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/provisionGlobalAppServicePrincipalInUserTenant/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Provision service principal", + "description": "Provision service principal for service app principal" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/validateCertificateRegistrationInformation/Action", + "display": { + "provider": "Microsoft Certificates", + "resource": "AppServiceCertificate", + "operation": "Certificate Purchase Info Validation", + "description": "Validate certificate purchase object without submitting it" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CertificateRegistration/register/action", + "display": { + "provider": "Microsoft Certificates", + "resource": "Microsoft Certificates resource provider", + "operation": "Register Microsoft Certificates resource provider", + "description": "Register the Microsoft Certificates resource provider for the subscription" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/DomainRegistrationProvider.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/DomainRegistrationProvider.json new file mode 100644 index 000000000000..c10e9741cf7e --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/DomainRegistrationProvider.json @@ -0,0 +1,91 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "DomainRegistrationProvider API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DomainRegistration/operations": { + "get": { + "tags": [ + "DomainRegistrationProvider" + ], + "summary": "Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider", + "description": "Description for Implements Csm operations Api to exposes the list of available Csm Apis under the resource provider", + "operationId": "DomainRegistrationProvider_ListOperations", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/CsmOperationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ListOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": {}, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/Domains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/Domains.json new file mode 100644 index 000000000000..faf75384a45e --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/Domains.json @@ -0,0 +1,1476 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "Domains API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability": { + "post": { + "tags": [ + "Domains" + ], + "summary": "Check if a domain is available for registration.", + "description": "Description for Check if a domain is available for registration.", + "operationId": "Domains_CheckAvailability", + "parameters": [ + { + "name": "identifier", + "in": "body", + "description": "Name of the domain.", + "required": true, + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/NameIdentifier" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainAvailabilityCheckResult" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains": { + "get": { + "tags": [ + "Domains" + ], + "summary": "Get all domains in a subscription.", + "description": "Description for Get all domains in a subscription.", + "operationId": "Domains_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest": { + "post": { + "tags": [ + "Domains" + ], + "summary": "Generate a single sign-on request for the domain management portal.", + "description": "Description for Generate a single sign-on request for the domain management portal.", + "operationId": "Domains_GetControlCenterSsoRequest", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainControlCenterSsoRequest" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations": { + "post": { + "tags": [ + "Domains" + ], + "summary": "Get domain name recommendations based on keywords.", + "description": "Description for Get domain name recommendations based on keywords.", + "operationId": "Domains_ListRecommendations", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "Search parameters for domain name recommendations.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainRecommendationSearchParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NameIdentifierCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains": { + "get": { + "tags": [ + "Domains" + ], + "summary": "Get all domains in a resource group.", + "description": "Description for Get all domains in a resource group.", + "operationId": "Domains_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}": { + "get": { + "tags": [ + "Domains" + ], + "summary": "Get a domain.", + "description": "Description for Get a domain.", + "operationId": "Domains_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Domains" + ], + "summary": "Creates or updates a domain.", + "description": "Description for Creates or updates a domain.", + "operationId": "Domains_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" + }, + { + "name": "domain", + "in": "body", + "description": "Domain registration information.", + "required": true, + "schema": { + "$ref": "#/definitions/Domain" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Domain purchase is in progress.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "200": { + "description": "Domain purchase was successful.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Domains" + ], + "summary": "Delete a domain.", + "description": "Description for Delete a domain.", + "operationId": "Domains_Delete", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "forceHardDeleteDomain", + "in": "query", + "description": "Specify true to delete the domain immediately. The default is false which deletes the domain after 24 hours.", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted domain." + }, + "204": { + "description": "Domain does not exist in Azure database probably because it has already been deleted" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Domains" + ], + "summary": "Creates or updates a domain.", + "description": "Description for Creates or updates a domain.", + "operationId": "Domains_Update", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9\\.-]+" + }, + { + "name": "domain", + "in": "body", + "description": "Domain registration information.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainPatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Domain purchase is in progress.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "200": { + "description": "Domain purchase was successful.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers": { + "get": { + "tags": [ + "Domains" + ], + "summary": "Lists domain ownership identifiers.", + "description": "Description for Lists domain ownership identifiers.", + "operationId": "Domains_ListOwnershipIdentifiers", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifierCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}": { + "get": { + "tags": [ + "Domains" + ], + "summary": "Get ownership identifier for domain", + "description": "Description for Get ownership identifier for domain", + "operationId": "Domains_GetOwnershipIdentifier", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of domain.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Domains" + ], + "summary": "Creates an ownership identifier for a domain or updates identifier details for an existing identifer", + "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifer", + "operationId": "Domains_CreateOrUpdateOwnershipIdentifier", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of domain.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of identifier.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifier", + "in": "body", + "description": "A JSON representation of the domain ownership properties.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Domains" + ], + "summary": "Delete ownership identifier for domain", + "description": "Description for Delete ownership identifier for domain", + "operationId": "Domains_DeleteOwnershipIdentifier", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of domain.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted domain ownership identifier." + }, + "204": { + "description": "Domain ownership identifier does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Domains" + ], + "summary": "Creates an ownership identifier for a domain or updates identifier details for an existing identifer", + "description": "Description for Creates an ownership identifier for a domain or updates identifier details for an existing identifer", + "operationId": "Domains_UpdateOwnershipIdentifier", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of domain.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of identifier.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifier", + "in": "body", + "description": "A JSON representation of the domain ownership properties.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew": { + "post": { + "tags": [ + "Domains" + ], + "summary": "Renew a domain.", + "description": "Description for Renew a domain.", + "operationId": "Domains_Renew", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Domain renewal was successful." + }, + "202": { + "description": "Domain renewal in progress." + }, + "204": { + "description": "Domain does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Renew an existing domain": { + "$ref": "./examples/RenewDomain.json" + } + } + } + } + }, + "definitions": { + "Address": { + "description": "Address information for domain registration.", + "required": [ + "address1", + "city", + "country", + "postalCode", + "state" + ], + "type": "object", + "properties": { + "address1": { + "description": "First line of an Address.", + "type": "string" + }, + "address2": { + "description": "The second line of the Address. Optional.", + "type": "string" + }, + "city": { + "description": "The city for the address.", + "type": "string" + }, + "country": { + "description": "The country for the address.", + "type": "string" + }, + "postalCode": { + "description": "The postal code for the address.", + "type": "string" + }, + "state": { + "description": "The state or province for the address.", + "type": "string" + } + } + }, + "Contact": { + "description": "Contact information for domain registration. If 'Domain Privacy' option is not selected then the contact information is made publicly available through the Whois \ndirectories as per ICANN requirements.", + "required": [ + "email", + "nameFirst", + "nameLast", + "phone" + ], + "type": "object", + "properties": { + "addressMailing": { + "$ref": "#/definitions/Address", + "description": "Mailing address." + }, + "email": { + "description": "Email address.", + "type": "string" + }, + "fax": { + "description": "Fax number.", + "type": "string" + }, + "jobTitle": { + "description": "Job title.", + "type": "string" + }, + "nameFirst": { + "description": "First name.", + "type": "string" + }, + "nameLast": { + "description": "Last name.", + "type": "string" + }, + "nameMiddle": { + "description": "Middle name.", + "type": "string" + }, + "organization": { + "description": "Organization contact belongs to.", + "type": "string" + }, + "phone": { + "description": "Phone number.", + "type": "string" + } + } + }, + "Domain": { + "description": "Information about a domain.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Domain resource specific properties", + "required": [ + "contactAdmin", + "contactBilling", + "contactRegistrant", + "contactTech", + "consent" + ], + "properties": { + "contactAdmin": { + "$ref": "#/definitions/Contact", + "description": "Administrative contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactBilling": { + "$ref": "#/definitions/Contact", + "description": "Billing contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactRegistrant": { + "$ref": "#/definitions/Contact", + "description": "Registrant contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactTech": { + "$ref": "#/definitions/Contact", + "description": "Technical contact.", + "x-ms-mutability": [ + "create" + ] + }, + "registrationStatus": { + "description": "Domain registration status.", + "enum": [ + "Active", + "Awaiting", + "Cancelled", + "Confiscated", + "Disabled", + "Excluded", + "Expired", + "Failed", + "Held", + "Locked", + "Parked", + "Pending", + "Reserved", + "Reverted", + "Suspended", + "Transferred", + "Unknown", + "Unlocked", + "Unparked", + "Updated", + "JsonConverterFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DomainStatus", + "modelAsString": false + } + }, + "provisioningState": { + "description": "Domain provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "nameServers": { + "description": "Name servers.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privacy": { + "description": "true if domain privacy is enabled for this domain; otherwise, false.", + "type": "boolean" + }, + "createdTime": { + "format": "date-time", + "description": "Domain creation timestamp.", + "type": "string", + "readOnly": true + }, + "expirationTime": { + "format": "date-time", + "description": "Domain expiration timestamp.", + "type": "string", + "readOnly": true + }, + "lastRenewedTime": { + "format": "date-time", + "description": "Timestamp when the domain was renewed last time.", + "type": "string", + "readOnly": true + }, + "autoRenew": { + "description": "true if the domain should be automatically renewed; otherwise, false.", + "default": true, + "type": "boolean" + }, + "readyForDnsRecordManagement": { + "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to.", + "type": "boolean", + "readOnly": true + }, + "managedHostNames": { + "description": "All hostnames derived from the domain and assigned to Azure resources.", + "type": "array", + "items": { + "$ref": "#/definitions/HostName" + }, + "readOnly": true + }, + "consent": { + "$ref": "#/definitions/DomainPurchaseConsent", + "description": "Legal agreement consent.", + "x-ms-mutability": [ + "create" + ] + }, + "domainNotRenewableReasons": { + "description": "Reasons why domain is not renewable.", + "type": "array", + "items": { + "enum": [ + "RegistrationStatusNotSupportedForRenewal", + "ExpirationNotInRenewalTimeRange", + "SubscriptionNotActive" + ], + "type": "string" + }, + "readOnly": true + }, + "dnsType": { + "description": "Current DNS type", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "type": "string", + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, + "dnsZoneId": { + "description": "Azure DNS Zone to use", + "type": "string" + }, + "targetDnsType": { + "description": "Target DNS type (would be used for migration)", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "type": "string", + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, + "authCode": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "DomainAvailabilityCheckResult": { + "description": "Domain availability check result.", + "type": "object", + "properties": { + "name": { + "description": "Name of the domain.", + "type": "string" + }, + "available": { + "description": "true if domain can be purchased using CreateDomain API; otherwise, false.", + "type": "boolean" + }, + "domainType": { + "description": "Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything.", + "enum": [ + "Regular", + "SoftDeleted" + ], + "type": "string", + "x-ms-enum": { + "name": "DomainType", + "modelAsString": false + } + } + } + }, + "DomainCollection": { + "description": "Collection of domains.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DomainControlCenterSsoRequest": { + "description": "Single sign-on request information for domain management.", + "type": "object", + "properties": { + "url": { + "description": "URL where the single sign-on request is to be made.", + "type": "string", + "readOnly": true + }, + "postParameterKey": { + "description": "Post parameter key.", + "type": "string", + "readOnly": true + }, + "postParameterValue": { + "description": "Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value.", + "type": "string", + "readOnly": true + } + } + }, + "DomainOwnershipIdentifier": { + "description": "Domain ownership Identifier.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DomainOwnershipIdentifier resource specific properties", + "properties": { + "ownershipId": { + "description": "Ownership Id.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "DomainOwnershipIdentifierCollection": { + "description": "Collection of domain ownership identifiers.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DomainOwnershipIdentifier" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DomainPatchResource": { + "description": "ARM resource for a domain.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DomainPatchResource resource specific properties", + "required": [ + "contactAdmin", + "contactBilling", + "contactRegistrant", + "contactTech", + "consent" + ], + "properties": { + "contactAdmin": { + "$ref": "#/definitions/Contact", + "description": "Administrative contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactBilling": { + "$ref": "#/definitions/Contact", + "description": "Billing contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactRegistrant": { + "$ref": "#/definitions/Contact", + "description": "Registrant contact.", + "x-ms-mutability": [ + "create" + ] + }, + "contactTech": { + "$ref": "#/definitions/Contact", + "description": "Technical contact.", + "x-ms-mutability": [ + "create" + ] + }, + "registrationStatus": { + "description": "Domain registration status.", + "enum": [ + "Active", + "Awaiting", + "Cancelled", + "Confiscated", + "Disabled", + "Excluded", + "Expired", + "Failed", + "Held", + "Locked", + "Parked", + "Pending", + "Reserved", + "Reverted", + "Suspended", + "Transferred", + "Unknown", + "Unlocked", + "Unparked", + "Updated", + "JsonConverterFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DomainStatus", + "modelAsString": false + } + }, + "provisioningState": { + "description": "Domain provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "nameServers": { + "description": "Name servers.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "privacy": { + "description": "true if domain privacy is enabled for this domain; otherwise, false.", + "type": "boolean" + }, + "createdTime": { + "format": "date-time", + "description": "Domain creation timestamp.", + "type": "string", + "readOnly": true + }, + "expirationTime": { + "format": "date-time", + "description": "Domain expiration timestamp.", + "type": "string", + "readOnly": true + }, + "lastRenewedTime": { + "format": "date-time", + "description": "Timestamp when the domain was renewed last time.", + "type": "string", + "readOnly": true + }, + "autoRenew": { + "description": "true if the domain should be automatically renewed; otherwise, false.", + "default": true, + "type": "boolean" + }, + "readyForDnsRecordManagement": { + "description": "true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and \n it is hosted on name servers Azure has programmatic access to.", + "type": "boolean", + "readOnly": true + }, + "managedHostNames": { + "description": "All hostnames derived from the domain and assigned to Azure resources.", + "type": "array", + "items": { + "$ref": "#/definitions/HostName" + }, + "readOnly": true + }, + "consent": { + "$ref": "#/definitions/DomainPurchaseConsent", + "description": "Legal agreement consent.", + "x-ms-mutability": [ + "create" + ] + }, + "domainNotRenewableReasons": { + "description": "Reasons why domain is not renewable.", + "type": "array", + "items": { + "enum": [ + "RegistrationStatusNotSupportedForRenewal", + "ExpirationNotInRenewalTimeRange", + "SubscriptionNotActive" + ], + "type": "string" + }, + "readOnly": true + }, + "dnsType": { + "description": "Current DNS type", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "type": "string", + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, + "dnsZoneId": { + "description": "Azure DNS Zone to use", + "type": "string" + }, + "targetDnsType": { + "description": "Target DNS type (would be used for migration)", + "enum": [ + "AzureDns", + "DefaultDomainRegistrarDns" + ], + "type": "string", + "x-ms-enum": { + "name": "DnsType", + "modelAsString": false + } + }, + "authCode": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "DomainPurchaseConsent": { + "description": "Domain purchase consent object, representing acceptance of applicable legal agreements.", + "type": "object", + "properties": { + "agreementKeys": { + "description": "List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under TopLevelDomain resource.", + "type": "array", + "items": { + "type": "string" + } + }, + "agreedBy": { + "description": "Client IP address.", + "type": "string" + }, + "agreedAt": { + "format": "date-time", + "description": "Timestamp when the agreements were accepted.", + "type": "string" + } + } + }, + "DomainRecommendationSearchParameters": { + "description": "Domain recommendation search parameters.", + "type": "object", + "properties": { + "keywords": { + "description": "Keywords to be used for generating domain recommendations.", + "type": "string" + }, + "maxDomainRecommendations": { + "format": "int32", + "description": "Maximum number of recommendations.", + "type": "integer" + } + } + }, + "HostName": { + "description": "Details of a hostname derived from a domain.", + "type": "object", + "properties": { + "name": { + "description": "Name of the hostname.", + "type": "string" + }, + "siteNames": { + "description": "List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager.", + "type": "array", + "items": { + "type": "string" + } + }, + "azureResourceName": { + "description": "Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name.", + "type": "string" + }, + "azureResourceType": { + "description": "Type of the Azure resource the hostname is assigned to.", + "enum": [ + "Website", + "TrafficManager" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureResourceType", + "modelAsString": false + } + }, + "customHostNameDnsRecordType": { + "description": "Type of the DNS record.", + "enum": [ + "CName", + "A" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHostNameDnsRecordType", + "modelAsString": false + } + }, + "hostNameType": { + "description": "Type of the hostname.", + "enum": [ + "Verified", + "Managed" + ], + "type": "string", + "x-ms-enum": { + "name": "HostNameType", + "modelAsString": false + } + } + } + }, + "NameIdentifierCollection": { + "description": "Collection of domain name identifiers.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/NameIdentifier" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/TopLevelDomains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/TopLevelDomains.json new file mode 100644 index 000000000000..b3400594c9a8 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/TopLevelDomains.json @@ -0,0 +1,299 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "TopLevelDomains API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains": { + "get": { + "tags": [ + "TopLevelDomains" + ], + "summary": "Get all top-level domains supported for registration.", + "description": "Description for Get all top-level domains supported for registration.", + "operationId": "TopLevelDomains_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopLevelDomainCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Top Level Domains": { + "$ref": "./examples/ListTopLevelDomains.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}": { + "get": { + "tags": [ + "TopLevelDomains" + ], + "summary": "Get details of a top-level domain.", + "description": "Description for Get details of a top-level domain.", + "operationId": "TopLevelDomains_Get", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the top-level domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopLevelDomain" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Top Level Domain": { + "$ref": "./examples/GetTopLevelDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements": { + "post": { + "tags": [ + "TopLevelDomains" + ], + "summary": "Gets all legal agreements that user needs to accept before purchasing a domain.", + "description": "Description for Gets all legal agreements that user needs to accept before purchasing a domain.", + "operationId": "TopLevelDomains_ListAgreements", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the top-level domain.", + "required": true, + "type": "string" + }, + { + "name": "agreementOption", + "in": "body", + "description": "Domain agreement options.", + "required": true, + "schema": { + "$ref": "#/definitions/TopLevelDomainAgreementOption" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TldLegalAgreementCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Top Level Domain Agreements": { + "$ref": "./examples/ListTopLevelDomainAgreements.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "TldLegalAgreement": { + "description": "Legal agreement for a top level domain.", + "required": [ + "agreementKey", + "title", + "content" + ], + "type": "object", + "properties": { + "agreementKey": { + "description": "Unique identifier for the agreement.", + "type": "string" + }, + "title": { + "description": "Agreement title.", + "type": "string" + }, + "content": { + "description": "Agreement details.", + "type": "string" + }, + "url": { + "description": "URL where a copy of the agreement details is hosted.", + "type": "string" + } + } + }, + "TldLegalAgreementCollection": { + "description": "Collection of top-level domain legal agreements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/TldLegalAgreement" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "TopLevelDomain": { + "description": "A top level domain object.", + "type": "object", + "allOf": [ + { + "$ref": "../../../Microsoft.Web/stable/2020-06-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "TopLevelDomain resource specific properties", + "properties": { + "privacy": { + "description": "If true, then the top level domain supports domain privacy; otherwise, false.", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "TopLevelDomainAgreementOption": { + "description": "Options for retrieving the list of top level domain legal agreements.", + "type": "object", + "properties": { + "includePrivacy": { + "description": "If true, then the list of agreements will include agreements for domain privacy as well; otherwise, false.", + "type": "boolean" + }, + "forTransfer": { + "description": "If true, then the list of agreements will include agreements for domain transfer as well; otherwise, false.", + "type": "boolean" + } + } + }, + "TopLevelDomainCollection": { + "description": "Collection of Top-level domains.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/TopLevelDomain" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/GetTopLevelDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/GetTopLevelDomain.json new file mode 100644 index 000000000000..882ee5e9d864 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/GetTopLevelDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-06-01", + "name": "com" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", + "name": "com", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": true + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListOperations.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListOperations.json new file mode 100644 index 000000000000..085d1f789798 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListOperations.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.DomainRegistration/domains/Read", + "display": { + "provider": "Microsoft Domains", + "resource": "Domain", + "operation": "Get Domains", + "description": "Get the list of domains" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/domains/Write", + "display": { + "provider": "Microsoft Domains", + "resource": "Domain", + "operation": "Add or Update Domain", + "description": "Add a new Domain or update an existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/domains/Delete", + "display": { + "provider": "Microsoft Domains", + "resource": "Domain", + "operation": "Delete Domain", + "description": "Delete an existing domain." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/domains/operationresults/Read", + "display": { + "provider": "Microsoft Domains", + "resource": "Domain operation", + "operation": "Get Domain Operation", + "description": "Get a domain operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/generateSsoRequest/Action", + "display": { + "provider": "Microsoft Domains", + "resource": "Domain Control Center Single Sign On Request", + "operation": "Generate Domain Control Center Single Sign On Request", + "description": "Generate a request for signing into domain control center." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/validateDomainRegistrationInformation/Action", + "display": { + "provider": "Microsoft Domains", + "resource": "Domain Validation", + "operation": "Domain Purchase Info Validation", + "description": "Validate domain purchase object without submitting it" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/checkDomainAvailability/Action", + "display": { + "provider": "Microsoft Domains", + "resource": "Domain Availability Result", + "operation": "Check Domain Availability", + "description": "Check if a domain is available for purchase" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/listDomainRecommendations/Action", + "display": { + "provider": "Microsoft Domains", + "resource": "Domain Recommendations", + "operation": "Retrieve Domain Recommendations", + "description": "Retrieve the list domain recommendations based on keywords" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.DomainRegistration/register/action", + "display": { + "provider": "Microsoft Domains", + "resource": "Microsoft Domains resource provider", + "operation": "Register Microsoft Domains resource provider", + "description": "Register the Microsoft Domains resource provider for the subscription" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListTopLevelDomainAgreements.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListTopLevelDomainAgreements.json new file mode 100644 index 000000000000..c08ac5e1654f --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListTopLevelDomainAgreements.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "name": "in", + "api-version": "2020-06-01", + "agreementOption": { + "includePrivacy": true, + "forTransfer": false + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "agreementKey": "DNRA", + "title": "Domain Name Registration Agreement", + "content": "\n\n\n\n\n
    \n\n\n\n\n\n\n
    \nDomain Name Registration Agreement\n
    \n

    Last Revised: October 6, 2017

    \n

    PLEASE READ THIS AGREEMENT CAREFULLY, AS IT CONTAINS IMPORTANT INFORMATION REGARDING YOUR LEGAL RIGHTS AND REMEDIES.

    \r\n

    1. OVERVIEW

    \r\n

    This Domain Name Registration Agreement (this \"Agreement\") is entered into by and between 510456, an individual (\"Azure\") and you, and is made effective as of the date of electronic acceptance.  This Agreement sets forth the terms and conditions of your use of Azure's Domain Name Registration services (the \"Domain Name Registration Services\" or the \"Services\"). The terms \"we\", \"us\" or \"our\" shall refer to Azure.  The terms \"you\", \"your\", \"User\" or \"customer\" shall refer to any individual or entity who accepts this Agreement.  Unless otherwise specified, nothing in this Agreement shall be deemed to confer any third-party rights or benefits.

    \r\n

    Your electronic acceptance of this Agreement signifies that you have read, understand, acknowledge and agree to be bound by this Agreement, which incorporates by reference each of (i) Azure’s Universal Terms of Service Agreement (\"UTOS\"), (ii) all agreements, guidelines, policies, practices, procedures, registration requirements or operational standards of the top-level domain (\"TLD\") in which you register any domain (“Registry Policies”), and (iii) any plan limits, product disclaimers or other restrictions presented to you on the Domain Name Registration Services landing page of the Azure website (this “Site”). 

    \r\n

    TO LINK TO AND REVIEW THE REGISTRY POLICIES FOR THE TLD IN WHICH YOU WISH TO REGISTER A DOMAIN NAME, PLEASE CLICK HERE   

    \r\n

    You acknowledge and agree that (i) Azure, in its sole and absolute discretion, may change or modify this Agreement, and any policies or agreements which are incorporated herein, at any time, and such changes or modifications shall be effective immediately upon posting to this Site, and (ii) your use of this Site or the Services found at this Site after such changes or modifications have been made shall constitute your acceptance of this Agreement as last revised.  If you do not agree to be bound by this Agreement as last revised, do not use (or continue to use) this Site or the Services found at this Site.  In addition, Azure may occasionally notify you of changes or modifications to this Agreement by email.  It is therefore very important that you keep your shopper account (“Shopper Account”) information, including your email address, current.  Azure assumes no liability or responsibility for your failure to receive an email notification if such failure results from an inaccurate or out-of-date email address.    Azure is not an Internet Corporation for Assigned Names and Numbers (\"ICANN\") accredited registrar; it is an authorized reseller of domain name registration services.  Accordingly, you acknowledge and agree that Azure may modify this Agreement in order to comply with any terms and conditions set forth by (i) the sponsoring registrar, (ii) ICANN, and/or (iii) the registry applicable to the TLD or country code top level domain (\"ccTLD\") in question.  As used herein, the terms \"registry\", \"Registry\", \"registry operator\" or \"Registry Operator\" shall refer to the registry applicable to the TLD or ccTLD in question.  To identify the sponsoring registrar, click here

    \r\n

    2. PROVISIONS SPECIFIC TO ALL REGISTRATIONS

    \r\n

    Unless otherwise noted, the provisions below in this Section 2 are generally applicable to all TLDs that we offer.  Special provisions specific to any TLD or ccTLD (those in addition to posted Registry Policies) are identified elsewhere below in this Agreement. 

    \r\n
      \r\n
    1. \r\n
      Registry Policies. You agree to be bound by all Registry Policies (defined above in this Agreement) applicable to your domain name registration (at any level). IT IS YOUR RESPONSIBILITY TO VISIT THE APPLICABLE TLD SITE AND READ AND REVIEW ALL APPLICABLE REGISTRY POLICIES PRIOR TO YOUR REGISTRATION IN THE TLD.  REGISTRY POLICIES FOR EACH TLD CAN BE FOUND BY VISITING THE CORRESPONDING TLD LINK LISTED HERE.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator of the TLD in which the domain name registration is made is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the respective TLD. The third party beneficiary rights of the Registry Operator will survive any termination of this Agreement.    
      \r\n
    2. \r\n
    3. \r\n
      Registration Requirements.  To the extent any TLD or ccTLD requires you meet eligibility (e.g., residency for .JP, .EU, etc.), validation (e.g., DNS validation) or other authentication requirements as a condition to registering a domain name in the TLD, you agree that by submitting an application or registering or renewing your domain name, you represent and warrant that: (a) all information provided to register or renew the domain name (including all supporting documents, if any) is true, complete and correct, and is not misleading in any way, and the application is made in good faith; (b) you meet, and will continue to meet, the eligibility criteria prescribed in the Registry Policies for the applicable TLD for the duration of the domain name registration; (c) you have not previously submitted an application for the domain name with another registrar using the same eligibility criteria, and the other registrar has rejected the application (if applicable); (d) you acknowledge and agree that even if the domain name is accepted for registration, your entitlement to register the domain name may be challenged by others who claim to have an entitlement to the domain name; and (e) you acknowledge and agree that the Registry or the registrar can cancel the registration of the domain name if any of the warranties required are found to be untrue, incomplete, incorrect or misleading.
      \r\n
    4. \r\n
    5. \r\n
      Ownership.  You acknowledge and agree that registration of a domain name does not create any proprietary right for you, the registrar, or any other person in the name used as a domain name or the domain name registration and that the entry of a domain name in the Registry shall not be construed as evidence or ownership of the domain name registered as a domain name. You shall not in any way transfer or purport to transfer a proprietary right in any domain name registration or grant or purport to grant as security or in any other manner encumber or purport to encumber a domain name registration.
      \r\n
    6. \r\n
    7. \r\n
      ICANN Requirements. You agree to comply with the ICANN requirements, standards, policies, procedures, and practices for which each applicable Registry Operator has monitoring responsibility in accordance with the Registry Agreement between ICANN and itself or any other arrangement with ICANN.
      \r\n
    8. \r\n
    9. \r\n
      Indemnification of Registry.  You agree to indemnify, defend and hold harmless (within 30 days of demand) the Registry Operator and Registry Service Provider and their subcontractors, subsidiaries, affiliates, divisions, shareholders, directors, officers, employees, accountants, attorneys, insurers, agents, predecessors, successors and assigns, from and against any and all claims, demands, damages, losses, costs, expenses, causes of action or other liabilities of any kind, whether known or unknown, including reasonable legal and attorney’s fees and expenses, in any way arising out of, relating to, or otherwise in connection with the your domain name registration, including, without limitation, the use, registration, extension, renewal, deletion, and/or transfer thereof and/or the violation of any applicable terms or conditions governing the registration. You shall not enter into any settlement or compromise of any such indemnifiable claim without Registrar’s or Registry Operator’s prior written consent, which consent shall not be unreasonably withheld, and you agree that these indemnification obligations shall survive the termination or expiration of the Agreement for any reason.  IN NO EVENT SHALL THE REGISTRY OPERATOR BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, EXEMPLARY OR PUNITIVE DAMAGES, INCLUDING LOSS OF PROFIT OR GOODWILL, FOR ANY MATTER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING NEGLIGENCE), BREACH OF WARRANTIES, EITHER EXPRESS OR IMPLIED, ANY BREACH OF THIS AGREEMENT OR ITS INCORPORATED AGREEMENTS AND POLICIES YOUR INABILITY TO USE THE DOMAIN NAME, YOUR LOSS OF DATA OR FILES OR OTHERWISE, EVEN IF THE REGISTRY OPERATOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
      \r\n
    10. \r\n
    11. \r\n
      Regulated TLDs.   For domain name registration in any “Regulated” TLD, you acknowledge and agree your registration is subject to the following additional requirements: (a) comply with all applicable laws, including those that relate to privacy, data collection, consumer protection (including in relation to misleading and deceptive conduct), fair lending, debt collection, organic farming, disclosure of data, and financial disclosures; (b) if you collect and maintain sensitive health and financial data you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  Regulated TLDs include: .games, .juegos, .school, .schule, .toys, .eco, .care, .diet, .fitness, .health, .clinic, .dental, .healthcare, .capital, .cash, .broker, .claims, .exchange, .finance, .financial, .fund, .investments, .lease, .loans, .market, .money, .trading, .credit, .insure, .tax, .mortgage, .degree, .mba, .audio, .book, .broadway, .film, .movie, .music, .software, .fashion, .video, .app, .art, .band, .cloud, .data, .digital, .fan, .free, .gratis, .discount, .sale, .media, .news, .online, .pictures, .radio, .show, .theater, .tours, .accountants, .architect, .associates, .broker, .legal, .realty, .vet, .engineering, .law, .limited, .show; .theater; .town, .city, .reise, and .reisen
      \r\n
    12. \r\n
    13. \r\n
      Highly Regulated TLDs. In addition to the requirements for Regulated TLDs, domain name registration in any Highly-Regulated TLD is subject to the following requirements: (a) you will provide administrative contact information, which must be kept up‐to‐date, for the notification of complaints or reports of registration abuse, as well as the contact details of the relevant regulatory, or Industry self‐regulatory, bodies in their main place of business; (b) you represent that you possess any necessary authorizations, charters, licenses and/or other related credentials for participation in the sector associated with such Highly‐regulated TLD; and (c) you will report any material changes to the validity of you authorizations, charters, licenses and/or other related credentials for participation in the sector associated with the Highly‐regulated TLD to ensure you continue to conform to the appropriate regulations and licensing requirements and generally conduct your activities in the interests of the consumers they serve.  Highly Regulated TLDs include: .abogado, .attorney, .bank, .bet, .bingo, .casino .charity (and IDN equivalent xn--30rr7y), .cpa, .corp, creditcard, .creditunion .dds, .dentist, .doctor, .fail, .gmbh, .gripe, .hospital, .inc, .insurance, .lawyer, .lifeinsurance, .llc, .llp, .ltda, .medical, .mutuelle, .pharmacy, .poker, .university, .sarl, .spreadbetting, .srl, .sucks, .surgery .university, .vermogensberater, .vesicherung,  and .wtf.  For .doctor, registrants who hold themselves out to be licensed medical practitioners must be able to demonstrate to the Registrar and Registry, upon request, that they hold the applicable license.
      \r\n
    14. \r\n
    15. \r\n
      Special Safeguard TLDs.  In addition to the requirements for Regulated and Highly-Regulated TLDs, by registering a domain name in any “Special-Safeguard” TLD, you agree to take reasonable steps to avoid misrepresenting or falsely implying that you or your business is affiliated with, sponsored or endorsed by one or more country's or government's military forces if such affiliation, sponsorship or endorsement does not exist.  Special Safeguard TLDs include:  .army, .navy, .airforce
      \r\n
    16. \r\n
    17. \r\n
      Third Party Beneficiary.  Notwithstanding anything in this Agreement to the contrary, the Registry Operator for any TLD in which your register a domain name is and shall be an intended third party beneficiary of this Agreement. As such the parties to this agreement acknowledge and agree that the third party beneficiary rights of the Registry Operator have vested and that the Registry Operator has relied on its third party beneficiary rights under this Agreement in agreeing to Azure being a registrar for the TLD. Third party beneficiary rights of the Registry Operator shall survive any termination of this Agreement.
      \r\n
    18. \r\n
    19. \r\n
      Variable and Non-Uniform Pricing.  You acknowledge, understand and agree that certain domain names in certain TLDs are established by Registry Policies to be variably priced (i.e., standard v. premium names) and/or may have non-uniform renewal registration pricing (such that the Fee for a domain name registration renewal may differ from other domain names in the same TLD, e.g., renewal registration for one domain may be $100.00 and $33.00 for a different domain name).
      \r\n
    20. \r\n
    21. \r\n
      Restriction on Availability of Privacy or Proxy.  You acknowledge and agree that, as dictated by the Registry Policies, for certain TLDs you may not be permitted to purchase private or proxy TLD registrations. In such case, you must register for any and all TLD registrations using your personal information, which information you represent and warrant is current, accurate and complete.
      \r\n
    22. \r\n
    \r\n

    3. FEES AND PAYMENTS

    \r\n

    (A) GENERAL TERMS, INCLUDING AUTOMATIC RENEWAL TERMS

    \r\n

    You agree to pay any and all prices and fees due for Services purchased or obtained at this Site at the time you order the Services.  Azure expressly reserves the right to change or modify its prices and fees at any time, and such changes or modifications shall be posted online at this Site and effective immediately without need for further notice to you.  If you have purchased or obtained Services for a period of months or years, changes or modifications in prices and fees shall be effective when the Services in question come up for renewal as further described below. 

    \r\n

    Unless otherwise specifically noted (for reasons such as those highlighted in Section 2(x) above), the renewal price for any domain name in any TLD will be the same as the list (non-sale) price shown when you search for and select a domain, and again in the cart prior to purchase.  For example, if the list price is $9.99, and a different renewal price is not specifically identified, then the renewal price is also $9.99.  Likewise, if a domain name has a sale price of $8.99, with the list (non-sale) price shown (as a strike-through) at $9.99, the renewal price will be $9.99*.  

    \r\n

    *Renewal price subject to change prior to actual date of renewal. 

    \r\n

    For all other terms and conditions relating to fees, payment, refund and billing, etc. applicable to the Services offered under the scope of this Agreement, please refer to the “Fees and Payments” section of our UTOS

    \r\n

    (B) DOMAIN NAME RENEWAL TERMS

    \r\n

    When you register a domain name, you will have two renewal options: (i) \"Automatic Renewal\" (ii) \"Extended Automatic Renewal\", and (iii) \"Manual Renewal\": 

    \r\n
      \r\n
    1. Automatic Renewal.  Automatic Renewal is the default setting. Therefore, unless you select Extended Automatic Renewal, Azure will enroll you in Automatic Renewal.  Domain names will automatically renew, for a period equivalent to the length of your original domain name registration, any domain name that is up for renewal and will take payment from the Payment Method you have on file with Azure, at Azure's then current rates. Thus, if you have chosen to register your domain name for one (1) year, Azure will automatically renew it for one (1) year. If you have chosen to register your domain name for two (2) years, Azure will automatically renew it for two (2) years, and so on.
    2. \r\n
    3. Extended Automatic Renewal.  If you enroll in the Extended Automatic Renewal plan, Azure will automatically renew any domain name that is up for renewal for an additional one-year period on each and every anniversary of your domain name registration, so the initial registration period will always remain intact.  Thus, if you have chosen to register your domain name for two (2) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your two (2) year registration period will always remain intact. If you have chosen to register your domain name for five (5) years, Azure will automatically renew it for one (1) additional year on each and every anniversary of your domain name registration so your five (5) year registration period will always remain intact, and so on.  Azure will take payment from the Payment Method you have on file with Azure, at Azure's then current one-year domain name registration rate.
    4. \r\n
    5. Manual Renewal.  If you have elected to turn off automatic renewal and cancel the product (i.e., cancel the domain name registration) effective at expiration of the then current term, you may nonetheless elect to manually renew the domain name at anytime prior to its expiration date by logging into your Account Manager and manually implementing the renewal or by calling customer service (should you in fact want the domain name to be renewed). If you fail to manually implement the renewal before the expiration date, the domain name will be cancelled and you will no longer have use of that name.
    6. \r\n
    \r\n

    All renewals will be subject to the terms of this Agreement, as it may be amended from time to time, and you acknowledge and agree to be bound by the terms of this Agreement (as amended) for all renewed domains.  Domain name renewals will be non-refundable. In the event that we are unable to automatically renew your domain name for the renewal option selected for any reason, we may automatically renew your domain name for a period less than your original registration period to the extent necessary for the transaction to succeed. If for any reason Azure is not able to take the payment from the Payment Method you have on file, and you fail to respond to our notices, your domain name registration will expire. It is your responsibility to keep your Payment Method information current, which includes the expiration date if you are using a credit card.

    \r\n

    For certain ccTLDs (.am, .at, .be, .br, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal billing will occur on the first day of the month prior to the month of expiration.

    \r\n

    For certain ccTLDs (.am, .at, .be, .ca, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg), renewal will occur, or must occur manually if the product was previously cancelled, no later than the 20th of the month prior to the expiration date, or your domain name will be placed in non-renewal status. For some ccTLDs (.es) renewal must be processed no later than seven days before the expiration date, or your domain name will be placed in non-renewal status.  When the domain name is in non-renewal status, you can renew the domain name only by calling Azure and requesting that the domain name be renewed. You cannot renew the domain name through your Account Manager. If you fail to manually implement the renewal of any cancelled product before the expiration date, the domain name will be cancelled and you will no longer have use of that name.

    \r\n

    You agree that Azure will not be responsible for cancelled domain names that you fail to renew in the timeframes indicated in this Agreement. In any case, if you fail to renew your domain name in a timely fashion, additional charges may apply. If you signed up for privacy services, protected registration, or any other similar service, with your domain name registration, these services will automatically be renewed when your domain name registration is up for renewal, and you will incur the applicable additional renewal fee unless you cancel in advance. 

    \r\n

    If you fail to renew your domain name in the timeframes indicated in this Agreement, you agree that Azure may, in its sole discretion, renew your expired domain name on your behalf. If Azure decides to renew your expired domain name on your behalf, you will have a Renewal Grace Period during which you may reimburse Azure for the renewal and keep your domain name. The Renewal Grace Period is currently twelve (12) days but subject to change under the terms of this Agreement. For certain ccTLDs (.am, .at, .be, .cn, .com.cn, .net.cn, .org.cn, .de, .eu, .fm, .gs, .it, .jp, .ms, .nu, .nz, .co.nz, .net.nz, .org.nz, .tc, .tk, .tw, .com.tw, .org.tw, .idv.tw, .uk, and .vg) there is no Renewal Grace Period after the expiration date of the domain name. If you do not reimburse Azure for the renewal during the Renewal Grace Period your domain name will be placed on Hold and flagged for deletion after which you will have a 30-day redemption period during which you may pay Azure a Redemption fee and redeem your domain name. The Redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the 30-day redemption period Azure may, in its sole discretion, delete your domain name or transfer it to another registrant on your behalf.  During the redemption period your domain name may be parked. 

    \r\n

    If your domain name is deleted, the Registry also provides a 30-day Redemption Grace Period during which you may pay Azure a redemption fee and redeem your domain name. The redemption fee is currently $80.00 USD and is subject to change under the terms of this Agreement. If you do not redeem your domain name prior to the end of the Registry's Redemption Grace Period the Registry will release your name and it will become available for registration on a first-come-first-served basis.

    \r\n

    Renewal Grace Periods and Redemption Grace Periods vary for different ccTLDs. Please refer to the specific terms for the applicable TLD. In the event there is a conflict between the provisions of this paragraph and the ccTLD terms, the ccTLD terms shall control.

    \r\n

    \r\n

    Our registration expiration notification policy and associated fees are described here.

    \r\n

    \r\n

    \r\n

    (C) FREE PRODUCT TERMS

    \r\n

    In the event you are provided with free products with the registration of a domain name, you acknowledge and agree that such free products will only be available with a valid purchase and may be terminated in the event the domain name is deleted or cancelled.  For free domain names, you acknowledge and agree that you may not change the account associated with such free domain for the first five (5) days after registration.  In the event a free domain name is offered with the registration of another domain and if the paid domain name registered fails, then we may, in its sole discretion, either delete the registration of the free domain or refund the difference between the amount paid and the value of the free domain.  Failed registrations associated with promotionals offers may result in the deletion of the free or discounted item or an adjustment between the registered domain price and the value of the discounted item, in our sole discretion.

    \r\n

    4. TERM OF AGREEMENT; TRANSFERS; DOMAIN TASTING

    \r\n

    The term of this Agreement shall continue in full force and effect as long as you have any domain name registered through Azure.

    \r\n

    You agree that you will not transfer any domain name registered through Azure to another domain name registrar during the first sixty (60) days after its initial registration date.  You agree that you may not transfer any domain name for ten (10) days after a Change of Account.

    \r\n

    You further agree that you will not engage in \"domain tasting\" by using the five (5) day grace period in which a registrant may choose to cancel a domain name and get a full refund of the registration fee as a vehicle to test the marketability or viability of a domain name.  If Azure determines (which determination shall be made by Azure in its sole and absolute discretion) that you have been engaging in \"domain tasting\", then Azure reserves the right to (a) charge you a small fee (which fee shall be deducted from any refund issued) or (b) refuse your cancellation/refund request altogether. Azure will not charge you a fee if Azure cancels your domain name during the five (5) day grace period due to fraud or other activity outside of your control. The five (5) day grace period does not apply to Premium Domains, which are non-refundable.

    \r\n

    You agree that Azure shall not be bound by (i) any representations made by third parties who you may use to purchase services from Azure, or (ii) any statements of a general nature, which may be posted on Azure's website or contained in Azure's promotional materials.

    \r\n

    5. UP TO DATE INFORMATION; USE OF INFORMATION AND EXPIRATION

    \r\n

    You agree to notify Azure within five (5) business days when any of the information you provided as part of the application and/or registration process changes. It is your responsibility to keep this information in a current and accurate status. Failure by you, for whatever reason, to provide Azure with accurate and reliable information on an initial and continual basis, shall be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. Failure by you, for whatever reason, to respond within five (5) business days to any inquiries made by Azure to determine the validity of information provided by you, shall also be considered to be a material breach of this Agreement and a basis for suspension and/or cancellation of the domain name. You agree to retain a copy for your record of the receipt for purchase of your domain name.

    \r\n

    You agree that for each domain name registered by you, the following contact data is required: postal address, email address, telephone number, and if available, a facsimile number for the Registered Name Holder and, if different from the Registered Name Holder, the same contact information for, a technical contact, an administrative contact and a billing contact.

    \r\n

    You acknowledge and agree that domain name registration requires that this contact information, in whole or in part, be shared with the registry operator, for their use, copying, distribution, publication, modification and other processing  for (among other uses in accordance with our Privacy Policy) the purpose of administration of the domain name registration, which may require such information be transferred back and forth across international borders, to and from the U.S. to the EU, for example. As required by ICANN, this information must also be made publicly available by means of Whois, and that the registry operator may also be required to make this information publicly available by Whois. Both Azure and the registry operator may be required to archive this information with a third-party escrow service. You hereby consent and give permission for all such requirements and disclosures. Further, you represent and warrant that, if you are providing information about a third party, you have notified the third party of the disclosure and the purpose for the disclosure and you have obtained the third party's consent to such disclosure.  Registrar will not process data in a way that is incompatible with this Agreement.  Registrar will take reasonable precautions to protect data from loss or misuse.

    \r\n

    You agree that for each domain name registered by you the following information will be made publicly available in the Whois directory as determined by ICANN Policy and may be sold in bulk as set forth in the ICANN agreement:

    \r\n
      \r\n
    • The domain name;
    • \r\n
    • Your name and postal address;
    • \r\n
    • The name, email address, postal address, voice and fax numbers for technical and administrative contacts;
    • \r\n
    • The Internet protocol numbers for the primary and secondary name servers;
    • \r\n
    • The corresponding names of the name servers; and
    • \r\n
    • The original date of registration and expiration date.
    • \r\n
    • Name of primary name server and secondary name server.
    • \r\n
    • Identity of the registrar.
    • \r\n
    \r\n

    You agree that, to the extent permitted by ICANN, Azure may make use of the publicly available information you provided during the registration process. If you engage in the reselling of domain names you agree to provide any individuals whose personal information you've obtained, information about the possible uses of their personal information pursuant to ICANN policy. You also agree to obtain consent, and evidence of consent, from those individuals for such use of the personal information they provide.

    \r\n

    You agree that Azure has the right to make public and share with third parties certain information in connection with the sale or purchase of domain names on the website, including but not limited to (a) the name of the domain name sold or purchased, (b) the sale or purchase price of the domain name sold or purchased, and (c) information relating to the timing of the sale or purchase.

    \r\n

    \r\n

    In order for us to comply with any current or future rules and policies for domain name systems including any rules or policies established by the CIRA or any provincial or federal government or by other organization having control or authority to establish rules or policies, you hereby grant to us the right to disclose to third parties through an interactive publicly accessible registration database the following information that you are required to provide when applying for a domain name:

    \r\n
      \r\n
    1. The domain or sub-domain name(s) registered by you;
    2. \r\n
    3. Your organization name, type and postal address;
    4. \r\n
    5. The name(s), position(s), postal address(es), e-mail address(es), voice telephone number(s) and where available the fax number(s) of the technical and administrative contacts for your domain or sub-domain name(s);
    6. \r\n
    7. The full hostnames and Internet protocol (IP) addresses of at least two (2) name server hosts (one primary and at least one secondary) for your domain or sub-domain name. Up to six (6) name servers may be specified. If a host has more than one (1) IP address, use a comma-separated list;
    8. \r\n
    9. The corresponding names of those name servers;
    10. \r\n
    11. The original creation date of the registration; and
    12. \r\n
    13. The expiration date of the registration.
    14. \r\n
    \r\n

    We may be required to make this information available in bulk form to third parties. We may also transfer or assign this information to CIRA or such other third party as we may decide, in our sole discretion.

    \r\n

    6. DISPUTE RESOLUTION POLICY

    \r\n

    You agree to be bound by our current Dispute Resolution Policy. This policy is incorporated herein and made a part of this Agreement. You can view the Uniform Domain Name Dispute Resolution Policy online. You agree that Azure may from time to time modify its Dispute Resolution Policy. Azure will post any changes to its Dispute Resolution Policy at least thirty (30) days before they become effective. You agree that by maintaining your domain name registrations with Azure after the updated policy becomes effective that you agree to the Dispute Resolution policy as amended. You agree to review Azure's website periodically to determine if changes have been made to the Dispute Resolution Policy. If you cancel or terminate your Services with Azure as a result of the modified Dispute Resolution policy, no fees will be refunded to you. You also agree to submit to proceedings commenced under ICANN's Uniform Rapid Suspension System, if applicable. 

    \r\n

    You agree that if a dispute arises as a result of one (1) or more domain names you have registered using Azure, you will indemnify, defend and hold Azure harmless as provided for in this Agreement. You also agree that if Azure is notified that a complaint has been filed with a governmental, administrative or judicial body, regarding a domain name registered by you using Azure, that Azure, in its sole discretion, may take whatever action Azure deems necessary regarding further modification, assignment of and/or control of the domain name deemed necessary to comply with the actions or requirements of the governmental, administrative or judicial body until such time as the dispute is settled. In this event you agree to hold Azure harmless for any action taken by Azure.

    \r\n

    You agree to submit, without prejudice to other potentially applicable jurisdictions, to the jurisdiction of the courts (1) of your domicile, (2) where registrar is located or (3) where the registry operator is located (e.g., China for .CN, Columbia for .CO, UK for .EU, etc.).

    \r\n

    \r\n

    In the case of .ca domain names, you agree that, if your use of the service or the registration of a .ca domain name is challenged by a third party, you will be subject to the provisions specified by CIRA in their dispute resolution policy, in effect at the time of the dispute.

    \r\n

    \r\n

    7. TRANSFER OF DOMAIN NAMES; RESALE PRACTICES

    \r\n

    If you transfer any domain name, you agree to provide the information required by, and to abide by, the procedures and conditions set forth in our Domain Name Transfer Agreement and Change of Registrant Agreement. You may view the latest versions of our Domain Name Transfer Agreement and Change of Registrant Agreementonline. In order to further protect your domain name, any domain name registered with Azure or transferred to Azure shall be placed on lock status, unless an opted-out has occurred as defined in our Change of Registrant Agreement or Domain Name Proxy Agreement. The domain name must be placed on unlock status in order to initiate a transfer of the domain name away from Azure to a new Registrar. You may log into your account with Azure at any time after your domain name has been successfully transferred to Azure, and change the status to unlock.

    \r\n

    In the event you are purchasing a domain name on behalf of a third party, you agree to inform any customer of yours, who may be acquiring a domain name through you using Azure's registration services, that they are in fact registering their domain name through Azure and that Azure or its licensor is an accredited registrar with ICANN. You agree not to represent that you are an ICANN-accredited registrar or that you are in any way providing superior access to the ICANN Domain Name Registry. You also agree not to use the ICANN trademark logo in any of your promotional materials including your website.

    \r\n

    You agree to obtain each of your customers' acceptances to the then current version of this Agreement, and to retain evidence of their acceptance for a period of not less than three (3) years. Should you require that your customers accept additional terms and conditions that are not required by Azure, you agree that such additional terms and conditions shall not conflict with this Agreement and the policies and procedures adopted by ICANN.

    \r\n

    You agree that Azure is not lending you access to its registrar connections or its registry access, nor will you be deemed to be a registrar in your own right. Furthermore, you agree you will not attempt to gain access to Azure's registrar connections or registry access. You agree to provide complete, accurate and current data for each registrant to be added to a registry in accordance with ICANN requirements for inclusion in the Whois database.

    \r\n

    You agree to provide your customers with adequate customer support, and to maintain contact with them with regard to providing a medium for them to communicate changes in the information they provided as part of the domain name registration process. Upon receiving corrected or updated information you will, within five (5) business days, provide such information to Azure so Azure may update its registration records. You will retain copies of all communications between you and your customers and will upon request provide Azure copies of same.

    \r\n

    8. YOUR OBLIGATIONS; SUSPENSION OF SERVICES; BREACH OF AGREEMENT

    \r\n

    You represent and warrant to the best of your knowledge that, neither the registration of the domain nor the manner it is directly or indirectly used, infringes the legal rights of any third party.  You will comply with all applicable laws, including, but not limited to those relating to privacy, data collection, consumer protection, fair lending, debt collection, organic farming, and disclosure of data and financial disclosures.  If you collect and maintain sensitive health and financial data, you must implement reasonable and appropriate security measures commensurate with the offering of those services, as defined by applicable law.  You represent that you possess any necessary authorization, charter, license, and/or other related credential for participation in the sector associated with the associated registry tld string.  You will report any material changes to the validity of your authorization, charter, license, and/or other related credential. You will indemnify and hold harmless the registrar and registry operator, and their directors, officers, employees and agents, from and against any and all claims, damages, liabilities, costs and expenses (including reasonable legal fees and expenses) arising out of or related to the domain name registration.  This obligation shall survive expiration or termination of this Agreement or the domain name registration.

    \r\n

    You agree that, in addition to other events set forth in this Agreement:

    \r\n
      \r\n
    1. Your ability to use any of the services provided by Azure is subject to cancellation or suspension in the event there is an unresolved breach of this Agreement and/or suspension or cancellation is required by any policy now in effect or adopted later by ICANN;
    2. \r\n
    3. Your registration of any domain names shall be subject to suspension, cancellation or transfer pursuant to any ICANN adopted specification or policy, or pursuant to any Azure procedure not inconsistent with an ICANN adopted specification or policy (a) to correct mistakes by Azure or the registry operator in registering any domain name; or (b) for the resolution of disputes concerning any domain name.
    4. \r\n
    \r\n

    You acknowledge and agree that Azure and registry reserve the right to deny, cancel or transfer any registration or transaction, or place any domain name(s) on registry lock, hold or similar status, as either deems necessary, in the unlimited and sole discretion of either Azure or the registry: (i) to comply with specifications adopted by any industry group generally recognized as authoritative with respect to the Internet (e.g., RFCs), (ii) to correct mistakes made by registry or any registrar in connection with a domain name registration, (iii) for the non-payment of fees to registry, (iv) to protect the integrity and stability of the registry, (v) to comply with any applicable court orders, laws, government rules or requirements, requests of law enforcement, or any dispute resolution process, (vi) to comply with any applicable ICANN rules or regulations, including without limitation, the registry agreement, (vii) to avoid any liability, civil or criminal, on the part of registry operator, as well as its affiliates, subsidiaries, officers, directors, and employees, (viii) per the terms of this Agreement, (ix) following an occurrence of any of the prohibited activities described in Section 8 below, or (x) during the resolution of a dispute.

    \r\n

    You agree that your failure to comply completely with the terms and conditions of this Agreement and any Azure rule or policy may be considered by Azure to be a material breach of this Agreement and Azure may provide you with notice of such breach either in writing or electronically (i.e. email). In the event you do not provide Azure with material evidence that you have not breached your obligations to Azure within ten (10) business days, Azure may terminate its relationship with you and take any remedial action available to Azure under the applicable laws. Such remedial action may be implemented without notice to you and may include, but is not limited to, cancelling the registration of any of your domain names and discontinuing any services provided by Azure to you. No fees will be refunded to you should your Services be cancelled or terminated because of a breach.

    \r\n

    Azure's failure to act upon or notify you of any event, which may constitute a breach, shall not relieve you from or excuse you of the fact that you have committed a breach.

    \r\n

    9. RESTRICTION OF SERVICES; RIGHT OF REFUSAL

    \r\n

    You agree not to use the services provided by Azure, or to allow or enable others, to use the services provided by Azure for the purposes of:

    \r\n
      \r\n
    • The transmission of unsolicited email (Spam); and
    • \r\n
    • Repetitive, high volume inquires into any of the services provided by Azure (i.e. domain name availability, etc.).
    • \r\n
    \r\n

    You acknowledge and agree that you are prohibited from distributing malware, abusively operating botnets, phishing, piracy, trademark or copyright infringement, fraudulent or deceptive practices, counterfeiting or otherwise engaging in activity contrary to applicable law, and you acknowledge and agree that the consequences for such activities include suspension of the domain name.

    \r\n

    If you are hosting your domain name system (“DNS”) on Azure’s servers, or are using our systems to forward a domain name, URL, or otherwise to a system or site hosted elsewhere, or if you have your domain name registered with Azure, you are responsible for ensuring there is no excessive overloading on Azure’s servers. You may not use Azure’s servers and your domain name as a source, intermediary, reply to address, or destination address for mail bombs, Internet packet flooding, packet corruption, or other abusive attack. Server hacking or other perpetration of security breaches is prohibited. You agree that Azure reserves the right to deactivate your domain name from its DNS if Azure deems it is the recipient of activities caused by your site that threaten the stability of its network.

    \r\n

    You agree that Azure, in its sole discretion and without liability to you, may refuse to accept the registration of any domain name. Azure also may in its sole discretion and without liability to you delete the registration of any domain name during the first thirty (30) days after registration has taken place. Azure may also cancel the registration of a domain name, after thirty (30) days, if that name is being used, as determined by Azure in its sole discretion, in association with spam or morally objectionable activities. Morally objectionable activities will include, but not be limited to:

    \r\n
      \r\n
    • Activities prohibited by the laws of the United States and/or foreign territories in which you conduct business;
    • \r\n
    • Activities designed to encourage unlawful behavior by others, such as hate crimes, terrorism and child pornography; and
    • \r\n
    • Activities designed to harm or use unethically minors in any way.
    • \r\n
    \r\n

    In the event Azure refuses a registration or deletes an existing registration during the first thirty (30) days after registration, you will receive a refund of any fees paid to Azure in connection with the registration either being cancelled or refused. In the event Azure deletes the registration of a domain name being used in association with spam or morally objectionable activities, no refund will be issued.

    \r\n

    10. DEFAULT SETTINGS; PARKED PAGE

    \r\n

    Choosing Your Domain Name Settings.  When you register a domain name with Azure, you will be prompted to choose your domain name settings during the checkout process.  If you plan on using another provider for your website or hosting needs, then you should enter the name servers of such provider when you choose your domain name settings.  This will direct your domain name away from Azure’s name servers.  If you are an existing Azure customer and have already set up a customer profile designating your domain name settings for new domain name registrations, you will not need to complete this step again during the checkout process.   

    \r\n

    Azure’s Default Settings.  If you do not direct your domain name away from Azure’s name servers as described above, Azure will direct your domain name to a “Parked Page” (“Default Setting”).  You acknowledge and agree that Azure has the right to set the Default Setting. 

    \r\n

    Parked Page Default Setting.  Azure’s Parked Page service is an online domain monetization system designed to generate revenue (through the use of pay per click advertising) from domain names that are not actively being used as websites.  If your domain name is directed to a Parked Page, you acknowledge and agree that Azure may display both (a) in-house advertising (which includes links to Azure products and services) and (b) third-party advertising (which includes links to third-party products and services) on your Parked Page through the use of pop-up or pop-under browser windows, banner advertisements, audio or video streams, or any other advertising means, and we may aggregate for our own use, related usage data by means of cookies and other similar means.  In addition, you acknowledge and agree that all in-house and third-party advertising will be selected by Azure and its advertising partners, as appropriate, and you will not be permitted to customize the advertising, or entitled to any compensation in exchange therefor.  Please note that the third-party advertising displayed on Azure’s Parked Pages may contain content offensive to you, including but not limited to links to adult content.  Azure makes no effort to edit, control, monitor, or restrict the content and third-party advertising displayed on Azure’s Parked Pages, and expressly disclaims any liability or responsibility to you or any third party in connection therewith.

    \r\n

    Changing Azure’s Default Settings.  You may change Azure’s Default Settings at any time during the term of your domain name registration.

    \r\n
      \r\n
    1. Content Displaying On Your Parked Page.  You can not modify the content displaying on your Parked Page.  You may select one of the other options listed below.
    2. \r\n
    3. Participating In Domain Name Monetization.  If you wish to participate in the domain monetization potential presented by Azure’s Parked Page service, please review and consider purchasing our CashParking® service.   
    4. \r\n
    5. No Content.  If the options listed above are not acceptable to you, please contact customer support to learn what other options might be available to you.
    6. \r\n
    \r\n

    Return To Parked Page Default Setting Upon Domain Name Expiration.  Upon domain name expiration, and regardless of how you use your domain name during the term of your domain name registration, your domain name will automatically return to the Parked Page Default Setting described above.  As used in this paragraph, “expiration” is deemed to include any “renewal period” or “redemption period” immediately after the domain name expires, but before the domain name is returned to the registry.  Once your domain name has returned to the Parked Page Default Setting described above, the only way to opt out of the Parked Page service is to renew, redeem, or re-register your domain name in accordance with Section 2(B), Domain Name Renewal Terms, of this Agreement.   

    \r\n

    11. DOMAIN ADD-ONS

    \r\n

    Business Registration:  Business registration allows You to display additional information about the business that is the basis of Your domain name, including, but not limited to, such information as Your fax number, street address, and hours of operation.

    \r\n

    Certified Domains.  The certified domain service generally allow You to: (i) put a Certified Domain Validation seal on Your website; and (ii) have Your domain name listed as \"Certified\", in WHOIS lookups on our website.   The Certified Domain Validation seal renews independently of Your domain. When You renew Your domain, You must also, when necessary, separately renew Your Certified Validation seal. However, the Certified Domain Validation seal can be cancelled independently of Your domain. If the domain is cancelled, the Certified Domain associated with the cancelled domain will automatically cancel.  The Certified Domain seal is a trademark and is protected by copyright, trademark and other intellectual property laws. You may use the Certified Domain seal only in conjunction with the purchase of the Services set forth in the Agreement, and subject to the terms and conditions hereof. Other than provided for in this Agreement, You may not otherwise use, reproduce, or modify the mark for any additional promotional use, without our prior written approval. Your right to the use of the Certified Domain seal is immediately terminated upon expiration or termination of this Agreement.

    \r\n

    Expiration Consolidation.  You understand and acknowledge the expiration consolidation service may only be used to consolidate the expiration of .com and .net domain names. The service may not be used to consolidate domains that are on Registrar HOLD, Registry HOLD, or pending Transfer status. You acknowledge the service may only be used to push the expiration date of Your domains forward in time, at least one (1) month forward and no more than ten (10) years forward, and then, only for a period lasting less than twelve (12) months. Once the service has been used to consolidate domains, the new expiration date may not be reversed. To ensure the service is not abused or used as an alternative to renewals, you may only use the service on each domain once in any 12-month period. The service may only be used on domain names that have not passed their expiration date. In order to change the expiration date again, You will be required to renew the domain name first.  You further understand and acknowledge the service may only be used to coordinate domains where we are the registrar of record. Domains not registered with us must be transferred before we can perform the Service. 

    \r\n

    \r\n

    Backordering/Monitoring.  You agree a domain name that has expired shall be subject first to a grace period of twelve (12) days, followed by the ICANN-mandated redemption grace period of thirty (30) days. During this period of time, the current domain name registrant may renew the domain name and retain ownership. We do not guarantee your backorder will result in you obtaining the domain name and expressly reserves the right to (a) refuse additional backorders or (b) cancel existing backorders at any time for any reason.  If your backorder is refused or cancelled, we agree to promptly refund any fees paid for such domain name backorder. The domain name may also be placed in a secondary market for resale through the Auctions® service.  After your first year of Auctions membership, you agree that unless otherwise advised, we will automatically renew your Auctions membership using the payment method you have on file for so long as your backorder credit is active. You may learn more about Auctions by visiting the Auctions website. The domain name may also be subject to a drop pool process before it is available for purchasing. You understand we and our registrar affiliates use our services, including backordering.  Therefore, the domain name may be registered with a different registrar, but can be managed through your account.  By using the Services, you will be able to, among other things:

    \r\n
      \r\n
    1. Backorder any domain name under the top level domains .COM, .NET, .US, .BIZ, .INFO, .ORG, .MOBI. A backorder for a domain name will include the price of up to a one-year domain name registration. Should you successfully backorder any domain name, you will be subject to the terms and conditions of the Domain Name Registration and related agreements, which are incorporated herein by reference.
    2. \r\n
    3. Change your backorder until you obtain a domain name. You will have the opportunity to change the credit to a different domain name until you successfully capture one. After three (3) years, if the credit is not used, we reserves the right to remove the credit.
    4. \r\n
    5. Subscribe monthly to an expiring domain name list. You may also choose to purchase a subscription to a list of domain names expiring within the next five (5) days. If you subscribe to the expiring domain name list, you agree the payment method you have on file may be charged on a monthly subscription basis for the term of the Services you purchase.
    6. \r\n
    7. Select domain names off the expiring domain name list you would like to register. Each domain name you attempt to backorder will include the price of up to a one-year domain name registration, as set forth in subsection (i) above.
    8. \r\n
    9. Monitor your currently registered domain names for changes in registrar, status, expiration date or name servers at no additional cost.
    10. \r\n
    11. Subscribe to Domain Alert Pro or monitoring, which enables you to monitor any currently registered domain name, regardless of registrar, for historical tracking of status changes and designation of multiple email notification addresses.
    12. \r\n
    \r\n

    \r\n

    \r\n

    Transfer Validation. The transfer validation service is provided to help You keep Your domain name secure. By choosing to use the service, You are making an explicit and voluntary request to us to deny all attempts to transfer Your domain name to another registrar, or to move Your domain name to another account, unless You verify each request as described herein. You will provide us with a contact name, phone number and PIN for domain transfer validations. You will be contacted by us when a domain transfer is requested for a domain name in Your account. When we receive a transfer request, we will call You to verify the transfer request. If we cannot reach You with seventy-two (72) hours of receipt of the transfer request, the transfer will be denied. If You do not provide the proper PIN, the transfer will be denied. When we receive a change of account request, we will call You to verify the change request. If we cannot reach You with seventy-two (72) hours of receipt of the change request, the change will be denied. If You do not provide the proper PIN, the change will be denied. Availability of Services are subject to the terms and conditions of this Agreement and each of our policies and procedures. We shall use commercially reasonable efforts to attempt to provide certain portions of the Services on a twenty-four (24) hours a day, seven (7) days a week basis throughout the term of this Agreement and other portions of the service, during normal business hours. You acknowledge and agree that from time to time the Services may be inaccessible or inoperable for any reason, including, without limitation: (i) equipment malfunctions; (ii) periodic maintenance procedures or repairs that we may undertake from time to time; or (iii) causes beyond the reasonable control of us or that are not reasonably foreseeable by us, including, without limitation, interruption or failure of telecommunication or digital transmission links, hostile network attacks, network congestion or other failures. You acknowledge and agree that we has no control over the availability of the service on a continuous or uninterrupted basis.

    \r\n

    \r\n

    12. PRE-REGISTRATIONS

    \r\n

    If you submit an application for pre-registration of a domain name, Azure does not guarantee that the name will be secured for you, or that you will have immediate access to the domain name if secured.  Azure may use third-party service providers for the pre-registration services.

    \r\n

    13. PROVISIONS SPECIFIC TO .BIZ REGISTRATIONS

    \r\n

    Domain Name Dispute Policy.  If you reserved or registered a .BIZ domain name through us, in addition to our Dispute Resolution Policy, you hereby acknowledge that you have read and understood and agree to be bound by the terms and conditions of the Restrictions Dispute Resolution Policy applicable to the .biz TLD.

    \r\n

    The RDRP sets forth the terms under which any allegation that a domain name is not used primarily for business or commercial purposes shall be enforced on a case-by-case basis by an independent ICANN-accredited dispute provider. Registry Operator will not review, monitor, or otherwise verify that any particular domain name is being used primarily for business or commercial purposes or that a domain name is being used in compliance with the SUDRP or UDRP processes.

    \r\n

    One Year Registration.  If you are registering a .BIZ domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .BIZ domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .BIZ domain name during the first year, you will automatically be charged the second year renewal fees.

    \r\n

    \r\n

    14. PROVISIONS SPECIFIC TO .INFO REGISTRATIONS 

    \r\n

    One Year Registration.  If you are registering a .INFO domain name and you elect to take advantage of special pricing applicable to one-year registrations, we will automatically renew your domain name for an additional one-year period at the end of the first year term by taking payment from the Payment Method you have on file, unless you notify us that you do not wish to renew. You will be notified and given the opportunity to accept or decline the one-year renewal prior to your domain name expiration date. In the event you decide not to renew your one-year .INFO domain name for a second year, your domain name registration will automatically revert back to us and we will gain full rights of registration to such domain name. You agree that if you delete or transfer your .INFO domain name during the first year, you will automatically be charged the second year renewal fees.

    \r\n

    15. PROVISIONS SPECIFIC TO .MOBI REGISTRATIONS 

    \r\n

    Instant Mobilizer. You are hereby granted a personal, revocable, non-exclusive, non-transferable, non-assignable, non-sublicensable license to use the Instant Mobilizer service (“Service”), provided, however, You abide by the terms and conditions set forth. You shall not alter, modify, adapt or translate the whole or part of the Service in any way whatsoever. You may not create derivative works based on the Service. You may not rent, lease, assign, dispose of, novate, sub-license or otherwise transfer any of its rights to use the Service to any third party.  In the event that the volume of traffic to You from Your use of the Service is sufficient so as to jeopardize the provision of Service for other end users, we and our licensors reserve the right to, at its sole discretion, permanently or temporarily, discontinue Your use of the Service. For the avoidance of doubt, the volume of traffic generated by You should not exceed two thousand (2,000) page views per day.  You acknowledge and agree the text \"Instant Mobilizer from dotMobi\" or equivalent, will be inserted at the footer of Your site.  In the event a dotMobi domain to which the Service is being provided is transferred to another domain name registrar, the Service will be interrupted on that dotMobi domain, and Service will not be restored if the new registrar does not offer the Service. 

    \r\n

    \r\n

    16. PROVISIONS SPECIFIC TO .NAME REGISTRATIONS 

    \r\n

    \r\n

    17. PROVISIONS SPECIFIC TO .REISE REGISTRATIONS

    \r\n

    Domain Names registered in .REISE should be used for purposes dedicated to travel topics within six months following initial Registration, e.g. utilized on the Internet or otherwise used to perform a function.

    \r\n

    18. PROVISIONS SPECIFIC TO .SEXY REGISTRATIONS

    \r\n

    You shall not permit content unsuitable for viewing by a minor to be viewed from the main or top-level directory of a .SEXY domain name. For purposes of clarity, content viewed at the main or top-level directory of a .SEXY domain name is the content immediately visible if a user navigates to http://example.sexy or http://www.example.sexy. No restrictions apply to the content at any other page or subdirectory addressed by a .SEXY Registered Name. 

    \r\n

    19. COUNTRY CODE TOP LEVEL DOMAINS

    \r\n

    You represent and warrant that you meet the eligibility requirements of each ccTLD you apply for. You further agree to be bound by any registry rules, policies, and agreements for that particular ccTLD. These may include, but are not limited to, agreeing to indemnify the ccTLD provider, limiting the liability of the ccTLD provider, and requirements that any disputes be resolved under that particular country's laws.

    \r\n

    (A) PROVISIONS SPECIFIC TO .AU REGISTRATIONS 

    \r\n

    .au Registrations (to include com.au, net.au and org.au) are governed by the following additional terms and conditions:

    \r\n

    auDA. auDA means .au Domain Administration Limited ACN 079 009 340, the .au domain names administrator.  The Registrar acts as agent for auDA for the sole purpose, but only to the extent necessary, to enable auDA to receive the benefit of rights and covenants conferred to it under this Agreement. auDA is an intended third party beneficiary of this agreement.

    \r\n

    auDA Published Policy.  auDA Published Policies means those specifications and policies established and published by auDA from time to time at http://www.auda.org.au.  You must comply with all auDA Published Policies, as if they were incorporated into, and form part of, this Agreement. In the event of any inconsistency between any auDA Published Policy and this Agreement, then the auDA Published Policy will prevail to the extent of such inconsistency.  You acknowledge that under the auDA Published Policies: (1) there are mandatory terms and conditions that apply to all domain names; (2) licences, and such terms and conditions are incorporated into, and form part of, this Agreement; (3) You are bound by, and must submit to, the .au Dispute Resolution Policy; and (4) auDA may delete or cancel the registration of a .au domain name. 

    \r\n

    auDA's Liabilities and Indemnity.  To the fullest extent permitted by law, auDA will not be liable to Registrant for any direct, indirect, consequential, special, punitive or exemplary losses or damages of any kind (including, without limitation, loss of use, loss or profit, loss or corruption of data, business interruption or indirect costs) suffered by Registrant arising from, as a result of, or otherwise in connection with, any act or omission whatsoever of auDA, its employees, agents or contractors. Registrant agrees to indemnify, keep indemnified and hold auDA, its employees, agents and contractors harmless from all and any claims or liabilities, arising from, as a result of, or otherwise in connection with, Registrant's registration or use of its .au domain name. Nothing in this document is intended to exclude the operation of Trade Practices Act 1974.

    \r\n

    (B) PROVISIONS SPECIFIC TO .CA REGISTRATIONS

    \r\n

    You acknowledge and agree that registration of your selected domain name in your first application to CIRA shall not be effective until you have entered into and agreed to be bound by CIRA's Registrant Agreement.

    \r\n

    CIRA Certified Registrar.  The registrar shall immediately give notice to you in the event that it is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated, or the Registrar Agreement between CIRA and the Registrar is terminated or expires. CIRA may post notice of such suspension, termination, or expiry on its website and may, if CIRA deems appropriate, give notice to the registrants thereof. In the event that the registrar is no longer a CIRA Certified Registrar, has had its certification as a CIRA Certified Registrar suspended or terminated or in the event the Registrar Agreement between CIRA and the Registrar is terminated or expires, you shall be responsible for changing your Registrar of Record to a new CIRA Certified Registrar within thirty (30) days of the earlier of notice thereof being given to you by (i) the Registrar or (ii) CIRA in accordance with CIRA's then current Registry PRP; provided, however, that if any of your domain name registrations are scheduled to expire within thirty (30) days of the giving of such notice, then you shall have thirty (30) days from the anniversary date of the registration(s), to register with a new CIRA certified registrar and to renew such domain name registration(s) in accordance with the Registry PRP.

    \r\n

    You acknowledge and agree that should there be insufficient funds prepaid by the registrar in the CIRA Deposit Account to be applied in payment of any fees, CIRA may in its sole discretion stop accepting applications for domain name registrations from the registrar, stop effecting registrations of domain names and transfers, renewals, modifications, and cancellations requested by the registrar and stop performing other billable transactions requested by the registrar not paid in full and CIRA may terminate the Registrar Agreement between CIRA and the Registrar.

    \r\n

    .CA ASCII and IDN domain variants are bundled and reserved for a single registrant.  Registrants are not required to register all variants in a bundle, but all registered variants must be registered and managed at a single registrar. Each variant registered will incur a registration fee.  In addition, when registering multiple .CA domain (ASCII and IDN) variants in a bundle, your registrant information must be identical.  If variants are registered at other registrars or if registrant information does not match, it may result in an \"unavailable\" search result, delayed or failed registration. If information does not match, validation is required and may take up to seven business days and delay availability of domain. 

    \r\n

    (C) PROVISIONS SPECIFIC TO .CN REGISTRATIONS 

    \r\n

    .CN is a restricted TLD – applications are subject to both a domain name check and real name verification as required by the People’s Republic of China.  Registrations in .CN are therefore subject to the following additional terms:

    \r\n

    Verification, Registration and Activation.  If a domain name is not permitted to be registered by the Chinese government, as determined by us, the Registry Operator and/or a 3rd party provider utilized for such services and determinations, in either party’s discretion, the application for registration will not be successful.  In such event, the name will be deleted and you will be eligible for a refund as further described below.

    \r\n

    If permitted, then the Registration may proceed, but a .CN domain name may not be activated (i.e., it will not resolve in the Internet) unless and until you have submitted (via the process described during registration) valid documents required of us and the Registry to perform real name verification.  The following are acceptable forms of documents for the purpose of verification:

    \r\n
      \r\n
    • China: Resident ID, temporary resident ID, business license or organization code certificate
    • \r\n
    • Hong Kong/Macau: Resident ID, driver’s license, passport or business license
    • \r\n
    • Singapore: Driver’s license, passport or business license
    • \r\n
    • Taiwan: Resident ID, driver’s license or business license
    • \r\n
    • Other Countries/Regions: Driver’s license or passport
    • \r\n
    \r\n

    Documents submitted to us are used by us and shared with the Registry solely for the purpose of real name verification, and are otherwise subject to our Privacy Policy.  By registering a .CN domain, you expressly agree that your data may be stored on servers in the U.S., or otherwise outside of the People's Republic of China.

    \r\n

    Refunds.  Refunds for .CN Registrations will only be allowed where (i) registration of the applied for domain name is not permitted by the Chinese government; or (ii) you notify us of your intent to cancel for any reason within the first five (5) days after the Registration (i.e., after it is deemed permissible by the Chinese government).  For the avoidance of doubt, refunds will not be permitted under any circumstances after five (5) days from the date of Registration, including, for example, in the event real name verification is not successful or if the Chinese government determines after Registration that the domain name should not have been registered (and directs us to delete).

    \r\n

    (D) PROVISIONS SPECIFIC TO .JP REGISTRATIONS

    \r\n

    Registration Restrictions.  You represent and warrant that you have a local presence in Japan with a home or office address. You agree that certain domain names are reserved and can only be registered by certain parties. These include: (i) TLDs, other than ccTLDs, as determined by ICANN; (ii) geographical-type .JP domain names that are defined as metropolitan, prefectural, and municipal labels; (iii) names of primary and secondary educational organizations; (iv) names of organizations related to Internet management; (v) names required for .JP domain name operations; and (vi) character strings which may be confused with ASCII-converted Japanese domain names. The complete list of .JP Reserved Domains is available here

    \r\n

    20. ENGLISH LANGUAGE CONTROLS

    \r\n

    This Agreement, along with all policies and the applicable product agreements identified above and incorporated herein by reference (collectively, the “Agreement”), is executed in the English language. To the extent any translation is provided to you, it is provided for convenience purposes only, and in the event of any conflict between the English and translated version, where permitted by law, the English version will control and prevail. Where the translated version is required to be provided to you and is to be considered binding by law (i) both language versions shall have equal validity, (ii) each party acknowledges that it has reviewed both language versions and that they are substantially the same in all material respects, and (iii) in the event of any discrepancy between these two versions, the translated version may prevail, provided that the intent of the Parties has been fully taken into consideration. 

    \n
    \n
    \n\nRevised: 10/6/17
    \nCopyright © 2000-2017 All Rights Reserved.\n
    \n
    \n
    ", + "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=reg_sa&pl_id=510456" + }, + { + "agreementKey": "DNPA", + "title": "Domain Name Proxy Agreement", + "content": "\n\n\n\n\n
    \n\n\n\n\n\n\n
    \nDomain Name Proxy Agreement\n
    \n

    Last Revised: October 25, 2017

    \n

    Please read this Domain Name Proxy Agreement (\"Agreement\") carefully. By using the Services and/or website of Domains By Proxy, LLC, a Delaware limited liability company (\"DBP\"), You (as defined below) agree to all the terms and conditions set forth both herein and in the DBP privacy policy, which is incorporated by reference and can be found by clicking here.  You acknowledge that DBP may amend this Agreement at any time upon posting the amended terms on its website, and that any new, different or additional features changing the services provided by DBP will automatically be subject to this Agreement. If You do not agree to be bound by, or if You object to, the terms and conditions of this Agreement and any amendments hereto, do not use or access DBP's services. Continued use of DBP's services and its website after any such changes to this Agreement have been posted, constitutes Your acceptance of those changes.

    \r\n

    This Agreement is by and between DBP and you, your heirs, assigns, agents and contractors (\"You\") and is made effective as of the date of electronic execution. This Agreement sets forth the terms and conditions of Your relationship with DBP and Your use of DBP's services and represents the entire Agreement between You and DBP. By using DBP's Services, You acknowledge that You have read, understand and agree to be bound by all the terms and conditions of this Agreement, and You further agree to be bound by the terms of this Agreement for transactions entered into by:

    \r\n
      \r\n
    1. You on Your behalf;
    2. \r\n
    3. Anyone acting as Your agent; and
    4. \r\n
    5. Anyone who uses the account You have established with DBP, whether or not the transactions were on Your behalf and/or authorized by You.
    6. \r\n
    \r\n

    You agree You will be bound by representations made by third parties acting on Your behalf, which either use or purchase services from DBP. You further agree that DBP will not be bound by statements of a general nature on DBP's website or DBP promotional materials. You further agree to abide by the terms and conditions promulgated by the Internet Corporation for Assigned Names and Numbers (\"ICANN\") (including the Uniform Domain Name Dispute Resolution Policy (\"Dispute Resolution Policy\") and Your Registrar (i.e., the ICANN-accredited person or entity through which You register a domain name).

    \r\n

    1. description of DBP's private registration services

    \r\n

    When You subscribe to DBP's private registration service through a DBP-affiliated Registrar, DBP will display its contact information in the publicly available \"Whois\" directory in place of Your information. DBP shall keep Your name, postal address, email address, phone and fax numbers confidential, subject to Section 4 of this Agreement. The following information (and not Your personal information) will be made publicly available in the \"Whois\" directory as determined by ICANN policy:

    \r\n
      \r\n
    1. DBP's name as the proxy Registrant of the domain name and a proxy email address, phone number and postal address for the proxy Registrant's contact information;
    2. \r\n
    3. A proxy postal address and phone number for the domain name registration's technical contact;
    4. \r\n
    5. A proxy email address, postal address and phone number for the domain name registration's administrative contact;
    6. \r\n
    7. A proxy email address, postal address and phone number for the domain's name registration's billing contact;
    8. \r\n
    9. The primary and secondary domain name servers You designate for the domain name;
    10. \r\n
    11. The domain name's original date of registration and expiration date of the registration; and
    12. \r\n
    13. The identity of the Registrar.
    14. \r\n
    \r\n

    2. full benefits of domain registration retained by you

    \r\n

    Although DBP will show in the \"Whois\" directory as the Registrant of each domain name registration You designate, You will retain the full benefits of domain name registration with respect to each such domain name registration, including, subject to Section 4 below:

    \r\n
      \r\n
    1. The right to sell, transfer or assign each domain name registration, which shall require cancellation of the DBP services associated with each such domain name registration;
    2. \r\n
    3. The right to control the use of each domain name registration, including designating the primary and secondary domain name servers to which each domain name points;
    4. \r\n
    5. The right to cancel each domain name registration;
    6. \r\n
    7. The right to cancel the DBP services associated with each domain name registration and/or Your privacy services with DBP so that Your contract information is listed in the \"Whois\" directory; and
    8. \r\n
    9. The right to renew each domain name registration upon its expiration, subject to Your Registrar's applicable rules and policies.
    10. \r\n
    \r\n

    3. PERSONAL INFORMATION AND your notification obligations; representation and warranties; ACCOUNT SECURITY

    \r\n

    Personal Information and Your Notification Obligations 

    \r\n

    You agree that for each domain name for which you use DBP services, You will provide accurate and current information as to:

    \r\n
      \r\n
    1. Your name, the email address, postal address, phone and fax numbers for the domain name registration's Registrant contact;
    2. \r\n
    3. The email address, postal address, phone and fax numbers for the domain name registration's technical contact;
    4. \r\n
    5. The email address, postal address, phone and fax numbers for the domain name registration's administrative contact;
    6. \r\n
    7. The email address, postal address, phone and fax numbers for the domain name registration's billing contact; and
    8. \r\n
    9. You agree to provide government issued photo identification and/or government issued business identification as required for verification of identity when requested.
    10. \r\n
    \r\n

    You agree to:

    \r\n
      \r\n
    1. Notify DBP within three (3) calendar days when any of the personal information You provided upon subscribing to DBP's services, changes;
    2. \r\n
    3. Respond within three (3) calendar days to any inquiries made by DBP to determine the validity of personal information provided by You; and
    4. \r\n
    5. Timely respond to email messages DBP sends to You regarding correspondence DBP has received that is either addressed to or involves You and/or Your domain name registration, as more fully set forth in Section 5(c) below.
    6. \r\n
    7. To allow DBP to act as your Designated Agent (as that term is defined below) in instances when DBP services are added to or cancelled from your domain name and for the purpose of facilitating a change of registrant request (as further described below). 
    8. \r\n
    \r\n

    It is Your responsibility to keep Your personal information current and accurate at all times.

    \r\n

    Renewals

    \r\n

    You agree DBP will arrange for Your Registrar to charge the credit card You have on file with the Registrar, at the Registrar's then current rates.

    \r\n

    If for any reason DBP and/or the Registrar for Your domain name is unable to charge Your credit card for the full amount of the service provided, or if DBP and/or the Registrar is charged back for any fee it previously charged to the credit card You provided, You agree that DBP and/or the Registrar may, without notice to You, pursue all available remedies in order to obtain payment, including but not limited to immediate cancellation of all services DBP provides to You.

    \r\n

    Representations and Warranties

    \r\n

    You warrant that all information provided by You to DBP is truthful, complete, current and accurate. You also warrant that You are using DBP's private registration services in good faith and You have no knowledge of Your domain name infringing upon or conflicting with the legal rights of a third party or a third party's trademark or trade name. You also warrant the domain name being registered by DBP on Your behalf will not be used in connection with any illegal activity, or in connection with the transmission of Spam, or that contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable or, disrupting, damaging or limiting the functionality of any software or hardware.

    \r\n

    Account Security

    \r\n

    You agree You are entirely responsible for maintaining the confidentiality of Your customer number/login ID and password (\"Account Access Information\").  You agree to notify DBP immediately of any unauthorized use of Your account or any other breach of security.  You agree DBP will not be liable for any loss that You may incur as a result of someone else using Your Account Access Information, either with or without Your knowledge.  You further agree You could be held liable for losses incurred by DBP or another party due to someone else using Your Account Access Information.  For security purposes, You should keep Account Access Information in a secure location and take precautions to prevent others from gaining access to Your Account Access Information.  You agree that You are entirely responsible for all activity in Your account, whether initiated by You, or by others.  DBP specifically disclaims liability for any activity in Your account, regardless of whether You authorized the activity.

    \r\n

    Designated Agency and Change of Registrant Information

    \r\n

    “DESIGNATED AGENT” MEANS AN INDIVIDUAL OR ENTITY THAT THE PRIOR REGISTRANT OR NEW REGISTRANT EXPLICITLY AUTHORIZES TO APPROVE A CHANGE OF REGISTRANT REQUEST ON ITS BEHALF.  IN THE CASE OF DBP SERVICES, A CHANGE OF REGISTRANT REQUEST MAY ALSO ARISE DUE TO INSTANCES WHERE DBP SERVICES ARE ADDED, OR REMOVED, FROM A DOMAIN NAME.  FOR THE PURPOSE OF FACILITATING ANY SUCH CHANGE REQUEST, AND IN ACCORDANCE WITH ICANN'S CHANGE OF REGISTRANT POLICY, YOU AGREE TO APPOINT DBP AS YOUR DESIGNATED AGENT FOR THE SOLE PURPOSE OF EXPLICITLY CONSENTING TO MATERIAL CHANGES OF REGISTRATION CONTACT INFORMATION ON YOUR BEHALF.

    \r\n

    4. DBP's rights to deny, suspend, terminate service and to disclose your personal information

    \r\n

    You understand and agree that DBP has the absolute right and power, in its sole discretion and without any liability to You whatsoever, to:

    \r\n
      \r\n
    1. Cancel the privacy service (which means that Your information will be available in the \"Whois\" directory) and/or reveal Your name and personal information that You provided to DBP:  
      A. When required by law, in the good faith belief that such action is necessary in order to conform to the edicts of the law or in the interest of public safety;
      B. To comply with legal process served upon DBP or in response to a reasonable threat of litigation against DBP (as determined by DBP in its sole and absolute discretion); or
      C. To comply with ICANN rules, policies, or procedures.
    2. \r\n
    3. Resolve any and all third party claims, whether threatened or made, arising out of Your use of a domain name for which DBP is the registrant listed in the \"Whois\" directory on Your behalf; or
    4. \r\n
    5. Take any other action DBP deems necessary:
      A. In the event you breach any provision of this Agreement or the DBP Anti-Spam Policy;
      B. To protect the integrity and stability of, and to comply with registration requirements, terms, conditions and policies of, the applicable domain name Registry and/or Registry Provider;
          C. To comply with any applicable laws, government rules or requirements, subpoenas, court orders or requests of law enforcement; 
      D. To comply with ICANN's Dispute Resolution Policy or ICANN's Change of Registrant Policy;
      E. To avoid any financial loss or legal liability (civil or criminal) on the part of DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, officers, directors and employees;
      F. If the domain name for which DBP is the registrant on Your behalf violates or infringes a third party's trademark, trade name or other legal rights; and
      G. If it comes to DBP's attention that You are using DBP's services in a manner (as determined by DBP in its sole and absolute discretion) that:
    6. \r\n
    \r\n
    \r\n
      \r\n
    • Is illegal, or promotes or encourages illegal activity;
    • \r\n
    • Promotes, encourages or engages in child pornography or the exploitation of children;
    • \r\n
    • Promotes, encourages or engages in terrorism, violence against people, animals, or property;
    • \r\n
    • Promotes, encourages or engages in any spam or other unsolicited bulk email, or computer or network hacking or cracking;
    • \r\n
    • Violates the Ryan Haight Online Pharmacy Consumer Protection Act of 2008 or similar legislation, or promotes, encourages or engages in the sale or distribution of prescription medication without a valid prescription;  
    • \r\n
    • Infringes on the intellectual property rights of another User or any other person or entity;
    • \r\n
    • Violates the privacy or publicity rights of another User or any other person or entity, or breaches any duty of confidentiality that you owe to another User or any other person or entity;
    • \r\n
    • Interferes with the operation of DBP services;
    • \r\n
    • Contains or installs any viruses, worms, bugs, Trojan horses or other code, files or programs designed to, or capable of, disrupting, damaging or limiting the functionality of any software or hardware; or
    • \r\n
    • Contains false or deceptive language, or unsubstantiated or comparative claims, regarding DBP or its services.
    • \r\n
    \r\n
    \r\n

    You further understand and agree that if DBP is named as a defendant in, or investigated in anticipation of, any legal or administrative proceeding arising out of Your domain name registration or Your use of DBP's services, Your private registration service may be canceled, which means the domain name registration will revert back to You and Your identity will therefore be revealed in the Whois directory as Registrant.

    \r\n

    In the event:

    \r\n
      \r\n
    1. DBP takes any of the actions set forth in subsection i, ii, or iii above or section 5; and/or
    2. \r\n
    3. You elect to cancel DBP's services for any reason --
    4. \r\n
    \r\n

    Neither DBP nor your Registrar will refund any fees paid by You whatsoever.

    \r\n

    5. communications forwarding

    \r\n

    a. Correspondence Forwarding

    \r\n

    Inasmuch as DBP's name, postal address and phone number will be listed in the Whois directory, You agree DBP will review and forward communications addressed to Your domain name that are received via email, certified or traceable courier mail (such as UPS, FedEx, or DHL), or first class U.S. postal mail. You specifically acknowledge DBP will not forward to You first class postal mail (other than legal notices), \"junk\" mail or other unsolicited communications (whether delivered through email, fax, postal mail or telephone), and You further authorize DBP to either discard all such communications or return all such communications to sender unopened. You agree to waive any and all claims arising from Your failure to receive communications directed to Your domain name but not forwarded to You by DBP.

    \r\n

    b. Email Forwarding

    \r\n

    The Whois directory requires an email address for every purchased domain name registration. When You purchase a private domain registration, DBP creates a private email address for that domain name, \"@domainsbyproxy.com\". Thereafter, when messages are sent to that private email address, DBP handles them according to the email preference You selected for that particular domain name. You have three (3) email preferences from which to choose. You can elect to:

    \r\n
      \r\n
    1. Have all of the messages forwarded;
    2. \r\n
    3. Have all of the messages filtered for Spam and then forwarded; or
    4. \r\n
    5. Have none of the messages forwarded.
    6. \r\n
    \r\n

    As with all communications, You agree to waive any and all claims arising from Your failure to receive email directed to Your domain name but not forwarded to You by DBP.

    \r\n

    c. Notifications Regarding Correspondence and Your Obligation to Respond

    \r\n

    When DBP receives certified or traceable courier mail or legal notices addressed to Your domain name, in most cases, DBP will attempt to forward the mail to you via email. If You do not respond to the DBP email and/or the correspondence DBP has received regarding Your domain name registration concerns a dispute of any kind or otherwise requires immediate disposition, DBP may immediately reveal Your identity and/or cancel the DBP private registration service regarding either the domain name registration(s) in question. This means the Whois directory will revert to displaying Your name, postal address, email address and phone number that you provided to DBP.

    \r\n

    d. Additional Administrative Fees

    \r\n

    DBP reserves the right to charge You reasonable \"administrative fees\" or \"processing fees\" for (i)  tasks DBP may perform outside the normal scope of its Services, (ii) additional time and/or costs DBP may incur in providing its Services, and/or (iii) Your non-compliance with the Agreement (as determined by DBP in its sole and absolute discretion). Typical administrative or processing fee scenarios include, but are not limited to, (i) customer service issues that require additional personal time and attention; (ii) disputes that require accounting or legal services, whether performed by DBP staff or by outside firms retained by DBP; (iii) recouping any and all costs and fees, including the cost of Services, incurred by DBP as the result of chargebacks or other payment disputes brought by You, Your bank or Payment Method processor.  These administrative fees or processing fees will be billed to the Payment Method You have on file with Your Registrar.

    \r\n

    You agree to waive the right to trial by jury in any proceeding that takes place relating to or arising out of this Agreement.

    \r\n

    6. limitations of liability

    \r\n

    UNDER NO CIRCUMSTANCES SHALL DBP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, SPECIAL, OR CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER RELATED TO THIS AGREEMENT, YOUR DOMAIN NAME REGISTRATION, DBP'S SERVICES, USE OR INABILITY TO USE THE DBP WEBSITE OR THE MATERIALS AND CONTENT OF THE WEBSITE OR ANY OTHER WEBSITES LINKED TO THE DBP WEBSITE OR YOUR PROVISION OF ANY PERSONALLY IDENTIFIABLE INFORMATION TO DBP OR ANY THIRD PARTY. THIS LIMITATION APPLIES REGARDLESS OF WHETHER THE ALLEGED LIABILITY IS BASED ON CONTRACT, TORT, WARRANTY, NEGLIGENCE, STRICT LIABILITY OR ANY OTHER BASIS, EVEN IF DBP HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR SUCH DAMAGES WERE REASONABLY FORESEEABLE. BECAUSE CERTAIN JURISDICTIONS DO NOT PERMIT THE LIMITATION OR ELIMINATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, DBP'S LIABILITY IN SUCH JURISDICTIONS SHALL BE LIMITED TO THE SMALLEST AMOUNT PERMITTED BY LAW.

    \r\n

    YOU FURTHER UNDERSTAND AND AGREE THAT DBP DISCLAIMS ANY LOSS OR LIABILITY RESULTING FROM:

    \r\n
      \r\n
    1. THE INADVERTENT DISCLOSURE OR THEFT OF YOUR PERSONAL INFORMATION;
    2. \r\n
    3. ACCESS DELAYS OR INTERRUPTIONS TO OUR WEBSITE OR THE WEBSITES OF OUR AFFILIATED REGISTRARS;
    4. \r\n
    5. DATA NON-DELIVERY OF MIS-DELIVERY BETWEEN YOU AND DBP;
    6. \r\n
    7. THE FAILURE FOR WHATEVER REASON TO RENEW A PRIVATE DOMAIN NAME REGISTRATION;
    8. \r\n
    9. THE UNAUTHORIZED USE OF YOUR DBP ACCOUNT OR ANY OF DBP'S SERVICES;
    10. \r\n
    11. ERRORS, OMISSIONS OR MISSTATEMENTS BY DBP;
    12. \r\n
    13. DELETION OF, FAILURE TO STORE, FAILURE TO PROCESS OR ACT UPON EMAIL MESSAGES FORWARDED TO EITHER YOU OR YOUR PRIVATE DOMAIN NAME REGISTRATION;
    14. \r\n
    15. PROCESSING OF UPDATED INFORMATION REGARDING YOUR DBP ACCOUNT; AND/OR
    16. \r\n
    17. ANY ACT OR OMISSION CAUSED BY YOU OR YOUR AGENTS (WHETHER AUTHORIZED BY YOU OR NOT).
    18. \r\n
    \r\n

    7. indemnity

    \r\n

    You agree to release, defend, indemnify and hold harmless DBP, its parent companies, subsidiaries, affiliates, shareholders, agents, directors, officers and employees and Your Registrar, from and against any and all claims, demands, liabilities, losses, damages or costs, including reasonable attorneys' fees, arising out of or related in any way to this Agreement, the services provided hereunder by DBP, the DBP website, Your account with DBP, Your use of Your domain name registration, and/or disputes arising in connection with the dispute policy.

    \r\n

    8. DBP warranty disclaimer

    \r\n

    DBP, ITS PARENT COMPANIES, SUBSIDIARIES, AFFILIATES, SHAREHOLDERS, AGENTS, DIRECTORS, OFFICERS, AND EMPLOYEES EXPRESSLY DISCLAIM ALL REPRESENTATIONS AND WARRANTIES OF ANY KIND IN CONNECTION WITH THIS AGREEMENT, THE SERVICE PROVIDED HEREUNDER, THE DBP WEBSITE OR ANY WEBSITES LINKED TO THE DBP WEBSITE, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ALL DBP SERVICES, AS WELL AS THE DBP WEBSITE, ARE PROVIDED \"AS IS\". YOUR SUBSCRIPTION TO AND USE OF DBP'S SERVICES AND ITS WEBSITE ARE ENTIRELY AT YOUR RISK. SOME JURISDICTIONS DO NOT ALLOW THE DISCLAIMER OF IMPLIED WARRANTIES, IN WHICH EVENT THE FOREGOING DISCLAIMER MAY NOT APPLY TO YOU.

    \r\n

    9. copyright and trademark

    \r\n

    You understand and agree that all content and materials contained in this Agreement, the Privacy Policy and the DBP website found here , are protected by the various copyright, patent, trademark, service mark and trade secret laws of the United States, as well as any other applicable proprietary rights and laws, and that DBP expressly reserves its rights in and to all such content and materials.

    \r\n

    You further understand and agree You are prohibited from using, in any manner whatsoever, any of the afore-described content and materials without the express written permission of DBP. No license or right under any copyright, patent, trademark, service mark or other proprietary right or license is granted to You or conferred upon You by this Agreement or otherwise.

    \r\n

    10. miscellaneous provisions

    \r\n

    a. Severability; Construction; Entire Agreement

    \r\n

    If any part of this Agreement shall be held to be illegal, unenforceable or invalid, in whole or in part, such provision shall be modified to the minimum extent necessary to make it legal, enforceable and valid, and the legality, enforceability and validity of the remaining provisions of this Agreement shall not be affected or impaired. The headings herein will not be considered a part of this Agreement. You agree this Agreement, including the policies it incorporates by reference, constitute the complete and only Agreement between You and DBP regarding the services contemplated herein.

    \r\n

    b. Governing Law; Venue; Waiver Of Trial By Jury

    \r\n

    This Agreement shall be governed in all respects by the laws and judicial decisions of Maricopa County, Arizona, excluding its conflicts of laws rules. Except as provided immediately below, You agree that any action relating to or arising out of this Agreement, shall be brought exclusively in the courts of Maricopa County, Arizona. For the adjudication of domain name registration disputes, you agree to submit to the exclusive jurisdiction and venue of the U.S. District Court for the District of Arizona located in Phoenix, Arizona. You agree to waive the right to trial by jury in any proceeding, regardless of venue, that takes place relating to or arising out of this Agreement.

    \r\n

    c. Notices

    \r\n

    All notices from DBP to You will be sent to the email address You provided to DBP. Notices by email shall be deemed effective twenty-four (24) hours after the email is sent by DBP, unless DBP receives notice that the email address is invalid, in which event DBP may give You notice via first class or certified mail, return receipt requested. All notices from You to DBP shall be sent via certified mail, return receipt requested or traceable courier to:

    \r\n
        Domains By Proxy, LLC
        Attn: General Counsel
        14455 North Hayden Rd.
        Suite 219
        Scottsdale, AZ 85260
    \r\n

    Notices sent via certified mail or traceable courier shall be deemed effective five (5) days after the date of mailing.

    \r\n

    d. Insurance

    \r\n

    In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's negligent actions (and absent fraud or other negligent or willful misconduct committed by a third party), You may be insured against such loss through DBP's Professional Liability Insurance Policy, which is currently underwritten by American International Insurance Company. Of course, every claim is subject to the then-carrier's investigation into the facts and circumstances surrounding such claim. In the event You have reason to believe that circumstances exist which warrant the filing of an insurance claim, please send a written notice (specifying the basis for such claim), via certified mail, return receipt requested, to:

    \r\n
        Domains By Proxy, LLC
        Attn: Insurance Claims
        14455 North Hayden Rd.
        Suite 219
        Scottsdale, AZ 85260
    \r\n

    e. Indemnification

    \r\n

    In the unlikely event You lose Your domain name registration to a third party solely as a result of DBP's willful misconduct, Your Registrar (the \"Indemnifying Party\") will indemnify and hold You harmless against any losses, damages or costs (including reasonable attorneys' fees) resulting from any claim, action, proceeding, suit or demand arising out of or related to the loss of Your domain name registration. Such indemnification obligations under this Section 10(e) are conditioned upon the following:

    \r\n
      \r\n
    1. That You promptly give both DBP and the Indemnifying Party written notice of the claim, demand, or action and provide reasonable assistance to the Indemnifying Party, at its cost and expense, in connection therewith, and
    2. \r\n
    3. That the Indemnifying Party has the right, at its option, to control and direct the defense to any settlement of such claim, demand, or action.
    4. \r\n
    \r\n

    Any notice concerning indemnification shall, with respect to DBP, be sent in accordance with Section 10(c) of this Agreement. With respect to Your Registrar, notices regarding indemnification should be sent in accordance with the notification provisions contained in Your Registrar's Domain Name Registration Agreement.

    \r\n

    f. Term of Agreement; Survival

    \r\n

    The terms of this Agreement shall continue in full force and effect as long as DBP is the Registrant for any domain name on Your behalf. Sections 5 (Communications Forwarding), 6 (Limitation of Liability), 7 (Indemnity), 8 (Warranty Disclaimer) and 10 (Miscellaneous Provisions) shall survive any termination or expiration of this Agreement.

    \n
    \n
    \n\nRevised: 10/25/17
    \nCopyright © 2003-2017 All Rights Reserved.\n
    \n
    \n
    ", + "url": "http://www.secureserver.net/agreements/ShowDoc.aspx?pageid=domain_nameproxy&pl_id=510456" + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListTopLevelDomains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListTopLevelDomains.json new file mode 100644 index 000000000000..544592ed15a6 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/ListTopLevelDomains.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/com", + "name": "com", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/net", + "name": "net", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.uk", + "name": "co.uk", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": false + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org", + "name": "org", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/nl", + "name": "nl", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/in", + "name": "in", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": false + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/biz", + "name": "biz", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/org.uk", + "name": "org.uk", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": false + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.DomainRegistration/topLevelDomains/co.in", + "name": "co.in", + "type": "Microsoft.DomainRegistration/topLevelDomains", + "properties": { + "privacy": false + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/RenewDomain.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/RenewDomain.json new file mode 100644 index 000000000000..9ced2036a618 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2020-06-01/examples/RenewDomain.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "3dddfa4f-cedf-4dc0-ba29-b6d1a69ab545", + "resourceGroupName": "RG", + "domainName": "example.com" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/CommonDefinitions.json b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/CommonDefinitions.json index cf72d9b7c660..b6abe69015f0 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/CommonDefinitions.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2019-08-01/CommonDefinitions.json @@ -1955,6 +1955,14 @@ "description": "true if HTTP logging is enabled; otherwise, false.", "type": "boolean" }, + "acrUseManagedIdentityCreds": { + "description": "Flag to use Managed Identity Creds for ACR pull", + "type": "boolean" + }, + "acrUserManagedIdentityID": { + "description": "If using user managed identity, the user managed identity ClientId", + "type": "string" + }, "logsDirectorySizeLimit": { "format": "int32", "description": "HTTP logs directory size limit.", diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/AppServiceEnvironments.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/AppServiceEnvironments.json new file mode 100644 index 000000000000..77bfc0531597 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/AppServiceEnvironments.json @@ -0,0 +1,2353 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "AppServiceEnvironments API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get all App Service Environments for a subscription.", + "description": "Description for Get all App Service Environments for a subscription.", + "operationId": "AppServiceEnvironments_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get all App Service Environments in a resource group.", + "description": "Description for Get all App Service Environments in a resource group.", + "operationId": "AppServiceEnvironments_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get the properties of an App Service Environment.", + "description": "Description for Get the properties of an App Service Environment.", + "operationId": "AppServiceEnvironments_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Create or update an App Service Environment.", + "description": "Description for Create or update an App Service Environment.", + "operationId": "AppServiceEnvironments_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "hostingEnvironmentEnvelope", + "in": "body", + "description": "Configuration details of the App Service Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Delete an App Service Environment.", + "description": "Description for Delete an App Service Environment.", + "operationId": "AppServiceEnvironments_Delete", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Specify true to force the deletion even if the App Service Environment contains resources. The default is false.", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Operation is in progress." + }, + "204": { + "description": "App Service Environment does not exist" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Create or update an App Service Environment.", + "description": "Description for Create or update an App Service Environment.", + "operationId": "AppServiceEnvironments_Update", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "hostingEnvironmentEnvelope", + "in": "body", + "description": "Configuration details of the App Service Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentPatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get the used, available, and total worker capacity an App Service Environment.", + "description": "Description for Get the used, available, and total worker capacity an App Service Environment.", + "operationId": "AppServiceEnvironments_ListCapacities", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StampCapacityCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get IP addresses assigned to an App Service Environment.", + "description": "Description for Get IP addresses assigned to an App Service Environment.", + "operationId": "AppServiceEnvironments_GetVipInfo", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AddressResponse" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork": { + "post": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Move an App Service Environment to a different VNET.", + "description": "Description for Move an App Service Environment to a different VNET.", + "operationId": "AppServiceEnvironments_ChangeVnet", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "vnetInfo", + "in": "body", + "description": "Details for the new virtual network.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VirtualNetworkProfile" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get diagnostic information for an App Service Environment.", + "description": "Description for Get diagnostic information for an App Service Environment.", + "operationId": "AppServiceEnvironments_ListDiagnostics", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/HostingEnvironmentDiagnostics" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get a diagnostics item for an App Service Environment.", + "description": "Description for Get a diagnostics item for an App Service Environment.", + "operationId": "AppServiceEnvironments_GetDiagnosticsItem", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "diagnosticsName", + "in": "path", + "description": "Name of the diagnostics item.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostingEnvironmentDiagnostics" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/inboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get the network endpoints of all inbound dependencies of an App Service Environment.", + "description": "Description for Get the network endpoints of all inbound dependencies of an App Service Environment.", + "operationId": "AppServiceEnvironments_GetInboundNetworkDependenciesEndpoints", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/InboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Inbound Network Dependencies Endpoints": { + "$ref": "./examples/GetInboundNetworkDependenciesEndpoints.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get all multi-role pools.", + "description": "Description for Get all multi-role pools.", + "operationId": "AppServiceEnvironments_ListMultiRolePools", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkerPoolCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get properties of a multi-role pool.", + "description": "Description for Get properties of a multi-role pool.", + "operationId": "AppServiceEnvironments_GetMultiRolePool", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Create or update a multi-role pool.", + "description": "Description for Create or update a multi-role pool.", + "operationId": "AppServiceEnvironments_CreateOrUpdateMultiRolePool", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "multiRolePoolEnvelope", + "in": "body", + "description": "Properties of the multi-role pool.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Create or update a multi-role pool.", + "description": "Description for Create or update a multi-role pool.", + "operationId": "AppServiceEnvironments_UpdateMultiRolePool", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "multiRolePoolEnvelope", + "in": "body", + "description": "Properties of the multi-role pool.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get metric definitions for a specific instance of a multi-role pool of an App Service Environment.", + "description": "Description for Get metric definitions for a specific instance of a multi-role pool of an App Service Environment.", + "operationId": "AppServiceEnvironments_ListMultiRolePoolInstanceMetricDefinitions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "instance", + "in": "path", + "description": "Name of the instance in the multi-role pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceMetricDefinitionCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get metric definitions for a multi-role pool of an App Service Environment.", + "description": "Description for Get metric definitions for a multi-role pool of an App Service Environment.", + "operationId": "AppServiceEnvironments_ListMultiRoleMetricDefinitions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceMetricDefinitionCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get available SKUs for scaling a multi-role pool.", + "description": "Description for Get available SKUs for scaling a multi-role pool.", + "operationId": "AppServiceEnvironments_ListMultiRolePoolSkus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SkuInfoCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get usage metrics for a multi-role pool of an App Service Environment.", + "description": "Description for Get usage metrics for a multi-role pool of an App Service Environment.", + "operationId": "AppServiceEnvironments_ListMultiRoleUsages", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UsageCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "List all currently running operations on the App Service Environment.", + "description": "Description for List all currently running operations on the App Service Environment.", + "operationId": "AppServiceEnvironments_ListOperations", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Operation" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get the network endpoints of all outbound dependencies of an App Service Environment.", + "description": "Description for Get the network endpoints of all outbound dependencies of an App Service Environment.", + "operationId": "AppServiceEnvironments_GetOutboundNetworkDependenciesEndpoints", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Outbound Network Dependencies Endpoints": { + "$ref": "./examples/GetOutboundNetworkDependenciesEndpoints.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot": { + "post": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Reboot all machines in an App Service Environment.", + "description": "Description for Reboot all machines in an App Service Environment.", + "operationId": "AppServiceEnvironments_Reboot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Asynchronous operation in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume": { + "post": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Resume an App Service Environment.", + "description": "Description for Resume an App Service Environment.", + "operationId": "AppServiceEnvironments_Resume", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get all App Service plans in an App Service Environment.", + "description": "Description for Get all App Service plans in an App Service Environment.", + "operationId": "AppServiceEnvironments_ListAppServicePlans", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlanCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get all apps in an App Service Environment.", + "description": "Description for Get all apps in an App Service Environment.", + "operationId": "AppServiceEnvironments_ListWebApps", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "propertiesToInclude", + "in": "query", + "description": "Comma separated list of app properties to include.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend": { + "post": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Suspend an App Service Environment.", + "description": "Description for Suspend an App Service Environment.", + "operationId": "AppServiceEnvironments_Suspend", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get global usage metrics of an App Service Environment.", + "description": "Description for Get global usage metrics of an App Service Environment.", + "operationId": "AppServiceEnvironments_ListUsages", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'.", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CsmUsageQuotaCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get all worker pools of an App Service Environment.", + "description": "Description for Get all worker pools of an App Service Environment.", + "operationId": "AppServiceEnvironments_ListWorkerPools", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkerPoolCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get properties of a worker pool.", + "description": "Description for Get properties of a worker pool.", + "operationId": "AppServiceEnvironments_GetWorkerPool", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolName", + "in": "path", + "description": "Name of the worker pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Create or update a worker pool.", + "description": "Description for Create or update a worker pool.", + "operationId": "AppServiceEnvironments_CreateOrUpdateWorkerPool", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolName", + "in": "path", + "description": "Name of the worker pool.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolEnvelope", + "in": "body", + "description": "Properties of the worker pool.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Create or update a worker pool.", + "description": "Description for Create or update a worker pool.", + "operationId": "AppServiceEnvironments_UpdateWorkerPool", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolName", + "in": "path", + "description": "Name of the worker pool.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolEnvelope", + "in": "body", + "description": "Properties of the worker pool.", + "required": true, + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get metric definitions for a specific instance of a worker pool of an App Service Environment.", + "description": "Description for Get metric definitions for a specific instance of a worker pool of an App Service Environment.", + "operationId": "AppServiceEnvironments_ListWorkerPoolInstanceMetricDefinitions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolName", + "in": "path", + "description": "Name of the worker pool.", + "required": true, + "type": "string" + }, + { + "name": "instance", + "in": "path", + "description": "Name of the instance in the worker pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceMetricDefinitionCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get metric definitions for a worker pool of an App Service Environment.", + "description": "Description for Get metric definitions for a worker pool of an App Service Environment.", + "operationId": "AppServiceEnvironments_ListWebWorkerMetricDefinitions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolName", + "in": "path", + "description": "Name of the worker pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceMetricDefinitionCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get available SKUs for scaling a worker pool.", + "description": "Description for Get available SKUs for scaling a worker pool.", + "operationId": "AppServiceEnvironments_ListWorkerPoolSkus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolName", + "in": "path", + "description": "Name of the worker pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SkuInfoCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages": { + "get": { + "tags": [ + "AppServiceEnvironments" + ], + "summary": "Get usage metrics for a worker pool of an App Service Environment.", + "description": "Description for Get usage metrics for a worker pool of an App Service Environment.", + "operationId": "AppServiceEnvironments_ListWebWorkerUsages", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service Environment.", + "required": true, + "type": "string" + }, + { + "name": "workerPoolName", + "in": "path", + "description": "Name of the worker pool.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UsageCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AddressResponse": { + "description": "Describes main public IP address and any extra virtual IPs.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AddressResponse resource specific properties", + "properties": { + "serviceIpAddress": { + "description": "Main public virtual IP.", + "type": "string" + }, + "internalIpAddress": { + "description": "Virtual Network internal IP address of the App Service Environment if it is in internal load-balancing mode.", + "type": "string" + }, + "outboundIpAddresses": { + "description": "IP addresses appearing on outbound connections.", + "type": "array", + "items": { + "type": "string" + } + }, + "vipMappings": { + "description": "Additional virtual IPs.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/VirtualIPMapping" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "AppServiceEnvironmentCollection": { + "description": "Collection of App Service Environments.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AppServiceEnvironmentResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "AppServiceEnvironmentPatchResource": { + "description": "ARM resource for a app service environment.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "./CommonDefinitions.json#/definitions/AppServiceEnvironment", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "AppServiceEnvironmentResource": { + "description": "App Service Environment ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "./CommonDefinitions.json#/definitions/AppServiceEnvironment", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "EndpointDependency": { + "description": "A domain name that a service is reached at, including details of the current connection status.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The IP Addresses and Ports used when connecting to DomainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "EndpointDetail": { + "description": "Current TCP connectivity information from the App Service Environment to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "latency": { + "format": "double", + "description": "The time in milliseconds it takes for a TCP connection to be created from the App Service Environment to this IpAddress at this Port.", + "type": "number" + }, + "isAccessible": { + "description": "Whether it is possible to create a TCP connection from the App Service Environment to this IpAddress at this Port.", + "type": "boolean" + } + } + }, + "HostingEnvironmentDiagnostics": { + "description": "Diagnostics for an App Service Environment.", + "type": "object", + "properties": { + "name": { + "description": "Name/identifier of the diagnostics.", + "type": "string" + }, + "diagnosticsOutput": { + "description": "Diagnostics output.", + "type": "string" + } + } + }, + "InboundEnvironmentEndpoint": { + "description": "The IP Addresses and Ports that require inbound network access to and within the subnet of the App Service Environment.", + "type": "object", + "properties": { + "description": { + "description": "Short text describing the purpose of the network traffic.", + "type": "string" + }, + "endpoints": { + "description": "The IP addresses that network traffic will originate from in cidr notation.", + "type": "array", + "items": { + "type": "string" + } + }, + "ports": { + "description": "The ports that network traffic will arrive to the App Service Environment at.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "InboundEnvironmentEndpointCollection": { + "description": "Collection of Inbound Environment Endpoints", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundEnvironmentEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Endpoints accessed for a common purpose that the App Service Environment requires outbound network access to.", + "type": "object", + "properties": { + "category": { + "description": "The type of service accessed by the App Service Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that the App Service Environment reaches the service at.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of Outbound Environment Endpoints", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceMetricAvailability": { + "description": "Metrics availability and retention.", + "type": "object", + "properties": { + "timeGrain": { + "description": "Time grain .", + "type": "string", + "readOnly": true + }, + "retention": { + "description": "Retention period for the current time grain.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceMetricDefinition": { + "description": "Metadata for the metrics.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ResourceMetricDefinition resource specific properties", + "properties": { + "unit": { + "description": "Unit of the metric.", + "type": "string", + "readOnly": true + }, + "primaryAggregationType": { + "description": "Primary aggregation type.", + "type": "string", + "readOnly": true + }, + "metricAvailabilities": { + "description": "List of time grains supported for the metric together with retention period.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceMetricAvailability" + }, + "readOnly": true + }, + "resourceUri": { + "description": "Resource URI.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Resource metric definition properties.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "ResourceMetricDefinitionCollection": { + "description": "Collection of metric definitions.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceMetricDefinition" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "SkuInfo": { + "description": "SKU discovery information.", + "type": "object", + "properties": { + "resourceType": { + "description": "Resource type that this SKU applies to.", + "type": "string" + }, + "sku": { + "$ref": "./CommonDefinitions.json#/definitions/SkuDescription", + "description": "Name and tier of the SKU." + }, + "capacity": { + "$ref": "./CommonDefinitions.json#/definitions/SkuCapacity", + "description": "Min, max, and default scale values of the SKU." + } + } + }, + "SkuInfoCollection": { + "description": "Collection of SKU information.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuInfo" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "StampCapacityCollection": { + "description": "Collection of stamp capacities.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/StampCapacity" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Usage": { + "description": "Usage of the quota resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Usage resource specific properties", + "properties": { + "displayName": { + "description": "Friendly name shown in the UI.", + "type": "string", + "readOnly": true + }, + "resourceName": { + "description": "Name of the quota resource.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Units of measurement for the quota resource.", + "type": "string", + "readOnly": true + }, + "currentValue": { + "format": "int64", + "description": "The current value of the resource counter.", + "type": "integer", + "readOnly": true + }, + "limit": { + "format": "int64", + "description": "The resource limit.", + "type": "integer", + "readOnly": true + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time for the resource counter.", + "type": "string", + "readOnly": true + }, + "computeMode": { + "description": "Compute mode used for this usage.", + "enum": [ + "Shared", + "Dedicated", + "Dynamic" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ComputeModeOptions", + "modelAsString": false + } + }, + "siteMode": { + "description": "Site mode used for this usage.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "UsageCollection": { + "description": "Collection of usages.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "WorkerPoolCollection": { + "description": "Collection of worker pools.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkerPoolResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "WorkerPoolResource": { + "description": "Worker pool of an App Service Environment ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "./CommonDefinitions.json#/definitions/WorkerPool", + "description": "Core resource properties", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "./CommonDefinitions.json#/definitions/SkuDescription" + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/AppServicePlans.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/AppServicePlans.json new file mode 100644 index 000000000000..993572c59aeb --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/AppServicePlans.json @@ -0,0 +1,1744 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "AppServicePlans API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get all App Service plans for a subscription.", + "description": "Description for Get all App Service plans for a subscription.", + "operationId": "AppServicePlans_List", + "parameters": [ + { + "name": "detailed", + "in": "query", + "description": "Specify true to return all App Service plan properties. The default is false, which returns a subset of the properties.\n Retrieval of all properties may increase the API latency.", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlanCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Service plans": { + "$ref": "./examples/ListAppServicePlans.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get all App Service plans in a resource group.", + "description": "Description for Get all App Service plans in a resource group.", + "operationId": "AppServicePlans_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlanCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Service plans by resource group": { + "$ref": "./examples/ListAppServicePlansByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get an App Service plan.", + "description": "Description for Get an App Service plan.", + "operationId": "AppServicePlans_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlan" + } + }, + "404": { + "description": "Not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Service plan": { + "$ref": "./examples/GetAppServicePlan.json" + } + } + }, + "put": { + "tags": [ + "AppServicePlans" + ], + "summary": "Creates or updates an App Service Plan.", + "description": "Description for Creates or updates an App Service Plan.", + "operationId": "AppServicePlans_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "appServicePlan", + "in": "body", + "description": "Details of the App Service plan.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlan" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlan" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlan" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create Or Update App Service plan": { + "$ref": "./examples/CreateOrUpdateAppServicePlan.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "AppServicePlans" + ], + "summary": "Delete an App Service plan.", + "description": "Description for Delete an App Service plan.", + "operationId": "AppServicePlans_Delete", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "204": { + "description": "OK." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete App Service plan": { + "$ref": "./examples/DeleteAppServicePlan.json" + } + } + }, + "patch": { + "tags": [ + "AppServicePlans" + ], + "summary": "Creates or updates an App Service Plan.", + "description": "Description for Creates or updates an App Service Plan.", + "operationId": "AppServicePlans_Update", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "appServicePlan", + "in": "body", + "description": "Details of the App Service plan.", + "required": true, + "schema": { + "$ref": "#/definitions/AppServicePlanPatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlan" + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppServicePlan" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Service plan": { + "$ref": "./examples/PatchAppServicePlan.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "List all capabilities of an App Service plan.", + "description": "Description for List all capabilities of an App Service plan.", + "operationId": "AppServicePlans_ListCapabilities", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Capability" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Retrieve a Hybrid Connection in use in an App Service plan.", + "description": "Description for Retrieve a Hybrid Connection in use in an App Service plan.", + "operationId": "AppServicePlans_GetHybridConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "Name of the Service Bus namespace.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "Name of the Service Bus relay.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "AppServicePlans" + ], + "summary": "Delete a Hybrid Connection in use in an App Service plan.", + "description": "Description for Delete a Hybrid Connection in use in an App Service plan.", + "operationId": "AppServicePlans_DeleteHybridConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "Name of the Service Bus namespace.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "Name of the Service Bus relay.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted hybrid connection" + }, + "204": { + "description": "Hybrid connection does not exist" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys": { + "post": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get the send key name and value of a Hybrid Connection.", + "description": "Description for Get the send key name and value of a Hybrid Connection.", + "operationId": "AppServicePlans_ListHybridConnectionKeys", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The name of the Service Bus namespace.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The name of the Service Bus relay.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HybridConnectionKey" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get all apps that use a Hybrid Connection in an App Service Plan.", + "description": "Description for Get all apps that use a Hybrid Connection in an App Service Plan.", + "operationId": "AppServicePlans_ListWebAppsByHybridConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "Name of the Hybrid Connection namespace.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "Name of the Hybrid Connection relay.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get the maximum number of Hybrid Connections allowed in an App Service plan.", + "description": "Description for Get the maximum number of Hybrid Connections allowed in an App Service plan.", + "operationId": "AppServicePlans_GetHybridConnectionPlanLimit", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HybridConnectionLimits" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Retrieve all Hybrid Connections in use in an App Service plan.", + "description": "Description for Retrieve all Hybrid Connections in use in an App Service plan.", + "operationId": "AppServicePlans_ListHybridConnections", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HybridConnectionCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites": { + "post": { + "tags": [ + "AppServicePlans" + ], + "summary": "Restart all apps in an App Service plan.", + "description": "Description for Restart all apps in an App Service plan.", + "operationId": "AppServicePlans_RestartWebApps", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "softRestart", + "in": "query", + "description": "Specify true to perform a soft restart, applies the configuration settings and restarts the apps if necessary. The default is false, which always restarts and reprovisions the apps", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get all apps associated with an App Service plan.", + "description": "Description for Get all apps associated with an App Service plan.", + "operationId": "AppServicePlans_ListWebApps", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "Skip to a web app in the list of webapps associated with app service plan. If specified, the resulting list will contain web apps starting from (including) the skipToken. Otherwise, the resulting list contains web apps from the start of the list", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Supported filter: $filter=state eq running. Returns only web apps that are currently running", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "$top", + "in": "query", + "description": "List page size. If specified, results are paged.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Gets all selectable SKUs for a given App Service Plan", + "description": "Description for Gets all selectable SKUs for a given App Service Plan", + "operationId": "AppServicePlans_GetServerFarmSkus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of App Service Plan", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Gets server farm usage information", + "description": "Description for Gets server farm usage information", + "operationId": "AppServicePlans_ListUsages", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of App Service Plan", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2').", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CsmUsageQuotaCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get all Virtual Networks associated with an App Service plan.", + "description": "Description for Get all Virtual Networks associated with an App Service plan.", + "operationId": "AppServicePlans_ListVnets", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get a Virtual Network associated with an App Service plan.", + "description": "Description for Get a Virtual Network associated with an App Service plan.", + "operationId": "AppServicePlans_GetVnetFromServerFarm", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + "404": { + "description": "Virtual network could not be found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get a Virtual Network gateway.", + "description": "Description for Get a Virtual Network gateway.", + "operationId": "AppServicePlans_GetVnetGateway", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "gatewayName", + "in": "path", + "description": "Name of the gateway. Only the 'primary' gateway is supported.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppServicePlans" + ], + "summary": "Update a Virtual Network gateway.", + "description": "Description for Update a Virtual Network gateway.", + "operationId": "AppServicePlans_UpdateVnetGateway", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "gatewayName", + "in": "path", + "description": "Name of the gateway. Only the 'primary' gateway is supported.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Definition of the gateway.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get all routes that are associated with a Virtual Network in an App Service plan.", + "description": "Description for Get all routes that are associated with a Virtual Network in an App Service plan.", + "operationId": "AppServicePlans_ListRoutesForVnet", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/VnetRoute" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}": { + "get": { + "tags": [ + "AppServicePlans" + ], + "summary": "Get a Virtual Network route in an App Service plan.", + "description": "Description for Get a Virtual Network route in an App Service plan.", + "operationId": "AppServicePlans_GetRouteForVnet", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "routeName", + "in": "path", + "description": "Name of the Virtual Network route.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/VnetRoute" + } + } + }, + "404": { + "description": "Specified route does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppServicePlans" + ], + "summary": "Create or update a Virtual Network route in an App Service plan.", + "description": "Description for Create or update a Virtual Network route in an App Service plan.", + "operationId": "AppServicePlans_CreateOrUpdateVnetRoute", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "routeName", + "in": "path", + "description": "Name of the Virtual Network route.", + "required": true, + "type": "string" + }, + { + "name": "route", + "in": "body", + "description": "Definition of the Virtual Network route.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetRoute" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetRoute" + } + }, + "400": { + "description": "Invalid request. Ensure that required parameters are given, and that addresses and address spaces are valid." + }, + "404": { + "description": "Route not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "AppServicePlans" + ], + "summary": "Delete a Virtual Network route in an App Service plan.", + "description": "Description for Delete a Virtual Network route in an App Service plan.", + "operationId": "AppServicePlans_DeleteVnetRoute", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "routeName", + "in": "path", + "description": "Name of the Virtual Network route.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted Virtual Network route." + }, + "404": { + "description": "Specified Virtual Network route does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "AppServicePlans" + ], + "summary": "Create or update a Virtual Network route in an App Service plan.", + "description": "Description for Create or update a Virtual Network route in an App Service plan.", + "operationId": "AppServicePlans_UpdateVnetRoute", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "routeName", + "in": "path", + "description": "Name of the Virtual Network route.", + "required": true, + "type": "string" + }, + { + "name": "route", + "in": "body", + "description": "Definition of the Virtual Network route.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetRoute" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetRoute" + } + }, + "400": { + "description": "Invalid request. Ensure that required parameters are given, and that addresses and address spaces are valid." + }, + "404": { + "description": "Route not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot": { + "post": { + "tags": [ + "AppServicePlans" + ], + "summary": "Reboot a worker machine in an App Service plan.", + "description": "Description for Reboot a worker machine in an App Service plan.", + "operationId": "AppServicePlans_RebootWorker", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the App Service plan.", + "required": true, + "type": "string" + }, + { + "name": "workerName", + "in": "path", + "description": "Name of worker machine, which typically starts with RD.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AppServicePlanPatchResource": { + "description": "ARM resource for a app service plan.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AppServicePlanPatchResource resource specific properties", + "properties": { + "workerTierName": { + "description": "Target worker tier assigned to the App Service plan.", + "type": "string" + }, + "status": { + "description": "App Service plan status.", + "enum": [ + "Ready", + "Pending", + "Creating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StatusOptions", + "modelAsString": false + } + }, + "subscription": { + "description": "App Service plan subscription.", + "type": "string", + "readOnly": true + }, + "hostingEnvironmentProfile": { + "$ref": "./CommonDefinitions.json#/definitions/HostingEnvironmentProfile", + "description": "Specification for the App Service Environment to use for the App Service plan.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "maximumNumberOfWorkers": { + "format": "int32", + "description": "Maximum number of instances that can be assigned to this App Service plan.", + "type": "integer", + "readOnly": true + }, + "geoRegion": { + "description": "Geographical location for the App Service plan.", + "type": "string", + "readOnly": true + }, + "perSiteScaling": { + "description": "If true, apps assigned to this App Service plan can be scaled independently.\nIf false, apps assigned to this App Service plan will scale to all instances of the plan.", + "default": false, + "type": "boolean" + }, + "maximumElasticWorkerCount": { + "format": "int32", + "description": "Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan", + "type": "integer" + }, + "numberOfSites": { + "format": "int32", + "description": "Number of apps assigned to this App Service plan.", + "type": "integer", + "readOnly": true + }, + "isSpot": { + "description": "If true, this App Service Plan owns spot instances.", + "type": "boolean" + }, + "spotExpirationTime": { + "format": "date-time", + "description": "The time when the server farm expires. Valid only if it is a spot server farm.", + "type": "string" + }, + "freeOfferExpirationTime": { + "format": "date-time", + "description": "The time when the server farm free offer expires.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group of the App Service plan.", + "type": "string", + "readOnly": true + }, + "reserved": { + "description": "This needs to set to true when creating a Linux App Service Plan, along with kind set to Linux. It should be false otherwise.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "isXenon": { + "description": "Obsolete: If Hyper-V container app service plan true, false otherwise.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "hyperV": { + "description": "If Hyper-V container app service plan true, false otherwise.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "targetWorkerCount": { + "format": "int32", + "description": "Scaling worker count.", + "type": "integer" + }, + "targetWorkerSizeId": { + "format": "int32", + "description": "Scaling worker size ID.", + "type": "integer" + }, + "provisioningState": { + "description": "Provisioning state of the App Service Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "HybridConnectionCollection": { + "description": "Collection of hostname bindings.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "HybridConnectionKey": { + "description": "Hybrid Connection key contract. This has the send key name and value for a Hybrid Connection.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "HybridConnectionKey resource specific properties", + "properties": { + "sendKeyName": { + "description": "The name of the send key.", + "type": "string", + "readOnly": true + }, + "sendKeyValue": { + "description": "The value of the send key.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "HybridConnectionLimits": { + "description": "Hybrid Connection limits contract. This is used to return the plan limits of Hybrid Connections.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "HybridConnectionLimits resource specific properties", + "properties": { + "current": { + "format": "int32", + "description": "The current number of Hybrid Connections.", + "type": "integer", + "readOnly": true + }, + "maximum": { + "format": "int32", + "description": "The maximum number of Hybrid Connections allowed.", + "type": "integer", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "ResourceCollection": { + "description": "Collection of resources.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Certificates.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Certificates.json new file mode 100644 index 000000000000..365655611884 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Certificates.json @@ -0,0 +1,650 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "Certificates API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get all certificates for a subscription.", + "description": "Description for Get all certificates for a subscription.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CertificateCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates for subscription": { + "$ref": "./examples/ListCertificates.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get all certificates in a resource group.", + "description": "Description for Get all certificates in a resource group.", + "operationId": "Certificates_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CertificateCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates by resource group": { + "$ref": "./examples/ListCertificatesByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get a certificate.", + "description": "Description for Get a certificate.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/GetCertificate.json" + } + } + }, + "put": { + "tags": [ + "Certificates" + ], + "summary": "Create or update a certificate.", + "description": "Description for Create or update a certificate.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Details of certificate, if it exists already.", + "required": true, + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create Or Update Certificate": { + "$ref": "./examples/CreateOrUpdateCertificate.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "summary": "Delete a certificate.", + "description": "Description for Delete a certificate.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted certificate." + }, + "204": { + "description": "Certificate does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/DeleteCertificate.json" + } + } + }, + "patch": { + "tags": [ + "Certificates" + ], + "summary": "Create or update a certificate.", + "description": "Description for Create or update a certificate.", + "operationId": "Certificates_Update", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Details of certificate, if it exists already.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificatePatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Certificate": { + "$ref": "./examples/PatchCertificate.json" + } + } + } + } + }, + "definitions": { + "Certificate": { + "description": "SSL certificate for an app.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Certificate resource specific properties", + "required": [ + "password" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the certificate.", + "type": "string", + "readOnly": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + }, + "hostNames": { + "description": "Host names the certificate applies to.", + "type": "array", + "items": { + "type": "string" + } + }, + "pfxBlob": { + "format": "byte", + "description": "Pfx blob.", + "type": "string" + }, + "siteName": { + "description": "App name.", + "type": "string", + "readOnly": true + }, + "selfLink": { + "description": "Self link.", + "type": "string", + "readOnly": 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 + }, + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "valid": { + "description": "Is the certificate valid?.", + "type": "boolean", + "readOnly": true + }, + "cerBlob": { + "format": "byte", + "description": "Raw bytes of .cer file", + "type": "string", + "readOnly": true + }, + "publicKeyHash": { + "description": "Public key hash.", + "type": "string", + "readOnly": true + }, + "hostingEnvironmentProfile": { + "$ref": "./CommonDefinitions.json#/definitions/HostingEnvironmentProfile", + "description": "Specification for the App Service Environment to use for the certificate.", + "readOnly": true + }, + "keyVaultId": { + "description": "Key Vault Csm resource Id.", + "type": "string" + }, + "keyVaultSecretName": { + "description": "Key Vault secret name.", + "type": "string" + }, + "keyVaultSecretStatus": { + "description": "Status of the Key Vault secret.", + "enum": [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KeyVaultSecretStatus", + "modelAsString": false + } + }, + "serverFarmId": { + "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", + "type": "string" + }, + "canonicalName": { + "description": "CNAME of the certificate to be issued via free certificate", + "type": "string" + } + }, + "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 + } + } + }, + "CertificatePatchResource": { + "description": "ARM resource for a certificate.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CertificatePatchResource resource specific properties", + "required": [ + "password" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the certificate.", + "type": "string", + "readOnly": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + }, + "hostNames": { + "description": "Host names the certificate applies to.", + "type": "array", + "items": { + "type": "string" + } + }, + "pfxBlob": { + "format": "byte", + "description": "Pfx blob.", + "type": "string" + }, + "siteName": { + "description": "App name.", + "type": "string", + "readOnly": true + }, + "selfLink": { + "description": "Self link.", + "type": "string", + "readOnly": 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 + }, + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "valid": { + "description": "Is the certificate valid?.", + "type": "boolean", + "readOnly": true + }, + "cerBlob": { + "format": "byte", + "description": "Raw bytes of .cer file", + "type": "string", + "readOnly": true + }, + "publicKeyHash": { + "description": "Public key hash.", + "type": "string", + "readOnly": true + }, + "hostingEnvironmentProfile": { + "$ref": "./CommonDefinitions.json#/definitions/HostingEnvironmentProfile", + "description": "Specification for the App Service Environment to use for the certificate.", + "readOnly": true + }, + "keyVaultId": { + "description": "Key Vault Csm resource Id.", + "type": "string" + }, + "keyVaultSecretName": { + "description": "Key Vault secret name.", + "type": "string" + }, + "keyVaultSecretStatus": { + "description": "Status of the Key Vault secret.", + "enum": [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KeyVaultSecretStatus", + "modelAsString": false + } + }, + "serverFarmId": { + "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", + "type": "string" + }, + "canonicalName": { + "description": "CNAME of the certificate to be issued via free certificate", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json new file mode 100644 index 000000000000..ecce545a54bd --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json @@ -0,0 +1,2890 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "Common Definitions" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ApiDefinitionInfo": { + "description": "Information about the formal API definition for the app.", + "type": "object", + "properties": { + "url": { + "description": "The URL of the API definition.", + "type": "string" + } + } + }, + "ApiManagementConfig": { + "description": "Azure API management (APIM) configuration linked to the app.", + "type": "object", + "properties": { + "id": { + "description": "APIM-Api Identifier.", + "type": "string" + } + } + }, + "AppServiceEnvironment": { + "description": "Description of an App Service Environment.", + "required": [ + "name", + "location", + "virtualNetwork", + "workerPools" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the App Service Environment.", + "type": "string" + }, + "location": { + "description": "Location of the App Service Environment, e.g. \"West US\".", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state of the App Service Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "status": { + "description": "Current status of the App Service Environment.", + "enum": [ + "Preparing", + "Ready", + "Scaling", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "HostingEnvironmentStatus", + "modelAsString": false + } + }, + "vnetName": { + "description": "Name of the Virtual Network for the App Service Environment.", + "type": "string" + }, + "vnetResourceGroupName": { + "description": "Resource group of the Virtual Network.", + "type": "string" + }, + "vnetSubnetName": { + "description": "Subnet of the Virtual Network.", + "type": "string" + }, + "virtualNetwork": { + "$ref": "#/definitions/VirtualNetworkProfile", + "description": "Description of the Virtual Network." + }, + "internalLoadBalancingMode": { + "description": "Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment.", + "enum": [ + "None", + "Web", + "Publishing", + "Web,Publishing" + ], + "type": "string", + "x-ms-enum": { + "name": "LoadBalancingMode", + "modelAsString": true + } + }, + "multiSize": { + "description": "Front-end VM size, e.g. \"Medium\", \"Large\".", + "type": "string" + }, + "multiRoleCount": { + "format": "int32", + "description": "Number of front-end instances.", + "type": "integer" + }, + "workerPools": { + "description": "Description of worker pools with worker size IDs, VM sizes, and number of workers in each pool.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkerPool" + } + }, + "ipsslAddressCount": { + "format": "int32", + "description": "Number of IP SSL addresses reserved for the App Service Environment.", + "type": "integer" + }, + "databaseEdition": { + "description": "Edition of the metadata database for the App Service Environment, e.g. \"Standard\".", + "type": "string", + "readOnly": true + }, + "databaseServiceObjective": { + "description": "Service objective of the metadata database for the App Service Environment, e.g. \"S0\".", + "type": "string", + "readOnly": true + }, + "upgradeDomains": { + "format": "int32", + "description": "Number of upgrade domains of the App Service Environment.", + "type": "integer", + "readOnly": true + }, + "subscriptionId": { + "description": "Subscription of the App Service Environment.", + "type": "string", + "readOnly": true + }, + "dnsSuffix": { + "description": "DNS suffix of the App Service Environment.", + "type": "string" + }, + "lastAction": { + "description": "Last deployment action on the App Service Environment.", + "type": "string", + "readOnly": true + }, + "lastActionResult": { + "description": "Result of the last deployment action on the App Service Environment.", + "type": "string", + "readOnly": true + }, + "allowedMultiSizes": { + "description": "List of comma separated strings describing which VM sizes are allowed for front-ends.", + "type": "string", + "readOnly": true + }, + "allowedWorkerSizes": { + "description": "List of comma separated strings describing which VM sizes are allowed for workers.", + "type": "string", + "readOnly": true + }, + "maximumNumberOfMachines": { + "format": "int32", + "description": "Maximum number of VMs in the App Service Environment.", + "type": "integer", + "readOnly": true + }, + "vipMappings": { + "description": "Description of IP SSL mapping for the App Service Environment.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualIPMapping" + }, + "readOnly": true + }, + "environmentCapacities": { + "description": "Current total, used, and available worker capacities.", + "type": "array", + "items": { + "$ref": "#/definitions/StampCapacity" + }, + "readOnly": true + }, + "networkAccessControlList": { + "description": "Access control list for controlling traffic to the App Service Environment.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkAccessControlEntry" + } + }, + "environmentIsHealthy": { + "description": "True/false indicating whether the App Service Environment is healthy.", + "type": "boolean", + "readOnly": true + }, + "environmentStatus": { + "description": "Detailed message about with results of the last check of the App Service Environment.", + "type": "string", + "readOnly": true + }, + "resourceGroup": { + "description": "Resource group of the App Service Environment.", + "type": "string", + "readOnly": true + }, + "frontEndScaleFactor": { + "format": "int32", + "description": "Scale factor for front-ends.", + "type": "integer" + }, + "defaultFrontEndScaleFactor": { + "format": "int32", + "description": "Default Scale Factor for FrontEnds.", + "type": "integer", + "readOnly": true + }, + "apiManagementAccountId": { + "description": "API Management Account associated with the App Service Environment.", + "type": "string" + }, + "suspended": { + "description": "true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available\n (most likely because NSG blocked the incoming traffic).", + "type": "boolean" + }, + "dynamicCacheEnabled": { + "description": "True/false indicating whether the App Service Environment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available\n(most likely because NSG blocked the incoming traffic).", + "type": "boolean" + }, + "clusterSettings": { + "description": "Custom settings for changing the behavior of the App Service Environment.", + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + } + }, + "userWhitelistedIpRanges": { + "description": "User added ip ranges to whitelist on ASE db", + "type": "array", + "items": { + "type": "string" + } + }, + "hasLinuxWorkers": { + "description": "Flag that displays whether an ASE has linux workers or not", + "type": "boolean" + }, + "sslCertKeyVaultId": { + "description": "Key Vault ID for ILB App Service Environment default SSL certificate", + "type": "string" + }, + "sslCertKeyVaultSecretName": { + "description": "Key Vault Secret Name for ILB App Service Environment default SSL certificate", + "type": "string" + } + } + }, + "AppServicePlan": { + "description": "App Service plan.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "AppServicePlan resource specific properties", + "properties": { + "workerTierName": { + "description": "Target worker tier assigned to the App Service plan.", + "type": "string" + }, + "status": { + "description": "App Service plan status.", + "enum": [ + "Ready", + "Pending", + "Creating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StatusOptions", + "modelAsString": false + } + }, + "subscription": { + "description": "App Service plan subscription.", + "type": "string", + "readOnly": true + }, + "hostingEnvironmentProfile": { + "$ref": "#/definitions/HostingEnvironmentProfile", + "description": "Specification for the App Service Environment to use for the App Service plan.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "maximumNumberOfWorkers": { + "format": "int32", + "description": "Maximum number of instances that can be assigned to this App Service plan.", + "type": "integer", + "readOnly": true + }, + "geoRegion": { + "description": "Geographical location for the App Service plan.", + "type": "string", + "readOnly": true + }, + "perSiteScaling": { + "description": "If true, apps assigned to this App Service plan can be scaled independently.\nIf false, apps assigned to this App Service plan will scale to all instances of the plan.", + "default": false, + "type": "boolean" + }, + "maximumElasticWorkerCount": { + "format": "int32", + "description": "Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan", + "type": "integer" + }, + "numberOfSites": { + "format": "int32", + "description": "Number of apps assigned to this App Service plan.", + "type": "integer", + "readOnly": true + }, + "isSpot": { + "description": "If true, this App Service Plan owns spot instances.", + "type": "boolean" + }, + "spotExpirationTime": { + "format": "date-time", + "description": "The time when the server farm expires. Valid only if it is a spot server farm.", + "type": "string" + }, + "freeOfferExpirationTime": { + "format": "date-time", + "description": "The time when the server farm free offer expires.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group of the App Service plan.", + "type": "string", + "readOnly": true + }, + "reserved": { + "description": "If Linux app service plan true, false otherwise.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "isXenon": { + "description": "Obsolete: If Hyper-V container app service plan true, false otherwise.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "hyperV": { + "description": "If Hyper-V container app service plan true, false otherwise.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "targetWorkerCount": { + "format": "int32", + "description": "Scaling worker count.", + "type": "integer" + }, + "targetWorkerSizeId": { + "format": "int32", + "description": "Scaling worker size ID.", + "type": "integer" + }, + "provisioningState": { + "description": "Provisioning state of the App Service Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + } + }, + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "#/definitions/SkuDescription" + } + } + }, + "AppServicePlanCollection": { + "description": "Collection of App Service plans.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AppServicePlan" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "AutoHealActions": { + "description": "Actions which to take by the auto-heal module when a rule is triggered.", + "type": "object", + "properties": { + "actionType": { + "description": "Predefined action to be taken.", + "enum": [ + "Recycle", + "LogEvent", + "CustomAction" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoHealActionType", + "modelAsString": false + } + }, + "customAction": { + "$ref": "#/definitions/AutoHealCustomAction", + "description": "Custom action to be taken." + }, + "minProcessExecutionTime": { + "description": "Minimum time the process must execute\nbefore taking the action", + "type": "string" + } + } + }, + "AutoHealCustomAction": { + "description": "Custom action to be executed\nwhen an auto heal rule is triggered.", + "type": "object", + "properties": { + "exe": { + "description": "Executable to be run.", + "type": "string" + }, + "parameters": { + "description": "Parameters for the executable.", + "type": "string" + } + } + }, + "AutoHealRules": { + "description": "Rules that can be defined for auto-heal.", + "type": "object", + "properties": { + "triggers": { + "$ref": "#/definitions/AutoHealTriggers", + "description": "Conditions that describe when to execute the auto-heal actions." + }, + "actions": { + "$ref": "#/definitions/AutoHealActions", + "description": "Actions to be executed when a rule is triggered." + } + } + }, + "AutoHealTriggers": { + "description": "Triggers for auto-heal.", + "type": "object", + "properties": { + "requests": { + "$ref": "#/definitions/RequestsBasedTrigger", + "description": "A rule based on total requests." + }, + "privateBytesInKB": { + "format": "int32", + "description": "A rule based on private bytes.", + "type": "integer" + }, + "statusCodes": { + "description": "A rule based on status codes.", + "type": "array", + "items": { + "$ref": "#/definitions/StatusCodesBasedTrigger" + } + }, + "slowRequests": { + "$ref": "#/definitions/SlowRequestsBasedTrigger", + "description": "A rule based on request execution time." + } + } + }, + "Capability": { + "description": "Describes the capabilities/features allowed for a specific SKU.", + "type": "object", + "properties": { + "name": { + "description": "Name of the SKU capability.", + "type": "string" + }, + "value": { + "description": "Value of the SKU capability.", + "type": "string" + }, + "reason": { + "description": "Reason of the SKU capability.", + "type": "string" + } + } + }, + "CloningInfo": { + "description": "Information needed for cloning operation.", + "required": [ + "sourceWebAppId" + ], + "type": "object", + "properties": { + "correlationId": { + "format": "uuid", + "description": "Correlation ID of cloning operation. This ID ties multiple cloning operations\ntogether to use the same snapshot.", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000" + }, + "overwrite": { + "description": "true to overwrite destination app; otherwise, false.", + "type": "boolean" + }, + "cloneCustomHostNames": { + "description": "true to clone custom hostnames from source app; otherwise, false.", + "type": "boolean" + }, + "cloneSourceControl": { + "description": "true to clone source control from source app; otherwise, false.", + "type": "boolean" + }, + "sourceWebAppId": { + "description": "ARM resource ID of the source app. App resource ID is of the form \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.", + "type": "string" + }, + "sourceWebAppLocation": { + "description": "Location of source app ex: West US or North Europe", + "type": "string" + }, + "hostingEnvironment": { + "description": "App Service Environment.", + "type": "string" + }, + "appSettingsOverrides": { + "description": "Application setting overrides for cloned app. If specified, these settings override the settings cloned \nfrom source app. Otherwise, application settings from source app are retained.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "configureLoadBalancing": { + "description": "true to configure load balancing for source and destination app.", + "type": "boolean" + }, + "trafficManagerProfileId": { + "description": "ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}.", + "type": "string" + }, + "trafficManagerProfileName": { + "description": "Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist.", + "type": "string" + } + } + }, + "ConnStringInfo": { + "description": "Database connection string information.", + "type": "object", + "properties": { + "name": { + "description": "Name of connection string.", + "type": "string" + }, + "connectionString": { + "description": "Connection string value.", + "type": "string" + }, + "type": { + "description": "Type of database.", + "enum": [ + "MySql", + "SQLServer", + "SQLAzure", + "Custom", + "NotificationHub", + "ServiceBus", + "EventHub", + "ApiHub", + "DocDb", + "RedisCache", + "PostgreSQL" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectionStringType", + "modelAsString": false + } + } + } + }, + "CorsSettings": { + "description": "Cross-Origin Resource Sharing (CORS) settings for the app.", + "type": "object", + "properties": { + "allowedOrigins": { + "description": "Gets or sets the list of origins that should be allowed to make cross-origin\ncalls (for example: http://example.com:12345). Use \"*\" to allow all.", + "type": "array", + "items": { + "type": "string" + } + }, + "supportCredentials": { + "description": "Gets or sets whether CORS requests with credentials are allowed. See \nhttps://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials\nfor more details.", + "type": "boolean" + } + } + }, + "CsmOperationCollection": { + "description": "Collection of Azure resource manager operation metadata.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/CsmOperationDescription" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "CsmOperationDescription": { + "description": "Description of an operation available for Microsoft.Web resource provider.", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "display": { + "$ref": "#/definitions/CsmOperationDisplay" + }, + "origin": { + "type": "string" + }, + "properties": { + "$ref": "#/definitions/CsmOperationDescriptionProperties" + } + } + }, + "CsmOperationDescriptionProperties": { + "description": "Properties available for a Microsoft.Web resource provider operation.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "CsmOperationDisplay": { + "description": "Meta data about operation used for display in portal.", + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "CsmUsageQuota": { + "description": "Usage of the quota resource.", + "type": "object", + "properties": { + "unit": { + "description": "Units of measurement for the quota resource.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time for the resource counter.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "The current value of the resource counter.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "The resource limit.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/LocalizableString", + "description": "Quota name." + } + } + }, + "CsmUsageQuotaCollection": { + "description": "Collection of CSM usage quotas.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/CsmUsageQuota" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "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", + "items": { + "description": "Detailed errors.", + "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 + } + }, + "innererror": { + "description": "More information to debug error.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "DeletedSite": { + "description": "A deleted app.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DeletedSite resource specific properties", + "properties": { + "deletedSiteId": { + "format": "int32", + "description": "Numeric id for the deleted site", + "type": "integer", + "readOnly": true + }, + "deletedTimestamp": { + "description": "Time in UTC when the app was deleted.", + "type": "string", + "readOnly": true + }, + "subscription": { + "description": "Subscription containing the deleted site", + "type": "string", + "readOnly": true + }, + "resourceGroup": { + "description": "ResourceGroup that contained the deleted site", + "type": "string", + "readOnly": true + }, + "deletedSiteName": { + "description": "Name of the deleted site", + "type": "string", + "readOnly": true + }, + "slot": { + "description": "Slot of the deleted site", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "Kind of site that was deleted", + "type": "string", + "readOnly": true + }, + "geoRegionName": { + "description": "Geo Region of the deleted site", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "Dimension": { + "description": "Dimension of a resource metric. For e.g. instance specific HTTP requests for a web app, \nwhere instance name is dimension of the metric HTTP request", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "internalName": { + "type": "string" + }, + "toBeExportedForShoebox": { + "type": "boolean" + } + } + }, + "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" + } + }, + "code": { + "description": "Basic error code.", + "type": "string" + }, + "message": { + "description": "Any details of the error.", + "type": "string" + } + } + }, + "Experiments": { + "description": "Routing rules in production experiments.", + "type": "object", + "properties": { + "rampUpRules": { + "description": "List of ramp-up rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RampUpRule" + } + } + } + }, + "HandlerMapping": { + "description": "The IIS handler mappings used to define which handler processes HTTP requests with certain extension. \nFor example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension.", + "type": "object", + "properties": { + "extension": { + "description": "Requests with this extension will be handled using the specified FastCGI application.", + "type": "string" + }, + "scriptProcessor": { + "description": "The absolute path to the FastCGI application.", + "type": "string" + }, + "arguments": { + "description": "Command-line arguments to be passed to the script processor.", + "type": "string" + } + } + }, + "HostNameSslState": { + "description": "SSL-enabled hostname.", + "type": "object", + "properties": { + "name": { + "description": "Hostname.", + "type": "string" + }, + "sslState": { + "description": "SSL type.", + "enum": [ + "Disabled", + "SniEnabled", + "IpBasedEnabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SslState", + "modelAsString": false + } + }, + "virtualIP": { + "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.", + "type": "string" + }, + "thumbprint": { + "description": "SSL certificate thumbprint.", + "type": "string" + }, + "toUpdate": { + "description": "Set to true to update existing hostname.", + "type": "boolean" + }, + "hostType": { + "description": "Indicates whether the hostname is a standard or repository hostname.", + "enum": [ + "Standard", + "Repository" + ], + "type": "string", + "x-ms-enum": { + "name": "HostType", + "modelAsString": false + } + } + } + }, + "HostingEnvironmentProfile": { + "description": "Specification for an App Service Environment to use for this resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID of the App Service Environment.", + "type": "string" + }, + "name": { + "description": "Name of the App Service Environment.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type of the App Service Environment.", + "type": "string", + "readOnly": true + } + } + }, + "HybridConnection": { + "description": "Hybrid Connection contract. This is used to configure a Hybrid Connection.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "HybridConnection resource specific properties", + "properties": { + "serviceBusNamespace": { + "description": "The name of the Service Bus namespace.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "relayName": { + "description": "The name of the Service Bus relay.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "relayArmUri": { + "description": "The ARM URI to the Service Bus relay.", + "type": "string" + }, + "hostname": { + "description": "The hostname of the endpoint.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port of the endpoint.", + "type": "integer" + }, + "sendKeyName": { + "description": "The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus.", + "type": "string" + }, + "sendKeyValue": { + "description": "The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned\nnormally, use the POST /listKeys API instead.", + "type": "string" + }, + "serviceBusSuffix": { + "description": "The suffix for the service bus endpoint. By default this is .servicebus.windows.net", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "Identifier": { + "description": "A domain specific resource identifier.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Identifier resource specific properties", + "properties": { + "id": { + "description": "String representation of the identity.", + "type": "string", + "x-ms-client-name": "value" + } + }, + "x-ms-client-flatten": true + } + } + }, + "IdentifierCollection": { + "description": "Collection of identifiers.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Identifier" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "IpSecurityRestriction": { + "description": "IP security restriction on an app.", + "type": "object", + "properties": { + "ipAddress": { + "description": "IP address the security restriction is valid for.\nIt can be in form of pure ipv4 address (required SubnetMask property) or\nCIDR notation such as ipv4/mask (leading bit match). For CIDR,\nSubnetMask property must not be specified.", + "type": "string" + }, + "subnetMask": { + "description": "Subnet mask for the range of IP addresses the restriction is valid for.", + "type": "string" + }, + "vnetSubnetResourceId": { + "description": "Virtual network resource id", + "type": "string" + }, + "vnetTrafficTag": { + "format": "int32", + "description": "(internal) Vnet traffic tag", + "type": "integer" + }, + "subnetTrafficTag": { + "format": "int32", + "description": "(internal) Subnet traffic tag", + "type": "integer" + }, + "action": { + "description": "Allow or Deny access for this IP range.", + "type": "string" + }, + "tag": { + "description": "Defines what this IP filter will be used for. This is to support IP filtering on proxies.", + "enum": [ + "Default", + "XffProxy", + "ServiceTag" + ], + "type": "string", + "x-ms-enum": { + "name": "IpFilterTag", + "modelAsString": true + } + }, + "priority": { + "format": "int32", + "description": "Priority of IP restriction rule.", + "type": "integer" + }, + "name": { + "description": "IP restriction rule name.", + "type": "string" + }, + "description": { + "description": "IP restriction rule description.", + "type": "string" + }, + "headers": { + "description": "IP restriction rule headers.\nX-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). \nThe matching logic is ..\n- If the property is null or empty (default), all hosts(or lack of) are allowed.\n- A value is compared using ordinal-ignore-case (excluding port number).\n- Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain foo.contoso.com\n but not the root domain contoso.com or multi-level foo.bar.contoso.com\n- Unicode host names are allowed but are converted to Punycode for matching.\n\nX-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples).\nThe matching logic is ..\n- If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed.\n- If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property.\n\nX-Azure-FDID and X-FD-HealthProbe.\nThe matching logic is exact match.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "LocalizableString": { + "description": "Localizable string object containing the name and a localized value.", + "type": "object", + "properties": { + "value": { + "description": "Non-localized name.", + "type": "string" + }, + "localizedValue": { + "description": "Localized name.", + "type": "string" + } + } + }, + "LogSpecification": { + "description": "Log Definition of a single resource metric.", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "blobDuration": { + "type": "string" + }, + "logFilterPattern": { + "type": "string" + } + } + }, + "ManagedServiceIdentity": { + "description": "Managed service identity.", + "type": "object", + "properties": { + "type": { + "description": "Type of managed service identity.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": false + } + }, + "tenantId": { + "description": "Tenant of managed service identity.", + "type": "string", + "readOnly": true + }, + "principalId": { + "description": "Principal Id of managed service identity.", + "type": "string", + "readOnly": true + }, + "userAssignedIdentities": { + "description": "The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}", + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "description": "Principal Id of user assigned identity", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "Client Id of user assigned identity", + "type": "string", + "readOnly": true + } + } + } + } + } + }, + "MetricAvailability": { + "description": "Retention policy of a resource metric.", + "type": "object", + "properties": { + "timeGrain": { + "type": "string" + }, + "blobDuration": { + "type": "string" + } + } + }, + "MetricSpecification": { + "description": "Definition of a single resource metric.", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "displayDescription": { + "type": "string" + }, + "unit": { + "type": "string" + }, + "aggregationType": { + "type": "string" + }, + "supportsInstanceLevelAggregation": { + "type": "boolean" + }, + "enableRegionalMdmAccount": { + "type": "boolean" + }, + "sourceMdmAccount": { + "type": "string" + }, + "sourceMdmNamespace": { + "type": "string" + }, + "metricFilterPattern": { + "type": "string" + }, + "fillGapWithZero": { + "type": "boolean" + }, + "isInternal": { + "type": "boolean" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "category": { + "type": "string" + }, + "availabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricAvailability" + } + }, + "supportedTimeGrainTypes": { + "type": "array", + "items": { + "type": "string" + } + }, + "supportedAggregationTypes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "NameIdentifier": { + "description": "Identifies an object.", + "type": "object", + "properties": { + "name": { + "description": "Name of the object.", + "type": "string" + } + } + }, + "NameValuePair": { + "description": "Name value pair.", + "type": "object", + "properties": { + "name": { + "description": "Pair name.", + "type": "string" + }, + "value": { + "description": "Pair value.", + "type": "string" + } + } + }, + "NetworkAccessControlEntry": { + "description": "Network access control entry.", + "type": "object", + "properties": { + "action": { + "description": "Action object.", + "enum": [ + "Permit", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessControlEntryAction", + "modelAsString": false + } + }, + "description": { + "description": "Description of network access control entry.", + "type": "string" + }, + "order": { + "format": "int32", + "description": "Order of precedence.", + "type": "integer" + }, + "remoteSubnet": { + "description": "Remote subnet.", + "type": "string" + } + } + }, + "Operation": { + "description": "An operation on a resource.", + "type": "object", + "properties": { + "id": { + "description": "Operation ID.", + "type": "string" + }, + "name": { + "description": "Operation name.", + "type": "string" + }, + "status": { + "description": "The current status of the operation.", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "TimedOut", + "Created" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false + } + }, + "errors": { + "description": "Any errors associate with the operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorEntity" + } + }, + "createdTime": { + "format": "date-time", + "description": "Time when operation has started.", + "type": "string" + }, + "modifiedTime": { + "format": "date-time", + "description": "Time when operation has been updated.", + "type": "string" + }, + "expirationTime": { + "format": "date-time", + "description": "Time when operation will expire.", + "type": "string" + }, + "geoMasterOperationId": { + "format": "uuid", + "description": "Applicable only for stamp operation ids.", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000" + } + } + }, + "ProxyOnlyResource": { + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource Name.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "Kind of resource.", + "type": "string" + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "PushSettings": { + "description": "Push settings for the App.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "PushSettings resource specific properties", + "required": [ + "isPushEnabled" + ], + "properties": { + "isPushEnabled": { + "description": "Gets or sets a flag indicating whether the Push endpoint is enabled.", + "type": "boolean" + }, + "tagWhitelistJson": { + "description": "Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint.", + "type": "string" + }, + "tagsRequiringAuth": { + "description": "Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint.\nTags can consist of alphanumeric characters and the following:\n'_', '@', '#', '.', ':', '-'. \nValidation should be performed at the PushRequestHandler.", + "type": "string" + }, + "dynamicTagsJson": { + "description": "Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "RampUpRule": { + "description": "Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change routing % based on performance.", + "type": "object", + "properties": { + "actionHostName": { + "description": "Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net.", + "type": "string" + }, + "reroutePercentage": { + "format": "double", + "description": "Percentage of the traffic which will be redirected to ActionHostName.", + "type": "number" + }, + "changeStep": { + "format": "double", + "description": "In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches \\nMinReroutePercentage or \nMaxReroutePercentage. Site metrics are checked every N minutes specified in ChangeIntervalInMinutes.\\nCustom decision algorithm \ncan be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl.", + "type": "number" + }, + "changeIntervalInMinutes": { + "format": "int32", + "description": "Specifies interval in minutes to reevaluate ReroutePercentage.", + "type": "integer" + }, + "minReroutePercentage": { + "format": "double", + "description": "Specifies lower boundary above which ReroutePercentage will stay.", + "type": "number" + }, + "maxReroutePercentage": { + "format": "double", + "description": "Specifies upper boundary below which ReroutePercentage will stay.", + "type": "number" + }, + "changeDecisionCallbackUrl": { + "description": "Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts.\nhttps://www.siteextensions.net/packages/TiPCallback/", + "type": "string" + }, + "name": { + "description": "Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment.", + "type": "string" + } + } + }, + "RequestsBasedTrigger": { + "description": "Trigger based on total requests.", + "type": "object", + "properties": { + "count": { + "format": "int32", + "description": "Request Count.", + "type": "integer" + }, + "timeInterval": { + "description": "Time interval.", + "type": "string" + } + } + }, + "Resource": { + "description": "Azure resource. This resource is tracked in Azure Resource Manager", + "required": [ + "location" + ], + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource Name.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "Kind of resource.", + "type": "string" + }, + "location": { + "description": "Resource Location.", + "type": "string" + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "ServiceSpecification": { + "description": "Resource metrics service provided by Microsoft.Insights resource provider.", + "type": "object", + "properties": { + "metricSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + }, + "logSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "Site": { + "description": "A web app, a mobile app backend, or an API app.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Site resource specific properties", + "properties": { + "state": { + "description": "Current state of the app.", + "type": "string", + "readOnly": true + }, + "hostNames": { + "description": "Hostnames associated with the app.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "repositorySiteName": { + "description": "Name of the repository site.", + "type": "string", + "readOnly": true + }, + "usageState": { + "description": "State indicating whether the app has exceeded its quota usage. Read-only.", + "enum": [ + "Normal", + "Exceeded" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UsageState", + "modelAsString": false + } + }, + "enabled": { + "description": "true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline).", + "type": "boolean" + }, + "enabledHostNames": { + "description": "Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise,\nthe app is not served on those hostnames.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "availabilityState": { + "description": "Management information availability state for the app.", + "enum": [ + "Normal", + "Limited", + "DisasterRecoveryMode" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SiteAvailabilityState", + "modelAsString": false + } + }, + "hostNameSslStates": { + "description": "Hostname SSL states are used to manage the SSL bindings for app's hostnames.", + "type": "array", + "items": { + "$ref": "#/definitions/HostNameSslState" + } + }, + "serverFarmId": { + "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", + "type": "string" + }, + "reserved": { + "description": "true if reserved; otherwise, false.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "isXenon": { + "description": "Obsolete: Hyper-V sandbox.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "hyperV": { + "description": "Hyper-V sandbox.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "Last time the app was modified, in UTC. Read-only.", + "type": "string", + "readOnly": true + }, + "siteConfig": { + "$ref": "#/definitions/SiteConfig", + "description": "Configuration of the app." + }, + "trafficManagerHostNames": { + "description": "Azure Traffic Manager hostnames associated with the app. Read-only.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "scmSiteAlsoStopped": { + "description": "true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false.", + "default": false, + "type": "boolean" + }, + "targetSwapSlot": { + "description": "Specifies which deployment slot this app will swap into. Read-only.", + "type": "string", + "readOnly": true + }, + "hostingEnvironmentProfile": { + "$ref": "#/definitions/HostingEnvironmentProfile", + "description": "App Service Environment to use for the app.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "clientAffinityEnabled": { + "description": "true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true.", + "type": "boolean" + }, + "clientCertEnabled": { + "description": "true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false.", + "type": "boolean" + }, + "clientCertMode": { + "description": "This composes with ClientCertEnabled setting.\n- ClientCertEnabled: false means ClientCert is ignored.\n- ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required.\n- ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted.", + "enum": [ + "Required", + "Optional" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientCertMode", + "modelAsString": false + } + }, + "clientCertExclusionPaths": { + "description": "client certificate authentication comma-separated exclusion paths", + "type": "string" + }, + "hostNamesDisabled": { + "description": "true to disable the public hostnames of the app; otherwise, false.\n If true, the app is only accessible via API management process.", + "type": "boolean" + }, + "customDomainVerificationId": { + "description": "Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification.", + "type": "string" + }, + "outboundIpAddresses": { + "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only.", + "type": "string", + "readOnly": true + }, + "possibleOutboundIpAddresses": { + "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants except dataComponent. Read-only.", + "type": "string", + "readOnly": true + }, + "containerSize": { + "format": "int32", + "description": "Size of the function container.", + "type": "integer" + }, + "dailyMemoryTimeQuota": { + "format": "int32", + "description": "Maximum allowed daily memory-time quota (applicable on dynamic apps only).", + "type": "integer" + }, + "suspendedTill": { + "format": "date-time", + "description": "App suspended till in case memory-time quota is exceeded.", + "type": "string", + "readOnly": true + }, + "maxNumberOfWorkers": { + "format": "int32", + "description": "Maximum number of workers.\nThis only applies to Functions container.", + "type": "integer", + "readOnly": true + }, + "cloningInfo": { + "$ref": "#/definitions/CloningInfo", + "description": "If specified during app creation, the app is cloned from a source app.", + "x-ms-mutability": [ + "create" + ] + }, + "resourceGroup": { + "description": "Name of the resource group the app belongs to. Read-only.", + "type": "string", + "readOnly": true + }, + "isDefaultContainer": { + "description": "true if the app is a default container; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "defaultHostName": { + "description": "Default hostname of the app. Read-only.", + "type": "string", + "readOnly": true + }, + "slotSwapStatus": { + "$ref": "#/definitions/SlotSwapStatus", + "description": "Status of the last deployment slot swap operation.", + "readOnly": true + }, + "httpsOnly": { + "description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests", + "type": "boolean" + }, + "redundancyMode": { + "description": "Site redundancy mode", + "enum": [ + "None", + "Manual", + "Failover", + "ActiveActive", + "GeoRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "RedundancyMode", + "modelAsString": false + } + }, + "inProgressOperationId": { + "format": "uuid", + "description": "Specifies an operation id if this site has a pending operation.", + "type": "string", + "readOnly": true, + "example": "00000000-0000-0000-0000-000000000000" + } + }, + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + } + } + }, + "SiteConfig": { + "description": "Configuration of an App Service app.", + "type": "object", + "properties": { + "numberOfWorkers": { + "format": "int32", + "description": "Number of workers.", + "type": "integer" + }, + "defaultDocuments": { + "description": "Default documents.", + "type": "array", + "items": { + "type": "string" + } + }, + "netFrameworkVersion": { + "description": ".NET Framework version.", + "default": "v4.6", + "type": "string" + }, + "phpVersion": { + "description": "Version of PHP.", + "type": "string" + }, + "pythonVersion": { + "description": "Version of Python.", + "type": "string" + }, + "nodeVersion": { + "description": "Version of Node.js.", + "type": "string" + }, + "powerShellVersion": { + "description": "Version of PowerShell.", + "type": "string" + }, + "linuxFxVersion": { + "description": "Linux App Framework and version", + "type": "string" + }, + "windowsFxVersion": { + "description": "Xenon App Framework and version", + "type": "string" + }, + "requestTracingEnabled": { + "description": "true if request tracing is enabled; otherwise, false.", + "type": "boolean" + }, + "requestTracingExpirationTime": { + "format": "date-time", + "description": "Request tracing expiration time.", + "type": "string" + }, + "remoteDebuggingEnabled": { + "description": "true if remote debugging is enabled; otherwise, false.", + "type": "boolean" + }, + "remoteDebuggingVersion": { + "description": "Remote debugging version.", + "type": "string" + }, + "httpLoggingEnabled": { + "description": "true if HTTP logging is enabled; otherwise, false.", + "type": "boolean" + }, + "logsDirectorySizeLimit": { + "format": "int32", + "description": "HTTP logs directory size limit.", + "type": "integer" + }, + "detailedErrorLoggingEnabled": { + "description": "true if detailed error logging is enabled; otherwise, false.", + "type": "boolean" + }, + "publishingUsername": { + "description": "Publishing user name.", + "type": "string" + }, + "appSettings": { + "description": "Application settings.", + "type": "array", + "items": { + "$ref": "#/definitions/NameValuePair" + } + }, + "connectionStrings": { + "description": "Connection strings.", + "type": "array", + "items": { + "$ref": "#/definitions/ConnStringInfo" + } + }, + "machineKey": { + "$ref": "#/definitions/SiteMachineKey", + "description": "Site MachineKey.", + "readOnly": true + }, + "handlerMappings": { + "description": "Handler mappings.", + "type": "array", + "items": { + "$ref": "#/definitions/HandlerMapping" + } + }, + "documentRoot": { + "description": "Document root.", + "type": "string" + }, + "scmType": { + "description": "SCM type.", + "enum": [ + "None", + "Dropbox", + "Tfs", + "LocalGit", + "GitHub", + "CodePlexGit", + "CodePlexHg", + "BitbucketGit", + "BitbucketHg", + "ExternalGit", + "ExternalHg", + "OneDrive", + "VSO", + "VSTSRM" + ], + "type": "string", + "x-ms-enum": { + "name": "ScmType", + "modelAsString": true + } + }, + "use32BitWorkerProcess": { + "description": "true to use 32-bit worker process; otherwise, false.", + "type": "boolean" + }, + "webSocketsEnabled": { + "description": "true if WebSocket is enabled; otherwise, false.", + "type": "boolean" + }, + "alwaysOn": { + "description": "true if Always On is enabled; otherwise, false.", + "type": "boolean" + }, + "javaVersion": { + "description": "Java version.", + "type": "string" + }, + "javaContainer": { + "description": "Java container.", + "type": "string" + }, + "javaContainerVersion": { + "description": "Java container version.", + "type": "string" + }, + "appCommandLine": { + "description": "App command line to launch.", + "type": "string" + }, + "managedPipelineMode": { + "description": "Managed pipeline mode.", + "enum": [ + "Integrated", + "Classic" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedPipelineMode", + "modelAsString": false + } + }, + "virtualApplications": { + "description": "Virtual applications.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualApplication" + } + }, + "loadBalancing": { + "description": "Site load balancing.", + "enum": [ + "WeightedRoundRobin", + "LeastRequests", + "LeastResponseTime", + "WeightedTotalTraffic", + "RequestHash" + ], + "type": "string", + "x-ms-enum": { + "name": "SiteLoadBalancing", + "modelAsString": false + } + }, + "experiments": { + "$ref": "#/definitions/Experiments", + "description": "This is work around for polymorphic types." + }, + "limits": { + "$ref": "#/definitions/SiteLimits", + "description": "Site limits." + }, + "autoHealEnabled": { + "description": "true if Auto Heal is enabled; otherwise, false.", + "type": "boolean" + }, + "autoHealRules": { + "$ref": "#/definitions/AutoHealRules", + "description": "Auto Heal rules." + }, + "tracingOptions": { + "description": "Tracing options.", + "type": "string" + }, + "vnetName": { + "description": "Virtual Network name.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "cors": { + "$ref": "#/definitions/CorsSettings", + "description": "Cross-Origin Resource Sharing (CORS) settings." + }, + "push": { + "$ref": "#/definitions/PushSettings", + "description": "Push endpoint settings." + }, + "apiDefinition": { + "$ref": "#/definitions/ApiDefinitionInfo", + "description": "Information about the formal API definition for the app." + }, + "apiManagementConfig": { + "$ref": "#/definitions/ApiManagementConfig", + "description": "Azure API management settings linked to the app." + }, + "autoSwapSlotName": { + "description": "Auto-swap slot name.", + "type": "string" + }, + "localMySqlEnabled": { + "description": "true to enable local MySQL; otherwise, false.", + "default": false, + "type": "boolean" + }, + "managedServiceIdentityId": { + "format": "int32", + "description": "Managed Service Identity Id", + "type": "integer" + }, + "xManagedServiceIdentityId": { + "format": "int32", + "description": "Explicit Managed Service Identity Id", + "type": "integer" + }, + "ipSecurityRestrictions": { + "description": "IP security restrictions for main.", + "type": "array", + "items": { + "$ref": "#/definitions/IpSecurityRestriction" + } + }, + "scmIpSecurityRestrictions": { + "description": "IP security restrictions for scm.", + "type": "array", + "items": { + "$ref": "#/definitions/IpSecurityRestriction" + } + }, + "scmIpSecurityRestrictionsUseMain": { + "description": "IP security restrictions for scm to use main.", + "type": "boolean" + }, + "http20Enabled": { + "description": "Http20Enabled: configures a web site to allow clients to connect over http2.0", + "default": true, + "type": "boolean" + }, + "minTlsVersion": { + "description": "MinTlsVersion: configures the minimum version of TLS required for SSL requests", + "enum": [ + "1.0", + "1.1", + "1.2" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedTlsVersions", + "modelAsString": true + } + }, + "ftpsState": { + "description": "State of FTP / FTPS service", + "enum": [ + "AllAllowed", + "FtpsOnly", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "FtpsState", + "modelAsString": true + } + }, + "preWarmedInstanceCount": { + "format": "int32", + "description": "Number of preWarmed instances.\nThis setting only applies to the Consumption and Elastic Plans", + "maximum": 10, + "minimum": 0, + "type": "integer" + }, + "healthCheckPath": { + "description": "Health check path", + "type": "string" + } + } + }, + "SiteLimits": { + "description": "Metric limits set on an app.", + "type": "object", + "properties": { + "maxPercentageCpu": { + "format": "double", + "description": "Maximum allowed CPU usage percentage.", + "type": "number" + }, + "maxMemoryInMb": { + "format": "int64", + "description": "Maximum allowed memory usage in MB.", + "type": "integer" + }, + "maxDiskSizeInMb": { + "format": "int64", + "description": "Maximum allowed disk size usage in MB.", + "type": "integer" + } + } + }, + "SiteMachineKey": { + "description": "MachineKey of an app.", + "type": "object", + "properties": { + "validation": { + "description": "MachineKey validation.", + "type": "string" + }, + "validationKey": { + "description": "Validation key.", + "type": "string" + }, + "decryption": { + "description": "Algorithm used for decryption.", + "type": "string" + }, + "decryptionKey": { + "description": "Decryption key.", + "type": "string" + } + } + }, + "SkuCapacity": { + "description": "Description of the App Service plan scale options.", + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "Minimum number of workers for this App Service plan SKU.", + "type": "integer" + }, + "maximum": { + "format": "int32", + "description": "Maximum number of workers for this App Service plan SKU.", + "type": "integer" + }, + "default": { + "format": "int32", + "description": "Default number of workers for this App Service plan SKU.", + "type": "integer" + }, + "scaleType": { + "description": "Available scale configurations for an App Service plan.", + "type": "string" + } + } + }, + "SkuDescription": { + "description": "Description of a SKU for a scalable resource.", + "type": "object", + "properties": { + "name": { + "description": "Name of the resource SKU.", + "type": "string" + }, + "tier": { + "description": "Service tier of the resource SKU.", + "type": "string" + }, + "size": { + "description": "Size specifier of the resource SKU.", + "type": "string" + }, + "family": { + "description": "Family code of the resource SKU.", + "type": "string" + }, + "capacity": { + "format": "int32", + "description": "Current number of instances assigned to the resource.", + "type": "integer" + }, + "skuCapacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Min, max, and default scale values of the SKU." + }, + "locations": { + "description": "Locations of the SKU.", + "type": "array", + "items": { + "type": "string" + } + }, + "capabilities": { + "description": "Capabilities of the SKU, e.g., is traffic manager enabled?", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + }, + "SlotSwapStatus": { + "description": "The status of the last successful slot swap operation.", + "type": "object", + "properties": { + "timestampUtc": { + "format": "date-time", + "description": "The time the last successful slot swap completed.", + "type": "string", + "readOnly": true + }, + "sourceSlotName": { + "description": "The source slot of the last swap operation.", + "type": "string", + "readOnly": true + }, + "destinationSlotName": { + "description": "The destination slot of the last swap operation.", + "type": "string", + "readOnly": true + } + } + }, + "SlowRequestsBasedTrigger": { + "description": "Trigger based on request execution time.", + "type": "object", + "properties": { + "timeTaken": { + "description": "Time taken.", + "type": "string" + }, + "count": { + "format": "int32", + "description": "Request Count.", + "type": "integer" + }, + "timeInterval": { + "description": "Time interval.", + "type": "string" + } + } + }, + "Snapshot": { + "description": "A snapshot of an app.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Snapshot resource specific properties", + "properties": { + "time": { + "description": "The time the snapshot was taken.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "StampCapacity": { + "description": "Stamp capacity information.", + "type": "object", + "properties": { + "name": { + "description": "Name of the stamp.", + "type": "string" + }, + "availableCapacity": { + "format": "int64", + "description": "Available capacity (# of machines, bytes of storage etc...).", + "type": "integer" + }, + "totalCapacity": { + "format": "int64", + "description": "Total capacity (# of machines, bytes of storage etc...).", + "type": "integer" + }, + "unit": { + "description": "Name of the unit.", + "type": "string" + }, + "computeMode": { + "description": "Shared/dedicated workers.", + "enum": [ + "Shared", + "Dedicated", + "Dynamic" + ], + "type": "string", + "x-ms-enum": { + "name": "ComputeModeOptions", + "modelAsString": false + } + }, + "workerSize": { + "description": "Size of the machines.", + "enum": [ + "Small", + "Medium", + "Large", + "D1", + "D2", + "D3", + "NestedSmall", + "Default" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkerSizeOptions", + "modelAsString": false + } + }, + "workerSizeId": { + "format": "int32", + "description": "Size ID of machines: \n0 - Small\n1 - Medium\n2 - Large", + "type": "integer" + }, + "excludeFromCapacityAllocation": { + "description": "If true, it includes basic apps.\nBasic apps are not used for capacity allocation.", + "type": "boolean" + }, + "isApplicableForAllComputeModes": { + "description": "true if capacity is applicable for all apps; otherwise, false.", + "type": "boolean" + }, + "siteMode": { + "description": "Shared or Dedicated.", + "type": "string" + }, + "isLinux": { + "description": "Is this a linux stamp capacity", + "type": "boolean" + } + } + }, + "StatusCodesBasedTrigger": { + "description": "Trigger based on status code.", + "type": "object", + "properties": { + "status": { + "format": "int32", + "description": "HTTP status code.", + "type": "integer" + }, + "subStatus": { + "format": "int32", + "description": "Request Sub Status.", + "type": "integer" + }, + "win32Status": { + "format": "int32", + "description": "Win32 error code.", + "type": "integer" + }, + "count": { + "format": "int32", + "description": "Request Count.", + "type": "integer" + }, + "timeInterval": { + "description": "Time interval.", + "type": "string" + } + } + }, + "StringDictionary": { + "description": "String dictionary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Settings.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-client-flatten": true + } + } + }, + "User": { + "description": "User credentials used for publishing activity.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "User resource specific properties", + "required": [ + "publishingUserName" + ], + "properties": { + "publishingUserName": { + "description": "Username used for publishing.", + "type": "string" + }, + "publishingPassword": { + "format": "password", + "description": "Password used for publishing.", + "type": "string" + }, + "publishingPasswordHash": { + "format": "password", + "description": "Password hash used for publishing.", + "type": "string" + }, + "publishingPasswordHashSalt": { + "format": "password", + "description": "Password hash salt used for publishing.", + "type": "string" + }, + "scmUri": { + "description": "Url of SCM site.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "VirtualApplication": { + "description": "Virtual application in an app.", + "type": "object", + "properties": { + "virtualPath": { + "description": "Virtual path.", + "type": "string" + }, + "physicalPath": { + "description": "Physical path.", + "type": "string" + }, + "preloadEnabled": { + "description": "true if preloading is enabled; otherwise, false.", + "type": "boolean" + }, + "virtualDirectories": { + "description": "Virtual directories for virtual application.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualDirectory" + } + } + } + }, + "VirtualDirectory": { + "description": "Directory for virtual application.", + "type": "object", + "properties": { + "virtualPath": { + "description": "Path to virtual application.", + "type": "string" + }, + "physicalPath": { + "description": "Physical path.", + "type": "string" + } + } + }, + "VirtualIPMapping": { + "description": "Virtual IP mapping.", + "type": "object", + "properties": { + "virtualIP": { + "description": "Virtual IP address.", + "type": "string" + }, + "internalHttpPort": { + "format": "int32", + "description": "Internal HTTP port.", + "type": "integer" + }, + "internalHttpsPort": { + "format": "int32", + "description": "Internal HTTPS port.", + "type": "integer" + }, + "inUse": { + "description": "Is virtual IP mapping in use.", + "type": "boolean" + }, + "serviceName": { + "description": "name of the service that virtual IP is assigned to", + "type": "string" + } + } + }, + "VirtualNetworkProfile": { + "description": "Specification for using a Virtual Network.", + "type": "object", + "properties": { + "id": { + "description": "Resource id of the Virtual Network.", + "type": "string" + }, + "name": { + "description": "Name of the Virtual Network (read-only).", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type of the Virtual Network (read-only).", + "type": "string", + "readOnly": true + }, + "subnet": { + "description": "Subnet within the Virtual Network.", + "type": "string" + } + } + }, + "VnetGateway": { + "description": "The Virtual Network gateway contract. This is used to give the Virtual Network gateway access to the VPN package.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "VnetGateway resource specific properties", + "required": [ + "vpnPackageUri" + ], + "properties": { + "vnetName": { + "description": "The Virtual Network name.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "vpnPackageUri": { + "description": "The URI where the VPN package can be downloaded.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "VnetInfo": { + "description": "Virtual Network information contract.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "VnetInfo resource specific properties", + "properties": { + "vnetResourceId": { + "description": "The Virtual Network's resource ID.", + "type": "string" + }, + "certThumbprint": { + "description": "The client certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "certBlob": { + "description": "A certificate file (.cer) blob containing the public key of the private key used to authenticate a \nPoint-To-Site VPN connection.", + "type": "string" + }, + "routes": { + "description": "The routes that this Virtual Network connection uses.", + "type": "array", + "items": { + "$ref": "#/definitions/VnetRoute" + }, + "readOnly": true + }, + "resyncRequired": { + "description": "true if a resync is required; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "dnsServers": { + "description": "DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses.", + "type": "string" + }, + "isSwift": { + "description": "Flag that is used to denote if this is VNET injection", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "VnetRoute": { + "description": "Virtual Network route contract used to pass routing information for a Virtual Network.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "VnetRoute resource specific properties", + "properties": { + "startAddress": { + "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.", + "type": "string" + }, + "endAddress": { + "description": "The ending address for this route. If the start address is specified in CIDR notation, this must be omitted.", + "type": "string" + }, + "routeType": { + "description": "The type of route this is:\nDEFAULT - By default, every app has routes to the local address ranges specified by RFC1918\nINHERITED - Routes inherited from the real Virtual Network routes\nSTATIC - Static route set on the app only\n\nThese values will be used for syncing an app's routes with those from a Virtual Network.", + "enum": [ + "DEFAULT", + "INHERITED", + "STATIC" + ], + "type": "string", + "x-ms-enum": { + "name": "RouteType", + "modelAsString": true + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "WebAppCollection": { + "description": "Collection of App Service apps.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Site" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "WorkerPool": { + "description": "Worker pool of an App Service Environment.", + "type": "object", + "properties": { + "workerSizeId": { + "format": "int32", + "description": "Worker size ID for referencing this worker pool.", + "type": "integer" + }, + "computeMode": { + "description": "Shared or dedicated app hosting.", + "enum": [ + "Shared", + "Dedicated", + "Dynamic" + ], + "type": "string", + "x-ms-enum": { + "name": "ComputeModeOptions", + "modelAsString": false + } + }, + "workerSize": { + "description": "VM size of the worker pool instances.", + "type": "string" + }, + "workerCount": { + "format": "int32", + "description": "Number of instances in the worker pool.", + "type": "integer" + }, + "instanceNames": { + "description": "Names of all instances in the worker pool (read only).", + "type": "array", + "items": { + "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/web/resource-manager/Microsoft.Web/stable/2020-06-01/DeletedWebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/DeletedWebApps.json new file mode 100644 index 000000000000..642a18cee755 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/DeletedWebApps.json @@ -0,0 +1,207 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "DeletedWebApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites": { + "get": { + "tags": [ + "DeletedWebApps" + ], + "summary": "Get all deleted apps for a subscription.", + "description": "Description for Get all deleted apps for a subscription.", + "operationId": "DeletedWebApps_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeletedWebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites": { + "get": { + "tags": [ + "DeletedWebApps" + ], + "summary": "Get all deleted apps for a subscription at location", + "description": "Description for Get all deleted apps for a subscription at location", + "operationId": "DeletedWebApps_ListByLocation", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeletedWebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Deleted Web App by Location": { + "$ref": "./examples/ListDeletedWebAppsByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites/{deletedSiteId}": { + "get": { + "tags": [ + "DeletedWebApps" + ], + "summary": "Get deleted app for a subscription at location.", + "description": "Description for Get deleted app for a subscription at location.", + "operationId": "DeletedWebApps_GetDeletedWebAppByLocation", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "deletedSiteId", + "in": "path", + "description": "The numeric ID of the deleted app, e.g. 12345", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DeletedSite" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Deleted Web App by Location": { + "$ref": "./examples/GetDeletedWebAppByLocation.json" + } + } + } + } + }, + "definitions": { + "DeletedWebAppCollection": { + "description": "Collection of deleted apps.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/DeletedSite" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Diagnostics.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Diagnostics.json new file mode 100644 index 000000000000..d47867cd014c --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Diagnostics.json @@ -0,0 +1,2281 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "Diagnostics API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "List Hosting Environment Detector Responses", + "description": "Description for List Hosting Environment Detector Responses", + "operationId": "Diagnostics_ListHostingEnvironmentDetectorResponses", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DetectorResponseCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Service Environment Detector Responses": { + "$ref": "./examples/Diagnostics_ListHostingEnvironmentDetectorResponses.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Hosting Environment Detector Response", + "description": "Description for Get Hosting Environment Detector Response", + "operationId": "Diagnostics_GetHostingEnvironmentDetectorResponse", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "App Service Environment Name", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Detector Resource Name", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start Time", + "type": "string", + "format": "date-time" + }, + { + "name": "endTime", + "in": "query", + "description": "End Time", + "type": "string", + "format": "date-time" + }, + { + "name": "timeGrain", + "in": "query", + "description": "Time Grain", + "type": "string", + "pattern": "PT[1-9][0-9]+[SMH]" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DetectorResponse" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Service Environment Detector Responses": { + "$ref": "./examples/Diagnostics_GetHostingEnvironmentDetectorResponse.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "List Site Detector Responses", + "description": "Description for List Site Detector Responses", + "operationId": "Diagnostics_ListSiteDetectorResponses", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DetectorResponseCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Detector Responses": { + "$ref": "./examples/Diagnostics_ListSiteDetectorResponses.json" + }, + "Get App Slot Detector Responses": { + "$ref": "./examples/Diagnostics_ListSiteDetectorResponsesSlot.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get site detector response", + "description": "Description for Get site detector response", + "operationId": "Diagnostics_GetSiteDetectorResponse", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Detector Resource Name", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start Time", + "type": "string", + "format": "date-time" + }, + { + "name": "endTime", + "in": "query", + "description": "End Time", + "type": "string", + "format": "date-time" + }, + { + "name": "timeGrain", + "in": "query", + "description": "Time Grain", + "type": "string", + "pattern": "PT[1-9][0-9]+[SMH]" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DetectorResponse" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Detector Response": { + "$ref": "./examples/Diagnostics_GetSiteDetectorResponse.json" + }, + "Get App Slot Detector Response": { + "$ref": "./examples/Diagnostics_GetSiteDetectorResponseSlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Diagnostics Categories", + "description": "Description for Get Diagnostics Categories", + "operationId": "Diagnostics_ListSiteDiagnosticCategories", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticCategoryCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Diagnostic Categories": { + "$ref": "./examples/Diagnostics_ListSiteDiagnosticCategories.json" + }, + "List App Slot Diagnostic Categories": { + "$ref": "./examples/Diagnostics_ListSiteDiagnosticCategoriesSlot.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Diagnostics Category", + "description": "Description for Get Diagnostics Category", + "operationId": "Diagnostics_GetSiteDiagnosticCategory", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticCategory" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Diagnostic Category": { + "$ref": "./examples/Diagnostics_GetSiteDiagnosticCategory.json" + }, + "Get App Slot Diagnostic Category": { + "$ref": "./examples/Diagnostics_GetSiteDiagnosticCategorySlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Site Analyses", + "description": "Description for Get Site Analyses", + "operationId": "Diagnostics_ListSiteAnalyses", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticAnalysisCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Analyses": { + "$ref": "./examples/Diagnostics_ListSiteAnalyses.json" + }, + "List App Slot Analyses": { + "$ref": "./examples/Diagnostics_ListSiteAnalysesSlot.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Site Analysis", + "description": "Description for Get Site Analysis", + "operationId": "Diagnostics_GetSiteAnalysis", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "name": "analysisName", + "in": "path", + "description": "Analysis Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AnalysisDefinition" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Analysis": { + "$ref": "./examples/Diagnostics_GetSiteAnalysis.json" + }, + "Get App Slot Analysis": { + "$ref": "./examples/Diagnostics_GetSiteAnalysisSlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute": { + "post": { + "tags": [ + "Diagnostics" + ], + "summary": "Execute Analysis", + "description": "Description for Execute Analysis", + "operationId": "Diagnostics_ExecuteSiteAnalysis", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Category Name", + "required": true, + "type": "string" + }, + { + "name": "analysisName", + "in": "path", + "description": "Analysis Resource Name", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start Time", + "type": "string", + "format": "date-time" + }, + { + "name": "endTime", + "in": "query", + "description": "End Time", + "type": "string", + "format": "date-time" + }, + { + "name": "timeGrain", + "in": "query", + "description": "Time Grain", + "type": "string", + "pattern": "PT[1-9][0-9]+[SMH]" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticAnalysis" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Execute site slot analysis": { + "$ref": "./examples/Diagnostics_ExecuteSiteAnalysisSlot.json" + }, + "Execute site analysis": { + "$ref": "./examples/Diagnostics_ExecuteSiteAnalysis.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Detectors", + "description": "Description for Get Detectors", + "operationId": "Diagnostics_ListSiteDetectors", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticDetectorCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Detectors": { + "$ref": "./examples/Diagnostics_ListSiteDetectors.json" + }, + "List App Slot Detectors": { + "$ref": "./examples/Diagnostics_ListSiteDetectorsSlot.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Detector", + "description": "Description for Get Detector", + "operationId": "Diagnostics_GetSiteDetector", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Detector Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DetectorDefinition" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Detector": { + "$ref": "./examples/Diagnostics_GetSiteDetector.json" + }, + "Get App Slot Detector": { + "$ref": "./examples/Diagnostics_GetSiteDetectorSlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute": { + "post": { + "tags": [ + "Diagnostics" + ], + "summary": "Execute Detector", + "description": "Description for Execute Detector", + "operationId": "Diagnostics_ExecuteSiteDetector", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Detector Resource Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Category Name", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start Time", + "type": "string", + "format": "date-time" + }, + { + "name": "endTime", + "in": "query", + "description": "End Time", + "type": "string", + "format": "date-time" + }, + { + "name": "timeGrain", + "in": "query", + "description": "Time Grain", + "type": "string", + "pattern": "PT[1-9][0-9]+[SMH]" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticDetectorResponse" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Execute site detector": { + "$ref": "./examples/Diagnostics_ExecuteSiteDetector.json" + }, + "Execute site slot detector": { + "$ref": "./examples/Diagnostics_ExecuteSiteDetectorSlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "List Site Detector Responses", + "description": "Description for List Site Detector Responses", + "operationId": "Diagnostics_ListSiteDetectorResponsesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DetectorResponseCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Detector Responses": { + "$ref": "./examples/Diagnostics_ListSiteDetectorResponses.json" + }, + "Get App Slot Detector Responses": { + "$ref": "./examples/Diagnostics_ListSiteDetectorResponsesSlot.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get site detector response", + "description": "Description for Get site detector response", + "operationId": "Diagnostics_GetSiteDetectorResponseSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Detector Resource Name", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start Time", + "type": "string", + "format": "date-time" + }, + { + "name": "endTime", + "in": "query", + "description": "End Time", + "type": "string", + "format": "date-time" + }, + { + "name": "timeGrain", + "in": "query", + "description": "Time Grain", + "type": "string", + "pattern": "PT[1-9][0-9]+[SMH]" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DetectorResponse" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Detector Response": { + "$ref": "./examples/Diagnostics_GetSiteDetectorResponse.json" + }, + "Get App Slot Detector Response": { + "$ref": "./examples/Diagnostics_GetSiteDetectorResponseSlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Diagnostics Categories", + "description": "Description for Get Diagnostics Categories", + "operationId": "Diagnostics_ListSiteDiagnosticCategoriesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticCategoryCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Diagnostic Categories": { + "$ref": "./examples/Diagnostics_ListSiteDiagnosticCategories.json" + }, + "List App Slot Diagnostic Categories": { + "$ref": "./examples/Diagnostics_ListSiteDiagnosticCategoriesSlot.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Diagnostics Category", + "description": "Description for Get Diagnostics Category", + "operationId": "Diagnostics_GetSiteDiagnosticCategorySlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticCategory" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Diagnostic Category": { + "$ref": "./examples/Diagnostics_GetSiteDiagnosticCategory.json" + }, + "Get App Slot Diagnostic Category": { + "$ref": "./examples/Diagnostics_GetSiteDiagnosticCategorySlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Site Analyses", + "description": "Description for Get Site Analyses", + "operationId": "Diagnostics_ListSiteAnalysesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticAnalysisCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Analyses": { + "$ref": "./examples/Diagnostics_ListSiteAnalyses.json" + }, + "List App Slot Analyses": { + "$ref": "./examples/Diagnostics_ListSiteAnalysesSlot.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Site Analysis", + "description": "Description for Get Site Analysis", + "operationId": "Diagnostics_GetSiteAnalysisSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "name": "analysisName", + "in": "path", + "description": "Analysis Name", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot - optional", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AnalysisDefinition" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Analysis": { + "$ref": "./examples/Diagnostics_GetSiteAnalysis.json" + }, + "Get App Slot Analysis": { + "$ref": "./examples/Diagnostics_GetSiteAnalysisSlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute": { + "post": { + "tags": [ + "Diagnostics" + ], + "summary": "Execute Analysis", + "description": "Description for Execute Analysis", + "operationId": "Diagnostics_ExecuteSiteAnalysisSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Category Name", + "required": true, + "type": "string" + }, + { + "name": "analysisName", + "in": "path", + "description": "Analysis Resource Name", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start Time", + "type": "string", + "format": "date-time" + }, + { + "name": "endTime", + "in": "query", + "description": "End Time", + "type": "string", + "format": "date-time" + }, + { + "name": "timeGrain", + "in": "query", + "description": "Time Grain", + "type": "string", + "pattern": "PT[1-9][0-9]+[SMH]" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticAnalysis" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Execute site slot analysis": { + "$ref": "./examples/Diagnostics_ExecuteSiteAnalysisSlot.json" + }, + "Execute site analysis": { + "$ref": "./examples/Diagnostics_ExecuteSiteAnalysis.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Detectors", + "description": "Description for Get Detectors", + "operationId": "Diagnostics_ListSiteDetectorsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticDetectorCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Detectors": { + "$ref": "./examples/Diagnostics_ListSiteDetectors.json" + }, + "List App Slot Detectors": { + "$ref": "./examples/Diagnostics_ListSiteDetectorsSlot.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}": { + "get": { + "tags": [ + "Diagnostics" + ], + "summary": "Get Detector", + "description": "Description for Get Detector", + "operationId": "Diagnostics_GetSiteDetectorSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Diagnostic Category", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Detector Name", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DetectorDefinition" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Detector": { + "$ref": "./examples/Diagnostics_GetSiteDetector.json" + }, + "Get App Slot Detector": { + "$ref": "./examples/Diagnostics_GetSiteDetectorSlot.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute": { + "post": { + "tags": [ + "Diagnostics" + ], + "summary": "Execute Detector", + "description": "Description for Execute Detector", + "operationId": "Diagnostics_ExecuteSiteDetectorSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site Name", + "required": true, + "type": "string" + }, + { + "name": "detectorName", + "in": "path", + "description": "Detector Resource Name", + "required": true, + "type": "string" + }, + { + "name": "diagnosticCategory", + "in": "path", + "description": "Category Name", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Slot Name", + "required": true, + "type": "string" + }, + { + "name": "startTime", + "in": "query", + "description": "Start Time", + "type": "string", + "format": "date-time" + }, + { + "name": "endTime", + "in": "query", + "description": "End Time", + "type": "string", + "format": "date-time" + }, + { + "name": "timeGrain", + "in": "query", + "description": "Time Grain", + "type": "string", + "pattern": "PT[1-9][0-9]+[SMH]" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiagnosticDetectorResponse" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Execute site detector": { + "$ref": "./examples/Diagnostics_ExecuteSiteDetector.json" + }, + "Execute site slot detector": { + "$ref": "./examples/Diagnostics_ExecuteSiteDetectorSlot.json" + } + } + } + } + }, + "definitions": { + "AbnormalTimePeriod": { + "description": "Class representing Abnormal Time Period identified in diagnosis", + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the downtime", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the downtime", + "type": "string" + }, + "events": { + "description": "List of Possible Cause of downtime", + "type": "array", + "items": { + "$ref": "#/definitions/DetectorAbnormalTimePeriod" + } + }, + "solutions": { + "description": "List of proposed solutions", + "type": "array", + "items": { + "$ref": "#/definitions/Solution" + } + } + } + }, + "AnalysisData": { + "description": "Class Representing Detector Evidence used for analysis", + "type": "object", + "properties": { + "source": { + "description": "Name of the Detector", + "type": "string" + }, + "detectorDefinition": { + "$ref": "#/definitions/DetectorDefinition", + "description": "Detector Definition" + }, + "metrics": { + "description": "Source Metrics", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticMetricSet" + } + }, + "data": { + "description": "Additional Source Data", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" + } + } + }, + "detectorMetaData": { + "$ref": "#/definitions/ResponseMetaData", + "description": "Detector Meta Data" + } + } + }, + "AnalysisDefinition": { + "description": "Definition of Analysis", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AnalysisDefinition resource specific properties", + "properties": { + "description": { + "description": "Description of the Analysis", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "DataSource": { + "description": "Class representing data source used by the detectors", + "type": "object", + "properties": { + "instructions": { + "description": "Instructions if any for the data source", + "type": "array", + "items": { + "type": "string" + } + }, + "dataSourceUri": { + "description": "Datasource Uri Links", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" + } + } + } + }, + "DataTableResponseColumn": { + "description": "Column definition", + "type": "object", + "properties": { + "columnName": { + "description": "Name of the column", + "type": "string" + }, + "dataType": { + "description": "Data type which looks like 'String' or 'Int32'.", + "type": "string" + }, + "columnType": { + "description": "Column Type", + "type": "string" + } + } + }, + "DataTableResponseObject": { + "description": "Data Table which defines columns and raw row values", + "type": "object", + "properties": { + "tableName": { + "description": "Name of the table", + "type": "string" + }, + "columns": { + "description": "List of columns with data types", + "type": "array", + "items": { + "$ref": "#/definitions/DataTableResponseColumn" + } + }, + "rows": { + "description": "Raw row values", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "DetectorAbnormalTimePeriod": { + "description": "Class representing Abnormal Time Period detected.", + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the correlated event", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the correlated event", + "type": "string" + }, + "message": { + "description": "Message describing the event", + "type": "string" + }, + "source": { + "description": "Represents the name of the Detector", + "type": "string" + }, + "priority": { + "format": "double", + "description": "Represents the rank of the Detector", + "type": "number" + }, + "metaData": { + "description": "Downtime metadata", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" + } + } + }, + "type": { + "description": "Represents the type of the Detector", + "enum": [ + "ServiceIncident", + "AppDeployment", + "AppCrash", + "RuntimeIssueDetected", + "AseDeployment", + "UserIssue", + "PlatformIssue", + "Other" + ], + "type": "string", + "x-ms-enum": { + "name": "IssueType", + "modelAsString": false + } + }, + "solutions": { + "description": "List of proposed solutions", + "type": "array", + "items": { + "$ref": "#/definitions/Solution" + } + } + } + }, + "DetectorDefinition": { + "description": "Class representing detector definition", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DetectorDefinition resource specific properties", + "properties": { + "displayName": { + "description": "Display name of the detector", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the detector", + "type": "string", + "readOnly": true + }, + "rank": { + "format": "double", + "description": "Detector Rank", + "type": "number", + "readOnly": true + }, + "isEnabled": { + "description": "Flag representing whether detector is enabled or not.", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "DetectorInfo": { + "description": "Definition of Detector", + "type": "object", + "properties": { + "description": { + "description": "Short description of the detector and its purpose", + "type": "string", + "readOnly": true + }, + "category": { + "description": "Support Category", + "type": "string", + "readOnly": true + }, + "subCategory": { + "description": "Support Sub Category", + "type": "string", + "readOnly": true + }, + "supportTopicId": { + "description": "Support Topic Id", + "type": "string", + "readOnly": true + } + } + }, + "DetectorResponse": { + "description": "Class representing Response from Detector", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DetectorResponse resource specific properties", + "properties": { + "metadata": { + "$ref": "#/definitions/DetectorInfo", + "description": "metadata for the detector" + }, + "dataset": { + "description": "Data Set", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticData" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "DetectorResponseCollection": { + "description": "Collection of detector responses", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectorResponse" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DiagnosticAnalysis": { + "description": "Class representing a diagnostic analysis done on an application", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DiagnosticAnalysis resource specific properties", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the period", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the period", + "type": "string" + }, + "abnormalTimePeriods": { + "description": "List of time periods.", + "type": "array", + "items": { + "$ref": "#/definitions/AbnormalTimePeriod" + } + }, + "payload": { + "description": "Data by each detector", + "type": "array", + "items": { + "$ref": "#/definitions/AnalysisData" + } + }, + "nonCorrelatedDetectors": { + "description": "Data by each detector for detectors that did not corelate", + "type": "array", + "items": { + "$ref": "#/definitions/DetectorDefinition" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "DiagnosticAnalysisCollection": { + "description": "Collection of Diagnostic Analyses", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AnalysisDefinition" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DiagnosticCategory": { + "description": "Class representing detector definition", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DiagnosticCategory resource specific properties", + "properties": { + "description": { + "description": "Description of the diagnostic category", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "DiagnosticCategoryCollection": { + "description": "Collection of Diagnostic Categories", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticCategory" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DiagnosticData": { + "description": "Set of data with rendering instructions", + "type": "object", + "properties": { + "table": { + "$ref": "#/definitions/DataTableResponseObject", + "description": "Data in table form" + }, + "renderingProperties": { + "$ref": "#/definitions/Rendering", + "description": "Properties that describe how the table should be rendered" + } + } + }, + "DiagnosticDetectorCollection": { + "description": "Collection of Diagnostic Detectors", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DetectorDefinition" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DiagnosticDetectorResponse": { + "description": "Class representing Response from Diagnostic Detectors", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DiagnosticDetectorResponse resource specific properties", + "properties": { + "startTime": { + "format": "date-time", + "description": "Start time of the period", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the period", + "type": "string" + }, + "issueDetected": { + "description": "Flag representing Issue was detected.", + "type": "boolean" + }, + "detectorDefinition": { + "$ref": "#/definitions/DetectorDefinition", + "description": "Detector's definition" + }, + "metrics": { + "description": "Metrics provided by the detector", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticMetricSet" + } + }, + "abnormalTimePeriods": { + "description": "List of Correlated events found by the detector", + "type": "array", + "items": { + "$ref": "#/definitions/DetectorAbnormalTimePeriod" + } + }, + "data": { + "description": "Additional Data that detector wants to send.", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" + } + } + }, + "responseMetaData": { + "$ref": "#/definitions/ResponseMetaData", + "description": "Meta Data" + } + }, + "x-ms-client-flatten": true + } + } + }, + "DiagnosticMetricSample": { + "description": "Class representing Diagnostic Metric", + "type": "object", + "properties": { + "timestamp": { + "format": "date-time", + "description": "Time at which metric is measured", + "type": "string" + }, + "roleInstance": { + "description": "Role Instance. Null if this counter is not per instance \nThis is returned and should be whichever instance name we desire to be returned\ni.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) \nwhere RDWORKERNAME is Machine name below and RoleInstance name in parenthesis", + "type": "string" + }, + "total": { + "format": "double", + "description": "Total value of the metric. If multiple measurements are made this will have sum of all.", + "type": "number" + }, + "maximum": { + "format": "double", + "description": "Maximum of the metric sampled during the time period", + "type": "number" + }, + "minimum": { + "format": "double", + "description": "Minimum of the metric sampled during the time period", + "type": "number" + }, + "isAggregated": { + "description": "Whether the values are aggregates across all workers or not", + "type": "boolean" + } + } + }, + "DiagnosticMetricSet": { + "description": "Class representing Diagnostic Metric information", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric", + "type": "string" + }, + "unit": { + "description": "Metric's unit", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Start time of the period", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the period", + "type": "string" + }, + "timeGrain": { + "description": "Presented time grain. Supported grains at the moment are PT1M, PT1H, P1D", + "type": "string" + }, + "values": { + "description": "Collection of metric values for the selected period based on the {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain}", + "type": "array", + "items": { + "$ref": "#/definitions/DiagnosticMetricSample" + } + } + } + }, + "Rendering": { + "description": "Instructions for rendering the data", + "type": "object", + "properties": { + "type": { + "description": "Rendering Type", + "enum": [ + "NoGraph", + "Table", + "TimeSeries", + "TimeSeriesPerInstance" + ], + "type": "string", + "x-ms-enum": { + "name": "RenderingType", + "modelAsString": false + } + }, + "title": { + "description": "Title of data", + "type": "string" + }, + "description": { + "description": "Description of the data that will help it be interpreted", + "type": "string" + } + } + }, + "ResponseMetaData": { + "type": "object", + "properties": { + "dataSource": { + "$ref": "#/definitions/DataSource", + "description": "Source of the Data" + } + } + }, + "Solution": { + "description": "Class Representing Solution for problems detected.", + "type": "object", + "properties": { + "id": { + "format": "double", + "description": "Solution Id.", + "type": "number" + }, + "displayName": { + "description": "Display Name of the solution", + "type": "string" + }, + "order": { + "format": "double", + "description": "Order of the solution.", + "type": "number" + }, + "description": { + "description": "Description of the solution", + "type": "string" + }, + "type": { + "description": "Type of Solution", + "enum": [ + "QuickSolution", + "DeepInvestigation", + "BestPractices" + ], + "type": "string", + "x-ms-enum": { + "name": "SolutionType", + "modelAsString": false + } + }, + "data": { + "description": "Solution Data.", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" + } + } + }, + "metadata": { + "description": "Solution Metadata.", + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" + } + } + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Provider.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Provider.json new file mode 100644 index 000000000000..77168f1b9b66 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Provider.json @@ -0,0 +1,313 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "Provider API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Web/availableStacks": { + "get": { + "tags": [ + "Provider" + ], + "summary": "Get available application frameworks and their versions", + "description": "Description for Get available application frameworks and their versions", + "operationId": "Provider_GetAvailableStacks", + "parameters": [ + { + "name": "osTypeSelected", + "in": "query", + "type": "string", + "enum": [ + "Windows", + "Linux", + "WindowsFunctions", + "LinuxFunctions" + ] + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicationStackCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Web/operations": { + "get": { + "tags": [ + "Provider" + ], + "summary": "Gets all available operations for the Microsoft.Web resource provider. Also exposes resource metric definitions", + "description": "Description for Gets all available operations for the Microsoft.Web resource provider. Also exposes resource metric definitions", + "operationId": "Provider_ListOperations", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CsmOperationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ListOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks": { + "get": { + "tags": [ + "Provider" + ], + "summary": "Get available application frameworks and their versions", + "description": "Description for Get available application frameworks and their versions", + "operationId": "Provider_GetAvailableStacksOnPrem", + "parameters": [ + { + "name": "osTypeSelected", + "in": "query", + "type": "string", + "enum": [ + "Windows", + "Linux", + "WindowsFunctions", + "LinuxFunctions" + ] + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicationStackCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ApplicationStack": { + "description": "Application stack.", + "type": "object", + "properties": { + "name": { + "description": "Application stack name.", + "type": "string" + }, + "display": { + "description": "Application stack display name.", + "type": "string" + }, + "dependency": { + "description": "Application stack dependency.", + "type": "string" + }, + "majorVersions": { + "description": "List of major versions available.", + "type": "array", + "items": { + "$ref": "#/definitions/StackMajorVersion" + } + }, + "frameworks": { + "description": "List of frameworks associated with application stack.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationStack" + } + } + } + }, + "ApplicationStackCollection": { + "description": "Collection of Application Stacks", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationStackResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ApplicationStackResource": { + "description": "ARM resource for a ApplicationStack.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ApplicationStack", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "StackMajorVersion": { + "description": "Application stack major version.", + "type": "object", + "properties": { + "displayVersion": { + "description": "Application stack major version (display only).", + "type": "string" + }, + "runtimeVersion": { + "description": "Application stack major version (runtime only).", + "type": "string" + }, + "isDefault": { + "description": "true if this is the default major version; otherwise, false.", + "type": "boolean" + }, + "minorVersions": { + "description": "Minor versions associated with the major version.", + "type": "array", + "items": { + "$ref": "#/definitions/StackMinorVersion" + } + }, + "applicationInsights": { + "description": "true if this supports Application Insights; otherwise, false.", + "type": "boolean" + }, + "isPreview": { + "description": "true if this stack is in Preview, otherwise false.", + "type": "boolean" + }, + "isDeprecated": { + "description": "true if this stack has been deprecated, otherwise false.", + "type": "boolean" + }, + "isHidden": { + "description": "true if this stack should be hidden for new customers on portal, otherwise false.", + "type": "boolean" + } + } + }, + "StackMinorVersion": { + "description": "Application stack minor version.", + "type": "object", + "properties": { + "displayVersion": { + "description": "Application stack minor version (display only).", + "type": "string" + }, + "runtimeVersion": { + "description": "Application stack minor version (runtime only).", + "type": "string" + }, + "isDefault": { + "description": "true if this is the default minor version; otherwise, false.", + "type": "boolean" + }, + "isRemoteDebuggingEnabled": { + "description": "true if this supports Remote Debugging, otherwise false.", + "type": "boolean" + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Recommendations.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Recommendations.json new file mode 100644 index 000000000000..23b6816a6244 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/Recommendations.json @@ -0,0 +1,1072 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "Recommendations API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "List all recommendations for a subscription.", + "description": "Description for List all recommendations for a subscription.", + "operationId": "Recommendations_List", + "parameters": [ + { + "name": "featured", + "in": "query", + "description": "Specify true to return only the most critical recommendations. The default is false, which returns all recommendations.", + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D]", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Reset all recommendation opt-out settings for a subscription.", + "description": "Description for Reset all recommendation opt-out settings for a subscription.", + "operationId": "Recommendations_ResetAllFilters", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Disables the specified rule so it will not apply to a subscription in the future.", + "description": "Description for Disables the specified rule so it will not apply to a subscription in the future.", + "operationId": "Recommendations_DisableRecommendationForSubscription", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Rule name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disabled recommendations." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get past recommendations for an app, optionally specified by the time range.", + "description": "Description for Get past recommendations for an app, optionally specified by the time range.", + "operationId": "Recommendations_ListHistoryForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "description": "Name of the hosting environment.", + "required": true, + "type": "string" + }, + { + "name": "expiredOnly", + "in": "query", + "description": "Specify false to return all recommendations. The default is true, which returns only expired recommendations.", + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D]", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get all recommendations for a hosting environment.", + "description": "Description for Get all recommendations for a hosting environment.", + "operationId": "Recommendations_ListRecommendedRulesForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "featured", + "in": "query", + "description": "Specify true to return only the most critical recommendations. The default is false, which returns all recommendations.", + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification'", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/disable": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Disable all recommendations for an app.", + "description": "Description for Disable all recommendations for an app.", + "operationId": "Recommendations_DisableAllForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "query", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/reset": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Reset all recommendation opt-out settings for an app.", + "description": "Description for Reset all recommendation opt-out settings for an app.", + "operationId": "Recommendations_ResetAllFiltersForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "query", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get a recommendation rule for an app.", + "description": "Description for Get a recommendation rule for an app.", + "operationId": "Recommendations_GetRuleDetailsByHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "description": "Name of the hosting environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the recommendation.", + "required": true, + "type": "string" + }, + { + "name": "updateSeen", + "in": "query", + "description": "Specify true to update the last-seen timestamp of the recommendation object.", + "type": "boolean" + }, + { + "name": "recommendationId", + "in": "query", + "description": "The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationRule" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}/disable": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Disables the specific rule for a web site permanently.", + "description": "Description for Disables the specific rule for a web site permanently.", + "operationId": "Recommendations_DisableRecommendationForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "query", + "description": "Site name", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Rule name", + "required": true, + "type": "string" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disabled recommendations." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get past recommendations for an app, optionally specified by the time range.", + "description": "Description for Get past recommendations for an app, optionally specified by the time range.", + "operationId": "Recommendations_ListHistoryForWebApp", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "expiredOnly", + "in": "query", + "description": "Specify false to return all recommendations. The default is true, which returns only expired recommendations.", + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D]", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get all recommendations for an app.", + "description": "Description for Get all recommendations for an app.", + "operationId": "Recommendations_ListRecommendedRulesForWebApp", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "featured", + "in": "query", + "description": "Specify true to return only the most critical recommendations. The default is false, which returns all recommendations.", + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification'", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Disable all recommendations for an app.", + "description": "Description for Disable all recommendations for an app.", + "operationId": "Recommendations_DisableAllForWebApp", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Reset all recommendation opt-out settings for an app.", + "description": "Description for Reset all recommendation opt-out settings for an app.", + "operationId": "Recommendations_ResetAllFiltersForWebApp", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get a recommendation rule for an app.", + "description": "Description for Get a recommendation rule for an app.", + "operationId": "Recommendations_GetRuleDetailsByWebApp", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the recommendation.", + "required": true, + "type": "string" + }, + { + "name": "updateSeen", + "in": "query", + "description": "Specify true to update the last-seen timestamp of the recommendation object.", + "type": "boolean" + }, + { + "name": "recommendationId", + "in": "query", + "description": "The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationRule" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Disables the specific rule for a web site permanently.", + "description": "Description for Disables the specific rule for a web site permanently.", + "operationId": "Recommendations_DisableRecommendationForSite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "siteName", + "in": "path", + "description": "Site name", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Rule name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disabled recommendations." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Recommendation": { + "description": "Represents a recommendation result generated by the recommendation engine.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Recommendation resource specific properties", + "properties": { + "creationTime": { + "format": "date-time", + "description": "Timestamp when this instance was created.", + "type": "string" + }, + "recommendationId": { + "format": "uuid", + "description": "A GUID value that each recommendation object is associated with.", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000" + }, + "resourceId": { + "description": "Full ARM resource ID string that this recommendation object is associated with.", + "type": "string" + }, + "resourceScope": { + "description": "Name of a resource type this recommendation applies, e.g. Subscription, ServerFarm, Site.", + "enum": [ + "ServerFarm", + "Subscription", + "WebSite" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceScopeType", + "modelAsString": true + } + }, + "ruleName": { + "description": "Unique name of the rule.", + "type": "string" + }, + "displayName": { + "description": "UI friendly name of the rule (may not be unique).", + "type": "string" + }, + "message": { + "description": "Recommendation text.", + "type": "string" + }, + "level": { + "description": "Level indicating how critical this recommendation can impact.", + "enum": [ + "Critical", + "Warning", + "Information", + "NonUrgentSuggestion" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationLevel", + "modelAsString": false + } + }, + "channels": { + "description": "List of channels that this recommendation can apply.", + "enum": [ + "Notification", + "Api", + "Email", + "Webhook", + "All" + ], + "type": "string", + "x-ms-enum": { + "name": "Channels", + "modelAsString": false + } + }, + "categoryTags": { + "description": "The list of category tags that this recommendation belongs to.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "actionName": { + "description": "Name of action recommended by this object.", + "type": "string" + }, + "enabled": { + "format": "int32", + "description": "True if this recommendation is still valid (i.e. \"actionable\"). False if it is invalid.", + "type": "integer" + }, + "states": { + "description": "The list of states of this recommendation. If it's null then it should be considered \"Active\".", + "type": "array", + "items": { + "type": "string" + } + }, + "startTime": { + "format": "date-time", + "description": "The beginning time in UTC of a range that the recommendation refers to.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time in UTC of a range that the recommendation refers to.", + "type": "string" + }, + "nextNotificationTime": { + "format": "date-time", + "description": "When to notify this recommendation next in UTC. Null means that this will never be notified anymore.", + "type": "string" + }, + "notificationExpirationTime": { + "format": "date-time", + "description": "Date and time in UTC when this notification expires.", + "type": "string" + }, + "notifiedTime": { + "format": "date-time", + "description": "Last timestamp in UTC this instance was actually notified. Null means that this recommendation hasn't been notified yet.", + "type": "string" + }, + "score": { + "format": "double", + "description": "A metric value measured by the rule.", + "type": "number" + }, + "isDynamic": { + "description": "True if this is associated with a dynamically added rule", + "type": "boolean" + }, + "extensionName": { + "description": "Extension name of the portal if exists.", + "type": "string" + }, + "bladeName": { + "description": "Deep link to a blade on the portal.", + "type": "string" + }, + "forwardLink": { + "description": "Forward link to an external document associated with the rule.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "RecommendationCollection": { + "description": "Collection of recommendations.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Recommendation" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "RecommendationRule": { + "description": "Represents a recommendation rule that the recommendation engine can perform.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "RecommendationRule resource specific properties", + "properties": { + "recommendationName": { + "description": "Unique name of the rule.", + "type": "string" + }, + "displayName": { + "description": "UI friendly name of the rule.", + "type": "string" + }, + "message": { + "description": "Localized name of the rule (Good for UI).", + "type": "string" + }, + "recommendationId": { + "format": "uuid", + "description": "Recommendation ID of an associated recommendation object tied to the rule, if exists.\nIf such an object doesn't exist, it is set to null.", + "type": "string", + "example": "00000000-0000-0000-0000-000000000000" + }, + "description": { + "description": "Localized detailed description of the rule.", + "type": "string" + }, + "actionName": { + "description": "Name of action that is recommended by this rule in string.", + "type": "string" + }, + "level": { + "description": "Level of impact indicating how critical this rule is.", + "enum": [ + "Critical", + "Warning", + "Information", + "NonUrgentSuggestion" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationLevel", + "modelAsString": false + } + }, + "channels": { + "description": "List of available channels that this rule applies.", + "enum": [ + "Notification", + "Api", + "Email", + "Webhook", + "All" + ], + "type": "string", + "x-ms-enum": { + "name": "Channels", + "modelAsString": false + } + }, + "categoryTags": { + "description": "The list of category tags that this recommendation rule belongs to.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "isDynamic": { + "description": "True if this is associated with a dynamically added rule", + "type": "boolean" + }, + "extensionName": { + "description": "Extension name of the portal if exists. Applicable to dynamic rule only.", + "type": "string" + }, + "bladeName": { + "description": "Deep link to a blade on the portal. Applicable to dynamic rule only.", + "type": "string" + }, + "forwardLink": { + "description": "Forward link to an external document associated with the rule. Applicable to dynamic rule only.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/ResourceHealthMetadata.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/ResourceHealthMetadata.json new file mode 100644 index 000000000000..9bd0aff161b1 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/ResourceHealthMetadata.json @@ -0,0 +1,403 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "ResourceHealthMetadata API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata": { + "get": { + "tags": [ + "ResourceHealthMetadata" + ], + "summary": "List all ResourceHealthMetadata for all sites in the subscription.", + "description": "Description for List all ResourceHealthMetadata for all sites in the subscription.", + "operationId": "ResourceHealthMetadata_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceHealthMetadataCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List ResourceHealthMetadata for a subscription": { + "$ref": "./examples/ListResourceHealthMetadataBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata": { + "get": { + "tags": [ + "ResourceHealthMetadata" + ], + "summary": "List all ResourceHealthMetadata for all sites in the resource group in the subscription.", + "description": "Description for List all ResourceHealthMetadata for all sites in the resource group in the subscription.", + "operationId": "ResourceHealthMetadata_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceHealthMetadataCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List ResourceHealthMetadata for a resource group": { + "$ref": "./examples/ListResourceHealthMetadataByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata": { + "get": { + "tags": [ + "ResourceHealthMetadata" + ], + "summary": "Gets the category of ResourceHealthMetadata to use for the given site as a collection", + "description": "Description for Gets the category of ResourceHealthMetadata to use for the given site as a collection", + "operationId": "ResourceHealthMetadata_ListBySite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceHealthMetadataCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List ResourceHealthMetadata for a site": { + "$ref": "./examples/ListResourceHealthMetadataBySite.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default": { + "get": { + "tags": [ + "ResourceHealthMetadata" + ], + "summary": "Gets the category of ResourceHealthMetadata to use for the given site", + "description": "Description for Gets the category of ResourceHealthMetadata to use for the given site", + "operationId": "ResourceHealthMetadata_GetBySite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceHealthMetadata" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get ResourceHealthMetadata": { + "$ref": "./examples/GetResourceHealthMetadataBySite.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata": { + "get": { + "tags": [ + "ResourceHealthMetadata" + ], + "summary": "Gets the category of ResourceHealthMetadata to use for the given site as a collection", + "description": "Description for Gets the category of ResourceHealthMetadata to use for the given site as a collection", + "operationId": "ResourceHealthMetadata_ListBySiteSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceHealthMetadataCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List ResourceHealthMetadata for a site": { + "$ref": "./examples/ListResourceHealthMetadataBySite.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default": { + "get": { + "tags": [ + "ResourceHealthMetadata" + ], + "summary": "Gets the category of ResourceHealthMetadata to use for the given site", + "description": "Description for Gets the category of ResourceHealthMetadata to use for the given site", + "operationId": "ResourceHealthMetadata_GetBySiteSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceHealthMetadata" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get ResourceHealthMetadata": { + "$ref": "./examples/GetResourceHealthMetadataBySite.json" + } + } + } + } + }, + "definitions": { + "ResourceHealthMetadata": { + "description": "Used for getting ResourceHealthCheck settings.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ResourceHealthMetadata resource specific properties", + "properties": { + "category": { + "description": "The category that the resource matches in the RHC Policy File", + "type": "string" + }, + "signalAvailability": { + "description": "Is there a health signal for the resource", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ResourceHealthMetadataCollection": { + "description": "Collection of resource health metadata.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthMetadata" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/ResourceProvider.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/ResourceProvider.json new file mode 100644 index 000000000000..b638d32baf22 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/ResourceProvider.json @@ -0,0 +1,1319 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": " API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Web/publishingUsers/web": { + "get": { + "summary": "Gets publishing user", + "description": "Description for Gets publishing user", + "operationId": "GetPublishingUser", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/User" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "summary": "Updates publishing user", + "description": "Description for Updates publishing user", + "operationId": "UpdatePublishingUser", + "parameters": [ + { + "name": "userDetails", + "in": "body", + "description": "Details of publishing user", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/User" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/User" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Web/sourcecontrols": { + "get": { + "summary": "Gets the source controls available for Azure websites.", + "description": "Description for Gets the source controls available for Azure websites.", + "operationId": "ListSourceControls", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Web/sourcecontrols/{sourceControlType}": { + "get": { + "summary": "Gets source control token", + "description": "Description for Gets source control token", + "operationId": "GetSourceControl", + "parameters": [ + { + "name": "sourceControlType", + "in": "path", + "description": "Type of source control", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "summary": "Updates source control token", + "description": "Description for Updates source control token", + "operationId": "UpdateSourceControl", + "parameters": [ + { + "name": "sourceControlType", + "in": "path", + "description": "Type of source control", + "required": true, + "type": "string" + }, + { + "name": "requestMessage", + "in": "body", + "description": "Source control token information", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters": { + "get": { + "summary": "Gets a list of meters for a given location.", + "description": "Description for Gets a list of meters for a given location.", + "operationId": "ListBillingMeters", + "parameters": [ + { + "name": "billingLocation", + "in": "query", + "description": "Azure Location of billable resource", + "type": "string" + }, + { + "name": "osType", + "in": "query", + "description": "App Service OS type meters used for", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BillingMeterCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability": { + "post": { + "summary": "Check if a resource name is available.", + "description": "Description for Check if a resource name is available.", + "operationId": "CheckNameAvailability", + "parameters": [ + { + "name": "request", + "in": "body", + "description": "Name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceNameAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceNameAvailability" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations": { + "get": { + "summary": "Gets list of available geo regions plus ministamps", + "description": "Description for Gets list of available geo regions plus ministamps", + "operationId": "GetSubscriptionDeploymentLocations", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeploymentLocations" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions": { + "get": { + "summary": "Get a list of available geographical regions.", + "description": "Description for Get a list of available geographical regions.", + "operationId": "ListGeoRegions", + "parameters": [ + { + "name": "sku", + "in": "query", + "description": "Name of SKU used to filter the regions.", + "type": "string", + "enum": [ + "Free", + "Shared", + "Basic", + "Standard", + "Premium", + "Dynamic", + "Isolated", + "PremiumV2", + "ElasticPremium", + "ElasticIsolated" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + { + "name": "linuxWorkersEnabled", + "in": "query", + "description": "Specify true if you want to filter to only regions that support Linux workers.", + "type": "boolean" + }, + { + "name": "xenonWorkersEnabled", + "in": "query", + "description": "Specify true if you want to filter to only regions that support Xenon workers.", + "type": "boolean" + }, + { + "name": "linuxDynamicWorkersEnabled", + "in": "query", + "description": "Specify true if you want to filter to only regions that support Linux Consumption Workers.", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GeoRegionCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName": { + "post": { + "summary": "List all apps that are assigned to a hostname.", + "description": "Description for List all apps that are assigned to a hostname.", + "operationId": "ListSiteIdentifiersAssignedToHostName", + "parameters": [ + { + "name": "nameIdentifier", + "in": "body", + "description": "Hostname information.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/NameIdentifier" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/IdentifierCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers": { + "get": { + "summary": "List all premier add-on offers.", + "description": "Description for List all premier add-on offers.", + "operationId": "ListPremierAddOnOffers", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOnOfferCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus": { + "get": { + "summary": "List all SKUs.", + "description": "Description for List all SKUs.", + "operationId": "ListSkus", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SkuInfos" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet": { + "post": { + "summary": "Verifies if this VNET is compatible with an App Service Environment by analyzing the Network Security Group rules.", + "description": "Description for Verifies if this VNET is compatible with an App Service Environment by analyzing the Network Security Group rules.", + "operationId": "VerifyHostingEnvironmentVnet", + "parameters": [ + { + "name": "parameters", + "in": "body", + "description": "VNET information", + "required": true, + "schema": { + "$ref": "#/definitions/VnetParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VnetValidationFailureDetails" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "VerifyHostingEnvironmentVnet": { + "$ref": "./examples/VerifyHostingEnvironmentVnet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources": { + "post": { + "summary": "Move resources between resource groups.", + "description": "Description for Move resources between resource groups.", + "operationId": "Move", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "moveResourceEnvelope", + "in": "body", + "description": "Object that represents the resource to move.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmMoveResourceEnvelope" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate": { + "post": { + "summary": "Validate if a resource can be created.", + "description": "Description for Validate if a resource can be created.", + "operationId": "Validate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "validateRequest", + "in": "body", + "description": "Request with the resources to validate.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateResponse" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources": { + "post": { + "summary": "Validate whether a resource can be moved.", + "description": "Description for Validate whether a resource can be moved.", + "operationId": "ValidateMove", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "moveResourceEnvelope", + "in": "body", + "description": "Object that represents the resource to move.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmMoveResourceEnvelope" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + } + }, + "definitions": { + "BillingMeter": { + "description": "App Service billing entity that contains information about meter which the Azure billing system utilizes to charge users for services.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "BillingMeter resource specific properties", + "properties": { + "meterId": { + "description": "Meter GUID onboarded in Commerce", + "type": "string" + }, + "billingLocation": { + "description": "Azure Location of billable resource", + "type": "string" + }, + "shortName": { + "description": "Short Name from App Service Azure pricing Page", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the meter", + "type": "string" + }, + "resourceType": { + "description": "App Service ResourceType meter used for", + "type": "string" + }, + "osType": { + "description": "App Service OS type meter used for", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "BillingMeterCollection": { + "description": "Collection of Billing Meters", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingMeter" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "CsmMoveResourceEnvelope": { + "description": "Object with a list of the resources that need to be moved and the resource group they should be moved to.", + "type": "object", + "properties": { + "targetResourceGroup": { + "maxLength": 90, + "minLength": 1, + "pattern": " ^[-\\w\\._\\(\\)]+[^\\.]$", + "type": "string" + }, + "resources": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DeploymentLocations": { + "description": "List of available locations (regions or App Service Environments) for\ndeployment of App Service resources.", + "type": "object", + "properties": { + "locations": { + "description": "Available regions.", + "type": "array", + "items": { + "$ref": "#/definitions/GeoRegion" + } + }, + "hostingEnvironments": { + "description": "Available App Service Environments with full descriptions of the environments.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/AppServiceEnvironment" + } + }, + "hostingEnvironmentDeploymentInfos": { + "description": "Available App Service Environments with basic information.", + "type": "array", + "items": { + "$ref": "#/definitions/HostingEnvironmentDeploymentInfo" + } + } + } + }, + "GeoRegion": { + "description": "Geographical region.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "GeoRegion resource specific properties", + "properties": { + "description": { + "description": "Region description.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Display name for region.", + "type": "string", + "readOnly": true + }, + "orgDomain": { + "description": "Display name for region.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "GeoRegionCollection": { + "description": "Collection of geographical regions.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/GeoRegion" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "GlobalCsmSkuDescription": { + "description": "A Global SKU Description.", + "type": "object", + "properties": { + "name": { + "description": "Name of the resource SKU.", + "type": "string" + }, + "tier": { + "description": "Service Tier of the resource SKU.", + "type": "string" + }, + "size": { + "description": "Size specifier of the resource SKU.", + "type": "string" + }, + "family": { + "description": "Family code of the resource SKU.", + "type": "string" + }, + "capacity": { + "$ref": "./CommonDefinitions.json#/definitions/SkuCapacity", + "description": "Min, max, and default scale values of the SKU." + }, + "locations": { + "description": "Locations of the SKU.", + "type": "array", + "items": { + "type": "string" + } + }, + "capabilities": { + "description": "Capabilities of the SKU, e.g., is traffic manager enabled?", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Capability" + } + } + } + }, + "HostingEnvironmentDeploymentInfo": { + "description": "Information needed to create resources on an App Service Environment.", + "type": "object", + "properties": { + "name": { + "description": "Name of the App Service Environment.", + "type": "string" + }, + "location": { + "description": "Location of the App Service Environment.", + "type": "string" + } + } + }, + "PremierAddOnOffer": { + "description": "Premier add-on offer.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "PremierAddOnOffer resource specific properties", + "properties": { + "sku": { + "description": "Premier add on SKU.", + "type": "string" + }, + "product": { + "description": "Premier add on offer Product.", + "type": "string" + }, + "vendor": { + "description": "Premier add on offer Vendor.", + "type": "string" + }, + "promoCodeRequired": { + "description": "true if promotion code is required; otherwise, false.", + "type": "boolean" + }, + "quota": { + "format": "int32", + "description": "Premier add on offer Quota.", + "type": "integer" + }, + "webHostingPlanRestrictions": { + "description": "App Service plans this offer is restricted to.", + "enum": [ + "None", + "Free", + "Shared", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "AppServicePlanRestrictions", + "modelAsString": false + } + }, + "privacyPolicyUrl": { + "description": "Privacy policy URL.", + "type": "string" + }, + "legalTermsUrl": { + "description": "Legal terms URL.", + "type": "string" + }, + "marketplacePublisher": { + "description": "Marketplace publisher.", + "type": "string" + }, + "marketplaceOffer": { + "description": "Marketplace offer.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "PremierAddOnOfferCollection": { + "description": "Collection of premier add-on offers.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PremierAddOnOffer" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceNameAvailability": { + "description": "Information regarding availability of a resource name.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "true indicates name is valid and available. false indicates the name is invalid, unavailable, or both.", + "type": "boolean" + }, + "reason": { + "description": "Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "InAvailabilityReasonType", + "modelAsString": true + } + }, + "message": { + "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name.", + "type": "string" + } + } + }, + "ResourceNameAvailabilityRequest": { + "description": "Resource name availability request content.", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "Site", + "Slot", + "HostingEnvironment", + "PublishingUser", + "Microsoft.Web/sites", + "Microsoft.Web/sites/slots", + "Microsoft.Web/hostingEnvironments", + "Microsoft.Web/publishingUsers" + ], + "type": "string", + "x-ms-enum": { + "name": "CheckNameResourceTypes", + "modelAsString": true + } + }, + "isFqdn": { + "description": "Is fully qualified domain name.", + "type": "boolean" + } + } + }, + "SkuInfos": { + "description": "Collection of SKU information.", + "type": "object", + "properties": { + "resourceType": { + "description": "Resource type that this SKU applies to.", + "type": "string" + }, + "skus": { + "description": "List of SKUs the subscription is able to use.", + "type": "array", + "items": { + "$ref": "#/definitions/GlobalCsmSkuDescription" + } + } + } + }, + "SourceControl": { + "description": "The source control OAuth token.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SourceControl resource specific properties", + "properties": { + "token": { + "description": "OAuth access token.", + "type": "string" + }, + "tokenSecret": { + "description": "OAuth access token secret.", + "type": "string" + }, + "refreshToken": { + "description": "OAuth refresh token.", + "type": "string" + }, + "expirationTime": { + "format": "date-time", + "description": "OAuth token expiration.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SourceControlCollection": { + "description": "Collection of source controls.", + "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 + } + } + }, + "ValidateProperties": { + "description": "App properties used for validation.", + "type": "object", + "properties": { + "serverFarmId": { + "description": "ARM resource ID of an App Service plan that would host the app.", + "type": "string" + }, + "skuName": { + "description": "Name of the target SKU for the App Service plan.", + "type": "string" + }, + "needLinuxWorkers": { + "description": "true if App Service plan is for Linux workers; otherwise, false.", + "type": "boolean" + }, + "isSpot": { + "description": "true if App Service plan is for Spot instances; otherwise, false.", + "type": "boolean" + }, + "capacity": { + "format": "int32", + "description": "Target capacity of the App Service plan (number of VMs).", + "minimum": 1, + "type": "integer" + }, + "hostingEnvironment": { + "description": "Name of App Service Environment where app or App Service plan should be created.", + "type": "string" + }, + "isXenon": { + "description": "true if App Service plan is running as a windows container", + "type": "boolean" + }, + "containerRegistryBaseUrl": { + "description": "Base URL of the container registry", + "type": "string" + }, + "containerRegistryUsername": { + "description": "Username for to access the container registry", + "type": "string" + }, + "containerRegistryPassword": { + "description": "Password for to access the container registry", + "type": "string" + }, + "containerImageRepository": { + "description": "Repository name (image name)", + "type": "string" + }, + "containerImageTag": { + "description": "Image tag", + "type": "string" + }, + "containerImagePlatform": { + "description": "Platform (windows or linux)", + "type": "string" + } + } + }, + "ValidateRequest": { + "description": "Resource validation request content.", + "required": [ + "name", + "type", + "location", + "properties" + ], + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify.", + "type": "string" + }, + "type": { + "description": "Resource type used for verification.", + "enum": [ + "ServerFarm", + "Site" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidateResourceTypes", + "modelAsString": true + } + }, + "location": { + "description": "Expected location of the resource.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ValidateProperties", + "description": "Properties of the resource to validate.", + "x-ms-client-flatten": true + } + } + }, + "ValidateResponse": { + "description": "Describes the result of resource validation.", + "type": "object", + "properties": { + "status": { + "description": "Result of validation.", + "type": "string" + }, + "error": { + "$ref": "#/definitions/ValidateResponseError", + "description": "Error details for the case when validation fails." + } + } + }, + "ValidateResponseError": { + "description": "Error details for when validation fails.", + "type": "object", + "properties": { + "code": { + "description": "Validation error code.", + "type": "string" + }, + "message": { + "description": "Validation error message.", + "type": "string" + } + } + }, + "VnetParameters": { + "description": "The required set of inputs to validate a VNET", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "VnetParameters resource specific properties", + "properties": { + "vnetResourceGroup": { + "description": "The Resource Group of the VNET to be validated", + "type": "string" + }, + "vnetName": { + "description": "The name of the VNET to be validated", + "type": "string" + }, + "vnetSubnetName": { + "description": "The subnet name to be validated", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "VnetValidationFailureDetails": { + "description": "A class that describes the reason for a validation failure.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "VnetValidationFailureDetails resource specific properties", + "properties": { + "failed": { + "description": "A flag describing whether or not validation failed.", + "type": "boolean" + }, + "failedTests": { + "description": "A list of tests that failed in the validation.", + "type": "array", + "items": { + "$ref": "#/definitions/VnetValidationTestFailure" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "VnetValidationTestFailure": { + "description": "A class that describes a test that failed during NSG and UDR validation.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "VnetValidationTestFailure resource specific properties", + "properties": { + "testName": { + "description": "The name of the test that failed.", + "type": "string" + }, + "details": { + "description": "The details of what caused the failure, e.g. the blocking rule name, etc.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/StaticSites.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/StaticSites.json new file mode 100644 index 000000000000..bc6c3376169e --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/StaticSites.json @@ -0,0 +1,1916 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "StaticSites API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/staticSites": { + "get": { + "tags": [ + "StaticSites" + ], + "summary": "Get all Static Sites for a subscription.", + "description": "Description for Get all Static Sites for a subscription.", + "operationId": "StaticSites_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StaticSiteCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get all static sites in a subscription": { + "$ref": "./examples/GetAllStaticSites.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites": { + "get": { + "tags": [ + "StaticSites" + ], + "summary": "Gets all static sites in the specified resource group.", + "description": "Description for Gets all static sites in the specified resource group.", + "operationId": "StaticSites_GetStaticSitesByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get static sites for a resource group": { + "$ref": "./examples/GetStaticSites.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}": { + "get": { + "tags": [ + "StaticSites" + ], + "summary": "Gets the details of a static site.", + "description": "Description for Gets the details of a static site.", + "operationId": "StaticSites_GetStaticSite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteARMResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get details for a static site": { + "$ref": "./examples/GetStaticSite.json" + } + } + }, + "put": { + "tags": [ + "StaticSites" + ], + "summary": "Creates a new static site in an existing resource group, or updates an existing static site.", + "description": "Description for Creates a new static site in an existing resource group, or updates an existing static site.", + "operationId": "StaticSites_CreateOrUpdateStaticSite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site to create or update.", + "required": true, + "type": "string" + }, + { + "name": "staticSiteEnvelope", + "in": "body", + "description": "A JSON representation of the staticsite properties. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/StaticSiteARMResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteARMResource" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "#/definitions/StaticSiteARMResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a static site": { + "$ref": "./examples/CreateOrUpdateStaticSite.json" + } + } + }, + "delete": { + "tags": [ + "StaticSites" + ], + "summary": "Deletes a static site.", + "description": "Description for Deletes a static site.", + "operationId": "StaticSites_DeleteStaticSite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site to delete.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Asynchronous operation in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a static site": { + "$ref": "./examples/DeleteStaticSite.json" + } + } + }, + "patch": { + "tags": [ + "StaticSites" + ], + "summary": "Creates a new static site in an existing resource group, or updates an existing static site.", + "description": "Description for Creates a new static site in an existing resource group, or updates an existing static site.", + "operationId": "StaticSites_UpdateStaticSite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site to create or update.", + "required": true, + "type": "string" + }, + { + "name": "staticSiteEnvelope", + "in": "body", + "description": "A JSON representation of the staticsite properties. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/StaticSitePatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteARMResource" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "#/definitions/StaticSiteARMResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch a static site": { + "$ref": "./examples/PatchStaticSite.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/listUsers": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Gets the list of users of a static site.", + "description": "Description for Gets the list of users of a static site.", + "operationId": "StaticSites_ListStaticSiteUsers", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "authprovider", + "in": "path", + "description": "The auth provider for the users.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteUserCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List users for a static site": { + "$ref": "./examples/ListStaticSiteUsers.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/authproviders/{authprovider}/users/{userid}": { + "delete": { + "tags": [ + "StaticSites" + ], + "summary": "Deletes the user entry from the static site.", + "description": "Description for Deletes the user entry from the static site.", + "operationId": "StaticSites_DeleteStaticSiteUser", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the staticsite.", + "required": true, + "type": "string" + }, + { + "name": "authprovider", + "in": "path", + "description": "The auth provider for this user.", + "required": true, + "type": "string" + }, + { + "name": "userid", + "in": "path", + "description": "The user id of the user.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a user for a static site": { + "$ref": "./examples/DeleteStaticSiteUser.json" + } + } + }, + "patch": { + "tags": [ + "StaticSites" + ], + "summary": "Updates a user entry with the listed roles", + "description": "Description for Updates a user entry with the listed roles", + "operationId": "StaticSites_UpdateStaticSiteUser", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "authprovider", + "in": "path", + "description": "The auth provider for this user.", + "required": true, + "type": "string" + }, + { + "name": "userid", + "in": "path", + "description": "The user id of the user.", + "required": true, + "type": "string" + }, + { + "name": "staticSiteUserEnvelope", + "in": "body", + "description": "A JSON representation of the StaticSiteUser properties. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/StaticSiteUserARMResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteUserARMResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a user for a static site": { + "$ref": "./examples/UpdateStaticSiteUser.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds": { + "get": { + "tags": [ + "StaticSites" + ], + "summary": "Gets all static site builds for a particular static site.", + "description": "Description for Gets all static site builds for a particular static site.", + "operationId": "StaticSites_GetStaticSiteBuilds", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteBuildCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get all builds for a static site": { + "$ref": "./examples/GetStaticSiteBuilds.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}": { + "get": { + "tags": [ + "StaticSites" + ], + "summary": "Gets the details of a static site build.", + "description": "Description for Gets the details of a static site build.", + "operationId": "StaticSites_GetStaticSiteBuild", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "prId", + "in": "path", + "description": "The stage site identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteBuildARMResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a static site build": { + "$ref": "./examples/GetStaticSiteBuild.json" + } + } + }, + "delete": { + "tags": [ + "StaticSites" + ], + "summary": "Deletes a static site build.", + "description": "Description for Deletes a static site build.", + "operationId": "StaticSites_DeleteStaticSiteBuild", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "prId", + "in": "path", + "description": "The stage site identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Asynchronous operation in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a static site build": { + "$ref": "./examples/DeleteStaticSiteBuild.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}/config/functionappsettings": { + "put": { + "tags": [ + "StaticSites" + ], + "summary": "Creates or updates the function app settings of a static site build.", + "description": "Description for Creates or updates the function app settings of a static site build.", + "operationId": "StaticSites_CreateOrUpdateStaticSiteBuildFunctionAppSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "prId", + "in": "path", + "description": "The stage site identifier.", + "required": true, + "type": "string" + }, + { + "name": "appSettings", + "in": "body", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates or updates the function app settings of a static site build.": { + "$ref": "./examples/CreateOrUpdateStaticSiteBuildFunctionAppSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}/functions": { + "get": { + "tags": [ + "StaticSites" + ], + "summary": "Gets the functions of a particular static site build.", + "description": "Description for Gets the functions of a particular static site build.", + "operationId": "StaticSites_ListStaticSiteBuildFunctions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "prId", + "in": "path", + "description": "The stage site identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteFunctionOverviewCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets the functions of a particular static site build": { + "$ref": "./examples/ListStaticSiteBuildFunctions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{prId}/listFunctionAppSettings": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Gets the application settings of a static site.", + "description": "Description for Gets the application settings of a static site.", + "operationId": "StaticSites_ListStaticSiteBuildFunctionAppSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "prId", + "in": "path", + "description": "The stage site identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get function app settings of a static site build": { + "$ref": "./examples/ListStaticSiteBuildFunctionAppSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/config/functionappsettings": { + "put": { + "tags": [ + "StaticSites" + ], + "summary": "Creates or updates the function app settings of a static site.", + "description": "Description for Creates or updates the function app settings of a static site.", + "operationId": "StaticSites_CreateOrUpdateStaticSiteFunctionAppSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "appSettings", + "in": "body", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates or updates the function app settings of a static site.": { + "$ref": "./examples/CreateOrUpdateStaticSiteFunctionAppSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/createUserInvitation": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Creates an invitation link for a user with the role", + "description": "Description for Creates an invitation link for a user with the role", + "operationId": "StaticSites_CreateUserRolesInvitationLink", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "staticSiteUserRolesInvitationEnvelope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StaticSiteUserInvitationRequestResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteUserInvitationResponseResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create an invitation link for a user for a static site": { + "$ref": "./examples/CreateUserRolesInvitationLink.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains": { + "get": { + "tags": [ + "StaticSites" + ], + "summary": "Gets all static site custom domains for a particular static site.", + "description": "Description for Gets all static site custom domains for a particular static site.", + "operationId": "StaticSites_ListStaticSiteCustomDomains", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site resource to search in.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StaticSiteCustomDomainOverviewCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List custom domains for a static site": { + "$ref": "./examples/GetStaticSiteCustomDomains.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}": { + "put": { + "tags": [ + "StaticSites" + ], + "summary": "Creates a new static site custom domain in an existing resource group and static site.", + "description": "Description for Creates a new static site custom domain in an existing resource group and static site.", + "operationId": "StaticSites_CreateOrUpdateStaticSiteCustomDomain", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "The custom domain to create.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteCustomDomainOverviewARMResource" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "#/definitions/StaticSiteCustomDomainOverviewARMResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a custom domain for a static site": { + "$ref": "./examples/CreateOrUpdateStaticSiteCustomDomain.json" + } + } + }, + "delete": { + "tags": [ + "StaticSites" + ], + "summary": "Deletes a custom domain.", + "description": "Description for Deletes a custom domain.", + "operationId": "StaticSites_DeleteStaticSiteCustomDomain", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "The custom domain to delete.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Asynchronous operation in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a custom domain for a static site": { + "$ref": "./examples/DeleteStaticSiteCustomDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}/validate": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Validates a particular custom domain can be added to a static site.", + "description": "Description for Validates a particular custom domain can be added to a static site.", + "operationId": "StaticSites_ValidateCustomDomainCanBeAddedToStaticSite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "The custom domain to validate.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Asynchronous operation in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Validate a custom domain for a static site": { + "$ref": "./examples/ValidateStaticSiteCustomDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/detach": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Detaches a static site.", + "description": "Description for Detaches a static site.", + "operationId": "StaticSites_DetachStaticSite", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site to detach.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Asynchronous operation in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Detach a static site": { + "$ref": "./examples/DetachStaticSite.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/functions": { + "get": { + "tags": [ + "StaticSites" + ], + "summary": "Gets the functions of a static site.", + "description": "Description for Gets the functions of a static site.", + "operationId": "StaticSites_ListStaticSiteFunctions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/StaticSiteFunctionOverviewCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets the functions of a static site": { + "$ref": "./examples/ListStaticSiteFunctions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listFunctionAppSettings": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Gets the application settings of a static site.", + "description": "Description for Gets the application settings of a static site.", + "operationId": "StaticSites_ListStaticSiteFunctionAppSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get function app settings of a static site": { + "$ref": "./examples/ListStaticSiteFunctionAppSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/listSecrets": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Lists the secrets for an existing static site.", + "description": "Description for Lists the secrets for an existing static site.", + "operationId": "StaticSites_ListStaticSiteSecrets", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List secrets for a static site": { + "$ref": "./examples/ListStaticSiteSecrets.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/resetapikey": { + "post": { + "tags": [ + "StaticSites" + ], + "summary": "Resets the api key for an existing static site.", + "description": "Description for Resets the api key for an existing static site.", + "operationId": "StaticSites_ResetStaticSiteApiKey", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the static site.", + "required": true, + "type": "string" + }, + { + "name": "resetPropertiesEnvelope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StaticSiteResetPropertiesARMResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Reset the api key for a static site": { + "$ref": "./examples/ResetStaticSiteApiKey.json" + } + } + } + } + }, + "definitions": { + "StaticSite": { + "description": "A static site.", + "type": "object", + "properties": { + "defaultHostname": { + "description": "The default autogenerated hostname for the static site.", + "type": "string", + "readOnly": true + }, + "repositoryUrl": { + "description": "URL for the repository of the static site.", + "type": "string" + }, + "branch": { + "description": "The target branch in the repository.", + "type": "string" + }, + "customDomains": { + "description": "The custom domains associated with this static site.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "repositoryToken": { + "description": "A user's github repository token. This is used to setup the Github Actions workflow file and API secrets.", + "type": "string" + }, + "buildProperties": { + "$ref": "#/definitions/StaticSiteBuildProperties", + "description": "Build properties to configure on the repository." + } + } + }, + "StaticSiteARMResource": { + "description": "Static Site ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StaticSite", + "description": "Core resource properties", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "./CommonDefinitions.json#/definitions/SkuDescription" + } + } + }, + "StaticSiteBuildARMResource": { + "description": "Static Site Build ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSiteBuildARMResource resource specific properties", + "properties": { + "buildId": { + "description": "An identifier for the static site build.", + "type": "string", + "readOnly": true + }, + "sourceBranch": { + "description": "The source branch.", + "type": "string", + "readOnly": true + }, + "pullRequestTitle": { + "description": "The title of a pull request that a static site build is related to.", + "type": "string", + "readOnly": true + }, + "hostname": { + "description": "The hostname for a static site build.", + "type": "string", + "readOnly": true + }, + "createdTimeUtc": { + "format": "date-time", + "description": "When this build was created.", + "type": "string", + "readOnly": true + }, + "lastUpdatedOn": { + "format": "date-time", + "description": "When this build was updated.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the static site build.", + "enum": [ + "WaitingForDeployment", + "Uploading", + "Deploying", + "Ready", + "Failed", + "Deleting", + "Detached" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BuildStatus", + "modelAsString": true + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "StaticSiteBuildCollection": { + "description": "Collection of static site builds.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/StaticSiteBuildARMResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "StaticSiteBuildProperties": { + "description": "Build properties for the static site.", + "type": "object", + "properties": { + "appLocation": { + "description": "The path to the app code within the repository.", + "type": "string" + }, + "apiLocation": { + "description": "The path to the api code within the repository.", + "type": "string" + }, + "appArtifactLocation": { + "description": "The path of the app artifacts after building.", + "type": "string" + } + } + }, + "StaticSiteCollection": { + "description": "Collection of static sites.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/StaticSiteARMResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "StaticSiteCustomDomainOverviewARMResource": { + "description": "Static Site Custom Domain Overview ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSiteCustomDomainOverviewARMResource resource specific properties", + "properties": { + "domainName": { + "description": "The domain name for the static site custom domain.", + "type": "string", + "readOnly": true + }, + "createdOn": { + "format": "date-time", + "description": "The date and time on which the custom domain was created for the static site.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "StaticSiteCustomDomainOverviewCollection": { + "description": "Collection of static site custom domains.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/StaticSiteCustomDomainOverviewARMResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "StaticSiteFunctionOverviewARMResource": { + "description": "Static Site Function Overview ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSiteFunctionOverviewARMResource resource specific properties", + "properties": { + "functionName": { + "description": "The name for the function", + "type": "string", + "readOnly": true + }, + "triggerType": { + "description": "The trigger type of the function", + "enum": [ + "HttpTrigger", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TriggerTypes", + "modelAsString": true + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "StaticSiteFunctionOverviewCollection": { + "description": "Collection of static site functions.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/StaticSiteFunctionOverviewARMResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "StaticSitePatchResource": { + "description": "ARM resource for a static site when patching", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StaticSite", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "StaticSiteResetPropertiesARMResource": { + "description": "Static Site Reset Properties ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSiteResetPropertiesARMResource resource specific properties", + "properties": { + "repositoryToken": { + "description": "The token which proves admin privileges to the repository.", + "type": "string" + }, + "shouldUpdateRepository": { + "description": "Determines whether the repository should be updated with the new properties.", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "StaticSiteUserARMResource": { + "description": "Static Site User ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSiteUserARMResource resource specific properties", + "properties": { + "provider": { + "description": "The identity provider for the static site user.", + "type": "string", + "readOnly": true + }, + "userId": { + "description": "The user id for the static site user.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The display name for the static site user.", + "type": "string", + "readOnly": true + }, + "roles": { + "description": "The roles for the static site user, in free-form string format", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "StaticSiteUserCollection": { + "description": "Collection of static site custom users.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/StaticSiteUserARMResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "StaticSiteUserInvitationRequestResource": { + "description": "Static sites user roles invitation resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSiteUserInvitationRequestResource resource specific properties", + "properties": { + "domain": { + "description": "The domain name for the static site custom domain.", + "type": "string" + }, + "provider": { + "description": "The identity provider for the static site user.", + "type": "string" + }, + "userDetails": { + "description": "The user id for the static site user.", + "type": "string" + }, + "roles": { + "description": "The roles for the static site user, in free-form string format", + "type": "string" + }, + "numHoursToExpiration": { + "format": "int32", + "description": "The number of hours the sas token stays valid", + "type": "integer" + } + }, + "x-ms-client-flatten": true + } + } + }, + "StaticSiteUserInvitationResponseResource": { + "description": "Static sites user roles invitation link resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StaticSiteUserInvitationResponseResource resource specific properties", + "properties": { + "expiresOn": { + "format": "date-time", + "description": "The expiration time of the invitation", + "type": "string", + "readOnly": true + }, + "invitationUrl": { + "description": "The url for the invitation link", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/WebApps.json new file mode 100644 index 000000000000..632583fd9323 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/WebApps.json @@ -0,0 +1,25245 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-06-01", + "title": "WebApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get all apps for a subscription.", + "description": "Description for Get all apps for a subscription.", + "operationId": "WebApps_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets all web, mobile, and API apps in the specified resource group.", + "description": "Description for Gets all web, mobile, and API apps in the specified resource group.", + "operationId": "WebApps_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "includeSlots", + "in": "query", + "description": "Specify true to include deployment slots in results. The default is false, which only gives you the production slot of all apps.", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the details of a web, mobile, or API app.", + "description": "Description for Gets the details of a web, mobile, or API app.", + "operationId": "WebApps_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "404": { + "description": "Not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.", + "description": "Description for Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.", + "operationId": "WebApps_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Unique name of the app to create or update. To create or update a deployment slot, use the {slot} parameter.", + "required": true, + "type": "string" + }, + { + "name": "siteEnvelope", + "in": "body", + "description": "A JSON representation of the app properties. See example.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a web, mobile, or API app, or one of the deployment slots.", + "description": "Description for Deletes a web, mobile, or API app, or one of the deployment slots.", + "operationId": "WebApps_Delete", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app to delete.", + "required": true, + "type": "string" + }, + { + "name": "deleteMetrics", + "in": "query", + "description": "If true, web app metrics are also deleted.", + "type": "boolean" + }, + { + "name": "deleteEmptyServerFarm", + "in": "query", + "description": "Specify false if you want to keep empty App Service plan. By default, empty App Service plan is deleted.", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted web app." + }, + "204": { + "description": "Successfully deleted web app." + }, + "404": { + "description": "Web app not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.", + "description": "Description for Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.", + "operationId": "WebApps_Update", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Unique name of the app to create or update. To create or update a deployment slot, use the {slot} parameter.", + "required": true, + "type": "string" + }, + { + "name": "siteEnvelope", + "in": "body", + "description": "A JSON representation of the app properties. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SitePatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Analyze a custom hostname.", + "description": "Description for Analyze a custom hostname.", + "operationId": "WebApps_AnalyzeCustomHostname", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "query", + "description": "Custom hostname.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomHostnameAnalysisResult" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Applies the configuration settings from the target slot onto the current slot.", + "description": "Description for Applies the configuration settings from the target slot onto the current slot.", + "operationId": "WebApps_ApplySlotConfigToProduction", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slotSwapEntity", + "in": "body", + "description": "JSON object that contains the target slot name. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmSlotEntity" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Creates a backup of an app.", + "description": "Description for Creates a backup of an app.", + "operationId": "WebApps_Backup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Backup configuration. You can use the JSON response from the POST action as input here.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItem" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets existing backups of an app.", + "description": "Description for Gets existing backups of an app.", + "operationId": "WebApps_ListBackups", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItemCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a backup of an app by its ID.", + "description": "Description for Gets a backup of an app by its ID.", + "operationId": "WebApps_GetBackupStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "backupId", + "in": "path", + "description": "ID of the backup.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItem" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a backup of an app by its ID.", + "description": "Description for Deletes a backup of an app by its ID.", + "operationId": "WebApps_DeleteBackup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "backupId", + "in": "path", + "description": "ID of the backup.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted web app backup item." + }, + "404": { + "description": "Web app backup item does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets status of a web app backup that may be in progress, including secrets associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for the backup if a new URL is passed in the request body.", + "description": "Description for Gets status of a web app backup that may be in progress, including secrets associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for the backup if a new URL is passed in the request body.", + "operationId": "WebApps_ListBackupStatusSecrets", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "backupId", + "in": "path", + "description": "ID of backup.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Information on backup request.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItem" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restores a specific backup to another app (or deployment slot, if specified).", + "description": "Description for Restores a specific backup to another app (or deployment slot, if specified).", + "operationId": "WebApps_Restore", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "backupId", + "in": "path", + "description": "ID of the backup.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Information on restore request .", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Restore operation started." + }, + "200": { + "description": "Restore operation started." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given site.", + "description": "Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given site.", + "operationId": "WebApps_GetBasicPublishingCredentialsPolicies", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Publishing Credentials Policies": { + "$ref": "./examples/ListPublishingCredentialsPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/ftp": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns whether FTP is allowed on the site or not.", + "description": "Description for Returns whether FTP is allowed on the site or not.", + "operationId": "WebApps_GetFtpAllowed", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get FTP Allowed": { + "$ref": "./examples/GetPublishingCredentialsPolicy.json" + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates whether FTP is allowed on the site or not.", + "description": "Description for Updates whether FTP is allowed on the site or not.", + "operationId": "WebApps_UpdateFtpAllowed", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "csmPublishingAccessPoliciesEntity", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Update FTP Allowed": { + "$ref": "./examples/UpdatePublishingCredentialsPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/basicPublishingCredentialsPolicies/scm": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns whether Scm basic auth is allowed on the site or not.", + "description": "Description for Returns whether Scm basic auth is allowed on the site or not.", + "operationId": "WebApps_GetScmAllowed", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get SCM Allowed": { + "$ref": "./examples/GetPublishingCredentialsPolicy.json" + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates whether user publishing credentials are allowed on the site or not.", + "description": "Description for Updates whether user publishing credentials are allowed on the site or not.", + "operationId": "WebApps_UpdateScmAllowed", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "csmPublishingAccessPoliciesEntity", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Update SCM Allowed": { + "$ref": "./examples/UpdatePublishingCredentialsPolicy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List the configurations of an app", + "description": "Description for List the configurations of an app", + "operationId": "WebApps_ListConfigurations", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResourceCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Replaces the application settings of an app.", + "description": "Description for Replaces the application settings of an app.", + "operationId": "WebApps_UpdateApplicationSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "appSettings", + "in": "body", + "description": "Application settings of the app.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the application settings of an app.", + "description": "Description for Gets the application settings of an app.", + "operationId": "WebApps_ListApplicationSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the Authentication / Authorization settings associated with web app.", + "description": "Description for Updates the Authentication / Authorization settings associated with web app.", + "operationId": "WebApps_UpdateAuthSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "siteAuthSettings", + "in": "body", + "description": "Auth settings associated with web app.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteAuthSettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettings" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the Authentication/Authorization settings of an app.", + "description": "Description for Gets the Authentication/Authorization settings of an app.", + "operationId": "WebApps_GetAuthSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettings" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates site's Authentication / Authorization settings for apps via the V2 format", + "description": "Description for Updates site's Authentication / Authorization settings for apps via the V2 format", + "operationId": "WebApps_UpdateAuthSettingsV2", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "siteAuthSettingsV2", + "in": "body", + "description": "Auth settings associated with web app.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteAuthSettingsV2" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettingsV2" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2/list": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets site's Authentication / Authorization settings for apps via the V2 format", + "description": "Description for Gets site's Authentication / Authorization settings for apps via the V2 format", + "operationId": "WebApps_GetAuthSettingsV2", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettingsV2" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/azurestorageaccounts": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the Azure storage account configurations of an app.", + "description": "Description for Updates the Azure storage account configurations of an app.", + "operationId": "WebApps_UpdateAzureStorageAccounts", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "azureStorageAccounts", + "in": "body", + "description": "Azure storage accounts of the app.", + "required": true, + "schema": { + "$ref": "#/definitions/AzureStoragePropertyDictionaryResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureStoragePropertyDictionaryResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/azurestorageaccounts/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the Azure storage account configurations of an app.", + "description": "Description for Gets the Azure storage account configurations of an app.", + "operationId": "WebApps_ListAzureStorageAccounts", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureStoragePropertyDictionaryResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the backup configuration of an app.", + "description": "Description for Updates the backup configuration of an app.", + "operationId": "WebApps_UpdateBackupConfiguration", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Edited backup configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes the backup configuration of an app.", + "description": "Description for Deletes the backup configuration of an app.", + "operationId": "WebApps_DeleteBackupConfiguration", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted backup configuration." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the backup configuration of an app.", + "description": "Description for Gets the backup configuration of an app.", + "operationId": "WebApps_GetBackupConfiguration", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Replaces the connection strings of an app.", + "description": "Description for Replaces the connection strings of an app.", + "operationId": "WebApps_UpdateConnectionStrings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionStrings", + "in": "body", + "description": "Connection strings of the app or deployment slot. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionStringDictionary" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectionStringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the connection strings of an app.", + "description": "Description for Gets the connection strings of an app.", + "operationId": "WebApps_ListConnectionStrings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectionStringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the logging configuration of an app.", + "description": "Description for Gets the logging configuration of an app.", + "operationId": "WebApps_GetDiagnosticLogsConfiguration", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteLogsConfig" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the logging configuration of an app.", + "description": "Description for Updates the logging configuration of an app.", + "operationId": "WebApps_UpdateDiagnosticLogsConfig", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteLogsConfig", + "in": "body", + "description": "A SiteLogsConfig JSON object that contains the logging configuration to change in the \"properties\" property.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteLogsConfig" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteLogsConfig" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Replaces the metadata of an app.", + "description": "Description for Replaces the metadata of an app.", + "operationId": "WebApps_UpdateMetadata", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "metadata", + "in": "body", + "description": "Edited metadata of the app or deployment slot. See example.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the metadata of an app.", + "description": "Description for Gets the metadata of an app.", + "operationId": "WebApps_ListMetadata", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the Git/FTP publishing credentials of an app.", + "description": "Description for Gets the Git/FTP publishing credentials of an app.", + "operationId": "WebApps_ListPublishingCredentials", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/User" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the Push settings associated with web app.", + "description": "Description for Updates the Push settings associated with web app.", + "operationId": "WebApps_UpdateSitePushSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "pushSettings", + "in": "body", + "description": "Push settings associated with web app.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PushSettings" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PushSettings" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the Push settings associated with web app.", + "description": "Description for Gets the Push settings associated with web app.", + "operationId": "WebApps_ListSitePushSettings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PushSettings" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the names of app settings and connection strings that stick to the slot (not swapped).", + "description": "Description for Gets the names of app settings and connection strings that stick to the slot (not swapped).", + "operationId": "WebApps_ListSlotConfigurationNames", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SlotConfigNamesResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the names of application settings and connection string that remain with the slot during swap operation.", + "description": "Description for Updates the names of application settings and connection string that remain with the slot during swap operation.", + "operationId": "WebApps_UpdateSlotConfigurationNames", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slotConfigNames", + "in": "body", + "description": "Names of application settings and connection strings. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SlotConfigNamesResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SlotConfigNamesResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.", + "description": "Description for Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.", + "operationId": "WebApps_GetConfiguration", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the configuration of an app.", + "description": "Description for Updates the configuration of an app.", + "operationId": "WebApps_CreateOrUpdateConfiguration", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteConfig", + "in": "body", + "description": "JSON representation of a SiteConfig object. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Updates the configuration of an app.", + "description": "Description for Updates the configuration of an app.", + "operationId": "WebApps_UpdateConfiguration", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteConfig", + "in": "body", + "description": "JSON representation of a SiteConfig object. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a list of web app configuration snapshots identifiers. Each element of the list contains a timestamp and the ID of the snapshot.", + "description": "Description for Gets a list of web app configuration snapshots identifiers. Each element of the list contains a timestamp and the ID of the snapshot.", + "operationId": "WebApps_ListConfigurationSnapshotInfo", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigurationSnapshotInfoCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a snapshot of the configuration of an app at a previous point in time.", + "description": "Description for Gets a snapshot of the configuration of an app at a previous point in time.", + "operationId": "WebApps_GetConfigurationSnapshot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "snapshotId", + "in": "path", + "description": "The ID of the snapshot to read.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Reverts the configuration of an app to a previous snapshot.", + "description": "Description for Reverts the configuration of an app to a previous snapshot.", + "operationId": "WebApps_RecoverSiteConfigurationSnapshot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "snapshotId", + "in": "path", + "description": "The ID of the snapshot to read.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the last lines of docker logs for the given site", + "description": "Description for Gets the last lines of docker logs for the given site", + "operationId": "WebApps_GetWebSiteContainerLogs", + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the ZIP archived docker log files for the given site", + "description": "Description for Gets the ZIP archived docker log files for the given site", + "operationId": "WebApps_GetContainerLogsZip", + "produces": [ + "application/zip" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List continuous web jobs for an app, or a deployment slot.", + "description": "Description for List continuous web jobs for an app, or a deployment slot.", + "operationId": "WebApps_ListContinuousWebJobs", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContinuousWebJobCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a continuous web job by its ID for an app, or a deployment slot.", + "description": "Description for Gets a continuous web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_GetContinuousWebJob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/ContinuousWebJob" + } + }, + "404": { + "description": "Continuous web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a continuous web job by its ID for an app, or a deployment slot.", + "description": "Description for Delete a continuous web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_DeleteContinuousWebJob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted continuous web job." + }, + "204": { + "description": "Continuous web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Start a continuous web job for an app, or a deployment slot.", + "description": "Description for Start a continuous web job for an app, or a deployment slot.", + "operationId": "WebApps_StartContinuousWebJob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job." + }, + "404": { + "description": "Continuous web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Stop a continuous web job for an app, or a deployment slot.", + "description": "Description for Stop a continuous web job for an app, or a deployment slot.", + "operationId": "WebApps_StopContinuousWebJob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job." + }, + "404": { + "description": "Continuous web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List deployments for an app, or a deployment slot.", + "description": "Description for List deployments for an app, or a deployment slot.", + "operationId": "WebApps_ListDeployments", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeploymentCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get a deployment by its ID for an app, or a deployment slot.", + "description": "Description for Get a deployment by its ID for an app, or a deployment slot.", + "operationId": "WebApps_GetDeployment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "Deployment ID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Create a deployment for an app, or a deployment slot.", + "description": "Description for Create a deployment for an app, or a deployment slot.", + "operationId": "WebApps_CreateDeployment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "ID of an existing deployment.", + "required": true, + "type": "string" + }, + { + "name": "deployment", + "in": "body", + "description": "Deployment details.", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a deployment by its ID for an app, or a deployment slot.", + "description": "Description for Delete a deployment by its ID for an app, or a deployment slot.", + "operationId": "WebApps_DeleteDeployment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "Deployment ID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted deployment." + }, + "204": { + "description": "Deployment does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List deployment log for specific deployment for an app, or a deployment slot.", + "description": "Description for List deployment log for specific deployment for an app, or a deployment slot.", + "operationId": "WebApps_ListDeploymentLog", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "The ID of a specific deployment. This is the value of the name property in the JSON response from \"GET /api/sites/{siteName}/deployments\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/discoverbackup": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Discovers an existing app backup that can be restored from a blob in Azure storage. Use this to get information about the databases stored in a backup.", + "description": "Description for Discovers an existing app backup that can be restored from a blob in Azure storage. Use this to get information about the databases stored in a backup.", + "operationId": "WebApps_DiscoverBackup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "A RestoreRequest object that includes Azure storage URL and blog name for discovery of backup.", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RestoreRequest" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Lists ownership identifiers for domain associated with web app.", + "description": "Description for Lists ownership identifiers for domain associated with web app.", + "operationId": "WebApps_ListDomainOwnershipIdentifiers", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/IdentifierCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get domain ownership identifier for web app.", + "description": "Description for Get domain ownership identifier for web app.", + "operationId": "WebApps_GetDomainOwnershipIdentifier", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifierName", + "in": "path", + "description": "Name of domain ownership identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a domain ownership identifier for web app, or updates an existing ownership identifier.", + "description": "Description for Creates a domain ownership identifier for web app, or updates an existing ownership identifier.", + "operationId": "WebApps_CreateOrUpdateDomainOwnershipIdentifier", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifierName", + "in": "path", + "description": "Name of domain ownership identifier.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifier", + "in": "body", + "description": "A JSON representation of the domain ownership properties.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a domain ownership identifier for a web app.", + "description": "Description for Deletes a domain ownership identifier for a web app.", + "operationId": "WebApps_DeleteDomainOwnershipIdentifier", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifierName", + "in": "path", + "description": "Name of domain ownership identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted domain ownership identifier." + }, + "204": { + "description": "Domain ownership identifier does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Creates a domain ownership identifier for web app, or updates an existing ownership identifier.", + "description": "Description for Creates a domain ownership identifier for web app, or updates an existing ownership identifier.", + "operationId": "WebApps_UpdateDomainOwnershipIdentifier", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifierName", + "in": "path", + "description": "Name of domain ownership identifier.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifier", + "in": "body", + "description": "A JSON representation of the domain ownership properties.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the status of the last MSDeploy operation.", + "description": "Description for Get the status of the last MSDeploy operation.", + "operationId": "WebApps_GetMSDeployStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy web app extension.", + "description": "Description for Invoke the MSDeploy web app extension.", + "operationId": "WebApps_CreateMSDeployOperation", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", + "required": true, + "schema": { + "$ref": "#/definitions/MSDeploy" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Deployment is scheduled.", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "409": { + "description": "Another deployment is in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the MSDeploy Log for the last MSDeploy operation.", + "description": "Description for Get the MSDeploy Log for the last MSDeploy operation.", + "operationId": "WebApps_GetMSDeployLog", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "MSDeploy log returned.", + "schema": { + "$ref": "#/definitions/MSDeployLog" + } + }, + "404": { + "description": "MSDeploy log not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List the functions for a web site, or a deployment slot.", + "description": "Description for List the functions for a web site, or a deployment slot.", + "operationId": "WebApps_ListFunctions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Function information returned.", + "schema": { + "$ref": "#/definitions/FunctionEnvelopeCollection" + } + }, + "404": { + "description": "Function with an ID of {functionName} is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Fetch a short lived token that can be exchanged for a master key.", + "description": "Description for Fetch a short lived token that can be exchanged for a master key.", + "operationId": "WebApps_GetFunctionsAdminToken", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get function information by its ID for web site, or a deployment slot.", + "description": "Description for Get function information by its ID for web site, or a deployment slot.", + "operationId": "WebApps_GetFunction", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Function information returned.", + "schema": { + "$ref": "#/definitions/FunctionEnvelope" + } + }, + "404": { + "description": "Function with a name of {functionName} does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Create function for web site, or a deployment slot.", + "description": "Description for Create function for web site, or a deployment slot.", + "operationId": "WebApps_CreateFunction", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "name": "function_envelope", + "in": "body", + "description": "Function details.", + "required": true, + "schema": { + "$ref": "#/definitions/FunctionEnvelope" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Function created.", + "schema": { + "$ref": "#/definitions/FunctionEnvelope" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a function for web site, or a deployment slot.", + "description": "Description for Delete a function for web site, or a deployment slot.", + "operationId": "WebApps_DeleteFunction", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Function deleted." + }, + "404": { + "description": "Function does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/keys/{keyName}": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Add or update a function secret.", + "description": "Description for Add or update a function secret.", + "operationId": "WebApps_CreateOrUpdateFunctionSecret", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "The name of the function.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the key.", + "required": true, + "type": "string" + }, + { + "name": "key", + "in": "body", + "description": "The key to create or update", + "required": true, + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Key was created.", + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "200": { + "description": "Key was updated.", + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a function secret.", + "description": "Description for Delete a function secret.", + "operationId": "WebApps_DeleteFunctionSecret", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "The name of the function.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the key.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "404": { + "description": "Key was not found." + }, + "204": { + "description": "Key was deleted." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listkeys": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Get function keys for a function in a web site, or a deployment slot.", + "description": "Description for Get function keys for a function in a web site, or a deployment slot.", + "operationId": "WebApps_ListFunctionKeys", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Function keys returned.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Get function secrets for a function in a web site, or a deployment slot.", + "description": "Description for Get function secrets for a function in a web site, or a deployment slot.", + "operationId": "WebApps_ListFunctionSecrets", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Function secrets returned.", + "schema": { + "$ref": "#/definitions/FunctionSecrets" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/listkeys": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Get host secrets for a function app.", + "description": "Description for Get host secrets for a function app.", + "operationId": "WebApps_ListHostKeys", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Host secrets returned.", + "schema": { + "$ref": "#/definitions/HostKeys" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/listsyncstatus": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "This is to allow calling via powershell and ARM template.", + "description": "Description for This is to allow calling via powershell and ARM template.", + "operationId": "WebApps_ListSyncStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/sync": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Syncs function trigger metadata to the management database", + "description": "Description for Syncs function trigger metadata to the management database", + "operationId": "WebApps_SyncFunctions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/host/default/{keyType}/{keyName}": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Add or update a host level secret.", + "description": "Description for Add or update a host level secret.", + "operationId": "WebApps_CreateOrUpdateHostSecret", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "keyType", + "in": "path", + "description": "The type of host key.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the key.", + "required": true, + "type": "string" + }, + { + "name": "key", + "in": "body", + "description": "The key to create or update", + "required": true, + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Key was created.", + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "200": { + "description": "Key was updated.", + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a host level secret.", + "description": "Description for Delete a host level secret.", + "operationId": "WebApps_DeleteHostSecret", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "keyType", + "in": "path", + "description": "The type of host key.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the key.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "404": { + "description": "Key was not found." + }, + "204": { + "description": "Key was deleted." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get hostname bindings for an app or a deployment slot.", + "description": "Description for Get hostname bindings for an app or a deployment slot.", + "operationId": "WebApps_ListHostNameBindings", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBindingCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the named hostname binding for an app (or deployment slot, if specified).", + "description": "Description for Get the named hostname binding for an app (or deployment slot, if specified).", + "operationId": "WebApps_GetHostNameBinding", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a hostname binding for an app.", + "description": "Description for Creates a hostname binding for an app.", + "operationId": "WebApps_CreateOrUpdateHostNameBinding", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "name": "hostNameBinding", + "in": "body", + "description": "Binding details. This is the JSON representation of a HostNameBinding object.", + "required": true, + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a hostname binding for an app.", + "description": "Description for Deletes a hostname binding for an app.", + "operationId": "WebApps_DeleteHostNameBinding", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted hostname binding." + }, + "204": { + "description": "Hostname binding does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Retrieves a specific Service Bus Hybrid Connection used by this Web App.", + "description": "Description for Retrieves a specific Service Bus Hybrid Connection used by this Web App.", + "operationId": "WebApps_GetHybridConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new Hybrid Connection using a Service Bus relay.", + "description": "Description for Creates a new Hybrid Connection using a Service Bus relay.", + "operationId": "WebApps_CreateOrUpdateHybridConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "The details of the hybrid connection.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Removes a Hybrid Connection from this site.", + "description": "Description for Removes a Hybrid Connection from this site.", + "operationId": "WebApps_DeleteHybridConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted hybrid connection." + }, + "404": { + "description": "Hybrid connection does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new Hybrid Connection using a Service Bus relay.", + "description": "Description for Creates a new Hybrid Connection using a Service Bus relay.", + "operationId": "WebApps_UpdateHybridConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "The details of the hybrid connection.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Retrieves all Service Bus Hybrid Connections used by this Web App.", + "description": "Description for Retrieves all Service Bus Hybrid Connections used by this Web App.", + "operationId": "WebApps_ListHybridConnections", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets hybrid connections configured for an app (or deployment slot, if specified).", + "description": "Description for Gets hybrid connections configured for an app (or deployment slot, if specified).", + "operationId": "WebApps_ListRelayServiceConnections", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a hybrid connection configuration by its name.", + "description": "Description for Gets a hybrid connection configuration by its name.", + "operationId": "WebApps_GetRelayServiceConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "entityName", + "in": "path", + "description": "Name of the hybrid connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new hybrid connection configuration (PUT), or updates an existing one (PATCH).", + "description": "Description for Creates a new hybrid connection configuration (PUT), or updates an existing one (PATCH).", + "operationId": "WebApps_CreateOrUpdateRelayServiceConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "entityName", + "in": "path", + "description": "Name of the hybrid connection configuration.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Details of the hybrid connection configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a relay service connection by its name.", + "description": "Description for Deletes a relay service connection by its name.", + "operationId": "WebApps_DeleteRelayServiceConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "entityName", + "in": "path", + "description": "Name of the hybrid connection configuration.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted relay service connection." + }, + "404": { + "description": "Relay service connection does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new hybrid connection configuration (PUT), or updates an existing one (PATCH).", + "description": "Description for Creates a new hybrid connection configuration (PUT), or updates an existing one (PATCH).", + "operationId": "WebApps_UpdateRelayServiceConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "entityName", + "in": "path", + "description": "Name of the hybrid connection configuration.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Details of the hybrid connection configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets all scale-out instances of an app.", + "description": "Description for Gets all scale-out instances of an app.", + "operationId": "WebApps_ListInstanceIdentifiers", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WebAppInstanceStatusCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets all scale-out instances of an app.", + "description": "Description for Gets all scale-out instances of an app.", + "operationId": "WebApps_GetInstanceInfo", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WebSiteInstanceStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get site instance info": { + "$ref": "./examples/GetSiteInstanceInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the status of the last MSDeploy operation.", + "description": "Description for Get the status of the last MSDeploy operation.", + "operationId": "WebApps_GetInstanceMsDeployStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of web app instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy web app extension.", + "description": "Description for Invoke the MSDeploy web app extension.", + "operationId": "WebApps_CreateInstanceMSDeployOperation", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of web app instance.", + "required": true, + "type": "string" + }, + { + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", + "required": true, + "schema": { + "$ref": "#/definitions/MSDeploy" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Deployment is scheduled.", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "409": { + "description": "Another deployment is in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the MSDeploy Log for the last MSDeploy operation.", + "description": "Description for Get the MSDeploy Log for the last MSDeploy operation.", + "operationId": "WebApps_GetInstanceMSDeployLog", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of web app instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "MSDeploy log returned.", + "schema": { + "$ref": "#/definitions/MSDeployLog" + } + }, + "404": { + "description": "MSDeploy log not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "description": "Description for Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListInstanceProcesses", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Process terminated.", + "schema": { + "$ref": "#/definitions/ProcessInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get process information by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get process information by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetInstanceProcess", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Process information returned.", + "schema": { + "$ref": "#/definitions/ProcessInfo" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", + "description": "Description for Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", + "operationId": "WebApps_DeleteInstanceProcess", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Process terminated." + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get a memory dump of a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetInstanceProcessDump", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List module information for a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List module information for a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListInstanceProcessModules", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Module information returned.", + "schema": { + "$ref": "#/definitions/ProcessModuleInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get process information by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get process information by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetInstanceProcessModule", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "baseAddress", + "in": "path", + "description": "Module base address.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Module information returned.", + "schema": { + "$ref": "#/definitions/ProcessModuleInfo" + } + }, + "404": { + "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListInstanceProcessThreads", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Thread information returned.", + "schema": { + "$ref": "#/definitions/ProcessThreadInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Shows whether an app can be cloned to another resource group or subscription.", + "description": "Description for Shows whether an app can be cloned to another resource group or subscription.", + "operationId": "WebApps_IsCloneable", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SiteCloneability" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listbackups": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets existing backups of an app.", + "description": "Description for Gets existing backups of an app.", + "operationId": "WebApps_ListSiteBackups", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItemCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List backups": { + "$ref": "./examples/ListSlotBackups.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "This is to allow calling via powershell and ARM template.", + "description": "Description for This is to allow calling via powershell and ARM template.", + "operationId": "WebApps_ListSyncFunctionTriggers", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FunctionSecrets" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Restores a web app.", + "description": "Description for Restores a web app.", + "operationId": "WebApps_MigrateStorage", + "parameters": [ + { + "name": "subscriptionName", + "in": "query", + "description": "Azure subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "migrationOptions", + "in": "body", + "description": "Migration migrationOptions.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageMigrationOptions" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageMigrationResponse" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Migrates a local (in-app) MySql database to a remote MySql database.", + "description": "Description for Migrates a local (in-app) MySql database to a remote MySql database.", + "operationId": "WebApps_MigrateMySql", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "migrationRequestEnvelope", + "in": "body", + "description": "MySql migration options.", + "required": true, + "schema": { + "$ref": "#/definitions/MigrateMySqlRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Operation" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", + "description": "Description for Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", + "operationId": "WebApps_GetMigrateMySqlStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrateMySqlStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a Swift Virtual Network connection.", + "description": "Description for Gets a Swift Virtual Network connection.", + "operationId": "WebApps_GetSwiftVirtualNetworkConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Description for Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_CreateOrUpdateSwiftVirtualNetworkConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", + "description": "Description for Deletes a Swift Virtual Network connection from an app (or deployment slot).", + "operationId": "WebApps_DeleteSwiftVirtualNetwork", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted virtual network." + }, + "404": { + "description": "Virtual network does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Description for Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_UpdateSwiftVirtualNetworkConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets all network features used by the app (or deployment slot, if specified).", + "description": "Description for Gets all network features used by the app (or deployment slot, if specified).", + "operationId": "WebApps_ListNetworkFeatures", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "view", + "in": "path", + "description": "The type of view. This can either be \"summary\" or \"detailed\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/NetworkFeatures" + } + }, + "404": { + "description": "The requested view does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/operationresults/{operationId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "description": "Description for Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "operationId": "WebApps_GetNetworkTraceOperation", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "GUID of the operation.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the current status of a network trace operation for a site": { + "$ref": "./examples/GetWebSiteNetworkTraceOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Start capturing network packets for the site (To be deprecated).", + "description": "Description for Start capturing network packets for the site (To be deprecated).", + "operationId": "WebApps_StartWebSiteNetworkTrace", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "durationInSeconds", + "in": "query", + "description": "The duration to keep capturing in seconds.", + "type": "integer", + "format": "int32" + }, + { + "name": "maxFrameLength", + "in": "query", + "description": "The maximum frame length in bytes (Optional).", + "type": "integer", + "format": "int32" + }, + { + "name": "sasUrl", + "in": "query", + "description": "The Blob URL to store capture file.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/startOperation": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Start capturing network packets for the site.", + "description": "Description for Start capturing network packets for the site.", + "operationId": "WebApps_StartWebSiteNetworkTraceOperation", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "durationInSeconds", + "in": "query", + "description": "The duration to keep capturing in seconds.", + "type": "integer", + "format": "int32" + }, + { + "name": "maxFrameLength", + "in": "query", + "description": "The maximum frame length in bytes (Optional).", + "type": "integer", + "format": "int32" + }, + { + "name": "sasUrl", + "in": "query", + "description": "The Blob URL to store capture file.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Start a new network trace operation for a site": { + "$ref": "./examples/StartWebSiteNetworkTraceOperation.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Stop ongoing capturing network packets for the site.", + "description": "Description for Stop ongoing capturing network packets for the site.", + "operationId": "WebApps_StopWebSiteNetworkTrace", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Stopped." + }, + "204": { + "description": "Stopped." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop a currently running network trace operation for a site": { + "$ref": "./examples/StopWebSiteNetworkTrace.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/{operationId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "description": "Description for Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "operationId": "WebApps_GetNetworkTraces", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "GUID of the operation.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get NetworkTraces for a site": { + "$ref": "./examples/GetWebSiteNetworkTraces.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTraces/current/operationresults/{operationId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "description": "Description for Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "operationId": "WebApps_GetNetworkTraceOperationV2", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "GUID of the operation.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the current status of a network trace operation for a site": { + "$ref": "./examples/GetWebSiteNetworkTraceOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTraces/{operationId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "description": "Description for Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "operationId": "WebApps_GetNetworkTracesV2", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "GUID of the operation.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get NetworkTraces for a site": { + "$ref": "./examples/GetWebSiteNetworkTraces.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Generates a new publishing password for an app (or deployment slot, if specified).", + "description": "Description for Generates a new publishing password for an app (or deployment slot, if specified).", + "operationId": "WebApps_GenerateNewSitePublishingPassword", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully generate new password." + }, + "204": { + "description": "Successfully generate new password." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets perfmon counters for web app.", + "description": "Description for Gets perfmon counters for web app.", + "operationId": "WebApps_ListPerfMonCounters", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'.", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PerfMonCounterCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets web app's event logs.", + "description": "Description for Gets web app's event logs.", + "operationId": "WebApps_GetSitePhpErrorLogFlag", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SitePhpErrorLogFlag" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the premier add-ons of an app.", + "description": "Description for Gets the premier add-ons of an app.", + "operationId": "WebApps_ListPremierAddOns", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named add-on of an app.", + "description": "Description for Gets a named add-on of an app.", + "operationId": "WebApps_GetPremierAddOn", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates a named add-on of an app.", + "description": "Description for Updates a named add-on of an app.", + "operationId": "WebApps_AddPremierAddOn", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOn", + "in": "body", + "description": "A JSON representation of the edited premier add-on.", + "required": true, + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a premier add-on from an app.", + "description": "Description for Delete a premier add-on from an app.", + "operationId": "WebApps_DeletePremierAddOn", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted premier add-on." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Updates a named add-on of an app.", + "description": "Description for Updates a named add-on of an app.", + "operationId": "WebApps_UpdatePremierAddOn", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOn", + "in": "body", + "description": "A JSON representation of the edited premier add-on.", + "required": true, + "schema": { + "$ref": "#/definitions/PremierAddOnPatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets data around private site access enablement and authorized Virtual Networks that can access the site.", + "description": "Description for Gets data around private site access enablement and authorized Virtual Networks that can access the site.", + "operationId": "WebApps_GetPrivateAccess", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateAccess" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Sets data around private site access enablement and authorized Virtual Networks that can access the site.", + "description": "Description for Sets data around private site access enablement and authorized Virtual Networks that can access the site.", + "operationId": "WebApps_PutPrivateAccessVnet", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "access", + "in": "body", + "description": "The information for the private access", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateAccess" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateAccess" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "description": "Description for Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListProcesses", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Process terminated.", + "schema": { + "$ref": "#/definitions/ProcessInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get process information by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get process information by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetProcess", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Process information returned.", + "schema": { + "$ref": "#/definitions/ProcessInfo" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", + "description": "Description for Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", + "operationId": "WebApps_DeleteProcess", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Process terminated." + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get a memory dump of a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetProcessDump", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List module information for a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List module information for a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListProcessModules", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Module information returned.", + "schema": { + "$ref": "#/definitions/ProcessModuleInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get process information by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get process information by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetProcessModule", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "baseAddress", + "in": "path", + "description": "Module base address.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Module information returned.", + "schema": { + "$ref": "#/definitions/ProcessModuleInfo" + } + }, + "404": { + "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListProcessThreads", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Thread information returned.", + "schema": { + "$ref": "#/definitions/ProcessThreadInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get public certificates for an app or a deployment slot.", + "description": "Description for Get public certificates for an app or a deployment slot.", + "operationId": "WebApps_ListPublicCertificates", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PublicCertificateCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the named public certificate for an app (or deployment slot, if specified).", + "description": "Description for Get the named public certificate for an app (or deployment slot, if specified).", + "operationId": "WebApps_GetPublicCertificate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificateName", + "in": "path", + "description": "Public certificate name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PublicCertificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a hostname binding for an app.", + "description": "Description for Creates a hostname binding for an app.", + "operationId": "WebApps_CreateOrUpdatePublicCertificate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificateName", + "in": "path", + "description": "Public certificate name.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificate", + "in": "body", + "description": "Public certificate details. This is the JSON representation of a PublicCertificate object.", + "required": true, + "schema": { + "$ref": "#/definitions/PublicCertificate" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PublicCertificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a hostname binding for an app.", + "description": "Description for Deletes a hostname binding for an app.", + "operationId": "WebApps_DeletePublicCertificate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificateName", + "in": "path", + "description": "Public certificate name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted hostname binding." + }, + "204": { + "description": "Hostname binding does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the publishing profile for an app (or deployment slot, if specified).", + "description": "Description for Gets the publishing profile for an app (or deployment slot, if specified).", + "operationId": "WebApps_ListPublishingProfileXmlWithSecrets", + "produces": [ + "application/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "publishingProfileOptions", + "in": "body", + "description": "Specifies publishingProfileOptions for publishing profile. For example, use {\"format\": \"FileZilla3\"} to get a FileZilla publishing profile.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmPublishingProfileOptions" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Resets the configuration settings of the current slot if they were previously modified by calling the API with POST.", + "description": "Description for Resets the configuration settings of the current slot if they were previously modified by calling the API with POST.", + "operationId": "WebApps_ResetProductionSlotConfig", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restarts an app (or deployment slot, if specified).", + "description": "Description for Restarts an app (or deployment slot, if specified).", + "operationId": "WebApps_Restart", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "softRestart", + "in": "query", + "description": "Specify true to apply the configuration settings and restarts the app only if necessary. By default, the API always restarts and reprovisions the app.", + "type": "boolean" + }, + { + "name": "synchronous", + "in": "query", + "description": "Specify true to block until the app is restarted. By default, it is set to false, and the API responds immediately (asynchronous).", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully restarted app." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restores an app from a backup blob in Azure Storage.", + "description": "Description for Restores an app from a backup blob in Azure Storage.", + "operationId": "WebApps_RestoreFromBackupBlob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Information on restore request .", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Restore operation started." + }, + "200": { + "description": "Restore operation started." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restores a deleted web app to this web app.", + "description": "Description for Restores a deleted web app to this web app.", + "operationId": "WebApps_RestoreFromDeletedApp", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "restoreRequest", + "in": "body", + "description": "Deleted web app restore information.", + "required": true, + "schema": { + "$ref": "#/definitions/DeletedAppRestoreRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Restore operation started." + }, + "200": { + "description": "Restore operation started." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restores a web app from a snapshot.", + "description": "Description for Restores a web app from a snapshot.", + "operationId": "WebApps_RestoreSnapshot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "restoreRequest", + "in": "body", + "description": "Snapshot restore settings. Snapshot information can be obtained by calling GetDeletedSites or GetSiteSnapshots API.", + "required": true, + "schema": { + "$ref": "#/definitions/SnapshotRestoreRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Restore operation started." + }, + "200": { + "description": "Restore operation started." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get list of siteextensions for a web site, or a deployment slot.", + "description": "Description for Get list of siteextensions for a web site, or a deployment slot.", + "operationId": "WebApps_ListSiteExtensions", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "SiteExtension information returned.", + "schema": { + "$ref": "#/definitions/SiteExtensionInfoCollection" + } + }, + "404": { + "description": "SiteExtension not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get site extension information by its ID for a web site, or a deployment slot.", + "description": "Description for Get site extension information by its ID for a web site, or a deployment slot.", + "operationId": "WebApps_GetSiteExtension", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "siteExtensionId", + "in": "path", + "description": "Site extension name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "SiteExtension information returned.", + "schema": { + "$ref": "#/definitions/SiteExtensionInfo" + } + }, + "404": { + "description": "SiteExtension with an ID of {siteExtensionId} is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Install site extension on a web site, or a deployment slot.", + "description": "Description for Install site extension on a web site, or a deployment slot.", + "operationId": "WebApps_InstallSiteExtension", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "siteExtensionId", + "in": "path", + "description": "Site extension name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Site Extension created.", + "schema": { + "$ref": "#/definitions/SiteExtensionInfo" + } + }, + "200": { + "description": "Site Extension created.", + "schema": { + "$ref": "#/definitions/SiteExtensionInfo" + } + }, + "429": { + "description": "Site Extension is being installed on another request: Rejecting current request." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Remove a site extension from a web site, or a deployment slot.", + "description": "Description for Remove a site extension from a web site, or a deployment slot.", + "operationId": "WebApps_DeleteSiteExtension", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "siteExtensionId", + "in": "path", + "description": "Site extension name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "SiteExtension terminated." + }, + "404": { + "description": "SiteExtension with an ID of {siteExtensionId} is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotcopy": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Copies a deployment slot to another deployment slot of an app.", + "description": "Description for Copies a deployment slot to another deployment slot of an app.", + "operationId": "WebApps_CopyProductionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "copySlotEntity", + "in": "body", + "description": "JSON object that contains the target slot name and site config properties to override the source slot config. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmCopySlotEntity" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Operation is in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Copy slot": { + "$ref": "./examples/CopySlot.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets an app's deployment slots.", + "description": "Description for Gets an app's deployment slots.", + "operationId": "WebApps_ListSlots", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/WebAppCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the details of a web, mobile, or API app.", + "description": "Description for Gets the details of a web, mobile, or API app.", + "operationId": "WebApps_GetSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. By default, this API returns the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "404": { + "description": "Not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.", + "description": "Description for Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.", + "operationId": "WebApps_CreateOrUpdateSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Unique name of the app to create or update. To create or update a deployment slot, use the {slot} parameter.", + "required": true, + "type": "string" + }, + { + "name": "siteEnvelope", + "in": "body", + "description": "A JSON representation of the app properties. See example.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a web, mobile, or API app, or one of the deployment slots.", + "description": "Description for Deletes a web, mobile, or API app, or one of the deployment slots.", + "operationId": "WebApps_DeleteSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app to delete.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot to delete. By default, the API deletes the production slot.", + "required": true, + "type": "string" + }, + { + "name": "deleteMetrics", + "in": "query", + "description": "If true, web app metrics are also deleted.", + "type": "boolean" + }, + { + "name": "deleteEmptyServerFarm", + "in": "query", + "description": "Specify true if the App Service plan will be empty after app deletion and you want to delete the empty App Service plan. By default, the empty App Service plan is not deleted.", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted web app." + }, + "204": { + "description": "Successfully deleted web app." + }, + "404": { + "description": "Web app not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.", + "description": "Description for Creates a new web, mobile, or API app in an existing resource group, or updates an existing app.", + "operationId": "WebApps_UpdateSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Unique name of the app to create or update. To create or update a deployment slot, use the {slot} parameter.", + "required": true, + "type": "string" + }, + { + "name": "siteEnvelope", + "in": "body", + "description": "A JSON representation of the app properties. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SitePatchResource" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot to create or update. By default, this API attempts to create or modify the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Site" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Analyze a custom hostname.", + "description": "Description for Analyze a custom hostname.", + "operationId": "WebApps_AnalyzeCustomHostnameSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "query", + "description": "Custom hostname.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomHostnameAnalysisResult" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Applies the configuration settings from the target slot onto the current slot.", + "description": "Description for Applies the configuration settings from the target slot onto the current slot.", + "operationId": "WebApps_ApplySlotConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slotSwapEntity", + "in": "body", + "description": "JSON object that contains the target slot name. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmSlotEntity" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the source slot. If a slot is not specified, the production slot is used as the source slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Creates a backup of an app.", + "description": "Description for Creates a backup of an app.", + "operationId": "WebApps_BackupSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Backup configuration. You can use the JSON response from the POST action as input here.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will create a backup for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItem" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets existing backups of an app.", + "description": "Description for Gets existing backups of an app.", + "operationId": "WebApps_ListBackupsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get backups of the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItemCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a backup of an app by its ID.", + "description": "Description for Gets a backup of an app by its ID.", + "operationId": "WebApps_GetBackupStatusSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "backupId", + "in": "path", + "description": "ID of the backup.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get a backup of the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItem" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a backup of an app by its ID.", + "description": "Description for Deletes a backup of an app by its ID.", + "operationId": "WebApps_DeleteBackupSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "backupId", + "in": "path", + "description": "ID of the backup.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete a backup of the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted web app backup item." + }, + "404": { + "description": "Web app backup item does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets status of a web app backup that may be in progress, including secrets associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for the backup if a new URL is passed in the request body.", + "description": "Description for Gets status of a web app backup that may be in progress, including secrets associated with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for the backup if a new URL is passed in the request body.", + "operationId": "WebApps_ListBackupStatusSecretsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "backupId", + "in": "path", + "description": "ID of backup.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Information on backup request.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItem" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restores a specific backup to another app (or deployment slot, if specified).", + "description": "Description for Restores a specific backup to another app (or deployment slot, if specified).", + "operationId": "WebApps_RestoreSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "backupId", + "in": "path", + "description": "ID of the backup.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Information on restore request .", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequest" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will restore a backup of the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Restore operation started." + }, + "200": { + "description": "Restore operation started." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List the configurations of an app", + "description": "Description for List the configurations of an app", + "operationId": "WebApps_ListConfigurationsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will return configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResourceCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Replaces the application settings of an app.", + "description": "Description for Replaces the application settings of an app.", + "operationId": "WebApps_UpdateApplicationSettingsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "appSettings", + "in": "body", + "description": "Application settings of the app.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the application settings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the application settings of an app.", + "description": "Description for Gets the application settings of an app.", + "operationId": "WebApps_ListApplicationSettingsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the application settings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the Authentication / Authorization settings associated with web app.", + "description": "Description for Updates the Authentication / Authorization settings associated with web app.", + "operationId": "WebApps_UpdateAuthSettingsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "siteAuthSettings", + "in": "body", + "description": "Auth settings associated with web app.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteAuthSettings" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettings" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the Authentication/Authorization settings of an app.", + "description": "Description for Gets the Authentication/Authorization settings of an app.", + "operationId": "WebApps_GetAuthSettingsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the settings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettings" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates site's Authentication / Authorization settings for apps via the V2 format", + "description": "Description for Updates site's Authentication / Authorization settings for apps via the V2 format", + "operationId": "WebApps_UpdateAuthSettingsV2Slot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "siteAuthSettingsV2", + "in": "body", + "description": "Auth settings associated with web app.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteAuthSettingsV2" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettingsV2" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2/list": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets site's Authentication / Authorization settings for apps via the V2 format", + "description": "Description for Gets site's Authentication / Authorization settings for apps via the V2 format", + "operationId": "WebApps_GetAuthSettingsV2Slot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the settings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettingsV2" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/azurestorageaccounts": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the Azure storage account configurations of an app.", + "description": "Description for Updates the Azure storage account configurations of an app.", + "operationId": "WebApps_UpdateAzureStorageAccountsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "azureStorageAccounts", + "in": "body", + "description": "Azure storage accounts of the app.", + "required": true, + "schema": { + "$ref": "#/definitions/AzureStoragePropertyDictionaryResource" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the Azure storage account configurations for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureStoragePropertyDictionaryResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/azurestorageaccounts/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the Azure storage account configurations of an app.", + "description": "Description for Gets the Azure storage account configurations of an app.", + "operationId": "WebApps_ListAzureStorageAccountsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the Azure storage account configurations for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureStoragePropertyDictionaryResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the backup configuration of an app.", + "description": "Description for Updates the backup configuration of an app.", + "operationId": "WebApps_UpdateBackupConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Edited backup configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the backup configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes the backup configuration of an app.", + "description": "Description for Deletes the backup configuration of an app.", + "operationId": "WebApps_DeleteBackupConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the backup configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted backup configuration." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the backup configuration of an app.", + "description": "Description for Gets the backup configuration of an app.", + "operationId": "WebApps_GetBackupConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the backup configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupRequest" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Replaces the connection strings of an app.", + "description": "Description for Replaces the connection strings of an app.", + "operationId": "WebApps_UpdateConnectionStringsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionStrings", + "in": "body", + "description": "Connection strings of the app or deployment slot. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionStringDictionary" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the connection settings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectionStringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the connection strings of an app.", + "description": "Description for Gets the connection strings of an app.", + "operationId": "WebApps_ListConnectionStringsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the connection settings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectionStringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the logging configuration of an app.", + "description": "Description for Gets the logging configuration of an app.", + "operationId": "WebApps_GetDiagnosticLogsConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the logging configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteLogsConfig" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the logging configuration of an app.", + "description": "Description for Updates the logging configuration of an app.", + "operationId": "WebApps_UpdateDiagnosticLogsConfigSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteLogsConfig", + "in": "body", + "description": "A SiteLogsConfig JSON object that contains the logging configuration to change in the \"properties\" property.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteLogsConfig" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the logging configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteLogsConfig" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Replaces the metadata of an app.", + "description": "Description for Replaces the metadata of an app.", + "operationId": "WebApps_UpdateMetadataSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "metadata", + "in": "body", + "description": "Edited metadata of the app or deployment slot. See example.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the metadata for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the metadata of an app.", + "description": "Description for Gets the metadata of an app.", + "operationId": "WebApps_ListMetadataSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the metadata for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the Git/FTP publishing credentials of an app.", + "description": "Description for Gets the Git/FTP publishing credentials of an app.", + "operationId": "WebApps_ListPublishingCredentialsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the publishing credentials for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/User" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the Push settings associated with web app.", + "description": "Description for Updates the Push settings associated with web app.", + "operationId": "WebApps_UpdateSitePushSettingsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "pushSettings", + "in": "body", + "description": "Push settings associated with web app.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PushSettings" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PushSettings" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the Push settings associated with web app.", + "description": "Description for Gets the Push settings associated with web app.", + "operationId": "WebApps_ListSitePushSettingsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PushSettings" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.", + "description": "Description for Gets the configuration of an app, such as platform version and bitness, default documents, virtual applications, Always On, etc.", + "operationId": "WebApps_GetConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will return configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the configuration of an app.", + "description": "Description for Updates the configuration of an app.", + "operationId": "WebApps_CreateOrUpdateConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteConfig", + "in": "body", + "description": "JSON representation of a SiteConfig object. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Updates the configuration of an app.", + "description": "Description for Updates the configuration of an app.", + "operationId": "WebApps_UpdateConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteConfig", + "in": "body", + "description": "JSON representation of a SiteConfig object. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a list of web app configuration snapshots identifiers. Each element of the list contains a timestamp and the ID of the snapshot.", + "description": "Description for Gets a list of web app configuration snapshots identifiers. Each element of the list contains a timestamp and the ID of the snapshot.", + "operationId": "WebApps_ListConfigurationSnapshotInfoSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will return configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigurationSnapshotInfoCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a snapshot of the configuration of an app at a previous point in time.", + "description": "Description for Gets a snapshot of the configuration of an app at a previous point in time.", + "operationId": "WebApps_GetConfigurationSnapshotSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "snapshotId", + "in": "path", + "description": "The ID of the snapshot to read.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will return configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Reverts the configuration of an app to a previous snapshot.", + "description": "Description for Reverts the configuration of an app to a previous snapshot.", + "operationId": "WebApps_RecoverSiteConfigurationSnapshotSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "snapshotId", + "in": "path", + "description": "The ID of the snapshot to read.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will return configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the last lines of docker logs for the given site", + "description": "Description for Gets the last lines of docker logs for the given site", + "operationId": "WebApps_GetWebSiteContainerLogsSlot", + "produces": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the ZIP archived docker log files for the given site", + "description": "Description for Gets the ZIP archived docker log files for the given site", + "operationId": "WebApps_GetContainerLogsZipSlot", + "produces": [ + "application/zip" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List continuous web jobs for an app, or a deployment slot.", + "description": "Description for List continuous web jobs for an app, or a deployment slot.", + "operationId": "WebApps_ListContinuousWebJobsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContinuousWebJobCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a continuous web job by its ID for an app, or a deployment slot.", + "description": "Description for Gets a continuous web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_GetContinuousWebJobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/ContinuousWebJob" + } + }, + "404": { + "description": "Continuous web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a continuous web job by its ID for an app, or a deployment slot.", + "description": "Description for Delete a continuous web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_DeleteContinuousWebJobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted continuous web job." + }, + "204": { + "description": "Continuous web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Start a continuous web job for an app, or a deployment slot.", + "description": "Description for Start a continuous web job for an app, or a deployment slot.", + "operationId": "WebApps_StartContinuousWebJobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job." + }, + "404": { + "description": "Continuous web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Stop a continuous web job for an app, or a deployment slot.", + "description": "Description for Stop a continuous web job for an app, or a deployment slot.", + "operationId": "WebApps_StopContinuousWebJobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job." + }, + "404": { + "description": "Continuous web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List deployments for an app, or a deployment slot.", + "description": "Description for List deployments for an app, or a deployment slot.", + "operationId": "WebApps_ListDeploymentsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeploymentCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get a deployment by its ID for an app, or a deployment slot.", + "description": "Description for Get a deployment by its ID for an app, or a deployment slot.", + "operationId": "WebApps_GetDeploymentSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "Deployment ID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API gets a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Create a deployment for an app, or a deployment slot.", + "description": "Description for Create a deployment for an app, or a deployment slot.", + "operationId": "WebApps_CreateDeploymentSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "ID of an existing deployment.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API creates a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "deployment", + "in": "body", + "description": "Deployment details.", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a deployment by its ID for an app, or a deployment slot.", + "description": "Description for Delete a deployment by its ID for an app, or a deployment slot.", + "operationId": "WebApps_DeleteDeploymentSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "Deployment ID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted deployment." + }, + "204": { + "description": "Deployment does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List deployment log for specific deployment for an app, or a deployment slot.", + "description": "Description for List deployment log for specific deployment for an app, or a deployment slot.", + "operationId": "WebApps_ListDeploymentLogSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "The ID of a specific deployment. This is the value of the name property in the JSON response from \"GET /api/sites/{siteName}/deployments\".", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/discoverbackup": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Discovers an existing app backup that can be restored from a blob in Azure storage. Use this to get information about the databases stored in a backup.", + "description": "Description for Discovers an existing app backup that can be restored from a blob in Azure storage. Use this to get information about the databases stored in a backup.", + "operationId": "WebApps_DiscoverBackupSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "A RestoreRequest object that includes Azure storage URL and blog name for discovery of backup.", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequest" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will perform discovery for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RestoreRequest" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Lists ownership identifiers for domain associated with web app.", + "description": "Description for Lists ownership identifiers for domain associated with web app.", + "operationId": "WebApps_ListDomainOwnershipIdentifiersSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/IdentifierCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get domain ownership identifier for web app.", + "description": "Description for Get domain ownership identifier for web app.", + "operationId": "WebApps_GetDomainOwnershipIdentifierSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifierName", + "in": "path", + "description": "Name of domain ownership identifier.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a domain ownership identifier for web app, or updates an existing ownership identifier.", + "description": "Description for Creates a domain ownership identifier for web app, or updates an existing ownership identifier.", + "operationId": "WebApps_CreateOrUpdateDomainOwnershipIdentifierSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifierName", + "in": "path", + "description": "Name of domain ownership identifier.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifier", + "in": "body", + "description": "A JSON representation of the domain ownership properties.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a domain ownership identifier for a web app.", + "description": "Description for Deletes a domain ownership identifier for a web app.", + "operationId": "WebApps_DeleteDomainOwnershipIdentifierSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifierName", + "in": "path", + "description": "Name of domain ownership identifier.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted domain ownership identifier." + }, + "204": { + "description": "Domain ownership identifier does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Creates a domain ownership identifier for web app, or updates an existing ownership identifier.", + "description": "Description for Creates a domain ownership identifier for web app, or updates an existing ownership identifier.", + "operationId": "WebApps_UpdateDomainOwnershipIdentifierSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifierName", + "in": "path", + "description": "Name of domain ownership identifier.", + "required": true, + "type": "string" + }, + { + "name": "domainOwnershipIdentifier", + "in": "body", + "description": "A JSON representation of the domain ownership properties.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Identifier" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the status of the last MSDeploy operation.", + "description": "Description for Get the status of the last MSDeploy operation.", + "operationId": "WebApps_GetMSDeployStatusSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy web app extension.", + "description": "Description for Invoke the MSDeploy web app extension.", + "operationId": "WebApps_CreateMSDeployOperationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", + "required": true, + "schema": { + "$ref": "#/definitions/MSDeploy" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Deployment is scheduled.", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "409": { + "description": "Another deployment is in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the MSDeploy Log for the last MSDeploy operation.", + "description": "Description for Get the MSDeploy Log for the last MSDeploy operation.", + "operationId": "WebApps_GetMSDeployLogSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "MSDeploy log returned.", + "schema": { + "$ref": "#/definitions/MSDeployLog" + } + }, + "404": { + "description": "MSDeploy log not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List the functions for a web site, or a deployment slot.", + "description": "Description for List the functions for a web site, or a deployment slot.", + "operationId": "WebApps_ListInstanceFunctionsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Function information returned.", + "schema": { + "$ref": "#/definitions/FunctionEnvelopeCollection" + } + }, + "404": { + "description": "Function with an ID of {functionName} is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Fetch a short lived token that can be exchanged for a master key.", + "description": "Description for Fetch a short lived token that can be exchanged for a master key.", + "operationId": "WebApps_GetFunctionsAdminTokenSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get function information by its ID for web site, or a deployment slot.", + "description": "Description for Get function information by its ID for web site, or a deployment slot.", + "operationId": "WebApps_GetInstanceFunctionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Function information returned.", + "schema": { + "$ref": "#/definitions/FunctionEnvelope" + } + }, + "404": { + "description": "Function with a name of {functionName} does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Create function for web site, or a deployment slot.", + "description": "Description for Create function for web site, or a deployment slot.", + "operationId": "WebApps_CreateInstanceFunctionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "name": "function_envelope", + "in": "body", + "description": "Function details.", + "required": true, + "schema": { + "$ref": "#/definitions/FunctionEnvelope" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Function created.", + "schema": { + "$ref": "#/definitions/FunctionEnvelope" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a function for web site, or a deployment slot.", + "description": "Description for Delete a function for web site, or a deployment slot.", + "operationId": "WebApps_DeleteInstanceFunctionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Function deleted." + }, + "404": { + "description": "Function does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/keys/{keyName}": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Add or update a function secret.", + "description": "Description for Add or update a function secret.", + "operationId": "WebApps_CreateOrUpdateFunctionSecretSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "The name of the function.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the key.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "name": "key", + "in": "body", + "description": "The key to create or update", + "required": true, + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Key was created.", + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "200": { + "description": "Key was updated.", + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a function secret.", + "description": "Description for Delete a function secret.", + "operationId": "WebApps_DeleteFunctionSecretSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "The name of the function.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the key.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "404": { + "description": "Key was not found." + }, + "204": { + "description": "Key was deleted." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listkeys": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Get function keys for a function in a web site, or a deployment slot.", + "description": "Description for Get function keys for a function in a web site, or a deployment slot.", + "operationId": "WebApps_ListFunctionKeysSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Function keys returned.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Get function secrets for a function in a web site, or a deployment slot.", + "description": "Description for Get function secrets for a function in a web site, or a deployment slot.", + "operationId": "WebApps_ListFunctionSecretsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "functionName", + "in": "path", + "description": "Function name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Function secrets returned.", + "schema": { + "$ref": "#/definitions/FunctionSecrets" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/listkeys": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Get host secrets for a function app.", + "description": "Description for Get host secrets for a function app.", + "operationId": "WebApps_ListHostKeysSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Host secrets returned.", + "schema": { + "$ref": "#/definitions/HostKeys" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/listsyncstatus": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "This is to allow calling via powershell and ARM template.", + "description": "Description for This is to allow calling via powershell and ARM template.", + "operationId": "WebApps_ListSyncStatusSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/sync": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Syncs function trigger metadata to the management database", + "description": "Description for Syncs function trigger metadata to the management database", + "operationId": "WebApps_SyncFunctionsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/host/default/{keyType}/{keyName}": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Add or update a host level secret.", + "description": "Description for Add or update a host level secret.", + "operationId": "WebApps_CreateOrUpdateHostSecretSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "keyType", + "in": "path", + "description": "The type of host key.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the key.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "name": "key", + "in": "body", + "description": "The key to create or update", + "required": true, + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Key was created.", + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "200": { + "description": "Key was updated.", + "schema": { + "$ref": "#/definitions/KeyInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a host level secret.", + "description": "Description for Delete a host level secret.", + "operationId": "WebApps_DeleteHostSecretSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "keyType", + "in": "path", + "description": "The type of host key.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "The name of the key.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "404": { + "description": "Key was not found." + }, + "204": { + "description": "Key was deleted." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get hostname bindings for an app or a deployment slot.", + "description": "Description for Get hostname bindings for an app or a deployment slot.", + "operationId": "WebApps_ListHostNameBindingsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API gets hostname bindings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBindingCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the named hostname binding for an app (or deployment slot, if specified).", + "description": "Description for Get the named hostname binding for an app (or deployment slot, if specified).", + "operationId": "WebApps_GetHostNameBindingSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API the named binding for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a hostname binding for an app.", + "description": "Description for Creates a hostname binding for an app.", + "operationId": "WebApps_CreateOrUpdateHostNameBindingSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "name": "hostNameBinding", + "in": "body", + "description": "Binding details. This is the JSON representation of a HostNameBinding object.", + "required": true, + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will create a binding for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a hostname binding for an app.", + "description": "Description for Deletes a hostname binding for an app.", + "operationId": "WebApps_DeleteHostNameBindingSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted hostname binding." + }, + "204": { + "description": "Hostname binding does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Retrieves a specific Service Bus Hybrid Connection used by this Web App.", + "description": "Description for Retrieves a specific Service Bus Hybrid Connection used by this Web App.", + "operationId": "WebApps_GetHybridConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new Hybrid Connection using a Service Bus relay.", + "description": "Description for Creates a new Hybrid Connection using a Service Bus relay.", + "operationId": "WebApps_CreateOrUpdateHybridConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "The details of the hybrid connection.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Removes a Hybrid Connection from this site.", + "description": "Description for Removes a Hybrid Connection from this site.", + "operationId": "WebApps_DeleteHybridConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted hybrid connection." + }, + "404": { + "description": "Hybrid connection does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new Hybrid Connection using a Service Bus relay.", + "description": "Description for Creates a new Hybrid Connection using a Service Bus relay.", + "operationId": "WebApps_UpdateHybridConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "The details of the hybrid connection.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Retrieves all Service Bus Hybrid Connections used by this Web App.", + "description": "Description for Retrieves all Service Bus Hybrid Connections used by this Web App.", + "operationId": "WebApps_ListHybridConnectionsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets hybrid connections configured for an app (or deployment slot, if specified).", + "description": "Description for Gets hybrid connections configured for an app (or deployment slot, if specified).", + "operationId": "WebApps_ListRelayServiceConnectionsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get hybrid connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a hybrid connection configuration by its name.", + "description": "Description for Gets a hybrid connection configuration by its name.", + "operationId": "WebApps_GetRelayServiceConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "entityName", + "in": "path", + "description": "Name of the hybrid connection.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get a hybrid connection for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new hybrid connection configuration (PUT), or updates an existing one (PATCH).", + "description": "Description for Creates a new hybrid connection configuration (PUT), or updates an existing one (PATCH).", + "operationId": "WebApps_CreateOrUpdateRelayServiceConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "entityName", + "in": "path", + "description": "Name of the hybrid connection configuration.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Details of the hybrid connection configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will create or update a hybrid connection for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a relay service connection by its name.", + "description": "Description for Deletes a relay service connection by its name.", + "operationId": "WebApps_DeleteRelayServiceConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "entityName", + "in": "path", + "description": "Name of the hybrid connection configuration.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete a hybrid connection for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted relay service connection." + }, + "404": { + "description": "Relay service connection does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Creates a new hybrid connection configuration (PUT), or updates an existing one (PATCH).", + "description": "Description for Creates a new hybrid connection configuration (PUT), or updates an existing one (PATCH).", + "operationId": "WebApps_UpdateRelayServiceConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "entityName", + "in": "path", + "description": "Name of the hybrid connection configuration.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Details of the hybrid connection configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will create or update a hybrid connection for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets all scale-out instances of an app.", + "description": "Description for Gets all scale-out instances of an app.", + "operationId": "WebApps_ListInstanceIdentifiersSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API gets the production slot instances.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WebAppInstanceStatusCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets all scale-out instances of an app.", + "description": "Description for Gets all scale-out instances of an app.", + "operationId": "WebApps_GetInstanceInfoSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API gets the production slot instances.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WebSiteInstanceStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get site instance info": { + "$ref": "./examples/GetSiteInstanceInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the status of the last MSDeploy operation.", + "description": "Description for Get the status of the last MSDeploy operation.", + "operationId": "WebApps_GetInstanceMsDeployStatusSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of web app instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy web app extension.", + "description": "Description for Invoke the MSDeploy web app extension.", + "operationId": "WebApps_CreateInstanceMSDeployOperationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of web app instance.", + "required": true, + "type": "string" + }, + { + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", + "required": true, + "schema": { + "$ref": "#/definitions/MSDeploy" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Deployment is scheduled.", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "409": { + "description": "Another deployment is in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the MSDeploy Log for the last MSDeploy operation.", + "description": "Description for Get the MSDeploy Log for the last MSDeploy operation.", + "operationId": "WebApps_GetInstanceMSDeployLogSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of web app instance.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "MSDeploy log returned.", + "schema": { + "$ref": "#/definitions/MSDeployLog" + } + }, + "404": { + "description": "MSDeploy log not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "description": "Description for Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListInstanceProcessesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Process terminated.", + "schema": { + "$ref": "#/definitions/ProcessInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get process information by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get process information by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetInstanceProcessSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Process information returned.", + "schema": { + "$ref": "#/definitions/ProcessInfo" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", + "description": "Description for Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", + "operationId": "WebApps_DeleteInstanceProcessSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Process terminated." + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get a memory dump of a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetInstanceProcessDumpSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List module information for a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List module information for a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListInstanceProcessModulesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Module information returned.", + "schema": { + "$ref": "#/definitions/ProcessModuleInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get process information by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get process information by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetInstanceProcessModuleSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "baseAddress", + "in": "path", + "description": "Module base address.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Module information returned.", + "schema": { + "$ref": "#/definitions/ProcessModuleInfo" + } + }, + "404": { + "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListInstanceProcessThreadsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Thread information returned.", + "schema": { + "$ref": "#/definitions/ProcessThreadInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Shows whether an app can be cloned to another resource group or subscription.", + "description": "Description for Shows whether an app can be cloned to another resource group or subscription.", + "operationId": "WebApps_IsCloneableSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. By default, this API returns information on the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SiteCloneability" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listbackups": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets existing backups of an app.", + "description": "Description for Gets existing backups of an app.", + "operationId": "WebApps_ListSiteBackupsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get backups of the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupItemCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List backups": { + "$ref": "./examples/ListSlotBackups.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "This is to allow calling via powershell and ARM template.", + "description": "Description for This is to allow calling via powershell and ARM template.", + "operationId": "WebApps_ListSyncFunctionTriggersSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FunctionSecrets" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", + "description": "Description for Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", + "operationId": "WebApps_GetMigrateMySqlStatusSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrateMySqlStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a Swift Virtual Network connection.", + "description": "Description for Gets a Swift Virtual Network connection.", + "operationId": "WebApps_GetSwiftVirtualNetworkConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get a gateway for the production slot's Virtual Network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Description for Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_CreateOrUpdateSwiftVirtualNetworkConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", + "description": "Description for Deletes a Swift Virtual Network connection from an app (or deployment slot).", + "operationId": "WebApps_DeleteSwiftVirtualNetworkSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the connection for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted virtual network." + }, + "404": { + "description": "Virtual network does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Description for Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_UpdateSwiftVirtualNetworkConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets all network features used by the app (or deployment slot, if specified).", + "description": "Description for Gets all network features used by the app (or deployment slot, if specified).", + "operationId": "WebApps_ListNetworkFeaturesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "view", + "in": "path", + "description": "The type of view. This can either be \"summary\" or \"detailed\".", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get network features for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/NetworkFeatures" + } + }, + "404": { + "description": "The requested view does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/operationresults/{operationId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "description": "Description for Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "operationId": "WebApps_GetNetworkTraceOperationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "GUID of the operation.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get an operation for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the current status of a network trace operation for a site": { + "$ref": "./examples/GetWebSiteNetworkTraceOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Start capturing network packets for the site (To be deprecated).", + "description": "Description for Start capturing network packets for the site (To be deprecated).", + "operationId": "WebApps_StartWebSiteNetworkTraceSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "durationInSeconds", + "in": "query", + "description": "The duration to keep capturing in seconds.", + "type": "integer", + "format": "int32" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for this web app.", + "required": true, + "type": "string" + }, + { + "name": "maxFrameLength", + "in": "query", + "description": "The maximum frame length in bytes (Optional).", + "type": "integer", + "format": "int32" + }, + { + "name": "sasUrl", + "in": "query", + "description": "The Blob URL to store capture file.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/startOperation": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Start capturing network packets for the site.", + "description": "Description for Start capturing network packets for the site.", + "operationId": "WebApps_StartWebSiteNetworkTraceOperationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "durationInSeconds", + "in": "query", + "description": "The duration to keep capturing in seconds.", + "type": "integer", + "format": "int32" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for this web app.", + "required": true, + "type": "string" + }, + { + "name": "maxFrameLength", + "in": "query", + "description": "The maximum frame length in bytes (Optional).", + "type": "integer", + "format": "int32" + }, + { + "name": "sasUrl", + "in": "query", + "description": "The Blob URL to store capture file.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Start a new network trace operation for a site": { + "$ref": "./examples/StartWebSiteNetworkTraceOperation.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Stop ongoing capturing network packets for the site.", + "description": "Description for Stop ongoing capturing network packets for the site.", + "operationId": "WebApps_StopWebSiteNetworkTraceSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for this web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Stopped." + }, + "204": { + "description": "Stopped." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop a currently running network trace operation for a site": { + "$ref": "./examples/StopWebSiteNetworkTrace.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/{operationId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "description": "Description for Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "operationId": "WebApps_GetNetworkTracesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "GUID of the operation.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get an operation for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get NetworkTraces for a site": { + "$ref": "./examples/GetWebSiteNetworkTraces.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTraces/current/operationresults/{operationId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "description": "Description for Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "operationId": "WebApps_GetNetworkTraceOperationSlotV2", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "GUID of the operation.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get an operation for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the current status of a network trace operation for a site": { + "$ref": "./examples/GetWebSiteNetworkTraceOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTraces/{operationId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "description": "Description for Gets a named operation for a network trace capturing (or deployment slot, if specified).", + "operationId": "WebApps_GetNetworkTracesSlotV2", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "GUID of the operation.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get an operation for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get NetworkTraces for a site": { + "$ref": "./examples/GetWebSiteNetworkTraces.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Generates a new publishing password for an app (or deployment slot, if specified).", + "description": "Description for Generates a new publishing password for an app (or deployment slot, if specified).", + "operationId": "WebApps_GenerateNewSitePublishingPasswordSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API generate a new publishing password for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully generate new password." + }, + "204": { + "description": "Successfully generate new password." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets perfmon counters for web app.", + "description": "Description for Gets perfmon counters for web app.", + "operationId": "WebApps_ListPerfMonCountersSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'.", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PerfMonCounterCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets web app's event logs.", + "description": "Description for Gets web app's event logs.", + "operationId": "WebApps_GetSitePhpErrorLogFlagSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SitePhpErrorLogFlag" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the premier add-ons of an app.", + "description": "Description for Gets the premier add-ons of an app.", + "operationId": "WebApps_ListPremierAddOnsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the premier add-ons for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named add-on of an app.", + "description": "Description for Gets a named add-on of an app.", + "operationId": "WebApps_GetPremierAddOnSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the named add-on for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates a named add-on of an app.", + "description": "Description for Updates a named add-on of an app.", + "operationId": "WebApps_AddPremierAddOnSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOn", + "in": "body", + "description": "A JSON representation of the edited premier add-on.", + "required": true, + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the named add-on for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a premier add-on from an app.", + "description": "Description for Delete a premier add-on from an app.", + "operationId": "WebApps_DeletePremierAddOnSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the named add-on for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted premier add-on." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Updates a named add-on of an app.", + "description": "Description for Updates a named add-on of an app.", + "operationId": "WebApps_UpdatePremierAddOnSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOn", + "in": "body", + "description": "A JSON representation of the edited premier add-on.", + "required": true, + "schema": { + "$ref": "#/definitions/PremierAddOnPatchResource" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the named add-on for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets data around private site access enablement and authorized Virtual Networks that can access the site.", + "description": "Description for Gets data around private site access enablement and authorized Virtual Networks that can access the site.", + "operationId": "WebApps_GetPrivateAccessSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateAccess" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Sets data around private site access enablement and authorized Virtual Networks that can access the site.", + "description": "Description for Sets data around private site access enablement and authorized Virtual Networks that can access the site.", + "operationId": "WebApps_PutPrivateAccessVnetSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "access", + "in": "body", + "description": "The information for the private access", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateAccess" + } + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateAccess" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a private endpoint connection", + "description": "Description for Gets a private endpoint connection", + "operationId": "WebApps_GetPrivateEndpointConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the site.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a private endpoint connection for a site.": { + "$ref": "./examples/GetSitePrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Approves or rejects a private endpoint connection", + "description": "Description for Approves or rejects a private endpoint connection", + "operationId": "WebApps_ApproveOrRejectPrivateEndpointConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the site.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointWrapper", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkConnectionApprovalRequestResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Approves or rejects a private endpoint connection for a site.": { + "$ref": "./examples/ApproveRejectSitePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a private endpoint connection", + "description": "Description for Deletes a private endpoint connection", + "operationId": "WebApps_DeletePrivateEndpointConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the site.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "type": "object" + } + }, + "202": { + "description": "Asynchronous operation in progress.", + "schema": { + "type": "object" + } + }, + "204": { + "description": "No content.", + "schema": { + "type": "object" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a private endpoint connection for a site.": { + "$ref": "./examples/DeleteSitePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateLinkResources": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the private link resources", + "description": "Description for Gets the private link resources", + "operationId": "WebApps_GetPrivateLinkResources", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the site.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesWrapper" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get private link resources of a site": { + "$ref": "./examples/GetSitePrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "description": "Description for Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListProcessesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Process terminated.", + "schema": { + "$ref": "#/definitions/ProcessInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get process information by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get process information by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetProcessSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Process information returned.", + "schema": { + "$ref": "#/definitions/ProcessInfo" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", + "description": "Description for Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", + "operationId": "WebApps_DeleteProcessSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "Process terminated." + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get a memory dump of a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get a memory dump of a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetProcessDumpSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List module information for a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List module information for a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListProcessModulesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Module information returned.", + "schema": { + "$ref": "#/definitions/ProcessModuleInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get process information by its ID for a specific scaled-out instance in a web site.", + "description": "Description for Get process information by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_GetProcessModuleSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "baseAddress", + "in": "path", + "description": "Module base address.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Module information returned.", + "schema": { + "$ref": "#/definitions/ProcessModuleInfo" + } + }, + "404": { + "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListProcessThreadsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "processId", + "in": "path", + "description": "PID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Thread information returned.", + "schema": { + "$ref": "#/definitions/ProcessThreadInfoCollection" + } + }, + "404": { + "description": "Process with the specified ID is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get public certificates for an app or a deployment slot.", + "description": "Description for Get public certificates for an app or a deployment slot.", + "operationId": "WebApps_ListPublicCertificatesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API gets hostname bindings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PublicCertificateCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the named public certificate for an app (or deployment slot, if specified).", + "description": "Description for Get the named public certificate for an app (or deployment slot, if specified).", + "operationId": "WebApps_GetPublicCertificateSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API the named binding for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificateName", + "in": "path", + "description": "Public certificate name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PublicCertificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a hostname binding for an app.", + "description": "Description for Creates a hostname binding for an app.", + "operationId": "WebApps_CreateOrUpdatePublicCertificateSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificateName", + "in": "path", + "description": "Public certificate name.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificate", + "in": "body", + "description": "Public certificate details. This is the JSON representation of a PublicCertificate object.", + "required": true, + "schema": { + "$ref": "#/definitions/PublicCertificate" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will create a binding for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PublicCertificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a hostname binding for an app.", + "description": "Description for Deletes a hostname binding for an app.", + "operationId": "WebApps_DeletePublicCertificateSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificateName", + "in": "path", + "description": "Public certificate name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted hostname binding." + }, + "204": { + "description": "Hostname binding does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Gets the publishing profile for an app (or deployment slot, if specified).", + "description": "Description for Gets the publishing profile for an app (or deployment slot, if specified).", + "operationId": "WebApps_ListPublishingProfileXmlWithSecretsSlot", + "produces": [ + "application/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "publishingProfileOptions", + "in": "body", + "description": "Specifies publishingProfileOptions for publishing profile. For example, use {\"format\": \"FileZilla3\"} to get a FileZilla publishing profile.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmPublishingProfileOptions" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the publishing profile for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Resets the configuration settings of the current slot if they were previously modified by calling the API with POST.", + "description": "Description for Resets the configuration settings of the current slot if they were previously modified by calling the API with POST.", + "operationId": "WebApps_ResetSlotConfigurationSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API resets configuration settings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restarts an app (or deployment slot, if specified).", + "description": "Description for Restarts an app (or deployment slot, if specified).", + "operationId": "WebApps_RestartSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will restart the production slot.", + "required": true, + "type": "string" + }, + { + "name": "softRestart", + "in": "query", + "description": "Specify true to apply the configuration settings and restarts the app only if necessary. By default, the API always restarts and reprovisions the app.", + "type": "boolean" + }, + { + "name": "synchronous", + "in": "query", + "description": "Specify true to block until the app is restarted. By default, it is set to false, and the API responds immediately (asynchronous).", + "type": "boolean" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully restarted app." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restores an app from a backup blob in Azure Storage.", + "description": "Description for Restores an app from a backup blob in Azure Storage.", + "operationId": "WebApps_RestoreFromBackupBlobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "Information on restore request .", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreRequest" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will restore a backup of the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Restore operation started." + }, + "200": { + "description": "Restore operation started." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restores a deleted web app to this web app.", + "description": "Description for Restores a deleted web app to this web app.", + "operationId": "WebApps_RestoreFromDeletedAppSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "restoreRequest", + "in": "body", + "description": "Deleted web app restore information.", + "required": true, + "schema": { + "$ref": "#/definitions/DeletedAppRestoreRequest" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Restore operation started." + }, + "200": { + "description": "Restore operation started." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Restores a web app from a snapshot.", + "description": "Description for Restores a web app from a snapshot.", + "operationId": "WebApps_RestoreSnapshotSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "restoreRequest", + "in": "body", + "description": "Snapshot restore settings. Snapshot information can be obtained by calling GetDeletedSites or GetSiteSnapshots API.", + "required": true, + "schema": { + "$ref": "#/definitions/SnapshotRestoreRequest" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Restore operation started." + }, + "200": { + "description": "Restore operation started." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get list of siteextensions for a web site, or a deployment slot.", + "description": "Description for Get list of siteextensions for a web site, or a deployment slot.", + "operationId": "WebApps_ListSiteExtensionsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API uses the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "SiteExtension information returned.", + "schema": { + "$ref": "#/definitions/SiteExtensionInfoCollection" + } + }, + "404": { + "description": "SiteExtension not found." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get site extension information by its ID for a web site, or a deployment slot.", + "description": "Description for Get site extension information by its ID for a web site, or a deployment slot.", + "operationId": "WebApps_GetSiteExtensionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "siteExtensionId", + "in": "path", + "description": "Site extension name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API uses the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "SiteExtension information returned.", + "schema": { + "$ref": "#/definitions/SiteExtensionInfo" + } + }, + "404": { + "description": "SiteExtension with an ID of {siteExtensionId} is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Install site extension on a web site, or a deployment slot.", + "description": "Description for Install site extension on a web site, or a deployment slot.", + "operationId": "WebApps_InstallSiteExtensionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "siteExtensionId", + "in": "path", + "description": "Site extension name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API uses the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Site Extension created.", + "schema": { + "$ref": "#/definitions/SiteExtensionInfo" + } + }, + "200": { + "description": "Site Extension created.", + "schema": { + "$ref": "#/definitions/SiteExtensionInfo" + } + }, + "429": { + "description": "Site Extension is being installed on another request: Rejecting current request." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Remove a site extension from a web site, or a deployment slot.", + "description": "Description for Remove a site extension from a web site, or a deployment slot.", + "operationId": "WebApps_DeleteSiteExtensionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "siteExtensionId", + "in": "path", + "description": "Site extension name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "SiteExtension terminated." + }, + "404": { + "description": "SiteExtension with an ID of {siteExtensionId} is not running." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotcopy": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Copies a deployment slot to another deployment slot of an app.", + "description": "Description for Copies a deployment slot to another deployment slot of an app.", + "operationId": "WebApps_CopySlotSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "copySlotEntity", + "in": "body", + "description": "JSON object that contains the target slot name and site config properties to override the source slot config. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmCopySlotEntity" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the source slot. If a slot is not specified, the production slot is used as the source slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Operation is in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Copy slot": { + "$ref": "./examples/CopySlot.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Get the difference in configuration settings between two web app slots.", + "description": "Description for Get the difference in configuration settings between two web app slots.", + "operationId": "WebApps_ListSlotDifferencesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slotSwapEntity", + "in": "body", + "description": "JSON object that contains the target slot name. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmSlotEntity" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the source slot. If a slot is not specified, the production slot is used as the source slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SlotDifferenceCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Swaps two deployment slots of an app.", + "description": "Description for Swaps two deployment slots of an app.", + "operationId": "WebApps_SwapSlotSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slotSwapEntity", + "in": "body", + "description": "JSON object that contains the target slot name. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmSlotEntity" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the source slot. If a slot is not specified, the production slot is used as the source slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Operation is in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns all Snapshots to the user.", + "description": "Description for Returns all Snapshots to the user.", + "operationId": "WebApps_ListSnapshotsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Website Name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Website Slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshotsdr": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns all Snapshots to the user from DRSecondary endpoint.", + "description": "Description for Returns all Snapshots to the user from DRSecondary endpoint.", + "operationId": "WebApps_ListSnapshotsFromDRSecondarySlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Website Name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Website Slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the source control configuration of an app.", + "description": "Description for Gets the source control configuration of an app.", + "operationId": "WebApps_GetSourceControlSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the source control configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved source control for web app.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "201": { + "description": "Create or update source control for web app still in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "202": { + "description": "Create or update source control for web app still in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the source control configuration of an app.", + "description": "Description for Updates the source control configuration of an app.", + "operationId": "WebApps_CreateOrUpdateSourceControlSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteSourceControl", + "in": "body", + "description": "JSON representation of a SiteSourceControl object. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the source control configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated source control for web app.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "201": { + "description": "Create or update source control for web app in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "202": { + "description": "Create or update source control for web app in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes the source control configuration of an app.", + "description": "Description for Deletes the source control configuration of an app.", + "operationId": "WebApps_DeleteSourceControlSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the source control configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted source control for web app." + }, + "202": { + "description": "Source control delete operation in progress." + }, + "404": { + "description": "Source control does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Updates the source control configuration of an app.", + "description": "Description for Updates the source control configuration of an app.", + "operationId": "WebApps_UpdateSourceControlSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteSourceControl", + "in": "body", + "description": "JSON representation of a SiteSourceControl object. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the source control configuration for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated source control for web app.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "201": { + "description": "Create or update source control for web app in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "202": { + "description": "Create or update source control for web app in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Starts an app (or deployment slot, if specified).", + "description": "Description for Starts an app (or deployment slot, if specified).", + "operationId": "WebApps_StartSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will start the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully started app." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/startNetworkTrace": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Start capturing network packets for the site.", + "description": "Description for Start capturing network packets for the site.", + "operationId": "WebApps_StartNetworkTraceSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "durationInSeconds", + "in": "query", + "description": "The duration to keep capturing in seconds.", + "type": "integer", + "format": "int32" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for this web app.", + "required": true, + "type": "string" + }, + { + "name": "maxFrameLength", + "in": "query", + "description": "The maximum frame length in bytes (Optional).", + "type": "integer", + "format": "int32" + }, + { + "name": "sasUrl", + "in": "query", + "description": "The Blob URL to store capture file.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Start a new network trace operation for a site": { + "$ref": "./examples/StartWebSiteNetworkTraceOperation.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Stops an app (or deployment slot, if specified).", + "description": "Description for Stops an app (or deployment slot, if specified).", + "operationId": "WebApps_StopSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will stop the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully stopped app." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stopNetworkTrace": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Stop ongoing capturing network packets for the site.", + "description": "Description for Stop ongoing capturing network packets for the site.", + "operationId": "WebApps_StopNetworkTraceSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for this web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Stopped." + }, + "204": { + "description": "Stopped." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop a currently running network trace operation for a site": { + "$ref": "./examples/StopWebSiteNetworkTrace.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Sync web app repository.", + "description": "Description for Sync web app repository.", + "operationId": "WebApps_SyncRepositorySlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully sync source control." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Syncs function trigger metadata to the management database", + "description": "Description for Syncs function trigger metadata to the management database", + "operationId": "WebApps_SyncFunctionTriggersSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List triggered web jobs for an app, or a deployment slot.", + "description": "Description for List triggered web jobs for an app, or a deployment slot.", + "operationId": "WebApps_ListTriggeredWebJobsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TriggeredWebJobCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a triggered web job by its ID for an app, or a deployment slot.", + "description": "Description for Gets a triggered web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_GetTriggeredWebJobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API uses the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/TriggeredWebJob" + } + }, + "404": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a triggered web job by its ID for an app, or a deployment slot.", + "description": "Description for Delete a triggered web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_DeleteTriggeredWebJobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes web job for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted continuous web job." + }, + "204": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List a triggered web job's history for an app, or a deployment slot.", + "description": "Description for List a triggered web job's history for an app, or a deployment slot.", + "operationId": "WebApps_ListTriggeredWebJobHistorySlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API uses the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/TriggeredJobHistoryCollection" + } + }, + "404": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a triggered web job's history by its ID for an app, , or a deployment slot.", + "description": "Description for Gets a triggered web job's history by its ID for an app, , or a deployment slot.", + "operationId": "WebApps_GetTriggeredWebJobHistorySlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "History ID.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API uses the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/TriggeredJobHistory" + } + }, + "404": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Run a triggered web job for an app, or a deployment slot.", + "description": "Description for Run a triggered web job for an app, or a deployment slot.", + "operationId": "WebApps_RunTriggeredWebJobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API uses the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Run a triggered web job." + }, + "404": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the quota usage information of an app (or deployment slot, if specified).", + "description": "Description for Gets the quota usage information of an app (or deployment slot, if specified).", + "operationId": "WebApps_ListUsagesSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get quota information of the production slot.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only information specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'.", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CsmUsageQuotaCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the virtual networks the app (or deployment slot) is connected to.", + "description": "Description for Gets the virtual networks the app (or deployment slot) is connected to.", + "operationId": "WebApps_ListVnetConnectionsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get virtual network connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a virtual network the app (or deployment slot) is connected to by name.", + "description": "Description for Gets a virtual network the app (or deployment slot) is connected to by name.", + "operationId": "WebApps_GetVnetConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the virtual network.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the named virtual network for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties (PATCH).", + "description": "Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties (PATCH).", + "operationId": "WebApps_CreateOrUpdateVnetConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of an existing Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a connection from an app (or deployment slot to a named virtual network.", + "description": "Description for Deletes a connection from an app (or deployment slot to a named virtual network.", + "operationId": "WebApps_DeleteVnetConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the virtual network.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the connection for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted virtual network." + }, + "404": { + "description": "Virtual network does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties (PATCH).", + "description": "Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties (PATCH).", + "operationId": "WebApps_UpdateVnetConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of an existing Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets an app's Virtual Network gateway.", + "description": "Description for Gets an app's Virtual Network gateway.", + "operationId": "WebApps_GetVnetConnectionGatewaySlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "gatewayName", + "in": "path", + "description": "Name of the gateway. Currently, the only supported string is \"primary\".", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get a gateway for the production slot's Virtual Network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + "404": { + "description": "Named gateway does not exist. Only the \"primary\" gateway is supported currently." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).", + "description": "Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).", + "operationId": "WebApps_CreateOrUpdateVnetConnectionGatewaySlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "gatewayName", + "in": "path", + "description": "Name of the gateway. Currently, the only supported string is \"primary\".", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "The properties to update this gateway with.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update a gateway for the production slot's Virtual Network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).", + "description": "Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).", + "operationId": "WebApps_UpdateVnetConnectionGatewaySlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "gatewayName", + "in": "path", + "description": "Name of the gateway. Currently, the only supported string is \"primary\".", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "The properties to update this gateway with.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update a gateway for the production slot's Virtual Network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List webjobs for an app, or a deployment slot.", + "description": "Description for List webjobs for an app, or a deployment slot.", + "operationId": "WebApps_ListWebJobsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WebJobCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get webjob information for an app, or a deployment slot.", + "description": "Description for Get webjob information for an app, or a deployment slot.", + "operationId": "WebApps_GetWebJobSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of the web job.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WebJob" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Get the difference in configuration settings between two web app slots.", + "description": "Description for Get the difference in configuration settings between two web app slots.", + "operationId": "WebApps_ListSlotDifferencesFromProduction", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slotSwapEntity", + "in": "body", + "description": "JSON object that contains the target slot name. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmSlotEntity" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SlotDifferenceCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Swaps two deployment slots of an app.", + "description": "Description for Swaps two deployment slots of an app.", + "operationId": "WebApps_SwapSlotWithProduction", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slotSwapEntity", + "in": "body", + "description": "JSON object that contains the target slot name. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmSlotEntity" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Operation is in progress." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns all Snapshots to the user.", + "description": "Description for Returns all Snapshots to the user.", + "operationId": "WebApps_ListSnapshots", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Website Name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshotsdr": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns all Snapshots to the user from DRSecondary endpoint.", + "description": "Description for Returns all Snapshots to the user from DRSecondary endpoint.", + "operationId": "WebApps_ListSnapshotsFromDRSecondary", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Website Name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the source control configuration of an app.", + "description": "Description for Gets the source control configuration of an app.", + "operationId": "WebApps_GetSourceControl", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved source control for web app.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "201": { + "description": "Create or update source control for web app still in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "202": { + "description": "Create or update source control for web app still in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates the source control configuration of an app.", + "description": "Description for Updates the source control configuration of an app.", + "operationId": "WebApps_CreateOrUpdateSourceControl", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteSourceControl", + "in": "body", + "description": "JSON representation of a SiteSourceControl object. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated source control for web app.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "201": { + "description": "Create or update source control for web app in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "202": { + "description": "Create or update source control for web app in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes the source control configuration of an app.", + "description": "Description for Deletes the source control configuration of an app.", + "operationId": "WebApps_DeleteSourceControl", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted source control for web app." + }, + "202": { + "description": "Source control delete operation in progress." + }, + "404": { + "description": "Source control does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Updates the source control configuration of an app.", + "description": "Description for Updates the source control configuration of an app.", + "operationId": "WebApps_UpdateSourceControl", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "siteSourceControl", + "in": "body", + "description": "JSON representation of a SiteSourceControl object. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully created or updated source control for web app.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "201": { + "description": "Create or update source control for web app in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "202": { + "description": "Create or update source control for web app in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Starts an app (or deployment slot, if specified).", + "description": "Description for Starts an app (or deployment slot, if specified).", + "operationId": "WebApps_Start", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully started app." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/startNetworkTrace": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Start capturing network packets for the site.", + "description": "Description for Start capturing network packets for the site.", + "operationId": "WebApps_StartNetworkTrace", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "name": "durationInSeconds", + "in": "query", + "description": "The duration to keep capturing in seconds.", + "type": "integer", + "format": "int32" + }, + { + "name": "maxFrameLength", + "in": "query", + "description": "The maximum frame length in bytes (Optional).", + "type": "integer", + "format": "int32" + }, + { + "name": "sasUrl", + "in": "query", + "description": "The Blob URL to store capture file.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "202": { + "description": "Operation is in progress.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkTrace" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Start a new network trace operation for a site": { + "$ref": "./examples/StartWebSiteNetworkTraceOperation.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Stops an app (or deployment slot, if specified).", + "description": "Description for Stops an app (or deployment slot, if specified).", + "operationId": "WebApps_Stop", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully stopped app." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stopNetworkTrace": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Stop ongoing capturing network packets for the site.", + "description": "Description for Stop ongoing capturing network packets for the site.", + "operationId": "WebApps_StopNetworkTrace", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Stopped." + }, + "204": { + "description": "Stopped." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop a currently running network trace operation for a site": { + "$ref": "./examples/StopWebSiteNetworkTrace.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Sync web app repository.", + "description": "Description for Sync web app repository.", + "operationId": "WebApps_SyncRepository", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully sync source control." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Syncs function trigger metadata to the management database", + "description": "Description for Syncs function trigger metadata to the management database", + "operationId": "WebApps_SyncFunctionTriggers", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List triggered web jobs for an app, or a deployment slot.", + "description": "Description for List triggered web jobs for an app, or a deployment slot.", + "operationId": "WebApps_ListTriggeredWebJobs", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TriggeredWebJobCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a triggered web job by its ID for an app, or a deployment slot.", + "description": "Description for Gets a triggered web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_GetTriggeredWebJob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/TriggeredWebJob" + } + }, + "404": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a triggered web job by its ID for an app, or a deployment slot.", + "description": "Description for Delete a triggered web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_DeleteTriggeredWebJob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted continuous web job." + }, + "204": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List a triggered web job's history for an app, or a deployment slot.", + "description": "Description for List a triggered web job's history for an app, or a deployment slot.", + "operationId": "WebApps_ListTriggeredWebJobHistory", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/TriggeredJobHistoryCollection" + } + }, + "404": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a triggered web job's history by its ID for an app, , or a deployment slot.", + "description": "Description for Gets a triggered web job's history by its ID for an app, , or a deployment slot.", + "operationId": "WebApps_GetTriggeredWebJobHistory", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "name": "id", + "in": "path", + "description": "History ID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/TriggeredJobHistory" + } + }, + "404": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Run a triggered web job for an app, or a deployment slot.", + "description": "Description for Run a triggered web job for an app, or a deployment slot.", + "operationId": "WebApps_RunTriggeredWebJob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Run a triggered web job." + }, + "404": { + "description": "Triggered web job does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the quota usage information of an app (or deployment slot, if specified).", + "description": "Description for Gets the quota usage information of an app (or deployment slot, if specified).", + "operationId": "WebApps_ListUsages", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only information specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'.", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/CsmUsageQuotaCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the virtual networks the app (or deployment slot) is connected to.", + "description": "Description for Gets the virtual networks the app (or deployment slot) is connected to.", + "operationId": "WebApps_ListVnetConnections", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a virtual network the app (or deployment slot) is connected to by name.", + "description": "Description for Gets a virtual network the app (or deployment slot) is connected to by name.", + "operationId": "WebApps_GetVnetConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the virtual network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties (PATCH).", + "description": "Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties (PATCH).", + "operationId": "WebApps_CreateOrUpdateVnetConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of an existing Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a connection from an app (or deployment slot to a named virtual network.", + "description": "Description for Deletes a connection from an app (or deployment slot to a named virtual network.", + "operationId": "WebApps_DeleteVnetConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the virtual network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted virtual network." + }, + "404": { + "description": "Virtual network does not exist." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties (PATCH).", + "description": "Description for Adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties (PATCH).", + "operationId": "WebApps_UpdateVnetConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of an existing Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets an app's Virtual Network gateway.", + "description": "Description for Gets an app's Virtual Network gateway.", + "operationId": "WebApps_GetVnetConnectionGateway", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "gatewayName", + "in": "path", + "description": "Name of the gateway. Currently, the only supported string is \"primary\".", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + "404": { + "description": "Named gateway does not exist. Only the \"primary\" gateway is supported currently." + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).", + "description": "Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).", + "operationId": "WebApps_CreateOrUpdateVnetConnectionGateway", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "gatewayName", + "in": "path", + "description": "Name of the gateway. Currently, the only supported string is \"primary\".", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "The properties to update this gateway with.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).", + "description": "Description for Adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH).", + "operationId": "WebApps_UpdateVnetConnectionGateway", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "vnetName", + "in": "path", + "description": "Name of the Virtual Network.", + "required": true, + "type": "string" + }, + { + "name": "gatewayName", + "in": "path", + "description": "Name of the gateway. Currently, the only supported string is \"primary\".", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "The properties to update this gateway with.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/VnetGateway" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "List webjobs for an app, or a deployment slot.", + "description": "Description for List webjobs for an app, or a deployment slot.", + "operationId": "WebApps_ListWebJobs", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WebJobCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get webjob information for an app, or a deployment slot.", + "description": "Description for Get webjob information for an app, or a deployment slot.", + "operationId": "WebApps_GetWebJob", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Site name.", + "required": true, + "type": "string" + }, + { + "name": "webJobName", + "in": "path", + "description": "Name of the web job.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WebJob" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AllowedAudiencesValidation": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AllowedAudiencesValidation resource specific properties", + "properties": { + "allowedAudiences": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "AppRegistration": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AppRegistration resource specific properties", + "properties": { + "appId": { + "type": "string" + }, + "appSecretSettingName": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ApplicationLogsConfig": { + "description": "Application logs configuration.", + "type": "object", + "properties": { + "fileSystem": { + "$ref": "#/definitions/FileSystemApplicationLogsConfig", + "description": "Application logs to file system configuration." + }, + "azureTableStorage": { + "$ref": "#/definitions/AzureTableStorageApplicationLogsConfig", + "description": "Application logs to azure table storage configuration." + }, + "azureBlobStorage": { + "$ref": "#/definitions/AzureBlobStorageApplicationLogsConfig", + "description": "Application logs to blob storage configuration." + } + } + }, + "AuthPlatform": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AuthPlatform resource specific properties", + "properties": { + "enabled": { + "type": "boolean" + }, + "runtimeVersion": { + "type": "string" + }, + "configFilePath": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "AzureActiveDirectory": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AzureActiveDirectory resource specific properties", + "properties": { + "enabled": { + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureActiveDirectoryRegistration" + }, + "login": { + "$ref": "#/definitions/AzureActiveDirectoryLogin" + }, + "validation": { + "$ref": "#/definitions/AzureActiveDirectoryValidation" + }, + "isAutoProvisioned": { + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "AzureActiveDirectoryLogin": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AzureActiveDirectoryLogin resource specific properties", + "properties": { + "disableWWWAuthenticate": { + "type": "boolean" + }, + "loginParameters": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "AzureActiveDirectoryRegistration": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AzureActiveDirectoryRegistration resource specific properties", + "properties": { + "openIdIssuer": { + "type": "string" + }, + "clientId": { + "type": "string" + }, + "clientSecretSettingName": { + "type": "string" + }, + "clientSecretCertificateThumbprint": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "AzureActiveDirectoryValidation": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "AzureActiveDirectoryValidation resource specific properties", + "properties": { + "jwtClaimChecks": { + "$ref": "#/definitions/JwtClaimChecks" + }, + "allowedAudiences": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "ArmIdWrapper": { + "description": "A wrapper for an ARM resource id", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true + } + } + }, + "AzureBlobStorageApplicationLogsConfig": { + "description": "Application logs azure blob storage configuration.", + "type": "object", + "properties": { + "level": { + "description": "Log level.", + "enum": [ + "Off", + "Verbose", + "Information", + "Warning", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "LogLevel", + "modelAsString": false + } + }, + "sasUrl": { + "description": "SAS url to a azure blob container with read/write/list/delete permissions.", + "type": "string" + }, + "retentionInDays": { + "format": "int32", + "description": "Retention in days.\nRemove blobs older than X days.\n0 or lower means no retention.", + "type": "integer" + } + } + }, + "AzureBlobStorageHttpLogsConfig": { + "description": "Http logs to azure blob storage configuration.", + "type": "object", + "properties": { + "sasUrl": { + "description": "SAS url to a azure blob container with read/write/list/delete permissions.", + "type": "string" + }, + "retentionInDays": { + "format": "int32", + "description": "Retention in days.\nRemove blobs older than X days.\n0 or lower means no retention.", + "type": "integer" + }, + "enabled": { + "description": "True if configuration is enabled, false if it is disabled and null if configuration is not set.", + "type": "boolean" + } + } + }, + "AzureStorageInfoValue": { + "description": "Azure Files or Blob Storage access information value for dictionary storage.", + "type": "object", + "properties": { + "type": { + "description": "Type of storage.", + "enum": [ + "AzureFiles", + "AzureBlob" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureStorageType", + "modelAsString": false + } + }, + "accountName": { + "description": "Name of the storage account.", + "type": "string" + }, + "shareName": { + "description": "Name of the file share (container name, for Blob storage).", + "type": "string" + }, + "accessKey": { + "description": "Access key for the storage account.", + "type": "string" + }, + "mountPath": { + "description": "Path to mount the storage within the site's runtime environment.", + "type": "string" + }, + "state": { + "description": "State of the storage account.", + "enum": [ + "Ok", + "InvalidCredentials", + "InvalidShare" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AzureStorageState", + "modelAsString": false + } + } + } + }, + "AzureStoragePropertyDictionaryResource": { + "description": "AzureStorageInfo dictionary resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Azure storage accounts.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AzureStorageInfoValue" + }, + "x-ms-client-flatten": true + } + } + }, + "AzureTableStorageApplicationLogsConfig": { + "description": "Application logs to Azure table storage configuration.", + "required": [ + "sasUrl" + ], + "type": "object", + "properties": { + "level": { + "description": "Log level.", + "enum": [ + "Off", + "Verbose", + "Information", + "Warning", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "LogLevel", + "modelAsString": false + } + }, + "sasUrl": { + "description": "SAS URL to an Azure table with add/query/delete permissions.", + "type": "string" + } + } + }, + "BackupItem": { + "description": "Backup description.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "BackupItem resource specific properties", + "properties": { + "id": { + "format": "int32", + "description": "Id of the backup.", + "type": "integer", + "readOnly": true, + "x-ms-client-name": "BackupId" + }, + "storageAccountUrl": { + "description": "SAS URL for the storage account container which contains this backup.", + "type": "string", + "readOnly": true + }, + "blobName": { + "description": "Name of the blob which contains data for this backup.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of this backup.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Backup status.", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "TimedOut", + "Created", + "Skipped", + "PartiallySucceeded", + "DeleteInProgress", + "DeleteFailed", + "Deleted" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupItemStatus", + "modelAsString": false + } + }, + "sizeInBytes": { + "format": "int64", + "description": "Size of the backup in bytes.", + "type": "integer", + "readOnly": true + }, + "created": { + "format": "date-time", + "description": "Timestamp of the backup creation.", + "type": "string", + "readOnly": true + }, + "log": { + "description": "Details regarding this backup. Might contain an error message.", + "type": "string", + "readOnly": true + }, + "databases": { + "description": "List of databases included in the backup.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseBackupSetting" + }, + "readOnly": true + }, + "scheduled": { + "description": "True if this backup has been created due to a schedule being triggered.", + "type": "boolean", + "readOnly": true + }, + "lastRestoreTimeStamp": { + "format": "date-time", + "description": "Timestamp of a last restore operation which used this backup.", + "type": "string", + "readOnly": true + }, + "finishedTimeStamp": { + "format": "date-time", + "description": "Timestamp when this backup finished.", + "type": "string", + "readOnly": true + }, + "correlationId": { + "description": "Unique correlation identifier. Please use this along with the timestamp while communicating with Azure support.", + "type": "string", + "readOnly": true + }, + "websiteSizeInBytes": { + "format": "int64", + "description": "Size of the original web app which has been backed up.", + "type": "integer", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "BackupItemCollection": { + "description": "Collection of backup items.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupItem" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "BackupRequest": { + "description": "Description of a backup which will be performed.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "BackupRequest resource specific properties", + "required": [ + "storageAccountUrl" + ], + "properties": { + "backupName": { + "description": "Name of the backup.", + "type": "string" + }, + "enabled": { + "description": "True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled.", + "type": "boolean" + }, + "storageAccountUrl": { + "description": "SAS URL to the container.", + "type": "string" + }, + "backupSchedule": { + "$ref": "#/definitions/BackupSchedule", + "description": "Schedule for the backup if it is executed periodically." + }, + "databases": { + "description": "Databases included in the backup.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseBackupSetting" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "BackupSchedule": { + "description": "Description of a backup schedule. Describes how often should be the backup performed and what should be the retention policy.", + "required": [ + "frequencyInterval", + "frequencyUnit", + "keepAtLeastOneBackup", + "retentionPeriodInDays" + ], + "type": "object", + "properties": { + "frequencyInterval": { + "format": "int32", + "description": "How often the backup should be executed (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be set to Day)", + "default": 7, + "type": "integer" + }, + "frequencyUnit": { + "description": "The unit of time for how often the backup should be executed (e.g. for weekly backup, this should be set to Day and FrequencyInterval should be set to 7)", + "default": "Day", + "enum": [ + "Day", + "Hour" + ], + "type": "string", + "x-ms-enum": { + "name": "FrequencyUnit", + "modelAsString": false + } + }, + "keepAtLeastOneBackup": { + "description": "True if the retention policy should always keep at least one backup in the storage account, regardless how old it is; false otherwise.", + "default": true, + "type": "boolean" + }, + "retentionPeriodInDays": { + "format": "int32", + "description": "After how many days backups should be deleted.", + "default": 30, + "type": "integer" + }, + "startTime": { + "format": "date-time", + "description": "When the schedule should start working.", + "type": "string" + }, + "lastExecutionTime": { + "format": "date-time", + "description": "Last time when this schedule was triggered.", + "type": "string", + "readOnly": true + } + } + }, + "BlobStorageTokenStore": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "BlobStorageTokenStore resource specific properties", + "properties": { + "sasUrlSettingName": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ClientRegistration": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ClientRegistration resource specific properties", + "properties": { + "clientId": { + "type": "string" + }, + "clientSecretSettingName": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ConnStringValueTypePair": { + "description": "Database connection string value to type pair.", + "required": [ + "value", + "type" + ], + "type": "object", + "properties": { + "value": { + "description": "Value of pair.", + "type": "string" + }, + "type": { + "description": "Type of database.", + "enum": [ + "MySql", + "SQLServer", + "SQLAzure", + "Custom", + "NotificationHub", + "ServiceBus", + "EventHub", + "ApiHub", + "DocDb", + "RedisCache", + "PostgreSQL" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectionStringType", + "modelAsString": false + } + } + } + }, + "ConnectionStringDictionary": { + "description": "String dictionary resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Connection strings.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ConnStringValueTypePair" + }, + "x-ms-client-flatten": true + } + } + }, + "ContainerCpuStatistics": { + "type": "object", + "properties": { + "cpuUsage": { + "$ref": "#/definitions/ContainerCpuUsage" + }, + "systemCpuUsage": { + "format": "int64", + "type": "integer" + }, + "onlineCpuCount": { + "format": "int32", + "type": "integer" + }, + "throttlingData": { + "$ref": "#/definitions/ContainerThrottlingData" + } + } + }, + "ContainerCpuUsage": { + "type": "object", + "properties": { + "totalUsage": { + "format": "int64", + "type": "integer" + }, + "perCpuUsage": { + "type": "array", + "items": { + "format": "int64", + "type": "integer" + } + }, + "kernelModeUsage": { + "format": "int64", + "type": "integer" + }, + "userModeUsage": { + "format": "int64", + "type": "integer" + } + } + }, + "ContainerInfo": { + "type": "object", + "properties": { + "currentTimeStamp": { + "format": "date-time", + "type": "string" + }, + "previousTimeStamp": { + "format": "date-time", + "type": "string" + }, + "currentCpuStats": { + "$ref": "#/definitions/ContainerCpuStatistics" + }, + "previousCpuStats": { + "$ref": "#/definitions/ContainerCpuStatistics" + }, + "memoryStats": { + "$ref": "#/definitions/ContainerMemoryStatistics" + }, + "name": { + "type": "string" + }, + "id": { + "type": "string" + }, + "eth0": { + "$ref": "#/definitions/ContainerNetworkInterfaceStatistics" + } + } + }, + "ContainerMemoryStatistics": { + "type": "object", + "properties": { + "usage": { + "format": "int64", + "type": "integer" + }, + "maxUsage": { + "format": "int64", + "type": "integer" + }, + "limit": { + "format": "int64", + "type": "integer" + } + } + }, + "ContainerNetworkInterfaceStatistics": { + "type": "object", + "properties": { + "rxBytes": { + "format": "int64", + "type": "integer" + }, + "rxPackets": { + "format": "int64", + "type": "integer" + }, + "rxErrors": { + "format": "int64", + "type": "integer" + }, + "rxDropped": { + "format": "int64", + "type": "integer" + }, + "txBytes": { + "format": "int64", + "type": "integer" + }, + "txPackets": { + "format": "int64", + "type": "integer" + }, + "txErrors": { + "format": "int64", + "type": "integer" + }, + "txDropped": { + "format": "int64", + "type": "integer" + } + } + }, + "ContainerThrottlingData": { + "type": "object", + "properties": { + "periods": { + "format": "int32", + "type": "integer" + }, + "throttledPeriods": { + "format": "int32", + "type": "integer" + }, + "throttledTime": { + "format": "int32", + "type": "integer" + } + } + }, + "ContinuousWebJob": { + "description": "Continuous Web Job Information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ContinuousWebJob resource specific properties", + "properties": { + "status": { + "description": "Job status.", + "enum": [ + "Initializing", + "Starting", + "Running", + "PendingRestart", + "Stopped" + ], + "type": "string", + "x-ms-enum": { + "name": "ContinuousWebJobStatus", + "modelAsString": false + } + }, + "detailed_status": { + "description": "Detailed status.", + "type": "string" + }, + "log_url": { + "description": "Log URL.", + "type": "string" + }, + "run_command": { + "description": "Run command.", + "type": "string" + }, + "url": { + "description": "Job URL.", + "type": "string" + }, + "extra_info_url": { + "description": "Extra Info URL.", + "type": "string" + }, + "web_job_type": { + "description": "Job type.", + "enum": [ + "Continuous", + "Triggered" + ], + "type": "string", + "x-ms-enum": { + "name": "WebJobType", + "modelAsString": false + } + }, + "error": { + "description": "Error information.", + "type": "string" + }, + "using_sdk": { + "description": "Using SDK?", + "type": "boolean" + }, + "settings": { + "description": "Job settings.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "ContinuousWebJobCollection": { + "description": "Collection of Kudu continuous web job information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ContinuousWebJob" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "CookieExpiration": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CookieExpiration resource specific properties", + "properties": { + "convention": { + "enum": [ + "FixedTime", + "IdentityProviderDerived" + ], + "type": "string", + "x-ms-enum": { + "name": "CookieExpirationConvention", + "modelAsString": false + } + }, + "timeToExpiration": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "CsmCopySlotEntity": { + "description": "Copy deployment slot parameters.", + "required": [ + "targetSlot", + "siteConfig" + ], + "type": "object", + "properties": { + "targetSlot": { + "description": "Destination deployment slot during copy operation.", + "type": "string" + }, + "siteConfig": { + "$ref": "./CommonDefinitions.json#/definitions/SiteConfig", + "description": "The site object which will be merged with the source slot site\nto produce new destination slot site object.\nnull to just copy source slot content. Otherwise a Site\nobject with properties to override source slot site." + } + } + }, + "CsmPublishingCredentialsPoliciesCollection": { + "description": "Publishing Credentials Policies collection.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CsmPublishingCredentialsPoliciesCollection resource specific properties", + "required": [ + "ftp", + "scm" + ], + "properties": { + "ftp": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity", + "description": "Whether FTP is allowed." + }, + "scm": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity", + "description": "Whether Scm Basic Auth is allowed." + } + }, + "x-ms-client-flatten": true + } + } + }, + "CsmPublishingCredentialsPoliciesEntity": { + "description": "Publishing Credentials Policies parameters.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CsmPublishingCredentialsPoliciesEntity resource specific properties", + "required": [ + "allow" + ], + "properties": { + "allow": { + "description": "true to allow access to a publishing method; otherwise, false.", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "CsmPublishingProfileOptions": { + "description": "Publishing options for requested profile.", + "type": "object", + "properties": { + "format": { + "description": "Name of the format. Valid values are: \nFileZilla3\nWebDeploy -- default\nFtp", + "enum": [ + "FileZilla3", + "WebDeploy", + "Ftp" + ], + "type": "string", + "x-ms-enum": { + "name": "PublishingProfileFormat", + "modelAsString": true + } + }, + "includeDisasterRecoveryEndpoints": { + "description": "Include the DisasterRecover endpoint if true", + "type": "boolean" + } + } + }, + "CsmSlotEntity": { + "description": "Deployment slot parameters.", + "required": [ + "targetSlot", + "preserveVnet" + ], + "type": "object", + "properties": { + "targetSlot": { + "description": "Destination deployment slot during swap operation.", + "type": "string" + }, + "preserveVnet": { + "description": "true to preserve Virtual Network to the slot during swap; otherwise, false.", + "type": "boolean" + } + } + }, + "CustomHostnameAnalysisResult": { + "description": "Custom domain analysis.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CustomHostnameAnalysisResult resource specific properties", + "properties": { + "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": { + "$ref": "./CommonDefinitions.json#/definitions/ErrorEntity", + "description": "Raw failure information if DNS verification fails.", + "readOnly": true + }, + "hasConflictOnScaleUnit": { + "description": "true if there is a conflict on a scale unit; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "hasConflictAcrossSubscription": { + "description": "true if there is a conflict across subscriptions; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "conflictingAppResourceId": { + "description": "Name of the conflicting app on scale unit if it's within the same subscription.", + "type": "string", + "readOnly": true + }, + "cNameRecords": { + "description": "CName records controller can see for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "txtRecords": { + "description": "TXT records controller can see for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "aRecords": { + "description": "A records controller can see for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "alternateCNameRecords": { + "description": "Alternate CName records controller can see for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "alternateTxtRecords": { + "description": "Alternate TXT records controller can see for this hostname.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "CustomOpenIdConnectProvider": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CustomOpenIdConnectProvider resource specific properties", + "properties": { + "enabled": { + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/OpenIdConnectRegistration" + }, + "login": { + "$ref": "#/definitions/OpenIdConnectLogin" + } + }, + "x-ms-client-flatten": true + } + } + }, + "DatabaseBackupSetting": { + "description": "Database backup settings.", + "required": [ + "databaseType" + ], + "type": "object", + "properties": { + "databaseType": { + "description": "Database type (e.g. SqlAzure / MySql).", + "enum": [ + "SqlAzure", + "MySql", + "LocalMySql", + "PostgreSql" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseType", + "modelAsString": true + } + }, + "name": { + "type": "string" + }, + "connectionStringName": { + "description": "Contains a connection string name that is linked to the SiteConfig.ConnectionStrings.\nThis is used during restore with overwrite connection strings options.", + "type": "string" + }, + "connectionString": { + "description": "Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one.", + "type": "string" + } + } + }, + "DeletedAppRestoreRequest": { + "description": "Details about restoring a deleted app.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "DeletedAppRestoreRequest resource specific properties", + "properties": { + "deletedSiteId": { + "description": "ARM resource ID of the deleted app. Example:\n/subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId}", + "type": "string" + }, + "recoverConfiguration": { + "description": "If true, deleted site configuration, in addition to content, will be restored.", + "type": "boolean" + }, + "snapshotTime": { + "description": "Point in time to restore the deleted app from, formatted as a DateTime string. \nIf unspecified, default value is the time that the app was deleted.", + "type": "string" + }, + "useDRSecondary": { + "description": "If true, the snapshot is retrieved from DRSecondary endpoint.", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "Deployment": { + "description": "User credentials used for publishing activity.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Deployment resource specific properties", + "properties": { + "status": { + "format": "int32", + "description": "Deployment status.", + "type": "integer" + }, + "message": { + "description": "Details about deployment status.", + "type": "string" + }, + "author": { + "description": "Who authored the deployment.", + "type": "string" + }, + "deployer": { + "description": "Who performed the deployment.", + "type": "string" + }, + "author_email": { + "description": "Author email.", + "type": "string" + }, + "start_time": { + "format": "date-time", + "description": "Start time.", + "type": "string" + }, + "end_time": { + "format": "date-time", + "description": "End time.", + "type": "string" + }, + "active": { + "description": "True if deployment is currently active, false if completed and null if not started.", + "type": "boolean" + }, + "details": { + "description": "Details on deployment.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "DeploymentCollection": { + "description": "Collection of app deployments.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Deployment" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "EnabledConfig": { + "description": "Enabled configuration.", + "type": "object", + "properties": { + "enabled": { + "description": "True if configuration is enabled, false if it is disabled and null if configuration is not set.", + "type": "boolean" + } + } + }, + "Facebook": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Facebook resource specific properties", + "properties": { + "enabled": { + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppRegistration" + }, + "graphApiVersion": { + "type": "string" + }, + "login": { + "$ref": "#/definitions/LoginScopes" + } + }, + "x-ms-client-flatten": true + } + } + }, + "FileSystemApplicationLogsConfig": { + "description": "Application logs to file system configuration.", + "type": "object", + "properties": { + "level": { + "description": "Log level.", + "default": "Off", + "enum": [ + "Off", + "Verbose", + "Information", + "Warning", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "LogLevel", + "modelAsString": false + } + } + } + }, + "FileSystemHttpLogsConfig": { + "description": "Http logs to file system configuration.", + "type": "object", + "properties": { + "retentionInMb": { + "format": "int32", + "description": "Maximum size in megabytes that http log files can use.\nWhen reached old log files will be removed to make space for new ones.\nValue can range between 25 and 100.", + "maximum": 100, + "minimum": 25, + "type": "integer" + }, + "retentionInDays": { + "format": "int32", + "description": "Retention in days.\nRemove files older than X days.\n0 or lower means no retention.", + "type": "integer" + }, + "enabled": { + "description": "True if configuration is enabled, false if it is disabled and null if configuration is not set.", + "type": "boolean" + } + } + }, + "FileSystemTokenStore": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "FileSystemTokenStore resource specific properties", + "properties": { + "directory": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ForwardProxy": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ForwardProxy resource specific properties", + "properties": { + "convention": { + "enum": [ + "NoProxy", + "Standard", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ForwardProxyConvention", + "modelAsString": false + } + }, + "customHostHeaderName": { + "type": "string" + }, + "customProtoHeaderName": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "FunctionEnvelope": { + "description": "Function information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "FunctionEnvelope resource specific properties", + "properties": { + "function_app_id": { + "description": "Function App ID.", + "type": "string" + }, + "script_root_path_href": { + "description": "Script root path URI.", + "type": "string" + }, + "script_href": { + "description": "Script URI.", + "type": "string" + }, + "config_href": { + "description": "Config URI.", + "type": "string" + }, + "test_data_href": { + "description": "Test data URI.", + "type": "string" + }, + "secrets_file_href": { + "description": "Secrets file URI.", + "type": "string" + }, + "href": { + "description": "Function URI.", + "type": "string" + }, + "config": { + "description": "Config information.", + "type": "object" + }, + "files": { + "description": "File list.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "test_data": { + "description": "Test data used when testing via the Azure Portal.", + "type": "string" + }, + "invoke_url_template": { + "description": "The invocation URL", + "type": "string" + }, + "language": { + "description": "The function language", + "type": "string" + }, + "isDisabled": { + "description": "Gets or sets a value indicating whether the function is disabled", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "FunctionEnvelopeCollection": { + "description": "Collection of Kudu function information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/FunctionEnvelope" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "FunctionSecrets": { + "description": "Function secrets.", + "type": "object", + "properties": { + "key": { + "description": "Secret key.", + "type": "string" + }, + "trigger_url": { + "description": "Trigger URL.", + "type": "string" + } + } + }, + "GitHub": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "GitHub resource specific properties", + "properties": { + "enabled": { + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration" + }, + "login": { + "$ref": "#/definitions/LoginScopes" + } + }, + "x-ms-client-flatten": true + } + } + }, + "GlobalValidation": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "GlobalValidation resource specific properties", + "properties": { + "requireAuthentication": { + "type": "boolean" + }, + "unauthenticatedClientAction": { + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ], + "type": "string", + "x-ms-enum": { + "name": "UnauthenticatedClientActionV2", + "modelAsString": false + } + }, + "redirectToProvider": { + "type": "string" + }, + "excludedPaths": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "Google": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Google resource specific properties", + "properties": { + "enabled": { + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration" + }, + "login": { + "$ref": "#/definitions/LoginScopes" + }, + "validation": { + "$ref": "#/definitions/AllowedAudiencesValidation" + } + }, + "x-ms-client-flatten": true + } + } + }, + "HostKeys": { + "description": "Functions host level keys.", + "type": "object", + "properties": { + "masterKey": { + "description": "Secret key.", + "type": "string" + }, + "functionKeys": { + "description": "Host level function keys.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemKeys": { + "description": "System keys.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "HostNameBinding": { + "description": "A hostname binding object.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "HostNameBinding resource specific properties", + "properties": { + "siteName": { + "description": "App Service app name.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "domainId": { + "description": "Fully qualified ARM domain resource URI.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "azureResourceName": { + "description": "Azure resource name.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "azureResourceType": { + "description": "Azure resource type.", + "enum": [ + "Website", + "TrafficManager" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureResourceType", + "modelAsString": false + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "customHostNameDnsRecordType": { + "description": "Custom DNS record type.", + "enum": [ + "CName", + "A" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHostNameDnsRecordType", + "modelAsString": false + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "hostNameType": { + "description": "Hostname type.", + "enum": [ + "Verified", + "Managed" + ], + "type": "string", + "x-ms-enum": { + "name": "HostNameType", + "modelAsString": false + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "sslState": { + "description": "SSL type", + "enum": [ + "Disabled", + "SniEnabled", + "IpBasedEnabled" + ], + "type": "string", + "x-ms-enum": { + "name": "SslState", + "modelAsString": false + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "thumbprint": { + "description": "SSL certificate thumbprint", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "virtualIP": { + "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "HostNameBindingCollection": { + "description": "Collection of hostname bindings.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/HostNameBinding" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "HttpLogsConfig": { + "description": "Http logs configuration.", + "type": "object", + "properties": { + "fileSystem": { + "$ref": "#/definitions/FileSystemHttpLogsConfig", + "description": "Http logs to file system configuration." + }, + "azureBlobStorage": { + "$ref": "#/definitions/AzureBlobStorageHttpLogsConfig", + "description": "Http logs to azure blob storage configuration." + } + } + }, + "HttpSettings": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "HttpSettings resource specific properties", + "properties": { + "requireHttps": { + "type": "boolean" + }, + "routes": { + "$ref": "#/definitions/HttpSettingsRoutes" + }, + "forwardProxy": { + "$ref": "#/definitions/ForwardProxy" + } + }, + "x-ms-client-flatten": true + } + } + }, + "HttpSettingsRoutes": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "HttpSettingsRoutes resource specific properties", + "properties": { + "apiPrefix": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "IdentityProviders": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "IdentityProviders resource specific properties", + "properties": { + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory" + }, + "facebook": { + "$ref": "#/definitions/Facebook" + }, + "gitHub": { + "$ref": "#/definitions/GitHub" + }, + "google": { + "$ref": "#/definitions/Google" + }, + "twitter": { + "$ref": "#/definitions/Twitter" + }, + "customOpenIdConnectProviders": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "JwtClaimChecks": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "JwtClaimChecks resource specific properties", + "properties": { + "allowedGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "allowedClientApplications": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "KeyInfo": { + "description": "Function key info.", + "type": "object", + "properties": { + "name": { + "description": "Key name", + "type": "string" + }, + "value": { + "description": "Key value", + "type": "string" + } + } + }, + "Login": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Login resource specific properties", + "properties": { + "routes": { + "$ref": "#/definitions/LoginRoutes" + }, + "tokenStore": { + "$ref": "#/definitions/TokenStore" + }, + "preserveUrlFragmentsForLogins": { + "type": "boolean" + }, + "allowedExternalRedirectUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "cookieExpiration": { + "$ref": "#/definitions/CookieExpiration" + }, + "nonce": { + "$ref": "#/definitions/Nonce" + } + }, + "x-ms-client-flatten": true + } + } + }, + "LoginRoutes": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "LoginRoutes resource specific properties", + "properties": { + "logoutEndpoint": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "LoginScopes": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "LoginScopes resource specific properties", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "MSDeploy": { + "description": "MSDeploy ARM PUT information", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MSDeployCore", + "description": "Core resource properties", + "properties": { + "addOnPackages": { + "description": "List of Add-On packages. Add-On packages implicitly enable the Do Not Delete MSDeploy rule.", + "type": "array", + "items": { + "$ref": "#/definitions/MSDeployCore" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "MSDeployCore": { + "description": "MSDeploy ARM PUT core information", + "type": "object", + "properties": { + "packageUri": { + "description": "Package URI", + "type": "string" + }, + "connectionString": { + "description": "SQL Connection String", + "type": "string" + }, + "dbType": { + "description": "Database Type", + "type": "string" + }, + "setParametersXmlFileUri": { + "description": "URI of MSDeploy Parameters file. Must not be set if SetParameters is used.", + "type": "string" + }, + "setParameters": { + "description": "MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "skipAppData": { + "description": "Controls whether the MSDeploy operation skips the App_Data directory.\nIf set to true, the existing App_Data directory on the destination\nwill not be deleted, and any App_Data directory in the source will be ignored.\nSetting is false by default.", + "type": "boolean" + }, + "appOffline": { + "description": "Sets the AppOffline rule while the MSDeploy operation executes.\nSetting is false by default.", + "type": "boolean" + } + } + }, + "MSDeployLog": { + "description": "MSDeploy log", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "MSDeployLog resource specific properties", + "properties": { + "entries": { + "description": "List of log entry messages", + "type": "array", + "items": { + "$ref": "#/definitions/MSDeployLogEntry" + }, + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "MSDeployLogEntry": { + "description": "MSDeploy log entry", + "type": "object", + "properties": { + "time": { + "format": "date-time", + "description": "Timestamp of log entry", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Log entry type", + "enum": [ + "Message", + "Warning", + "Error" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MSDeployLogEntryType", + "modelAsString": false + } + }, + "message": { + "description": "Log entry message", + "type": "string", + "readOnly": true + } + } + }, + "MSDeployStatus": { + "description": "MSDeploy ARM response", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "MSDeployStatus resource specific properties", + "properties": { + "deployer": { + "description": "Username of deployer", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state", + "enum": [ + "accepted", + "running", + "succeeded", + "failed", + "canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MSDeployProvisioningState", + "modelAsString": false + } + }, + "startTime": { + "format": "date-time", + "description": "Start time of deploy operation", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "End time of deploy operation", + "type": "string", + "readOnly": true + }, + "complete": { + "description": "Whether the deployment operation has completed", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "MigrateMySqlRequest": { + "description": "MySQL migration request.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "MigrateMySqlRequest resource specific properties", + "required": [ + "connectionString", + "migrationType" + ], + "properties": { + "connectionString": { + "description": "Connection string to the remote MySQL database.", + "type": "string" + }, + "migrationType": { + "description": "The type of migration operation to be done", + "enum": [ + "LocalToRemote", + "RemoteToLocal" + ], + "type": "string", + "x-ms-enum": { + "name": "MySqlMigrationType", + "modelAsString": false + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "MigrateMySqlStatus": { + "description": "MySQL migration status.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "MigrateMySqlStatus resource specific properties", + "properties": { + "migrationOperationStatus": { + "description": "Status of the migration task.", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "TimedOut", + "Created" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false + } + }, + "operationId": { + "description": "Operation ID for the migration task.", + "type": "string", + "readOnly": true + }, + "localMySqlEnabled": { + "description": "True if the web app has in app MySql enabled", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "NetworkFeatures": { + "description": "Full view of network features for an app (presently VNET integration and Hybrid Connections).", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "NetworkFeatures resource specific properties", + "properties": { + "virtualNetworkName": { + "description": "The Virtual Network name.", + "type": "string", + "readOnly": true + }, + "virtualNetworkConnection": { + "$ref": "./CommonDefinitions.json#/definitions/VnetInfo", + "description": "The Virtual Network summary view.", + "readOnly": true + }, + "hybridConnections": { + "description": "The Hybrid Connections summary view.", + "type": "array", + "items": { + "$ref": "#/definitions/RelayServiceConnectionEntity" + }, + "readOnly": true + }, + "hybridConnectionsV2": { + "description": "The Hybrid Connection V2 (Service Bus) view.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/HybridConnection" + }, + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "NetworkTrace": { + "description": "Network trace", + "type": "object", + "properties": { + "path": { + "description": "Local file path for the captured network trace file.", + "type": "string" + }, + "status": { + "description": "Current status of the network trace operation, same as Operation.Status (InProgress/Succeeded/Failed).", + "type": "string" + }, + "message": { + "description": "Detailed message of a network trace operation, e.g. error message in case of failure.", + "type": "string" + } + } + }, + "Nonce": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Nonce resource specific properties", + "properties": { + "validateNonce": { + "type": "boolean" + }, + "nonceExpirationInterval": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "OpenIdConnectClientCredential": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "OpenIdConnectClientCredential resource specific properties", + "properties": { + "method": { + "enum": [ + "ClientSecretPost" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientCredentialMethod", + "modelAsString": false + } + }, + "clientSecretSettingName": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "OpenIdConnectConfig": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "OpenIdConnectConfig resource specific properties", + "properties": { + "authorizationEndpoint": { + "type": "string" + }, + "tokenEndpoint": { + "type": "string" + }, + "issuer": { + "type": "string" + }, + "certificationUri": { + "type": "string" + }, + "wellKnownOpenIdConfiguration": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "OpenIdConnectLogin": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "OpenIdConnectLogin resource specific properties", + "properties": { + "nameClaimType": { + "type": "string" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "OpenIdConnectRegistration": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "OpenIdConnectRegistration resource specific properties", + "properties": { + "clientId": { + "type": "string" + }, + "clientCredential": { + "$ref": "#/definitions/OpenIdConnectClientCredential" + }, + "openIdConnectConfiguration": { + "$ref": "#/definitions/OpenIdConnectConfig" + } + }, + "x-ms-client-flatten": true + } + } + }, + "PerfMonCounterCollection": { + "description": "Collection of performance monitor counters.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PerfMonResponse" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "PerfMonResponse": { + "description": "Performance monitor API response.", + "type": "object", + "properties": { + "code": { + "description": "The response code.", + "type": "string" + }, + "message": { + "description": "The message.", + "type": "string" + }, + "data": { + "$ref": "#/definitions/PerfMonSet", + "description": "The performance monitor counters." + } + } + }, + "PerfMonSample": { + "description": "Performance monitor sample in a set.", + "type": "object", + "properties": { + "time": { + "format": "date-time", + "description": "Point in time for which counter was measured.", + "type": "string" + }, + "instanceName": { + "description": "Name of the server on which the measurement is made.", + "type": "string" + }, + "value": { + "format": "double", + "description": "Value of counter at a certain time.", + "type": "number" + } + } + }, + "PerfMonSet": { + "description": "Metric information.", + "type": "object", + "properties": { + "name": { + "description": "Unique key name of the counter.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Start time of the period.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "End time of the period.", + "type": "string" + }, + "timeGrain": { + "description": "Presented time grain.", + "type": "string" + }, + "values": { + "description": "Collection of workers that are active during this time.", + "type": "array", + "items": { + "$ref": "#/definitions/PerfMonSample" + } + } + } + }, + "PremierAddOn": { + "description": "Premier add-on.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "PremierAddOn resource specific properties", + "properties": { + "sku": { + "description": "Premier add on SKU.", + "type": "string" + }, + "product": { + "description": "Premier add on Product.", + "type": "string" + }, + "vendor": { + "description": "Premier add on Vendor.", + "type": "string" + }, + "marketplacePublisher": { + "description": "Premier add on Marketplace publisher.", + "type": "string" + }, + "marketplaceOffer": { + "description": "Premier add on Marketplace offer.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "PremierAddOnPatchResource": { + "description": "ARM resource for a PremierAddOn.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "PremierAddOnPatchResource resource specific properties", + "properties": { + "sku": { + "description": "Premier add on SKU.", + "type": "string" + }, + "product": { + "description": "Premier add on Product.", + "type": "string" + }, + "vendor": { + "description": "Premier add on Vendor.", + "type": "string" + }, + "marketplacePublisher": { + "description": "Premier add on Marketplace publisher.", + "type": "string" + }, + "marketplaceOffer": { + "description": "Premier add on Marketplace offer.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "PrivateAccess": { + "description": "Description of the parameters of Private Access for a Web Site.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "PrivateAccess resource specific properties", + "properties": { + "enabled": { + "description": "Whether private access is enabled or not.", + "type": "boolean" + }, + "virtualNetworks": { + "description": "The Virtual Networks (and subnets) allowed to access the site privately.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateAccessVirtualNetwork" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "PrivateAccessSubnet": { + "description": "Description of a Virtual Network subnet that is useable for private site access.", + "type": "object", + "properties": { + "name": { + "description": "The name of the subnet.", + "type": "string" + }, + "key": { + "format": "int32", + "description": "The key (ID) of the subnet.", + "type": "integer" + } + } + }, + "PrivateAccessVirtualNetwork": { + "description": "Description of a Virtual Network that is useable for private site access.", + "type": "object", + "properties": { + "name": { + "description": "The name of the Virtual Network.", + "type": "string" + }, + "key": { + "format": "int32", + "description": "The key (ID) of the Virtual Network.", + "type": "integer" + }, + "resourceId": { + "description": "The ARM uri of the Virtual Network", + "type": "string" + }, + "subnets": { + "description": "A List of subnets that access is allowed to on this Virtual Network. An empty array (but not null) is interpreted to mean that all subnets are allowed within this Virtual Network.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateAccessSubnet" + } + } + } + }, + "PrivateEndpointConnectionResource": { + "description": "Private Endpoint Connection ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RemotePrivateEndpointConnection", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "PrivateLinkConnectionApprovalRequest": { + "description": "A request to approve or reject a private endpoint connection", + "type": "object", + "properties": { + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkConnectionState" + } + } + }, + "PrivateLinkConnectionApprovalRequestResource": { + "description": "Private Endpoint Connection Approval ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "PrivateLinkConnectionState": { + "description": "The state of a private link connection", + "type": "object", + "properties": { + "status": { + "description": "Status of a private link connection", + "type": "string" + }, + "description": { + "description": "Description of a private link connection", + "type": "string" + }, + "actionsRequired": { + "description": "ActionsRequired for a private link connection", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "required": [ + "id", + "name", + "type", + "properties" + ], + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "description": "Name of a private link resource", + "type": "string" + }, + "type": { + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Properties of a private link resource" + } + } + }, + "PrivateLinkResourceProperties": { + "description": "Properties of a private link resource", + "type": "object", + "properties": { + "groupId": { + "description": "GroupId of a private link resource", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "RequiredMembers of a private link resource", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "description": "RequiredZoneNames of a private link resource", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PrivateLinkResourcesWrapper": { + "description": "Wrapper for a collection of private link resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "ProcessInfo": { + "description": "Process Information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ProcessInfo resource specific properties", + "properties": { + "identifier": { + "format": "int32", + "description": "ARM Identifier for deployment.", + "type": "integer", + "readOnly": true + }, + "deployment_name": { + "description": "Deployment name.", + "type": "string" + }, + "href": { + "description": "HRef URI.", + "type": "string" + }, + "minidump": { + "description": "Minidump URI.", + "type": "string" + }, + "is_profile_running": { + "description": "Is profile running?", + "type": "boolean" + }, + "is_iis_profile_running": { + "description": "Is the IIS Profile running?", + "type": "boolean" + }, + "iis_profile_timeout_in_seconds": { + "format": "double", + "description": "IIS Profile timeout (seconds).", + "type": "number" + }, + "parent": { + "description": "Parent process.", + "type": "string" + }, + "children": { + "description": "Child process list.", + "type": "array", + "items": { + "type": "string" + } + }, + "threads": { + "description": "Thread list.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessThreadInfo" + } + }, + "open_file_handles": { + "description": "List of open files.", + "type": "array", + "items": { + "type": "string" + } + }, + "modules": { + "description": "List of modules.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessModuleInfo" + } + }, + "file_name": { + "description": "File name of this process.", + "type": "string" + }, + "command_line": { + "description": "Command line.", + "type": "string" + }, + "user_name": { + "description": "User name.", + "type": "string" + }, + "handle_count": { + "format": "int32", + "description": "Handle count.", + "type": "integer" + }, + "module_count": { + "format": "int32", + "description": "Module count.", + "type": "integer" + }, + "thread_count": { + "format": "int32", + "description": "Thread count.", + "type": "integer" + }, + "start_time": { + "format": "date-time", + "description": "Start time.", + "type": "string" + }, + "total_cpu_time": { + "description": "Total CPU time.", + "type": "string" + }, + "user_cpu_time": { + "description": "User CPU time.", + "type": "string" + }, + "privileged_cpu_time": { + "description": "Privileged CPU time.", + "type": "string" + }, + "working_set": { + "format": "int64", + "description": "Working set.", + "type": "integer" + }, + "peak_working_set": { + "format": "int64", + "description": "Peak working set.", + "type": "integer" + }, + "private_memory": { + "format": "int64", + "description": "Private memory size.", + "type": "integer" + }, + "virtual_memory": { + "format": "int64", + "description": "Virtual memory size.", + "type": "integer" + }, + "peak_virtual_memory": { + "format": "int64", + "description": "Peak virtual memory usage.", + "type": "integer" + }, + "paged_system_memory": { + "format": "int64", + "description": "Paged system memory.", + "type": "integer" + }, + "non_paged_system_memory": { + "format": "int64", + "description": "Non-paged system memory.", + "type": "integer" + }, + "paged_memory": { + "format": "int64", + "description": "Paged memory.", + "type": "integer" + }, + "peak_paged_memory": { + "format": "int64", + "description": "Peak paged memory.", + "type": "integer" + }, + "time_stamp": { + "format": "date-time", + "description": "Time stamp.", + "type": "string" + }, + "environment_variables": { + "description": "List of environment variables.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "is_scm_site": { + "description": "Is this the SCM site?", + "type": "boolean" + }, + "is_webjob": { + "description": "Is this a Web Job?", + "type": "boolean" + }, + "description": { + "description": "Description of process.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ProcessInfoCollection": { + "description": "Collection of Kudu process information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessInfo" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ProcessModuleInfo": { + "description": "Process Module Information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ProcessModuleInfo resource specific properties", + "properties": { + "base_address": { + "description": "Base address. Used as module identifier in ARM resource URI.", + "type": "string" + }, + "file_name": { + "description": "File name.", + "type": "string" + }, + "href": { + "description": "HRef URI.", + "type": "string" + }, + "file_path": { + "description": "File path.", + "type": "string" + }, + "module_memory_size": { + "format": "int32", + "description": "Module memory size.", + "type": "integer" + }, + "file_version": { + "description": "File version.", + "type": "string" + }, + "file_description": { + "description": "File description.", + "type": "string" + }, + "product": { + "description": "Product name.", + "type": "string" + }, + "product_version": { + "description": "Product version.", + "type": "string" + }, + "is_debug": { + "description": "Is debug?", + "type": "boolean" + }, + "language": { + "description": "Module language (locale).", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ProcessModuleInfoCollection": { + "description": "Collection of Kudu thread information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessModuleInfo" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ProcessThreadInfo": { + "description": "Process Thread Information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "ProcessThreadInfo resource specific properties", + "properties": { + "identifier": { + "format": "int32", + "description": "Site extension ID.", + "type": "integer", + "readOnly": true + }, + "href": { + "description": "HRef URI.", + "type": "string" + }, + "process": { + "description": "Process URI.", + "type": "string" + }, + "start_address": { + "description": "Start address.", + "type": "string" + }, + "current_priority": { + "format": "int32", + "description": "Current thread priority.", + "type": "integer" + }, + "priority_level": { + "description": "Thread priority level.", + "type": "string" + }, + "base_priority": { + "format": "int32", + "description": "Base priority.", + "type": "integer" + }, + "start_time": { + "format": "date-time", + "description": "Start time.", + "type": "string" + }, + "total_processor_time": { + "description": "Total processor time.", + "type": "string" + }, + "user_processor_time": { + "description": "User processor time.", + "type": "string" + }, + "state": { + "description": "Thread state.", + "type": "string" + }, + "wait_reason": { + "description": "Wait reason.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ProcessThreadInfoCollection": { + "description": "Collection of Kudu thread information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessThreadInfo" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "PublicCertificate": { + "description": "Public certificate object", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "PublicCertificate resource specific properties", + "properties": { + "blob": { + "format": "byte", + "description": "Public Certificate byte array", + "type": "string" + }, + "publicCertificateLocation": { + "description": "Public Certificate Location", + "enum": [ + "CurrentUserMy", + "LocalMachineMy", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicCertificateLocation", + "modelAsString": false + } + }, + "thumbprint": { + "description": "Certificate Thumbprint", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "PublicCertificateCollection": { + "description": "Collection of public certificates", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PublicCertificate" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "RelayServiceConnectionEntity": { + "description": "Hybrid Connection for an App Service app.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "RelayServiceConnectionEntity resource specific properties", + "properties": { + "entityName": { + "type": "string" + }, + "entityConnectionString": { + "type": "string" + }, + "resourceType": { + "type": "string" + }, + "resourceConnectionString": { + "type": "string" + }, + "hostname": { + "type": "string" + }, + "port": { + "format": "int32", + "type": "integer" + }, + "biztalkUri": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "RemotePrivateEndpointConnection": { + "description": "A remote private endpoint connection", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true + }, + "privateEndpoint": { + "$ref": "#/definitions/ArmIdWrapper", + "description": "PrivateEndpoint of a remote private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkConnectionState" + } + } + }, + "RestoreRequest": { + "description": "Description of a restore request.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "RestoreRequest resource specific properties", + "required": [ + "storageAccountUrl", + "overwrite" + ], + "properties": { + "storageAccountUrl": { + "description": "SAS URL to the container.", + "type": "string" + }, + "blobName": { + "description": "Name of a blob which contains the backup.", + "type": "string" + }, + "overwrite": { + "description": "true if the restore operation can overwrite target app; otherwise, false. true is needed if trying to restore over an existing app.", + "type": "boolean" + }, + "siteName": { + "description": "Name of an app.", + "type": "string" + }, + "databases": { + "description": "Collection of databases which should be restored. This list has to match the list of databases included in the backup.", + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseBackupSetting" + } + }, + "ignoreConflictingHostNames": { + "description": "Changes a logic when restoring an app with custom domains. true to remove custom domains automatically. If false, custom domains are added to \nthe app's object when it is being restored, but that might fail due to conflicts during the operation.", + "default": false, + "type": "boolean" + }, + "ignoreDatabases": { + "description": "Ignore the databases and only restore the site content", + "default": false, + "type": "boolean" + }, + "appServicePlan": { + "description": "Specify app service plan that will own restored site.", + "type": "string" + }, + "operationType": { + "description": "Operation type.", + "default": "Default", + "enum": [ + "Default", + "Clone", + "Relocation", + "Snapshot", + "CloudFS" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupRestoreOperationType", + "modelAsString": false + } + }, + "adjustConnectionStrings": { + "description": "true if SiteConfig.ConnectionStrings should be set in new app; otherwise, false.", + "type": "boolean" + }, + "hostingEnvironment": { + "description": "App Service Environment name, if needed (only when restoring an app to an App Service Environment).", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SiteAuthSettings": { + "description": "Configuration settings for the Azure App Service Authentication / Authorization feature.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SiteAuthSettings resource specific properties", + "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" + }, + "unauthenticatedClientAction": { + "description": "The action to take when an unauthenticated client attempts to access the app.", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous" + ], + "type": "string", + "x-ms-enum": { + "name": "UnauthenticatedClientAction", + "modelAsString": false + } + }, + "tokenStoreEnabled": { + "description": "true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.\n The default is 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" + } + }, + "defaultProvider": { + "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\".", + "enum": [ + "AzureActiveDirectory", + "Facebook", + "Google", + "MicrosoftAccount", + "Twitter", + "Github" + ], + "type": "string", + "x-ms-enum": { + "name": "BuiltInAuthenticationProvider", + "modelAsString": false + } + }, + "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" + }, + "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" + }, + "clientSecret": { + "description": "The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).\nThis setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.\nOtherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.\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" + }, + "issuer": { + "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://sts.windows.net/{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" + }, + "validateIssuer": { + "description": "Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.", + "type": "boolean" + }, + "allowedAudiences": { + "description": "Allowed audience values to consider when validating JWTs issued by \nAzure Active Directory. Note that the ClientID value is always considered an\nallowed audience, regardless of this setting.", + "type": "array", + "items": { + "type": "string" + } + }, + "additionalLoginParams": { + "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" + } + }, + "aadClaimsAuthorization": { + "description": "Gets a JSON string containing the Azure AD Acl settings.", + "type": "string" + }, + "googleClientId": { + "description": "The OpenID Connect Client ID for the Google web application.\nThis setting is required for enabling Google Sign-In.\nGoogle Sign-In documentation: https://developers.google.com/identity/sign-in/web/", + "type": "string" + }, + "googleClientSecret": { + "description": "The client secret associated with the Google web application.\nThis setting is required for enabling Google Sign-In.\nGoogle Sign-In documentation: https://developers.google.com/identity/sign-in/web/", + "type": "string" + }, + "googleClientSecretSettingName": { + "description": "The app setting name that contains the client secret associated with \nthe Google web application.", + "type": "string" + }, + "googleOAuthScopes": { + "description": "The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.\nThis setting is optional. If not specified, \"openid\", \"profile\", and \"email\" are used as default scopes.\nGoogle Sign-In documentation: https://developers.google.com/identity/sign-in/web/", + "type": "array", + "items": { + "type": "string" + } + }, + "facebookAppId": { + "description": "The App ID of the Facebook app used for login.\nThis setting is required for enabling Facebook Login.\nFacebook Login documentation: https://developers.facebook.com/docs/facebook-login", + "type": "string" + }, + "facebookAppSecret": { + "description": "The App Secret of the Facebook app used for Facebook Login.\nThis setting is required for enabling Facebook Login.\nFacebook Login documentation: https://developers.facebook.com/docs/facebook-login", + "type": "string" + }, + "facebookAppSecretSettingName": { + "description": "The app setting name that contains the app secret used for Facebook Login.", + "type": "string" + }, + "facebookOAuthScopes": { + "description": "The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.\nThis setting is optional.\nFacebook Login documentation: https://developers.facebook.com/docs/facebook-login", + "type": "array", + "items": { + "type": "string" + } + }, + "gitHubClientId": { + "description": "The Client Id of the GitHub app used for login.\nThis setting is required for enabling Github login", + "type": "string" + }, + "gitHubClientSecret": { + "description": "The Client Secret of the GitHub app used for Github Login.\nThis setting is required for enabling Github login.", + "type": "string" + }, + "gitHubClientSecretSettingName": { + "description": "The app setting name that contains the client secret of the Github\napp used for GitHub Login.", + "type": "string" + }, + "gitHubOAuthScopes": { + "description": "The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.\nThis setting is optional", + "type": "array", + "items": { + "type": "string" + } + }, + "twitterConsumerKey": { + "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" + }, + "twitterConsumerSecret": { + "description": "The OAuth 1.0a consumer secret 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" + }, + "twitterConsumerSecretSettingName": { + "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in.", + "type": "string" + }, + "microsoftAccountClientId": { + "description": "The OAuth 2.0 client ID that was created for the app used for authentication.\nThis setting is required for enabling Microsoft Account authentication.\nMicrosoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm", + "type": "string" + }, + "microsoftAccountClientSecret": { + "description": "The OAuth 2.0 client secret that was created for the app used for authentication.\nThis setting is required for enabling Microsoft Account authentication.\nMicrosoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm", + "type": "string" + }, + "microsoftAccountClientSecretSettingName": { + "description": "The app setting name containing the OAuth 2.0 client secret that was created for the\napp used for authentication.", + "type": "string" + }, + "microsoftAccountOAuthScopes": { + "description": "The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.\nThis setting is optional. If not specified, \"wl.basic\" is used as the default scope.\nMicrosoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx", + "type": "array", + "items": { + "type": "string" + } + }, + "isAuthFromFile": { + "description": "\"true\" if the auth config settings should be read from a file,\n\"false\" otherwise", + "type": "string" + }, + "authFilePath": { + "description": "The path of the config file containing auth settings.\nIf the path is relative, base will the site's root directory.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SiteAuthSettingsV2": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SiteAuthSettingsV2 resource specific properties", + "properties": { + "platform": { + "$ref": "#/definitions/AuthPlatform" + }, + "globalValidation": { + "$ref": "#/definitions/GlobalValidation" + }, + "identityProviders": { + "$ref": "#/definitions/IdentityProviders" + }, + "login": { + "$ref": "#/definitions/Login" + }, + "httpSettings": { + "$ref": "#/definitions/HttpSettings" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SiteCloneability": { + "description": "Represents whether or not an app is cloneable.", + "type": "object", + "properties": { + "result": { + "description": "Name of app.", + "enum": [ + "Cloneable", + "PartiallyCloneable", + "NotCloneable" + ], + "type": "string", + "x-ms-enum": { + "name": "CloneAbilityResult", + "modelAsString": false + } + }, + "blockingFeatures": { + "description": "List of features enabled on app that prevent cloning.", + "type": "array", + "items": { + "$ref": "#/definitions/SiteCloneabilityCriterion" + } + }, + "unsupportedFeatures": { + "description": "List of features enabled on app that are non-blocking but cannot be cloned. The app can still be cloned\nbut the features in this list will not be set up on cloned app.", + "type": "array", + "items": { + "$ref": "#/definitions/SiteCloneabilityCriterion" + } + }, + "blockingCharacteristics": { + "description": "List of blocking application characteristics.", + "type": "array", + "items": { + "$ref": "#/definitions/SiteCloneabilityCriterion" + } + } + } + }, + "SiteCloneabilityCriterion": { + "description": "An app cloneability criterion.", + "type": "object", + "properties": { + "name": { + "description": "Name of criterion.", + "type": "string" + }, + "description": { + "description": "Description of criterion.", + "type": "string" + } + } + }, + "SiteConfigResource": { + "description": "Web app configuration ARM resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "./CommonDefinitions.json#/definitions/SiteConfig", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "SiteConfigResourceCollection": { + "description": "Collection of site configurations.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SiteConfigResource" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "SiteConfigurationSnapshotInfo": { + "description": "A snapshot of a web app configuration.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SiteConfigurationSnapshotInfo resource specific properties", + "properties": { + "time": { + "format": "date-time", + "description": "The time the snapshot was taken.", + "type": "string", + "readOnly": true + }, + "snapshotId": { + "format": "int32", + "description": "The id of the snapshot", + "type": "integer", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "SiteConfigurationSnapshotInfoCollection": { + "description": "Collection of metadata for the app configuration snapshots that can be restored.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SiteConfigurationSnapshotInfo" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "SiteExtensionInfo": { + "description": "Site Extension Information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SiteExtensionInfo resource specific properties", + "properties": { + "extension_id": { + "description": "Site extension ID.", + "type": "string" + }, + "title": { + "type": "string" + }, + "extension_type": { + "description": "Site extension type.", + "enum": [ + "Gallery", + "WebRoot" + ], + "type": "string", + "x-ms-enum": { + "name": "SiteExtensionType", + "modelAsString": false + } + }, + "summary": { + "description": "Summary description.", + "type": "string" + }, + "description": { + "description": "Detailed description.", + "type": "string" + }, + "version": { + "description": "Version information.", + "type": "string" + }, + "extension_url": { + "description": "Extension URL.", + "type": "string" + }, + "project_url": { + "description": "Project URL.", + "type": "string" + }, + "icon_url": { + "description": "Icon URL.", + "type": "string" + }, + "license_url": { + "description": "License URL.", + "type": "string" + }, + "feed_url": { + "description": "Feed URL.", + "type": "string" + }, + "authors": { + "description": "List of authors.", + "type": "array", + "items": { + "type": "string" + } + }, + "installer_command_line_params": { + "description": "Installer command line parameters.", + "type": "string" + }, + "published_date_time": { + "format": "date-time", + "description": "Published timestamp.", + "type": "string" + }, + "download_count": { + "format": "int32", + "description": "Count of downloads.", + "type": "integer" + }, + "local_is_latest_version": { + "description": "true if the local version is the latest version; false otherwise.", + "type": "boolean" + }, + "local_path": { + "description": "Local path.", + "type": "string" + }, + "installed_date_time": { + "format": "date-time", + "description": "Installed timestamp.", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state.", + "type": "string" + }, + "comment": { + "description": "Site Extension comment.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SiteExtensionInfoCollection": { + "description": "Collection of Kudu site extension information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SiteExtensionInfo" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "SiteLogsConfig": { + "description": "Configuration of App Service site logs.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SiteLogsConfig resource specific properties", + "properties": { + "applicationLogs": { + "$ref": "#/definitions/ApplicationLogsConfig", + "description": "Application logs configuration." + }, + "httpLogs": { + "$ref": "#/definitions/HttpLogsConfig", + "description": "HTTP logs configuration." + }, + "failedRequestsTracing": { + "$ref": "#/definitions/EnabledConfig", + "description": "Failed requests tracing configuration." + }, + "detailedErrorMessages": { + "$ref": "#/definitions/EnabledConfig", + "description": "Detailed error messages configuration." + } + }, + "x-ms-client-flatten": true + } + } + }, + "SitePatchResource": { + "description": "ARM resource for a site.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SitePatchResource resource specific properties", + "properties": { + "state": { + "description": "Current state of the app.", + "type": "string", + "readOnly": true + }, + "hostNames": { + "description": "Hostnames associated with the app.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "repositorySiteName": { + "description": "Name of the repository site.", + "type": "string", + "readOnly": true + }, + "usageState": { + "description": "State indicating whether the app has exceeded its quota usage. Read-only.", + "enum": [ + "Normal", + "Exceeded" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "UsageState", + "modelAsString": false + } + }, + "enabled": { + "description": "true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline).", + "type": "boolean" + }, + "enabledHostNames": { + "description": "Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise,\nthe app is not served on those hostnames.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "availabilityState": { + "description": "Management information availability state for the app.", + "enum": [ + "Normal", + "Limited", + "DisasterRecoveryMode" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SiteAvailabilityState", + "modelAsString": false + } + }, + "hostNameSslStates": { + "description": "Hostname SSL states are used to manage the SSL bindings for app's hostnames.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/HostNameSslState" + } + }, + "serverFarmId": { + "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", + "type": "string" + }, + "reserved": { + "description": "true if reserved; otherwise, false.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "isXenon": { + "description": "Obsolete: Hyper-V sandbox.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "hyperV": { + "description": "Hyper-V sandbox.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "Last time the app was modified, in UTC. Read-only.", + "type": "string", + "readOnly": true + }, + "siteConfig": { + "$ref": "./CommonDefinitions.json#/definitions/SiteConfig", + "description": "Configuration of the app." + }, + "trafficManagerHostNames": { + "description": "Azure Traffic Manager hostnames associated with the app. Read-only.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "scmSiteAlsoStopped": { + "description": "true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false.", + "default": false, + "type": "boolean" + }, + "targetSwapSlot": { + "description": "Specifies which deployment slot this app will swap into. Read-only.", + "type": "string", + "readOnly": true + }, + "hostingEnvironmentProfile": { + "$ref": "./CommonDefinitions.json#/definitions/HostingEnvironmentProfile", + "description": "App Service Environment to use for the app.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "clientAffinityEnabled": { + "description": "true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true.", + "type": "boolean" + }, + "clientCertEnabled": { + "description": "true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false.", + "type": "boolean" + }, + "clientCertMode": { + "description": "This composes with ClientCertEnabled setting.\n- ClientCertEnabled: false means ClientCert is ignored.\n- ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required.\n- ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted.", + "enum": [ + "Required", + "Optional" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientCertMode", + "modelAsString": false + } + }, + "clientCertExclusionPaths": { + "description": "client certificate authentication comma-separated exclusion paths", + "type": "string" + }, + "hostNamesDisabled": { + "description": "true to disable the public hostnames of the app; otherwise, false.\n If true, the app is only accessible via API management process.", + "type": "boolean" + }, + "customDomainVerificationId": { + "description": "Unique identifier that verifies the custom domains assigned to the app. Customer will add this id to a txt record for verification.", + "type": "string" + }, + "outboundIpAddresses": { + "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only.", + "type": "string", + "readOnly": true + }, + "possibleOutboundIpAddresses": { + "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants except dataComponent. Read-only.", + "type": "string", + "readOnly": true + }, + "containerSize": { + "format": "int32", + "description": "Size of the function container.", + "type": "integer" + }, + "dailyMemoryTimeQuota": { + "format": "int32", + "description": "Maximum allowed daily memory-time quota (applicable on dynamic apps only).", + "type": "integer" + }, + "suspendedTill": { + "format": "date-time", + "description": "App suspended till in case memory-time quota is exceeded.", + "type": "string", + "readOnly": true + }, + "maxNumberOfWorkers": { + "format": "int32", + "description": "Maximum number of workers.\nThis only applies to Functions container.", + "type": "integer", + "readOnly": true + }, + "cloningInfo": { + "$ref": "./CommonDefinitions.json#/definitions/CloningInfo", + "description": "If specified during app creation, the app is cloned from a source app.", + "x-ms-mutability": [ + "create" + ] + }, + "resourceGroup": { + "description": "Name of the resource group the app belongs to. Read-only.", + "type": "string", + "readOnly": true + }, + "isDefaultContainer": { + "description": "true if the app is a default container; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "defaultHostName": { + "description": "Default hostname of the app. Read-only.", + "type": "string", + "readOnly": true + }, + "slotSwapStatus": { + "$ref": "./CommonDefinitions.json#/definitions/SlotSwapStatus", + "description": "Status of the last deployment slot swap operation.", + "readOnly": true + }, + "httpsOnly": { + "description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests", + "type": "boolean" + }, + "redundancyMode": { + "description": "Site redundancy mode", + "enum": [ + "None", + "Manual", + "Failover", + "ActiveActive", + "GeoRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "RedundancyMode", + "modelAsString": false + } + }, + "inProgressOperationId": { + "format": "uuid", + "description": "Specifies an operation id if this site has a pending operation.", + "type": "string", + "readOnly": true, + "example": "00000000-0000-0000-0000-000000000000" + } + }, + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedServiceIdentity" + } + } + }, + "SitePhpErrorLogFlag": { + "description": "Used for getting PHP error logging flag.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SitePhpErrorLogFlag resource specific properties", + "properties": { + "localLogErrors": { + "description": "Local log_errors setting.", + "type": "string" + }, + "masterLogErrors": { + "description": "Master log_errors setting.", + "type": "string" + }, + "localLogErrorsMaxLength": { + "description": "Local log_errors_max_len setting.", + "type": "string" + }, + "masterLogErrorsMaxLength": { + "description": "Master log_errors_max_len setting.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SiteSourceControl": { + "description": "Source control configuration for an app.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SiteSourceControl resource specific properties", + "properties": { + "repoUrl": { + "description": "Repository or source control URL.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "branch": { + "description": "Name of branch to use for deployment.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "isManualIntegration": { + "description": "true to limit to manual integration; false to enable continuous integration (which configures webhooks into online repos like GitHub).", + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "isGitHubAction": { + "description": "true if this is deployed via GitHub action.", + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "deploymentRollbackEnabled": { + "description": "true to enable deployment rollback; otherwise, false.", + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "isMercurial": { + "description": "true for a Mercurial repository; false for a Git repository.", + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "SlotConfigNames": { + "description": "Names for connection strings, application settings, and external Azure storage account configuration\nidentifiers to be marked as sticky to the deployment slot and not moved during a swap operation.\nThis is valid for all deployment slots in an app.", + "type": "object", + "properties": { + "connectionStringNames": { + "description": "List of connection string names.", + "type": "array", + "items": { + "type": "string" + } + }, + "appSettingNames": { + "description": "List of application settings names.", + "type": "array", + "items": { + "type": "string" + } + }, + "azureStorageConfigNames": { + "description": "List of external Azure storage account identifiers.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SlotConfigNamesResource": { + "description": "Slot Config names azure resource.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SlotConfigNames", + "description": "Core resource properties", + "x-ms-client-flatten": true + } + } + }, + "SlotDifference": { + "description": "A setting difference between two deployment slots of an app.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SlotDifference resource specific properties", + "properties": { + "level": { + "description": "Level of the difference: Information, Warning or Error.", + "type": "string", + "readOnly": true + }, + "settingType": { + "description": "The type of the setting: General, AppSetting or ConnectionString.", + "type": "string", + "readOnly": true + }, + "diffRule": { + "description": "Rule that describes how to process the setting difference during a slot swap.", + "type": "string", + "readOnly": true + }, + "settingName": { + "description": "Name of the setting.", + "type": "string", + "readOnly": true + }, + "valueInCurrentSlot": { + "description": "Value of the setting in the current slot.", + "type": "string", + "readOnly": true + }, + "valueInTargetSlot": { + "description": "Value of the setting in the target slot.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the setting difference.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "SlotDifferenceCollection": { + "description": "Collection of slot differences.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SlotDifference" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "SnapshotCollection": { + "description": "Collection of snapshots which can be used to revert an app to a previous time.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Snapshot" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "SnapshotRecoverySource": { + "description": "Specifies the web app that snapshot contents will be retrieved from.", + "type": "object", + "properties": { + "location": { + "description": "Geographical location of the source web app, e.g. SouthEastAsia, SouthCentralUS", + "type": "string" + }, + "id": { + "description": "ARM resource ID of the source app. \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and \n/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots.", + "type": "string" + } + } + }, + "SnapshotRestoreRequest": { + "description": "Details about app recovery operation.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SnapshotRestoreRequest resource specific properties", + "required": [ + "overwrite" + ], + "properties": { + "snapshotTime": { + "description": "Point in time in which the app restore should be done, formatted as a DateTime string.", + "type": "string" + }, + "recoverySource": { + "$ref": "#/definitions/SnapshotRecoverySource", + "description": "Optional. Specifies the web app that snapshot contents will be retrieved from.\nIf empty, the targeted web app will be used as the source." + }, + "overwrite": { + "description": "If true the restore operation can overwrite source app; otherwise, false.", + "type": "boolean" + }, + "recoverConfiguration": { + "description": "If true, site configuration, in addition to content, will be reverted.", + "type": "boolean" + }, + "ignoreConflictingHostNames": { + "description": "If true, custom hostname conflicts will be ignored when recovering to a target web app.\nThis setting is only necessary when RecoverConfiguration is enabled.", + "type": "boolean" + }, + "useDRSecondary": { + "description": "If true, the snapshot is retrieved from DRSecondary endpoint.", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "StorageMigrationOptions": { + "description": "Options for app content migration.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StorageMigrationOptions resource specific properties", + "required": [ + "azurefilesConnectionString", + "azurefilesShare" + ], + "properties": { + "azurefilesConnectionString": { + "description": "AzureFiles connection string.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "azurefilesShare": { + "description": "AzureFiles share.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "switchSiteAfterMigration": { + "description": "trueif the app should be switched over; otherwise, false.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create" + ] + }, + "blockWriteAccessToSite": { + "description": "true if the app should be read only during copy operation; otherwise, false.", + "default": false, + "type": "boolean", + "x-ms-mutability": [ + "create" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "StorageMigrationResponse": { + "description": "Response for a migration of app content request.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "StorageMigrationResponse resource specific properties", + "properties": { + "operationId": { + "description": "When server starts the migration process, it will return an operation ID identifying that particular migration operation.", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "SwiftVirtualNetwork": { + "description": "Swift Virtual Network Contract. This is used to enable the new Swift way of doing virtual network integration.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "SwiftVirtualNetwork resource specific properties", + "properties": { + "subnetResourceId": { + "description": "The Virtual Network subnet's resource ID. This is the subnet that this Web App will join. This subnet must have a delegation to Microsoft.Web/serverFarms defined first.", + "type": "string" + }, + "swiftSupported": { + "description": "A flag that specifies if the scale unit this Web App is on supports Swift integration.", + "type": "boolean" + } + }, + "x-ms-client-flatten": true + } + } + }, + "TokenStore": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "TokenStore resource specific properties", + "properties": { + "enabled": { + "type": "boolean" + }, + "tokenRefreshExtensionHours": { + "format": "double", + "type": "number" + }, + "fileSystem": { + "$ref": "#/definitions/FileSystemTokenStore" + }, + "azureBlobStorage": { + "$ref": "#/definitions/BlobStorageTokenStore" + } + }, + "x-ms-client-flatten": true + } + } + }, + "TriggeredJobHistory": { + "description": "Triggered Web Job History. List of Triggered Web Job Run Information elements.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "TriggeredJobHistory resource specific properties", + "properties": { + "runs": { + "description": "List of triggered web job runs.", + "type": "array", + "items": { + "$ref": "#/definitions/TriggeredJobRun" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "TriggeredJobHistoryCollection": { + "description": "Collection of Kudu continuous web job information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/TriggeredJobHistory" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "TriggeredJobRun": { + "description": "Triggered Web Job Run Information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "TriggeredJobRun resource specific properties", + "properties": { + "web_job_id": { + "description": "Job ID.", + "type": "string" + }, + "web_job_name": { + "description": "Job name.", + "type": "string" + }, + "status": { + "description": "Job status.", + "enum": [ + "Success", + "Failed", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggeredWebJobStatus", + "modelAsString": false + } + }, + "start_time": { + "format": "date-time", + "description": "Start time.", + "type": "string" + }, + "end_time": { + "format": "date-time", + "description": "End time.", + "type": "string" + }, + "duration": { + "description": "Job duration.", + "type": "string" + }, + "output_url": { + "description": "Output URL.", + "type": "string" + }, + "error_url": { + "description": "Error URL.", + "type": "string" + }, + "url": { + "description": "Job URL.", + "type": "string" + }, + "job_name": { + "description": "Job name.", + "type": "string" + }, + "trigger": { + "description": "Job trigger.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "TriggeredWebJob": { + "description": "Triggered Web Job Information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "TriggeredWebJob resource specific properties", + "properties": { + "latest_run": { + "$ref": "#/definitions/TriggeredJobRun", + "description": "Latest job run information." + }, + "history_url": { + "description": "History URL.", + "type": "string" + }, + "scheduler_logs_url": { + "description": "Scheduler Logs URL.", + "type": "string" + }, + "run_command": { + "description": "Run command.", + "type": "string" + }, + "url": { + "description": "Job URL.", + "type": "string" + }, + "extra_info_url": { + "description": "Extra Info URL.", + "type": "string" + }, + "web_job_type": { + "description": "Job type.", + "enum": [ + "Continuous", + "Triggered" + ], + "type": "string", + "x-ms-enum": { + "name": "WebJobType", + "modelAsString": false + } + }, + "error": { + "description": "Error information.", + "type": "string" + }, + "using_sdk": { + "description": "Using SDK?", + "type": "boolean" + }, + "settings": { + "description": "Job settings.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "TriggeredWebJobCollection": { + "description": "Collection of Kudu continuous web job information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/TriggeredWebJob" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Twitter": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "Twitter resource specific properties", + "properties": { + "enabled": { + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/TwitterRegistration" + } + }, + "x-ms-client-flatten": true + } + } + }, + "TwitterRegistration": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "TwitterRegistration resource specific properties", + "properties": { + "consumerKey": { + "type": "string" + }, + "consumerSecretSettingName": { + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "WebAppInstanceStatusCollection": { + "description": "Collection of app instances.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WebSiteInstanceStatus" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "WebJob": { + "description": "Web Job Information.", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "WebJob resource specific properties", + "properties": { + "run_command": { + "description": "Run command.", + "type": "string" + }, + "url": { + "description": "Job URL.", + "type": "string" + }, + "extra_info_url": { + "description": "Extra Info URL.", + "type": "string" + }, + "web_job_type": { + "description": "Job type.", + "enum": [ + "Continuous", + "Triggered" + ], + "type": "string", + "x-ms-enum": { + "name": "WebJobType", + "modelAsString": false + } + }, + "error": { + "description": "Error information.", + "type": "string" + }, + "using_sdk": { + "description": "Using SDK?", + "type": "boolean" + }, + "settings": { + "description": "Job settings.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "WebJobCollection": { + "description": "Collection of Kudu web job information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WebJob" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "WebSiteInstanceStatus": { + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "WebSiteInstanceStatus resource specific properties", + "properties": { + "state": { + "enum": [ + "READY", + "STOPPED", + "UNKNOWN" + ], + "type": "string", + "x-ms-enum": { + "name": "SiteRuntimeState", + "modelAsString": false + } + }, + "statusUrl": { + "description": "Link to the GetStatusApi in Kudu", + "type": "string" + }, + "detectorUrl": { + "description": "Link to the Diagnose and Solve Portal", + "type": "string" + }, + "consoleUrl": { + "description": "Link to the console to web app instance", + "type": "string" + }, + "healthCheckUrl": { + "description": "Link to the console to web app instance", + "type": "string" + }, + "containers": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ContainerInfo" + } + } + }, + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ApproveRejectSitePrivateEndpointConnection.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ApproveRejectSitePrivateEndpointConnection.json new file mode 100644 index 000000000000..d5cb1f6f220f --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ApproveRejectSitePrivateEndpointConnection.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "privateEndpointConnectionName": "connection", + "api-version": "2020-06-01", + "privateEndpointWrapper": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin.", + "actionsRequired": "" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin.", + "actionsRequired": "" + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin.", + "actionsRequired": "" + } + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CopySlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CopySlot.json new file mode 100644 index 000000000000..1192cdf9b6bc --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CopySlot.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "tests346", + "slot": "staging", + "api-version": "2020-06-01", + "copySlotEntity": { + "targetSlot": "staging", + "siteConfig": { + "numberOfWorkers": 1, + "httpLoggingEnabled": true + } + } + }, + "responses": { + "200": { + "headers": {} + }, + "202": { + "headers": {} + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateAppServicePlan.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateAppServicePlan.json new file mode 100644 index 000000000000..34cf68fdcba8 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateAppServicePlan.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testsf6141", + "api-version": "2020-06-01", + "appServicePlan": { + "kind": "app", + "location": "East US", + "properties": {}, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141", + "name": "testsf6141", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141/operationresults/F0C6B8EC-0D53-432C-913B-1CD9E8CDE3A0", + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141/operationresults/F0C6B8EC-0D53-432C-913B-1CD9E8CDE3A0" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141", + "name": "testsf6141", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "isSpot": false, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateCertificate.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateCertificate.json new file mode 100644 index 000000000000..ecc80b5f161a --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateCertificate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testc6282", + "api-version": "2020-06-01", + "certificateEnvelope": { + "location": "East US", + "properties": { + "hostNames": [ + "ServerCert" + ], + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSite.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSite.json new file mode 100644 index 000000000000..ca3156a433e3 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSite.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01", + "staticSiteEnvelope": { + "location": "West US 2", + "properties": { + "repositoryUrl": "https://github.com/username/RepoName", + "branch": "master", + "repositoryToken": "repoToken123", + "buildProperties": { + "appLocation": "app", + "apiLocation": "api", + "appArtifactLocation": "build" + } + }, + "sku": { + "name": "Basic", + "tier": "Basic" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Web/staticSites/testStaticSite0", + "name": "testStaticSite0", + "type": "Microsoft.Web/staticSites", + "location": "West US 2", + "properties": { + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "repositoryUrl": "https://github.com/username/RepoName", + "branch": "demo", + "customDomains": [] + }, + "sku": { + "name": "Basic", + "tier": "Basic" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Web/staticSites/testStaticSite0", + "name": "testStaticSite0", + "type": "Microsoft.Web/staticSites", + "location": "West US 2", + "properties": { + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "repositoryUrl": "https://github.com/username/RepoName", + "branch": "demo", + "customDomains": [] + }, + "sku": { + "name": "Basic", + "tier": "Basic" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteBuildFunctionAppSettings.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteBuildFunctionAppSettings.json new file mode 100644 index 000000000000..8e66a0066608 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteBuildFunctionAppSettings.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "prId": "12", + "api-version": "2020-06-01", + "appSettings": { + "properties": { + "setting1": "someval", + "setting2": "someval2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "setting1": "someval", + "setting2": "someval2" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": { + "properties": { + "setting1": "someval", + "setting2": "someval2" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteCustomDomain.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteCustomDomain.json new file mode 100644 index 000000000000..d75ca5b4a221 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteCustomDomain.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "domainName": "custom.domain.net", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "domainName": "custom.domain.net", + "createdOn": "2020-03-04T17:33:11.641Z" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": { + "properties": { + "domainName": "custom.domain.net", + "createdOn": "2020-03-04T17:33:11.641Z" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteFunctionAppSettings.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteFunctionAppSettings.json new file mode 100644 index 000000000000..a0d8915ec687 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateOrUpdateStaticSiteFunctionAppSettings.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01", + "appSettings": { + "properties": { + "setting1": "someval", + "setting2": "someval2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "setting1": "someval", + "setting2": "someval2" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": { + "properties": { + "setting1": "someval", + "setting2": "someval2" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateUserRolesInvitationLink.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateUserRolesInvitationLink.json new file mode 100644 index 000000000000..e815129f2905 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/CreateUserRolesInvitationLink.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01", + "staticSiteUserRolesInvitationEnvelope": { + "properties": { + "domain": "happy-sea-15afae3e.azurestaticwebsites.net", + "provider": "aad", + "userDetails": "username", + "roles": "admin,contributor", + "numHoursToExpiration": 1 + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "invitationUrl": "https://happy-sea-15afae3e.azurestaticwebsites.net?invite=asdf", + "expiresOn": "2020-02-28T16:53:56.211Z" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteAppServicePlan.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteAppServicePlan.json new file mode 100644 index 000000000000..a8b49b0f703e --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteAppServicePlan.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testsf6141", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteCertificate.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteCertificate.json new file mode 100644 index 000000000000..e5da021c10be --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteCertificate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testc6282", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteSitePrivateEndpointConnection.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteSitePrivateEndpointConnection.json new file mode 100644 index 000000000000..0f59a13e36eb --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteSitePrivateEndpointConnection.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "privateEndpointConnectionName": "connection", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": {} + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": {} + }, + "204": { + "body": {} + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSite.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSite.json new file mode 100644 index 000000000000..52b665347fdc --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSite.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteBuild.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteBuild.json new file mode 100644 index 000000000000..6ffd4ad62fc9 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteBuild.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "prId": "12", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteCustomDomain.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteCustomDomain.json new file mode 100644 index 000000000000..64f35918696b --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteCustomDomain.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "domainName": "custom.domain.net", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteUser.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteUser.json new file mode 100644 index 000000000000..29f658af973d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DeleteStaticSiteUser.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "authprovider": "aad", + "userid": "1234", + "api-version": "2020-06-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DetachStaticSite.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DetachStaticSite.json new file mode 100644 index 000000000000..52b665347fdc --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/DetachStaticSite.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteAnalysis.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteAnalysis.json new file mode 100644 index 000000000000..0e07b9712ad3 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteAnalysis.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "Production", + "diagnosticCategory": "availability", + "analysisName": "apprestartanalyses", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability/analyses/apprestartanalyses", + "name": "apprestartanalysis", + "properties": { + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "abnormalTimePeriods": [ + { + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "events": [ + { + "startTime": "2017-11-06T22:21:50Z", + "endTime": "2017-11-06T22:21:48Z", + "message": "Your application process was restarted as application environment variables changed. This can most likely occur due to update in app settings or swap operation. This event occurred multiple times during the day.", + "source": null, + "priority": 0, + "metaData": [ + [ + { + "name": "feature", + "value": "auditlogs" + }, + { + "name": "displayedName", + "value": "Check Audit Logs" + } + ] + ], + "type": "ServiceIncident", + "solutions": [] + } + ], + "solutions": [] + } + ], + "payload": [ + { + "source": "workerprocessrecycle", + "metrics": [ + { + "name": "All Application Stop Events", + "unit": null, + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "timeGrain": "00:05:00", + "values": [ + { + "timestamp": "2017-11-06T00:00:00Z", + "roleInstance": "RD00155D3C15BE", + "total": 2 + }, + { + "timestamp": "2017-11-06T00:00:00Z", + "total": 2, + "isAggregated": true + }, + { + "timestamp": "2017-11-06T00:10:00Z", + "roleInstance": "RD00155D3C15C1", + "total": 2 + }, + { + "timestamp": "2017-11-06T00:10:00Z", + "roleInstance": "RD00155D3BE0FB", + "total": 2 + }, + { + "timestamp": "2017-11-06T00:10:00Z", + "total": 4, + "isAggregated": true + } + ] + }, + { + "name": "User Events", + "unit": "", + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "timeGrain": "00:05:00", + "values": [ + { + "timestamp": "2017-11-06T22:20:00Z", + "total": 3, + "isAggregated": true + }, + { + "timestamp": "2017-11-06T22:20:00Z", + "roleInstance": "RD00155D3C09FC", + "total": 1 + }, + { + "timestamp": "2017-11-06T22:20:00Z", + "roleInstance": "RD00155D3C2ADC", + "total": 1 + }, + { + "timestamp": "2017-11-06T22:20:00Z", + "roleInstance": "RD00155D3C214E", + "total": 1 + } + ] + } + ], + "data": [], + "detectorMetaData": null + } + ], + "nonCorrelatedDetectors": [] + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteAnalysisSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteAnalysisSlot.json new file mode 100644 index 000000000000..ab35e8f0bce3 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteAnalysisSlot.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "diagnosticCategory": "availability", + "analysisName": "apprestartanalyses", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/analyses/apprestartanalyses", + "name": "apprestartanalysis", + "properties": { + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "abnormalTimePeriods": [ + { + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "events": [ + { + "startTime": "2017-11-06T22:21:50Z", + "endTime": "2017-11-06T22:21:48Z", + "message": "Your application process was restarted as application environment variables changed. This can most likely occur due to update in app settings or swap operation. This event occurred multiple times during the day.", + "source": null, + "priority": 0, + "metaData": [ + [ + { + "name": "feature", + "value": "auditlogs" + }, + { + "name": "displayedName", + "value": "Check Audit Logs" + } + ] + ], + "type": "ServiceIncident", + "solutions": [] + } + ], + "solutions": [] + } + ], + "payload": [ + { + "source": "workerprocessrecycle", + "metrics": [ + { + "name": "All Application Stop Events", + "unit": null, + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "timeGrain": "00:05:00", + "values": [ + { + "timestamp": "2017-11-06T00:00:00Z", + "roleInstance": "RD00155D3C15BE", + "total": 2 + }, + { + "timestamp": "2017-11-06T00:00:00Z", + "total": 2, + "isAggregated": true + }, + { + "timestamp": "2017-11-06T00:10:00Z", + "roleInstance": "RD00155D3C15C1", + "total": 2 + }, + { + "timestamp": "2017-11-06T00:10:00Z", + "roleInstance": "RD00155D3BE0FB", + "total": 2 + }, + { + "timestamp": "2017-11-06T00:10:00Z", + "total": 4, + "isAggregated": true + } + ] + }, + { + "name": "User Events", + "unit": "", + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "timeGrain": "00:05:00", + "values": [ + { + "timestamp": "2017-11-06T22:20:00Z", + "total": 3, + "isAggregated": true + }, + { + "timestamp": "2017-11-06T22:20:00Z", + "roleInstance": "RD00155D3C09FC", + "total": 1 + }, + { + "timestamp": "2017-11-06T22:20:00Z", + "roleInstance": "RD00155D3C2ADC", + "total": 1 + }, + { + "timestamp": "2017-11-06T22:20:00Z", + "roleInstance": "RD00155D3C214E", + "total": 1 + } + ] + } + ], + "data": [], + "detectorMetaData": null + } + ], + "nonCorrelatedDetectors": [] + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteDetector.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteDetector.json new file mode 100644 index 000000000000..fdffe9c75ce0 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteDetector.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "Production", + "diagnosticCategory": "availability", + "detectorName": "sitecrashes", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability/detectors/sitecrashes", + "name": "sitecrashes", + "properties": { + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "abnormalTimePeriods": [ + { + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "solutions": [] + } + ] + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteDetectorSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteDetectorSlot.json new file mode 100644 index 000000000000..e5e93aa33187 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ExecuteSiteDetectorSlot.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "diagnosticCategory": "availability", + "detectorName": "sitecrashes", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/detectors/sitecrashes", + "name": "sitecrashes", + "properties": { + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "abnormalTimePeriods": [ + { + "startTime": "2017-11-05T22:50:00Z", + "endTime": "2017-11-06T22:50:00Z", + "solutions": [] + } + ] + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetHostingEnvironmentDetectorResponse.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetHostingEnvironmentDetectorResponse.json new file mode 100644 index 000000000000..70eecd846596 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetHostingEnvironmentDetectorResponse.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "name": "SampleAppServiceEnvironment", + "detectorName": "runtimeavailability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/hostingEnvironments/SampleAppServiceEnvironment/detectors/runtimeavailability", + "name": "runtimeavailability", + "properties": { + "metadata": { + "description": "This detector analyzes all the requests to all applications running on this app service environment.", + "category": "Availability and Performance", + "subCategory": "App Availability", + "supportTopicId": "" + }, + "dataset": [ + { + "table": { + "tableName": "Table_0", + "columns": [ + { + "columnName": "PreciseTimeStamp", + "dataType": "DateTime", + "columnType": "datetime" + }, + { + "columnName": "count_Http2xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http3xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http4xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http5xx", + "dataType": "Int64", + "columnType": "long" + } + ], + "rows": [ + [ + "2018-03-27T00:25:00Z", + "772705", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:30:00Z", + "787069", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:35:00Z", + "781627", + "0", + "1", + "0" + ], + [ + "2018-03-27T00:40:00Z", + "785017", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:45:00Z", + "783518", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:50:00Z", + "785783", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:55:00Z", + "772874", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:00:00Z", + "787162", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:05:00Z", + "782036", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:10:00Z", + "784642", + "0", + "0", + "0" + ] + ] + }, + "renderingProperties": { + "title": "Requests by Status Code", + "description": "This detector breaks down the number of requests that your apps on this app service environment received for each status code." + } + } + ] + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteAnalysis.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteAnalysis.json new file mode 100644 index 000000000000..2c92a0a40839 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteAnalysis.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "diagnosticCategory": "availability", + "analysisName": "appanalysis", + "slot": "Production", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/analyses/appanalysis", + "name": "appanalysis", + "properties": { + "description": "Determine causes of availability loss as well as solutions for these problems" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteAnalysisSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteAnalysisSlot.json new file mode 100644 index 000000000000..1917252938cc --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteAnalysisSlot.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "diagnosticCategory": "availability", + "analysisName": "appanalysis", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/analyses/appanalysis", + "name": "appanalysis", + "properties": { + "description": "Determine causes of availability loss as well as solutions for these problems" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetector.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetector.json new file mode 100644 index 000000000000..493cbed1dd4f --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetector.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "Production", + "diagnosticCategory": "availability", + "detectorName": "sitecrashes", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/sitecrashes", + "name": "sitecrashes", + "properties": { + "displayName": "Site Crash Events", + "description": null, + "rank": 9, + "isEnabled": true + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorResponse.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorResponse.json new file mode 100644 index 000000000000..b26800077a60 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorResponse.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "detectorName": "runtimeavailability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/detectors/runtimeavailability", + "name": "runtimeavailability", + "properties": { + "metadata": { + "description": "This detector analyzes the requests to your application.", + "category": "Availability and Performance", + "subCategory": "Web App Down", + "supportTopicId": "" + }, + "dataset": [ + { + "table": { + "tableName": "Table_0", + "columns": [ + { + "columnName": "PreciseTimeStamp", + "dataType": "DateTime", + "columnType": "datetime" + }, + { + "columnName": "count_Http2xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http3xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http4xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http5xx", + "dataType": "Int64", + "columnType": "long" + } + ], + "rows": [ + [ + "2018-03-27T00:25:00Z", + "772705", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:30:00Z", + "787069", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:35:00Z", + "781627", + "0", + "1", + "0" + ], + [ + "2018-03-27T00:40:00Z", + "785017", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:45:00Z", + "783518", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:50:00Z", + "785783", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:55:00Z", + "772874", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:00:00Z", + "787162", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:05:00Z", + "782036", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:10:00Z", + "784642", + "0", + "0", + "0" + ] + ] + }, + "renderingProperties": { + "title": "Requests by Status Code", + "description": "This detector breaks down the number of requests that your app received for each status code." + } + } + ] + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorResponseSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorResponseSlot.json new file mode 100644 index 000000000000..2c626e84f45d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorResponseSlot.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "detectorName": "runtimeavailability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/slots/staging/detectors/runtimeavailability", + "name": "runtimeavailability", + "properties": { + "metadata": { + "description": "This detector analyzes the requests to your application.", + "category": "Availability and Performance", + "subCategory": "Web App Down", + "supportTopicId": "" + }, + "dataset": [ + { + "table": { + "tableName": "Table_0", + "columns": [ + { + "columnName": "PreciseTimeStamp", + "dataType": "DateTime", + "columnType": "datetime" + }, + { + "columnName": "count_Http2xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http3xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http4xx", + "dataType": "Int64", + "columnType": "long" + }, + { + "columnName": "count_Http5xx", + "dataType": "Int64", + "columnType": "long" + } + ], + "rows": [ + [ + "2018-03-27T00:25:00Z", + "772705", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:30:00Z", + "787069", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:35:00Z", + "781627", + "0", + "1", + "0" + ], + [ + "2018-03-27T00:40:00Z", + "785017", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:45:00Z", + "783518", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:50:00Z", + "785783", + "0", + "0", + "0" + ], + [ + "2018-03-27T00:55:00Z", + "772874", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:00:00Z", + "787162", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:05:00Z", + "782036", + "0", + "0", + "0" + ], + [ + "2018-03-27T01:10:00Z", + "784642", + "0", + "0", + "0" + ] + ] + }, + "renderingProperties": { + "title": "Requests by Status Code", + "description": "This detector breaks down the number of requests that your app received for each status code." + } + } + ] + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorSlot.json new file mode 100644 index 000000000000..675766939185 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDetectorSlot.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "diagnosticCategory": "availability", + "detectorName": "sitecrashes", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/slots/staging/diagnostics/availability/detectors/sitecrashes", + "name": "sitecrashes", + "properties": { + "displayName": "Site Crash Events", + "description": null, + "rank": 9, + "isEnabled": true + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDiagnosticCategory.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDiagnosticCategory.json new file mode 100644 index 000000000000..c5e4ed4b5153 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDiagnosticCategory.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "Production", + "diagnosticCategory": "availability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability", + "name": "availability", + "properties": { + "description": "Availability and Perfomance Diagnostics" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDiagnosticCategorySlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDiagnosticCategorySlot.json new file mode 100644 index 000000000000..24e5e2969a58 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_GetSiteDiagnosticCategorySlot.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "diagnosticCategory": "availability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability", + "name": "availability", + "properties": { + "description": "Availability and Perfomance Diagnostics" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListHostingEnvironmentDetectorResponses.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListHostingEnvironmentDetectorResponses.json new file mode 100644 index 000000000000..ed7e412e27c2 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListHostingEnvironmentDetectorResponses.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "name": "SampleAppServiceEnvironment", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/hostingEnvironments/SampleAppServiceEnvironment/detectors/runtimeavailability", + "name": "runtimeavailability", + "properties": { + "metadata": { + "description": "This detector analyzes all the requests to all applications running on this app service environment.", + "category": "Availability and Performance", + "subCategory": "App Availability", + "supportTopicId": "" + }, + "dataset": [] + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteAnalyses.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteAnalyses.json new file mode 100644 index 000000000000..745be8177a11 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteAnalyses.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "Production", + "diagnosticCategory": "availability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability/analyses/appanalysis", + "name": "appanalysis", + "properties": { + "description": "Determine causes of availability loss as well as solutions for these problems" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability/analyses/apprestartanalyses", + "name": "apprestartanalysis", + "properties": { + "description": "Find the reasons that your app restarted" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability/analyses/memoryanalysis", + "name": "memoryanalysis", + "properties": { + "description": "Detect issues with memory as well as suggest ways to troubleshoot memory problems" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability/analyses/tcpconnectionsanalysis", + "name": "tcpconnectionsanalysis", + "properties": { + "description": "Analyze port usage and find out if a high number of connections is causing problems for your web app" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability/analyses/perfanalysis", + "name": "perfanalysis", + "properties": { + "description": "Determine causes of performance degredation as well as solutions for these problems" + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteAnalysesSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteAnalysesSlot.json new file mode 100644 index 000000000000..4f493f123ad0 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteAnalysesSlot.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "diagnosticCategory": "availability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/analyses/appanalysis", + "name": "appanalysis", + "properties": { + "description": "Determine causes of availability loss as well as solutions for these problems" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/analyses/apprestartanalyses", + "name": "apprestartanalysis", + "properties": { + "description": "Find the reasons that your app restarted" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/analyses/memoryanalysis", + "name": "memoryanalysis", + "properties": { + "description": "Detect issues with memory as well as suggest ways to troubleshoot memory problems" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/analyses/tcpconnectionsanalysis", + "name": "tcpconnectionsanalysis", + "properties": { + "description": "Analyze port usage and find out if a high number of connections is causing problems for your web app" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability/analyses/perfanalysis", + "name": "perfanalysis", + "properties": { + "description": "Determine causes of performance degredation as well as solutions for these problems" + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorResponses.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorResponses.json new file mode 100644 index 000000000000..6efc365976e6 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorResponses.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/detectors/runtimeavailability", + "name": "runtimeavailability", + "properties": { + "metadata": { + "description": "This detector analyzes the requests to your application.", + "category": "Availability and Performance", + "subCategory": "App Availability", + "supportTopicId": "" + }, + "dataset": [] + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorResponsesSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorResponsesSlot.json new file mode 100644 index 000000000000..b40f77316dcb --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorResponsesSlot.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/detectors/runtimeavailability", + "name": "runtimeavailability", + "properties": { + "metadata": { + "description": "This detector analyzes the requests to your application.", + "category": "Availability and Performance", + "subCategory": "App Availability", + "supportTopicId": "" + }, + "dataset": [] + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectors.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectors.json new file mode 100644 index 000000000000..a48b7c199888 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectors.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "Production", + "diagnosticCategory": "availability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/servicehealth", + "name": "servicehealth", + "properties": { + "displayName": "Service Health", + "description": null, + "rank": 1, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/siteswap", + "name": "siteswap", + "properties": { + "displayName": "Site Swap Operations", + "description": null, + "rank": 8, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/sitecrashes", + "name": "sitecrashes", + "properties": { + "displayName": "Site Crash Events", + "description": null, + "rank": 9, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/deployment", + "name": "deployment", + "properties": { + "displayName": "Site Deployments", + "description": null, + "rank": 7, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/sitecpuanalysis", + "name": "sitecpuanalysis", + "properties": { + "displayName": "CPU Analysis", + "description": null, + "rank": 3, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/sitememoryanalysis", + "name": "sitememoryanalysis", + "properties": { + "displayName": "Physical Memory Analysis", + "description": null, + "rank": 3, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/committedmemoryusage", + "name": "committedmemoryusage", + "properties": { + "displayName": "Committed Memory Usage", + "description": null, + "rank": 7, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/pagefileoperations", + "name": "pagefileoperations", + "properties": { + "displayName": "Page File Operations", + "description": null, + "rank": 3, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/siterestartuserinitiated", + "name": "siterestartuserinitiated", + "properties": { + "displayName": "User Initiated Site Restarts", + "description": null, + "rank": 14, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/siterestartsettingupdate", + "name": "siterestartsettingupdate", + "properties": { + "displayName": "Config Update Site Restarts", + "description": null, + "rank": 12, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/frebanalysis", + "name": "frebanalysis", + "properties": { + "displayName": "Freb Logs Analysis", + "description": null, + "rank": 6, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/workeravailability", + "name": "workeravailability", + "properties": { + "displayName": "Worker Availability", + "description": null, + "rank": 11, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/sitelatency", + "name": "sitelatency", + "properties": { + "displayName": "Site Latency", + "description": null, + "rank": 1005, + "isEnabled": false + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/threadcount", + "name": "threadcount", + "properties": { + "displayName": "Thread Count", + "description": null, + "rank": 23, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/failedrequestsperuri", + "name": "failedrequestsperuri", + "properties": { + "displayName": "Failed Requests Per URI", + "description": null, + "rank": 998, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/autoheal", + "name": "autoheal", + "properties": { + "displayName": "AutoHeal", + "description": null, + "rank": 21, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/loganalyzer", + "name": "loganalyzer", + "properties": { + "displayName": "PHP Log Analyzer", + "description": null, + "rank": 26, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/diagnostics/availability/detectors/aspnetcore", + "name": "aspnetcore", + "properties": { + "displayName": "ASP.NET Core", + "description": null, + "rank": 5, + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorsSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorsSlot.json new file mode 100644 index 000000000000..0892cb5cd2b8 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDetectorsSlot.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "diagnosticCategory": "availability", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/slots/staging/diagnostics/availability/detectors/servicehealth", + "name": "servicehealth", + "properties": { + "displayName": "Service Health", + "description": null, + "rank": 1, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/slots/staging/diagnostics/availability/detectors/siteswap", + "name": "siteswap", + "properties": { + "displayName": "Site Swap Operations", + "description": null, + "rank": 8, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/slots/staging/diagnostics/availability/detectors/sitecrashes", + "name": "sitecrashes", + "properties": { + "displayName": "Site Crash Events", + "description": null, + "rank": 9, + "isEnabled": true + } + }, + { + "id": "/subscriptions/ef90e930-9d7f-4a60-8a99-748e0eea69de/resourceGroups/Build2015DemoRG/providers/Microsoft.Web/sites/BuggyBakery/slots/staging/diagnostics/availability/detectors/deployment", + "name": "deployment", + "properties": { + "displayName": "Site Deployments", + "description": null, + "rank": 7, + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDiagnosticCategories.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDiagnosticCategories.json new file mode 100644 index 000000000000..2f570e23c06d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDiagnosticCategories.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "Production", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/diagnostics/availability", + "name": "availability", + "properties": { + "description": "Availability and Perfomance Diagnostics" + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDiagnosticCategoriesSlot.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDiagnosticCategoriesSlot.json new file mode 100644 index 000000000000..e7aa6fb49735 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/Diagnostics_ListSiteDiagnosticCategoriesSlot.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "siteName": "SampleApp", + "slot": "staging", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/Sample-WestUSResourceGroup/providers/Microsoft.Web/sites/SampleApp/slots/staging/diagnostics/availability", + "name": "availability", + "properties": { + "description": "Availability and Perfomance Diagnostics" + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetAllStaticSites.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetAllStaticSites.json new file mode 100644 index 000000000000..00202dd70b31 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetAllStaticSites.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Web/staticSites/testStaticSite0", + "name": "testStaticSite0", + "type": "Microsoft.Web/staticSites", + "location": "West US 2", + "properties": { + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "repositoryUrl": "https://github.com/username/repo", + "branch": "demo", + "customDomains": [] + }, + "sku": { + "name": "Standard", + "tier": "Standard" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetAppServicePlan.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetAppServicePlan.json new file mode 100644 index 000000000000..7a35e595c994 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetAppServicePlan.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testsf6141", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141", + "name": "testsf6141", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "isSpot": false, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + } + }, + "404": {} + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetCertificate.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetCertificate.json new file mode 100644 index 000000000000..d9c8fae7e4f9 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetCertificate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testc6282", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetDeletedWebAppByLocation.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetDeletedWebAppByLocation.json new file mode 100644 index 000000000000..c35d9c89c71b --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetDeletedWebAppByLocation.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "West US 2", + "deletedSiteId": "9", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "wussite6", + "type": "Microsoft.Web/locations/deletedSites", + "properties": { + "deletedSiteId": 9, + "deletedTimestamp": "2019-05-09T22:29:05.1337007", + "subscription": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroup": "rg1", + "deletedSiteName": "wussite6", + "slot": "Production", + "kind": "app", + "geoRegionName": "West US 2" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetInboundNetworkDependenciesEndpoints.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetInboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..b849da0ad9af --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetInboundNetworkDependenciesEndpoints.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "name": "SampleAse", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "description": "App Service management", + "endpoints": [ + "70.37.57.58/32", + "157.55.208.185/32", + "23.102.188.65/32", + "191.236.154.88/32", + "52.174.22.21/32", + "13.94.149.179/32", + "13.94.143.126/32", + "13.94.141.115/32", + "52.178.195.197/32", + "52.178.190.65/32", + "52.178.184.149/32", + "52.178.177.147/32", + "13.75.127.117/32", + "40.83.125.161/32", + "40.83.121.56/32", + "40.83.120.64/32", + "52.187.56.50/32", + "52.187.63.37/32", + "52.187.59.251/32", + "52.187.63.19/32", + "52.165.158.140/32", + "52.165.152.214/32", + "52.165.154.193/32", + "52.165.153.122/32", + "104.44.129.255/32", + "104.44.134.255/32", + "104.44.129.243/32", + "104.44.129.141/32", + "65.52.193.203/32", + "70.37.89.222/32", + "13.64.115.203/32", + "52.225.177.153/32", + "65.52.172.237/32" + ], + "ports": [ + "454", + "455" + ] + }, + { + "description": "App Service Environment VIP", + "endpoints": [ + "52.247.209.18/32" + ], + "ports": [ + "454", + "455", + "16001" + ] + }, + { + "description": "App Service Environment subnet", + "endpoints": [ + "192.168.250.0/24" + ], + "ports": [ + "All" + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetOutboundNetworkDependenciesEndpoints.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetOutboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..b65e936b0bfd --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetOutboundNetworkDependenciesEndpoints.json @@ -0,0 +1,802 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "Sample-WestUSResourceGroup", + "name": "SampleAse", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "Azure Storage", + "endpoints": [ + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "52.183.104.36", + "port": 80, + "latency": 42.0469, + "isAccessible": true + }, + { + "ipAddress": "52.183.104.36", + "port": 443, + "latency": 41.7038, + "isAccessible": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "52.183.104.25", + "port": 80, + "latency": 37.326, + "isAccessible": true + }, + { + "ipAddress": "52.183.104.25", + "port": 443, + "latency": 37.513600000000004, + "isAccessible": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "52.183.104.26", + "port": 80, + "latency": 32.789, + "isAccessible": true + }, + { + "ipAddress": "52.183.104.26", + "port": 443, + "latency": 1.8702, + "isAccessible": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "52.183.104.28", + "port": 80, + "latency": 36.7378, + "isAccessible": true + }, + { + "ipAddress": "52.183.104.28", + "port": 443, + "latency": 36.7108, + "isAccessible": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 4.0261000000000005, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 3.8264, + "isAccessible": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 40.8523, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 40.7501, + "isAccessible": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 1.2071, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 38.2975, + "isAccessible": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 59.383700000000005, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 60.0775, + "isAccessible": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 3.5512, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 2.6777, + "isAccessible": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 3.5204, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 2.8193, + "isAccessible": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 3.2720000000000002, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 3.0147, + "isAccessible": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 3.2387, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 3.2804, + "isAccessible": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.176.16", + "port": 80, + "latency": 43.025200000000005, + "isAccessible": true + }, + { + "ipAddress": "13.66.176.16", + "port": 443, + "latency": 43.1683, + "isAccessible": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.176.25", + "port": 80, + "latency": 41.8598, + "isAccessible": true + }, + { + "ipAddress": "13.66.176.25", + "port": 443, + "latency": 41.9805, + "isAccessible": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.176.26", + "port": 80, + "latency": 30.542900000000003, + "isAccessible": true + }, + { + "ipAddress": "13.66.176.26", + "port": 443, + "latency": 0.98320000000000007, + "isAccessible": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.176.28", + "port": 80, + "latency": 35.9562, + "isAccessible": true + }, + { + "ipAddress": "13.66.176.28", + "port": 443, + "latency": 36.0643, + "isAccessible": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 3.2829, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 2.3393, + "isAccessible": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 3.4103000000000003, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 4.1032, + "isAccessible": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 3.1141, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 3.0247, + "isAccessible": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 2.834, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 2.8198000000000003, + "isAccessible": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 1.3855000000000002, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 1.0594000000000001, + "isAccessible": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 2.4717000000000002, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 2.4827, + "isAccessible": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 3.395, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 3.1701, + "isAccessible": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 1.4308, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 22.5866, + "isAccessible": true + } + ] + }, + { + "domainName": "blob.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.64", + "port": 80, + "latency": 2.5372, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.64", + "port": 443, + "latency": 2.4626, + "isAccessible": true + } + ] + }, + { + "domainName": "queue.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.73", + "port": 80, + "latency": 3.7873, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.73", + "port": 443, + "latency": 4.1911000000000005, + "isAccessible": true + } + ] + }, + { + "domainName": "table.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.74", + "port": 80, + "latency": 2.9162000000000003, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.74", + "port": 443, + "latency": 2.7896, + "isAccessible": true + } + ] + }, + { + "domainName": "file.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.77.184.76", + "port": 80, + "latency": 26.723100000000002, + "isAccessible": true + }, + { + "ipAddress": "13.77.184.76", + "port": 443, + "latency": 26.735200000000003, + "isAccessible": true + } + ] + } + ] + }, + { + "category": "Azure SQL Database", + "endpoints": [ + { + "domainName": "database.windows.net", + "endpointDetails": [ + { + "ipAddress": "13.66.226.202", + "port": 1433, + "latency": 1.5964, + "isAccessible": true + } + ] + } + ] + }, + { + "category": "Azure Management", + "endpoints": [ + { + "domainName": "management.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "23.102.135.246", + "port": 443, + "latency": 46.5764, + "isAccessible": true + } + ] + }, + { + "domainName": "admin.core.windows.net", + "endpointDetails": [ + { + "ipAddress": "23.102.135.247", + "port": 443, + "latency": 47.408, + "isAccessible": true + } + ] + }, + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "ipAddress": "52.151.25.45", + "port": 443, + "latency": 3.9529, + "isAccessible": true + } + ] + } + ] + }, + { + "category": "Azure Active Directory", + "endpoints": [ + { + "domainName": "graph.windows.net", + "endpointDetails": [ + { + "ipAddress": "20.190.133.83", + "port": 443, + "latency": 3.2264, + "isAccessible": true + }, + { + "ipAddress": "20.190.133.81", + "port": 443, + "latency": 3.2264, + "isAccessible": true + }, + { + "ipAddress": "20.190.133.67", + "port": 443, + "latency": 3.2264, + "isAccessible": true + }, + { + "ipAddress": "40.126.5.34", + "port": 443, + "latency": 3.2264, + "isAccessible": true + } + ] + } + ] + }, + { + "category": "Regional Service", + "endpoints": [ + { + "domainName": "gr-prod-mwh.cloudapp.net", + "endpointDetails": [ + { + "ipAddress": "13.66.225.188", + "port": 443, + "latency": 3.3826, + "isAccessible": true + } + ] + }, + { + "domainName": "az-prod.metrics.nsatc.net", + "endpointDetails": [ + { + "ipAddress": "40.77.24.27", + "port": 443, + "latency": 38.5647, + "isAccessible": true + } + ] + } + ] + }, + { + "category": "SSL Certificate Verification", + "endpoints": [ + { + "domainName": "ocsp.msocsp.com", + "endpointDetails": [ + { + "ipAddress": "104.18.25.243", + "port": 80, + "latency": 6.0651, + "isAccessible": true + }, + { + "ipAddress": "104.18.25.243", + "port": 443, + "latency": 12.888, + "isAccessible": true + }, + { + "ipAddress": "104.18.24.243", + "port": 80, + "latency": 6.0651, + "isAccessible": true + }, + { + "ipAddress": "104.18.24.243", + "port": 443, + "latency": 12.888, + "isAccessible": true + } + ] + }, + { + "domainName": "mscrl.microsoft.com", + "endpointDetails": [ + { + "ipAddress": "152.199.4.33", + "port": 80, + "latency": 6.7429000000000006, + "isAccessible": true + }, + { + "ipAddress": "152.199.4.33", + "port": 443, + "latency": 7.4361000000000006, + "isAccessible": true + } + ] + }, + { + "domainName": "crl.microsoft.com", + "endpointDetails": [ + { + "ipAddress": "23.215.102.10", + "port": 80, + "latency": 25.136200000000002, + "isAccessible": true + }, + { + "ipAddress": "23.215.102.10", + "port": 443, + "latency": 25.0085, + "isAccessible": true + }, + { + "ipAddress": "23.215.102.42", + "port": 80, + "latency": 25.136200000000002, + "isAccessible": true + }, + { + "ipAddress": "23.215.102.42", + "port": 443, + "latency": 25.0085, + "isAccessible": true + } + ] + }, + { + "domainName": "www.microsoft.com", + "endpointDetails": [ + { + "ipAddress": "23.49.13.56", + "port": 80, + "latency": 7.9229, + "isAccessible": true + }, + { + "ipAddress": "23.49.13.56", + "port": 443, + "latency": 8.4871, + "isAccessible": true + } + ] + }, + { + "domainName": "crl3.digicert.com", + "endpointDetails": [ + { + "ipAddress": "72.21.91.29", + "port": 80, + "latency": 5.4074, + "isAccessible": true + }, + { + "ipAddress": "72.21.91.29", + "port": 443, + "latency": 5.577, + "isAccessible": true + } + ] + }, + { + "domainName": "ocsp.digicert.com", + "endpointDetails": [ + { + "ipAddress": "72.21.91.29", + "port": 80, + "latency": 6.8989, + "isAccessible": true + }, + { + "ipAddress": "72.21.91.29", + "port": 443, + "latency": 5.6674000000000007, + "isAccessible": true + } + ] + }, + { + "domainName": "cacerts.digicert.com", + "endpointDetails": [ + { + "ipAddress": "104.18.11.39", + "port": 80, + "latency": 10.772400000000001, + "isAccessible": true + }, + { + "ipAddress": "104.18.11.39", + "port": 443, + "latency": 10.7705, + "isAccessible": true + }, + { + "ipAddress": "104.18.10.39", + "port": 80, + "latency": 10.772400000000001, + "isAccessible": true + }, + { + "ipAddress": "104.18.10.39", + "port": 443, + "latency": 10.7705, + "isAccessible": true + } + ] + }, + { + "domainName": "www.thawte.com", + "endpointDetails": [ + { + "ipAddress": "54.69.98.161", + "port": 80, + "latency": 47.532900000000005, + "isAccessible": true + }, + { + "ipAddress": "54.69.98.161", + "port": 443, + "latency": 48.5362, + "isAccessible": true + }, + { + "ipAddress": "35.167.62.148", + "port": 80, + "latency": 47.532900000000005, + "isAccessible": true + }, + { + "ipAddress": "35.167.62.148", + "port": 443, + "latency": 48.5362, + "isAccessible": true + } + ] + } + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetPublishingCredentialsPolicy.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetPublishingCredentialsPolicy.json new file mode 100644 index 000000000000..449b4b6228e7 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetPublishingCredentialsPolicy.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "allow": false + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetResourceHealthMetadataBySite.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetResourceHealthMetadataBySite.json new file mode 100644 index 000000000000..4319140ac9ff --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetResourceHealthMetadataBySite.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "name": "newsiteinnewASE-NCUS", + "slot": "Production", + "resourceGroupName": "Default-Web-NorthCentralUS", + "subscriptionId": "4adb32ad-8327-4cbb-b775-b84b4465bb38", + "metadataName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "category": "Shared", + "signalAvailability": true + }, + "id": "/subscriptions/4adb32ad-8327-4cbb-b775-b84b4465bb38/resourceGroups/Default-Web-NorthCentralUS/providers/Microsoft.Web/sites/newsiteinnewASE-NCUS/resourceHealthMetadata/default", + "name": "default", + "type": "Microsoft.Web/sites/resourceHealthMetadata" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSiteInstanceInfo.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSiteInstanceInfo.json new file mode 100644 index 000000000000..110b36f03cc8 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSiteInstanceInfo.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "tests346", + "instanceId": "134987120", + "slot": "staging", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/sites/tests346/slot/staging/instances/134987120", + "name": "134987120", + "type": "Microsoft.Web/sites/instances", + "properties": { + "state": "READY", + "statusUrl": "https://sampleurl", + "detectorUrl": "testsec579", + "containers": { + "c1": { + "currentTimeStamp": "2013-10-21T13:28:06.419Z" + } + } + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSitePrivateEndpointConnection.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSitePrivateEndpointConnection.json new file mode 100644 index 000000000000..8582f2636bb8 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSitePrivateEndpointConnection.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "privateEndpointConnectionName": "connection", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin.", + "actionsRequired": "" + } + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSitePrivateLinkResources.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSitePrivateLinkResources.json new file mode 100644 index 000000000000..050d0f4a0bdf --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetSitePrivateLinkResources.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Web/sites/testSite/privateLinkResources/site", + "name": "site", + "type": "Microsoft.Web/sites/privateLinkResources", + "properties": { + "groupId": "sites", + "requiredMembers": [ + "sites" + ], + "requiredZoneNames": [ + "privatelink.testsite.azurewebsites.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSite.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSite.json new file mode 100644 index 000000000000..4343b5adef34 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSite.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Web/staticSites/testStaticSite0", + "name": "testStaticSite0", + "type": "Microsoft.Web/staticSites", + "location": "West US 2", + "properties": { + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "repositoryUrl": "https://github.com/username/repo", + "branch": "demo", + "customDomains": [] + }, + "sku": { + "name": "Basic", + "tier": "Basic" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteBuild.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteBuild.json new file mode 100644 index 000000000000..c42853e5ee7f --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteBuild.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "prId": "12", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "buildId": "12", + "sourceBranch": "pr-branch", + "pullRequestTitle": "Update README.md", + "hostname": "happy-sea-15afae3e-12.westus2.azurestaticwebsites.net", + "createdTimeUtc": "2020-03-04T17:33:11.641Z", + "lastUpdatedOn": "2020-03-04T17:33:11.641Z", + "status": "Uploading" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteBuilds.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteBuilds.json new file mode 100644 index 000000000000..4e53fa36ab86 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteBuilds.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "buildId": "default", + "sourceBranch": "demo", + "pullRequestTitle": null, + "hostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "createdTimeUtc": "2020-03-04T17:33:11.641Z", + "lastUpdatedOn": "2020-03-04T17:33:11.641Z", + "status": "Ready" + } + }, + { + "properties": { + "buildId": "12", + "sourceBranch": "demo-patch2", + "pullRequestTitle": "Update README.md", + "hostname": "happy-sea-15afae3e-12.westus2.azurestaticwebsites.net", + "createdTimeUtc": "2020-03-04T17:33:11.641Z", + "lastUpdatedOn": "2020-03-04T17:33:11.641Z", + "status": "Ready" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteCustomDomains.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteCustomDomains.json new file mode 100644 index 000000000000..fec2694d3f18 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSiteCustomDomains.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "domainName": "custom.domain.net", + "createdOn": "2020-03-04T17:33:11.641Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSites.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSites.json new file mode 100644 index 000000000000..da3a26722d88 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetStaticSites.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Web/staticSites/testStaticSite0", + "name": "testStaticSite0", + "type": "Microsoft.Web/staticSites", + "location": "West US 2", + "properties": { + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "repositoryUrl": "https://github.com/username/repo", + "branch": "demo", + "customDomains": [] + }, + "sku": { + "name": "Standard", + "tier": "Standard" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetWebSiteNetworkTraceOperation.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetWebSiteNetworkTraceOperation.json new file mode 100644 index 000000000000..ba8cfa67022c --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetWebSiteNetworkTraceOperation.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "SampleApp", + "slot": "Production", + "operationId": "c291433b-53ad-4c49-8cae-0a293eae1c6d", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "path": "D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip", + "status": "Succeeded", + "message": "Trace file has been saved as D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip" + } + ] + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/sites/SampleApp/networktraces/current/operationresults/c291433b-53ad-4c49-8cae-0a293eae1c6d", + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/sites/SampleApp/networktraces/current/operationresults/c291433b-53ad-4c49-8cae-0a293eae1c6d" + }, + "body": [ + { + "path": "D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip", + "status": "Succeeded", + "message": "Trace file has been saved as D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip" + } + ] + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetWebSiteNetworkTraces.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetWebSiteNetworkTraces.json new file mode 100644 index 000000000000..0d2bf8b1f9f7 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/GetWebSiteNetworkTraces.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "SampleApp", + "slot": "Production", + "operationId": "c291433b-53ad-4c49-8cae-0a293eae1c6d", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "path": "D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip", + "status": "Succeeded", + "message": "Trace file has been saved as D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip" + } + ] + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListAppServicePlans.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListAppServicePlans.json new file mode 100644 index 000000000000..b7bac3e64492 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListAppServicePlans.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141", + "name": "testsf6141", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "isSpot": false, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf7252", + "name": "testsf7252", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "isSpot": false, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListAppServicePlansByResourceGroup.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListAppServicePlansByResourceGroup.json new file mode 100644 index 000000000000..58e314b8e9f2 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListAppServicePlansByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141", + "name": "testsf6141", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "isSpot": false, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf7252", + "name": "testsf7252", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "isSpot": false, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListCertificates.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListCertificates.json new file mode 100644 index 000000000000..3031a56e166e --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListCertificates.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc4912", + "name": "testc4912", + "type": "Microsoft.Web/certificates", + "location": "West US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert2", + "hostNames": [ + "ServerCert2" + ], + "issuer": "CACert", + "issueDate": "2015-12-12T23:40:25+00:00", + "expirationDate": "2040-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B0490D5886EBFE" + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListCertificatesByResourceGroup.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListCertificatesByResourceGroup.json new file mode 100644 index 000000000000..e911415e26e8 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListCertificatesByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc4912", + "name": "testc4912", + "type": "Microsoft.Web/certificates", + "location": "West US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert2", + "hostNames": [ + "ServerCert2" + ], + "issuer": "CACert", + "issueDate": "2015-12-12T23:40:25+00:00", + "expirationDate": "2040-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B0490D5886EBFE" + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListDeletedWebAppsByLocation.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListDeletedWebAppsByLocation.json new file mode 100644 index 000000000000..604ce8669219 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListDeletedWebAppsByLocation.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "West US 2", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "wussite6", + "type": "Microsoft.Web/locations/deletedSites", + "properties": { + "deletedSiteId": 9, + "deletedTimestamp": "2019-05-09T22:29:05.1337007", + "subscription": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroup": "rg1", + "deletedSiteName": "wussite6", + "slot": "Production", + "kind": "app", + "geoRegionName": "West US 2" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListOperations.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListOperations.json new file mode 100644 index 000000000000..ed5ffd030ef9 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListOperations.json @@ -0,0 +1,5781 @@ +{ + "parameters": { + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.Web/sites/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Get Web App", + "description": "Get the properties of a Web App" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Create or Update Web App", + "description": "Create a new Web App or update an existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Create or Update Web App Slot", + "description": "Create a new Web App Slot or update an existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Delete Web App", + "description": "Delete an existing Web App" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Delete Web App Slot", + "description": "Delete an existing Web App Slot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/config/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Get Web App Slot Configuration", + "description": "Get Web App Slot's configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/config/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Get Web App Configuration", + "description": "Get Web App configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/config/list/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "List Web App Security Sensitive Settings", + "description": "List Web App's security sensitive settings, such as publishing credentials, app settings and connection strings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/config/list/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "List Web App Slot Security Sensitive Settings", + "description": "List Web App Slot's security sensitive settings, such as publishing credentials, app settings and connection strings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/config/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Update Web App Configuration", + "description": "Update Web App's configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/config/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Update Web App Slot Configuration", + "description": "Update Web App Slot's configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/sourcecontrols/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Get Web App Source Control Configuration", + "description": "Get Web App's source control configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/sourcecontrols/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Get Web App Slot Source Control Configuration", + "description": "Get Web App Slot's source control configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/sourcecontrols/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Update Web App Source Control Configuration", + "description": "Update Web App's source control configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/sourcecontrols/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Update Web App Slot Source Control Configuration", + "description": "Update Web App Slot's source control configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/sourcecontrols/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Delete Web App Source Control Configuration", + "description": "Delete Web App's source control configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/sourcecontrols/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Delete Web App Slot Source Control Configuration", + "description": "Delete Web App Slot's source control configuration settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/backup/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Create Web App Backup", + "description": "Create a new web app backup" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/backup/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Create Web App Slot Backup", + "description": "Create new Web App Slot backup." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/backups/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Get Web App Backup", + "description": "Get the properties of a web app's backup" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/backups/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "List Web App Slot Backups", + "description": "Get the properties of a web app slots' backup" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/publishxml/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Get Web App Publishing Profile", + "description": "Get publishing profile xml for a Web App" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/publishxml/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Get Web App Slot Publishing Profile", + "description": "Get publishing profile xml for Web App Slot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/publish/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Publish Web App", + "description": "Publish a Web App" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/publish/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Publish Web App Slot", + "description": "Publish a Web App Slot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/restart/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Restart Web App", + "description": "Restart a Web App" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/restart/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Restart Web App Slot", + "description": "Restart a Web App Slot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/start/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Start Web App", + "description": "Start a Web App" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/start/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Start Web App Slot", + "description": "Start a Web App Slot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/stop/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Stop Web App", + "description": "Stop a Web App" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/stop/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Stop Web App Slot", + "description": "Stop a Web App Slot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slotsswap/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Swap Web App Slots", + "description": "Swap Web App deployment slots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/slotsswap/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Swap Web App Slots", + "description": "Swap Web App deployment slots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slotsdiffs/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Get Web App Slots Differences", + "description": "Get differences in configuration between web app and slots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/slotsdiffs/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Get Web App Slots Differences", + "description": "Get differences in configuration between web app and slots" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/applySlotConfig/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Apply Web App Configuration", + "description": "Apply web app slot configuration from target slot to the current web app" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/applySlotConfig/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Apply Web App Slot Configuration", + "description": "Apply web app slot configuration from target slot to the current slot." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/resetSlotConfig/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App", + "operation": "Reset Web App Configuration", + "description": "Reset web app configuration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/resetSlotConfig/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Reset Web App Slot Configuration", + "description": "Reset web app slot configuration" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/slots/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web App Slot", + "operation": "Get Web App Deployment Slot", + "description": "Get the properties of a Web App deployment slot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/serverfarms/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plan", + "operation": "Get App Service Plan", + "description": "Get the properties on an App Service Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/serverfarms/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plan", + "operation": "Create or Update App Service Plan", + "description": "Create a new App Service Plan or update an existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/serverfarms/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plan", + "operation": "Delete App Service Plan", + "description": "Delete an existing App Service Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/serverfarms/restartSites/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plan", + "operation": "Restart Web Apps", + "description": "Restart all Web Apps in an App Service Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/certificates/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Certificate", + "operation": "Get Certificates", + "description": "Get the list of certificates." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/certificates/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Certificate", + "operation": "Add or Update Certificate", + "description": "Add a new certificate or update an existing one." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/certificates/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Certificate", + "operation": "Delete Certificate", + "description": "Delete an existing certificate." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/geoRegions/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Geo Region", + "operation": "Get Geo Regions", + "description": "Get the list of Geo regions." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/listSitesAssignedToHostName/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Site Name", + "operation": "Get sites assigned to hostname", + "description": "Get names of sites assigned to hostname." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/hostingEnvironments/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Environment", + "operation": "Get App Service Environment", + "description": "Get the properties of an App Service Environment" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/hostingEnvironments/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Environment", + "operation": "Create or Update App Service Environment", + "description": "Create a new App Service Environment or update existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/hostingEnvironments/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Environment", + "operation": "Delete App Service Environment", + "description": "Delete an App Service Environment" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/hostingEnvironments/reboot/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Environment", + "operation": "Reboot an App Service Environment", + "description": "Reboot all machines in an App Service Environment" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/hostingEnvironments/multiRolePools/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Environment FrontEnd Pool", + "operation": "Get FrontEnd Pool", + "description": "Get the properties of a FrontEnd Pool in an App Service Environment" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/hostingEnvironments/multiRolePools/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Environment FrontEnd Pool", + "operation": "Create or Update FrontEnd Pool", + "description": "Create a new FrontEnd Pool in an App Service Environment or update an existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/hostingEnvironments/workerPools/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Environment Worker Pool", + "operation": "Get Worker Pool", + "description": "Get the properties of a Worker Pool in an App Service Environment" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/hostingEnvironments/workerPools/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Environment Worker Pool", + "operation": "Create or Update Worker Pool", + "description": "Create a new Worker Pool in an App Service Environment or update an existing one" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/connections/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connections", + "operation": "Get Connections", + "description": "Get the list of Connections." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/connections/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connections", + "operation": "Add or Update Connection", + "description": "Creates or updates a Connection." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/connections/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connections", + "operation": "Delete Connection", + "description": "Deletes a Connection." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/connections/Join/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connections", + "operation": "Join Connection", + "description": "Joins a Connection." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/connectionGateways/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connection Gateways", + "operation": "Get Connection Gateways", + "description": "Get the list of Connection Gateways." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/connectionGateways/Write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connection Gateways", + "operation": "Add or Update Connection Gateways", + "description": "Creates or updates a Connection Gateway." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/connectionGateways/Delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connection Gateways", + "operation": "Delete Connection Gateway", + "description": "Deletes a Connection Gateway." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/connectionGateways/Join/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connection Gateways", + "operation": "Join Connection Gateway", + "description": "Joins a Connection Gateway." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/recommendations/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Recommendation", + "operation": "Get recommendations", + "description": "Get the list of recommendations for subscriptions." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/sites/recommendations/Read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Recommendation", + "operation": "Get recommendations for web app", + "description": "Get the list of recommendations for web app." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/availablestacks/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Available Stacks", + "operation": "Get Available Stacks", + "description": "Get Available Stacks." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/checknameavailability/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Check Name Availability", + "operation": "Get Check Name Availability", + "description": "Check if resource name is available." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/classicmobileservices/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Classic Mobile Services", + "operation": "Get Classic Mobile Services", + "description": "Get Classic Mobile Services." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/connections/confirmconsentcode/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connections", + "operation": "Confirm Connections Consent Code", + "description": "Confirm Connections Consent Code." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/connections/listconsentlinks/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connections", + "operation": "List Consent Links for Connections", + "description": "List Consent Links for Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/deploymentlocations/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Deployment Locations", + "operation": "Get Deployment Locations", + "description": "Get Deployment Locations." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/capacities/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Capacities", + "operation": "Get Hosting Environments Capacities", + "description": "Get Hosting Environments Capacities." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/diagnostics/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Diagnostics", + "operation": "Get Hosting Environments Diagnostics", + "description": "Get Hosting Environments Diagnostics." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/metricdefinitions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Metric Definitions", + "operation": "Get Hosting Environments Metric Definitions", + "description": "Get Hosting Environments Metric Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/multirolepools/metricdefinitions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments MultiRole Pools Metric Definitions", + "operation": "Get Hosting Environments MultiRole Pools Metric Definitions", + "description": "Get Hosting Environments MultiRole Pools Metric Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/multirolepools/metrics/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments MultiRole Pools Metrics", + "operation": "Get Hosting Environments MultiRole Pools Metrics", + "description": "Get Hosting Environments MultiRole Pools Metrics." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/multirolepools/skus/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments MultiRole Pools SKUs", + "operation": "Get Hosting Environments MultiRole Pools SKUs", + "description": "Get Hosting Environments MultiRole Pools SKUs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/multirolepools/usages/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments MultiRole Pools Usages", + "operation": "Get Hosting Environments MultiRole Pools Usages", + "description": "Get Hosting Environments MultiRole Pools Usages." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/operations/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Operations", + "operation": "Get Hosting Environments Operations", + "description": "Get Hosting Environments Operations." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/resume/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments", + "operation": "Resume Hosting Environments", + "description": "Resume Hosting Environments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/serverfarms/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments App Service Plans", + "operation": "Get Hosting Environments App Service Plans", + "description": "Get Hosting Environments App Service Plans." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/sites/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Web Apps", + "operation": "Get Hosting Environments Web Apps", + "description": "Get Hosting Environments Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/suspend/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments", + "operation": "Suspend Hosting Environments", + "description": "Suspend Hosting Environments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/usages/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Usages", + "operation": "Get Hosting Environments Usages", + "description": "Get Hosting Environments Usages." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/workerpools/metricdefinitions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Workerpools Metric Definitions", + "operation": "Get Hosting Environments Workerpools Metric Definitions", + "description": "Get Hosting Environments Workerpools Metric Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/workerpools/metrics/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Workerpools Metrics", + "operation": "Get Hosting Environments Workerpools Metrics", + "description": "Get Hosting Environments Workerpools Metrics." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/workerpools/skus/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Workerpools SKUs", + "operation": "Get Hosting Environments Workerpools SKUs", + "description": "Get Hosting Environments Workerpools SKUs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/hostingenvironments/workerpools/usages/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environments Workerpools Usages", + "operation": "Get Hosting Environments Workerpools Usages", + "description": "Get Hosting Environments Workerpools Usages." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/ishostingenvironmentnameavailable/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hosting Environment Name", + "operation": "Check if Hosting Environment Name is available", + "description": "Get if Hosting Environment Name is available." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/ishostnameavailable/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Hostname", + "operation": "Check if Hostname is Available", + "description": "Check if Hostname is Available." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/isusernameavailable/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Username", + "operation": "Check if Username is available", + "description": "Check if Username is available." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/locations/apioperations/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Locations API Operations", + "operation": "Get Locations API Operations", + "description": "Get Locations API Operations." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/locations/connectiongatewayinstallations/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Locations Connection Gateway Installations", + "operation": "Get Locations Connection Gateway Installations", + "description": "Get Locations Connection Gateway Installations." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/locations/managedapis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Locations Managed APIs", + "operation": "Get Locations Managed APIs", + "description": "Get Locations Managed APIs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/operations/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Operations", + "operation": "Get Operations", + "description": "Get Operations." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/publishingusers/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Publishing Users", + "operation": "Get Publishing Users", + "description": "Get Publishing Users." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/publishingusers/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Publishing Users", + "operation": "Update Publishing Users", + "description": "Update Publishing Users." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/capabilities/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Capabilities", + "operation": "Get App Service Plans Capabilities", + "description": "Get App Service Plans Capabilities." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/firstpartyapps/settings/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans First Party Apps Settings", + "operation": "Delete App Service Plans First Party Apps Settings", + "description": "Delete App Service Plans First Party Apps Settings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/firstpartyapps/settings/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans First Party Apps Settings", + "operation": "Get App Service Plans First Party Apps Settings", + "description": "Get App Service Plans First Party Apps Settings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/firstpartyapps/settings/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans First Party Apps Settings", + "operation": "Update App Service Plans First Party Apps Settings", + "description": "Update App Service Plans First Party Apps Settings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/hybridconnectionnamespaces/relays/sites/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Hybrid Connection Namespaces Relays Web Apps", + "operation": "Get App Service Plans Hybrid Connection Namespaces Relays Web Apps", + "description": "Get App Service Plans Hybrid Connection Namespaces Relays Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/hybridconnectionplanlimits/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Hybrid Connection Plan Limits", + "operation": "Get App Service Plans Hybrid Connection Plan Limits", + "description": "Get App Service Plans Hybrid Connection Plan Limits." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/hybridconnectionrelays/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Hybrid Connection Relays", + "operation": "Get App Service Plans Hybrid Connection Relays", + "description": "Get App Service Plans Hybrid Connection Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/metricdefinitions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Metric Definitions", + "operation": "Get App Service Plans Metric Definitions", + "description": "Get App Service Plans Metric Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/metrics/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Metrics", + "operation": "Get App Service Plans Metrics", + "description": "Get App Service Plans Metrics." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/operationresults/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Operation Results", + "operation": "Get App Service Plans Operation Results", + "description": "Get App Service Plans Operation Results." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/sites/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Web Apps", + "operation": "Get App Service Plans Web Apps", + "description": "Get App Service Plans Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/skus/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans SKUs", + "operation": "Get App Service Plans SKUs", + "description": "Get App Service Plans SKUs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/usages/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Usages", + "operation": "Get App Service Plans Usages", + "description": "Get App Service Plans Usages." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/virtualnetworkconnections/gateways/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Virtual Network Connections Gateways", + "operation": "Update App Service Plans Virtual Network Connections Gateways", + "description": "Update App Service Plans Virtual Network Connections Gateways." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/virtualnetworkconnections/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Virtual Network Connections", + "operation": "Get App Service Plans Virtual Network Connections", + "description": "Get App Service Plans Virtual Network Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/virtualnetworkconnections/routes/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Virtual Network Connections Routes", + "operation": "Delete App Service Plans Virtual Network Connections Routes", + "description": "Delete App Service Plans Virtual Network Connections Routes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/virtualnetworkconnections/routes/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Virtual Network Connections Routes", + "operation": "Get App Service Plans Virtual Network Connections Routes", + "description": "Get App Service Plans Virtual Network Connections Routes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/virtualnetworkconnections/routes/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Virtual Network Connections Routes", + "operation": "Update App Service Plans Virtual Network Connections Routes", + "description": "Update App Service Plans Virtual Network Connections Routes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/workers/reboot/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Workers", + "operation": "Reboot App Service Plans Workers", + "description": "Reboot App Service Plans Workers." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/analyzecustomhostname/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Custom Hostname", + "operation": "Analyze Custom Hostname", + "description": "Analyze Custom Hostname." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/backup/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Backup", + "operation": "Get Web Apps Backup", + "description": "Get Web Apps Backup." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/backup/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Backup", + "operation": "Update Web Apps Backup", + "description": "Update Web Apps Backup." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/backups/list/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Backups", + "operation": "List Web Apps Backups", + "description": "List Web Apps Backups." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/backups/restore/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Backups", + "operation": "Restore Web Apps Backups", + "description": "Restore Web Apps Backups." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/config/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Config", + "operation": "Delete Web Apps Config", + "description": "Delete Web Apps Config." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/continuouswebjobs/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Continuous Web Jobs", + "operation": "Delete Web Apps Continuous Web Jobs", + "description": "Delete Web Apps Continuous Web Jobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/continuouswebjobs/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Continuous Web Jobs", + "operation": "Get Web Apps Continuous Web Jobs", + "description": "Get Web Apps Continuous Web Jobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/continuouswebjobs/start/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Continuous Web Jobs", + "operation": "Start Web Apps Continuous Web Jobs", + "description": "Start Web Apps Continuous Web Jobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/continuouswebjobs/stop/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Continuous Web Jobs", + "operation": "Stop Web Apps Continuous Web Jobs", + "description": "Stop Web Apps Continuous Web Jobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/deployments/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Deployments", + "operation": "Delete Web Apps Deployments", + "description": "Delete Web Apps Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/deployments/log/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Deployments Log", + "operation": "Get Web Apps Deployments Log", + "description": "Get Web Apps Deployments Log." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/deployments/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Deployments", + "operation": "Get Web Apps Deployments", + "description": "Get Web Apps Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/deployments/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Deployments", + "operation": "Update Web Apps Deployments", + "description": "Update Web Apps Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/frebanalysis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics FREB Analysis", + "operation": "Get Web Apps Diagnostics FREB Analysis", + "description": "Get Web Apps Diagnostics FREB Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/frebanalysis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics FREB Analysis", + "operation": "Get Web Apps Slots Diagnostics FREB Analysis", + "description": "Get Web Apps Slots Diagnostics FREB Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Category", + "operation": "Get Web Apps Diagnostics Category", + "description": "Get Web Apps Diagnostics Categories." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/runtimeavailability/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Runtime Availability", + "operation": "Get Web Apps Diagnostics Runtime Availability", + "description": "Get Web Apps Diagnostics Runtime Availability." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/servicehealth/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Service Health", + "operation": "Get Web Apps Diagnostics Service Health", + "description": "Get Web Apps Diagnostics Service Health." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/workeravailability/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Workeravailability", + "operation": "Get Web Apps Diagnostics Workeravailability", + "description": "Get Web Apps Diagnostics Workeravailability." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/workeravailability/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Workeravailability", + "operation": "Get Web Apps Slots Diagnostics Workeravailability", + "description": "Get Web Apps Slots Diagnostics Workeravailability." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/workerprocessrecycle/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Worker Process Recycle", + "operation": "Get Web Apps Diagnostics Worker Process Recycle", + "description": "Get Web Apps Diagnostics Worker Process Recycle." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/workerprocessrecycle/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Worker Process Recycle", + "operation": "Get Web Apps Slots Diagnostics Worker Process Recycle", + "description": "Get Web Apps Slots Diagnostics Worker Process Recycle." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/aspnetcore/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics ASP.NET Core", + "operation": "Get Web Apps Diagnostics ASP.NET Core", + "description": "Get Web Apps Diagnostics for ASP.NET Core app." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/aspnetcore/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics ASP.NET Core", + "operation": "Get Web Apps Slots Diagnostics ASP.NET Core", + "description": "Get Web Apps Slots Diagnostics for ASP.NET Core app." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/domainownershipidentifiers/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Domain Ownership Identifiers", + "operation": "Get Web Apps Domain Ownership Identifiers", + "description": "Get Web Apps Domain Ownership Identifiers." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/domainownershipidentifiers/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Domain Ownership Identifiers", + "operation": "Update Web Apps Domain Ownership Identifiers", + "description": "Update Web Apps Domain Ownership Identifiers." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/functions/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "Functions Web Apps", + "description": "Functions Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/functions/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Functions", + "operation": "Delete Web Apps Functions", + "description": "Delete Web Apps Functions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/functions/listsecrets/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Functions", + "operation": "List Secrets Web Apps Functions", + "description": "List Secrets Web Apps Functions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/functions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Functions", + "operation": "Get Web Apps Functions", + "description": "Get Web Apps Functions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/functions/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Functions", + "operation": "Update Web Apps Functions", + "description": "Update Web Apps Functions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hostnamebindings/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hostname Bindings", + "operation": "Delete Web Apps Hostname Bindings", + "description": "Delete Web Apps Hostname Bindings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hostnamebindings/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hostname Bindings", + "operation": "Get Web Apps Hostname Bindings", + "description": "Get Web Apps Hostname Bindings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hostnamebindings/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hostname Bindings", + "operation": "Update Web Apps Hostname Bindings", + "description": "Update Web Apps Hostname Bindings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hybridconnection/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hybrid Connection", + "operation": "Delete Web Apps Hybrid Connection", + "description": "Delete Web Apps Hybrid Connection." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hybridconnection/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hybrid Connection", + "operation": "Get Web Apps Hybrid Connection", + "description": "Get Web Apps Hybrid Connection." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hybridconnection/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hybrid Connection", + "operation": "Update Web Apps Hybrid Connection", + "description": "Update Web Apps Hybrid Connection." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hybridconnectionrelays/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hybrid Connection Relays", + "operation": "Get Web Apps Hybrid Connection Relays", + "description": "Get Web Apps Hybrid Connection Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/instances/deployments/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Instances Deployments", + "operation": "Get Web Apps Instances Deployments", + "description": "Get Web Apps Instances Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/instances/processes/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Instances Processes", + "operation": "Delete Web Apps Instances Processes", + "description": "Delete Web Apps Instances Processes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/instances/processes/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Instances Processes", + "operation": "Get Web Apps Instances Processes", + "description": "Get Web Apps Instances Processes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/instances/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Instances", + "operation": "Get Web Apps Instances", + "description": "Get Web Apps Instances." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/listsyncfunctiontriggerstatus/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "List Sync Function Trigger Status Web Apps", + "description": "List Sync Function Trigger Status Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/metricdefinitions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Metric Definitions", + "operation": "Get Web Apps Metric Definitions", + "description": "Get Web Apps Metric Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/metrics/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Metrics", + "operation": "Get Web Apps Metrics", + "description": "Get Web Apps Metrics." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/networktrace/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "Network Trace Web Apps", + "description": "Network Trace Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/newpassword/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "Newpassword Web Apps", + "description": "Newpassword Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/operationresults/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Operation Results", + "operation": "Get Web Apps Operation Results", + "description": "Get Web Apps Operation Results." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/perfcounters/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Performance Counters", + "operation": "Get Web Apps Performance Counters", + "description": "Get Web Apps Performance Counters." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/premieraddons/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Premier Addons", + "operation": "Delete Web Apps Premier Addons", + "description": "Delete Web Apps Premier Addons." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/premieraddons/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Premier Addons", + "operation": "Get Web Apps Premier Addons", + "description": "Get Web Apps Premier Addons." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/premieraddons/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Premier Addons", + "operation": "Update Web Apps Premier Addons", + "description": "Update Web Apps Premier Addons." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/publishxml/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Publishing XML", + "operation": "Get Web Apps Publishing XML", + "description": "Get Web Apps Publishing XML." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/recommendationhistory/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Recommendation History", + "operation": "Get Web Apps Recommendation History", + "description": "Get Web Apps Recommendation History." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/recommendations/disable/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Recommendations", + "operation": "Disable Web Apps Recommendations", + "description": "Disable Web Apps Recommendations." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/restore/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Restore", + "operation": "Get Web Apps Restore", + "description": "Get Web Apps Restore." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/analyzecustomhostname/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Analyze Custom Hostname", + "operation": "Get Web Apps Slots Analyze Custom Hostname", + "description": "Get Web Apps Slots Analyze Custom Hostname." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/backup/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Backup", + "operation": "Update Web Apps Slots Backup", + "description": "Update Web Apps Slots Backup." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/backups/list/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Backups", + "operation": "List Web Apps Slots Backups", + "description": "List Web Apps Slots Backups." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/backups/restore/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Backups", + "operation": "Restore Web Apps Slots Backups", + "description": "Restore Web Apps Slots Backups." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/config/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Config", + "operation": "Delete Web Apps Slots Config", + "description": "Delete Web Apps Slots Config." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/continuouswebjobs/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Continuous Web Jobs", + "operation": "Delete Web Apps Slots Continuous Web Jobs", + "description": "Delete Web Apps Slots Continuous Web Jobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/continuouswebjobs/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Continuous Web Jobs", + "operation": "Get Web Apps Slots Continuous Web Jobs", + "description": "Get Web Apps Slots Continuous Web Jobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/continuouswebjobs/start/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Continuous Web Jobs", + "operation": "Start Web Apps Slots Continuous Web Jobs", + "description": "Start Web Apps Slots Continuous Web Jobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/continuouswebjobs/stop/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Continuous Web Jobs", + "operation": "Stop Web Apps Slots Continuous Web Jobs", + "description": "Stop Web Apps Slots Continuous Web Jobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/deployments/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Deployments", + "operation": "Delete Web Apps Slots Deployments", + "description": "Delete Web Apps Slots Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/deployments/log/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Deployments Log", + "operation": "Get Web Apps Slots Deployments Log", + "description": "Get Web Apps Slots Deployments Log." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/deployments/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Deployments", + "operation": "Get Web Apps Slots Deployments", + "description": "Get Web Apps Slots Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/deployments/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Deployments", + "operation": "Update Web Apps Slots Deployments", + "description": "Update Web Apps Slots Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hostnamebindings/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hostname Bindings", + "operation": "Delete Web Apps Slots Hostname Bindings", + "description": "Delete Web Apps Slots Hostname Bindings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hostnamebindings/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hostname Bindings", + "operation": "Get Web Apps Slots Hostname Bindings", + "description": "Get Web Apps Slots Hostname Bindings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hostnamebindings/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hostname Bindings", + "operation": "Update Web Apps Slots Hostname Bindings", + "description": "Update Web Apps Slots Hostname Bindings." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hybridconnection/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hybrid Connection", + "operation": "Delete Web Apps Slots Hybrid Connection", + "description": "Delete Web Apps Slots Hybrid Connection." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hybridconnection/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hybrid Connection", + "operation": "Get Web Apps Slots Hybrid Connection", + "description": "Get Web Apps Slots Hybrid Connection." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hybridconnection/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hybrid Connection", + "operation": "Update Web Apps Slots Hybrid Connection", + "description": "Update Web Apps Slots Hybrid Connection." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/instances/deployments/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Instances Deployments", + "operation": "Get Web Apps Slots Instances Deployments", + "description": "Get Web Apps Slots Instances Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/instances/processes/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Instances Processes", + "operation": "Get Web Apps Slots Instances Processes", + "description": "Get Web Apps Slots Instances Processes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/instances/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Instances", + "operation": "Get Web Apps Slots Instances", + "description": "Get Web Apps Slots Instances." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/metricdefinitions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Metric Definitions", + "operation": "Get Web Apps Slots Metric Definitions", + "description": "Get Web Apps Slots Metric Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/metrics/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Metrics", + "operation": "Get Web Apps Slots Metrics", + "description": "Get Web Apps Slots Metrics." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/newpassword/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots", + "operation": "Newpassword Web Apps Slots", + "description": "Newpassword Web Apps Slots." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/operationresults/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Operation Results", + "operation": "Get Web Apps Slots Operation Results", + "description": "Get Web Apps Slots Operation Results." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/phplogging/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Phplogging", + "operation": "Get Web Apps Slots Phplogging", + "description": "Get Web Apps Slots Phplogging." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/premieraddons/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Premier Addons", + "operation": "Delete Web Apps Slots Premier Addons", + "description": "Delete Web Apps Slots Premier Addons." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/premieraddons/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Premier Addons", + "operation": "Get Web Apps Slots Premier Addons", + "description": "Get Web Apps Slots Premier Addons." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/premieraddons/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Premier Addons", + "operation": "Update Web Apps Slots Premier Addons", + "description": "Update Web Apps Slots Premier Addons." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/restore/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Restore", + "operation": "Get Web Apps Slots Restore", + "description": "Get Web Apps Slots Restore." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/sync/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots", + "operation": "Sync Web Apps Slots", + "description": "Sync Web Apps Slots." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/triggeredwebjobs/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Triggered WebJobs", + "operation": "Delete Web Apps Slots Triggered WebJobs", + "description": "Delete Web Apps Slots Triggered WebJobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/triggeredwebjobs/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Triggered WebJobs", + "operation": "Get Web Apps Slots Triggered WebJobs", + "description": "Get Web Apps Slots Triggered WebJobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/triggeredwebjobs/run/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Triggered WebJobs", + "operation": "Run Web Apps Slots Triggered WebJobs", + "description": "Run Web Apps Slots Triggered WebJobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/usages/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Usages", + "operation": "Get Web Apps Slots Usages", + "description": "Get Web Apps Slots Usages." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/virtualnetworkconnections/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Virtual Network Connections", + "operation": "Delete Web Apps Slots Virtual Network Connections", + "description": "Delete Web Apps Slots Virtual Network Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/virtualnetworkconnections/gateways/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Virtual Network Connections Gateways", + "operation": "Update Web Apps Slots Virtual Network Connections Gateways", + "description": "Update Web Apps Slots Virtual Network Connections Gateways." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/virtualnetworkconnections/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Virtual Network Connections", + "operation": "Get Web Apps Slots Virtual Network Connections", + "description": "Get Web Apps Slots Virtual Network Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/virtualnetworkconnections/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Virtual Network Connections", + "operation": "Update Web Apps Slots Virtual Network Connections", + "description": "Update Web Apps Slots Virtual Network Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/webjobs/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots WebJobs", + "operation": "Get Web Apps Slots WebJobs", + "description": "Get Web Apps Slots WebJobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/snapshots/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Snapshots", + "operation": "Get Web Apps Snapshots", + "description": "Get Web Apps Snapshots." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/sync/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "Sync Web Apps", + "description": "Sync Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/triggeredwebjobs/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Triggered WebJobs", + "operation": "Delete Web Apps Triggered WebJobs", + "description": "Delete Web Apps Triggered WebJobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/triggeredwebjobs/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Triggered WebJobs", + "operation": "Get Web Apps Triggered WebJobs", + "description": "Get Web Apps Triggered WebJobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/triggeredwebjobs/run/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Triggered WebJobs", + "operation": "Run Web Apps Triggered WebJobs", + "description": "Run Web Apps Triggered WebJobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/usages/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Usages", + "operation": "Get Web Apps Usages", + "description": "Get Web Apps Usages." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/virtualnetworkconnections/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Virtual Network Connections", + "operation": "Delete Web Apps Virtual Network Connections", + "description": "Delete Web Apps Virtual Network Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/virtualnetworkconnections/gateways/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Virtual Network Connections Gateways", + "operation": "Get Web Apps Virtual Network Connections Gateways", + "description": "Get Web Apps Virtual Network Connections Gateways." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/virtualnetworkconnections/gateways/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Virtual Network Connections Gateways", + "operation": "Update Web Apps Virtual Network Connections Gateways", + "description": "Update Web Apps Virtual Network Connections Gateways." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/virtualnetworkconnections/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Virtual Network Connections", + "operation": "Get Web Apps Virtual Network Connections", + "description": "Get Web Apps Virtual Network Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/virtualnetworkconnections/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Virtual Network Connections", + "operation": "Update Web Apps Virtual Network Connections", + "description": "Update Web Apps Virtual Network Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/webjobs/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps WebJobs", + "operation": "Get Web Apps WebJobs", + "description": "Get Web Apps WebJobs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/skus/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "SKUs", + "operation": "Get SKUs", + "description": "Get SKUs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sourcecontrols/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Source Controls", + "operation": "Get Source Controls", + "description": "Get Source Controls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sourcecontrols/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Source Controls", + "operation": "Update Source Controls", + "description": "Update Source Controls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/unregister/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Microsoft.Web resource provider", + "operation": "Unregister Microsoft.Web resource provider", + "description": "Unregister Microsoft.Web resource provider for the subscription." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/validate/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "", + "operation": "Validate ", + "description": "Validate ." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/register/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Microsoft.Web resource provider", + "operation": "Register Microsoft.Web resource provider", + "description": "Register Microsoft.Web resource provider for the subscription." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/hybridconnectionnamespaces/relays/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Hybrid Connection Namespaces Relays", + "operation": "Get App Service Plans Hybrid Connection Namespaces Relays", + "description": "Get App Service Plans Hybrid Connection Namespaces Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/backups/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Backups", + "operation": "Delete Web Apps Backups", + "description": "Delete Web Apps Backups." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hybridconnectionnamespaces/relays/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hybrid Connection Namespaces Relays", + "operation": "Delete Web Apps Hybrid Connection Namespaces Relays", + "description": "Delete Web Apps Hybrid Connection Namespaces Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hybridconnectionnamespaces/relays/listkeys/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hybrid Connection Namespaces Relays", + "operation": "List Keys Web Apps Hybrid Connection Namespaces Relays", + "description": "List Keys Web Apps Hybrid Connection Namespaces Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hybridconnectionnamespaces/relays/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hybrid Connection Namespaces Relays", + "operation": "Update Web Apps Hybrid Connection Namespaces Relays", + "description": "Update Web Apps Hybrid Connection Namespaces Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/metricsdefinitions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Metrics Definitions", + "operation": "Get Web Apps Metrics Definitions", + "description": "Get Web Apps Metrics Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/migratemysql/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "Migrate MySql Web Apps", + "description": "Migrate MySql Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/migratemysql/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Migrate MySql", + "operation": "Get Web Apps Migrate MySql", + "description": "Get Web Apps Migrate MySql." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/recover/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "Recover Web Apps", + "description": "Recover Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/siteextensions/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Site Extensions", + "operation": "Delete Web Apps Site Extensions", + "description": "Delete Web Apps Site Extensions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/siteextensions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Site Extensions", + "operation": "Get Web Apps Site Extensions", + "description": "Get Web Apps Site Extensions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/siteextensions/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Site Extensions", + "operation": "Update Web Apps Site Extensions", + "description": "Update Web Apps Site Extensions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/backup/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Backup", + "operation": "Get Web Apps Slots Backup", + "description": "Get Web Apps Slots Backup." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hybridconnectionrelays/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hybrid Connection Relays", + "operation": "Get Web Apps Slots Hybrid Connection Relays", + "description": "Get Web Apps Slots Hybrid Connection Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/siteextensions/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Site Extensions", + "operation": "Delete Web Apps Slots Site Extensions", + "description": "Delete Web Apps Slots Site Extensions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/siteextensions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Site Extensions", + "operation": "Get Web Apps Slots Site Extensions", + "description": "Get Web Apps Slots Site Extensions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/siteextensions/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Site Extensions", + "operation": "Update Web Apps Slots Site Extensions", + "description": "Update Web Apps Slots Site Extensions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/snapshots/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Snapshots", + "operation": "Get Web Apps Slots Snapshots", + "description": "Get Web Apps Slots Snapshots." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/syncfunctiontriggers/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "Sync Function Triggers for Web Apps", + "description": "Sync Function Triggers for Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/triggeredwebjobs/history/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Triggered WebJobs History", + "operation": "Get Web Apps Triggered WebJobs History", + "description": "Get Web Apps Triggered WebJobs History." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/connectiongateways/liststatus/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Connection Gateways", + "operation": "List Status Connection Gateways", + "description": "List Status Connection Gateways." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/serverfarms/hybridconnectionnamespaces/relays/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "App Service Plans Hybrid Connection Namespaces Relays", + "operation": "Delete App Service Plans Hybrid Connection Namespaces Relays", + "description": "Delete App Service Plans Hybrid Connection Namespaces Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/deployment/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Deployment", + "operation": "Get Web Apps Diagnostics Deployment", + "description": "Get Web Apps Diagnostics Deployment." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/sitecpuanalysis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Site CPU Analysis", + "operation": "Get Web Apps Diagnostics Site CPU Analysis", + "description": "Get Web Apps Diagnostics Site CPU Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/sitelatency/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Site Latency", + "operation": "Get Web Apps Diagnostics Site Latency", + "description": "Get Web Apps Diagnostics Site Latency." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/sitememoryanalysis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Site Memory Analysis", + "operation": "Get Web Apps Diagnostics Site Memory Analysis", + "description": "Get Web Apps Diagnostics Site Memory Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/threadcount/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Thread Count", + "operation": "Get Web Apps Diagnostics Thread Count", + "description": "Get Web Apps Diagnostics Thread Count." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/deployment/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Deployment", + "operation": "Get Web Apps Slots Diagnostics Deployment", + "description": "Get Web Apps Slots Diagnostics Deployment." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/sitecpuanalysis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Site CPU Analysis", + "operation": "Get Web Apps Slots Diagnostics Site CPU Analysis", + "description": "Get Web Apps Slots Diagnostics Site CPU Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/sitelatency/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Site Latency", + "operation": "Get Web Apps Slots Diagnostics Site Latency", + "description": "Get Web Apps Slots Diagnostics Site Latency." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/sitememoryanalysis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Site Memory Analysis", + "operation": "Get Web Apps Slots Diagnostics Site Memory Analysis", + "description": "Get Web Apps Slots Diagnostics Site Memory Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/threadcount/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Thread Count", + "operation": "Get Web Apps Slots Diagnostics Thread Count", + "description": "Get Web Apps Slots Diagnostics Thread Count." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/functions/masterkey/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Functions Masterkey", + "operation": "Get Web Apps Functions Masterkey", + "description": "Get Web Apps Functions Masterkey." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/hybridconnectionnamespaces/relays/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Hybrid Connection Namespaces Relays", + "operation": "Get Web Apps Hybrid Connection Namespaces Relays", + "description": "Get Web Apps Hybrid Connection Namespaces Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/instances/extensions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Instances Extensions", + "operation": "Get Web Apps Instances Extensions", + "description": "Get Web Apps Instances Extensions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/operations/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Operations", + "operation": "Get Web Apps Operations", + "description": "Get Web Apps Operations." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/resourcehealthmetadata/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Resource Health Metadata", + "operation": "Get Web Apps Resource Health Metadata", + "description": "Get Web Apps Resource Health Metadata." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/backups/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Backups", + "operation": "Delete Web Apps Slots Backups", + "description": "Delete Web Apps Slots Backups." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/domainownershipidentifiers/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Domain Ownership Identifiers", + "operation": "Get Web Apps Slots Domain Ownership Identifiers", + "description": "Get Web Apps Slots Domain Ownership Identifiers." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hybridconnectionnamespaces/relays/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hybrid Connection Namespaces Relays", + "operation": "Delete Web Apps Slots Hybrid Connection Namespaces Relays", + "description": "Delete Web Apps Slots Hybrid Connection Namespaces Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/hybridconnectionnamespaces/relays/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Hybrid Connection Namespaces Relays", + "operation": "Update Web Apps Slots Hybrid Connection Namespaces Relays", + "description": "Update Web Apps Slots Hybrid Connection Namespaces Relays." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/operations/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Operations", + "operation": "Get Web Apps Slots Operations", + "description": "Get Web Apps Slots Operations." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/perfcounters/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Performance Counters", + "operation": "Get Web Apps Slots Performance Counters", + "description": "Get Web Apps Slots Performance Counters." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/resourcehealthmetadata/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Resource Health Metadata", + "operation": "Get Web Apps Slots Resource Health Metadata", + "description": "Get Web Apps Slots Resource Health Metadata." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apiacls/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts Apiacls", + "operation": "Get Api Management Accounts Apiacls", + "description": "Get Api Management Accounts Apiacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections", + "operation": "Get Api Management Accounts APIs Connections", + "description": "Get Api Management Accounts APIs Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs", + "operation": "Get Api Management Accounts APIs", + "description": "Get Api Management Accounts APIs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/connectionacls/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts Connectionacls", + "operation": "Get Api Management Accounts Connectionacls", + "description": "Get Api Management Accounts Connectionacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/apiacls/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Apiacls", + "operation": "Delete Api Management Accounts APIs Apiacls", + "description": "Delete Api Management Accounts APIs Apiacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/apiacls/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Apiacls", + "operation": "Get Api Management Accounts APIs Apiacls", + "description": "Get Api Management Accounts APIs Apiacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/apiacls/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Apiacls", + "operation": "Update Api Management Accounts APIs Apiacls", + "description": "Update Api Management Accounts APIs Apiacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connectionacls/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connectionacls", + "operation": "Get Api Management Accounts APIs Connectionacls", + "description": "Get Api Management Accounts APIs Connectionacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/confirmconsentcode/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections", + "operation": "Confirm Consent Code Api Management Accounts APIs Connections", + "description": "Confirm Consent Code Api Management Accounts APIs Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/connectionacls/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections Connectionacls", + "operation": "Delete Api Management Accounts APIs Connections Connectionacls", + "description": "Delete Api Management Accounts APIs Connections Connectionacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/connectionacls/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections Connectionacls", + "operation": "Get Api Management Accounts APIs Connections Connectionacls", + "description": "Get Api Management Accounts APIs Connections Connectionacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/connectionacls/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections Connectionacls", + "operation": "Update Api Management Accounts APIs Connections Connectionacls", + "description": "Update Api Management Accounts APIs Connections Connectionacls." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections", + "operation": "Delete Api Management Accounts APIs Connections", + "description": "Delete Api Management Accounts APIs Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/getconsentlinks/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections", + "operation": "Get Consent Links for Api Management Accounts APIs Connections", + "description": "Get Consent Links for Api Management Accounts APIs Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections", + "operation": "Update Api Management Accounts APIs Connections", + "description": "Update Api Management Accounts APIs Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs", + "operation": "Delete Api Management Accounts APIs", + "description": "Delete Api Management Accounts APIs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/localizeddefinitions/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Localized Definitions", + "operation": "Delete Api Management Accounts APIs Localized Definitions", + "description": "Delete Api Management Accounts APIs Localized Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/localizeddefinitions/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Localized Definitions", + "operation": "Get Api Management Accounts APIs Localized Definitions", + "description": "Get Api Management Accounts APIs Localized Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/localizeddefinitions/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Localized Definitions", + "operation": "Update Api Management Accounts APIs Localized Definitions", + "description": "Update Api Management Accounts APIs Localized Definitions." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs", + "operation": "Update Api Management Accounts APIs", + "description": "Update Api Management Accounts APIs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/listconnectionkeys/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections", + "operation": "List Connection Keys Api Management Accounts APIs Connections", + "description": "List Connection Keys Api Management Accounts APIs Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/apimanagementaccounts/apis/connections/listsecrets/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Api Management Accounts APIs Connections", + "operation": "List Secrets Api Management Accounts APIs Connections", + "description": "List Secrets Api Management Accounts APIs Connections." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/deployments/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Deployments", + "operation": "Get Web Apps Diagnostics Deployments", + "description": "Get Web Apps Diagnostics Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/deployments/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Deployments", + "operation": "Get Web Apps Slots Diagnostics Deployments", + "description": "Get Web Apps Slots Diagnostics Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/loganalyzer/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Log Analyzer", + "operation": "Get Web Apps Diagnostics Log Analyzer", + "description": "Get Web Apps Diagnostics Log Analyzer." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/loganalyzer/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Log Analyzer", + "operation": "Get Web Apps Slots Diagnostics Log Analyzer", + "description": "Get Web Apps Slots Diagnostics Log Analyzer." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/sitecrashes/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Site Crashes", + "operation": "Get Web Apps Diagnostics Site Crashes", + "description": "Get Web Apps Diagnostics Site Crashes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/sitecrashes/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Site Crashes", + "operation": "Get Web Apps Slots Diagnostics Site Crashes", + "description": "Get Web Apps Slots Diagnostics Site Crashes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/siterestartsettingupdate/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Site Restart Setting Update", + "operation": "Get Web Apps Diagnostics Site Restart Setting Update", + "description": "Get Web Apps Diagnostics Site Restart Setting Update." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/siterestartsettingupdate/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Site Restart Setting Update", + "operation": "Get Web Apps Slots Diagnostics Site Restart Setting Update", + "description": "Get Web Apps Slots Diagnostics Site Restart Setting Update." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/siterestartuserinitiated/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Site Restart User Initiated", + "operation": "Get Web Apps Diagnostics Site Restart User Initiated", + "description": "Get Web Apps Diagnostics Site Restart User Initiated." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/siterestartuserinitiated/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Site Restart User Initiated", + "operation": "Get Web Apps Slots Diagnostics Site Restart User Initiated", + "description": "Get Web Apps Slots Diagnostics Site Restart User Initiated." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/siteswap/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Site Swap", + "operation": "Get Web Apps Diagnostics Site Swap", + "description": "Get Web Apps Diagnostics Site Swap." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/siteswap/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Site Swap", + "operation": "Get Web Apps Slots Diagnostics Site Swap", + "description": "Get Web Apps Slots Diagnostics Site Swap." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/functions/token/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Functions Token", + "operation": "Get Web Apps Functions Token", + "description": "Get Web Apps Functions Token." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/instances/deployments/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Instances Deployments", + "operation": "Delete Web Apps Instances Deployments", + "description": "Delete Web Apps Instances Deployments." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/processes/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Processes", + "operation": "Get Web Apps Processes", + "description": "Get Web Apps Processes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/publiccertificates/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Public Certificates", + "operation": "Delete Web Apps Public Certificates", + "description": "Delete Web Apps Public Certificates." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/publiccertificates/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Public Certificates", + "operation": "Get Web Apps Public Certificates", + "description": "Get Web Apps Public Certificates." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/publiccertificates/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Public Certificates", + "operation": "Update Web Apps Public Certificates", + "description": "Update Web Apps Public Certificates." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/networktrace/action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots", + "operation": "Network Trace Web Apps Slots", + "description": "Network Trace Web Apps Slots." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/autoheal/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Autoheal", + "operation": "Get Web Apps Diagnostics Autoheal", + "description": "Get Web Apps Diagnostics Autoheal." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/autoheal/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Autoheal", + "operation": "Get Web Apps Slots Diagnostics Autoheal", + "description": "Get Web Apps Slots Diagnostics Autoheal." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics", + "operation": "Get Web Apps Slots Diagnostics", + "description": "Get Web Apps Slots Diagnostics." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/runtimeavailability/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Runtime Availability", + "operation": "Get Web Apps Slots Diagnostics Runtime Availability", + "description": "Get Web Apps Slots Diagnostics Runtime Availability." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/servicehealth/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Service Health", + "operation": "Get Web Apps Slots Diagnostics Service Health", + "description": "Get Web Apps Slots Diagnostics Service Health." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/sitelatency/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Site Latency", + "operation": "Get Web Apps Slots Diagnostics Site Latency", + "description": "Get Web Apps Slots Diagnostics Site Latency." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/migratemysql/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Migrate MySql", + "operation": "Get Web Apps Slots Migrate MySql", + "description": "Get Web Apps Slots Migrate MySql." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Diagnostic setting for Web App", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "microsoft.web/sites/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Diagnostic setting for Web App", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "microsoft.web/sites/slots/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Diagnostic setting for Web App slot", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "microsoft.web/sites/slots/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Diagnostic setting for Web App slot", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "microsoft.web/serverfarms/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Diagnostic setting for App Service plan", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "microsoft.web/serverfarms/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Diagnostic setting for App Service plan", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "microsoft.web/hostingenvironments/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Diagnostic setting for App Service Environment", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "microsoft.web/hostingenvironments/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Diagnostic setting for App Service Environment", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "microsoft.web/billingmeters/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Billing meters for Microsoft Web Apps", + "operation": "Read billing meters", + "description": "Get list of billing meters." + }, + "origin": "system" + }, + { + "name": "microsoft.web/sites/slots/instances/processes/delete", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Instances Processes", + "operation": "Delete Web Apps Slots Instances Processes", + "description": "Delete Web Apps Slots Instances Processes." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/restore/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps", + "operation": "Restore Web Apps", + "description": "Restore Web Apps." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/instances/extensions/log/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Instances Extensions Log", + "operation": "Get Web Apps Instances Extensions Log", + "description": "Get Web Apps Instances Extensions Log." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/customapis/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Custom APIs", + "operation": "Update Custom APIs", + "description": "Update Custom APIs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/customapis/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Custom APIs", + "operation": "Get Custom APIs", + "description": "Get Custom APIs." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/failedrequestsperuri/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Failed Requests Per Uri", + "operation": "Get Web Apps Diagnostics Failed Requests Per Uri", + "description": "Get Web Apps Diagnostics Failed Requests Per Uri." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/restore/write", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots", + "operation": "Restore Web Apps Slots", + "description": "Restore Web Apps Slots." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/detectors/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Detector", + "operation": "Get Web Apps Diagnostics Detector", + "description": "Get Web Apps Diagnostics Detector." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/analyses/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Analysis", + "operation": "Get Web Apps Diagnostics Analysis", + "description": "Get Web Apps Diagnostics Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/analyses/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Analysis", + "operation": "Get Web Apps Slots Diagnostics Analysis", + "description": "Get Web Apps Slots Diagnostics Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/detectors/read", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Detector", + "operation": "Get Web Apps Slots Diagnostics Detector", + "description": "Get Web Apps Slots Diagnostics Detector." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/analyses/execute/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Analysis", + "operation": "Run Web Apps Diagnostics Analysis", + "description": "Run Web Apps Diagnostics Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/diagnostics/detectors/execute/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Diagnostics Detector", + "operation": "Run Web Apps Diagnostics Detector", + "description": "Run Web Apps Diagnostics Detector." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/analyses/execute/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Analysis", + "operation": "Run Web Apps Slots Diagnostics Analysis", + "description": "Run Web Apps Slots Diagnostics Analysis." + }, + "origin": "user,system" + }, + { + "name": "microsoft.web/sites/slots/diagnostics/detectors/execute/Action", + "display": { + "provider": "Microsoft Web Apps", + "resource": "Web Apps Slots Diagnostics Detector", + "operation": "Run Web Apps Slots Diagnostics Detector", + "description": "Run Web Apps Slots Diagnostics Detector." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Web/serverfarms/providers/Microsoft.Insights/metricDefinitions/Read", + "display": { + "provider": "Microsoft.Web", + "resource": "The metric definition of App Service Plan", + "operation": "Read App Service Plan metric definitions", + "description": "Gets the available metrics for App Service Plan" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "CpuPercentage", + "displayName": "CPU Percentage", + "displayDescription": "CPU Percentage", + "unit": "Percent", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "MemoryPercentage", + "displayName": "Memory Percentage", + "displayDescription": "Memory Percentage", + "unit": "Percent", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "DiskQueueLength", + "displayName": "Disk Queue Length", + "displayDescription": "Disk Queue Length", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "HttpQueueLength", + "displayName": "Http Queue Length", + "displayDescription": "Http Queue Length", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "BytesReceived", + "displayName": "Data In", + "displayDescription": "Data In", + "unit": "Bytes", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "BytesSent", + "displayName": "Data Out", + "displayDescription": "Data Out", + "unit": "Bytes", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + } + ] + } + } + }, + { + "name": "Microsoft.Web/sites/providers/Microsoft.Insights/metricDefinitions/Read", + "display": { + "provider": "Microsoft.Web", + "resource": "The metric definition of Web App", + "operation": "Read Web App metric definitions", + "description": "Gets the available metrics for Web App" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "CpuTime", + "displayName": "CPU Time", + "displayDescription": "CPU Time", + "unit": "Seconds", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Requests", + "displayName": "Requests", + "displayDescription": "Requests", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "BytesReceived", + "displayName": "Data In", + "displayDescription": "Data In", + "unit": "Bytes", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "BytesSent", + "displayName": "Data Out", + "displayDescription": "Data Out", + "unit": "Bytes", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http101", + "displayName": "Http 101", + "displayDescription": "Http 101", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http2xx", + "displayName": "Http 2xx", + "displayDescription": "Http 2xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http3xx", + "displayName": "Http 3xx", + "displayDescription": "Http 3xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http401", + "displayName": "Http 401", + "displayDescription": "Http 401", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http403", + "displayName": "Http 403", + "displayDescription": "Http 403", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http404", + "displayName": "Http 404", + "displayDescription": "Http 404", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http406", + "displayName": "Http 406", + "displayDescription": "Http 406", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http4xx", + "displayName": "Http 4xx", + "displayDescription": "Http 4xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http5xx", + "displayName": "Http Server Errors", + "displayDescription": "Http Server Errors", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "MemoryWorkingSet", + "displayName": "Memory working set", + "displayDescription": "Memory working set", + "unit": "Bytes", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "AverageMemoryWorkingSet", + "displayName": "Average memory working set", + "displayDescription": "Average memory working set", + "unit": "Bytes", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "AverageResponseTime", + "displayName": "Average Response Time", + "displayDescription": "Average Response Time", + "unit": "Seconds", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "FunctionExecutionUnits", + "displayName": "Function Execution Units", + "displayDescription": "Function Execution Units", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "(?i:functionapp)", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "FunctionExecutionCount", + "displayName": "Function Execution Count", + "displayDescription": "Function Execution Count", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "(?i:functionapp)", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + } + ] + } + } + }, + { + "name": "Microsoft.Web/sites/slots/providers/Microsoft.Insights/metricDefinitions/Read", + "display": { + "provider": "Microsoft.Web", + "resource": "The metric definition of Web App Slot", + "operation": "Read Web App Slot metric definitions", + "description": "Gets the available metrics for Web App Slot" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "CpuTime", + "displayName": "CPU Time", + "displayDescription": "CPU Time", + "unit": "Seconds", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Requests", + "displayName": "Requests", + "displayDescription": "Requests", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "BytesReceived", + "displayName": "Data In", + "displayDescription": "Data In", + "unit": "Bytes", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "BytesSent", + "displayName": "Data Out", + "displayDescription": "Data Out", + "unit": "Bytes", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http101", + "displayName": "Http 101", + "displayDescription": "Http 101", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http2xx", + "displayName": "Http 2xx", + "displayDescription": "Http 2xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http3xx", + "displayName": "Http 3xx", + "displayDescription": "Http 3xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http401", + "displayName": "Http 401", + "displayDescription": "Http 401", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http403", + "displayName": "Http 403", + "displayDescription": "Http 403", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http404", + "displayName": "Http 404", + "displayDescription": "Http 404", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http406", + "displayName": "Http 406", + "displayDescription": "Http 406", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http4xx", + "displayName": "Http 4xx", + "displayDescription": "Http 4xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http5xx", + "displayName": "Http Server Errors", + "displayDescription": "Http Server Errors", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "MemoryWorkingSet", + "displayName": "Memory working set", + "displayDescription": "Memory working set", + "unit": "Bytes", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "AverageMemoryWorkingSet", + "displayName": "Average memory working set", + "displayDescription": "Average memory working set", + "unit": "Bytes", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "AverageResponseTime", + "displayName": "Average Response Time", + "displayDescription": "Average Response Time", + "unit": "Seconds", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "^(?!functionapp).*$", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "FunctionExecutionUnits", + "displayName": "Function Execution Units", + "displayDescription": "Function Execution Units", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "(?i:functionapp)", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "FunctionExecutionCount", + "displayName": "Function Execution Count", + "displayDescription": "Function Execution Count", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "metricFilterPattern": "(?i:functionapp)", + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + } + ] + } + } + }, + { + "name": "Microsoft.Web/hostingEnvironments/multiRolePools/providers/Microsoft.Insights/metricDefinitions/Read", + "display": { + "provider": "Microsoft.Web", + "resource": "The metric definition of App Service Environment MultiRole", + "operation": "Read App Service Environment MultiRole metric definitions", + "description": "Gets the available metrics for App Service Environment MultiRole" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "Requests", + "displayName": "Requests", + "displayDescription": "Requests", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "BytesReceived", + "displayName": "Data In", + "displayDescription": "Data In", + "unit": "Bytes", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "BytesSent", + "displayName": "Data Out", + "displayDescription": "Data Out", + "unit": "Bytes", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http101", + "displayName": "Http 101", + "displayDescription": "Http 101", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http2xx", + "displayName": "Http 2xx", + "displayDescription": "Http 2xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http3xx", + "displayName": "Http 3xx", + "displayDescription": "Http 3xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http401", + "displayName": "Http 401", + "displayDescription": "Http 401", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http403", + "displayName": "Http 403", + "displayDescription": "Http 403", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http404", + "displayName": "Http 404", + "displayDescription": "Http 404", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http406", + "displayName": "Http 406", + "displayDescription": "Http 406", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http4xx", + "displayName": "Http 4xx", + "displayDescription": "Http 4xx", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "Http5xx", + "displayName": "Http Server Errors", + "displayDescription": "Http Server Errors", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "AverageResponseTime", + "displayName": "Average Response Time", + "displayDescription": "Average Response Time", + "unit": "Seconds", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "CpuPercentage", + "displayName": "CPU Percentage", + "displayDescription": "CPU Percentage", + "unit": "Percent", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "MemoryPercentage", + "displayName": "Memory Percentage", + "displayDescription": "Memory Percentage", + "unit": "Percent", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "DiskQueueLength", + "displayName": "Disk Queue Length", + "displayDescription": "Disk Queue Length", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "HttpQueueLength", + "displayName": "Http Queue Length", + "displayDescription": "Http Queue Length", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "ActiveRequests", + "displayName": "Active Requests", + "displayDescription": "Active Requests", + "unit": "Count", + "aggregationType": "Total", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "dimensions": [ + { + "name": "Instance", + "displayName": "Instance", + "internalName": "ServerName", + "toBeExportedForShoebox": true + } + ], + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "TotalFrontEnds", + "displayName": "Total Front Ends", + "displayDescription": "Total Front Ends", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "SmallAppServicePlanInstances", + "displayName": "Small App Service Plan Workers", + "displayDescription": "Small App Service Plan Workers", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "MediumAppServicePlanInstances", + "displayName": "Medium App Service Plan Workers", + "displayDescription": "Medium App Service Plan Workers", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "LargeAppServicePlanInstances", + "displayName": "Large App Service Plan Workers", + "displayDescription": "Large App Service Plan Workers", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + } + ] + } + } + }, + { + "name": "Microsoft.Web/hostingEnvironments/workerPools/providers/Microsoft.Insights/metricDefinitions/Read", + "display": { + "provider": "Microsoft.Web", + "resource": "The metric definition of App Service Environment WorkerPool", + "operation": "Read App Service Environment WorkerPool metric definitions", + "description": "Gets the available metrics for App Service Environment WorkerPool" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "WorkersTotal", + "displayName": "Total Workers", + "displayDescription": "Total Workers", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "WorkersAvailable", + "displayName": "Available Workers", + "displayDescription": "Available Workers", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + }, + { + "name": "WorkersUsed", + "displayName": "Used Workers", + "displayDescription": "Used Workers", + "unit": "Count", + "aggregationType": "Average", + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false, + "fillGapWithZero": true, + "isInternal": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "P2D" + }, + { + "timeGrain": "PT1H", + "blobDuration": "P30D" + }, + { + "timeGrain": "P1D", + "blobDuration": "P90D" + } + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListPublishingCredentialsPolicies.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListPublishingCredentialsPolicies.json new file mode 100644 index 000000000000..854987004758 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListPublishingCredentialsPolicies.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "ftp": { + "properties": { + "allow": false + } + }, + "scm": { + "properties": { + "allow": false + } + } + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataByResourceGroup.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataByResourceGroup.json new file mode 100644 index 000000000000..8a548d611bc5 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataByResourceGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "resourceGroupName": "Default-Web-NorthCentralUS", + "subscriptionId": "4adb32ad-8327-4cbb-b775-b84b4465bb38" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "category": "Shared", + "signalAvailability": true + }, + "id": "/subscriptions/4adb32ad-8327-4cbb-b775-b84b4465bb38/resourceGroups/Default-Web-NorthCentralUS/providers/Microsoft.Web/sites/newsiteinnewASE-NCUS/resourceHealthMetadata/default", + "name": "default", + "type": "Microsoft.Web/sites/resourceHealthMetadata" + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataBySite.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataBySite.json new file mode 100644 index 000000000000..ec21c6da807d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataBySite.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "name": "newsiteinnewASE-NCUS", + "slot": "Production", + "resourceGroupName": "Default-Web-NorthCentralUS", + "subscriptionId": "4adb32ad-8327-4cbb-b775-b84b4465bb38" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "category": "Shared", + "signalAvailability": true + }, + "id": "/subscriptions/4adb32ad-8327-4cbb-b775-b84b4465bb38/resourceGroups/Default-Web-NorthCentralUS/providers/Microsoft.Web/sites/newsiteinnewASE-NCUS/resourceHealthMetadata/default", + "name": "default", + "type": "Microsoft.Web/sites/resourceHealthMetadata" + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataBySubscription.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataBySubscription.json new file mode 100644 index 000000000000..d91eeb67e156 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListResourceHealthMetadataBySubscription.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2020-06-01", + "subscriptionId": "4adb32ad-8327-4cbb-b775-b84b4465bb38" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "category": "Shared", + "signalAvailability": true + }, + "id": "/subscriptions/4adb32ad-8327-4cbb-b775-b84b4465bb38/resourceGroups/Default-Web-NorthCentralUS/providers/Microsoft.Web/sites/newsiteinnewASE-NCUS/resourceHealthMetadata/default", + "name": "default", + "type": "Microsoft.Web/sites/resourceHealthMetadata" + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListSlotBackups.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListSlotBackups.json new file mode 100644 index 000000000000..80d654a83a81 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListSlotBackups.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "tests346", + "slot": "staging", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/sites/tests346/slot/staging", + "name": "tests346/staging", + "type": "Microsoft.Web/sites/slots", + "properties": { + "storageAccountUrl": "https://blobstorage.windows.net", + "blobName": "blob1", + "status": "InProgress" + } + } + ] + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteBuildFunctionAppSettings.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteBuildFunctionAppSettings.json new file mode 100644 index 000000000000..ace15bf0a344 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteBuildFunctionAppSettings.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "prId": "12", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "setting0": "someVal" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": { + "properties": { + "setting0": "someVal" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteBuildFunctions.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteBuildFunctions.json new file mode 100644 index 000000000000..cd279b606cc0 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteBuildFunctions.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "prId": "default", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "functionName": "GetList", + "triggerType": "HttpTrigger" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteFunctionAppSettings.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteFunctionAppSettings.json new file mode 100644 index 000000000000..a86cb2aab178 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteFunctionAppSettings.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "setting0": "someVal" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": { + "properties": { + "setting0": "someVal" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteFunctions.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteFunctions.json new file mode 100644 index 000000000000..c1277536a633 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteFunctions.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "functionName": "GetList", + "triggerType": "HttpTrigger" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteSecrets.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteSecrets.json new file mode 100644 index 000000000000..e7f1646922ff --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteSecrets.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "dnsOwnershipKey": "ownershipKey123123" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteUsers.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteUsers.json new file mode 100644 index 000000000000..a37562ce63fa --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ListStaticSiteUsers.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "authprovider": "all", + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "properties": { + "provider": "aad", + "userId": "1234", + "displayName": "username", + "roles": "admin,anonymous,authenticated" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchAppServicePlan.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchAppServicePlan.json new file mode 100644 index 000000000000..640d59e3acf3 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchAppServicePlan.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testsf6141", + "api-version": "2020-06-01", + "appServicePlan": { + "kind": "app", + "properties": {} + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141", + "name": "testsf6141", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141/operationresults/F0C6B8EC-0D53-432C-913B-1CD9E8CDE3A0", + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141/operationresults/F0C6B8EC-0D53-432C-913B-1CD9E8CDE3A0" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/serverfarms/testsf6141", + "name": "testsf6141", + "type": "Microsoft.Web/serverfarms", + "kind": "app", + "location": "East US", + "properties": { + "status": "Ready", + "maximumNumberOfWorkers": 20, + "geoRegion": "East US", + "numberOfSites": 4, + "isSpot": false, + "reserved": false, + "targetWorkerCount": 0, + "targetWorkerSizeId": 0, + "provisioningState": "Succeeded" + }, + "sku": { + "name": "P1", + "tier": "Premium", + "size": "P1", + "family": "P", + "capacity": 1 + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchCertificate.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchCertificate.json new file mode 100644 index 000000000000..ff7c00d72ba6 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchCertificate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testc6282", + "api-version": "2020-06-01", + "certificateEnvelope": { + "properties": { + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchStaticSite.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchStaticSite.json new file mode 100644 index 000000000000..4775f0c8ab55 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/PatchStaticSite.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01", + "staticSiteEnvelope": { + "properties": {} + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Web/staticSites/testStaticSite0", + "name": "testStaticSite0", + "type": "Microsoft.Web/staticSites", + "location": "West US 2", + "properties": { + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "repositoryUrl": "https://github.com/username/RepoName", + "branch": "demo", + "customDomains": [] + }, + "sku": { + "name": "Basic", + "tier": "Basic" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.Web/staticSites/testStaticSite0", + "name": "testStaticSite0", + "type": "Microsoft.Web/staticSites", + "location": "West US 2", + "properties": { + "defaultHostname": "happy-sea-15afae3e.azurestaticwebsites.net", + "repositoryUrl": "https://github.com/username/RepoName", + "branch": "demo", + "customDomains": [] + }, + "sku": { + "name": "Basic", + "tier": "Basic" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ResetStaticSiteApiKey.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ResetStaticSiteApiKey.json new file mode 100644 index 000000000000..0d6bf366f27d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ResetStaticSiteApiKey.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "api-version": "2020-06-01", + "resetPropertiesEnvelope": { + "properties": { + "shouldUpdateRepository": true, + "repositoryToken": "repoToken123" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/StartWebSiteNetworkTraceOperation.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/StartWebSiteNetworkTraceOperation.json new file mode 100644 index 000000000000..a7d77e555a1d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/StartWebSiteNetworkTraceOperation.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "SampleApp", + "slot": "Production", + "durationInSeconds": 60, + "api-version": "2020-06-01" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "path": "D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip", + "status": "Succeeded", + "message": "Trace file has been saved as D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip" + } + ] + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/sites/SampleApp/operationresults/c291433b-53ad-4c49-8cae-0a293eae1c6d", + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/sites/SampleApp/operationresults/c291433b-53ad-4c49-8cae-0a293eae1c6d" + }, + "body": [ + { + "path": "D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip", + "status": "Succeeded", + "message": "Trace file has been saved as D:\\home\\LogFiles\\networktrace\\10.0.0.1_2018_02_01T00_00_00.zip" + } + ] + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/StopWebSiteNetworkTrace.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/StopWebSiteNetworkTrace.json new file mode 100644 index 000000000000..2785a76aac47 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/StopWebSiteNetworkTrace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "SampleApp", + "slot": "Production", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/UpdatePublishingCredentialsPolicy.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/UpdatePublishingCredentialsPolicy.json new file mode 100644 index 000000000000..bbc07bad662e --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/UpdatePublishingCredentialsPolicy.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testSite", + "api-version": "2020-06-01", + "csmPublishingAccessPoliciesEntity": { + "properties": { + "allow": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "allow": true + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/UpdateStaticSiteUser.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/UpdateStaticSiteUser.json new file mode 100644 index 000000000000..8f2e6c13cbb1 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/UpdateStaticSiteUser.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "authprovider": "aad", + "userid": "1234", + "api-version": "2020-06-01", + "staticSiteUserEnvelope": { + "properties": { + "roles": "contributor" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "properties": { + "provider": "aad", + "userId": "1234", + "displayName": "username", + "roles": "contributor,anonymous,authenticated" + } + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ValidateStaticSiteCustomDomain.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ValidateStaticSiteCustomDomain.json new file mode 100644 index 000000000000..64f35918696b --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/ValidateStaticSiteCustomDomain.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testStaticSite0", + "domainName": "custom.domain.net", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/westus2/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2019-01-01" + } + } + } +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/VerifyHostingEnvironmentVnet.json b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/VerifyHostingEnvironmentVnet.json new file mode 100644 index 000000000000..d67a8fded05d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2020-06-01/examples/VerifyHostingEnvironmentVnet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2020-06-01", + "parameters": { + "properties": { + "vnetResourceGroup": "vNet123rg", + "vnetName": "vNet123", + "vnetSubnetName": "vNet123SubNet" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/verifyHostingEnvironmentVnet", + "properties": { + "failed": false, + "failedTests": [] + } + } + } + } +} diff --git a/specification/web/resource-manager/readme.azureresourceschema.md b/specification/web/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..928bcbbd2f3b --- /dev/null +++ b/specification/web/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,269 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-web-2020-06-01 + - tag: schema-web-2019-08-01 + - tag: schema-web-2018-11-01 + - tag: schema-web-2018-02-01 + - tag: schema-web-2016-09-01 + - tag: schema-web-2016-08-01 + - tag: schema-web-2016-03-01 + - tag: schema-web-2015-08-01-preview + - tag: schema-web-2015-08-01 + - tag: schema-domainregistration-2020-06-01 + - tag: schema-domainregistration-2019-08-01 + - tag: schema-domainregistration-2018-02-01 + - tag: schema-domainregistration-2015-04-01 + - tag: schema-certificateregistration-2020-06-01 + - tag: schema-certificateregistration-2019-08-01 + - tag: schema-certificateregistration-2018-02-01 + - tag: schema-certificateregistration-2015-08-01 + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-web-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2020-06-01/Certificates.json + - Microsoft.Web/stable/2020-06-01/CommonDefinitions.json + - Microsoft.Web/stable/2020-06-01/DeletedWebApps.json + - Microsoft.Web/stable/2020-06-01/Diagnostics.json + - Microsoft.Web/stable/2020-06-01/Provider.json + - Microsoft.Web/stable/2020-06-01/Recommendations.json + - Microsoft.Web/stable/2020-06-01/ResourceProvider.json + - Microsoft.Web/stable/2020-06-01/WebApps.json + - Microsoft.Web/stable/2020-06-01/StaticSites.json + - Microsoft.Web/stable/2020-06-01/AppServiceEnvironments.json + - Microsoft.Web/stable/2020-06-01/AppServicePlans.json + - Microsoft.Web/stable/2020-06-01/ResourceHealthMetadata.json + +``` + +### Tag: schema-web-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2019-08-01/Certificates.json + - Microsoft.Web/stable/2019-08-01/CommonDefinitions.json + - Microsoft.Web/stable/2019-08-01/DeletedWebApps.json + - Microsoft.Web/stable/2019-08-01/Diagnostics.json + - Microsoft.Web/stable/2019-08-01/Provider.json + - Microsoft.Web/stable/2019-08-01/Recommendations.json + - Microsoft.Web/stable/2019-08-01/ResourceProvider.json + - Microsoft.Web/stable/2019-08-01/WebApps.json + - Microsoft.Web/stable/2019-08-01/StaticSites.json + - Microsoft.Web/stable/2019-08-01/AppServiceEnvironments.json + - Microsoft.Web/stable/2019-08-01/AppServicePlans.json + - Microsoft.Web/stable/2019-08-01/ResourceHealthMetadata.json + +``` + +### Tag: schema-web-2018-11-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2018-11-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2018-11-01/Certificates.json + - Microsoft.Web/stable/2018-11-01/WebApps.json + +``` + +### Tag: schema-web-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2018-02-01/CommonDefinitions.json + - Microsoft.Web/stable/2018-02-01/DeletedWebApps.json + - Microsoft.Web/stable/2018-02-01/Diagnostics.json + - Microsoft.Web/stable/2018-02-01/Provider.json + - Microsoft.Web/stable/2018-02-01/Recommendations.json + - Microsoft.Web/stable/2018-02-01/ResourceProvider.json + - Microsoft.Web/stable/2018-02-01/AppServiceEnvironments.json + - Microsoft.Web/stable/2018-02-01/AppServicePlans.json + - Microsoft.Web/stable/2018-02-01/ResourceHealthMetadata.json + - Microsoft.Web/stable/2018-02-01/WebApps.json + - Microsoft.Web/stable/2018-02-01/Certificates.json + +``` + +### Tag: schema-web-2016-09-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2016-09-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2016-09-01/AppServiceEnvironments.json + - Microsoft.Web/stable/2016-09-01/AppServicePlans.json + +``` + +### Tag: schema-web-2016-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2016-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2016-08-01/WebApps.json + +``` + +### Tag: schema-web-2016-03-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2016-03-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2016-03-01/Certificates.json + - Microsoft.Web/stable/2016-03-01/CommonDefinitions.json + - Microsoft.Web/stable/2016-03-01/DeletedWebApps.json + - Microsoft.Web/stable/2016-03-01/Diagnostics.json + - Microsoft.Web/stable/2016-03-01/Provider.json + - Microsoft.Web/stable/2016-03-01/Recommendations.json + - Microsoft.Web/stable/2016-03-01/ResourceHealthMetadata.json + - Microsoft.Web/stable/2016-03-01/ResourceProvider.json + +``` + +### Tag: schema-web-2015-08-01-preview and azureresourceschema + +``` yaml $(tag) == 'schema-web-2015-08-01-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/preview/2015-08-01-preview/logicAppsManagementClient.json + +``` + +### Tag: schema-web-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-web-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.Web/stable/2015-08-01/service.json + +``` + +### Tag: schema-domainregistration-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-domainregistration-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DomainRegistration/stable/2020-06-01/Domains.json + - Microsoft.DomainRegistration/stable/2020-06-01/TopLevelDomains.json + - Microsoft.DomainRegistration/stable/2020-06-01/DomainRegistrationProvider.json + +``` + +### Tag: schema-domainregistration-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-domainregistration-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DomainRegistration/stable/2019-08-01/Domains.json + - Microsoft.DomainRegistration/stable/2019-08-01/TopLevelDomains.json + - Microsoft.DomainRegistration/stable/2019-08-01/DomainRegistrationProvider.json + +``` + +### Tag: schema-domainregistration-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-domainregistration-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DomainRegistration/stable/2018-02-01/Domains.json + - Microsoft.DomainRegistration/stable/2018-02-01/TopLevelDomains.json + - Microsoft.DomainRegistration/stable/2018-02-01/DomainRegistrationProvider.json + +``` + +### Tag: schema-domainregistration-2015-04-01 and azureresourceschema + +``` yaml $(tag) == 'schema-domainregistration-2015-04-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.DomainRegistration/stable/2015-04-01/Domains.json + - Microsoft.DomainRegistration/stable/2015-04-01/TopLevelDomains.json + - Microsoft.DomainRegistration/stable/2015-04-01/DomainRegistrationProvider.json + +``` + +### Tag: schema-certificateregistration-2020-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-certificateregistration-2020-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CertificateRegistration/stable/2020-06-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2020-06-01/CertificateRegistrationProvider.json + +``` + +### Tag: schema-certificateregistration-2019-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-certificateregistration-2019-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CertificateRegistration/stable/2019-08-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2019-08-01/CertificateRegistrationProvider.json + +``` + +### Tag: schema-certificateregistration-2018-02-01 and azureresourceschema + +``` yaml $(tag) == 'schema-certificateregistration-2018-02-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CertificateRegistration/stable/2018-02-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2018-02-01/CertificateRegistrationProvider.json + +``` + +### Tag: schema-certificateregistration-2015-08-01 and azureresourceschema + +``` yaml $(tag) == 'schema-certificateregistration-2015-08-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.CertificateRegistration/stable/2015-08-01/AppServiceCertificateOrders.json + - Microsoft.CertificateRegistration/stable/2015-08-01/CertificateRegistrationProvider.json + +``` diff --git a/specification/web/resource-manager/readme.go.md b/specification/web/resource-manager/readme.go.md index 3ea00b2ca37c..f6e517e79cd8 100644 --- a/specification/web/resource-manager/readme.go.md +++ b/specification/web/resource-manager/readme.go.md @@ -13,12 +13,22 @@ go: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2020-06 - tag: package-2019-08 - tag: package-2018-02 - tag: package-2016-09 - tag: package-2015-08-preview ``` +### Tag: package-2020-06 and go + +These settings apply only when `--tag=package-2020-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2020-06' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace) +``` + ### Tag: package-2019-08 and go These settings apply only when `--tag=package-2019-08 --go` is specified on the command line. diff --git a/specification/web/resource-manager/readme.md b/specification/web/resource-manager/readme.md index 5a30993171af..e50bd4a51edf 100644 --- a/specification/web/resource-manager/readme.md +++ b/specification/web/resource-manager/readme.md @@ -55,6 +55,36 @@ directive: reason: Model type is not an Azure resource ``` +### Tag: package-2020-06 +These settings apply only when `--tag=package-2020-06` or `--tag=package-2020-06-only` is specified on the command line. +NOTE: Currently these tags are the same, but it will need to be split if any files from folders other than 2019-08-01 are included. +``` yaml $(tag) == 'package-2020-06' || $(tag) == 'package-2020-06-only' +input-file: +- Microsoft.CertificateRegistration/stable/2020-06-01/AppServiceCertificateOrders.json +- Microsoft.CertificateRegistration/stable/2020-06-01/CertificateRegistrationProvider.json +- Microsoft.DomainRegistration/stable/2020-06-01/Domains.json +- Microsoft.DomainRegistration/stable/2020-06-01/TopLevelDomains.json +- Microsoft.DomainRegistration/stable/2020-06-01/DomainRegistrationProvider.json +- Microsoft.Web/stable/2020-06-01/Certificates.json +- Microsoft.Web/stable/2020-06-01/CommonDefinitions.json +- Microsoft.Web/stable/2020-06-01/DeletedWebApps.json +- Microsoft.Web/stable/2020-06-01/Diagnostics.json +- Microsoft.Web/stable/2020-06-01/Provider.json +- Microsoft.Web/stable/2020-06-01/Recommendations.json +- Microsoft.Web/stable/2020-06-01/ResourceProvider.json +- Microsoft.Web/stable/2020-06-01/WebApps.json +- Microsoft.Web/stable/2020-06-01/StaticSites.json +- Microsoft.Web/stable/2020-06-01/AppServiceEnvironments.json +- Microsoft.Web/stable/2020-06-01/AppServicePlans.json +- Microsoft.Web/stable/2020-06-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3016 error +- where: $.definitions.FunctionSecrets.properties.trigger_url + suppress: R3016 + reason: This requires a breaking change in functions runtime API. + approved-by: "@weidongxu-microsoft" +``` + ### Tag: package-2019-08 These settings apply only when `--tag=package-2019-08` or `--tag=package-2019-08-only` is specified on the command line. @@ -1049,6 +1079,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_web'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js web/resource-manager ``` ## Go @@ -1187,6 +1220,10 @@ input-file: - Microsoft.Web/stable/2018-02-01/Recommendations.json ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. @@ -1199,6 +1236,23 @@ require: $(this-folder)/../../../profiles/readme.md # all the input files across all versions input-file: + - $(this-folder)/Microsoft.CertificateRegistration/stable/2020-06-01/AppServiceCertificateOrders.json + - $(this-folder)/Microsoft.CertificateRegistration/stable/2020-06-01/CertificateRegistrationProvider.json + - $(this-folder)/Microsoft.DomainRegistration/stable/2020-06-01/Domains.json + - $(this-folder)/Microsoft.DomainRegistration/stable/2020-06-01/TopLevelDomains.json + - $(this-folder)/Microsoft.DomainRegistration/stable/2020-06-01/DomainRegistrationProvider.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/Certificates.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/CommonDefinitions.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/DeletedWebApps.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/Diagnostics.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/Provider.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/Recommendations.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/ResourceProvider.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/WebApps.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/StaticSites.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/AppServiceEnvironments.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/AppServicePlans.json + - $(this-folder)/Microsoft.Web/stable/2020-06-01/ResourceHealthMetadata.json - $(this-folder)/Microsoft.CertificateRegistration/stable/2019-08-01/AppServiceCertificateOrders.json - $(this-folder)/Microsoft.CertificateRegistration/stable/2019-08-01/CertificateRegistrationProvider.json - $(this-folder)/Microsoft.DomainRegistration/stable/2019-08-01/Domains.json diff --git a/specification/windowsesu/resource-manager/readme.azureresourceschema.md b/specification/windowsesu/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..f0f98827d2de --- /dev/null +++ b/specification/windowsesu/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-windowsesu-2019-09-16-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-windowsesu-2019-09-16-preview and azureresourceschema + +``` yaml $(tag) == 'schema-windowsesu-2019-09-16-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WindowsESU/preview/2019-09-16-preview/windowsesu.json + +``` diff --git a/specification/windowsesu/resource-manager/readme.md b/specification/windowsesu/resource-manager/readme.md index 01b339562489..9a5fda1c22f6 100644 --- a/specification/windowsesu/resource-manager/readme.md +++ b/specification/windowsesu/resource-manager/readme.md @@ -56,6 +56,9 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_windowsesu'] + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js windowsesu/resource-manager ``` ## Go @@ -78,6 +81,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md) See configuration in [readme.csharp.md](./readme.csharp.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/windowsiot/resource-manager/readme.azureresourceschema.md b/specification/windowsiot/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..966d030cedee --- /dev/null +++ b/specification/windowsiot/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,36 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-windowsiot-2019-06-01 + - tag: schema-windowsiot-2018-02-16-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-windowsiot-2019-06-01 and azureresourceschema + +``` yaml $(tag) == 'schema-windowsiot-2019-06-01' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WindowsIoT/stable/2019-06-01/WindowsIotServices.json + +``` + +### Tag: schema-windowsiot-2018-02-16-preview and azureresourceschema + +``` yaml $(tag) == 'schema-windowsiot-2018-02-16-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WindowsIoT/preview/2018-02-16-preview/WindowsIotServices.json + +``` diff --git a/specification/windowsiot/resource-manager/readme.md b/specification/windowsiot/resource-manager/readme.md index ce4b3c452b4f..1778d3755230 100644 --- a/specification/windowsiot/resource-manager/readme.md +++ b/specification/windowsiot/resource-manager/readme.md @@ -66,6 +66,9 @@ swagger-to-sdk: after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_windowsiot'] - repo: azure-cli-extensions + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js windowsiot/resource-manager ``` ## C# @@ -105,6 +108,10 @@ See configuration in [readme.java.md](./readme.java.md) See configuration in [readme.ruby.md](./readme.ruby.md) +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specification/workloadmonitor/resource-manager/readme.azureresourceschema.md b/specification/workloadmonitor/resource-manager/readme.azureresourceschema.md new file mode 100644 index 000000000000..eac59f40a454 --- /dev/null +++ b/specification/workloadmonitor/resource-manager/readme.azureresourceschema.md @@ -0,0 +1,24 @@ +## AzureResourceSchema + +These settings apply only when `--azureresourceschema` is specified on the command line. + +### AzureResourceSchema multi-api + +``` yaml $(azureresourceschema) && $(multiapi) +batch: + - tag: schema-workloadmonitor-2018-08-31-preview + +``` + +Please also specify `--azureresourceschema-folder=`. + +### Tag: schema-workloadmonitor-2018-08-31-preview and azureresourceschema + +``` yaml $(tag) == 'schema-workloadmonitor-2018-08-31-preview' && $(azureresourceschema) +output-folder: $(azureresourceschema-folder)/schemas + +# all the input files in this apiVersion +input-file: + - Microsoft.WorkloadMonitor/preview/2018-08-31-preview/Microsoft.WorkloadMonitor.json + +``` diff --git a/specification/workloadmonitor/resource-manager/readme.md b/specification/workloadmonitor/resource-manager/readme.md index ffe91036af97..e92be26d508e 100644 --- a/specification/workloadmonitor/resource-manager/readme.md +++ b/specification/workloadmonitor/resource-manager/readme.md @@ -59,6 +59,9 @@ swagger-to-sdk: - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-node + - repo: azure-resource-manager-schemas + after_scripts: + - node sdkauto_afterscript.js workloadmonitor/resource-manager ``` @@ -166,6 +169,10 @@ regenerate-manager: true generate-interface: true ``` +## AzureResourceSchema + +See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md) + ## Multi-API/Profile support for AutoRest v3 generators AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files. diff --git a/specificationRepositoryConfiguration.json b/specificationRepositoryConfiguration.json index dbcddfeb40e2..23e916da5473 100644 --- a/specificationRepositoryConfiguration.json +++ b/specificationRepositoryConfiguration.json @@ -3,7 +3,6 @@ "pipelineName": "automation - sdk", "sdkRepositoryMappings": { "azure-sdk-for-go": { - "mainBranch": "latest", "integrationRepository": "AzureSDKAutomation/azure-sdk-for-go", "mainRepository": "Azure/azure-sdk-for-go" }, @@ -42,6 +41,51 @@ "mainRepository": "Azure/azure-sdk-for-trenton", "secondaryRepository": "Azure/azure-sdk-for-trenton", "secondaryBranch": "secondary" + }, + "azure-resource-manager-schemas": { + "integrationRepository": "AzureSDKAutomation/azure-resource-manager-schemas", + "mainRepository": "Azure/azure-resource-manager-schemas" + } + }, + "overrides": { + "Azure/azure-rest-api-specs-pr": { + "sdkRepositoryMappings": { + "azure-sdk-for-go": { + "integrationRepository": "azure-sdk/azure-sdk-for-go-pr", + "mainRepository": "Azure/azure-sdk-for-go-pr" + }, + "azure-sdk-for-java": { + "integrationRepository": "azure-sdk/azure-sdk-for-java-pr", + "mainRepository": "Azure/azure-sdk-for-java-pr" + }, + "azure-sdk-for-js": { + "integrationRepository": "azure-sdk/azure-sdk-for-js-pr", + "mainRepository": "Azure/azure-sdk-for-js-pr" + }, + "azure-sdk-for-net": { + "integrationRepository": "azure-sdk/azure-sdk-for-net-pr", + "mainRepository": "Azure/azure-sdk-for-net-pr" + }, + "azure-sdk-for-python": { + "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" + }, + "azure-cli-extensions": { + "integrationRepository": "azure-sdk/azure-cli-extensions-pr", + "mainRepository": "Azure/azure-cli-extensions-pr" + }, + "azure-sdk-for-trenton": { + "integrationRepository": "Azure/azure-sdk-for-trenton", + "mainRepository": "Azure/azure-sdk-for-trenton", + "secondaryRepository": "Azure/azure-sdk-for-trenton", + "secondaryBranch": "secondary" + } + } } } }